[{"data":1,"prerenderedAt":220822},["ShallowReactive",2],{"global-search-posts":3,"blog-all-posts":413},[4,9,13,18,23,27,31,35,39,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317,321,325,329,333,337,341,345,349,353,357,361,365,369,373,377,381,385,389,393,397,401,405,409],{"_path":5,"title":6,"description":7,"category":8},"\u002Fblog\u002Fwhatsapp-api-schools-parent-communication","WhatsApp API for Schools: Automate Parent Communication and Admin Alerts","Use WhatsApp API to automate parent notifications, attendance alerts, fee reminders, and school event updates. Rapiwa API ($5\u002Fmonth) for schools, colleges, and educational institutions.","Use Cases",{"_path":10,"title":11,"description":12,"category":8},"\u002Fblog\u002Fwhatsapp-api-travel-agencies-itineraries-bookings","WhatsApp API for Travel Agencies: Automate Itineraries and Bookings","Use WhatsApp API to automate booking confirmations, itinerary delivery, travel alerts, and post-trip reviews for travel agencies. Rapiwa API ($5\u002Fmonth) for travel businesses in 2026.",{"_path":14,"title":15,"description":16,"category":17},"\u002Fblog\u002Fwhatsapp-api-developer-checklist-build-test-scale","The Complete WhatsApp API Developer Checklist: Build, Test, and Scale","The definitive WhatsApp API developer checklist for 2026. Cover setup, authentication, message sending, webhooks, error handling, rate limits, and production scaling with Rapiwa API.","WhatsApp API",{"_path":19,"title":20,"description":21,"category":22},"\u002Fblog\u002Fmulti-tenant-whatsapp-api-saas-architecture","How to Build a Scalable Multi-Tenant WhatsApp API System for SaaS","Build a multi-tenant WhatsApp API system where each SaaS customer has their own isolated WhatsApp number, API key, and webhook. Full architecture guide with Python, PostgreSQL, and Rapiwa.","Tutorials",{"_path":24,"title":25,"description":26,"category":8},"\u002Fblog\u002Fwhite-label-whatsapp-api-agencies","How Agencies Use White-Label WhatsApp API for Client Campaigns","Learn how digital agencies use white-label WhatsApp API to run client campaigns, manage multiple numbers, and build recurring revenue streams. Rapiwa multi-number setup guide for agencies.",{"_path":28,"title":29,"description":30,"category":8},"\u002Fblog\u002Fwhatsapp-api-customer-support-automation-2026","WhatsApp API for Customer Support: Full Automation Guide (2026)","Complete guide to automating customer support with WhatsApp API. First-response bots, ticket routing, human escalation, SLA tracking, and CSAT surveys using Rapiwa API in 2026.",{"_path":32,"title":33,"description":34,"category":8},"\u002Fblog\u002Fwhatsapp-api-failed-payment-recovery","How to Use WhatsApp API for Failed Payment Recovery","Recover failed payments automatically using WhatsApp API and Rapiwa. Send payment failure alerts, retry links, and dunning sequences via WhatsApp. Reduces involuntary churn by 30–40%.",{"_path":36,"title":37,"description":38,"category":8},"\u002Fblog\u002Fwhatsapp-loyalty-program-api-rapiwa","How to Build a WhatsApp Loyalty Program via API to Boost Repeat Sales","Build a WhatsApp loyalty program using Rapiwa API. Track customer points, send personalized reward messages, and automate tier upgrades via WhatsApp. Full Python and n8n implementation guide.",{"_path":40,"title":41,"description":42,"category":43},"\u002Fblog\u002Fwhatsapp-marketing-automation-strategies-2026","WhatsApp Marketing Automation: Proven Strategies for 2026","Complete guide to WhatsApp marketing automation in 2026. Strategies, best practices, broadcast lists, drip campaigns, and compliance tips using Rapiwa API. No per-message fees.","Automation",{"_path":45,"title":46,"description":47,"category":8},"\u002Fblog\u002Fwhatsapp-api-logistics-shipment-tracking","WhatsApp API for Logistics: Real-Time Shipment Tracking Notifications","Use WhatsApp API to send real-time shipment tracking notifications, delivery alerts, and exception notifications to customers in logistics and shipping. Rapiwa API ($5\u002Fmonth) for logistics companies.",{"_path":49,"title":50,"description":51,"category":8},"\u002Fblog\u002Fwhatsapp-api-hotels-guest-communication","WhatsApp API for Hotels: Automate Guest Communication and Bookings","Use WhatsApp API to automate hotel guest communication — booking confirmations, check-in instructions, concierge requests, and checkout reminders. Rapiwa API ($5\u002Fmonth) for hospitality.",{"_path":53,"title":54,"description":55,"category":8},"\u002Fblog\u002Fwhatsapp-api-saas-onboarding-alerts-churn","WhatsApp API for SaaS: Automate Onboarding, Alerts, and Churn Prevention","Use WhatsApp API to improve SaaS onboarding completion, send product alerts, and prevent churn with proactive engagement. Rapiwa API ($5\u002Fmonth) for SaaS products. Full automation guide.",{"_path":57,"title":58,"description":59,"category":8},"\u002Fblog\u002Fwhatsapp-api-healthcare-appointment-reminders","WhatsApp API for Healthcare: Appointment Reminders and Patient Alerts","Use WhatsApp API to send appointment reminders, prescription alerts, lab result notifications, and health tips to patients. Rapiwa API ($5\u002Fmonth) for clinics, hospitals, and health apps.",{"_path":61,"title":62,"description":63,"category":8},"\u002Fblog\u002Fwhatsapp-api-real-estate-lead-follow-up","WhatsApp API for Real Estate: Automate Lead Follow-Up and Viewing Appointments","Use WhatsApp API to automate lead follow-up, property viewing confirmations, and price drop alerts in real estate. Rapiwa API ($5\u002Fmonth) for real estate agents and agencies. Full guide.",{"_path":65,"title":66,"description":67,"category":8},"\u002Fblog\u002Fwhatsapp-automation-ecommerce-order-cart-tracking","WhatsApp Automation for E-Commerce: Order Alerts, Abandoned Cart, and Tracking","Automate WhatsApp messaging for your e-commerce store — order confirmations, abandoned cart recovery, shipping updates, and delivery alerts using Rapiwa API. Full use case guide for 2026.",{"_path":69,"title":70,"description":71,"category":43},"\u002Fblog\u002Fshopify-cancellation-whatsapp-upsell-rapiwa","How to Send WhatsApp Upsell Messages for Shopify Cancellations with Rapiwa","Automatically send WhatsApp upsell messages to Shopify customers who cancel orders, using Rapiwa API, n8n, and Google Sheets. 56 installs. Recover revenue with personalized upsell offers.",{"_path":73,"title":74,"description":75,"category":22},"\u002Fblog\u002Fsend-qr-code-whatsapp-api-rapiwa","How to Send QR Codes via WhatsApp API: Event Ticketing Automation","Send personalized QR code tickets via WhatsApp using Rapiwa API. Generate QR codes in Python and Node.js, host them, and deliver via WhatsApp automatically after ticket purchase.",{"_path":77,"title":78,"description":79,"category":43},"\u002Fblog\u002Fwhatsapp-api-airtable-rapiwa","WhatsApp API with Airtable: Automate Notifications from Your Database","Connect Airtable with WhatsApp using Rapiwa API and n8n. Send WhatsApp notifications when Airtable records change, are created, or reach specific conditions. No-code and code examples.",{"_path":81,"title":82,"description":83,"category":8},"\u002Fblog\u002Fwhatsapp-invoice-payment-reminder-api-rapiwa","How to Send WhatsApp Invoices and Payment Reminders via API","Automatically send WhatsApp invoices, payment reminders, and overdue notices to customers using Rapiwa API. Full code examples in Python, Node.js, and PHP. No per-message fees.",{"_path":85,"title":86,"description":87,"category":22},"\u002Fblog\u002Fwhatsapp-api-salesforce-crm-rapiwa","How to Integrate WhatsApp API with Salesforce CRM","Integrate WhatsApp messaging into Salesforce CRM using Rapiwa API and n8n. Send WhatsApp messages from Salesforce flows, log messages as activities, and automate lead follow-ups.",{"_path":89,"title":90,"description":91,"category":43},"\u002Fblog\u002Fwhatsapp-ai-chatbot-python-gemini","How to Build a WhatsApp AI Chatbot with Python and Gemini","Build a WhatsApp AI chatbot using Google Gemini AI and Rapiwa API in Python. Full Flask webhook server with conversation history, context management, and Gemini Pro integration.",{"_path":93,"title":94,"description":95,"category":22},"\u002Fblog\u002Fwhatsapp-api-java-rapiwa","How to Send WhatsApp Messages in Java Using Rapiwa","Send WhatsApp messages from Java using Rapiwa API. Full code examples with java.net.http (Java 11+), Apache HttpClient, Spring Boot RestTemplate, and WebClient. Maven and Gradle included.",{"_path":97,"title":98,"description":99,"category":22},"\u002Fblog\u002Fwhatsapp-api-csharp-dotnet-rapiwa","How to Send WhatsApp Messages in C# Using the Rapiwa API","Send WhatsApp messages from C# (.NET) applications using Rapiwa API. Full code examples with HttpClient, typed client, dependency injection, and async patterns. .NET 6, 7, 8 compatible.",{"_path":101,"title":102,"description":103,"category":43},"\u002Fblog\u002Frapiwa-zapier-whatsapp-integration","How to Integrate Rapiwa with Zapier: No-Code WhatsApp Automation","Integrate Rapiwa WhatsApp API with Zapier using the Webhooks by Zapier action. Connect WhatsApp to 7,000+ Zapier apps. Step-by-step no-code guide with real Zap examples.",{"_path":105,"title":106,"description":107,"category":22},"\u002Fblog\u002Fwhatsapp-send-media-api-rapiwa","How to Send WhatsApp Media Messages (Images, PDFs, Voice) with Rapiwa","Send WhatsApp images, PDFs, documents, audio, and video using Rapiwa API. Full code examples in cURL, Python, Node.js, and PHP. Supports captions, file URLs, and base64 encoding.",{"_path":109,"title":110,"description":111,"category":22},"\u002Fblog\u002Freceive-whatsapp-messages-webhook-rapiwa","How to Receive and Process WhatsApp Messages via Webhook","Receive and process incoming WhatsApp messages via webhook using Rapiwa API. Full code examples in Python (Flask\u002FFastAPI), Node.js (Express), and PHP for handling text, images, and media.",{"_path":113,"title":114,"description":115,"category":22},"\u002Fblog\u002Fwhatsapp-api-php-tutorial-rapiwa","How to Send WhatsApp Messages in PHP: Step-by-Step with Rapiwa","Send WhatsApp messages using PHP and the Rapiwa API. Full code examples using cURL, Guzzle HTTP, and file_get_contents. Works with PHP 7.4+, no framework required.",{"_path":117,"title":118,"description":119,"category":22},"\u002Fblog\u002Fwhatsapp-api-laravel-rapiwa","How to Send WhatsApp Messages in Laravel Using Rapiwa","Send WhatsApp messages from a Laravel application using Rapiwa API. Full guide with Service class, Facade, Laravel Notification channel, and queue integration. PHP code examples included.",{"_path":121,"title":122,"description":123,"category":22},"\u002Fblog\u002Fwhatsapp-chatbot-dialogflow-rapiwa","How to Build a WhatsApp Chatbot Using Dialogflow and Rapiwa","Build a WhatsApp chatbot powered by Google Dialogflow NLU and Rapiwa API. Handle customer intents, extract entities, and send intelligent replies via WhatsApp. Full code tutorial.",{"_path":125,"title":126,"description":127,"category":43},"\u002Fblog\u002Fwhatsapp-lead-capture-bot-rapiwa-n8n","Build a WhatsApp Lead Capture Bot with Rapiwa and n8n","Build a WhatsApp lead capture bot using Rapiwa API and n8n that collects name, email, and phone from incoming WhatsApp messages, stores leads in Google Sheets, and notifies your sales team.",{"_path":129,"title":130,"description":131,"category":43},"\u002Fblog\u002Fshopify-whatsapp-discount-codes-rapiwa-n8n","How to Send WhatsApp Discount Codes to Shopify Customers with Rapiwa and n8n","Automatically send personalized WhatsApp discount codes to Shopify customers using Rapiwa API and n8n. 74 installs. Recover abandoned carts and boost repeat purchases automatically.",{"_path":133,"title":134,"description":135,"category":43},"\u002Fblog\u002Fwhatsapp-api-make-com-rapiwa","How to Integrate WhatsApp API with Make.com (Formerly Integromat)","Integrate Rapiwa WhatsApp API with Make.com (formerly Integromat) using HTTP modules. Build no-code WhatsApp automations with 2,000+ Make.com apps. Step-by-step guide with screenshots.",{"_path":137,"title":138,"description":139,"category":43},"\u002Fblog\u002Fshopify-cancelled-order-whatsapp-apology-rapiwa","How to Send WhatsApp Apology Messages for Cancelled Shopify Orders with Rapiwa","Automatically send a WhatsApp apology message and reorder link to customers when a Shopify order is cancelled, using Rapiwa API and n8n. 139 installs. Recover lost revenue instantly.",{"_path":141,"title":142,"description":143,"category":22},"\u002Fblog\u002Fwhatsapp-api-google-sheets-rapiwa","How to Send WhatsApp Messages from Google Sheets Automatically","Automatically send WhatsApp messages to a list of contacts in Google Sheets using Rapiwa API and Google Apps Script or n8n. Send bulk messages, notifications, and alerts from a spreadsheet.",{"_path":145,"title":146,"description":147,"category":22},"\u002Fblog\u002Fwhatsapp-webhook-php-rapiwa","How to Handle WhatsApp Webhooks in PHP with Rapiwa","Handle incoming WhatsApp webhooks in PHP using Rapiwa API. Full code examples for receiving messages, verifying signatures, and building reply logic. Works with Laravel and native PHP.",{"_path":149,"title":150,"description":151,"category":22},"\u002Fblog\u002Fwhatsapp-api-hubspot-crm-rapiwa","Integrating WhatsApp API with HubSpot CRM: A Practical Guide","Integrate WhatsApp messaging into HubSpot CRM using Rapiwa API. Send WhatsApp messages from HubSpot workflows, log messages as activities, and automate lead follow-ups. Full tutorial.",{"_path":153,"title":154,"description":155,"category":43},"\u002Fblog\u002Fwoocommerce-discount-coupon-whatsapp-n8n-rapiwa","How to Send WooCommerce Discount Coupons via WhatsApp Automatically with n8n","Automatically send personalized WooCommerce discount coupons to customers via WhatsApp using Rapiwa and n8n. 163 installs. Increase repeat purchases with targeted coupon delivery.",{"_path":157,"title":158,"description":159,"category":22},"\u002Fblog\u002Fschedule-whatsapp-messages-api-rapiwa","How to Schedule WhatsApp Messages Using the Rapiwa API","Schedule WhatsApp messages to send at a future date and time using the Rapiwa API. Full code examples in Python, Node.js, and cURL with cron jobs and queue patterns.",{"_path":161,"title":162,"description":163,"category":43},"\u002Fblog\u002Fwoocommerce-order-updates-whatsapp-rapiwa","How to Send WooCommerce Order Updates to Customers via WhatsApp with Rapiwa","Automatically send WooCommerce order status updates to customers via WhatsApp using Rapiwa API and n8n. 236 installs. Keep customers informed at every order stage.",{"_path":165,"title":166,"description":167,"category":43},"\u002Fblog\u002Fwoocommerce-review-request-whatsapp-rapiwa","How to Automate WhatsApp Review Requests for WooCommerce Orders with Rapiwa","Automatically send WhatsApp review request messages to WooCommerce customers after order delivery using Rapiwa API and n8n. 284 installs. Boost product reviews on autopilot.",{"_path":169,"title":170,"description":171,"category":43},"\u002Fblog\u002Fwoocommerce-cross-sell-whatsapp-rapiwa-n8n","How to Send WooCommerce Cross-Sell Offers via WhatsApp Using Rapiwa and n8n","Automatically send personalized WooCommerce cross-sell product offers to customers via WhatsApp using Rapiwa API and n8n. 311 developers use this template. No coding needed.",{"_path":173,"title":174,"description":175,"category":22},"\u002Fblog\u002Fwhatsapp-otp-verification-api-rapiwa","How to Send WhatsApp OTP Verification Messages Using Rapiwa","Send WhatsApp OTP verification codes using the Rapiwa API. Full code examples in Python, Node.js, PHP, and cURL. No per-message fees, $5\u002Fmonth flat rate.",{"_path":177,"title":178,"description":179,"category":43},"\u002Fblog\u002Fwhatsapp-customer-support-bot-gpt4-google-sheets-rapiwa","How to Build a WhatsApp Customer Support Bot with GPT-4 Mini, Google Sheets & Rapiwa","Build a WhatsApp AI customer support bot using GPT-4 Mini, Google Sheets as knowledge base, and Rapiwa API. Ready-made n8n template with 474 installs. No coding required.",{"_path":181,"title":182,"description":183,"category":43},"\u002Fblog\u002Fgoogle-calendar-whatsapp-reminder-gemini-ai-n8n","How to Send Google Calendar Event Reminders via WhatsApp Using Gemini AI and n8n","Send intelligent WhatsApp reminders for Google Calendar events using Gemini AI follow-up suggestions and Rapiwa API. Step-by-step n8n workflow guide. 538 developers use this template.",{"_path":185,"title":186,"description":187,"category":22},"\u002Fblog\u002Fhow-to-build-whatsapp-chatbot-rapiwa-api","How to Build a WhatsApp Chatbot with Rapiwa API (No Framework Needed)","Build a WhatsApp chatbot with the Rapiwa API using Python, Node.js, or PHP. Handles keyword routing, multi-turn conversations, and AI replies. No special chatbot framework required.",{"_path":189,"title":190,"description":191,"category":22},"\u002Fblog\u002Fhow-to-add-whatsapp-order-notifications-woocommerce","How to Add WhatsApp Order Notifications to WooCommerce","Add automatic WhatsApp order notifications to WooCommerce using Rapiwa's plugin or n8n templates. Zero coding required. Step-by-step setup guide for WooCommerce store owners.",{"_path":193,"title":194,"description":195,"category":22},"\u002Fblog\u002Fwhatsapp-api-nodejs-setup-to-first-message-2026","WhatsApp API in Node.js: From Setup to First Message (2026)","Send WhatsApp messages with Node.js using the Rapiwa API. Complete tutorial with fetch, axios, Express webhooks, async\u002Fawait patterns, and error handling. Works in Node 18+.",{"_path":197,"title":198,"description":199,"category":22},"\u002Fblog\u002Fhow-to-send-whatsapp-messages-python-tutorial","How to Send WhatsApp Messages with Python: Full Code Tutorial (2026)","Send WhatsApp messages with Python using the Rapiwa REST API. Complete tutorial with requests library, async aiohttp, Django, Flask, and error handling examples.",{"_path":201,"title":202,"description":203,"category":43},"\u002Fblog\u002Fauto-send-woocommerce-invoices-whatsapp-rapiwa-n8n","How to Auto-Send WooCommerce Invoices via WhatsApp with Rapiwa and n8n","Automatically send PDF invoices to customers via WhatsApp when a WooCommerce order completes. Step-by-step guide using the Rapiwa API and n8n. 1,306 developers have installed this template.",{"_path":205,"title":206,"description":207,"category":22},"\u002Fblog\u002Fhow-to-integrate-rapiwa-with-n8n-complete-tutorial","How to Integrate Rapiwa with n8n: Complete Step-by-Step Tutorial","Learn how to connect Rapiwa's WhatsApp API to n8n workflows. Complete guide with HTTP Request node configuration, webhook setup, and example workflows for WooCommerce and Shopify.",{"_path":209,"title":210,"description":211,"category":212},"\u002Fblog\u002Fbest-twilio-whatsapp-alternative-2026-cheaper-no-fees","Best Twilio WhatsApp Alternative in 2026 (Cheaper + No Per-Message Fees)","Twilio's WhatsApp API charges $0.025 per marketing conversation. Rapiwa is $5\u002Fmonth flat — no per-message fees, no Meta approval, works in 5 minutes. The best Twilio WhatsApp alternative.","Comparisons",{"_path":214,"title":215,"description":216,"category":212},"\u002Fblog\u002Fwasenderapi-vs-rapiwa-developer-side-by-side-comparison","WasenderAPI vs Rapiwa: A Developer's Side-by-Side Comparison (2026)","WasenderAPI vs Rapiwa — detailed developer comparison of pricing, SDKs, features, WooCommerce, n8n, and code samples. Find which WhatsApp API is best for your use case in 2026.",{"_path":218,"title":219,"description":220,"category":212},"\u002Fblog\u002Fhow-much-does-whatsapp-automation-really-cost-2026","How Much Does WhatsApp Automation Really Cost? Full 2026 Breakdown","WhatsApp automation costs $5\u002Fmonth with Rapiwa for the API, plus $0–$20\u002Fmonth for automation tools. Total: $5–$25\u002Fmonth for a complete WhatsApp automation stack. Full cost breakdown for 2026.",{"_path":222,"title":223,"description":224,"category":212},"\u002Fblog\u002Fgupshup-vs-rapiwa-whatsapp-api-small-businesses","Gupshup vs Rapiwa: WhatsApp API for Small Businesses","Gupshup uses Meta's official API with enterprise pricing. Rapiwa costs $5\u002Fmonth with no Meta approval. Compare Gupshup vs Rapiwa for small business WhatsApp automation in 2026.",{"_path":226,"title":227,"description":228,"category":43},"\u002Fblog\u002Fbest-no-code-whatsapp-api-integration-tools-2026","Best No-Code WhatsApp API Integration Tools in 2026","The best no-code tools for WhatsApp API integration in 2026 are n8n and Make.com. Combined with Rapiwa's API and 10 pre-built templates, you can automate WhatsApp without any coding.",{"_path":230,"title":231,"description":232,"category":212},"\u002Fblog\u002Fwhatsapp-api-vs-email-marketing-open-rate-battle-2026","WhatsApp API vs Email Marketing: Open Rate Battle (2026 Data)","WhatsApp API achieves 98% open rates vs email's 20%. Compare WhatsApp vs email on engagement, cost, and ROI for business marketing and notifications in 2026.",{"_path":234,"title":235,"description":236,"category":212},"\u002Fblog\u002Frapiwa-vs-360dialog-which-is-better-for-developers","Rapiwa vs 360dialog: Which Is Better for Developers?","360dialog uses Meta's official API with per-conversation fees. Rapiwa costs $5\u002Fmonth flat with no Meta approval. Compare for developer use cases, WooCommerce, and automation in 2026.",{"_path":238,"title":239,"description":240,"category":212},"\u002Fblog\u002Fbest-whatsapp-api-for-n8n-automation-2026","Best WhatsApp API for n8n Automation in 2026","The best WhatsApp API for n8n automation is Rapiwa — 10 official n8n workflow templates with 3,000+ installs covering WooCommerce, Shopify, AI chatbots, and Google Calendar. From $5\u002Fmonth.",{"_path":242,"title":243,"description":244,"category":212},"\u002Fblog\u002Fbest-whatsapp-api-for-woocommerce-2026","Best WhatsApp API for WooCommerce in 2026","The best WhatsApp API for WooCommerce is Rapiwa — it has a dedicated plugin and 6 n8n templates for order notifications, invoices, review requests, cross-sells, and discount coupons. From $5\u002Fmonth.",{"_path":246,"title":247,"description":248,"category":212},"\u002Fblog\u002Frapiwa-vs-vonage-whatsapp-api-developer-friendly","Rapiwa vs Vonage WhatsApp API: Which Is More Developer-Friendly?","Rapiwa costs $5\u002Fmonth, connects in 5 minutes, no Meta approval. Vonage (now Vonage\u002FEricsson) uses official Meta API with per-conversation fees and approval process. Full comparison for developers.",{"_path":250,"title":251,"description":252,"category":212},"\u002Fblog\u002Fwaha-pricing-breakdown-is-it-cheaper-than-rapiwa","WAHA Pricing Breakdown: Is It Really Cheaper Than Rapiwa?","WAHA's hosted plan costs $19\u002Fmonth. Self-hosting WAHA costs $40+\u002Fmonth (VPS + maintenance). Rapiwa is $5\u002Fmonth with zero maintenance. Full WAHA pricing breakdown and honest comparison.",{"_path":254,"title":255,"description":256,"category":212},"\u002Fblog\u002Fself-hosted-vs-cloud-whatsapp-api-real-cost-comparison","Self-Hosted vs Cloud WhatsApp API: The Real Cost Comparison (2026)","Self-hosted WhatsApp APIs (Evolution API, WAHA) cost $40–90\u002Fmonth in VPS and maintenance. Cloud managed APIs like Rapiwa cost $5\u002Fmonth with zero maintenance. Full comparison.",{"_path":258,"title":259,"description":260,"category":212},"\u002Fblog\u002Fcheapest-whatsapp-api-2026-top-7-options-ranked","Cheapest WhatsApp API in 2026: Top 7 Low-Cost Options Ranked","The cheapest WhatsApp API in 2026 is Rapiwa at $5\u002Fmonth with unlimited messages and a 5.0\u002F5 Sourceforge rating. Compare the 7 most affordable WhatsApp API options ranked by price.",{"_path":262,"title":263,"description":264,"category":212},"\u002Fblog\u002Fbest-whatsapp-api-providers-2026-full-comparison","Best WhatsApp API Providers in 2026: Full Comparison (Price, Features, Limits)","Compare all major WhatsApp API providers in 2026 — Rapiwa, WasenderAPI, WAHA, Twilio, WATI, Evolution API, Maytapi, and more. Full pricing, features, and ratings comparison.",{"_path":266,"title":267,"description":268,"category":212},"\u002Fblog\u002Fwati-vs-rapiwa-which-whatsapp-api-right-for-business","WATI vs Rapiwa: Which WhatsApp API Is Right for Your Business?","WATI costs $49\u002Fmonth with a team inbox focus. Rapiwa costs $5\u002Fmonth with developer API focus, WooCommerce plugin, and n8n templates. Compare WATI vs Rapiwa for your use case in 2026.",{"_path":270,"title":271,"description":272,"category":212},"\u002Fblog\u002Ftwilio-whatsapp-api-vs-rapiwa-why-cheaper-wins-for-startups","Twilio WhatsApp API vs Rapiwa: Why Cheaper Wins for Startups","Twilio WhatsApp API charges per conversation and requires Meta approval. Rapiwa costs $5\u002Fmonth flat with no approval needed. Compare Twilio vs Rapiwa for startups and developers in 2026.",{"_path":274,"title":275,"description":276,"category":212},"\u002Fblog\u002Fbest-waapi-alternative-developers-2026","Best WAAPI Alternative for Developers in 2026 (WasenderAPI vs Rapiwa vs Others)","The best WAAPI alternative is Rapiwa at $5\u002Fmonth — 5.0\u002F5 Sourceforge rating, WooCommerce plugin, 10 n8n templates. Compare WAAPI, WasenderAPI, and Rapiwa for WhatsApp API in 2026.",{"_path":278,"title":279,"description":280,"category":212},"\u002Fblog\u002Fbest-ultramsg-alternative-save-money-whatsapp-api","Best Ultramsg Alternative: Save Money on WhatsApp API (2026)","Ultramsg charges more than Rapiwa's $5\u002Fmonth. The best Ultramsg alternative is Rapiwa — cheaper, 5.0\u002F5 Sourceforge rating, WooCommerce plugin, and 10 n8n templates included.",{"_path":282,"title":283,"description":284,"category":212},"\u002Fblog\u002Fbest-green-api-alternative-unlimited-messaging-2026","Best Green API Alternative with Unlimited Messaging (2026)","Green API charges $5.50\u002Fmonth with message limits. Rapiwa costs $5\u002Fmonth with truly unlimited messaging, a 5.0\u002F5 Sourceforge rating, and WooCommerce + n8n integrations. Full comparison.",{"_path":286,"title":287,"description":288,"category":212},"\u002Fblog\u002Fbest-maytapi-alternative-cheaper-whatsapp-api-developers","Best Maytapi Alternative: Cheaper WhatsApp API for Developers (2026)","Maytapi starts at $9\u002Fmonth. Rapiwa is the best Maytapi alternative at $5\u002Fmonth — 44% cheaper with a 5.0\u002F5 Sourceforge rating, WooCommerce plugin, and 10 n8n templates.",{"_path":290,"title":291,"description":292,"category":212},"\u002Fblog\u002Fbest-whapi-cloud-alternative-whatsapp-automation-2026","Best Whapi.cloud Alternative for WhatsApp Automation in 2026","Whapi.cloud costs more than Rapiwa's $5\u002Fmonth and has fewer integrations. Compare Whapi.cloud vs Rapiwa for WhatsApp automation — pricing, features, WooCommerce, and n8n support.",{"_path":294,"title":295,"description":296,"category":212},"\u002Fblog\u002Fbest-z-api-alternative-developers-affordable-easy","Best Z-API Alternative for Developers in 2026 (Affordable & Easy)","Looking for a Z-API alternative? Rapiwa costs $5\u002Fmonth vs Z-API's higher pricing, has a 5.0\u002F5 Sourceforge rating, WooCommerce plugin, and 10 n8n templates. Full comparison inside.",{"_path":298,"title":299,"description":300,"category":212},"\u002Fblog\u002Fbest-evolution-api-alternative-managed-vs-self-hosted","Best Evolution API Alternative: Managed vs Self-Hosted WhatsApp API (2026)","Evolution API requires a VPS, Docker, and constant maintenance. Rapiwa is the best managed Evolution API alternative at $5\u002Fmonth — same features, zero server management, instant setup.",{"_path":302,"title":303,"description":304,"category":212},"\u002Fblog\u002Fbest-waha-alternative-whatsapp-api-developers-2026","Best WAHA Alternative for WhatsApp API Developers (2026)","The best WAHA alternative for developers in 2026 is Rapiwa — $5\u002Fmonth managed hosting vs WAHA's $19\u002Fmonth hosted or $40+\u002Fmonth self-hosted. No server management, same features.",{"_path":306,"title":307,"description":308,"category":22},"\u002Fblog\u002Fhow-to-send-whatsapp-messages-from-any-programming-language","How to Send WhatsApp Messages from Any Programming Language","The Rapiwa REST API lets you send WhatsApp messages from Python, Node.js, PHP, Java, C#, Ruby, Go, and any language that can make HTTP requests. Full code examples for every language.",{"_path":310,"title":311,"description":312,"category":212},"\u002Fblog\u002Fwhatsapp-api-for-small-businesses-best-low-cost-options-2026","WhatsApp API for Small Businesses: Best Low-Cost Options in 2026","The best low-cost WhatsApp API options for small businesses in 2026. Rapiwa leads at $5\u002Fmonth — cheaper than WasenderAPI, WAHA, or Maytapi. No coding required with WooCommerce plugin and n8n templates.",{"_path":314,"title":315,"description":316,"category":212},"\u002Fblog\u002Fwasenderapi-pricing-explained-is-there-a-cheaper-option","WasenderAPI Pricing Explained: Is There a Cheaper Option?","WasenderAPI costs $6\u002Fmonth for one number, $15\u002Fmonth for three. Rapiwa is $5\u002Fmonth for one number — 17% cheaper. Full WasenderAPI pricing breakdown and best alternatives in 2026.",{"_path":318,"title":319,"description":320,"category":22},"\u002Fblog\u002Fhow-to-connect-your-whatsapp-number-to-an-api-via-qr-code","How to Connect Your WhatsApp Number to an API via QR Code","Connect any WhatsApp number (personal or business) to a REST API in minutes using QR code scanning. Step-by-step guide for Rapiwa with troubleshooting tips.",{"_path":322,"title":323,"description":324,"category":17},"\u002Fblog\u002Ffree-whatsapp-api-vs-paid-when-does-it-make-sense-to-upgrade","Free WhatsApp API vs Paid: When Does It Make Sense to Upgrade?","Free WhatsApp APIs (self-hosted Evolution API, WAHA) require VPS hosting and maintenance that costs $40–90\u002Fmonth. Paid managed APIs like Rapiwa cost $5\u002Fmonth with zero maintenance. Here's when each makes sense.",{"_path":326,"title":327,"description":328,"category":17},"\u002Fblog\u002Fhow-to-bypass-the-whatsapp-24-hour-messaging-window","How to Bypass the WhatsApp 24-Hour Messaging Window","The WhatsApp Business API 24-hour window restricts outbound messages after 24 hours of inactivity. Learn how to work around it using unofficial APIs like Rapiwa with no messaging restrictions.",{"_path":330,"title":331,"description":332,"category":17},"\u002Fblog\u002Fwhatsapp-api-rate-limits-explained-how-to-message-safely-2026","WhatsApp API Rate Limits Explained: How to Message Safely in 2026","Understand WhatsApp API rate limits and how to send messages safely without getting banned. Includes recommended sending rates, warm-up schedules, and Python code for rate-limited bulk sending.",{"_path":334,"title":335,"description":336,"category":17},"\u002Fblog\u002Fhow-to-send-whatsapp-messages-without-whatsapp-business-api","How to Send WhatsApp Messages Without WhatsApp Business API","Send WhatsApp messages without the official WhatsApp Business API by using an unofficial API like Rapiwa. No Meta approval, no templates, no per-message fees. Start in 5 minutes.",{"_path":338,"title":339,"description":340,"category":17},"\u002Fblog\u002Fofficial-vs-unofficial-whatsapp-api-which-should-developers-use","Official vs Unofficial WhatsApp API: Which Should Developers Use in 2026?","Official WhatsApp API (Meta) requires approval and charges per conversation. Unofficial APIs connect via QR code with no fees. Learn which is right for your project in 2026.",{"_path":342,"title":343,"description":344,"category":212},"\u002Fblog\u002Fis-wasenderapi-worth-it-honest-review-developers-2026","Is WasenderAPI Worth It? An Honest Review for Developers (2026)","An honest review of WasenderAPI for developers in 2026. Covers pricing, features, SDKs, reliability, and how it compares to Rapiwa ($5\u002Fmonth vs $6\u002Fmonth, 5.0\u002F5 vs 4.5\u002F5 on Sourceforge).",{"_path":346,"title":347,"description":348,"category":212},"\u002Fblog\u002Fevolution-api-problems-in-2026-errors-issues-best-alternative","Evolution API Problems in 2026: Common Errors, Issues & Best Alternative","Evolution API has frequent disconnections, complex setup, and high maintenance costs. Learn the most common Evolution API errors, fixes, and why developers switch to Rapiwa ($5\u002Fmonth, zero maintenance).",{"_path":350,"title":351,"description":352,"category":17},"\u002Fblog\u002Fbest-whatsapp-api-features-every-developer-needs-in-2026","Best WhatsApp API Features Every Developer Needs in 2026","The best WhatsApp API features for developers in 2026 include webhook support, all message types, number verification, bulk messaging, and no-code integrations. Rapiwa includes all of these from $5\u002Fmonth.",{"_path":354,"title":355,"description":356,"category":212},"\u002Fblog\u002Fwhatsapp-vs-sms-for-business-which-delivers-better-roi","WhatsApp vs SMS for Business: Which Delivers Better ROI in 2026?","WhatsApp achieves 98% open rates vs SMS's 45%. Compare WhatsApp API vs SMS API on cost, delivery, features, and ROI for business messaging in 2026.",{"_path":358,"title":359,"description":360,"category":22},"\u002Fblog\u002Fhow-to-verify-a-whatsapp-number-before-sending-messages","How to Verify a WhatsApp Number Before Sending Messages","Learn how to verify if a phone number is active on WhatsApp before sending messages using the Rapiwa API. Includes Python, Node.js, and cURL code examples.",{"_path":362,"title":363,"description":364,"category":212},"\u002Fblog\u002Fwhatsapp-api-pricing-in-2026-what-you-actually-pay","WhatsApp API Pricing in 2026: What You Actually Pay","Compare WhatsApp API pricing in 2026. Rapiwa costs $5\u002Fmonth flat. WasenderAPI $6\u002Fmonth. Meta Cloud API charges per conversation. Find the cheapest option for your use case.",{"_path":366,"title":367,"description":368,"category":17},"\u002Fblog\u002Fwhat-are-whatsapp-webhooks-how-they-work-setup-guide","What Are WhatsApp Webhooks? How They Work + Setup Guide","WhatsApp webhooks send real-time notifications to your server when messages arrive. Learn how to set up and handle WhatsApp webhooks with Rapiwa API using Python, Node.js, and PHP.",{"_path":370,"title":371,"description":372,"category":22},"\u002Fblog\u002Fhow-to-send-bulk-whatsapp-messages-using-an-api","How to Send Bulk WhatsApp Messages Using an API","Learn how to send bulk WhatsApp messages programmatically using the Rapiwa API. Includes rate limiting, personalization, and best practices to avoid account bans.",{"_path":374,"title":375,"description":376,"category":17},"\u002Fblog\u002Ftop-10-whatsapp-api-use-cases-for-developers-2026","Top 10 WhatsApp API Use Cases for Developers (2026)","Discover the 10 most profitable WhatsApp API use cases for developers in 2026 — from e-commerce notifications to AI chatbots. Includes code examples using the Rapiwa API.",{"_path":378,"title":379,"description":380,"category":43},"\u002Fblog\u002Fwhatsapp-automation-for-businesses-complete-beginners-guide","WhatsApp Automation for Businesses: Complete Beginner's Guide (2026)","WhatsApp automation lets businesses send messages, follow-ups, and notifications automatically. Learn how to automate WhatsApp for your business using Rapiwa API and n8n in 2026.",{"_path":382,"title":383,"description":384,"category":212},"\u002Fblog\u002Fbest-wasenderapi-alternative-for-developers-2026","Best WasenderAPI Alternative for Developers in 2026","Looking for a WasenderAPI alternative? Rapiwa costs $5\u002Fmonth vs WasenderAPI's $6\u002Fmonth and holds a 5.0\u002F5 Sourceforge rating. Compare the top WhatsApp API alternatives for developers.",{"_path":386,"title":387,"description":388,"category":22},"\u002Fblog\u002Fhow-to-set-up-rapiwa-in-under-5-minutes","How to Set Up Rapiwa in Under 5 Minutes: Quick Start Guide","Connect your WhatsApp number to Rapiwa and send your first message in under 5 minutes. Step-by-step setup guide with code examples for all major languages.",{"_path":390,"title":391,"description":392,"category":17},"\u002Fblog\u002Fwhatsapp-unofficial-api-vs-official-meta-api-key-differences","WhatsApp Unofficial API vs Official Meta API: Key Differences Explained","Unofficial WhatsApp APIs connect via QR code with no Meta approval. Official Meta API requires business verification and charges per conversation. Learn which is right for your project.",{"_path":394,"title":395,"description":396,"category":22},"\u002Fblog\u002Fhow-to-send-whatsapp-messages-programmatically-developers-guide","How to Send WhatsApp Messages Programmatically: A Developer's Guide","Learn how to send WhatsApp messages programmatically using the Rapiwa REST API. Includes working code examples in cURL, Python, Node.js, PHP, Java, and C#.",{"_path":398,"title":399,"description":400,"category":17},"\u002Fblog\u002Fwhat-is-a-whatsapp-api-complete-developer-guide-2026","What Is a WhatsApp API? Complete Developer Guide (2026)","A WhatsApp API lets developers send and receive WhatsApp messages programmatically. Learn how it works, the difference between official and unofficial APIs, and how to get started in 2026.",{"_path":402,"title":403,"description":404,"category":212},"\u002Fblog\u002Frapiwa-vs-wasenderapi-which-whatsapp-api-is-cheaper-in-2026","Rapiwa vs WasenderAPI: Which WhatsApp API Is Cheaper in 2026?","Rapiwa starts at $5\u002Fmonth vs WasenderAPI's $6\u002Fmonth. Compare pricing, features, SDKs, and Sourceforge ratings to find the best WhatsApp API for developers in 2026.",{"_path":406,"title":407,"description":408,"category":17},"\u002Fblog\u002Fhow-to-keep-your-whatsapp-number-safe-with-rapiwa-compliance-tips-from-rapiwa","How to Keep Your WhatsApp Number Safe with Rapiwa: Compliance Tips from Rapiwa","Learn best practices to protect your WhatsApp number when using Rapiwa's API. From warm-up strategies to opt-in consent and engagement rates.",{"_path":410,"title":411,"description":412,"category":17},"\u002Fblog\u002Fintroduction-to-rapiwa-and-whatsapp-automation","Introduction to Rapiwa and WhatsApp Automation","Rapiwa is a lightweight WhatsApp Messaging API designed for developers and businesses to automate messaging, workflows, and customer engagement affordably.",[414,4194,6856,10933,16024,18997,23011,26208,30615,33269,36564,38755,41215,43287,45528,47536,48756,54668,56189,60020,62951,66671,71620,77286,78385,81558,86242,90817,95522,99038,100479,101849,103308,104588,107289,111970,113724,114952,118009,118964,119901,120901,125218,126318,127294,131910,133624,139038,143994,145138,146932,148258,149717,150708,151466,152436,153444,154259,155769,157061,157641,158333,159187,159955,160981,161771,162819,163479,164097,164716,165316,165928,166662,168381,169574,174914,175925,176738,177616,178401,179659,182639,184295,185401,186487,188200,189592,191186,195022,196301,200187,204482,207376,208886,210007,211887,212903,217320,218892,220078,220418],{"_path":5,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":6,"description":7,"date":418,"author":419,"category":8,"_slug":420,"image":421,"body":422,"_type":4187,"_id":4188,"_source":4189,"_file":4190,"_stem":4191,"_extension":4192,"sitemap":4193},"blog",false,"","2026-04-01","Abida","whatsapp-api-schools-parent-communication","\u002Fimages\u002Fblog\u002Fwhatsapp-api-schools-parent-communication.svg",{"type":423,"children":424,"toc":4169},"root",[425,433,440,453,508,514,521,531,541,662,670,757,763,772,781,2552,2558,2567,2576,2584,2590,2599,2608,3340,3346,3355,3364,3372,3380,3769,3775,3784,3793,3801,3807,3813,3829,3835,3840,3853,3859,3864,4048,4054,4107,4113,4123,4133,4143,4153,4163],{"type":426,"tag":427,"props":428,"children":429},"element","p",{},[430],{"type":431,"value":432},"text","WhatsApp API for schools lets educational institutions automatically send attendance alerts, fee reminders, exam schedules, school event notifications, and emergency alerts to parents via WhatsApp. Using Rapiwa API ($5\u002Fmonth, no per-message fees), schools replace phone call trees and printed circulars with instant WhatsApp notifications that parents actually read.",{"type":426,"tag":434,"props":435,"children":437},"h2",{"id":436},"why-schools-need-whatsapp-communication",[438],{"type":431,"value":439},"Why Schools Need WhatsApp Communication",{"type":426,"tag":427,"props":441,"children":442},{},[443,445,451],{"type":431,"value":444},"School communication has a ",{"type":426,"tag":446,"props":447,"children":448},"strong",{},[449],{"type":431,"value":450},"reach problem",{"type":431,"value":452},": printed circulars go unread in school bags, school email newsletters have 15–20% open rates, and phone trees are time-consuming and unreliable. WhatsApp solves this:",{"type":426,"tag":454,"props":455,"children":456},"ul",{},[457,468,478,488,498],{"type":426,"tag":458,"props":459,"children":460},"li",{},[461,466],{"type":426,"tag":446,"props":462,"children":463},{},[464],{"type":431,"value":465},"98% open rate",{"type":431,"value":467}," — parents read WhatsApp messages within minutes",{"type":426,"tag":458,"props":469,"children":470},{},[471,476],{"type":426,"tag":446,"props":472,"children":473},{},[474],{"type":431,"value":475},"Parents already use WhatsApp",{"type":431,"value":477}," — it's the most widely used app in most families",{"type":426,"tag":458,"props":479,"children":480},{},[481,486],{"type":426,"tag":446,"props":482,"children":483},{},[484],{"type":431,"value":485},"Two-way communication",{"type":431,"value":487}," — parents can reply to confirm or ask questions",{"type":426,"tag":458,"props":489,"children":490},{},[491,496],{"type":426,"tag":446,"props":492,"children":493},{},[494],{"type":431,"value":495},"Emergency broadcast",{"type":431,"value":497}," — send a school closure alert to all parents in 30 seconds",{"type":426,"tag":458,"props":499,"children":500},{},[501,506],{"type":426,"tag":446,"props":502,"children":503},{},[504],{"type":431,"value":505},"Cost",{"type":431,"value":507},": $5\u002Fmonth (Rapiwa) vs printing costs + postage for circular letters",{"type":426,"tag":434,"props":509,"children":511},{"id":510},"top-6-whatsapp-automation-use-cases-for-schools",[512],{"type":431,"value":513},"Top 6 WhatsApp Automation Use Cases for Schools",{"type":426,"tag":515,"props":516,"children":518},"h3",{"id":517},"_1-attendance-notification",[519],{"type":431,"value":520},"1. Attendance Notification",{"type":426,"tag":427,"props":522,"children":523},{},[524,529],{"type":426,"tag":446,"props":525,"children":526},{},[527],{"type":431,"value":528},"The problem",{"type":431,"value":530},": When a student is absent, parents don't know until the end of the school day.",{"type":426,"tag":427,"props":532,"children":533},{},[534,539],{"type":426,"tag":446,"props":535,"children":536},{},[537],{"type":431,"value":538},"The solution",{"type":431,"value":540},": Automatic WhatsApp alert to parents within 30 minutes of absence being recorded.",{"type":426,"tag":542,"props":543,"children":547},"pre",{"code":544,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"📋 Attendance Alert — Bright Future Academy\\n\\nDear Parent\u002FGuardian,\\n\\nThis is to inform you that *Aisha Rahman* (Class 7, Roll: 15) was marked *absent* on July 20, 2026.\\n\\nIf this is unexpected, please contact the school:\\n📞 +880 2222 333444\\n📧 admin@brightfuture.edu\\n\\nThank you.\"\n  }'\n","bash","language-bash shiki shiki-themes github-dark",[548],{"type":426,"tag":549,"props":550,"children":551},"code",{"__ignoreMap":417},[552,586,604,621,635,644,653],{"type":426,"tag":553,"props":554,"children":557},"span",{"class":555,"line":556},"line",1,[558,564,570,576,581],{"type":426,"tag":553,"props":559,"children":561},{"style":560},"--shiki-default:#B392F0",[562],{"type":431,"value":563},"curl",{"type":426,"tag":553,"props":565,"children":567},{"style":566},"--shiki-default:#79B8FF",[568],{"type":431,"value":569}," -X",{"type":426,"tag":553,"props":571,"children":573},{"style":572},"--shiki-default:#9ECBFF",[574],{"type":431,"value":575}," POST",{"type":426,"tag":553,"props":577,"children":578},{"style":572},[579],{"type":431,"value":580}," https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message",{"type":426,"tag":553,"props":582,"children":583},{"style":566},[584],{"type":431,"value":585}," \\\n",{"type":426,"tag":553,"props":587,"children":589},{"class":555,"line":588},2,[590,595,600],{"type":426,"tag":553,"props":591,"children":592},{"style":566},[593],{"type":431,"value":594},"  -H",{"type":426,"tag":553,"props":596,"children":597},{"style":572},[598],{"type":431,"value":599}," \"Authorization: Bearer YOUR_API_KEY\"",{"type":426,"tag":553,"props":601,"children":602},{"style":566},[603],{"type":431,"value":585},{"type":426,"tag":553,"props":605,"children":607},{"class":555,"line":606},3,[608,612,617],{"type":426,"tag":553,"props":609,"children":610},{"style":566},[611],{"type":431,"value":594},{"type":426,"tag":553,"props":613,"children":614},{"style":572},[615],{"type":431,"value":616}," \"Content-Type: application\u002Fjson\"",{"type":426,"tag":553,"props":618,"children":619},{"style":566},[620],{"type":431,"value":585},{"type":426,"tag":553,"props":622,"children":624},{"class":555,"line":623},4,[625,630],{"type":426,"tag":553,"props":626,"children":627},{"style":566},[628],{"type":431,"value":629},"  -d",{"type":426,"tag":553,"props":631,"children":632},{"style":572},[633],{"type":431,"value":634}," '{\n",{"type":426,"tag":553,"props":636,"children":638},{"class":555,"line":637},5,[639],{"type":426,"tag":553,"props":640,"children":641},{"style":572},[642],{"type":431,"value":643},"    \"number\": \"8801234567890\",\n",{"type":426,"tag":553,"props":645,"children":647},{"class":555,"line":646},6,[648],{"type":426,"tag":553,"props":649,"children":650},{"style":572},[651],{"type":431,"value":652},"    \"message\": \"📋 Attendance Alert — Bright Future Academy\\n\\nDear Parent\u002FGuardian,\\n\\nThis is to inform you that *Aisha Rahman* (Class 7, Roll: 15) was marked *absent* on July 20, 2026.\\n\\nIf this is unexpected, please contact the school:\\n📞 +880 2222 333444\\n📧 admin@brightfuture.edu\\n\\nThank you.\"\n",{"type":426,"tag":553,"props":654,"children":656},{"class":555,"line":655},7,[657],{"type":426,"tag":553,"props":658,"children":659},{"style":572},[660],{"type":431,"value":661},"  }'\n",{"type":426,"tag":427,"props":663,"children":664},{},[665],{"type":426,"tag":446,"props":666,"children":667},{},[668],{"type":431,"value":669},"Expected response:",{"type":426,"tag":542,"props":671,"children":675},{"code":672,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_school_abc123\",\n  \"timestamp\": \"2026-07-20T09:30:00Z\"\n}\n","json","language-json shiki shiki-themes github-dark",[676],{"type":426,"tag":549,"props":677,"children":678},{"__ignoreMap":417},[679,688,711,732,749],{"type":426,"tag":553,"props":680,"children":681},{"class":555,"line":556},[682],{"type":426,"tag":553,"props":683,"children":685},{"style":684},"--shiki-default:#E1E4E8",[686],{"type":431,"value":687},"{\n",{"type":426,"tag":553,"props":689,"children":690},{"class":555,"line":588},[691,696,701,706],{"type":426,"tag":553,"props":692,"children":693},{"style":566},[694],{"type":431,"value":695},"  \"status\"",{"type":426,"tag":553,"props":697,"children":698},{"style":684},[699],{"type":431,"value":700},": ",{"type":426,"tag":553,"props":702,"children":703},{"style":572},[704],{"type":431,"value":705},"\"success\"",{"type":426,"tag":553,"props":707,"children":708},{"style":684},[709],{"type":431,"value":710},",\n",{"type":426,"tag":553,"props":712,"children":713},{"class":555,"line":606},[714,719,723,728],{"type":426,"tag":553,"props":715,"children":716},{"style":566},[717],{"type":431,"value":718},"  \"messageId\"",{"type":426,"tag":553,"props":720,"children":721},{"style":684},[722],{"type":431,"value":700},{"type":426,"tag":553,"props":724,"children":725},{"style":572},[726],{"type":431,"value":727},"\"msg_school_abc123\"",{"type":426,"tag":553,"props":729,"children":730},{"style":684},[731],{"type":431,"value":710},{"type":426,"tag":553,"props":733,"children":734},{"class":555,"line":623},[735,740,744],{"type":426,"tag":553,"props":736,"children":737},{"style":566},[738],{"type":431,"value":739},"  \"timestamp\"",{"type":426,"tag":553,"props":741,"children":742},{"style":684},[743],{"type":431,"value":700},{"type":426,"tag":553,"props":745,"children":746},{"style":572},[747],{"type":431,"value":748},"\"2026-07-20T09:30:00Z\"\n",{"type":426,"tag":553,"props":750,"children":751},{"class":555,"line":637},[752],{"type":426,"tag":553,"props":753,"children":754},{"style":684},[755],{"type":431,"value":756},"}\n",{"type":426,"tag":515,"props":758,"children":760},{"id":759},"_2-fee-payment-reminder",[761],{"type":431,"value":762},"2. Fee Payment Reminder",{"type":426,"tag":427,"props":764,"children":765},{},[766,770],{"type":426,"tag":446,"props":767,"children":768},{},[769],{"type":431,"value":528},{"type":431,"value":771},": Schools spend hours chasing late tuition fee payments.",{"type":426,"tag":427,"props":773,"children":774},{},[775,779],{"type":426,"tag":446,"props":776,"children":777},{},[778],{"type":431,"value":538},{"type":431,"value":780},": Automated WhatsApp fee reminders at 7, 3, and 1 day before due date.",{"type":426,"tag":542,"props":782,"children":786},{"code":783,"language":784,"meta":417,"className":785,"style":417},"import requests\nfrom datetime import date, timedelta\n\ndef send_fee_reminder(parent: dict, student: dict, fee: dict, days_until_due: int, api_key: str) -> dict:\n    \n    if days_until_due > 0:\n        urgency_message = f\"Fee is due in *{days_until_due} day{'s' if days_until_due > 1 else ''}*.\"\n        action = \"Please pay before the due date to avoid a late fee.\"\n    elif days_until_due == 0:\n        urgency_message = \"Fee is *due TODAY*.\"\n        action = \"Please complete payment today.\"\n    else:\n        urgency_message = f\"Fee is *{abs(days_until_due)} days overdue*.\"\n        action = \"Please pay immediately to avoid suspension of services.\"\n    \n    message = (\n        f\"💰 Fee Reminder — {student['school_name']}\\n\\n\"\n        f\"Dear {parent['name']},\\n\\n\"\n        f\"This is a reminder for *{student['name']}* ({student['class']}):\\n\\n\"\n        f\"Fee type: {fee['type']}\\n\"\n        f\"Amount: {fee['currency']} {fee['amount']:,}\\n\"\n        f\"Due date: {fee['due_date']}\\n\\n\"\n        f\"{urgency_message} {action}\\n\\n\"\n        f\"Pay online: {fee['payment_url']}\\n\"\n        f\"Questions? Call: {student['school_phone']}\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': parent['phone'], 'message': message}\n    ).json()\n\n\ndef run_daily_fee_reminders(db, api_key: str) -> None:\n    \"\"\"Send fee reminders for upcoming and overdue fees.\"\"\"\n    today = date.today()\n    \n    reminder_offsets = [7, 3, 1, 0, -1, -3, -7]  # Days relative to due date\n    \n    for offset in reminder_offsets:\n        target_date = today + timedelta(days=offset)\n        \n        fees_due = db.query(\"\"\"\n            SELECT f.*, s.name as student_name, s.class, \n                   p.name as parent_name, p.phone, s.school_name, s.school_phone\n            FROM fees f\n            JOIN students s ON f.student_id = s.id\n            JOIN parents p ON s.parent_id = p.id\n            WHERE f.due_date = %s AND f.status = 'unpaid'\n              AND p.whatsapp_opted_in = TRUE\n        \"\"\", [target_date])\n        \n        for fee in fees_due:\n            days_until = (fee['due_date'] - today).days\n            send_fee_reminder(\n                parent={'name': fee['parent_name'], 'phone': fee['phone']},\n                student={'name': fee['student_name'], 'class': fee['class'], \n                        'school_name': fee['school_name'], 'school_phone': fee['school_phone']},\n                fee={'type': fee['fee_type'], 'amount': fee['amount'], \n                     'currency': 'BDT', 'due_date': str(fee['due_date']),\n                     'payment_url': fee['payment_url']},\n                days_until_due=days_until,\n                api_key=api_key\n            )\n","python","language-python shiki shiki-themes github-dark",[787],{"type":426,"tag":549,"props":788,"children":789},{"__ignoreMap":417},[790,804,826,835,910,918,945,1034,1052,1078,1095,1112,1125,1165,1182,1190,1208,1251,1300,1372,1412,1477,1515,1558,1596,1634,1643,1651,1665,1678,1738,1785,1794,1802,1810,1845,1854,1872,1880,1979,1987,2011,2053,2062,2085,2094,2103,2112,2121,2130,2149,2158,2172,2180,2203,2239,2248,2300,2351,2388,2438,2486,2507,2525,2543],{"type":426,"tag":553,"props":791,"children":792},{"class":555,"line":556},[793,799],{"type":426,"tag":553,"props":794,"children":796},{"style":795},"--shiki-default:#F97583",[797],{"type":431,"value":798},"import",{"type":426,"tag":553,"props":800,"children":801},{"style":684},[802],{"type":431,"value":803}," requests\n",{"type":426,"tag":553,"props":805,"children":806},{"class":555,"line":588},[807,812,817,821],{"type":426,"tag":553,"props":808,"children":809},{"style":795},[810],{"type":431,"value":811},"from",{"type":426,"tag":553,"props":813,"children":814},{"style":684},[815],{"type":431,"value":816}," datetime ",{"type":426,"tag":553,"props":818,"children":819},{"style":795},[820],{"type":431,"value":798},{"type":426,"tag":553,"props":822,"children":823},{"style":684},[824],{"type":431,"value":825}," date, timedelta\n",{"type":426,"tag":553,"props":827,"children":828},{"class":555,"line":606},[829],{"type":426,"tag":553,"props":830,"children":832},{"emptyLinePlaceholder":831},true,[833],{"type":431,"value":834},"\n",{"type":426,"tag":553,"props":836,"children":837},{"class":555,"line":623},[838,843,848,853,858,863,867,872,876,881,886,891,896,901,905],{"type":426,"tag":553,"props":839,"children":840},{"style":795},[841],{"type":431,"value":842},"def",{"type":426,"tag":553,"props":844,"children":845},{"style":560},[846],{"type":431,"value":847}," send_fee_reminder",{"type":426,"tag":553,"props":849,"children":850},{"style":684},[851],{"type":431,"value":852},"(parent: ",{"type":426,"tag":553,"props":854,"children":855},{"style":566},[856],{"type":431,"value":857},"dict",{"type":426,"tag":553,"props":859,"children":860},{"style":684},[861],{"type":431,"value":862},", student: ",{"type":426,"tag":553,"props":864,"children":865},{"style":566},[866],{"type":431,"value":857},{"type":426,"tag":553,"props":868,"children":869},{"style":684},[870],{"type":431,"value":871},", fee: ",{"type":426,"tag":553,"props":873,"children":874},{"style":566},[875],{"type":431,"value":857},{"type":426,"tag":553,"props":877,"children":878},{"style":684},[879],{"type":431,"value":880},", days_until_due: ",{"type":426,"tag":553,"props":882,"children":883},{"style":566},[884],{"type":431,"value":885},"int",{"type":426,"tag":553,"props":887,"children":888},{"style":684},[889],{"type":431,"value":890},", api_key: ",{"type":426,"tag":553,"props":892,"children":893},{"style":566},[894],{"type":431,"value":895},"str",{"type":426,"tag":553,"props":897,"children":898},{"style":684},[899],{"type":431,"value":900},") -> ",{"type":426,"tag":553,"props":902,"children":903},{"style":566},[904],{"type":431,"value":857},{"type":426,"tag":553,"props":906,"children":907},{"style":684},[908],{"type":431,"value":909},":\n",{"type":426,"tag":553,"props":911,"children":912},{"class":555,"line":637},[913],{"type":426,"tag":553,"props":914,"children":915},{"style":684},[916],{"type":431,"value":917},"    \n",{"type":426,"tag":553,"props":919,"children":920},{"class":555,"line":646},[921,926,931,936,941],{"type":426,"tag":553,"props":922,"children":923},{"style":795},[924],{"type":431,"value":925},"    if",{"type":426,"tag":553,"props":927,"children":928},{"style":684},[929],{"type":431,"value":930}," days_until_due ",{"type":426,"tag":553,"props":932,"children":933},{"style":795},[934],{"type":431,"value":935},">",{"type":426,"tag":553,"props":937,"children":938},{"style":566},[939],{"type":431,"value":940}," 0",{"type":426,"tag":553,"props":942,"children":943},{"style":684},[944],{"type":431,"value":909},{"type":426,"tag":553,"props":946,"children":947},{"class":555,"line":655},[948,953,958,963,968,973,978,983,988,992,997,1002,1006,1010,1015,1020,1025,1029],{"type":426,"tag":553,"props":949,"children":950},{"style":684},[951],{"type":431,"value":952},"        urgency_message ",{"type":426,"tag":553,"props":954,"children":955},{"style":795},[956],{"type":431,"value":957},"=",{"type":426,"tag":553,"props":959,"children":960},{"style":795},[961],{"type":431,"value":962}," f",{"type":426,"tag":553,"props":964,"children":965},{"style":572},[966],{"type":431,"value":967},"\"Fee is due in *",{"type":426,"tag":553,"props":969,"children":970},{"style":566},[971],{"type":431,"value":972},"{",{"type":426,"tag":553,"props":974,"children":975},{"style":684},[976],{"type":431,"value":977},"days_until_due",{"type":426,"tag":553,"props":979,"children":980},{"style":566},[981],{"type":431,"value":982},"}",{"type":426,"tag":553,"props":984,"children":985},{"style":572},[986],{"type":431,"value":987}," day",{"type":426,"tag":553,"props":989,"children":990},{"style":566},[991],{"type":431,"value":972},{"type":426,"tag":553,"props":993,"children":994},{"style":572},[995],{"type":431,"value":996},"'s'",{"type":426,"tag":553,"props":998,"children":999},{"style":795},[1000],{"type":431,"value":1001}," if",{"type":426,"tag":553,"props":1003,"children":1004},{"style":684},[1005],{"type":431,"value":930},{"type":426,"tag":553,"props":1007,"children":1008},{"style":795},[1009],{"type":431,"value":935},{"type":426,"tag":553,"props":1011,"children":1012},{"style":566},[1013],{"type":431,"value":1014}," 1",{"type":426,"tag":553,"props":1016,"children":1017},{"style":795},[1018],{"type":431,"value":1019}," else",{"type":426,"tag":553,"props":1021,"children":1022},{"style":572},[1023],{"type":431,"value":1024}," ''",{"type":426,"tag":553,"props":1026,"children":1027},{"style":566},[1028],{"type":431,"value":982},{"type":426,"tag":553,"props":1030,"children":1031},{"style":572},[1032],{"type":431,"value":1033},"*.\"\n",{"type":426,"tag":553,"props":1035,"children":1037},{"class":555,"line":1036},8,[1038,1043,1047],{"type":426,"tag":553,"props":1039,"children":1040},{"style":684},[1041],{"type":431,"value":1042},"        action ",{"type":426,"tag":553,"props":1044,"children":1045},{"style":795},[1046],{"type":431,"value":957},{"type":426,"tag":553,"props":1048,"children":1049},{"style":572},[1050],{"type":431,"value":1051}," \"Please pay before the due date to avoid a late fee.\"\n",{"type":426,"tag":553,"props":1053,"children":1055},{"class":555,"line":1054},9,[1056,1061,1065,1070,1074],{"type":426,"tag":553,"props":1057,"children":1058},{"style":795},[1059],{"type":431,"value":1060},"    elif",{"type":426,"tag":553,"props":1062,"children":1063},{"style":684},[1064],{"type":431,"value":930},{"type":426,"tag":553,"props":1066,"children":1067},{"style":795},[1068],{"type":431,"value":1069},"==",{"type":426,"tag":553,"props":1071,"children":1072},{"style":566},[1073],{"type":431,"value":940},{"type":426,"tag":553,"props":1075,"children":1076},{"style":684},[1077],{"type":431,"value":909},{"type":426,"tag":553,"props":1079,"children":1081},{"class":555,"line":1080},10,[1082,1086,1090],{"type":426,"tag":553,"props":1083,"children":1084},{"style":684},[1085],{"type":431,"value":952},{"type":426,"tag":553,"props":1087,"children":1088},{"style":795},[1089],{"type":431,"value":957},{"type":426,"tag":553,"props":1091,"children":1092},{"style":572},[1093],{"type":431,"value":1094}," \"Fee is *due TODAY*.\"\n",{"type":426,"tag":553,"props":1096,"children":1098},{"class":555,"line":1097},11,[1099,1103,1107],{"type":426,"tag":553,"props":1100,"children":1101},{"style":684},[1102],{"type":431,"value":1042},{"type":426,"tag":553,"props":1104,"children":1105},{"style":795},[1106],{"type":431,"value":957},{"type":426,"tag":553,"props":1108,"children":1109},{"style":572},[1110],{"type":431,"value":1111}," \"Please complete payment today.\"\n",{"type":426,"tag":553,"props":1113,"children":1115},{"class":555,"line":1114},12,[1116,1121],{"type":426,"tag":553,"props":1117,"children":1118},{"style":795},[1119],{"type":431,"value":1120},"    else",{"type":426,"tag":553,"props":1122,"children":1123},{"style":684},[1124],{"type":431,"value":909},{"type":426,"tag":553,"props":1126,"children":1128},{"class":555,"line":1127},13,[1129,1133,1137,1141,1146,1151,1156,1160],{"type":426,"tag":553,"props":1130,"children":1131},{"style":684},[1132],{"type":431,"value":952},{"type":426,"tag":553,"props":1134,"children":1135},{"style":795},[1136],{"type":431,"value":957},{"type":426,"tag":553,"props":1138,"children":1139},{"style":795},[1140],{"type":431,"value":962},{"type":426,"tag":553,"props":1142,"children":1143},{"style":572},[1144],{"type":431,"value":1145},"\"Fee is *",{"type":426,"tag":553,"props":1147,"children":1148},{"style":566},[1149],{"type":431,"value":1150},"{abs",{"type":426,"tag":553,"props":1152,"children":1153},{"style":684},[1154],{"type":431,"value":1155},"(days_until_due)",{"type":426,"tag":553,"props":1157,"children":1158},{"style":566},[1159],{"type":431,"value":982},{"type":426,"tag":553,"props":1161,"children":1162},{"style":572},[1163],{"type":431,"value":1164}," days overdue*.\"\n",{"type":426,"tag":553,"props":1166,"children":1168},{"class":555,"line":1167},14,[1169,1173,1177],{"type":426,"tag":553,"props":1170,"children":1171},{"style":684},[1172],{"type":431,"value":1042},{"type":426,"tag":553,"props":1174,"children":1175},{"style":795},[1176],{"type":431,"value":957},{"type":426,"tag":553,"props":1178,"children":1179},{"style":572},[1180],{"type":431,"value":1181}," \"Please pay immediately to avoid suspension of services.\"\n",{"type":426,"tag":553,"props":1183,"children":1185},{"class":555,"line":1184},15,[1186],{"type":426,"tag":553,"props":1187,"children":1188},{"style":684},[1189],{"type":431,"value":917},{"type":426,"tag":553,"props":1191,"children":1193},{"class":555,"line":1192},16,[1194,1199,1203],{"type":426,"tag":553,"props":1195,"children":1196},{"style":684},[1197],{"type":431,"value":1198},"    message ",{"type":426,"tag":553,"props":1200,"children":1201},{"style":795},[1202],{"type":431,"value":957},{"type":426,"tag":553,"props":1204,"children":1205},{"style":684},[1206],{"type":431,"value":1207}," (\n",{"type":426,"tag":553,"props":1209,"children":1211},{"class":555,"line":1210},17,[1212,1217,1222,1226,1231,1236,1241,1246],{"type":426,"tag":553,"props":1213,"children":1214},{"style":795},[1215],{"type":431,"value":1216},"        f",{"type":426,"tag":553,"props":1218,"children":1219},{"style":572},[1220],{"type":431,"value":1221},"\"💰 Fee Reminder — ",{"type":426,"tag":553,"props":1223,"children":1224},{"style":566},[1225],{"type":431,"value":972},{"type":426,"tag":553,"props":1227,"children":1228},{"style":684},[1229],{"type":431,"value":1230},"student[",{"type":426,"tag":553,"props":1232,"children":1233},{"style":572},[1234],{"type":431,"value":1235},"'school_name'",{"type":426,"tag":553,"props":1237,"children":1238},{"style":684},[1239],{"type":431,"value":1240},"]",{"type":426,"tag":553,"props":1242,"children":1243},{"style":566},[1244],{"type":431,"value":1245},"}\\n\\n",{"type":426,"tag":553,"props":1247,"children":1248},{"style":572},[1249],{"type":431,"value":1250},"\"\n",{"type":426,"tag":553,"props":1252,"children":1254},{"class":555,"line":1253},18,[1255,1259,1264,1268,1273,1278,1282,1286,1291,1296],{"type":426,"tag":553,"props":1256,"children":1257},{"style":795},[1258],{"type":431,"value":1216},{"type":426,"tag":553,"props":1260,"children":1261},{"style":572},[1262],{"type":431,"value":1263},"\"Dear ",{"type":426,"tag":553,"props":1265,"children":1266},{"style":566},[1267],{"type":431,"value":972},{"type":426,"tag":553,"props":1269,"children":1270},{"style":684},[1271],{"type":431,"value":1272},"parent[",{"type":426,"tag":553,"props":1274,"children":1275},{"style":572},[1276],{"type":431,"value":1277},"'name'",{"type":426,"tag":553,"props":1279,"children":1280},{"style":684},[1281],{"type":431,"value":1240},{"type":426,"tag":553,"props":1283,"children":1284},{"style":566},[1285],{"type":431,"value":982},{"type":426,"tag":553,"props":1287,"children":1288},{"style":572},[1289],{"type":431,"value":1290},",",{"type":426,"tag":553,"props":1292,"children":1293},{"style":566},[1294],{"type":431,"value":1295},"\\n\\n",{"type":426,"tag":553,"props":1297,"children":1298},{"style":572},[1299],{"type":431,"value":1250},{"type":426,"tag":553,"props":1301,"children":1303},{"class":555,"line":1302},19,[1304,1308,1313,1317,1321,1325,1329,1333,1338,1342,1346,1351,1355,1359,1364,1368],{"type":426,"tag":553,"props":1305,"children":1306},{"style":795},[1307],{"type":431,"value":1216},{"type":426,"tag":553,"props":1309,"children":1310},{"style":572},[1311],{"type":431,"value":1312},"\"This is a reminder for *",{"type":426,"tag":553,"props":1314,"children":1315},{"style":566},[1316],{"type":431,"value":972},{"type":426,"tag":553,"props":1318,"children":1319},{"style":684},[1320],{"type":431,"value":1230},{"type":426,"tag":553,"props":1322,"children":1323},{"style":572},[1324],{"type":431,"value":1277},{"type":426,"tag":553,"props":1326,"children":1327},{"style":684},[1328],{"type":431,"value":1240},{"type":426,"tag":553,"props":1330,"children":1331},{"style":566},[1332],{"type":431,"value":982},{"type":426,"tag":553,"props":1334,"children":1335},{"style":572},[1336],{"type":431,"value":1337},"* (",{"type":426,"tag":553,"props":1339,"children":1340},{"style":566},[1341],{"type":431,"value":972},{"type":426,"tag":553,"props":1343,"children":1344},{"style":684},[1345],{"type":431,"value":1230},{"type":426,"tag":553,"props":1347,"children":1348},{"style":572},[1349],{"type":431,"value":1350},"'class'",{"type":426,"tag":553,"props":1352,"children":1353},{"style":684},[1354],{"type":431,"value":1240},{"type":426,"tag":553,"props":1356,"children":1357},{"style":566},[1358],{"type":431,"value":982},{"type":426,"tag":553,"props":1360,"children":1361},{"style":572},[1362],{"type":431,"value":1363},"):",{"type":426,"tag":553,"props":1365,"children":1366},{"style":566},[1367],{"type":431,"value":1295},{"type":426,"tag":553,"props":1369,"children":1370},{"style":572},[1371],{"type":431,"value":1250},{"type":426,"tag":553,"props":1373,"children":1375},{"class":555,"line":1374},20,[1376,1380,1385,1389,1394,1399,1403,1408],{"type":426,"tag":553,"props":1377,"children":1378},{"style":795},[1379],{"type":431,"value":1216},{"type":426,"tag":553,"props":1381,"children":1382},{"style":572},[1383],{"type":431,"value":1384},"\"Fee type: ",{"type":426,"tag":553,"props":1386,"children":1387},{"style":566},[1388],{"type":431,"value":972},{"type":426,"tag":553,"props":1390,"children":1391},{"style":684},[1392],{"type":431,"value":1393},"fee[",{"type":426,"tag":553,"props":1395,"children":1396},{"style":572},[1397],{"type":431,"value":1398},"'type'",{"type":426,"tag":553,"props":1400,"children":1401},{"style":684},[1402],{"type":431,"value":1240},{"type":426,"tag":553,"props":1404,"children":1405},{"style":566},[1406],{"type":431,"value":1407},"}\\n",{"type":426,"tag":553,"props":1409,"children":1410},{"style":572},[1411],{"type":431,"value":1250},{"type":426,"tag":553,"props":1413,"children":1415},{"class":555,"line":1414},21,[1416,1420,1425,1429,1433,1438,1442,1446,1451,1455,1460,1464,1469,1473],{"type":426,"tag":553,"props":1417,"children":1418},{"style":795},[1419],{"type":431,"value":1216},{"type":426,"tag":553,"props":1421,"children":1422},{"style":572},[1423],{"type":431,"value":1424},"\"Amount: ",{"type":426,"tag":553,"props":1426,"children":1427},{"style":566},[1428],{"type":431,"value":972},{"type":426,"tag":553,"props":1430,"children":1431},{"style":684},[1432],{"type":431,"value":1393},{"type":426,"tag":553,"props":1434,"children":1435},{"style":572},[1436],{"type":431,"value":1437},"'currency'",{"type":426,"tag":553,"props":1439,"children":1440},{"style":684},[1441],{"type":431,"value":1240},{"type":426,"tag":553,"props":1443,"children":1444},{"style":566},[1445],{"type":431,"value":982},{"type":426,"tag":553,"props":1447,"children":1448},{"style":566},[1449],{"type":431,"value":1450}," {",{"type":426,"tag":553,"props":1452,"children":1453},{"style":684},[1454],{"type":431,"value":1393},{"type":426,"tag":553,"props":1456,"children":1457},{"style":572},[1458],{"type":431,"value":1459},"'amount'",{"type":426,"tag":553,"props":1461,"children":1462},{"style":684},[1463],{"type":431,"value":1240},{"type":426,"tag":553,"props":1465,"children":1466},{"style":795},[1467],{"type":431,"value":1468},":,",{"type":426,"tag":553,"props":1470,"children":1471},{"style":566},[1472],{"type":431,"value":1407},{"type":426,"tag":553,"props":1474,"children":1475},{"style":572},[1476],{"type":431,"value":1250},{"type":426,"tag":553,"props":1478,"children":1480},{"class":555,"line":1479},22,[1481,1485,1490,1494,1498,1503,1507,1511],{"type":426,"tag":553,"props":1482,"children":1483},{"style":795},[1484],{"type":431,"value":1216},{"type":426,"tag":553,"props":1486,"children":1487},{"style":572},[1488],{"type":431,"value":1489},"\"Due date: ",{"type":426,"tag":553,"props":1491,"children":1492},{"style":566},[1493],{"type":431,"value":972},{"type":426,"tag":553,"props":1495,"children":1496},{"style":684},[1497],{"type":431,"value":1393},{"type":426,"tag":553,"props":1499,"children":1500},{"style":572},[1501],{"type":431,"value":1502},"'due_date'",{"type":426,"tag":553,"props":1504,"children":1505},{"style":684},[1506],{"type":431,"value":1240},{"type":426,"tag":553,"props":1508,"children":1509},{"style":566},[1510],{"type":431,"value":1245},{"type":426,"tag":553,"props":1512,"children":1513},{"style":572},[1514],{"type":431,"value":1250},{"type":426,"tag":553,"props":1516,"children":1518},{"class":555,"line":1517},23,[1519,1523,1528,1532,1537,1541,1545,1550,1554],{"type":426,"tag":553,"props":1520,"children":1521},{"style":795},[1522],{"type":431,"value":1216},{"type":426,"tag":553,"props":1524,"children":1525},{"style":572},[1526],{"type":431,"value":1527},"\"",{"type":426,"tag":553,"props":1529,"children":1530},{"style":566},[1531],{"type":431,"value":972},{"type":426,"tag":553,"props":1533,"children":1534},{"style":684},[1535],{"type":431,"value":1536},"urgency_message",{"type":426,"tag":553,"props":1538,"children":1539},{"style":566},[1540],{"type":431,"value":982},{"type":426,"tag":553,"props":1542,"children":1543},{"style":566},[1544],{"type":431,"value":1450},{"type":426,"tag":553,"props":1546,"children":1547},{"style":684},[1548],{"type":431,"value":1549},"action",{"type":426,"tag":553,"props":1551,"children":1552},{"style":566},[1553],{"type":431,"value":1245},{"type":426,"tag":553,"props":1555,"children":1556},{"style":572},[1557],{"type":431,"value":1250},{"type":426,"tag":553,"props":1559,"children":1561},{"class":555,"line":1560},24,[1562,1566,1571,1575,1579,1584,1588,1592],{"type":426,"tag":553,"props":1563,"children":1564},{"style":795},[1565],{"type":431,"value":1216},{"type":426,"tag":553,"props":1567,"children":1568},{"style":572},[1569],{"type":431,"value":1570},"\"Pay online: ",{"type":426,"tag":553,"props":1572,"children":1573},{"style":566},[1574],{"type":431,"value":972},{"type":426,"tag":553,"props":1576,"children":1577},{"style":684},[1578],{"type":431,"value":1393},{"type":426,"tag":553,"props":1580,"children":1581},{"style":572},[1582],{"type":431,"value":1583},"'payment_url'",{"type":426,"tag":553,"props":1585,"children":1586},{"style":684},[1587],{"type":431,"value":1240},{"type":426,"tag":553,"props":1589,"children":1590},{"style":566},[1591],{"type":431,"value":1407},{"type":426,"tag":553,"props":1593,"children":1594},{"style":572},[1595],{"type":431,"value":1250},{"type":426,"tag":553,"props":1597,"children":1599},{"class":555,"line":1598},25,[1600,1604,1609,1613,1617,1622,1626,1630],{"type":426,"tag":553,"props":1601,"children":1602},{"style":795},[1603],{"type":431,"value":1216},{"type":426,"tag":553,"props":1605,"children":1606},{"style":572},[1607],{"type":431,"value":1608},"\"Questions? Call: ",{"type":426,"tag":553,"props":1610,"children":1611},{"style":566},[1612],{"type":431,"value":972},{"type":426,"tag":553,"props":1614,"children":1615},{"style":684},[1616],{"type":431,"value":1230},{"type":426,"tag":553,"props":1618,"children":1619},{"style":572},[1620],{"type":431,"value":1621},"'school_phone'",{"type":426,"tag":553,"props":1623,"children":1624},{"style":684},[1625],{"type":431,"value":1240},{"type":426,"tag":553,"props":1627,"children":1628},{"style":566},[1629],{"type":431,"value":982},{"type":426,"tag":553,"props":1631,"children":1632},{"style":572},[1633],{"type":431,"value":1250},{"type":426,"tag":553,"props":1635,"children":1637},{"class":555,"line":1636},26,[1638],{"type":426,"tag":553,"props":1639,"children":1640},{"style":684},[1641],{"type":431,"value":1642},"    )\n",{"type":426,"tag":553,"props":1644,"children":1646},{"class":555,"line":1645},27,[1647],{"type":426,"tag":553,"props":1648,"children":1649},{"style":684},[1650],{"type":431,"value":917},{"type":426,"tag":553,"props":1652,"children":1654},{"class":555,"line":1653},28,[1655,1660],{"type":426,"tag":553,"props":1656,"children":1657},{"style":795},[1658],{"type":431,"value":1659},"    return",{"type":426,"tag":553,"props":1661,"children":1662},{"style":684},[1663],{"type":431,"value":1664}," requests.post(\n",{"type":426,"tag":553,"props":1666,"children":1668},{"class":555,"line":1667},29,[1669,1674],{"type":426,"tag":553,"props":1670,"children":1671},{"style":572},[1672],{"type":431,"value":1673},"        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message'",{"type":426,"tag":553,"props":1675,"children":1676},{"style":684},[1677],{"type":431,"value":710},{"type":426,"tag":553,"props":1679,"children":1681},{"class":555,"line":1680},30,[1682,1688,1692,1696,1701,1705,1710,1715,1719,1724,1728,1733],{"type":426,"tag":553,"props":1683,"children":1685},{"style":1684},"--shiki-default:#FFAB70",[1686],{"type":431,"value":1687},"        headers",{"type":426,"tag":553,"props":1689,"children":1690},{"style":795},[1691],{"type":431,"value":957},{"type":426,"tag":553,"props":1693,"children":1694},{"style":684},[1695],{"type":431,"value":972},{"type":426,"tag":553,"props":1697,"children":1698},{"style":572},[1699],{"type":431,"value":1700},"'Authorization'",{"type":426,"tag":553,"props":1702,"children":1703},{"style":684},[1704],{"type":431,"value":700},{"type":426,"tag":553,"props":1706,"children":1707},{"style":795},[1708],{"type":431,"value":1709},"f",{"type":426,"tag":553,"props":1711,"children":1712},{"style":572},[1713],{"type":431,"value":1714},"'Bearer ",{"type":426,"tag":553,"props":1716,"children":1717},{"style":566},[1718],{"type":431,"value":972},{"type":426,"tag":553,"props":1720,"children":1721},{"style":684},[1722],{"type":431,"value":1723},"api_key",{"type":426,"tag":553,"props":1725,"children":1726},{"style":566},[1727],{"type":431,"value":982},{"type":426,"tag":553,"props":1729,"children":1730},{"style":572},[1731],{"type":431,"value":1732},"'",{"type":426,"tag":553,"props":1734,"children":1735},{"style":684},[1736],{"type":431,"value":1737},"},\n",{"type":426,"tag":553,"props":1739,"children":1741},{"class":555,"line":1740},31,[1742,1747,1751,1755,1760,1765,1770,1775,1780],{"type":426,"tag":553,"props":1743,"children":1744},{"style":1684},[1745],{"type":431,"value":1746},"        json",{"type":426,"tag":553,"props":1748,"children":1749},{"style":795},[1750],{"type":431,"value":957},{"type":426,"tag":553,"props":1752,"children":1753},{"style":684},[1754],{"type":431,"value":972},{"type":426,"tag":553,"props":1756,"children":1757},{"style":572},[1758],{"type":431,"value":1759},"'number'",{"type":426,"tag":553,"props":1761,"children":1762},{"style":684},[1763],{"type":431,"value":1764},": parent[",{"type":426,"tag":553,"props":1766,"children":1767},{"style":572},[1768],{"type":431,"value":1769},"'phone'",{"type":426,"tag":553,"props":1771,"children":1772},{"style":684},[1773],{"type":431,"value":1774},"], ",{"type":426,"tag":553,"props":1776,"children":1777},{"style":572},[1778],{"type":431,"value":1779},"'message'",{"type":426,"tag":553,"props":1781,"children":1782},{"style":684},[1783],{"type":431,"value":1784},": message}\n",{"type":426,"tag":553,"props":1786,"children":1788},{"class":555,"line":1787},32,[1789],{"type":426,"tag":553,"props":1790,"children":1791},{"style":684},[1792],{"type":431,"value":1793},"    ).json()\n",{"type":426,"tag":553,"props":1795,"children":1797},{"class":555,"line":1796},33,[1798],{"type":426,"tag":553,"props":1799,"children":1800},{"emptyLinePlaceholder":831},[1801],{"type":431,"value":834},{"type":426,"tag":553,"props":1803,"children":1805},{"class":555,"line":1804},34,[1806],{"type":426,"tag":553,"props":1807,"children":1808},{"emptyLinePlaceholder":831},[1809],{"type":431,"value":834},{"type":426,"tag":553,"props":1811,"children":1813},{"class":555,"line":1812},35,[1814,1818,1823,1828,1832,1836,1841],{"type":426,"tag":553,"props":1815,"children":1816},{"style":795},[1817],{"type":431,"value":842},{"type":426,"tag":553,"props":1819,"children":1820},{"style":560},[1821],{"type":431,"value":1822}," run_daily_fee_reminders",{"type":426,"tag":553,"props":1824,"children":1825},{"style":684},[1826],{"type":431,"value":1827},"(db, api_key: ",{"type":426,"tag":553,"props":1829,"children":1830},{"style":566},[1831],{"type":431,"value":895},{"type":426,"tag":553,"props":1833,"children":1834},{"style":684},[1835],{"type":431,"value":900},{"type":426,"tag":553,"props":1837,"children":1838},{"style":566},[1839],{"type":431,"value":1840},"None",{"type":426,"tag":553,"props":1842,"children":1843},{"style":684},[1844],{"type":431,"value":909},{"type":426,"tag":553,"props":1846,"children":1848},{"class":555,"line":1847},36,[1849],{"type":426,"tag":553,"props":1850,"children":1851},{"style":572},[1852],{"type":431,"value":1853},"    \"\"\"Send fee reminders for upcoming and overdue fees.\"\"\"\n",{"type":426,"tag":553,"props":1855,"children":1857},{"class":555,"line":1856},37,[1858,1863,1867],{"type":426,"tag":553,"props":1859,"children":1860},{"style":684},[1861],{"type":431,"value":1862},"    today ",{"type":426,"tag":553,"props":1864,"children":1865},{"style":795},[1866],{"type":431,"value":957},{"type":426,"tag":553,"props":1868,"children":1869},{"style":684},[1870],{"type":431,"value":1871}," date.today()\n",{"type":426,"tag":553,"props":1873,"children":1875},{"class":555,"line":1874},38,[1876],{"type":426,"tag":553,"props":1877,"children":1878},{"style":684},[1879],{"type":431,"value":917},{"type":426,"tag":553,"props":1881,"children":1883},{"class":555,"line":1882},39,[1884,1889,1893,1898,1903,1908,1913,1917,1922,1926,1931,1935,1940,1944,1948,1952,1956,1960,1964,1968,1973],{"type":426,"tag":553,"props":1885,"children":1886},{"style":684},[1887],{"type":431,"value":1888},"    reminder_offsets ",{"type":426,"tag":553,"props":1890,"children":1891},{"style":795},[1892],{"type":431,"value":957},{"type":426,"tag":553,"props":1894,"children":1895},{"style":684},[1896],{"type":431,"value":1897}," [",{"type":426,"tag":553,"props":1899,"children":1900},{"style":566},[1901],{"type":431,"value":1902},"7",{"type":426,"tag":553,"props":1904,"children":1905},{"style":684},[1906],{"type":431,"value":1907},", ",{"type":426,"tag":553,"props":1909,"children":1910},{"style":566},[1911],{"type":431,"value":1912},"3",{"type":426,"tag":553,"props":1914,"children":1915},{"style":684},[1916],{"type":431,"value":1907},{"type":426,"tag":553,"props":1918,"children":1919},{"style":566},[1920],{"type":431,"value":1921},"1",{"type":426,"tag":553,"props":1923,"children":1924},{"style":684},[1925],{"type":431,"value":1907},{"type":426,"tag":553,"props":1927,"children":1928},{"style":566},[1929],{"type":431,"value":1930},"0",{"type":426,"tag":553,"props":1932,"children":1933},{"style":684},[1934],{"type":431,"value":1907},{"type":426,"tag":553,"props":1936,"children":1937},{"style":795},[1938],{"type":431,"value":1939},"-",{"type":426,"tag":553,"props":1941,"children":1942},{"style":566},[1943],{"type":431,"value":1921},{"type":426,"tag":553,"props":1945,"children":1946},{"style":684},[1947],{"type":431,"value":1907},{"type":426,"tag":553,"props":1949,"children":1950},{"style":795},[1951],{"type":431,"value":1939},{"type":426,"tag":553,"props":1953,"children":1954},{"style":566},[1955],{"type":431,"value":1912},{"type":426,"tag":553,"props":1957,"children":1958},{"style":684},[1959],{"type":431,"value":1907},{"type":426,"tag":553,"props":1961,"children":1962},{"style":795},[1963],{"type":431,"value":1939},{"type":426,"tag":553,"props":1965,"children":1966},{"style":566},[1967],{"type":431,"value":1902},{"type":426,"tag":553,"props":1969,"children":1970},{"style":684},[1971],{"type":431,"value":1972},"]  ",{"type":426,"tag":553,"props":1974,"children":1976},{"style":1975},"--shiki-default:#6A737D",[1977],{"type":431,"value":1978},"# Days relative to due date\n",{"type":426,"tag":553,"props":1980,"children":1982},{"class":555,"line":1981},40,[1983],{"type":426,"tag":553,"props":1984,"children":1985},{"style":684},[1986],{"type":431,"value":917},{"type":426,"tag":553,"props":1988,"children":1990},{"class":555,"line":1989},41,[1991,1996,2001,2006],{"type":426,"tag":553,"props":1992,"children":1993},{"style":795},[1994],{"type":431,"value":1995},"    for",{"type":426,"tag":553,"props":1997,"children":1998},{"style":684},[1999],{"type":431,"value":2000}," offset ",{"type":426,"tag":553,"props":2002,"children":2003},{"style":795},[2004],{"type":431,"value":2005},"in",{"type":426,"tag":553,"props":2007,"children":2008},{"style":684},[2009],{"type":431,"value":2010}," reminder_offsets:\n",{"type":426,"tag":553,"props":2012,"children":2014},{"class":555,"line":2013},42,[2015,2020,2024,2029,2034,2039,2044,2048],{"type":426,"tag":553,"props":2016,"children":2017},{"style":684},[2018],{"type":431,"value":2019},"        target_date ",{"type":426,"tag":553,"props":2021,"children":2022},{"style":795},[2023],{"type":431,"value":957},{"type":426,"tag":553,"props":2025,"children":2026},{"style":684},[2027],{"type":431,"value":2028}," today ",{"type":426,"tag":553,"props":2030,"children":2031},{"style":795},[2032],{"type":431,"value":2033},"+",{"type":426,"tag":553,"props":2035,"children":2036},{"style":684},[2037],{"type":431,"value":2038}," timedelta(",{"type":426,"tag":553,"props":2040,"children":2041},{"style":1684},[2042],{"type":431,"value":2043},"days",{"type":426,"tag":553,"props":2045,"children":2046},{"style":795},[2047],{"type":431,"value":957},{"type":426,"tag":553,"props":2049,"children":2050},{"style":684},[2051],{"type":431,"value":2052},"offset)\n",{"type":426,"tag":553,"props":2054,"children":2056},{"class":555,"line":2055},43,[2057],{"type":426,"tag":553,"props":2058,"children":2059},{"style":684},[2060],{"type":431,"value":2061},"        \n",{"type":426,"tag":553,"props":2063,"children":2065},{"class":555,"line":2064},44,[2066,2071,2075,2080],{"type":426,"tag":553,"props":2067,"children":2068},{"style":684},[2069],{"type":431,"value":2070},"        fees_due ",{"type":426,"tag":553,"props":2072,"children":2073},{"style":795},[2074],{"type":431,"value":957},{"type":426,"tag":553,"props":2076,"children":2077},{"style":684},[2078],{"type":431,"value":2079}," db.query(",{"type":426,"tag":553,"props":2081,"children":2082},{"style":572},[2083],{"type":431,"value":2084},"\"\"\"\n",{"type":426,"tag":553,"props":2086,"children":2088},{"class":555,"line":2087},45,[2089],{"type":426,"tag":553,"props":2090,"children":2091},{"style":572},[2092],{"type":431,"value":2093},"            SELECT f.*, s.name as student_name, s.class, \n",{"type":426,"tag":553,"props":2095,"children":2097},{"class":555,"line":2096},46,[2098],{"type":426,"tag":553,"props":2099,"children":2100},{"style":572},[2101],{"type":431,"value":2102},"                   p.name as parent_name, p.phone, s.school_name, s.school_phone\n",{"type":426,"tag":553,"props":2104,"children":2106},{"class":555,"line":2105},47,[2107],{"type":426,"tag":553,"props":2108,"children":2109},{"style":572},[2110],{"type":431,"value":2111},"            FROM fees f\n",{"type":426,"tag":553,"props":2113,"children":2115},{"class":555,"line":2114},48,[2116],{"type":426,"tag":553,"props":2117,"children":2118},{"style":572},[2119],{"type":431,"value":2120},"            JOIN students s ON f.student_id = s.id\n",{"type":426,"tag":553,"props":2122,"children":2124},{"class":555,"line":2123},49,[2125],{"type":426,"tag":553,"props":2126,"children":2127},{"style":572},[2128],{"type":431,"value":2129},"            JOIN parents p ON s.parent_id = p.id\n",{"type":426,"tag":553,"props":2131,"children":2133},{"class":555,"line":2132},50,[2134,2139,2144],{"type":426,"tag":553,"props":2135,"children":2136},{"style":572},[2137],{"type":431,"value":2138},"            WHERE f.due_date = ",{"type":426,"tag":553,"props":2140,"children":2141},{"style":566},[2142],{"type":431,"value":2143},"%s",{"type":426,"tag":553,"props":2145,"children":2146},{"style":572},[2147],{"type":431,"value":2148}," AND f.status = 'unpaid'\n",{"type":426,"tag":553,"props":2150,"children":2152},{"class":555,"line":2151},51,[2153],{"type":426,"tag":553,"props":2154,"children":2155},{"style":572},[2156],{"type":431,"value":2157},"              AND p.whatsapp_opted_in = TRUE\n",{"type":426,"tag":553,"props":2159,"children":2161},{"class":555,"line":2160},52,[2162,2167],{"type":426,"tag":553,"props":2163,"children":2164},{"style":572},[2165],{"type":431,"value":2166},"        \"\"\"",{"type":426,"tag":553,"props":2168,"children":2169},{"style":684},[2170],{"type":431,"value":2171},", [target_date])\n",{"type":426,"tag":553,"props":2173,"children":2175},{"class":555,"line":2174},53,[2176],{"type":426,"tag":553,"props":2177,"children":2178},{"style":684},[2179],{"type":431,"value":2061},{"type":426,"tag":553,"props":2181,"children":2183},{"class":555,"line":2182},54,[2184,2189,2194,2198],{"type":426,"tag":553,"props":2185,"children":2186},{"style":795},[2187],{"type":431,"value":2188},"        for",{"type":426,"tag":553,"props":2190,"children":2191},{"style":684},[2192],{"type":431,"value":2193}," fee ",{"type":426,"tag":553,"props":2195,"children":2196},{"style":795},[2197],{"type":431,"value":2005},{"type":426,"tag":553,"props":2199,"children":2200},{"style":684},[2201],{"type":431,"value":2202}," fees_due:\n",{"type":426,"tag":553,"props":2204,"children":2206},{"class":555,"line":2205},55,[2207,2212,2216,2221,2225,2230,2234],{"type":426,"tag":553,"props":2208,"children":2209},{"style":684},[2210],{"type":431,"value":2211},"            days_until ",{"type":426,"tag":553,"props":2213,"children":2214},{"style":795},[2215],{"type":431,"value":957},{"type":426,"tag":553,"props":2217,"children":2218},{"style":684},[2219],{"type":431,"value":2220}," (fee[",{"type":426,"tag":553,"props":2222,"children":2223},{"style":572},[2224],{"type":431,"value":1502},{"type":426,"tag":553,"props":2226,"children":2227},{"style":684},[2228],{"type":431,"value":2229},"] ",{"type":426,"tag":553,"props":2231,"children":2232},{"style":795},[2233],{"type":431,"value":1939},{"type":426,"tag":553,"props":2235,"children":2236},{"style":684},[2237],{"type":431,"value":2238}," today).days\n",{"type":426,"tag":553,"props":2240,"children":2242},{"class":555,"line":2241},56,[2243],{"type":426,"tag":553,"props":2244,"children":2245},{"style":684},[2246],{"type":431,"value":2247},"            send_fee_reminder(\n",{"type":426,"tag":553,"props":2249,"children":2251},{"class":555,"line":2250},57,[2252,2257,2261,2265,2269,2274,2279,2283,2287,2291,2295],{"type":426,"tag":553,"props":2253,"children":2254},{"style":1684},[2255],{"type":431,"value":2256},"                parent",{"type":426,"tag":553,"props":2258,"children":2259},{"style":795},[2260],{"type":431,"value":957},{"type":426,"tag":553,"props":2262,"children":2263},{"style":684},[2264],{"type":431,"value":972},{"type":426,"tag":553,"props":2266,"children":2267},{"style":572},[2268],{"type":431,"value":1277},{"type":426,"tag":553,"props":2270,"children":2271},{"style":684},[2272],{"type":431,"value":2273},": fee[",{"type":426,"tag":553,"props":2275,"children":2276},{"style":572},[2277],{"type":431,"value":2278},"'parent_name'",{"type":426,"tag":553,"props":2280,"children":2281},{"style":684},[2282],{"type":431,"value":1774},{"type":426,"tag":553,"props":2284,"children":2285},{"style":572},[2286],{"type":431,"value":1769},{"type":426,"tag":553,"props":2288,"children":2289},{"style":684},[2290],{"type":431,"value":2273},{"type":426,"tag":553,"props":2292,"children":2293},{"style":572},[2294],{"type":431,"value":1769},{"type":426,"tag":553,"props":2296,"children":2297},{"style":684},[2298],{"type":431,"value":2299},"]},\n",{"type":426,"tag":553,"props":2301,"children":2303},{"class":555,"line":2302},58,[2304,2309,2313,2317,2321,2325,2330,2334,2338,2342,2346],{"type":426,"tag":553,"props":2305,"children":2306},{"style":1684},[2307],{"type":431,"value":2308},"                student",{"type":426,"tag":553,"props":2310,"children":2311},{"style":795},[2312],{"type":431,"value":957},{"type":426,"tag":553,"props":2314,"children":2315},{"style":684},[2316],{"type":431,"value":972},{"type":426,"tag":553,"props":2318,"children":2319},{"style":572},[2320],{"type":431,"value":1277},{"type":426,"tag":553,"props":2322,"children":2323},{"style":684},[2324],{"type":431,"value":2273},{"type":426,"tag":553,"props":2326,"children":2327},{"style":572},[2328],{"type":431,"value":2329},"'student_name'",{"type":426,"tag":553,"props":2331,"children":2332},{"style":684},[2333],{"type":431,"value":1774},{"type":426,"tag":553,"props":2335,"children":2336},{"style":572},[2337],{"type":431,"value":1350},{"type":426,"tag":553,"props":2339,"children":2340},{"style":684},[2341],{"type":431,"value":2273},{"type":426,"tag":553,"props":2343,"children":2344},{"style":572},[2345],{"type":431,"value":1350},{"type":426,"tag":553,"props":2347,"children":2348},{"style":684},[2349],{"type":431,"value":2350},"], \n",{"type":426,"tag":553,"props":2352,"children":2354},{"class":555,"line":2353},59,[2355,2360,2364,2368,2372,2376,2380,2384],{"type":426,"tag":553,"props":2356,"children":2357},{"style":572},[2358],{"type":431,"value":2359},"                        'school_name'",{"type":426,"tag":553,"props":2361,"children":2362},{"style":684},[2363],{"type":431,"value":2273},{"type":426,"tag":553,"props":2365,"children":2366},{"style":572},[2367],{"type":431,"value":1235},{"type":426,"tag":553,"props":2369,"children":2370},{"style":684},[2371],{"type":431,"value":1774},{"type":426,"tag":553,"props":2373,"children":2374},{"style":572},[2375],{"type":431,"value":1621},{"type":426,"tag":553,"props":2377,"children":2378},{"style":684},[2379],{"type":431,"value":2273},{"type":426,"tag":553,"props":2381,"children":2382},{"style":572},[2383],{"type":431,"value":1621},{"type":426,"tag":553,"props":2385,"children":2386},{"style":684},[2387],{"type":431,"value":2299},{"type":426,"tag":553,"props":2389,"children":2391},{"class":555,"line":2390},60,[2392,2397,2401,2405,2409,2413,2418,2422,2426,2430,2434],{"type":426,"tag":553,"props":2393,"children":2394},{"style":1684},[2395],{"type":431,"value":2396},"                fee",{"type":426,"tag":553,"props":2398,"children":2399},{"style":795},[2400],{"type":431,"value":957},{"type":426,"tag":553,"props":2402,"children":2403},{"style":684},[2404],{"type":431,"value":972},{"type":426,"tag":553,"props":2406,"children":2407},{"style":572},[2408],{"type":431,"value":1398},{"type":426,"tag":553,"props":2410,"children":2411},{"style":684},[2412],{"type":431,"value":2273},{"type":426,"tag":553,"props":2414,"children":2415},{"style":572},[2416],{"type":431,"value":2417},"'fee_type'",{"type":426,"tag":553,"props":2419,"children":2420},{"style":684},[2421],{"type":431,"value":1774},{"type":426,"tag":553,"props":2423,"children":2424},{"style":572},[2425],{"type":431,"value":1459},{"type":426,"tag":553,"props":2427,"children":2428},{"style":684},[2429],{"type":431,"value":2273},{"type":426,"tag":553,"props":2431,"children":2432},{"style":572},[2433],{"type":431,"value":1459},{"type":426,"tag":553,"props":2435,"children":2436},{"style":684},[2437],{"type":431,"value":2350},{"type":426,"tag":553,"props":2439,"children":2441},{"class":555,"line":2440},61,[2442,2447,2451,2456,2460,2464,2468,2472,2477,2481],{"type":426,"tag":553,"props":2443,"children":2444},{"style":572},[2445],{"type":431,"value":2446},"                     'currency'",{"type":426,"tag":553,"props":2448,"children":2449},{"style":684},[2450],{"type":431,"value":700},{"type":426,"tag":553,"props":2452,"children":2453},{"style":572},[2454],{"type":431,"value":2455},"'BDT'",{"type":426,"tag":553,"props":2457,"children":2458},{"style":684},[2459],{"type":431,"value":1907},{"type":426,"tag":553,"props":2461,"children":2462},{"style":572},[2463],{"type":431,"value":1502},{"type":426,"tag":553,"props":2465,"children":2466},{"style":684},[2467],{"type":431,"value":700},{"type":426,"tag":553,"props":2469,"children":2470},{"style":566},[2471],{"type":431,"value":895},{"type":426,"tag":553,"props":2473,"children":2474},{"style":684},[2475],{"type":431,"value":2476},"(fee[",{"type":426,"tag":553,"props":2478,"children":2479},{"style":572},[2480],{"type":431,"value":1502},{"type":426,"tag":553,"props":2482,"children":2483},{"style":684},[2484],{"type":431,"value":2485},"]),\n",{"type":426,"tag":553,"props":2487,"children":2489},{"class":555,"line":2488},62,[2490,2495,2499,2503],{"type":426,"tag":553,"props":2491,"children":2492},{"style":572},[2493],{"type":431,"value":2494},"                     'payment_url'",{"type":426,"tag":553,"props":2496,"children":2497},{"style":684},[2498],{"type":431,"value":2273},{"type":426,"tag":553,"props":2500,"children":2501},{"style":572},[2502],{"type":431,"value":1583},{"type":426,"tag":553,"props":2504,"children":2505},{"style":684},[2506],{"type":431,"value":2299},{"type":426,"tag":553,"props":2508,"children":2510},{"class":555,"line":2509},63,[2511,2516,2520],{"type":426,"tag":553,"props":2512,"children":2513},{"style":1684},[2514],{"type":431,"value":2515},"                days_until_due",{"type":426,"tag":553,"props":2517,"children":2518},{"style":795},[2519],{"type":431,"value":957},{"type":426,"tag":553,"props":2521,"children":2522},{"style":684},[2523],{"type":431,"value":2524},"days_until,\n",{"type":426,"tag":553,"props":2526,"children":2528},{"class":555,"line":2527},64,[2529,2534,2538],{"type":426,"tag":553,"props":2530,"children":2531},{"style":1684},[2532],{"type":431,"value":2533},"                api_key",{"type":426,"tag":553,"props":2535,"children":2536},{"style":795},[2537],{"type":431,"value":957},{"type":426,"tag":553,"props":2539,"children":2540},{"style":684},[2541],{"type":431,"value":2542},"api_key\n",{"type":426,"tag":553,"props":2544,"children":2546},{"class":555,"line":2545},65,[2547],{"type":426,"tag":553,"props":2548,"children":2549},{"style":684},[2550],{"type":431,"value":2551},"            )\n",{"type":426,"tag":515,"props":2553,"children":2555},{"id":2554},"_3-exam-schedule-and-results-notification",[2556],{"type":431,"value":2557},"3. Exam Schedule and Results Notification",{"type":426,"tag":427,"props":2559,"children":2560},{},[2561,2565],{"type":426,"tag":446,"props":2562,"children":2563},{},[2564],{"type":431,"value":528},{"type":431,"value":2566},": Exam schedules printed on paper are lost. Parents miss result collection dates.",{"type":426,"tag":427,"props":2568,"children":2569},{},[2570,2574],{"type":426,"tag":446,"props":2571,"children":2572},{},[2573],{"type":431,"value":538},{"type":431,"value":2575},": WhatsApp notifications for exam schedules and results.",{"type":426,"tag":542,"props":2577,"children":2579},{"code":2578},"Exam schedule:\n\"📝 Exam Schedule — Bright Future Academy\n\nDear Parent of *Aisha Rahman* (Class 7),\n\nMid-term examinations start July 25, 2026:\n\n📅 July 25: Mathematics (9:00–11:00 AM)\n📅 July 26: English (9:00–11:00 AM)\n📅 July 27: Science (9:00–11:00 AM)\n📅 July 28: Social Studies (9:00–11:00 AM)\n\nFull schedule: https:\u002F\u002Fbrightfuture.edu\u002Fexams\u002F2026\n\nWishing your child the best! ✏️\"\n\nResults notification:\n\"📊 Result Published — Bright Future Academy\n\nDear Parent,\n\n*Aisha Rahman's* (Class 7) mid-term results are now available:\n\n📈 Result: Available on student portal\n🔗 https:\u002F\u002Fbrightfuture.edu\u002Fportal\n\nCongratulations to all students! 🎉\"\n",[2580],{"type":426,"tag":549,"props":2581,"children":2582},{"__ignoreMap":417},[2583],{"type":431,"value":2578},{"type":426,"tag":515,"props":2585,"children":2587},{"id":2586},"_4-emergency-and-school-closure-alert",[2588],{"type":431,"value":2589},"4. Emergency and School Closure Alert",{"type":426,"tag":427,"props":2591,"children":2592},{},[2593,2597],{"type":426,"tag":446,"props":2594,"children":2595},{},[2596],{"type":431,"value":528},{"type":431,"value":2598},": Emergency announcements (school closure, weather, security) need to reach all parents instantly.",{"type":426,"tag":427,"props":2600,"children":2601},{},[2602,2606],{"type":426,"tag":446,"props":2603,"children":2604},{},[2605],{"type":431,"value":538},{"type":431,"value":2607},": Broadcast WhatsApp message to all opted-in parents in under 60 seconds.",{"type":426,"tag":542,"props":2609,"children":2611},{"code":2610,"language":784,"meta":417,"className":785,"style":417},"def send_emergency_broadcast(message: str, recipients: list, api_key: str) -> dict:\n    \"\"\"\n    Send an emergency WhatsApp broadcast to all parents.\n    \n    ⚠️ For emergencies only — adds urgency prefix automatically.\n    \"\"\"\n    emergency_message = f\"⚠️ SCHOOL ALERT — Bright Future Academy\\n\\n{message}\\n\\n— School Administration\"\n    \n    results = {'sent': 0, 'failed': 0}\n    \n    for parent in recipients:\n        result = requests.post(\n            'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n            headers={'Authorization': f'Bearer {api_key}'},\n            json={'number': parent['phone'], 'message': emergency_message}\n        ).json()\n        \n        if result.get('status') == 'success':\n            results['sent'] += 1\n        else:\n            results['failed'] += 1\n        \n        import time\n        time.sleep(0.5)  # 2 messages\u002Fsecond\n    \n    return results\n\n# Example: school closure due to flood\nresult = send_emergency_broadcast(\n    message=(\n        \"School will be *closed tomorrow, July 21, 2026* due to flooding in the area.\\n\\n\"\n        \"Classes will resume on Monday, July 24, if conditions improve.\\n\\n\"\n        \"We will update you by 8:00 PM tonight with further information.\"\n    ),\n    recipients=get_all_opted_in_parents(db),\n    api_key='YOUR_API_KEY'\n)\nprint(f\"Emergency broadcast: {result['sent']} sent, {result['failed']} failed\")\n",[2612],{"type":426,"tag":549,"props":2613,"children":2614},{"__ignoreMap":417},[2615,2666,2674,2682,2689,2697,2704,2744,2751,2801,2808,2829,2845,2857,2909,2950,2958,2965,3001,3027,3039,3062,3069,3082,3105,3112,3124,3131,3139,3156,3173,3189,3205,3213,3221,3238,3255,3263],{"type":426,"tag":553,"props":2616,"children":2617},{"class":555,"line":556},[2618,2622,2627,2632,2636,2641,2646,2650,2654,2658,2662],{"type":426,"tag":553,"props":2619,"children":2620},{"style":795},[2621],{"type":431,"value":842},{"type":426,"tag":553,"props":2623,"children":2624},{"style":560},[2625],{"type":431,"value":2626}," send_emergency_broadcast",{"type":426,"tag":553,"props":2628,"children":2629},{"style":684},[2630],{"type":431,"value":2631},"(message: ",{"type":426,"tag":553,"props":2633,"children":2634},{"style":566},[2635],{"type":431,"value":895},{"type":426,"tag":553,"props":2637,"children":2638},{"style":684},[2639],{"type":431,"value":2640},", recipients: ",{"type":426,"tag":553,"props":2642,"children":2643},{"style":566},[2644],{"type":431,"value":2645},"list",{"type":426,"tag":553,"props":2647,"children":2648},{"style":684},[2649],{"type":431,"value":890},{"type":426,"tag":553,"props":2651,"children":2652},{"style":566},[2653],{"type":431,"value":895},{"type":426,"tag":553,"props":2655,"children":2656},{"style":684},[2657],{"type":431,"value":900},{"type":426,"tag":553,"props":2659,"children":2660},{"style":566},[2661],{"type":431,"value":857},{"type":426,"tag":553,"props":2663,"children":2664},{"style":684},[2665],{"type":431,"value":909},{"type":426,"tag":553,"props":2667,"children":2668},{"class":555,"line":588},[2669],{"type":426,"tag":553,"props":2670,"children":2671},{"style":572},[2672],{"type":431,"value":2673},"    \"\"\"\n",{"type":426,"tag":553,"props":2675,"children":2676},{"class":555,"line":606},[2677],{"type":426,"tag":553,"props":2678,"children":2679},{"style":572},[2680],{"type":431,"value":2681},"    Send an emergency WhatsApp broadcast to all parents.\n",{"type":426,"tag":553,"props":2683,"children":2684},{"class":555,"line":623},[2685],{"type":426,"tag":553,"props":2686,"children":2687},{"style":572},[2688],{"type":431,"value":917},{"type":426,"tag":553,"props":2690,"children":2691},{"class":555,"line":637},[2692],{"type":426,"tag":553,"props":2693,"children":2694},{"style":572},[2695],{"type":431,"value":2696},"    ⚠️ For emergencies only — adds urgency prefix automatically.\n",{"type":426,"tag":553,"props":2698,"children":2699},{"class":555,"line":646},[2700],{"type":426,"tag":553,"props":2701,"children":2702},{"style":572},[2703],{"type":431,"value":2673},{"type":426,"tag":553,"props":2705,"children":2706},{"class":555,"line":655},[2707,2712,2716,2720,2725,2730,2735,2739],{"type":426,"tag":553,"props":2708,"children":2709},{"style":684},[2710],{"type":431,"value":2711},"    emergency_message ",{"type":426,"tag":553,"props":2713,"children":2714},{"style":795},[2715],{"type":431,"value":957},{"type":426,"tag":553,"props":2717,"children":2718},{"style":795},[2719],{"type":431,"value":962},{"type":426,"tag":553,"props":2721,"children":2722},{"style":572},[2723],{"type":431,"value":2724},"\"⚠️ SCHOOL ALERT — Bright Future Academy",{"type":426,"tag":553,"props":2726,"children":2727},{"style":566},[2728],{"type":431,"value":2729},"\\n\\n{",{"type":426,"tag":553,"props":2731,"children":2732},{"style":684},[2733],{"type":431,"value":2734},"message",{"type":426,"tag":553,"props":2736,"children":2737},{"style":566},[2738],{"type":431,"value":1245},{"type":426,"tag":553,"props":2740,"children":2741},{"style":572},[2742],{"type":431,"value":2743},"— School Administration\"\n",{"type":426,"tag":553,"props":2745,"children":2746},{"class":555,"line":1036},[2747],{"type":426,"tag":553,"props":2748,"children":2749},{"style":684},[2750],{"type":431,"value":917},{"type":426,"tag":553,"props":2752,"children":2753},{"class":555,"line":1054},[2754,2759,2763,2767,2772,2776,2780,2784,2789,2793,2797],{"type":426,"tag":553,"props":2755,"children":2756},{"style":684},[2757],{"type":431,"value":2758},"    results ",{"type":426,"tag":553,"props":2760,"children":2761},{"style":795},[2762],{"type":431,"value":957},{"type":426,"tag":553,"props":2764,"children":2765},{"style":684},[2766],{"type":431,"value":1450},{"type":426,"tag":553,"props":2768,"children":2769},{"style":572},[2770],{"type":431,"value":2771},"'sent'",{"type":426,"tag":553,"props":2773,"children":2774},{"style":684},[2775],{"type":431,"value":700},{"type":426,"tag":553,"props":2777,"children":2778},{"style":566},[2779],{"type":431,"value":1930},{"type":426,"tag":553,"props":2781,"children":2782},{"style":684},[2783],{"type":431,"value":1907},{"type":426,"tag":553,"props":2785,"children":2786},{"style":572},[2787],{"type":431,"value":2788},"'failed'",{"type":426,"tag":553,"props":2790,"children":2791},{"style":684},[2792],{"type":431,"value":700},{"type":426,"tag":553,"props":2794,"children":2795},{"style":566},[2796],{"type":431,"value":1930},{"type":426,"tag":553,"props":2798,"children":2799},{"style":684},[2800],{"type":431,"value":756},{"type":426,"tag":553,"props":2802,"children":2803},{"class":555,"line":1080},[2804],{"type":426,"tag":553,"props":2805,"children":2806},{"style":684},[2807],{"type":431,"value":917},{"type":426,"tag":553,"props":2809,"children":2810},{"class":555,"line":1097},[2811,2815,2820,2824],{"type":426,"tag":553,"props":2812,"children":2813},{"style":795},[2814],{"type":431,"value":1995},{"type":426,"tag":553,"props":2816,"children":2817},{"style":684},[2818],{"type":431,"value":2819}," parent ",{"type":426,"tag":553,"props":2821,"children":2822},{"style":795},[2823],{"type":431,"value":2005},{"type":426,"tag":553,"props":2825,"children":2826},{"style":684},[2827],{"type":431,"value":2828}," recipients:\n",{"type":426,"tag":553,"props":2830,"children":2831},{"class":555,"line":1114},[2832,2837,2841],{"type":426,"tag":553,"props":2833,"children":2834},{"style":684},[2835],{"type":431,"value":2836},"        result ",{"type":426,"tag":553,"props":2838,"children":2839},{"style":795},[2840],{"type":431,"value":957},{"type":426,"tag":553,"props":2842,"children":2843},{"style":684},[2844],{"type":431,"value":1664},{"type":426,"tag":553,"props":2846,"children":2847},{"class":555,"line":1127},[2848,2853],{"type":426,"tag":553,"props":2849,"children":2850},{"style":572},[2851],{"type":431,"value":2852},"            'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message'",{"type":426,"tag":553,"props":2854,"children":2855},{"style":684},[2856],{"type":431,"value":710},{"type":426,"tag":553,"props":2858,"children":2859},{"class":555,"line":1167},[2860,2865,2869,2873,2877,2881,2885,2889,2893,2897,2901,2905],{"type":426,"tag":553,"props":2861,"children":2862},{"style":1684},[2863],{"type":431,"value":2864},"            headers",{"type":426,"tag":553,"props":2866,"children":2867},{"style":795},[2868],{"type":431,"value":957},{"type":426,"tag":553,"props":2870,"children":2871},{"style":684},[2872],{"type":431,"value":972},{"type":426,"tag":553,"props":2874,"children":2875},{"style":572},[2876],{"type":431,"value":1700},{"type":426,"tag":553,"props":2878,"children":2879},{"style":684},[2880],{"type":431,"value":700},{"type":426,"tag":553,"props":2882,"children":2883},{"style":795},[2884],{"type":431,"value":1709},{"type":426,"tag":553,"props":2886,"children":2887},{"style":572},[2888],{"type":431,"value":1714},{"type":426,"tag":553,"props":2890,"children":2891},{"style":566},[2892],{"type":431,"value":972},{"type":426,"tag":553,"props":2894,"children":2895},{"style":684},[2896],{"type":431,"value":1723},{"type":426,"tag":553,"props":2898,"children":2899},{"style":566},[2900],{"type":431,"value":982},{"type":426,"tag":553,"props":2902,"children":2903},{"style":572},[2904],{"type":431,"value":1732},{"type":426,"tag":553,"props":2906,"children":2907},{"style":684},[2908],{"type":431,"value":1737},{"type":426,"tag":553,"props":2910,"children":2911},{"class":555,"line":1184},[2912,2917,2921,2925,2929,2933,2937,2941,2945],{"type":426,"tag":553,"props":2913,"children":2914},{"style":1684},[2915],{"type":431,"value":2916},"            json",{"type":426,"tag":553,"props":2918,"children":2919},{"style":795},[2920],{"type":431,"value":957},{"type":426,"tag":553,"props":2922,"children":2923},{"style":684},[2924],{"type":431,"value":972},{"type":426,"tag":553,"props":2926,"children":2927},{"style":572},[2928],{"type":431,"value":1759},{"type":426,"tag":553,"props":2930,"children":2931},{"style":684},[2932],{"type":431,"value":1764},{"type":426,"tag":553,"props":2934,"children":2935},{"style":572},[2936],{"type":431,"value":1769},{"type":426,"tag":553,"props":2938,"children":2939},{"style":684},[2940],{"type":431,"value":1774},{"type":426,"tag":553,"props":2942,"children":2943},{"style":572},[2944],{"type":431,"value":1779},{"type":426,"tag":553,"props":2946,"children":2947},{"style":684},[2948],{"type":431,"value":2949},": emergency_message}\n",{"type":426,"tag":553,"props":2951,"children":2952},{"class":555,"line":1192},[2953],{"type":426,"tag":553,"props":2954,"children":2955},{"style":684},[2956],{"type":431,"value":2957},"        ).json()\n",{"type":426,"tag":553,"props":2959,"children":2960},{"class":555,"line":1210},[2961],{"type":426,"tag":553,"props":2962,"children":2963},{"style":684},[2964],{"type":431,"value":2061},{"type":426,"tag":553,"props":2966,"children":2967},{"class":555,"line":1253},[2968,2973,2978,2983,2988,2992,2997],{"type":426,"tag":553,"props":2969,"children":2970},{"style":795},[2971],{"type":431,"value":2972},"        if",{"type":426,"tag":553,"props":2974,"children":2975},{"style":684},[2976],{"type":431,"value":2977}," result.get(",{"type":426,"tag":553,"props":2979,"children":2980},{"style":572},[2981],{"type":431,"value":2982},"'status'",{"type":426,"tag":553,"props":2984,"children":2985},{"style":684},[2986],{"type":431,"value":2987},") ",{"type":426,"tag":553,"props":2989,"children":2990},{"style":795},[2991],{"type":431,"value":1069},{"type":426,"tag":553,"props":2993,"children":2994},{"style":572},[2995],{"type":431,"value":2996}," 'success'",{"type":426,"tag":553,"props":2998,"children":2999},{"style":684},[3000],{"type":431,"value":909},{"type":426,"tag":553,"props":3002,"children":3003},{"class":555,"line":1302},[3004,3009,3013,3017,3022],{"type":426,"tag":553,"props":3005,"children":3006},{"style":684},[3007],{"type":431,"value":3008},"            results[",{"type":426,"tag":553,"props":3010,"children":3011},{"style":572},[3012],{"type":431,"value":2771},{"type":426,"tag":553,"props":3014,"children":3015},{"style":684},[3016],{"type":431,"value":2229},{"type":426,"tag":553,"props":3018,"children":3019},{"style":795},[3020],{"type":431,"value":3021},"+=",{"type":426,"tag":553,"props":3023,"children":3024},{"style":566},[3025],{"type":431,"value":3026}," 1\n",{"type":426,"tag":553,"props":3028,"children":3029},{"class":555,"line":1374},[3030,3035],{"type":426,"tag":553,"props":3031,"children":3032},{"style":795},[3033],{"type":431,"value":3034},"        else",{"type":426,"tag":553,"props":3036,"children":3037},{"style":684},[3038],{"type":431,"value":909},{"type":426,"tag":553,"props":3040,"children":3041},{"class":555,"line":1414},[3042,3046,3050,3054,3058],{"type":426,"tag":553,"props":3043,"children":3044},{"style":684},[3045],{"type":431,"value":3008},{"type":426,"tag":553,"props":3047,"children":3048},{"style":572},[3049],{"type":431,"value":2788},{"type":426,"tag":553,"props":3051,"children":3052},{"style":684},[3053],{"type":431,"value":2229},{"type":426,"tag":553,"props":3055,"children":3056},{"style":795},[3057],{"type":431,"value":3021},{"type":426,"tag":553,"props":3059,"children":3060},{"style":566},[3061],{"type":431,"value":3026},{"type":426,"tag":553,"props":3063,"children":3064},{"class":555,"line":1479},[3065],{"type":426,"tag":553,"props":3066,"children":3067},{"style":684},[3068],{"type":431,"value":2061},{"type":426,"tag":553,"props":3070,"children":3071},{"class":555,"line":1517},[3072,3077],{"type":426,"tag":553,"props":3073,"children":3074},{"style":795},[3075],{"type":431,"value":3076},"        import",{"type":426,"tag":553,"props":3078,"children":3079},{"style":684},[3080],{"type":431,"value":3081}," time\n",{"type":426,"tag":553,"props":3083,"children":3084},{"class":555,"line":1560},[3085,3090,3095,3100],{"type":426,"tag":553,"props":3086,"children":3087},{"style":684},[3088],{"type":431,"value":3089},"        time.sleep(",{"type":426,"tag":553,"props":3091,"children":3092},{"style":566},[3093],{"type":431,"value":3094},"0.5",{"type":426,"tag":553,"props":3096,"children":3097},{"style":684},[3098],{"type":431,"value":3099},")  ",{"type":426,"tag":553,"props":3101,"children":3102},{"style":1975},[3103],{"type":431,"value":3104},"# 2 messages\u002Fsecond\n",{"type":426,"tag":553,"props":3106,"children":3107},{"class":555,"line":1598},[3108],{"type":426,"tag":553,"props":3109,"children":3110},{"style":684},[3111],{"type":431,"value":917},{"type":426,"tag":553,"props":3113,"children":3114},{"class":555,"line":1636},[3115,3119],{"type":426,"tag":553,"props":3116,"children":3117},{"style":795},[3118],{"type":431,"value":1659},{"type":426,"tag":553,"props":3120,"children":3121},{"style":684},[3122],{"type":431,"value":3123}," results\n",{"type":426,"tag":553,"props":3125,"children":3126},{"class":555,"line":1645},[3127],{"type":426,"tag":553,"props":3128,"children":3129},{"emptyLinePlaceholder":831},[3130],{"type":431,"value":834},{"type":426,"tag":553,"props":3132,"children":3133},{"class":555,"line":1653},[3134],{"type":426,"tag":553,"props":3135,"children":3136},{"style":1975},[3137],{"type":431,"value":3138},"# Example: school closure due to flood\n",{"type":426,"tag":553,"props":3140,"children":3141},{"class":555,"line":1667},[3142,3147,3151],{"type":426,"tag":553,"props":3143,"children":3144},{"style":684},[3145],{"type":431,"value":3146},"result ",{"type":426,"tag":553,"props":3148,"children":3149},{"style":795},[3150],{"type":431,"value":957},{"type":426,"tag":553,"props":3152,"children":3153},{"style":684},[3154],{"type":431,"value":3155}," send_emergency_broadcast(\n",{"type":426,"tag":553,"props":3157,"children":3158},{"class":555,"line":1680},[3159,3164,3168],{"type":426,"tag":553,"props":3160,"children":3161},{"style":1684},[3162],{"type":431,"value":3163},"    message",{"type":426,"tag":553,"props":3165,"children":3166},{"style":795},[3167],{"type":431,"value":957},{"type":426,"tag":553,"props":3169,"children":3170},{"style":684},[3171],{"type":431,"value":3172},"(\n",{"type":426,"tag":553,"props":3174,"children":3175},{"class":555,"line":1740},[3176,3181,3185],{"type":426,"tag":553,"props":3177,"children":3178},{"style":572},[3179],{"type":431,"value":3180},"        \"School will be *closed tomorrow, July 21, 2026* due to flooding in the area.",{"type":426,"tag":553,"props":3182,"children":3183},{"style":566},[3184],{"type":431,"value":1295},{"type":426,"tag":553,"props":3186,"children":3187},{"style":572},[3188],{"type":431,"value":1250},{"type":426,"tag":553,"props":3190,"children":3191},{"class":555,"line":1787},[3192,3197,3201],{"type":426,"tag":553,"props":3193,"children":3194},{"style":572},[3195],{"type":431,"value":3196},"        \"Classes will resume on Monday, July 24, if conditions improve.",{"type":426,"tag":553,"props":3198,"children":3199},{"style":566},[3200],{"type":431,"value":1295},{"type":426,"tag":553,"props":3202,"children":3203},{"style":572},[3204],{"type":431,"value":1250},{"type":426,"tag":553,"props":3206,"children":3207},{"class":555,"line":1796},[3208],{"type":426,"tag":553,"props":3209,"children":3210},{"style":572},[3211],{"type":431,"value":3212},"        \"We will update you by 8:00 PM tonight with further information.\"\n",{"type":426,"tag":553,"props":3214,"children":3215},{"class":555,"line":1804},[3216],{"type":426,"tag":553,"props":3217,"children":3218},{"style":684},[3219],{"type":431,"value":3220},"    ),\n",{"type":426,"tag":553,"props":3222,"children":3223},{"class":555,"line":1812},[3224,3229,3233],{"type":426,"tag":553,"props":3225,"children":3226},{"style":1684},[3227],{"type":431,"value":3228},"    recipients",{"type":426,"tag":553,"props":3230,"children":3231},{"style":795},[3232],{"type":431,"value":957},{"type":426,"tag":553,"props":3234,"children":3235},{"style":684},[3236],{"type":431,"value":3237},"get_all_opted_in_parents(db),\n",{"type":426,"tag":553,"props":3239,"children":3240},{"class":555,"line":1847},[3241,3246,3250],{"type":426,"tag":553,"props":3242,"children":3243},{"style":1684},[3244],{"type":431,"value":3245},"    api_key",{"type":426,"tag":553,"props":3247,"children":3248},{"style":795},[3249],{"type":431,"value":957},{"type":426,"tag":553,"props":3251,"children":3252},{"style":572},[3253],{"type":431,"value":3254},"'YOUR_API_KEY'\n",{"type":426,"tag":553,"props":3256,"children":3257},{"class":555,"line":1856},[3258],{"type":426,"tag":553,"props":3259,"children":3260},{"style":684},[3261],{"type":431,"value":3262},")\n",{"type":426,"tag":553,"props":3264,"children":3265},{"class":555,"line":1874},[3266,3271,3276,3280,3285,3289,3294,3298,3302,3306,3311,3315,3319,3323,3327,3331,3336],{"type":426,"tag":553,"props":3267,"children":3268},{"style":566},[3269],{"type":431,"value":3270},"print",{"type":426,"tag":553,"props":3272,"children":3273},{"style":684},[3274],{"type":431,"value":3275},"(",{"type":426,"tag":553,"props":3277,"children":3278},{"style":795},[3279],{"type":431,"value":1709},{"type":426,"tag":553,"props":3281,"children":3282},{"style":572},[3283],{"type":431,"value":3284},"\"Emergency broadcast: ",{"type":426,"tag":553,"props":3286,"children":3287},{"style":566},[3288],{"type":431,"value":972},{"type":426,"tag":553,"props":3290,"children":3291},{"style":684},[3292],{"type":431,"value":3293},"result[",{"type":426,"tag":553,"props":3295,"children":3296},{"style":572},[3297],{"type":431,"value":2771},{"type":426,"tag":553,"props":3299,"children":3300},{"style":684},[3301],{"type":431,"value":1240},{"type":426,"tag":553,"props":3303,"children":3304},{"style":566},[3305],{"type":431,"value":982},{"type":426,"tag":553,"props":3307,"children":3308},{"style":572},[3309],{"type":431,"value":3310}," sent, ",{"type":426,"tag":553,"props":3312,"children":3313},{"style":566},[3314],{"type":431,"value":972},{"type":426,"tag":553,"props":3316,"children":3317},{"style":684},[3318],{"type":431,"value":3293},{"type":426,"tag":553,"props":3320,"children":3321},{"style":572},[3322],{"type":431,"value":2788},{"type":426,"tag":553,"props":3324,"children":3325},{"style":684},[3326],{"type":431,"value":1240},{"type":426,"tag":553,"props":3328,"children":3329},{"style":566},[3330],{"type":431,"value":982},{"type":426,"tag":553,"props":3332,"children":3333},{"style":572},[3334],{"type":431,"value":3335}," failed\"",{"type":426,"tag":553,"props":3337,"children":3338},{"style":684},[3339],{"type":431,"value":3262},{"type":426,"tag":515,"props":3341,"children":3343},{"id":3342},"_5-event-invitation-and-rsvp",[3344],{"type":431,"value":3345},"5. Event Invitation and RSVP",{"type":426,"tag":427,"props":3347,"children":3348},{},[3349,3353],{"type":426,"tag":446,"props":3350,"children":3351},{},[3352],{"type":431,"value":528},{"type":431,"value":3354},": School events like parent-teacher meetings, sports days, and graduation ceremonies have poor attendance because invitations are missed.",{"type":426,"tag":427,"props":3356,"children":3357},{},[3358,3362],{"type":426,"tag":446,"props":3359,"children":3360},{},[3361],{"type":431,"value":538},{"type":431,"value":3363},": WhatsApp event invitation with RSVP via keyword reply.",{"type":426,"tag":542,"props":3365,"children":3367},{"code":3366},"\"👨‍👩‍👧 Parent-Teacher Meeting — July 30, 2026\n\nDear Parent of *Aisha Rahman* (Class 7),\n\nYou are invited to our quarterly Parent-Teacher Meeting:\n\n📅 Date: July 30, 2026\n⏰ Time: 5:00 PM – 8:00 PM\n📍 Venue: School Assembly Hall\n\nYour assigned time slot: *6:00–6:15 PM* (with Class Teacher)\n\nPlease confirm your attendance:\nReply *YES* to confirm\nReply *NO* to decline\nReply *RESCHEDULE* if you need a different time slot\n\nRSVP by: July 27, 2026\"\n",[3368],{"type":426,"tag":549,"props":3369,"children":3370},{"__ignoreMap":417},[3371],{"type":431,"value":3366},{"type":426,"tag":427,"props":3373,"children":3374},{},[3375],{"type":426,"tag":446,"props":3376,"children":3377},{},[3378],{"type":431,"value":3379},"Processing RSVP replies via webhook:",{"type":426,"tag":542,"props":3381,"children":3383},{"code":3382,"language":784,"meta":417,"className":785,"style":417},"def handle_rsvp_reply(parent_phone: str, reply: str, event_id: str) -> None:\n    \"\"\"Process RSVP reply for school event.\"\"\"\n    reply_upper = reply.strip().upper()\n    \n    if reply_upper == 'YES':\n        mark_rsvp(parent_phone, event_id, 'confirmed')\n        send_confirmation(parent_phone, \"✅ Your attendance is confirmed! See you on July 30.\")\n    \n    elif reply_upper == 'NO':\n        mark_rsvp(parent_phone, event_id, 'declined')\n        send_confirmation(parent_phone, \"Understood. We hope to see you at the next meeting!\")\n    \n    elif reply_upper == 'RESCHEDULE':\n        available_slots = get_available_slots(event_id)\n        slots_text = '\\n'.join([f\"• {slot['time']}\" for slot in available_slots])\n        send_confirmation(parent_phone, \n            f\"Available time slots:\\n{slots_text}\\n\\nReply with your preferred time.\")\n",[3384],{"type":426,"tag":549,"props":3385,"children":3386},{"__ignoreMap":417},[3387,3438,3446,3463,3470,3495,3512,3529,3536,3560,3576,3592,3599,3623,3640,3725,3733],{"type":426,"tag":553,"props":3388,"children":3389},{"class":555,"line":556},[3390,3394,3399,3404,3408,3413,3417,3422,3426,3430,3434],{"type":426,"tag":553,"props":3391,"children":3392},{"style":795},[3393],{"type":431,"value":842},{"type":426,"tag":553,"props":3395,"children":3396},{"style":560},[3397],{"type":431,"value":3398}," handle_rsvp_reply",{"type":426,"tag":553,"props":3400,"children":3401},{"style":684},[3402],{"type":431,"value":3403},"(parent_phone: ",{"type":426,"tag":553,"props":3405,"children":3406},{"style":566},[3407],{"type":431,"value":895},{"type":426,"tag":553,"props":3409,"children":3410},{"style":684},[3411],{"type":431,"value":3412},", reply: ",{"type":426,"tag":553,"props":3414,"children":3415},{"style":566},[3416],{"type":431,"value":895},{"type":426,"tag":553,"props":3418,"children":3419},{"style":684},[3420],{"type":431,"value":3421},", event_id: ",{"type":426,"tag":553,"props":3423,"children":3424},{"style":566},[3425],{"type":431,"value":895},{"type":426,"tag":553,"props":3427,"children":3428},{"style":684},[3429],{"type":431,"value":900},{"type":426,"tag":553,"props":3431,"children":3432},{"style":566},[3433],{"type":431,"value":1840},{"type":426,"tag":553,"props":3435,"children":3436},{"style":684},[3437],{"type":431,"value":909},{"type":426,"tag":553,"props":3439,"children":3440},{"class":555,"line":588},[3441],{"type":426,"tag":553,"props":3442,"children":3443},{"style":572},[3444],{"type":431,"value":3445},"    \"\"\"Process RSVP reply for school event.\"\"\"\n",{"type":426,"tag":553,"props":3447,"children":3448},{"class":555,"line":606},[3449,3454,3458],{"type":426,"tag":553,"props":3450,"children":3451},{"style":684},[3452],{"type":431,"value":3453},"    reply_upper ",{"type":426,"tag":553,"props":3455,"children":3456},{"style":795},[3457],{"type":431,"value":957},{"type":426,"tag":553,"props":3459,"children":3460},{"style":684},[3461],{"type":431,"value":3462}," reply.strip().upper()\n",{"type":426,"tag":553,"props":3464,"children":3465},{"class":555,"line":623},[3466],{"type":426,"tag":553,"props":3467,"children":3468},{"style":684},[3469],{"type":431,"value":917},{"type":426,"tag":553,"props":3471,"children":3472},{"class":555,"line":637},[3473,3477,3482,3486,3491],{"type":426,"tag":553,"props":3474,"children":3475},{"style":795},[3476],{"type":431,"value":925},{"type":426,"tag":553,"props":3478,"children":3479},{"style":684},[3480],{"type":431,"value":3481}," reply_upper ",{"type":426,"tag":553,"props":3483,"children":3484},{"style":795},[3485],{"type":431,"value":1069},{"type":426,"tag":553,"props":3487,"children":3488},{"style":572},[3489],{"type":431,"value":3490}," 'YES'",{"type":426,"tag":553,"props":3492,"children":3493},{"style":684},[3494],{"type":431,"value":909},{"type":426,"tag":553,"props":3496,"children":3497},{"class":555,"line":646},[3498,3503,3508],{"type":426,"tag":553,"props":3499,"children":3500},{"style":684},[3501],{"type":431,"value":3502},"        mark_rsvp(parent_phone, event_id, ",{"type":426,"tag":553,"props":3504,"children":3505},{"style":572},[3506],{"type":431,"value":3507},"'confirmed'",{"type":426,"tag":553,"props":3509,"children":3510},{"style":684},[3511],{"type":431,"value":3262},{"type":426,"tag":553,"props":3513,"children":3514},{"class":555,"line":655},[3515,3520,3525],{"type":426,"tag":553,"props":3516,"children":3517},{"style":684},[3518],{"type":431,"value":3519},"        send_confirmation(parent_phone, ",{"type":426,"tag":553,"props":3521,"children":3522},{"style":572},[3523],{"type":431,"value":3524},"\"✅ Your attendance is confirmed! See you on July 30.\"",{"type":426,"tag":553,"props":3526,"children":3527},{"style":684},[3528],{"type":431,"value":3262},{"type":426,"tag":553,"props":3530,"children":3531},{"class":555,"line":1036},[3532],{"type":426,"tag":553,"props":3533,"children":3534},{"style":684},[3535],{"type":431,"value":917},{"type":426,"tag":553,"props":3537,"children":3538},{"class":555,"line":1054},[3539,3543,3547,3551,3556],{"type":426,"tag":553,"props":3540,"children":3541},{"style":795},[3542],{"type":431,"value":1060},{"type":426,"tag":553,"props":3544,"children":3545},{"style":684},[3546],{"type":431,"value":3481},{"type":426,"tag":553,"props":3548,"children":3549},{"style":795},[3550],{"type":431,"value":1069},{"type":426,"tag":553,"props":3552,"children":3553},{"style":572},[3554],{"type":431,"value":3555}," 'NO'",{"type":426,"tag":553,"props":3557,"children":3558},{"style":684},[3559],{"type":431,"value":909},{"type":426,"tag":553,"props":3561,"children":3562},{"class":555,"line":1080},[3563,3567,3572],{"type":426,"tag":553,"props":3564,"children":3565},{"style":684},[3566],{"type":431,"value":3502},{"type":426,"tag":553,"props":3568,"children":3569},{"style":572},[3570],{"type":431,"value":3571},"'declined'",{"type":426,"tag":553,"props":3573,"children":3574},{"style":684},[3575],{"type":431,"value":3262},{"type":426,"tag":553,"props":3577,"children":3578},{"class":555,"line":1097},[3579,3583,3588],{"type":426,"tag":553,"props":3580,"children":3581},{"style":684},[3582],{"type":431,"value":3519},{"type":426,"tag":553,"props":3584,"children":3585},{"style":572},[3586],{"type":431,"value":3587},"\"Understood. We hope to see you at the next meeting!\"",{"type":426,"tag":553,"props":3589,"children":3590},{"style":684},[3591],{"type":431,"value":3262},{"type":426,"tag":553,"props":3593,"children":3594},{"class":555,"line":1114},[3595],{"type":426,"tag":553,"props":3596,"children":3597},{"style":684},[3598],{"type":431,"value":917},{"type":426,"tag":553,"props":3600,"children":3601},{"class":555,"line":1127},[3602,3606,3610,3614,3619],{"type":426,"tag":553,"props":3603,"children":3604},{"style":795},[3605],{"type":431,"value":1060},{"type":426,"tag":553,"props":3607,"children":3608},{"style":684},[3609],{"type":431,"value":3481},{"type":426,"tag":553,"props":3611,"children":3612},{"style":795},[3613],{"type":431,"value":1069},{"type":426,"tag":553,"props":3615,"children":3616},{"style":572},[3617],{"type":431,"value":3618}," 'RESCHEDULE'",{"type":426,"tag":553,"props":3620,"children":3621},{"style":684},[3622],{"type":431,"value":909},{"type":426,"tag":553,"props":3624,"children":3625},{"class":555,"line":1167},[3626,3631,3635],{"type":426,"tag":553,"props":3627,"children":3628},{"style":684},[3629],{"type":431,"value":3630},"        available_slots ",{"type":426,"tag":553,"props":3632,"children":3633},{"style":795},[3634],{"type":431,"value":957},{"type":426,"tag":553,"props":3636,"children":3637},{"style":684},[3638],{"type":431,"value":3639}," get_available_slots(event_id)\n",{"type":426,"tag":553,"props":3641,"children":3642},{"class":555,"line":1184},[3643,3648,3652,3657,3662,3666,3671,3675,3680,3684,3689,3694,3698,3702,3706,3711,3716,3720],{"type":426,"tag":553,"props":3644,"children":3645},{"style":684},[3646],{"type":431,"value":3647},"        slots_text ",{"type":426,"tag":553,"props":3649,"children":3650},{"style":795},[3651],{"type":431,"value":957},{"type":426,"tag":553,"props":3653,"children":3654},{"style":572},[3655],{"type":431,"value":3656}," '",{"type":426,"tag":553,"props":3658,"children":3659},{"style":566},[3660],{"type":431,"value":3661},"\\n",{"type":426,"tag":553,"props":3663,"children":3664},{"style":572},[3665],{"type":431,"value":1732},{"type":426,"tag":553,"props":3667,"children":3668},{"style":684},[3669],{"type":431,"value":3670},".join([",{"type":426,"tag":553,"props":3672,"children":3673},{"style":795},[3674],{"type":431,"value":1709},{"type":426,"tag":553,"props":3676,"children":3677},{"style":572},[3678],{"type":431,"value":3679},"\"• ",{"type":426,"tag":553,"props":3681,"children":3682},{"style":566},[3683],{"type":431,"value":972},{"type":426,"tag":553,"props":3685,"children":3686},{"style":684},[3687],{"type":431,"value":3688},"slot[",{"type":426,"tag":553,"props":3690,"children":3691},{"style":572},[3692],{"type":431,"value":3693},"'time'",{"type":426,"tag":553,"props":3695,"children":3696},{"style":684},[3697],{"type":431,"value":1240},{"type":426,"tag":553,"props":3699,"children":3700},{"style":566},[3701],{"type":431,"value":982},{"type":426,"tag":553,"props":3703,"children":3704},{"style":572},[3705],{"type":431,"value":1527},{"type":426,"tag":553,"props":3707,"children":3708},{"style":795},[3709],{"type":431,"value":3710}," for",{"type":426,"tag":553,"props":3712,"children":3713},{"style":684},[3714],{"type":431,"value":3715}," slot ",{"type":426,"tag":553,"props":3717,"children":3718},{"style":795},[3719],{"type":431,"value":2005},{"type":426,"tag":553,"props":3721,"children":3722},{"style":684},[3723],{"type":431,"value":3724}," available_slots])\n",{"type":426,"tag":553,"props":3726,"children":3727},{"class":555,"line":1192},[3728],{"type":426,"tag":553,"props":3729,"children":3730},{"style":684},[3731],{"type":431,"value":3732},"        send_confirmation(parent_phone, \n",{"type":426,"tag":553,"props":3734,"children":3735},{"class":555,"line":1210},[3736,3741,3746,3751,3756,3760,3765],{"type":426,"tag":553,"props":3737,"children":3738},{"style":795},[3739],{"type":431,"value":3740},"            f",{"type":426,"tag":553,"props":3742,"children":3743},{"style":572},[3744],{"type":431,"value":3745},"\"Available time slots:",{"type":426,"tag":553,"props":3747,"children":3748},{"style":566},[3749],{"type":431,"value":3750},"\\n{",{"type":426,"tag":553,"props":3752,"children":3753},{"style":684},[3754],{"type":431,"value":3755},"slots_text",{"type":426,"tag":553,"props":3757,"children":3758},{"style":566},[3759],{"type":431,"value":1245},{"type":426,"tag":553,"props":3761,"children":3762},{"style":572},[3763],{"type":431,"value":3764},"Reply with your preferred time.\"",{"type":426,"tag":553,"props":3766,"children":3767},{"style":684},[3768],{"type":431,"value":3262},{"type":426,"tag":515,"props":3770,"children":3772},{"id":3771},"_6-daily-homework-and-announcement-updates",[3773],{"type":431,"value":3774},"6. Daily Homework and Announcement Updates",{"type":426,"tag":427,"props":3776,"children":3777},{},[3778,3782],{"type":426,"tag":446,"props":3779,"children":3780},{},[3781],{"type":431,"value":528},{"type":431,"value":3783},": Students forget homework assignments; parents don't know what their child should be doing.",{"type":426,"tag":427,"props":3785,"children":3786},{},[3787,3791],{"type":426,"tag":446,"props":3788,"children":3789},{},[3790],{"type":431,"value":538},{"type":431,"value":3792},": Daily WhatsApp updates with homework and important announcements.",{"type":426,"tag":542,"props":3794,"children":3796},{"code":3795},"\"📚 Daily Update — Class 7, July 20, 2026\n\nDear Parents,\n\nToday's homework:\n📘 Mathematics: Exercise 4.3, Q1–Q10\n📗 English: Write a 200-word essay on 'My Summer Holiday'\n📙 Science: Read Chapter 8 (pages 45–52)\n\n📢 Announcements:\n• Sports Day registration closes tomorrow\n• Library books due for return by Friday\n\nHave a productive evening! 🌟\"\n",[3797],{"type":426,"tag":549,"props":3798,"children":3799},{"__ignoreMap":417},[3800],{"type":431,"value":3795},{"type":426,"tag":434,"props":3802,"children":3804},{"id":3803},"how-to-set-up-whatsapp-for-schools-with-rapiwa",[3805],{"type":431,"value":3806},"How to Set Up WhatsApp for Schools with Rapiwa",{"type":426,"tag":515,"props":3808,"children":3810},{"id":3809},"step-1-create-your-rapiwa-account",[3811],{"type":431,"value":3812},"Step 1: Create Your Rapiwa Account",{"type":426,"tag":427,"props":3814,"children":3815},{},[3816,3818,3827],{"type":431,"value":3817},"Sign up at ",{"type":426,"tag":3819,"props":3820,"children":3824},"a",{"href":3821,"rel":3822},"https:\u002F\u002Frapiwa.com",[3823],"nofollow",[3825],{"type":431,"value":3826},"rapiwa.com",{"type":431,"value":3828}," — 3-day free trial, no credit card.",{"type":426,"tag":515,"props":3830,"children":3832},{"id":3831},"step-2-collect-parent-opt-ins",[3833],{"type":431,"value":3834},"Step 2: Collect Parent Opt-Ins",{"type":426,"tag":427,"props":3836,"children":3837},{},[3838],{"type":431,"value":3839},"At enrollment: \"May we send school notifications and alerts to your WhatsApp number?\"",{"type":426,"tag":454,"props":3841,"children":3842},{},[3843,3848],{"type":426,"tag":458,"props":3844,"children":3845},{},[3846],{"type":431,"value":3847},"Add checkbox in enrollment form",{"type":426,"tag":458,"props":3849,"children":3850},{},[3851],{"type":431,"value":3852},"Store consent in student management system",{"type":426,"tag":515,"props":3854,"children":3856},{"id":3855},"step-3-connect-to-student-management-system",[3857],{"type":431,"value":3858},"Step 3: Connect to Student Management System",{"type":426,"tag":427,"props":3860,"children":3861},{},[3862],{"type":431,"value":3863},"Popular systems with API support: Fedena, SchoolTool, PowerSchool, or a custom database. Use n8n to connect:",{"type":426,"tag":542,"props":3865,"children":3867},{"code":3866,"language":784,"meta":417,"className":785,"style":417},"def run_school_whatsapp_automation(db, api_key: str) -> None:\n    \"\"\"Daily school WhatsApp automation.\"\"\"\n    today = date.today()\n    \n    # 1. Attendance (triggered by teacher marking, not scheduled)\n    \n    # 2. Fee reminders\n    run_daily_fee_reminders(db, api_key)\n    \n    # 3. Exam schedule (7 days before exam period)\n    upcoming_exams = get_exams_starting_in_7_days(db, today)\n    for exam_schedule in upcoming_exams:\n        send_exam_schedule(exam_schedule, api_key)\n    \n    # 4. Daily homework (sent at 4:00 PM after school hours)\n    # (configured as a scheduled job at 4 PM)\n",[3868],{"type":426,"tag":549,"props":3869,"children":3870},{"__ignoreMap":417},[3871,3903,3911,3926,3933,3941,3948,3956,3964,3971,3979,3996,4017,4025,4032,4040],{"type":426,"tag":553,"props":3872,"children":3873},{"class":555,"line":556},[3874,3878,3883,3887,3891,3895,3899],{"type":426,"tag":553,"props":3875,"children":3876},{"style":795},[3877],{"type":431,"value":842},{"type":426,"tag":553,"props":3879,"children":3880},{"style":560},[3881],{"type":431,"value":3882}," run_school_whatsapp_automation",{"type":426,"tag":553,"props":3884,"children":3885},{"style":684},[3886],{"type":431,"value":1827},{"type":426,"tag":553,"props":3888,"children":3889},{"style":566},[3890],{"type":431,"value":895},{"type":426,"tag":553,"props":3892,"children":3893},{"style":684},[3894],{"type":431,"value":900},{"type":426,"tag":553,"props":3896,"children":3897},{"style":566},[3898],{"type":431,"value":1840},{"type":426,"tag":553,"props":3900,"children":3901},{"style":684},[3902],{"type":431,"value":909},{"type":426,"tag":553,"props":3904,"children":3905},{"class":555,"line":588},[3906],{"type":426,"tag":553,"props":3907,"children":3908},{"style":572},[3909],{"type":431,"value":3910},"    \"\"\"Daily school WhatsApp automation.\"\"\"\n",{"type":426,"tag":553,"props":3912,"children":3913},{"class":555,"line":606},[3914,3918,3922],{"type":426,"tag":553,"props":3915,"children":3916},{"style":684},[3917],{"type":431,"value":1862},{"type":426,"tag":553,"props":3919,"children":3920},{"style":795},[3921],{"type":431,"value":957},{"type":426,"tag":553,"props":3923,"children":3924},{"style":684},[3925],{"type":431,"value":1871},{"type":426,"tag":553,"props":3927,"children":3928},{"class":555,"line":623},[3929],{"type":426,"tag":553,"props":3930,"children":3931},{"style":684},[3932],{"type":431,"value":917},{"type":426,"tag":553,"props":3934,"children":3935},{"class":555,"line":637},[3936],{"type":426,"tag":553,"props":3937,"children":3938},{"style":1975},[3939],{"type":431,"value":3940},"    # 1. Attendance (triggered by teacher marking, not scheduled)\n",{"type":426,"tag":553,"props":3942,"children":3943},{"class":555,"line":646},[3944],{"type":426,"tag":553,"props":3945,"children":3946},{"style":684},[3947],{"type":431,"value":917},{"type":426,"tag":553,"props":3949,"children":3950},{"class":555,"line":655},[3951],{"type":426,"tag":553,"props":3952,"children":3953},{"style":1975},[3954],{"type":431,"value":3955},"    # 2. Fee reminders\n",{"type":426,"tag":553,"props":3957,"children":3958},{"class":555,"line":1036},[3959],{"type":426,"tag":553,"props":3960,"children":3961},{"style":684},[3962],{"type":431,"value":3963},"    run_daily_fee_reminders(db, api_key)\n",{"type":426,"tag":553,"props":3965,"children":3966},{"class":555,"line":1054},[3967],{"type":426,"tag":553,"props":3968,"children":3969},{"style":684},[3970],{"type":431,"value":917},{"type":426,"tag":553,"props":3972,"children":3973},{"class":555,"line":1080},[3974],{"type":426,"tag":553,"props":3975,"children":3976},{"style":1975},[3977],{"type":431,"value":3978},"    # 3. Exam schedule (7 days before exam period)\n",{"type":426,"tag":553,"props":3980,"children":3981},{"class":555,"line":1097},[3982,3987,3991],{"type":426,"tag":553,"props":3983,"children":3984},{"style":684},[3985],{"type":431,"value":3986},"    upcoming_exams ",{"type":426,"tag":553,"props":3988,"children":3989},{"style":795},[3990],{"type":431,"value":957},{"type":426,"tag":553,"props":3992,"children":3993},{"style":684},[3994],{"type":431,"value":3995}," get_exams_starting_in_7_days(db, today)\n",{"type":426,"tag":553,"props":3997,"children":3998},{"class":555,"line":1114},[3999,4003,4008,4012],{"type":426,"tag":553,"props":4000,"children":4001},{"style":795},[4002],{"type":431,"value":1995},{"type":426,"tag":553,"props":4004,"children":4005},{"style":684},[4006],{"type":431,"value":4007}," exam_schedule ",{"type":426,"tag":553,"props":4009,"children":4010},{"style":795},[4011],{"type":431,"value":2005},{"type":426,"tag":553,"props":4013,"children":4014},{"style":684},[4015],{"type":431,"value":4016}," upcoming_exams:\n",{"type":426,"tag":553,"props":4018,"children":4019},{"class":555,"line":1127},[4020],{"type":426,"tag":553,"props":4021,"children":4022},{"style":684},[4023],{"type":431,"value":4024},"        send_exam_schedule(exam_schedule, api_key)\n",{"type":426,"tag":553,"props":4026,"children":4027},{"class":555,"line":1167},[4028],{"type":426,"tag":553,"props":4029,"children":4030},{"style":684},[4031],{"type":431,"value":917},{"type":426,"tag":553,"props":4033,"children":4034},{"class":555,"line":1184},[4035],{"type":426,"tag":553,"props":4036,"children":4037},{"style":1975},[4038],{"type":431,"value":4039},"    # 4. Daily homework (sent at 4:00 PM after school hours)\n",{"type":426,"tag":553,"props":4041,"children":4042},{"class":555,"line":1192},[4043],{"type":426,"tag":553,"props":4044,"children":4045},{"style":1975},[4046],{"type":431,"value":4047},"    # (configured as a scheduled job at 4 PM)\n",{"type":426,"tag":434,"props":4049,"children":4051},{"id":4050},"results-you-can-expect",[4052],{"type":431,"value":4053},"Results You Can Expect",{"type":426,"tag":454,"props":4055,"children":4056},{},[4057,4067,4077,4087,4097],{"type":426,"tag":458,"props":4058,"children":4059},{},[4060,4065],{"type":426,"tag":446,"props":4061,"children":4062},{},[4063],{"type":431,"value":4064},"70–80% parent open rate",{"type":431,"value":4066}," on WhatsApp vs 15–20% on email newsletters",{"type":426,"tag":458,"props":4068,"children":4069},{},[4070,4075],{"type":426,"tag":446,"props":4071,"children":4072},{},[4073],{"type":431,"value":4074},"40–50% reduction",{"type":431,"value":4076}," in late fee payments (proactive reminders)",{"type":426,"tag":458,"props":4078,"children":4079},{},[4080,4085],{"type":426,"tag":446,"props":4081,"children":4082},{},[4083],{"type":431,"value":4084},"30% higher attendance",{"type":431,"value":4086}," at parent-teacher meetings (WhatsApp invitations)",{"type":426,"tag":458,"props":4088,"children":4089},{},[4090,4095],{"type":426,"tag":446,"props":4091,"children":4092},{},[4093],{"type":431,"value":4094},"90%+ less time",{"type":431,"value":4096}," spent on phone tree calls (WhatsApp replaces manual calling)",{"type":426,"tag":458,"props":4098,"children":4099},{},[4100,4105],{"type":426,"tag":446,"props":4101,"children":4102},{},[4103],{"type":431,"value":4104},"Faster emergency response",{"type":431,"value":4106}," — school closure alerts reach 500+ parents in under 2 minutes",{"type":426,"tag":434,"props":4108,"children":4110},{"id":4109},"faq",[4111],{"type":431,"value":4112},"FAQ",{"type":426,"tag":427,"props":4114,"children":4115},{},[4116,4121],{"type":426,"tag":446,"props":4117,"children":4118},{},[4119],{"type":431,"value":4120},"Is WhatsApp appropriate for school-parent communication?",{"type":431,"value":4122},"\nYes — WhatsApp is widely used for school communication in South Asia, Southeast Asia, Middle East, and Africa. Schools in these regions are already using WhatsApp groups informally; automating it with an API makes it professional and scalable.",{"type":426,"tag":427,"props":4124,"children":4125},{},[4126,4131],{"type":426,"tag":446,"props":4127,"children":4128},{},[4129],{"type":431,"value":4130},"Does Rapiwa charge per school notification message?",{"type":431,"value":4132},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. A school with 500 students sending daily updates pays $5\u002Fmonth total.",{"type":426,"tag":427,"props":4134,"children":4135},{},[4136,4141],{"type":426,"tag":446,"props":4137,"children":4138},{},[4139],{"type":431,"value":4140},"How do I collect parent WhatsApp consent?",{"type":431,"value":4142},"\nAdd an opt-in checkbox at enrollment: \"I consent to receive school notifications via WhatsApp at the number provided.\" Store the consent record with timestamp.",{"type":426,"tag":427,"props":4144,"children":4145},{},[4146,4151],{"type":426,"tag":446,"props":4147,"children":4148},{},[4149],{"type":431,"value":4150},"Can parents reply to attendance alerts?",{"type":431,"value":4152},"\nYes. Set up a Rapiwa webhook to receive incoming replies. When a parent replies \"She is unwell today,\" log it in the attendance system and notify the class teacher.",{"type":426,"tag":427,"props":4154,"children":4155},{},[4156,4161],{"type":426,"tag":446,"props":4157,"children":4158},{},[4159],{"type":431,"value":4160},"What if some parents don't use WhatsApp?",{"type":431,"value":4162},"\nThe WhatsApp API only delivers to active WhatsApp numbers. For parents without WhatsApp, maintain a parallel email or SMS notification system. Check if the number is on WhatsApp before enrolling it.",{"type":426,"tag":4164,"props":4165,"children":4166},"style",{},[4167],{"type":431,"value":4168},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":417,"searchDepth":588,"depth":588,"links":4170},[4171,4172,4180,4185,4186],{"id":436,"depth":588,"text":439},{"id":510,"depth":588,"text":513,"children":4173},[4174,4175,4176,4177,4178,4179],{"id":517,"depth":606,"text":520},{"id":759,"depth":606,"text":762},{"id":2554,"depth":606,"text":2557},{"id":2586,"depth":606,"text":2589},{"id":3342,"depth":606,"text":3345},{"id":3771,"depth":606,"text":3774},{"id":3803,"depth":588,"text":3806,"children":4181},[4182,4183,4184],{"id":3809,"depth":606,"text":3812},{"id":3831,"depth":606,"text":3834},{"id":3855,"depth":606,"text":3858},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"markdown","content:blog:whatsapp-api-schools-parent-communication.md","content","blog\u002Fwhatsapp-api-schools-parent-communication.md","blog\u002Fwhatsapp-api-schools-parent-communication","md",{"loc":5},{"_path":10,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":11,"description":12,"date":4195,"author":4196,"category":8,"_slug":4197,"image":4198,"body":4199,"_type":4187,"_id":6852,"_source":4189,"_file":6853,"_stem":6854,"_extension":4192,"sitemap":6855},"2026-03-31","Moumina","whatsapp-api-travel-agencies-itineraries-bookings","\u002Fimages\u002Fblog\u002Fwhatsapp-api-travel-agencies-itineraries-bookings.svg",{"type":423,"children":4200,"toc":6834},[4201,4206,4212,4217,4259,4265,4271,4280,4289,4382,4389,4465,4471,4480,4489,5207,5213,5218,5328,5334,5343,5352,5360,5366,5371,6266,6272,6281,6290,6298,6304,6308,6319,6325,6330,6354,6360,6713,6717,6760,6764,6790,6800,6810,6820,6830],{"type":426,"tag":427,"props":4202,"children":4203},{},[4204],{"type":431,"value":4205},"WhatsApp API for travel agencies lets tour operators, booking platforms, and travel consultants automatically send booking confirmations, itineraries, travel alerts, and post-trip review requests to travellers via WhatsApp. Using Rapiwa API ($5\u002Fmonth, no per-message fees), travel agencies reduce customer anxiety, improve traveller satisfaction, and save hours of manual communication per booking.",{"type":426,"tag":434,"props":4207,"children":4209},{"id":4208},"why-travel-agencies-need-whatsapp-automation",[4210],{"type":431,"value":4211},"Why Travel Agencies Need WhatsApp Automation",{"type":426,"tag":427,"props":4213,"children":4214},{},[4215],{"type":431,"value":4216},"Travel bookings involve complex, time-sensitive communication — flight details, hotel addresses, tour pickup times, visa requirements. Travellers miss emails containing critical information. Phone calls interrupt agents. WhatsApp is the answer:",{"type":426,"tag":454,"props":4218,"children":4219},{},[4220,4229,4239,4249],{"type":426,"tag":458,"props":4221,"children":4222},{},[4223,4227],{"type":426,"tag":446,"props":4224,"children":4225},{},[4226],{"type":431,"value":465},{"type":431,"value":4228}," — itinerary messages are actually read before departure",{"type":426,"tag":458,"props":4230,"children":4231},{},[4232,4237],{"type":426,"tag":446,"props":4233,"children":4234},{},[4235],{"type":431,"value":4236},"Travellers already use WhatsApp",{"type":431,"value":4238}," on their phones while travelling internationally",{"type":426,"tag":458,"props":4240,"children":4241},{},[4242,4247],{"type":426,"tag":446,"props":4243,"children":4244},{},[4245],{"type":431,"value":4246},"Quick replies",{"type":431,"value":4248}," — travellers can ask questions and get instant responses",{"type":426,"tag":458,"props":4250,"children":4251},{},[4252,4257],{"type":426,"tag":446,"props":4253,"children":4254},{},[4255],{"type":431,"value":4256},"Media support",{"type":431,"value":4258}," — send maps, vouchers, QR codes, and PDF itineraries",{"type":426,"tag":434,"props":4260,"children":4262},{"id":4261},"top-6-whatsapp-automation-use-cases-for-travel-agencies",[4263],{"type":431,"value":4264},"Top 6 WhatsApp Automation Use Cases for Travel Agencies",{"type":426,"tag":515,"props":4266,"children":4268},{"id":4267},"_1-booking-confirmation",[4269],{"type":431,"value":4270},"1. Booking Confirmation",{"type":426,"tag":427,"props":4272,"children":4273},{},[4274,4278],{"type":426,"tag":446,"props":4275,"children":4276},{},[4277],{"type":431,"value":528},{"type":431,"value":4279},": Travellers worry if their tour or flight booking went through.",{"type":426,"tag":427,"props":4281,"children":4282},{},[4283,4287],{"type":426,"tag":446,"props":4284,"children":4285},{},[4286],{"type":431,"value":538},{"type":431,"value":4288},": WhatsApp confirmation within 30 seconds of booking.",{"type":426,"tag":542,"props":4290,"children":4292},{"code":4291,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Booking Confirmed! ✈️\\n\\nHi Sarah!\\n\\nYour Cox'\"'\"'s Bazar tour package is confirmed:\\n\\n🔖 Booking: TRV-2026-4521\\n📅 Departure: July 20, 2026\\n📅 Return: July 23, 2026\\n👥 Passengers: 2\\n🏨 Hotel: Sea Pearl Beach Resort\\n💰 Total: BDT 45,000\\n\\nFull itinerary will be sent 48 hours before departure!\\n\\nQuestions? Just reply here. 🌏\"\n  }'\n",[4293],{"type":426,"tag":549,"props":4294,"children":4295},{"__ignoreMap":417},[4296,4319,4334,4349,4360,4367,4375],{"type":426,"tag":553,"props":4297,"children":4298},{"class":555,"line":556},[4299,4303,4307,4311,4315],{"type":426,"tag":553,"props":4300,"children":4301},{"style":560},[4302],{"type":431,"value":563},{"type":426,"tag":553,"props":4304,"children":4305},{"style":566},[4306],{"type":431,"value":569},{"type":426,"tag":553,"props":4308,"children":4309},{"style":572},[4310],{"type":431,"value":575},{"type":426,"tag":553,"props":4312,"children":4313},{"style":572},[4314],{"type":431,"value":580},{"type":426,"tag":553,"props":4316,"children":4317},{"style":566},[4318],{"type":431,"value":585},{"type":426,"tag":553,"props":4320,"children":4321},{"class":555,"line":588},[4322,4326,4330],{"type":426,"tag":553,"props":4323,"children":4324},{"style":566},[4325],{"type":431,"value":594},{"type":426,"tag":553,"props":4327,"children":4328},{"style":572},[4329],{"type":431,"value":599},{"type":426,"tag":553,"props":4331,"children":4332},{"style":566},[4333],{"type":431,"value":585},{"type":426,"tag":553,"props":4335,"children":4336},{"class":555,"line":606},[4337,4341,4345],{"type":426,"tag":553,"props":4338,"children":4339},{"style":566},[4340],{"type":431,"value":594},{"type":426,"tag":553,"props":4342,"children":4343},{"style":572},[4344],{"type":431,"value":616},{"type":426,"tag":553,"props":4346,"children":4347},{"style":566},[4348],{"type":431,"value":585},{"type":426,"tag":553,"props":4350,"children":4351},{"class":555,"line":623},[4352,4356],{"type":426,"tag":553,"props":4353,"children":4354},{"style":566},[4355],{"type":431,"value":629},{"type":426,"tag":553,"props":4357,"children":4358},{"style":572},[4359],{"type":431,"value":634},{"type":426,"tag":553,"props":4361,"children":4362},{"class":555,"line":637},[4363],{"type":426,"tag":553,"props":4364,"children":4365},{"style":572},[4366],{"type":431,"value":643},{"type":426,"tag":553,"props":4368,"children":4369},{"class":555,"line":646},[4370],{"type":426,"tag":553,"props":4371,"children":4372},{"style":572},[4373],{"type":431,"value":4374},"    \"message\": \"Booking Confirmed! ✈️\\n\\nHi Sarah!\\n\\nYour Cox'\"'\"'s Bazar tour package is confirmed:\\n\\n🔖 Booking: TRV-2026-4521\\n📅 Departure: July 20, 2026\\n📅 Return: July 23, 2026\\n👥 Passengers: 2\\n🏨 Hotel: Sea Pearl Beach Resort\\n💰 Total: BDT 45,000\\n\\nFull itinerary will be sent 48 hours before departure!\\n\\nQuestions? Just reply here. 🌏\"\n",{"type":426,"tag":553,"props":4376,"children":4377},{"class":555,"line":655},[4378],{"type":426,"tag":553,"props":4379,"children":4380},{"style":572},[4381],{"type":431,"value":661},{"type":426,"tag":427,"props":4383,"children":4384},{},[4385],{"type":426,"tag":446,"props":4386,"children":4387},{},[4388],{"type":431,"value":669},{"type":426,"tag":542,"props":4390,"children":4392},{"code":4391,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_travel_abc123\",\n  \"timestamp\": \"2026-07-19T10:30:00Z\"\n}\n",[4393],{"type":426,"tag":549,"props":4394,"children":4395},{"__ignoreMap":417},[4396,4403,4422,4442,4458],{"type":426,"tag":553,"props":4397,"children":4398},{"class":555,"line":556},[4399],{"type":426,"tag":553,"props":4400,"children":4401},{"style":684},[4402],{"type":431,"value":687},{"type":426,"tag":553,"props":4404,"children":4405},{"class":555,"line":588},[4406,4410,4414,4418],{"type":426,"tag":553,"props":4407,"children":4408},{"style":566},[4409],{"type":431,"value":695},{"type":426,"tag":553,"props":4411,"children":4412},{"style":684},[4413],{"type":431,"value":700},{"type":426,"tag":553,"props":4415,"children":4416},{"style":572},[4417],{"type":431,"value":705},{"type":426,"tag":553,"props":4419,"children":4420},{"style":684},[4421],{"type":431,"value":710},{"type":426,"tag":553,"props":4423,"children":4424},{"class":555,"line":606},[4425,4429,4433,4438],{"type":426,"tag":553,"props":4426,"children":4427},{"style":566},[4428],{"type":431,"value":718},{"type":426,"tag":553,"props":4430,"children":4431},{"style":684},[4432],{"type":431,"value":700},{"type":426,"tag":553,"props":4434,"children":4435},{"style":572},[4436],{"type":431,"value":4437},"\"msg_travel_abc123\"",{"type":426,"tag":553,"props":4439,"children":4440},{"style":684},[4441],{"type":431,"value":710},{"type":426,"tag":553,"props":4443,"children":4444},{"class":555,"line":623},[4445,4449,4453],{"type":426,"tag":553,"props":4446,"children":4447},{"style":566},[4448],{"type":431,"value":739},{"type":426,"tag":553,"props":4450,"children":4451},{"style":684},[4452],{"type":431,"value":700},{"type":426,"tag":553,"props":4454,"children":4455},{"style":572},[4456],{"type":431,"value":4457},"\"2026-07-19T10:30:00Z\"\n",{"type":426,"tag":553,"props":4459,"children":4460},{"class":555,"line":637},[4461],{"type":426,"tag":553,"props":4462,"children":4463},{"style":684},[4464],{"type":431,"value":756},{"type":426,"tag":515,"props":4466,"children":4468},{"id":4467},"_2-pre-departure-itinerary-48-hours-before",[4469],{"type":431,"value":4470},"2. Pre-Departure Itinerary (48 Hours Before)",{"type":426,"tag":427,"props":4472,"children":4473},{},[4474,4478],{"type":426,"tag":446,"props":4475,"children":4476},{},[4477],{"type":431,"value":528},{"type":431,"value":4479},": Travellers don't know what to pack, where to meet, or what time the tour starts.",{"type":426,"tag":427,"props":4481,"children":4482},{},[4483,4487],{"type":426,"tag":446,"props":4484,"children":4485},{},[4486],{"type":431,"value":538},{"type":431,"value":4488},": Detailed WhatsApp itinerary 48 hours before departure.",{"type":426,"tag":542,"props":4490,"children":4492},{"code":4491,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef send_pre_departure_itinerary(traveller: dict, tour: dict, api_key: str) -> dict:\n    \"\"\"Send a detailed WhatsApp pre-departure message.\"\"\"\n    \n    message = (\n        f\"📋 Your Departure Pack — 48 Hours to Go!\\n\\n\"\n        f\"Hi {traveller['name']}!\\n\\n\"\n        f\"*Tour:* {tour['name']}\\n\"\n        f\"*Date:* {tour['departure_date']}\\n\\n\"\n        f\"📍 *Meeting Point*\\n\"\n        f\"{tour['pickup_location']}\\n\"\n        f\"⏰ Meet by: {tour['pickup_time']}\\n\\n\"\n        f\"🧳 *What to Bring*\\n\"\n        f\"• Valid photo ID\\n\"\n        f\"• Comfortable walking shoes\\n\"\n        f\"• {tour['specific_items']}\\n\\n\"\n        f\"📞 *Emergency Contact*\\n\"\n        f\"Tour guide {tour['guide_name']}: {tour['guide_phone']}\\n\\n\"\n        f\"🗺️ *Full Itinerary PDF*\\n\"\n        f\"{tour['itinerary_pdf_url']}\\n\\n\"\n        f\"Have a wonderful trip! 🌟\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': traveller['phone'], 'message': message}\n    ).json()\n",[4493],{"type":426,"tag":549,"props":4494,"children":4495},{"__ignoreMap":417},[4496,4507,4514,4564,4572,4579,4594,4614,4660,4697,4734,4754,4790,4827,4847,4867,4887,4923,4943,5005,5025,5061,5073,5080,5087,5098,5109,5160,5200],{"type":426,"tag":553,"props":4497,"children":4498},{"class":555,"line":556},[4499,4503],{"type":426,"tag":553,"props":4500,"children":4501},{"style":795},[4502],{"type":431,"value":798},{"type":426,"tag":553,"props":4504,"children":4505},{"style":684},[4506],{"type":431,"value":803},{"type":426,"tag":553,"props":4508,"children":4509},{"class":555,"line":588},[4510],{"type":426,"tag":553,"props":4511,"children":4512},{"emptyLinePlaceholder":831},[4513],{"type":431,"value":834},{"type":426,"tag":553,"props":4515,"children":4516},{"class":555,"line":606},[4517,4521,4526,4531,4535,4540,4544,4548,4552,4556,4560],{"type":426,"tag":553,"props":4518,"children":4519},{"style":795},[4520],{"type":431,"value":842},{"type":426,"tag":553,"props":4522,"children":4523},{"style":560},[4524],{"type":431,"value":4525}," send_pre_departure_itinerary",{"type":426,"tag":553,"props":4527,"children":4528},{"style":684},[4529],{"type":431,"value":4530},"(traveller: ",{"type":426,"tag":553,"props":4532,"children":4533},{"style":566},[4534],{"type":431,"value":857},{"type":426,"tag":553,"props":4536,"children":4537},{"style":684},[4538],{"type":431,"value":4539},", tour: ",{"type":426,"tag":553,"props":4541,"children":4542},{"style":566},[4543],{"type":431,"value":857},{"type":426,"tag":553,"props":4545,"children":4546},{"style":684},[4547],{"type":431,"value":890},{"type":426,"tag":553,"props":4549,"children":4550},{"style":566},[4551],{"type":431,"value":895},{"type":426,"tag":553,"props":4553,"children":4554},{"style":684},[4555],{"type":431,"value":900},{"type":426,"tag":553,"props":4557,"children":4558},{"style":566},[4559],{"type":431,"value":857},{"type":426,"tag":553,"props":4561,"children":4562},{"style":684},[4563],{"type":431,"value":909},{"type":426,"tag":553,"props":4565,"children":4566},{"class":555,"line":623},[4567],{"type":426,"tag":553,"props":4568,"children":4569},{"style":572},[4570],{"type":431,"value":4571},"    \"\"\"Send a detailed WhatsApp pre-departure message.\"\"\"\n",{"type":426,"tag":553,"props":4573,"children":4574},{"class":555,"line":637},[4575],{"type":426,"tag":553,"props":4576,"children":4577},{"style":684},[4578],{"type":431,"value":917},{"type":426,"tag":553,"props":4580,"children":4581},{"class":555,"line":646},[4582,4586,4590],{"type":426,"tag":553,"props":4583,"children":4584},{"style":684},[4585],{"type":431,"value":1198},{"type":426,"tag":553,"props":4587,"children":4588},{"style":795},[4589],{"type":431,"value":957},{"type":426,"tag":553,"props":4591,"children":4592},{"style":684},[4593],{"type":431,"value":1207},{"type":426,"tag":553,"props":4595,"children":4596},{"class":555,"line":655},[4597,4601,4606,4610],{"type":426,"tag":553,"props":4598,"children":4599},{"style":795},[4600],{"type":431,"value":1216},{"type":426,"tag":553,"props":4602,"children":4603},{"style":572},[4604],{"type":431,"value":4605},"\"📋 Your Departure Pack — 48 Hours to Go!",{"type":426,"tag":553,"props":4607,"children":4608},{"style":566},[4609],{"type":431,"value":1295},{"type":426,"tag":553,"props":4611,"children":4612},{"style":572},[4613],{"type":431,"value":1250},{"type":426,"tag":553,"props":4615,"children":4616},{"class":555,"line":1036},[4617,4621,4626,4630,4635,4639,4643,4647,4652,4656],{"type":426,"tag":553,"props":4618,"children":4619},{"style":795},[4620],{"type":431,"value":1216},{"type":426,"tag":553,"props":4622,"children":4623},{"style":572},[4624],{"type":431,"value":4625},"\"Hi ",{"type":426,"tag":553,"props":4627,"children":4628},{"style":566},[4629],{"type":431,"value":972},{"type":426,"tag":553,"props":4631,"children":4632},{"style":684},[4633],{"type":431,"value":4634},"traveller[",{"type":426,"tag":553,"props":4636,"children":4637},{"style":572},[4638],{"type":431,"value":1277},{"type":426,"tag":553,"props":4640,"children":4641},{"style":684},[4642],{"type":431,"value":1240},{"type":426,"tag":553,"props":4644,"children":4645},{"style":566},[4646],{"type":431,"value":982},{"type":426,"tag":553,"props":4648,"children":4649},{"style":572},[4650],{"type":431,"value":4651},"!",{"type":426,"tag":553,"props":4653,"children":4654},{"style":566},[4655],{"type":431,"value":1295},{"type":426,"tag":553,"props":4657,"children":4658},{"style":572},[4659],{"type":431,"value":1250},{"type":426,"tag":553,"props":4661,"children":4662},{"class":555,"line":1054},[4663,4667,4672,4676,4681,4685,4689,4693],{"type":426,"tag":553,"props":4664,"children":4665},{"style":795},[4666],{"type":431,"value":1216},{"type":426,"tag":553,"props":4668,"children":4669},{"style":572},[4670],{"type":431,"value":4671},"\"*Tour:* ",{"type":426,"tag":553,"props":4673,"children":4674},{"style":566},[4675],{"type":431,"value":972},{"type":426,"tag":553,"props":4677,"children":4678},{"style":684},[4679],{"type":431,"value":4680},"tour[",{"type":426,"tag":553,"props":4682,"children":4683},{"style":572},[4684],{"type":431,"value":1277},{"type":426,"tag":553,"props":4686,"children":4687},{"style":684},[4688],{"type":431,"value":1240},{"type":426,"tag":553,"props":4690,"children":4691},{"style":566},[4692],{"type":431,"value":1407},{"type":426,"tag":553,"props":4694,"children":4695},{"style":572},[4696],{"type":431,"value":1250},{"type":426,"tag":553,"props":4698,"children":4699},{"class":555,"line":1080},[4700,4704,4709,4713,4717,4722,4726,4730],{"type":426,"tag":553,"props":4701,"children":4702},{"style":795},[4703],{"type":431,"value":1216},{"type":426,"tag":553,"props":4705,"children":4706},{"style":572},[4707],{"type":431,"value":4708},"\"*Date:* ",{"type":426,"tag":553,"props":4710,"children":4711},{"style":566},[4712],{"type":431,"value":972},{"type":426,"tag":553,"props":4714,"children":4715},{"style":684},[4716],{"type":431,"value":4680},{"type":426,"tag":553,"props":4718,"children":4719},{"style":572},[4720],{"type":431,"value":4721},"'departure_date'",{"type":426,"tag":553,"props":4723,"children":4724},{"style":684},[4725],{"type":431,"value":1240},{"type":426,"tag":553,"props":4727,"children":4728},{"style":566},[4729],{"type":431,"value":1245},{"type":426,"tag":553,"props":4731,"children":4732},{"style":572},[4733],{"type":431,"value":1250},{"type":426,"tag":553,"props":4735,"children":4736},{"class":555,"line":1097},[4737,4741,4746,4750],{"type":426,"tag":553,"props":4738,"children":4739},{"style":795},[4740],{"type":431,"value":1216},{"type":426,"tag":553,"props":4742,"children":4743},{"style":572},[4744],{"type":431,"value":4745},"\"📍 *Meeting Point*",{"type":426,"tag":553,"props":4747,"children":4748},{"style":566},[4749],{"type":431,"value":3661},{"type":426,"tag":553,"props":4751,"children":4752},{"style":572},[4753],{"type":431,"value":1250},{"type":426,"tag":553,"props":4755,"children":4756},{"class":555,"line":1114},[4757,4761,4765,4769,4773,4778,4782,4786],{"type":426,"tag":553,"props":4758,"children":4759},{"style":795},[4760],{"type":431,"value":1216},{"type":426,"tag":553,"props":4762,"children":4763},{"style":572},[4764],{"type":431,"value":1527},{"type":426,"tag":553,"props":4766,"children":4767},{"style":566},[4768],{"type":431,"value":972},{"type":426,"tag":553,"props":4770,"children":4771},{"style":684},[4772],{"type":431,"value":4680},{"type":426,"tag":553,"props":4774,"children":4775},{"style":572},[4776],{"type":431,"value":4777},"'pickup_location'",{"type":426,"tag":553,"props":4779,"children":4780},{"style":684},[4781],{"type":431,"value":1240},{"type":426,"tag":553,"props":4783,"children":4784},{"style":566},[4785],{"type":431,"value":1407},{"type":426,"tag":553,"props":4787,"children":4788},{"style":572},[4789],{"type":431,"value":1250},{"type":426,"tag":553,"props":4791,"children":4792},{"class":555,"line":1127},[4793,4797,4802,4806,4810,4815,4819,4823],{"type":426,"tag":553,"props":4794,"children":4795},{"style":795},[4796],{"type":431,"value":1216},{"type":426,"tag":553,"props":4798,"children":4799},{"style":572},[4800],{"type":431,"value":4801},"\"⏰ Meet by: ",{"type":426,"tag":553,"props":4803,"children":4804},{"style":566},[4805],{"type":431,"value":972},{"type":426,"tag":553,"props":4807,"children":4808},{"style":684},[4809],{"type":431,"value":4680},{"type":426,"tag":553,"props":4811,"children":4812},{"style":572},[4813],{"type":431,"value":4814},"'pickup_time'",{"type":426,"tag":553,"props":4816,"children":4817},{"style":684},[4818],{"type":431,"value":1240},{"type":426,"tag":553,"props":4820,"children":4821},{"style":566},[4822],{"type":431,"value":1245},{"type":426,"tag":553,"props":4824,"children":4825},{"style":572},[4826],{"type":431,"value":1250},{"type":426,"tag":553,"props":4828,"children":4829},{"class":555,"line":1167},[4830,4834,4839,4843],{"type":426,"tag":553,"props":4831,"children":4832},{"style":795},[4833],{"type":431,"value":1216},{"type":426,"tag":553,"props":4835,"children":4836},{"style":572},[4837],{"type":431,"value":4838},"\"🧳 *What to Bring*",{"type":426,"tag":553,"props":4840,"children":4841},{"style":566},[4842],{"type":431,"value":3661},{"type":426,"tag":553,"props":4844,"children":4845},{"style":572},[4846],{"type":431,"value":1250},{"type":426,"tag":553,"props":4848,"children":4849},{"class":555,"line":1184},[4850,4854,4859,4863],{"type":426,"tag":553,"props":4851,"children":4852},{"style":795},[4853],{"type":431,"value":1216},{"type":426,"tag":553,"props":4855,"children":4856},{"style":572},[4857],{"type":431,"value":4858},"\"• Valid photo ID",{"type":426,"tag":553,"props":4860,"children":4861},{"style":566},[4862],{"type":431,"value":3661},{"type":426,"tag":553,"props":4864,"children":4865},{"style":572},[4866],{"type":431,"value":1250},{"type":426,"tag":553,"props":4868,"children":4869},{"class":555,"line":1192},[4870,4874,4879,4883],{"type":426,"tag":553,"props":4871,"children":4872},{"style":795},[4873],{"type":431,"value":1216},{"type":426,"tag":553,"props":4875,"children":4876},{"style":572},[4877],{"type":431,"value":4878},"\"• Comfortable walking shoes",{"type":426,"tag":553,"props":4880,"children":4881},{"style":566},[4882],{"type":431,"value":3661},{"type":426,"tag":553,"props":4884,"children":4885},{"style":572},[4886],{"type":431,"value":1250},{"type":426,"tag":553,"props":4888,"children":4889},{"class":555,"line":1210},[4890,4894,4898,4902,4906,4911,4915,4919],{"type":426,"tag":553,"props":4891,"children":4892},{"style":795},[4893],{"type":431,"value":1216},{"type":426,"tag":553,"props":4895,"children":4896},{"style":572},[4897],{"type":431,"value":3679},{"type":426,"tag":553,"props":4899,"children":4900},{"style":566},[4901],{"type":431,"value":972},{"type":426,"tag":553,"props":4903,"children":4904},{"style":684},[4905],{"type":431,"value":4680},{"type":426,"tag":553,"props":4907,"children":4908},{"style":572},[4909],{"type":431,"value":4910},"'specific_items'",{"type":426,"tag":553,"props":4912,"children":4913},{"style":684},[4914],{"type":431,"value":1240},{"type":426,"tag":553,"props":4916,"children":4917},{"style":566},[4918],{"type":431,"value":1245},{"type":426,"tag":553,"props":4920,"children":4921},{"style":572},[4922],{"type":431,"value":1250},{"type":426,"tag":553,"props":4924,"children":4925},{"class":555,"line":1253},[4926,4930,4935,4939],{"type":426,"tag":553,"props":4927,"children":4928},{"style":795},[4929],{"type":431,"value":1216},{"type":426,"tag":553,"props":4931,"children":4932},{"style":572},[4933],{"type":431,"value":4934},"\"📞 *Emergency Contact*",{"type":426,"tag":553,"props":4936,"children":4937},{"style":566},[4938],{"type":431,"value":3661},{"type":426,"tag":553,"props":4940,"children":4941},{"style":572},[4942],{"type":431,"value":1250},{"type":426,"tag":553,"props":4944,"children":4945},{"class":555,"line":1302},[4946,4950,4955,4959,4963,4968,4972,4976,4980,4984,4988,4993,4997,5001],{"type":426,"tag":553,"props":4947,"children":4948},{"style":795},[4949],{"type":431,"value":1216},{"type":426,"tag":553,"props":4951,"children":4952},{"style":572},[4953],{"type":431,"value":4954},"\"Tour guide ",{"type":426,"tag":553,"props":4956,"children":4957},{"style":566},[4958],{"type":431,"value":972},{"type":426,"tag":553,"props":4960,"children":4961},{"style":684},[4962],{"type":431,"value":4680},{"type":426,"tag":553,"props":4964,"children":4965},{"style":572},[4966],{"type":431,"value":4967},"'guide_name'",{"type":426,"tag":553,"props":4969,"children":4970},{"style":684},[4971],{"type":431,"value":1240},{"type":426,"tag":553,"props":4973,"children":4974},{"style":566},[4975],{"type":431,"value":982},{"type":426,"tag":553,"props":4977,"children":4978},{"style":572},[4979],{"type":431,"value":700},{"type":426,"tag":553,"props":4981,"children":4982},{"style":566},[4983],{"type":431,"value":972},{"type":426,"tag":553,"props":4985,"children":4986},{"style":684},[4987],{"type":431,"value":4680},{"type":426,"tag":553,"props":4989,"children":4990},{"style":572},[4991],{"type":431,"value":4992},"'guide_phone'",{"type":426,"tag":553,"props":4994,"children":4995},{"style":684},[4996],{"type":431,"value":1240},{"type":426,"tag":553,"props":4998,"children":4999},{"style":566},[5000],{"type":431,"value":1245},{"type":426,"tag":553,"props":5002,"children":5003},{"style":572},[5004],{"type":431,"value":1250},{"type":426,"tag":553,"props":5006,"children":5007},{"class":555,"line":1374},[5008,5012,5017,5021],{"type":426,"tag":553,"props":5009,"children":5010},{"style":795},[5011],{"type":431,"value":1216},{"type":426,"tag":553,"props":5013,"children":5014},{"style":572},[5015],{"type":431,"value":5016},"\"🗺️ *Full Itinerary PDF*",{"type":426,"tag":553,"props":5018,"children":5019},{"style":566},[5020],{"type":431,"value":3661},{"type":426,"tag":553,"props":5022,"children":5023},{"style":572},[5024],{"type":431,"value":1250},{"type":426,"tag":553,"props":5026,"children":5027},{"class":555,"line":1414},[5028,5032,5036,5040,5044,5049,5053,5057],{"type":426,"tag":553,"props":5029,"children":5030},{"style":795},[5031],{"type":431,"value":1216},{"type":426,"tag":553,"props":5033,"children":5034},{"style":572},[5035],{"type":431,"value":1527},{"type":426,"tag":553,"props":5037,"children":5038},{"style":566},[5039],{"type":431,"value":972},{"type":426,"tag":553,"props":5041,"children":5042},{"style":684},[5043],{"type":431,"value":4680},{"type":426,"tag":553,"props":5045,"children":5046},{"style":572},[5047],{"type":431,"value":5048},"'itinerary_pdf_url'",{"type":426,"tag":553,"props":5050,"children":5051},{"style":684},[5052],{"type":431,"value":1240},{"type":426,"tag":553,"props":5054,"children":5055},{"style":566},[5056],{"type":431,"value":1245},{"type":426,"tag":553,"props":5058,"children":5059},{"style":572},[5060],{"type":431,"value":1250},{"type":426,"tag":553,"props":5062,"children":5063},{"class":555,"line":1479},[5064,5068],{"type":426,"tag":553,"props":5065,"children":5066},{"style":795},[5067],{"type":431,"value":1216},{"type":426,"tag":553,"props":5069,"children":5070},{"style":572},[5071],{"type":431,"value":5072},"\"Have a wonderful trip! 🌟\"\n",{"type":426,"tag":553,"props":5074,"children":5075},{"class":555,"line":1517},[5076],{"type":426,"tag":553,"props":5077,"children":5078},{"style":684},[5079],{"type":431,"value":1642},{"type":426,"tag":553,"props":5081,"children":5082},{"class":555,"line":1560},[5083],{"type":426,"tag":553,"props":5084,"children":5085},{"style":684},[5086],{"type":431,"value":917},{"type":426,"tag":553,"props":5088,"children":5089},{"class":555,"line":1598},[5090,5094],{"type":426,"tag":553,"props":5091,"children":5092},{"style":795},[5093],{"type":431,"value":1659},{"type":426,"tag":553,"props":5095,"children":5096},{"style":684},[5097],{"type":431,"value":1664},{"type":426,"tag":553,"props":5099,"children":5100},{"class":555,"line":1636},[5101,5105],{"type":426,"tag":553,"props":5102,"children":5103},{"style":572},[5104],{"type":431,"value":1673},{"type":426,"tag":553,"props":5106,"children":5107},{"style":684},[5108],{"type":431,"value":710},{"type":426,"tag":553,"props":5110,"children":5111},{"class":555,"line":1645},[5112,5116,5120,5124,5128,5132,5136,5140,5144,5148,5152,5156],{"type":426,"tag":553,"props":5113,"children":5114},{"style":1684},[5115],{"type":431,"value":1687},{"type":426,"tag":553,"props":5117,"children":5118},{"style":795},[5119],{"type":431,"value":957},{"type":426,"tag":553,"props":5121,"children":5122},{"style":684},[5123],{"type":431,"value":972},{"type":426,"tag":553,"props":5125,"children":5126},{"style":572},[5127],{"type":431,"value":1700},{"type":426,"tag":553,"props":5129,"children":5130},{"style":684},[5131],{"type":431,"value":700},{"type":426,"tag":553,"props":5133,"children":5134},{"style":795},[5135],{"type":431,"value":1709},{"type":426,"tag":553,"props":5137,"children":5138},{"style":572},[5139],{"type":431,"value":1714},{"type":426,"tag":553,"props":5141,"children":5142},{"style":566},[5143],{"type":431,"value":972},{"type":426,"tag":553,"props":5145,"children":5146},{"style":684},[5147],{"type":431,"value":1723},{"type":426,"tag":553,"props":5149,"children":5150},{"style":566},[5151],{"type":431,"value":982},{"type":426,"tag":553,"props":5153,"children":5154},{"style":572},[5155],{"type":431,"value":1732},{"type":426,"tag":553,"props":5157,"children":5158},{"style":684},[5159],{"type":431,"value":1737},{"type":426,"tag":553,"props":5161,"children":5162},{"class":555,"line":1653},[5163,5167,5171,5175,5179,5184,5188,5192,5196],{"type":426,"tag":553,"props":5164,"children":5165},{"style":1684},[5166],{"type":431,"value":1746},{"type":426,"tag":553,"props":5168,"children":5169},{"style":795},[5170],{"type":431,"value":957},{"type":426,"tag":553,"props":5172,"children":5173},{"style":684},[5174],{"type":431,"value":972},{"type":426,"tag":553,"props":5176,"children":5177},{"style":572},[5178],{"type":431,"value":1759},{"type":426,"tag":553,"props":5180,"children":5181},{"style":684},[5182],{"type":431,"value":5183},": traveller[",{"type":426,"tag":553,"props":5185,"children":5186},{"style":572},[5187],{"type":431,"value":1769},{"type":426,"tag":553,"props":5189,"children":5190},{"style":684},[5191],{"type":431,"value":1774},{"type":426,"tag":553,"props":5193,"children":5194},{"style":572},[5195],{"type":431,"value":1779},{"type":426,"tag":553,"props":5197,"children":5198},{"style":684},[5199],{"type":431,"value":1784},{"type":426,"tag":553,"props":5201,"children":5202},{"class":555,"line":1667},[5203],{"type":426,"tag":553,"props":5204,"children":5205},{"style":684},[5206],{"type":431,"value":1793},{"type":426,"tag":515,"props":5208,"children":5210},{"id":5209},"_3-itinerary-as-pdf-document",[5211],{"type":431,"value":5212},"3. Itinerary as PDF Document",{"type":426,"tag":427,"props":5214,"children":5215},{},[5216],{"type":431,"value":5217},"Send the full itinerary as a PDF that travellers can save and access offline:",{"type":426,"tag":542,"props":5219,"children":5221},{"code":5220,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"documentUrl\": \"https:\u002F\u002Fyoursite.com\u002Fitineraries\u002FTRV-2026-4521.pdf\",\n    \"filename\": \"Cox-Bazar-Itinerary.pdf\",\n    \"caption\": \"Your 3-day Cox'\"'\"'s Bazar itinerary. Download and save for offline access! 📄\"\n  }'\n",[5222],{"type":426,"tag":549,"props":5223,"children":5224},{"__ignoreMap":417},[5225,5249,5264,5279,5290,5297,5305,5313,5321],{"type":426,"tag":553,"props":5226,"children":5227},{"class":555,"line":556},[5228,5232,5236,5240,5245],{"type":426,"tag":553,"props":5229,"children":5230},{"style":560},[5231],{"type":431,"value":563},{"type":426,"tag":553,"props":5233,"children":5234},{"style":566},[5235],{"type":431,"value":569},{"type":426,"tag":553,"props":5237,"children":5238},{"style":572},[5239],{"type":431,"value":575},{"type":426,"tag":553,"props":5241,"children":5242},{"style":572},[5243],{"type":431,"value":5244}," https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document",{"type":426,"tag":553,"props":5246,"children":5247},{"style":566},[5248],{"type":431,"value":585},{"type":426,"tag":553,"props":5250,"children":5251},{"class":555,"line":588},[5252,5256,5260],{"type":426,"tag":553,"props":5253,"children":5254},{"style":566},[5255],{"type":431,"value":594},{"type":426,"tag":553,"props":5257,"children":5258},{"style":572},[5259],{"type":431,"value":599},{"type":426,"tag":553,"props":5261,"children":5262},{"style":566},[5263],{"type":431,"value":585},{"type":426,"tag":553,"props":5265,"children":5266},{"class":555,"line":606},[5267,5271,5275],{"type":426,"tag":553,"props":5268,"children":5269},{"style":566},[5270],{"type":431,"value":594},{"type":426,"tag":553,"props":5272,"children":5273},{"style":572},[5274],{"type":431,"value":616},{"type":426,"tag":553,"props":5276,"children":5277},{"style":566},[5278],{"type":431,"value":585},{"type":426,"tag":553,"props":5280,"children":5281},{"class":555,"line":623},[5282,5286],{"type":426,"tag":553,"props":5283,"children":5284},{"style":566},[5285],{"type":431,"value":629},{"type":426,"tag":553,"props":5287,"children":5288},{"style":572},[5289],{"type":431,"value":634},{"type":426,"tag":553,"props":5291,"children":5292},{"class":555,"line":637},[5293],{"type":426,"tag":553,"props":5294,"children":5295},{"style":572},[5296],{"type":431,"value":643},{"type":426,"tag":553,"props":5298,"children":5299},{"class":555,"line":646},[5300],{"type":426,"tag":553,"props":5301,"children":5302},{"style":572},[5303],{"type":431,"value":5304},"    \"documentUrl\": \"https:\u002F\u002Fyoursite.com\u002Fitineraries\u002FTRV-2026-4521.pdf\",\n",{"type":426,"tag":553,"props":5306,"children":5307},{"class":555,"line":655},[5308],{"type":426,"tag":553,"props":5309,"children":5310},{"style":572},[5311],{"type":431,"value":5312},"    \"filename\": \"Cox-Bazar-Itinerary.pdf\",\n",{"type":426,"tag":553,"props":5314,"children":5315},{"class":555,"line":1036},[5316],{"type":426,"tag":553,"props":5317,"children":5318},{"style":572},[5319],{"type":431,"value":5320},"    \"caption\": \"Your 3-day Cox'\"'\"'s Bazar itinerary. Download and save for offline access! 📄\"\n",{"type":426,"tag":553,"props":5322,"children":5323},{"class":555,"line":1054},[5324],{"type":426,"tag":553,"props":5325,"children":5326},{"style":572},[5327],{"type":431,"value":661},{"type":426,"tag":515,"props":5329,"children":5331},{"id":5330},"_4-day-of-travel-alert",[5332],{"type":431,"value":5333},"4. Day-of Travel Alert",{"type":426,"tag":427,"props":5335,"children":5336},{},[5337,5341],{"type":426,"tag":446,"props":5338,"children":5339},{},[5340],{"type":431,"value":528},{"type":431,"value":5342},": Tour pickup times change, weather disrupts plans — travellers need instant updates.",{"type":426,"tag":427,"props":5344,"children":5345},{},[5346,5350],{"type":426,"tag":446,"props":5347,"children":5348},{},[5349],{"type":431,"value":538},{"type":431,"value":5351},": Same-day WhatsApp alerts for any changes.",{"type":426,"tag":542,"props":5353,"children":5355},{"code":5354},"\"⚠️ Important Update — Today'\"'\"'s Tour\n\nHi Sarah! A quick update for today'\"'\"'s Cox'\"'\"'s Bazar tour:\n\nDue to heavy morning rain, departure is delayed by 1 hour.\n\nNEW pickup time: 9:00 AM (was 8:00 AM)\nSame meeting point: Hotel lobby, Sea Pearl\n\nOur guide will contact you if there are further changes.\nGuide: Rahim — +880 1234 567890\n\nThank you for your patience! 🙏\"\n",[5356],{"type":426,"tag":549,"props":5357,"children":5358},{"__ignoreMap":417},[5359],{"type":431,"value":5354},{"type":426,"tag":515,"props":5361,"children":5363},{"id":5362},"_5-real-time-flight-accommodation-updates",[5364],{"type":431,"value":5365},"5. Real-Time Flight \u002F Accommodation Updates",{"type":426,"tag":427,"props":5367,"children":5368},{},[5369],{"type":431,"value":5370},"Connect to flight status APIs and hotel booking systems to send real-time updates:",{"type":426,"tag":542,"props":5372,"children":5374},{"code":5373,"language":784,"meta":417,"className":785,"style":417},"def send_flight_update(traveller: dict, flight: dict, api_key: str) -> dict:\n    \"\"\"Send WhatsApp flight status update.\"\"\"\n    \n    status_emoji = {\n        'on_time': '✅',\n        'delayed': '⚠️',\n        'cancelled': '❌',\n        'boarding': '🛫'\n    }\n    \n    emoji = status_emoji.get(flight['status'], '✈️')\n    \n    message = (\n        f\"{emoji} Flight Update\\n\\n\"\n        f\"Flight: {flight['number']} ({flight['origin']} → {flight['destination']})\\n\"\n        f\"Status: *{flight['status'].replace('_', ' ').title()}*\\n\"\n    )\n    \n    if flight['status'] == 'delayed':\n        message += (\n            f\"Original departure: {flight['scheduled_departure']}\\n\"\n            f\"New departure: {flight['actual_departure']}\\n\"\n            f\"Delay: {flight['delay_minutes']} minutes\\n\\n\"\n            f\"Gate: {flight['gate']}\"\n        )\n    elif flight['status'] == 'boarding':\n        message += (\n            f\"Now boarding at Gate {flight['gate']}\\n\"\n            f\"Please proceed to the gate immediately!\"\n        )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': traveller['phone'], 'message': message}\n    ).json()\n",[5375],{"type":426,"tag":549,"props":5376,"children":5377},{"__ignoreMap":417},[5378,5427,5435,5442,5459,5480,5501,5522,5539,5547,5554,5588,5595,5610,5647,5745,5810,5817,5824,5857,5873,5910,5947,5993,6030,6038,6070,6085,6121,6133,6140,6147,6158,6169,6220,6259],{"type":426,"tag":553,"props":5379,"children":5380},{"class":555,"line":556},[5381,5385,5390,5394,5398,5403,5407,5411,5415,5419,5423],{"type":426,"tag":553,"props":5382,"children":5383},{"style":795},[5384],{"type":431,"value":842},{"type":426,"tag":553,"props":5386,"children":5387},{"style":560},[5388],{"type":431,"value":5389}," send_flight_update",{"type":426,"tag":553,"props":5391,"children":5392},{"style":684},[5393],{"type":431,"value":4530},{"type":426,"tag":553,"props":5395,"children":5396},{"style":566},[5397],{"type":431,"value":857},{"type":426,"tag":553,"props":5399,"children":5400},{"style":684},[5401],{"type":431,"value":5402},", flight: ",{"type":426,"tag":553,"props":5404,"children":5405},{"style":566},[5406],{"type":431,"value":857},{"type":426,"tag":553,"props":5408,"children":5409},{"style":684},[5410],{"type":431,"value":890},{"type":426,"tag":553,"props":5412,"children":5413},{"style":566},[5414],{"type":431,"value":895},{"type":426,"tag":553,"props":5416,"children":5417},{"style":684},[5418],{"type":431,"value":900},{"type":426,"tag":553,"props":5420,"children":5421},{"style":566},[5422],{"type":431,"value":857},{"type":426,"tag":553,"props":5424,"children":5425},{"style":684},[5426],{"type":431,"value":909},{"type":426,"tag":553,"props":5428,"children":5429},{"class":555,"line":588},[5430],{"type":426,"tag":553,"props":5431,"children":5432},{"style":572},[5433],{"type":431,"value":5434},"    \"\"\"Send WhatsApp flight status update.\"\"\"\n",{"type":426,"tag":553,"props":5436,"children":5437},{"class":555,"line":606},[5438],{"type":426,"tag":553,"props":5439,"children":5440},{"style":684},[5441],{"type":431,"value":917},{"type":426,"tag":553,"props":5443,"children":5444},{"class":555,"line":623},[5445,5450,5454],{"type":426,"tag":553,"props":5446,"children":5447},{"style":684},[5448],{"type":431,"value":5449},"    status_emoji ",{"type":426,"tag":553,"props":5451,"children":5452},{"style":795},[5453],{"type":431,"value":957},{"type":426,"tag":553,"props":5455,"children":5456},{"style":684},[5457],{"type":431,"value":5458}," {\n",{"type":426,"tag":553,"props":5460,"children":5461},{"class":555,"line":637},[5462,5467,5471,5476],{"type":426,"tag":553,"props":5463,"children":5464},{"style":572},[5465],{"type":431,"value":5466},"        'on_time'",{"type":426,"tag":553,"props":5468,"children":5469},{"style":684},[5470],{"type":431,"value":700},{"type":426,"tag":553,"props":5472,"children":5473},{"style":572},[5474],{"type":431,"value":5475},"'✅'",{"type":426,"tag":553,"props":5477,"children":5478},{"style":684},[5479],{"type":431,"value":710},{"type":426,"tag":553,"props":5481,"children":5482},{"class":555,"line":646},[5483,5488,5492,5497],{"type":426,"tag":553,"props":5484,"children":5485},{"style":572},[5486],{"type":431,"value":5487},"        'delayed'",{"type":426,"tag":553,"props":5489,"children":5490},{"style":684},[5491],{"type":431,"value":700},{"type":426,"tag":553,"props":5493,"children":5494},{"style":572},[5495],{"type":431,"value":5496},"'⚠️'",{"type":426,"tag":553,"props":5498,"children":5499},{"style":684},[5500],{"type":431,"value":710},{"type":426,"tag":553,"props":5502,"children":5503},{"class":555,"line":655},[5504,5509,5513,5518],{"type":426,"tag":553,"props":5505,"children":5506},{"style":572},[5507],{"type":431,"value":5508},"        'cancelled'",{"type":426,"tag":553,"props":5510,"children":5511},{"style":684},[5512],{"type":431,"value":700},{"type":426,"tag":553,"props":5514,"children":5515},{"style":572},[5516],{"type":431,"value":5517},"'❌'",{"type":426,"tag":553,"props":5519,"children":5520},{"style":684},[5521],{"type":431,"value":710},{"type":426,"tag":553,"props":5523,"children":5524},{"class":555,"line":1036},[5525,5530,5534],{"type":426,"tag":553,"props":5526,"children":5527},{"style":572},[5528],{"type":431,"value":5529},"        'boarding'",{"type":426,"tag":553,"props":5531,"children":5532},{"style":684},[5533],{"type":431,"value":700},{"type":426,"tag":553,"props":5535,"children":5536},{"style":572},[5537],{"type":431,"value":5538},"'🛫'\n",{"type":426,"tag":553,"props":5540,"children":5541},{"class":555,"line":1054},[5542],{"type":426,"tag":553,"props":5543,"children":5544},{"style":684},[5545],{"type":431,"value":5546},"    }\n",{"type":426,"tag":553,"props":5548,"children":5549},{"class":555,"line":1080},[5550],{"type":426,"tag":553,"props":5551,"children":5552},{"style":684},[5553],{"type":431,"value":917},{"type":426,"tag":553,"props":5555,"children":5556},{"class":555,"line":1097},[5557,5562,5566,5571,5575,5579,5584],{"type":426,"tag":553,"props":5558,"children":5559},{"style":684},[5560],{"type":431,"value":5561},"    emoji ",{"type":426,"tag":553,"props":5563,"children":5564},{"style":795},[5565],{"type":431,"value":957},{"type":426,"tag":553,"props":5567,"children":5568},{"style":684},[5569],{"type":431,"value":5570}," status_emoji.get(flight[",{"type":426,"tag":553,"props":5572,"children":5573},{"style":572},[5574],{"type":431,"value":2982},{"type":426,"tag":553,"props":5576,"children":5577},{"style":684},[5578],{"type":431,"value":1774},{"type":426,"tag":553,"props":5580,"children":5581},{"style":572},[5582],{"type":431,"value":5583},"'✈️'",{"type":426,"tag":553,"props":5585,"children":5586},{"style":684},[5587],{"type":431,"value":3262},{"type":426,"tag":553,"props":5589,"children":5590},{"class":555,"line":1114},[5591],{"type":426,"tag":553,"props":5592,"children":5593},{"style":684},[5594],{"type":431,"value":917},{"type":426,"tag":553,"props":5596,"children":5597},{"class":555,"line":1127},[5598,5602,5606],{"type":426,"tag":553,"props":5599,"children":5600},{"style":684},[5601],{"type":431,"value":1198},{"type":426,"tag":553,"props":5603,"children":5604},{"style":795},[5605],{"type":431,"value":957},{"type":426,"tag":553,"props":5607,"children":5608},{"style":684},[5609],{"type":431,"value":1207},{"type":426,"tag":553,"props":5611,"children":5612},{"class":555,"line":1167},[5613,5617,5621,5625,5630,5634,5639,5643],{"type":426,"tag":553,"props":5614,"children":5615},{"style":795},[5616],{"type":431,"value":1216},{"type":426,"tag":553,"props":5618,"children":5619},{"style":572},[5620],{"type":431,"value":1527},{"type":426,"tag":553,"props":5622,"children":5623},{"style":566},[5624],{"type":431,"value":972},{"type":426,"tag":553,"props":5626,"children":5627},{"style":684},[5628],{"type":431,"value":5629},"emoji",{"type":426,"tag":553,"props":5631,"children":5632},{"style":566},[5633],{"type":431,"value":982},{"type":426,"tag":553,"props":5635,"children":5636},{"style":572},[5637],{"type":431,"value":5638}," Flight Update",{"type":426,"tag":553,"props":5640,"children":5641},{"style":566},[5642],{"type":431,"value":1295},{"type":426,"tag":553,"props":5644,"children":5645},{"style":572},[5646],{"type":431,"value":1250},{"type":426,"tag":553,"props":5648,"children":5649},{"class":555,"line":1184},[5650,5654,5659,5663,5668,5672,5676,5680,5685,5689,5693,5698,5702,5706,5711,5715,5719,5724,5728,5732,5737,5741],{"type":426,"tag":553,"props":5651,"children":5652},{"style":795},[5653],{"type":431,"value":1216},{"type":426,"tag":553,"props":5655,"children":5656},{"style":572},[5657],{"type":431,"value":5658},"\"Flight: ",{"type":426,"tag":553,"props":5660,"children":5661},{"style":566},[5662],{"type":431,"value":972},{"type":426,"tag":553,"props":5664,"children":5665},{"style":684},[5666],{"type":431,"value":5667},"flight[",{"type":426,"tag":553,"props":5669,"children":5670},{"style":572},[5671],{"type":431,"value":1759},{"type":426,"tag":553,"props":5673,"children":5674},{"style":684},[5675],{"type":431,"value":1240},{"type":426,"tag":553,"props":5677,"children":5678},{"style":566},[5679],{"type":431,"value":982},{"type":426,"tag":553,"props":5681,"children":5682},{"style":572},[5683],{"type":431,"value":5684}," (",{"type":426,"tag":553,"props":5686,"children":5687},{"style":566},[5688],{"type":431,"value":972},{"type":426,"tag":553,"props":5690,"children":5691},{"style":684},[5692],{"type":431,"value":5667},{"type":426,"tag":553,"props":5694,"children":5695},{"style":572},[5696],{"type":431,"value":5697},"'origin'",{"type":426,"tag":553,"props":5699,"children":5700},{"style":684},[5701],{"type":431,"value":1240},{"type":426,"tag":553,"props":5703,"children":5704},{"style":566},[5705],{"type":431,"value":982},{"type":426,"tag":553,"props":5707,"children":5708},{"style":572},[5709],{"type":431,"value":5710}," → ",{"type":426,"tag":553,"props":5712,"children":5713},{"style":566},[5714],{"type":431,"value":972},{"type":426,"tag":553,"props":5716,"children":5717},{"style":684},[5718],{"type":431,"value":5667},{"type":426,"tag":553,"props":5720,"children":5721},{"style":572},[5722],{"type":431,"value":5723},"'destination'",{"type":426,"tag":553,"props":5725,"children":5726},{"style":684},[5727],{"type":431,"value":1240},{"type":426,"tag":553,"props":5729,"children":5730},{"style":566},[5731],{"type":431,"value":982},{"type":426,"tag":553,"props":5733,"children":5734},{"style":572},[5735],{"type":431,"value":5736},")",{"type":426,"tag":553,"props":5738,"children":5739},{"style":566},[5740],{"type":431,"value":3661},{"type":426,"tag":553,"props":5742,"children":5743},{"style":572},[5744],{"type":431,"value":1250},{"type":426,"tag":553,"props":5746,"children":5747},{"class":555,"line":1192},[5748,5752,5757,5761,5765,5769,5774,5779,5783,5788,5793,5797,5802,5806],{"type":426,"tag":553,"props":5749,"children":5750},{"style":795},[5751],{"type":431,"value":1216},{"type":426,"tag":553,"props":5753,"children":5754},{"style":572},[5755],{"type":431,"value":5756},"\"Status: *",{"type":426,"tag":553,"props":5758,"children":5759},{"style":566},[5760],{"type":431,"value":972},{"type":426,"tag":553,"props":5762,"children":5763},{"style":684},[5764],{"type":431,"value":5667},{"type":426,"tag":553,"props":5766,"children":5767},{"style":572},[5768],{"type":431,"value":2982},{"type":426,"tag":553,"props":5770,"children":5771},{"style":684},[5772],{"type":431,"value":5773},"].replace(",{"type":426,"tag":553,"props":5775,"children":5776},{"style":572},[5777],{"type":431,"value":5778},"'_'",{"type":426,"tag":553,"props":5780,"children":5781},{"style":684},[5782],{"type":431,"value":1907},{"type":426,"tag":553,"props":5784,"children":5785},{"style":572},[5786],{"type":431,"value":5787},"' '",{"type":426,"tag":553,"props":5789,"children":5790},{"style":684},[5791],{"type":431,"value":5792},").title()",{"type":426,"tag":553,"props":5794,"children":5795},{"style":566},[5796],{"type":431,"value":982},{"type":426,"tag":553,"props":5798,"children":5799},{"style":572},[5800],{"type":431,"value":5801},"*",{"type":426,"tag":553,"props":5803,"children":5804},{"style":566},[5805],{"type":431,"value":3661},{"type":426,"tag":553,"props":5807,"children":5808},{"style":572},[5809],{"type":431,"value":1250},{"type":426,"tag":553,"props":5811,"children":5812},{"class":555,"line":1210},[5813],{"type":426,"tag":553,"props":5814,"children":5815},{"style":684},[5816],{"type":431,"value":1642},{"type":426,"tag":553,"props":5818,"children":5819},{"class":555,"line":1253},[5820],{"type":426,"tag":553,"props":5821,"children":5822},{"style":684},[5823],{"type":431,"value":917},{"type":426,"tag":553,"props":5825,"children":5826},{"class":555,"line":1302},[5827,5831,5836,5840,5844,5848,5853],{"type":426,"tag":553,"props":5828,"children":5829},{"style":795},[5830],{"type":431,"value":925},{"type":426,"tag":553,"props":5832,"children":5833},{"style":684},[5834],{"type":431,"value":5835}," flight[",{"type":426,"tag":553,"props":5837,"children":5838},{"style":572},[5839],{"type":431,"value":2982},{"type":426,"tag":553,"props":5841,"children":5842},{"style":684},[5843],{"type":431,"value":2229},{"type":426,"tag":553,"props":5845,"children":5846},{"style":795},[5847],{"type":431,"value":1069},{"type":426,"tag":553,"props":5849,"children":5850},{"style":572},[5851],{"type":431,"value":5852}," 'delayed'",{"type":426,"tag":553,"props":5854,"children":5855},{"style":684},[5856],{"type":431,"value":909},{"type":426,"tag":553,"props":5858,"children":5859},{"class":555,"line":1374},[5860,5865,5869],{"type":426,"tag":553,"props":5861,"children":5862},{"style":684},[5863],{"type":431,"value":5864},"        message ",{"type":426,"tag":553,"props":5866,"children":5867},{"style":795},[5868],{"type":431,"value":3021},{"type":426,"tag":553,"props":5870,"children":5871},{"style":684},[5872],{"type":431,"value":1207},{"type":426,"tag":553,"props":5874,"children":5875},{"class":555,"line":1414},[5876,5880,5885,5889,5893,5898,5902,5906],{"type":426,"tag":553,"props":5877,"children":5878},{"style":795},[5879],{"type":431,"value":3740},{"type":426,"tag":553,"props":5881,"children":5882},{"style":572},[5883],{"type":431,"value":5884},"\"Original departure: ",{"type":426,"tag":553,"props":5886,"children":5887},{"style":566},[5888],{"type":431,"value":972},{"type":426,"tag":553,"props":5890,"children":5891},{"style":684},[5892],{"type":431,"value":5667},{"type":426,"tag":553,"props":5894,"children":5895},{"style":572},[5896],{"type":431,"value":5897},"'scheduled_departure'",{"type":426,"tag":553,"props":5899,"children":5900},{"style":684},[5901],{"type":431,"value":1240},{"type":426,"tag":553,"props":5903,"children":5904},{"style":566},[5905],{"type":431,"value":1407},{"type":426,"tag":553,"props":5907,"children":5908},{"style":572},[5909],{"type":431,"value":1250},{"type":426,"tag":553,"props":5911,"children":5912},{"class":555,"line":1479},[5913,5917,5922,5926,5930,5935,5939,5943],{"type":426,"tag":553,"props":5914,"children":5915},{"style":795},[5916],{"type":431,"value":3740},{"type":426,"tag":553,"props":5918,"children":5919},{"style":572},[5920],{"type":431,"value":5921},"\"New departure: ",{"type":426,"tag":553,"props":5923,"children":5924},{"style":566},[5925],{"type":431,"value":972},{"type":426,"tag":553,"props":5927,"children":5928},{"style":684},[5929],{"type":431,"value":5667},{"type":426,"tag":553,"props":5931,"children":5932},{"style":572},[5933],{"type":431,"value":5934},"'actual_departure'",{"type":426,"tag":553,"props":5936,"children":5937},{"style":684},[5938],{"type":431,"value":1240},{"type":426,"tag":553,"props":5940,"children":5941},{"style":566},[5942],{"type":431,"value":1407},{"type":426,"tag":553,"props":5944,"children":5945},{"style":572},[5946],{"type":431,"value":1250},{"type":426,"tag":553,"props":5948,"children":5949},{"class":555,"line":1517},[5950,5954,5959,5963,5967,5972,5976,5980,5985,5989],{"type":426,"tag":553,"props":5951,"children":5952},{"style":795},[5953],{"type":431,"value":3740},{"type":426,"tag":553,"props":5955,"children":5956},{"style":572},[5957],{"type":431,"value":5958},"\"Delay: ",{"type":426,"tag":553,"props":5960,"children":5961},{"style":566},[5962],{"type":431,"value":972},{"type":426,"tag":553,"props":5964,"children":5965},{"style":684},[5966],{"type":431,"value":5667},{"type":426,"tag":553,"props":5968,"children":5969},{"style":572},[5970],{"type":431,"value":5971},"'delay_minutes'",{"type":426,"tag":553,"props":5973,"children":5974},{"style":684},[5975],{"type":431,"value":1240},{"type":426,"tag":553,"props":5977,"children":5978},{"style":566},[5979],{"type":431,"value":982},{"type":426,"tag":553,"props":5981,"children":5982},{"style":572},[5983],{"type":431,"value":5984}," minutes",{"type":426,"tag":553,"props":5986,"children":5987},{"style":566},[5988],{"type":431,"value":1295},{"type":426,"tag":553,"props":5990,"children":5991},{"style":572},[5992],{"type":431,"value":1250},{"type":426,"tag":553,"props":5994,"children":5995},{"class":555,"line":1560},[5996,6000,6005,6009,6013,6018,6022,6026],{"type":426,"tag":553,"props":5997,"children":5998},{"style":795},[5999],{"type":431,"value":3740},{"type":426,"tag":553,"props":6001,"children":6002},{"style":572},[6003],{"type":431,"value":6004},"\"Gate: ",{"type":426,"tag":553,"props":6006,"children":6007},{"style":566},[6008],{"type":431,"value":972},{"type":426,"tag":553,"props":6010,"children":6011},{"style":684},[6012],{"type":431,"value":5667},{"type":426,"tag":553,"props":6014,"children":6015},{"style":572},[6016],{"type":431,"value":6017},"'gate'",{"type":426,"tag":553,"props":6019,"children":6020},{"style":684},[6021],{"type":431,"value":1240},{"type":426,"tag":553,"props":6023,"children":6024},{"style":566},[6025],{"type":431,"value":982},{"type":426,"tag":553,"props":6027,"children":6028},{"style":572},[6029],{"type":431,"value":1250},{"type":426,"tag":553,"props":6031,"children":6032},{"class":555,"line":1598},[6033],{"type":426,"tag":553,"props":6034,"children":6035},{"style":684},[6036],{"type":431,"value":6037},"        )\n",{"type":426,"tag":553,"props":6039,"children":6040},{"class":555,"line":1636},[6041,6045,6049,6053,6057,6061,6066],{"type":426,"tag":553,"props":6042,"children":6043},{"style":795},[6044],{"type":431,"value":1060},{"type":426,"tag":553,"props":6046,"children":6047},{"style":684},[6048],{"type":431,"value":5835},{"type":426,"tag":553,"props":6050,"children":6051},{"style":572},[6052],{"type":431,"value":2982},{"type":426,"tag":553,"props":6054,"children":6055},{"style":684},[6056],{"type":431,"value":2229},{"type":426,"tag":553,"props":6058,"children":6059},{"style":795},[6060],{"type":431,"value":1069},{"type":426,"tag":553,"props":6062,"children":6063},{"style":572},[6064],{"type":431,"value":6065}," 'boarding'",{"type":426,"tag":553,"props":6067,"children":6068},{"style":684},[6069],{"type":431,"value":909},{"type":426,"tag":553,"props":6071,"children":6072},{"class":555,"line":1645},[6073,6077,6081],{"type":426,"tag":553,"props":6074,"children":6075},{"style":684},[6076],{"type":431,"value":5864},{"type":426,"tag":553,"props":6078,"children":6079},{"style":795},[6080],{"type":431,"value":3021},{"type":426,"tag":553,"props":6082,"children":6083},{"style":684},[6084],{"type":431,"value":1207},{"type":426,"tag":553,"props":6086,"children":6087},{"class":555,"line":1653},[6088,6092,6097,6101,6105,6109,6113,6117],{"type":426,"tag":553,"props":6089,"children":6090},{"style":795},[6091],{"type":431,"value":3740},{"type":426,"tag":553,"props":6093,"children":6094},{"style":572},[6095],{"type":431,"value":6096},"\"Now boarding at Gate ",{"type":426,"tag":553,"props":6098,"children":6099},{"style":566},[6100],{"type":431,"value":972},{"type":426,"tag":553,"props":6102,"children":6103},{"style":684},[6104],{"type":431,"value":5667},{"type":426,"tag":553,"props":6106,"children":6107},{"style":572},[6108],{"type":431,"value":6017},{"type":426,"tag":553,"props":6110,"children":6111},{"style":684},[6112],{"type":431,"value":1240},{"type":426,"tag":553,"props":6114,"children":6115},{"style":566},[6116],{"type":431,"value":1407},{"type":426,"tag":553,"props":6118,"children":6119},{"style":572},[6120],{"type":431,"value":1250},{"type":426,"tag":553,"props":6122,"children":6123},{"class":555,"line":1667},[6124,6128],{"type":426,"tag":553,"props":6125,"children":6126},{"style":795},[6127],{"type":431,"value":3740},{"type":426,"tag":553,"props":6129,"children":6130},{"style":572},[6131],{"type":431,"value":6132},"\"Please proceed to the gate immediately!\"\n",{"type":426,"tag":553,"props":6134,"children":6135},{"class":555,"line":1680},[6136],{"type":426,"tag":553,"props":6137,"children":6138},{"style":684},[6139],{"type":431,"value":6037},{"type":426,"tag":553,"props":6141,"children":6142},{"class":555,"line":1740},[6143],{"type":426,"tag":553,"props":6144,"children":6145},{"style":684},[6146],{"type":431,"value":917},{"type":426,"tag":553,"props":6148,"children":6149},{"class":555,"line":1787},[6150,6154],{"type":426,"tag":553,"props":6151,"children":6152},{"style":795},[6153],{"type":431,"value":1659},{"type":426,"tag":553,"props":6155,"children":6156},{"style":684},[6157],{"type":431,"value":1664},{"type":426,"tag":553,"props":6159,"children":6160},{"class":555,"line":1796},[6161,6165],{"type":426,"tag":553,"props":6162,"children":6163},{"style":572},[6164],{"type":431,"value":1673},{"type":426,"tag":553,"props":6166,"children":6167},{"style":684},[6168],{"type":431,"value":710},{"type":426,"tag":553,"props":6170,"children":6171},{"class":555,"line":1804},[6172,6176,6180,6184,6188,6192,6196,6200,6204,6208,6212,6216],{"type":426,"tag":553,"props":6173,"children":6174},{"style":1684},[6175],{"type":431,"value":1687},{"type":426,"tag":553,"props":6177,"children":6178},{"style":795},[6179],{"type":431,"value":957},{"type":426,"tag":553,"props":6181,"children":6182},{"style":684},[6183],{"type":431,"value":972},{"type":426,"tag":553,"props":6185,"children":6186},{"style":572},[6187],{"type":431,"value":1700},{"type":426,"tag":553,"props":6189,"children":6190},{"style":684},[6191],{"type":431,"value":700},{"type":426,"tag":553,"props":6193,"children":6194},{"style":795},[6195],{"type":431,"value":1709},{"type":426,"tag":553,"props":6197,"children":6198},{"style":572},[6199],{"type":431,"value":1714},{"type":426,"tag":553,"props":6201,"children":6202},{"style":566},[6203],{"type":431,"value":972},{"type":426,"tag":553,"props":6205,"children":6206},{"style":684},[6207],{"type":431,"value":1723},{"type":426,"tag":553,"props":6209,"children":6210},{"style":566},[6211],{"type":431,"value":982},{"type":426,"tag":553,"props":6213,"children":6214},{"style":572},[6215],{"type":431,"value":1732},{"type":426,"tag":553,"props":6217,"children":6218},{"style":684},[6219],{"type":431,"value":1737},{"type":426,"tag":553,"props":6221,"children":6222},{"class":555,"line":1812},[6223,6227,6231,6235,6239,6243,6247,6251,6255],{"type":426,"tag":553,"props":6224,"children":6225},{"style":1684},[6226],{"type":431,"value":1746},{"type":426,"tag":553,"props":6228,"children":6229},{"style":795},[6230],{"type":431,"value":957},{"type":426,"tag":553,"props":6232,"children":6233},{"style":684},[6234],{"type":431,"value":972},{"type":426,"tag":553,"props":6236,"children":6237},{"style":572},[6238],{"type":431,"value":1759},{"type":426,"tag":553,"props":6240,"children":6241},{"style":684},[6242],{"type":431,"value":5183},{"type":426,"tag":553,"props":6244,"children":6245},{"style":572},[6246],{"type":431,"value":1769},{"type":426,"tag":553,"props":6248,"children":6249},{"style":684},[6250],{"type":431,"value":1774},{"type":426,"tag":553,"props":6252,"children":6253},{"style":572},[6254],{"type":431,"value":1779},{"type":426,"tag":553,"props":6256,"children":6257},{"style":684},[6258],{"type":431,"value":1784},{"type":426,"tag":553,"props":6260,"children":6261},{"class":555,"line":1847},[6262],{"type":426,"tag":553,"props":6263,"children":6264},{"style":684},[6265],{"type":431,"value":1793},{"type":426,"tag":515,"props":6267,"children":6269},{"id":6268},"_6-post-trip-review-request",[6270],{"type":431,"value":6271},"6. Post-Trip Review Request",{"type":426,"tag":427,"props":6273,"children":6274},{},[6275,6279],{"type":426,"tag":446,"props":6276,"children":6277},{},[6278],{"type":431,"value":528},{"type":431,"value":6280},": Travel agencies get few reviews despite having happy customers.",{"type":426,"tag":427,"props":6282,"children":6283},{},[6284,6288],{"type":426,"tag":446,"props":6285,"children":6286},{},[6287],{"type":431,"value":538},{"type":431,"value":6289},": WhatsApp review request 24 hours after return.",{"type":426,"tag":542,"props":6291,"children":6293},{"code":6292},"\"Hi Sarah! 🌅 Welcome back from Cox'\"'\"'s Bazar!\n\nWe hope you had an amazing trip!\n\nWould you take 2 minutes to share your experience? Your review helps other travellers:\n\n⭐ TripAdvisor: https:\u002F\u002Ftripadvisor.com\u002Fyour-agency-review\n⭐ Google: https:\u002F\u002Fg.page\u002Fyour-agency\u002Freview\n\nOr send us a photo from your trip — we love seeing happy travellers! 📸\n\nThank you for choosing [Your Agency]! We hope to see you again soon. 🌍\"\n",[6294],{"type":426,"tag":549,"props":6295,"children":6296},{"__ignoreMap":417},[6297],{"type":431,"value":6292},{"type":426,"tag":434,"props":6299,"children":6301},{"id":6300},"how-to-set-up-whatsapp-automation-for-travel-agencies",[6302],{"type":431,"value":6303},"How to Set Up WhatsApp Automation for Travel Agencies",{"type":426,"tag":515,"props":6305,"children":6306},{"id":3809},[6307],{"type":431,"value":3812},{"type":426,"tag":427,"props":6309,"children":6310},{},[6311,6312,6317],{"type":431,"value":3817},{"type":426,"tag":3819,"props":6313,"children":6315},{"href":3821,"rel":6314},[3823],[6316],{"type":431,"value":3826},{"type":431,"value":6318}," — 3-day free trial, no credit card.\nConnect your agency's WhatsApp number via QR code.",{"type":426,"tag":515,"props":6320,"children":6322},{"id":6321},"step-2-connect-your-booking-system",[6323],{"type":431,"value":6324},"Step 2: Connect Your Booking System",{"type":426,"tag":427,"props":6326,"children":6327},{},[6328],{"type":431,"value":6329},"Most tour booking platforms (FareHarbor, Rezdy, Bokun, TourCMS) support webhooks. Use n8n:",{"type":426,"tag":6331,"props":6332,"children":6333},"ol",{},[6334,6339,6344,6349],{"type":426,"tag":458,"props":6335,"children":6336},{},[6337],{"type":431,"value":6338},"Booking confirmed → send WhatsApp confirmation",{"type":426,"tag":458,"props":6340,"children":6341},{},[6342],{"type":431,"value":6343},"48 hours before departure → send itinerary",{"type":426,"tag":458,"props":6345,"children":6346},{},[6347],{"type":431,"value":6348},"Day of travel → send guide contact details",{"type":426,"tag":458,"props":6350,"children":6351},{},[6352],{"type":431,"value":6353},"24 hours after return → send review request",{"type":426,"tag":515,"props":6355,"children":6357},{"id":6356},"step-3-build-the-message-automation",[6358],{"type":431,"value":6359},"Step 3: Build the Message Automation",{"type":426,"tag":542,"props":6361,"children":6363},{"code":6362,"language":784,"meta":417,"className":785,"style":417},"import schedule\nimport requests\nfrom datetime import datetime, timedelta\n\ndef run_daily_travel_notifications():\n    \"\"\"Run daily travel agency WhatsApp notifications.\"\"\"\n    today = datetime.today().date()\n    \n    # 1. Confirm bookings made in the last hour\n    # (triggered by webhook, not scheduled)\n    \n    # 2. Send itineraries for departures in 48 hours\n    departing_in_2_days = get_bookings_departing_on(today + timedelta(days=2))\n    for booking in departing_in_2_days:\n        send_pre_departure_itinerary(booking['traveller'], booking['tour'], api_key)\n    \n    # 3. Send review requests for returns yesterday\n    returned_yesterday = get_bookings_returned_on(today - timedelta(days=1))\n    for booking in returned_yesterday:\n        send_review_request(booking['traveller'], booking['tour'], api_key)\n\nschedule.every().day.at(\"09:00\").do(run_daily_travel_notifications)\n",[6364],{"type":426,"tag":549,"props":6365,"children":6366},{"__ignoreMap":417},[6367,6379,6390,6410,6417,6434,6442,6458,6465,6473,6481,6488,6496,6539,6560,6588,6595,6603,6644,6664,6688,6695],{"type":426,"tag":553,"props":6368,"children":6369},{"class":555,"line":556},[6370,6374],{"type":426,"tag":553,"props":6371,"children":6372},{"style":795},[6373],{"type":431,"value":798},{"type":426,"tag":553,"props":6375,"children":6376},{"style":684},[6377],{"type":431,"value":6378}," schedule\n",{"type":426,"tag":553,"props":6380,"children":6381},{"class":555,"line":588},[6382,6386],{"type":426,"tag":553,"props":6383,"children":6384},{"style":795},[6385],{"type":431,"value":798},{"type":426,"tag":553,"props":6387,"children":6388},{"style":684},[6389],{"type":431,"value":803},{"type":426,"tag":553,"props":6391,"children":6392},{"class":555,"line":606},[6393,6397,6401,6405],{"type":426,"tag":553,"props":6394,"children":6395},{"style":795},[6396],{"type":431,"value":811},{"type":426,"tag":553,"props":6398,"children":6399},{"style":684},[6400],{"type":431,"value":816},{"type":426,"tag":553,"props":6402,"children":6403},{"style":795},[6404],{"type":431,"value":798},{"type":426,"tag":553,"props":6406,"children":6407},{"style":684},[6408],{"type":431,"value":6409}," datetime, timedelta\n",{"type":426,"tag":553,"props":6411,"children":6412},{"class":555,"line":623},[6413],{"type":426,"tag":553,"props":6414,"children":6415},{"emptyLinePlaceholder":831},[6416],{"type":431,"value":834},{"type":426,"tag":553,"props":6418,"children":6419},{"class":555,"line":637},[6420,6424,6429],{"type":426,"tag":553,"props":6421,"children":6422},{"style":795},[6423],{"type":431,"value":842},{"type":426,"tag":553,"props":6425,"children":6426},{"style":560},[6427],{"type":431,"value":6428}," run_daily_travel_notifications",{"type":426,"tag":553,"props":6430,"children":6431},{"style":684},[6432],{"type":431,"value":6433},"():\n",{"type":426,"tag":553,"props":6435,"children":6436},{"class":555,"line":646},[6437],{"type":426,"tag":553,"props":6438,"children":6439},{"style":572},[6440],{"type":431,"value":6441},"    \"\"\"Run daily travel agency WhatsApp notifications.\"\"\"\n",{"type":426,"tag":553,"props":6443,"children":6444},{"class":555,"line":655},[6445,6449,6453],{"type":426,"tag":553,"props":6446,"children":6447},{"style":684},[6448],{"type":431,"value":1862},{"type":426,"tag":553,"props":6450,"children":6451},{"style":795},[6452],{"type":431,"value":957},{"type":426,"tag":553,"props":6454,"children":6455},{"style":684},[6456],{"type":431,"value":6457}," datetime.today().date()\n",{"type":426,"tag":553,"props":6459,"children":6460},{"class":555,"line":1036},[6461],{"type":426,"tag":553,"props":6462,"children":6463},{"style":684},[6464],{"type":431,"value":917},{"type":426,"tag":553,"props":6466,"children":6467},{"class":555,"line":1054},[6468],{"type":426,"tag":553,"props":6469,"children":6470},{"style":1975},[6471],{"type":431,"value":6472},"    # 1. Confirm bookings made in the last hour\n",{"type":426,"tag":553,"props":6474,"children":6475},{"class":555,"line":1080},[6476],{"type":426,"tag":553,"props":6477,"children":6478},{"style":1975},[6479],{"type":431,"value":6480},"    # (triggered by webhook, not scheduled)\n",{"type":426,"tag":553,"props":6482,"children":6483},{"class":555,"line":1097},[6484],{"type":426,"tag":553,"props":6485,"children":6486},{"style":684},[6487],{"type":431,"value":917},{"type":426,"tag":553,"props":6489,"children":6490},{"class":555,"line":1114},[6491],{"type":426,"tag":553,"props":6492,"children":6493},{"style":1975},[6494],{"type":431,"value":6495},"    # 2. Send itineraries for departures in 48 hours\n",{"type":426,"tag":553,"props":6497,"children":6498},{"class":555,"line":1127},[6499,6504,6508,6513,6517,6521,6525,6529,6534],{"type":426,"tag":553,"props":6500,"children":6501},{"style":684},[6502],{"type":431,"value":6503},"    departing_in_2_days ",{"type":426,"tag":553,"props":6505,"children":6506},{"style":795},[6507],{"type":431,"value":957},{"type":426,"tag":553,"props":6509,"children":6510},{"style":684},[6511],{"type":431,"value":6512}," get_bookings_departing_on(today ",{"type":426,"tag":553,"props":6514,"children":6515},{"style":795},[6516],{"type":431,"value":2033},{"type":426,"tag":553,"props":6518,"children":6519},{"style":684},[6520],{"type":431,"value":2038},{"type":426,"tag":553,"props":6522,"children":6523},{"style":1684},[6524],{"type":431,"value":2043},{"type":426,"tag":553,"props":6526,"children":6527},{"style":795},[6528],{"type":431,"value":957},{"type":426,"tag":553,"props":6530,"children":6531},{"style":566},[6532],{"type":431,"value":6533},"2",{"type":426,"tag":553,"props":6535,"children":6536},{"style":684},[6537],{"type":431,"value":6538},"))\n",{"type":426,"tag":553,"props":6540,"children":6541},{"class":555,"line":1167},[6542,6546,6551,6555],{"type":426,"tag":553,"props":6543,"children":6544},{"style":795},[6545],{"type":431,"value":1995},{"type":426,"tag":553,"props":6547,"children":6548},{"style":684},[6549],{"type":431,"value":6550}," booking ",{"type":426,"tag":553,"props":6552,"children":6553},{"style":795},[6554],{"type":431,"value":2005},{"type":426,"tag":553,"props":6556,"children":6557},{"style":684},[6558],{"type":431,"value":6559}," departing_in_2_days:\n",{"type":426,"tag":553,"props":6561,"children":6562},{"class":555,"line":1184},[6563,6568,6573,6578,6583],{"type":426,"tag":553,"props":6564,"children":6565},{"style":684},[6566],{"type":431,"value":6567},"        send_pre_departure_itinerary(booking[",{"type":426,"tag":553,"props":6569,"children":6570},{"style":572},[6571],{"type":431,"value":6572},"'traveller'",{"type":426,"tag":553,"props":6574,"children":6575},{"style":684},[6576],{"type":431,"value":6577},"], booking[",{"type":426,"tag":553,"props":6579,"children":6580},{"style":572},[6581],{"type":431,"value":6582},"'tour'",{"type":426,"tag":553,"props":6584,"children":6585},{"style":684},[6586],{"type":431,"value":6587},"], api_key)\n",{"type":426,"tag":553,"props":6589,"children":6590},{"class":555,"line":1192},[6591],{"type":426,"tag":553,"props":6592,"children":6593},{"style":684},[6594],{"type":431,"value":917},{"type":426,"tag":553,"props":6596,"children":6597},{"class":555,"line":1210},[6598],{"type":426,"tag":553,"props":6599,"children":6600},{"style":1975},[6601],{"type":431,"value":6602},"    # 3. Send review requests for returns yesterday\n",{"type":426,"tag":553,"props":6604,"children":6605},{"class":555,"line":1253},[6606,6611,6615,6620,6624,6628,6632,6636,6640],{"type":426,"tag":553,"props":6607,"children":6608},{"style":684},[6609],{"type":431,"value":6610},"    returned_yesterday ",{"type":426,"tag":553,"props":6612,"children":6613},{"style":795},[6614],{"type":431,"value":957},{"type":426,"tag":553,"props":6616,"children":6617},{"style":684},[6618],{"type":431,"value":6619}," get_bookings_returned_on(today ",{"type":426,"tag":553,"props":6621,"children":6622},{"style":795},[6623],{"type":431,"value":1939},{"type":426,"tag":553,"props":6625,"children":6626},{"style":684},[6627],{"type":431,"value":2038},{"type":426,"tag":553,"props":6629,"children":6630},{"style":1684},[6631],{"type":431,"value":2043},{"type":426,"tag":553,"props":6633,"children":6634},{"style":795},[6635],{"type":431,"value":957},{"type":426,"tag":553,"props":6637,"children":6638},{"style":566},[6639],{"type":431,"value":1921},{"type":426,"tag":553,"props":6641,"children":6642},{"style":684},[6643],{"type":431,"value":6538},{"type":426,"tag":553,"props":6645,"children":6646},{"class":555,"line":1302},[6647,6651,6655,6659],{"type":426,"tag":553,"props":6648,"children":6649},{"style":795},[6650],{"type":431,"value":1995},{"type":426,"tag":553,"props":6652,"children":6653},{"style":684},[6654],{"type":431,"value":6550},{"type":426,"tag":553,"props":6656,"children":6657},{"style":795},[6658],{"type":431,"value":2005},{"type":426,"tag":553,"props":6660,"children":6661},{"style":684},[6662],{"type":431,"value":6663}," returned_yesterday:\n",{"type":426,"tag":553,"props":6665,"children":6666},{"class":555,"line":1374},[6667,6672,6676,6680,6684],{"type":426,"tag":553,"props":6668,"children":6669},{"style":684},[6670],{"type":431,"value":6671},"        send_review_request(booking[",{"type":426,"tag":553,"props":6673,"children":6674},{"style":572},[6675],{"type":431,"value":6572},{"type":426,"tag":553,"props":6677,"children":6678},{"style":684},[6679],{"type":431,"value":6577},{"type":426,"tag":553,"props":6681,"children":6682},{"style":572},[6683],{"type":431,"value":6582},{"type":426,"tag":553,"props":6685,"children":6686},{"style":684},[6687],{"type":431,"value":6587},{"type":426,"tag":553,"props":6689,"children":6690},{"class":555,"line":1414},[6691],{"type":426,"tag":553,"props":6692,"children":6693},{"emptyLinePlaceholder":831},[6694],{"type":431,"value":834},{"type":426,"tag":553,"props":6696,"children":6697},{"class":555,"line":1479},[6698,6703,6708],{"type":426,"tag":553,"props":6699,"children":6700},{"style":684},[6701],{"type":431,"value":6702},"schedule.every().day.at(",{"type":426,"tag":553,"props":6704,"children":6705},{"style":572},[6706],{"type":431,"value":6707},"\"09:00\"",{"type":426,"tag":553,"props":6709,"children":6710},{"style":684},[6711],{"type":431,"value":6712},").do(run_daily_travel_notifications)\n",{"type":426,"tag":434,"props":6714,"children":6715},{"id":4050},[6716],{"type":431,"value":4053},{"type":426,"tag":454,"props":6718,"children":6719},{},[6720,6730,6740,6750],{"type":426,"tag":458,"props":6721,"children":6722},{},[6723,6728],{"type":426,"tag":446,"props":6724,"children":6725},{},[6726],{"type":431,"value":6727},"50% reduction",{"type":431,"value":6729}," in \"what's the pickup time?\" pre-departure phone calls",{"type":426,"tag":458,"props":6731,"children":6732},{},[6733,6738],{"type":426,"tag":446,"props":6734,"children":6735},{},[6736],{"type":431,"value":6737},"3–5x more reviews",{"type":431,"value":6739}," (WhatsApp review requests vs no outreach)",{"type":426,"tag":458,"props":6741,"children":6742},{},[6743,6748],{"type":426,"tag":446,"props":6744,"children":6745},{},[6746],{"type":431,"value":6747},"30% fewer no-shows",{"type":431,"value":6749}," (WhatsApp reminders read vs email reminders missed)",{"type":426,"tag":458,"props":6751,"children":6752},{},[6753,6758],{"type":426,"tag":446,"props":6754,"children":6755},{},[6756],{"type":431,"value":6757},"Higher satisfaction scores",{"type":431,"value":6759}," from proactive communication",{"type":426,"tag":434,"props":6761,"children":6762},{"id":4109},[6763],{"type":431,"value":4112},{"type":426,"tag":427,"props":6765,"children":6766},{},[6767,6772,6774,6780,6782,6788],{"type":426,"tag":446,"props":6768,"children":6769},{},[6770],{"type":431,"value":6771},"Does Rapiwa work for sending WhatsApp messages to international travellers?",{"type":431,"value":6773},"\nYes. Rapiwa sends messages to any international phone number in standard format. UK traveller: ",{"type":426,"tag":549,"props":6775,"children":6777},{"className":6776},[],[6778],{"type":431,"value":6779},"447700900123",{"type":431,"value":6781},". Indian traveller: ",{"type":426,"tag":549,"props":6783,"children":6785},{"className":6784},[],[6786],{"type":431,"value":6787},"919876543210",{"type":431,"value":6789},".",{"type":426,"tag":427,"props":6791,"children":6792},{},[6793,6798],{"type":426,"tag":446,"props":6794,"children":6795},{},[6796],{"type":431,"value":6797},"Does Rapiwa charge per travel notification message?",{"type":431,"value":6799},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Send unlimited booking confirmations, itineraries, and updates.",{"type":426,"tag":427,"props":6801,"children":6802},{},[6803,6808],{"type":426,"tag":446,"props":6804,"children":6805},{},[6806],{"type":431,"value":6807},"Can I send maps or location pins via Rapiwa WhatsApp?",{"type":431,"value":6809},"\nRapiwa supports text messages with Google Maps links. For native location pins, this feature is available in select API configurations — contact Rapiwa support for the latest endpoint details.",{"type":426,"tag":427,"props":6811,"children":6812},{},[6813,6818],{"type":426,"tag":446,"props":6814,"children":6815},{},[6816],{"type":431,"value":6817},"Can I automate multi-language itineraries?",{"type":431,"value":6819},"\nYes. Detect the traveller's language from their profile and send the itinerary in the matching language. Maintain separate message templates per language.",{"type":426,"tag":427,"props":6821,"children":6822},{},[6823,6828],{"type":426,"tag":446,"props":6824,"children":6825},{},[6826],{"type":431,"value":6827},"What booking platforms integrate best with this setup?",{"type":431,"value":6829},"\nFareHarbor, Rezdy, Bokun, and TourCMS all support webhooks that can trigger n8n workflows to send WhatsApp messages via Rapiwa.",{"type":426,"tag":4164,"props":6831,"children":6832},{},[6833],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":6835},[6836,6837,6845,6850,6851],{"id":4208,"depth":588,"text":4211},{"id":4261,"depth":588,"text":4264,"children":6838},[6839,6840,6841,6842,6843,6844],{"id":4267,"depth":606,"text":4270},{"id":4467,"depth":606,"text":4470},{"id":5209,"depth":606,"text":5212},{"id":5330,"depth":606,"text":5333},{"id":5362,"depth":606,"text":5365},{"id":6268,"depth":606,"text":6271},{"id":6300,"depth":588,"text":6303,"children":6846},[6847,6848,6849],{"id":3809,"depth":606,"text":3812},{"id":6321,"depth":606,"text":6324},{"id":6356,"depth":606,"text":6359},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-travel-agencies-itineraries-bookings.md","blog\u002Fwhatsapp-api-travel-agencies-itineraries-bookings.md","blog\u002Fwhatsapp-api-travel-agencies-itineraries-bookings",{"loc":10},{"_path":14,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":15,"description":16,"date":6857,"author":6858,"category":17,"_slug":6859,"image":6860,"body":6861,"_type":4187,"_id":10929,"_source":4189,"_file":10930,"_stem":10931,"_extension":4192,"sitemap":10932},"2026-03-29","Rabbi","whatsapp-api-developer-checklist-build-test-scale","\u002Fimages\u002Fblog\u002Fwhatsapp-api-developer-checklist-build-test-scale.svg",{"type":423,"children":6862,"toc":10892},[6863,6868,6874,6879,6883,6889,6895,6946,6952,7001,7007,7038,7110,7121,7142,7183,7186,7192,7198,7256,7315,7328,7404,7410,7423,7620,7642,7648,7723,7809,7815,7888,7891,7897,7903,7966,7972,8010,8235,8255,8458,8511,8514,8520,8526,8647,8653,9390,9393,9399,9405,9427,9538,9551,9682,9685,9691,9697,9719,9762,9818,9821,9827,9833,9900,10418,10421,10427,10433,10482,10490,10496,10590,10593,10599,10806,10810,10841,10851,10861,10878,10888],{"type":426,"tag":427,"props":6864,"children":6865},{},[6866],{"type":431,"value":6867},"This is the complete WhatsApp API developer checklist for 2026 — covering everything from initial account setup to production scaling. Use this as your reference guide when integrating Rapiwa's WhatsApp API ($5\u002Fmonth, no per-message fees) into any application. Check off each item before going live to avoid common issues.",{"type":426,"tag":434,"props":6869,"children":6871},{"id":6870},"what-is-a-whatsapp-api-developer-checklist",[6872],{"type":431,"value":6873},"What Is a WhatsApp API Developer Checklist?",{"type":426,"tag":427,"props":6875,"children":6876},{},[6877],{"type":431,"value":6878},"A WhatsApp API developer checklist is a structured list of technical requirements, best practices, and tests to complete before deploying WhatsApp API integrations to production. It covers authentication, message sending, webhook handling, error management, rate limiting, and scaling. This checklist applies to Rapiwa and most unofficial WhatsApp REST APIs.",{"type":426,"tag":6880,"props":6881,"children":6882},"hr",{},[],{"type":426,"tag":434,"props":6884,"children":6886},{"id":6885},"phase-1-account-setup-and-configuration",[6887],{"type":431,"value":6888},"Phase 1: Account Setup and Configuration",{"type":426,"tag":515,"props":6890,"children":6892},{"id":6891},"account-basics",[6893],{"type":431,"value":6894},"Account Basics",{"type":426,"tag":454,"props":6896,"children":6899},{"className":6897},[6898],"contains-task-list",[6900,6919,6928,6937],{"type":426,"tag":458,"props":6901,"children":6904},{"className":6902},[6903],"task-list-item",[6905,6910,6912,6917],{"type":426,"tag":6906,"props":6907,"children":6909},"input",{"disabled":831,"type":6908},"checkbox",[],{"type":431,"value":6911}," Created Rapiwa account at ",{"type":426,"tag":3819,"props":6913,"children":6915},{"href":3821,"rel":6914},[3823],[6916],{"type":431,"value":3826},{"type":431,"value":6918}," (3-day free trial available)",{"type":426,"tag":458,"props":6920,"children":6922},{"className":6921},[6903],[6923,6926],{"type":426,"tag":6906,"props":6924,"children":6925},{"disabled":831,"type":6908},[],{"type":431,"value":6927}," Verified email and completed account setup",{"type":426,"tag":458,"props":6929,"children":6931},{"className":6930},[6903],[6932,6935],{"type":426,"tag":6906,"props":6933,"children":6934},{"disabled":831,"type":6908},[],{"type":431,"value":6936}," Selected the appropriate plan (Starter\u002FProfessional\u002FEnterprise)",{"type":426,"tag":458,"props":6938,"children":6940},{"className":6939},[6903],[6941,6944],{"type":426,"tag":6906,"props":6942,"children":6943},{"disabled":831,"type":6908},[],{"type":431,"value":6945}," Enabled 2FA on the Rapiwa account for security",{"type":426,"tag":515,"props":6947,"children":6949},{"id":6948},"whatsapp-number-connection",[6950],{"type":431,"value":6951},"WhatsApp Number Connection",{"type":426,"tag":454,"props":6953,"children":6955},{"className":6954},[6898],[6956,6965,6974,6983,6992],{"type":426,"tag":458,"props":6957,"children":6959},{"className":6958},[6903],[6960,6963],{"type":426,"tag":6906,"props":6961,"children":6962},{"disabled":831,"type":6908},[],{"type":431,"value":6964}," Connected WhatsApp number via QR code scan in Dashboard → Devices",{"type":426,"tag":458,"props":6966,"children":6968},{"className":6967},[6903],[6969,6972],{"type":426,"tag":6906,"props":6970,"children":6971},{"disabled":831,"type":6908},[],{"type":431,"value":6973}," Verified the number shows \"Connected\" status in dashboard",{"type":426,"tag":458,"props":6975,"children":6977},{"className":6976},[6903],[6978,6981],{"type":426,"tag":6906,"props":6979,"children":6980},{"disabled":831,"type":6908},[],{"type":431,"value":6982}," The connected number is active and has WhatsApp installed on a phone",{"type":426,"tag":458,"props":6984,"children":6986},{"className":6985},[6903],[6987,6990],{"type":426,"tag":6906,"props":6988,"children":6989},{"disabled":831,"type":6908},[],{"type":431,"value":6991}," Tested receiving a message on the connected number before proceeding",{"type":426,"tag":458,"props":6993,"children":6995},{"className":6994},[6903],[6996,6999],{"type":426,"tag":6906,"props":6997,"children":6998},{"disabled":831,"type":6908},[],{"type":431,"value":7000}," Documented which phone\u002FSIM is connected (for reconnection if needed)",{"type":426,"tag":515,"props":7002,"children":7004},{"id":7003},"api-credentials",[7005],{"type":431,"value":7006},"API Credentials",{"type":426,"tag":454,"props":7008,"children":7010},{"className":7009},[6898],[7011,7020,7029],{"type":426,"tag":458,"props":7012,"children":7014},{"className":7013},[6903],[7015,7018],{"type":426,"tag":6906,"props":7016,"children":7017},{"disabled":831,"type":6908},[],{"type":431,"value":7019}," Generated API key in Dashboard → API Keys",{"type":426,"tag":458,"props":7021,"children":7023},{"className":7022},[6903],[7024,7027],{"type":426,"tag":6906,"props":7025,"children":7026},{"disabled":831,"type":6908},[],{"type":431,"value":7028}," Stored API key in environment variables (never hardcoded)",{"type":426,"tag":458,"props":7030,"children":7032},{"className":7031},[6903],[7033,7036],{"type":426,"tag":6906,"props":7034,"children":7035},{"disabled":831,"type":6908},[],{"type":431,"value":7037}," Verified API key works with a test cURL:",{"type":426,"tag":542,"props":7039,"children":7041},{"code":7040,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"YOUR_TEST_PHONE\", \"message\": \"API key test!\"}'\n",[7042],{"type":426,"tag":549,"props":7043,"children":7044},{"__ignoreMap":417},[7045,7068,7083,7098],{"type":426,"tag":553,"props":7046,"children":7047},{"class":555,"line":556},[7048,7052,7056,7060,7064],{"type":426,"tag":553,"props":7049,"children":7050},{"style":560},[7051],{"type":431,"value":563},{"type":426,"tag":553,"props":7053,"children":7054},{"style":566},[7055],{"type":431,"value":569},{"type":426,"tag":553,"props":7057,"children":7058},{"style":572},[7059],{"type":431,"value":575},{"type":426,"tag":553,"props":7061,"children":7062},{"style":572},[7063],{"type":431,"value":580},{"type":426,"tag":553,"props":7065,"children":7066},{"style":566},[7067],{"type":431,"value":585},{"type":426,"tag":553,"props":7069,"children":7070},{"class":555,"line":588},[7071,7075,7079],{"type":426,"tag":553,"props":7072,"children":7073},{"style":566},[7074],{"type":431,"value":594},{"type":426,"tag":553,"props":7076,"children":7077},{"style":572},[7078],{"type":431,"value":599},{"type":426,"tag":553,"props":7080,"children":7081},{"style":566},[7082],{"type":431,"value":585},{"type":426,"tag":553,"props":7084,"children":7085},{"class":555,"line":606},[7086,7090,7094],{"type":426,"tag":553,"props":7087,"children":7088},{"style":566},[7089],{"type":431,"value":594},{"type":426,"tag":553,"props":7091,"children":7092},{"style":572},[7093],{"type":431,"value":616},{"type":426,"tag":553,"props":7095,"children":7096},{"style":566},[7097],{"type":431,"value":585},{"type":426,"tag":553,"props":7099,"children":7100},{"class":555,"line":623},[7101,7105],{"type":426,"tag":553,"props":7102,"children":7103},{"style":566},[7104],{"type":431,"value":629},{"type":426,"tag":553,"props":7106,"children":7107},{"style":572},[7108],{"type":431,"value":7109}," '{\"number\": \"YOUR_TEST_PHONE\", \"message\": \"API key test!\"}'\n",{"type":426,"tag":427,"props":7111,"children":7112},{},[7113,7115],{"type":431,"value":7114},"Expected: ",{"type":426,"tag":549,"props":7116,"children":7118},{"className":7117},[],[7119],{"type":431,"value":7120},"{\"status\": \"success\", \"messageId\": \"...\"}",{"type":426,"tag":454,"props":7122,"children":7124},{"className":7123},[6898],[7125],{"type":426,"tag":458,"props":7126,"children":7128},{"className":7127},[6903],[7129,7132,7134,7140],{"type":426,"tag":6906,"props":7130,"children":7131},{"disabled":831,"type":6908},[],{"type":431,"value":7133}," Configured API key in ",{"type":426,"tag":549,"props":7135,"children":7137},{"className":7136},[],[7138],{"type":431,"value":7139},".env",{"type":431,"value":7141}," or secrets manager:",{"type":426,"tag":542,"props":7143,"children":7145},{"code":7144,"language":545,"meta":417,"className":546,"style":417},"RAPIWA_API_KEY=your_key_here\nRAPIWA_BASE_URL=https:\u002F\u002Fapp.rapiwa.com\n",[7146],{"type":426,"tag":549,"props":7147,"children":7148},{"__ignoreMap":417},[7149,7166],{"type":426,"tag":553,"props":7150,"children":7151},{"class":555,"line":556},[7152,7157,7161],{"type":426,"tag":553,"props":7153,"children":7154},{"style":684},[7155],{"type":431,"value":7156},"RAPIWA_API_KEY",{"type":426,"tag":553,"props":7158,"children":7159},{"style":795},[7160],{"type":431,"value":957},{"type":426,"tag":553,"props":7162,"children":7163},{"style":572},[7164],{"type":431,"value":7165},"your_key_here\n",{"type":426,"tag":553,"props":7167,"children":7168},{"class":555,"line":588},[7169,7174,7178],{"type":426,"tag":553,"props":7170,"children":7171},{"style":684},[7172],{"type":431,"value":7173},"RAPIWA_BASE_URL",{"type":426,"tag":553,"props":7175,"children":7176},{"style":795},[7177],{"type":431,"value":957},{"type":426,"tag":553,"props":7179,"children":7180},{"style":572},[7181],{"type":431,"value":7182},"https:\u002F\u002Fapp.rapiwa.com\n",{"type":426,"tag":6880,"props":7184,"children":7185},{},[],{"type":426,"tag":434,"props":7187,"children":7189},{"id":7188},"phase-2-sending-messages",[7190],{"type":431,"value":7191},"Phase 2: Sending Messages",{"type":426,"tag":515,"props":7193,"children":7195},{"id":7194},"basic-text-messages",[7196],{"type":431,"value":7197},"Basic Text Messages",{"type":426,"tag":454,"props":7199,"children":7201},{"className":7200},[6898],[7202,7217,7247],{"type":426,"tag":458,"props":7203,"children":7205},{"className":7204},[6903],[7206,7209,7211],{"type":426,"tag":6906,"props":7207,"children":7208},{"disabled":831,"type":6908},[],{"type":431,"value":7210}," Confirmed API endpoint: ",{"type":426,"tag":549,"props":7212,"children":7214},{"className":7213},[],[7215],{"type":431,"value":7216},"POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message",{"type":426,"tag":458,"props":7218,"children":7220},{"className":7219},[6903],[7221,7224,7226,7231,7232,7238,7240,7246],{"type":426,"tag":6906,"props":7222,"children":7223},{"disabled":831,"type":6908},[],{"type":431,"value":7225}," Verified phone number format: international without ",{"type":426,"tag":549,"props":7227,"children":7229},{"className":7228},[],[7230],{"type":431,"value":2033},{"type":431,"value":5684},{"type":426,"tag":549,"props":7233,"children":7235},{"className":7234},[],[7236],{"type":431,"value":7237},"8801234567890",{"type":431,"value":7239},", not ",{"type":426,"tag":549,"props":7241,"children":7243},{"className":7242},[],[7244],{"type":431,"value":7245},"+880-1234-567890",{"type":431,"value":5736},{"type":426,"tag":458,"props":7248,"children":7250},{"className":7249},[6903],[7251,7254],{"type":426,"tag":6906,"props":7252,"children":7253},{"disabled":831,"type":6908},[],{"type":431,"value":7255}," Tested with minimum required fields:",{"type":426,"tag":542,"props":7257,"children":7259},{"code":7258,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"8801234567890\",\n  \"message\": \"Hello from [Your App]!\"\n}\n",[7260],{"type":426,"tag":549,"props":7261,"children":7262},{"__ignoreMap":417},[7263,7270,7291,7308],{"type":426,"tag":553,"props":7264,"children":7265},{"class":555,"line":556},[7266],{"type":426,"tag":553,"props":7267,"children":7268},{"style":684},[7269],{"type":431,"value":687},{"type":426,"tag":553,"props":7271,"children":7272},{"class":555,"line":588},[7273,7278,7282,7287],{"type":426,"tag":553,"props":7274,"children":7275},{"style":566},[7276],{"type":431,"value":7277},"  \"number\"",{"type":426,"tag":553,"props":7279,"children":7280},{"style":684},[7281],{"type":431,"value":700},{"type":426,"tag":553,"props":7283,"children":7284},{"style":572},[7285],{"type":431,"value":7286},"\"8801234567890\"",{"type":426,"tag":553,"props":7288,"children":7289},{"style":684},[7290],{"type":431,"value":710},{"type":426,"tag":553,"props":7292,"children":7293},{"class":555,"line":606},[7294,7299,7303],{"type":426,"tag":553,"props":7295,"children":7296},{"style":566},[7297],{"type":431,"value":7298},"  \"message\"",{"type":426,"tag":553,"props":7300,"children":7301},{"style":684},[7302],{"type":431,"value":700},{"type":426,"tag":553,"props":7304,"children":7305},{"style":572},[7306],{"type":431,"value":7307},"\"Hello from [Your App]!\"\n",{"type":426,"tag":553,"props":7309,"children":7310},{"class":555,"line":623},[7311],{"type":426,"tag":553,"props":7312,"children":7313},{"style":684},[7314],{"type":431,"value":756},{"type":426,"tag":454,"props":7316,"children":7318},{"className":7317},[6898],[7319],{"type":426,"tag":458,"props":7320,"children":7322},{"className":7321},[6903],[7323,7326],{"type":426,"tag":6906,"props":7324,"children":7325},{"disabled":831,"type":6908},[],{"type":431,"value":7327}," Confirmed success response format:",{"type":426,"tag":542,"props":7329,"children":7331},{"code":7330,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123\",\n  \"timestamp\": \"2026-07-18T10:30:00Z\"\n}\n",[7332],{"type":426,"tag":549,"props":7333,"children":7334},{"__ignoreMap":417},[7335,7342,7361,7381,7397],{"type":426,"tag":553,"props":7336,"children":7337},{"class":555,"line":556},[7338],{"type":426,"tag":553,"props":7339,"children":7340},{"style":684},[7341],{"type":431,"value":687},{"type":426,"tag":553,"props":7343,"children":7344},{"class":555,"line":588},[7345,7349,7353,7357],{"type":426,"tag":553,"props":7346,"children":7347},{"style":566},[7348],{"type":431,"value":695},{"type":426,"tag":553,"props":7350,"children":7351},{"style":684},[7352],{"type":431,"value":700},{"type":426,"tag":553,"props":7354,"children":7355},{"style":572},[7356],{"type":431,"value":705},{"type":426,"tag":553,"props":7358,"children":7359},{"style":684},[7360],{"type":431,"value":710},{"type":426,"tag":553,"props":7362,"children":7363},{"class":555,"line":606},[7364,7368,7372,7377],{"type":426,"tag":553,"props":7365,"children":7366},{"style":566},[7367],{"type":431,"value":718},{"type":426,"tag":553,"props":7369,"children":7370},{"style":684},[7371],{"type":431,"value":700},{"type":426,"tag":553,"props":7373,"children":7374},{"style":572},[7375],{"type":431,"value":7376},"\"msg_abc123\"",{"type":426,"tag":553,"props":7378,"children":7379},{"style":684},[7380],{"type":431,"value":710},{"type":426,"tag":553,"props":7382,"children":7383},{"class":555,"line":623},[7384,7388,7392],{"type":426,"tag":553,"props":7385,"children":7386},{"style":566},[7387],{"type":431,"value":739},{"type":426,"tag":553,"props":7389,"children":7390},{"style":684},[7391],{"type":431,"value":700},{"type":426,"tag":553,"props":7393,"children":7394},{"style":572},[7395],{"type":431,"value":7396},"\"2026-07-18T10:30:00Z\"\n",{"type":426,"tag":553,"props":7398,"children":7399},{"class":555,"line":637},[7400],{"type":426,"tag":553,"props":7401,"children":7402},{"style":684},[7403],{"type":431,"value":756},{"type":426,"tag":515,"props":7405,"children":7407},{"id":7406},"phone-number-handling",[7408],{"type":431,"value":7409},"Phone Number Handling",{"type":426,"tag":454,"props":7411,"children":7413},{"className":7412},[6898],[7414],{"type":426,"tag":458,"props":7415,"children":7417},{"className":7416},[6903],[7418,7421],{"type":426,"tag":6906,"props":7419,"children":7420},{"disabled":831,"type":6908},[],{"type":431,"value":7422}," Built phone number sanitization function:",{"type":426,"tag":542,"props":7424,"children":7426},{"code":7425,"language":784,"meta":417,"className":785,"style":417},"def clean_phone(phone: str) -> str:\n    \"\"\"Remove all non-digit characters from phone number.\"\"\"\n    return ''.join(c for c in phone if c.isdigit())\n\n# Test cases\nassert clean_phone('+880-1234-567890') == '8801234567890'\nassert clean_phone('+44 7700 900123') == '447700900123'\nassert clean_phone('+1 (212) 555-1234') == '12125551234'\n",[7427],{"type":426,"tag":549,"props":7428,"children":7429},{"__ignoreMap":417},[7430,7463,7471,7516,7523,7531,7562,7591],{"type":426,"tag":553,"props":7431,"children":7432},{"class":555,"line":556},[7433,7437,7442,7447,7451,7455,7459],{"type":426,"tag":553,"props":7434,"children":7435},{"style":795},[7436],{"type":431,"value":842},{"type":426,"tag":553,"props":7438,"children":7439},{"style":560},[7440],{"type":431,"value":7441}," clean_phone",{"type":426,"tag":553,"props":7443,"children":7444},{"style":684},[7445],{"type":431,"value":7446},"(phone: ",{"type":426,"tag":553,"props":7448,"children":7449},{"style":566},[7450],{"type":431,"value":895},{"type":426,"tag":553,"props":7452,"children":7453},{"style":684},[7454],{"type":431,"value":900},{"type":426,"tag":553,"props":7456,"children":7457},{"style":566},[7458],{"type":431,"value":895},{"type":426,"tag":553,"props":7460,"children":7461},{"style":684},[7462],{"type":431,"value":909},{"type":426,"tag":553,"props":7464,"children":7465},{"class":555,"line":588},[7466],{"type":426,"tag":553,"props":7467,"children":7468},{"style":572},[7469],{"type":431,"value":7470},"    \"\"\"Remove all non-digit characters from phone number.\"\"\"\n",{"type":426,"tag":553,"props":7472,"children":7473},{"class":555,"line":606},[7474,7478,7482,7487,7492,7497,7501,7506,7511],{"type":426,"tag":553,"props":7475,"children":7476},{"style":795},[7477],{"type":431,"value":1659},{"type":426,"tag":553,"props":7479,"children":7480},{"style":572},[7481],{"type":431,"value":1024},{"type":426,"tag":553,"props":7483,"children":7484},{"style":684},[7485],{"type":431,"value":7486},".join(c ",{"type":426,"tag":553,"props":7488,"children":7489},{"style":795},[7490],{"type":431,"value":7491},"for",{"type":426,"tag":553,"props":7493,"children":7494},{"style":684},[7495],{"type":431,"value":7496}," c ",{"type":426,"tag":553,"props":7498,"children":7499},{"style":795},[7500],{"type":431,"value":2005},{"type":426,"tag":553,"props":7502,"children":7503},{"style":684},[7504],{"type":431,"value":7505}," phone ",{"type":426,"tag":553,"props":7507,"children":7508},{"style":795},[7509],{"type":431,"value":7510},"if",{"type":426,"tag":553,"props":7512,"children":7513},{"style":684},[7514],{"type":431,"value":7515}," c.isdigit())\n",{"type":426,"tag":553,"props":7517,"children":7518},{"class":555,"line":623},[7519],{"type":426,"tag":553,"props":7520,"children":7521},{"emptyLinePlaceholder":831},[7522],{"type":431,"value":834},{"type":426,"tag":553,"props":7524,"children":7525},{"class":555,"line":637},[7526],{"type":426,"tag":553,"props":7527,"children":7528},{"style":1975},[7529],{"type":431,"value":7530},"# Test cases\n",{"type":426,"tag":553,"props":7532,"children":7533},{"class":555,"line":646},[7534,7539,7544,7549,7553,7557],{"type":426,"tag":553,"props":7535,"children":7536},{"style":795},[7537],{"type":431,"value":7538},"assert",{"type":426,"tag":553,"props":7540,"children":7541},{"style":684},[7542],{"type":431,"value":7543}," clean_phone(",{"type":426,"tag":553,"props":7545,"children":7546},{"style":572},[7547],{"type":431,"value":7548},"'+880-1234-567890'",{"type":426,"tag":553,"props":7550,"children":7551},{"style":684},[7552],{"type":431,"value":2987},{"type":426,"tag":553,"props":7554,"children":7555},{"style":795},[7556],{"type":431,"value":1069},{"type":426,"tag":553,"props":7558,"children":7559},{"style":572},[7560],{"type":431,"value":7561}," '8801234567890'\n",{"type":426,"tag":553,"props":7563,"children":7564},{"class":555,"line":655},[7565,7569,7573,7578,7582,7586],{"type":426,"tag":553,"props":7566,"children":7567},{"style":795},[7568],{"type":431,"value":7538},{"type":426,"tag":553,"props":7570,"children":7571},{"style":684},[7572],{"type":431,"value":7543},{"type":426,"tag":553,"props":7574,"children":7575},{"style":572},[7576],{"type":431,"value":7577},"'+44 7700 900123'",{"type":426,"tag":553,"props":7579,"children":7580},{"style":684},[7581],{"type":431,"value":2987},{"type":426,"tag":553,"props":7583,"children":7584},{"style":795},[7585],{"type":431,"value":1069},{"type":426,"tag":553,"props":7587,"children":7588},{"style":572},[7589],{"type":431,"value":7590}," '447700900123'\n",{"type":426,"tag":553,"props":7592,"children":7593},{"class":555,"line":1036},[7594,7598,7602,7607,7611,7615],{"type":426,"tag":553,"props":7595,"children":7596},{"style":795},[7597],{"type":431,"value":7538},{"type":426,"tag":553,"props":7599,"children":7600},{"style":684},[7601],{"type":431,"value":7543},{"type":426,"tag":553,"props":7603,"children":7604},{"style":572},[7605],{"type":431,"value":7606},"'+1 (212) 555-1234'",{"type":426,"tag":553,"props":7608,"children":7609},{"style":684},[7610],{"type":431,"value":2987},{"type":426,"tag":553,"props":7612,"children":7613},{"style":795},[7614],{"type":431,"value":1069},{"type":426,"tag":553,"props":7616,"children":7617},{"style":572},[7618],{"type":431,"value":7619}," '12125551234'\n",{"type":426,"tag":454,"props":7621,"children":7623},{"className":7622},[6898],[7624,7633],{"type":426,"tag":458,"props":7625,"children":7627},{"className":7626},[6903],[7628,7631],{"type":426,"tag":6906,"props":7629,"children":7630},{"disabled":831,"type":6908},[],{"type":431,"value":7632}," Tested with phone numbers from your primary target countries",{"type":426,"tag":458,"props":7634,"children":7636},{"className":7635},[6903],[7637,7640],{"type":426,"tag":6906,"props":7638,"children":7639},{"disabled":831,"type":6908},[],{"type":431,"value":7641}," Added validation to reject obviously invalid numbers (less than 7 digits, more than 15 digits)",{"type":426,"tag":515,"props":7643,"children":7645},{"id":7644},"message-formatting",[7646],{"type":431,"value":7647},"Message Formatting",{"type":426,"tag":454,"props":7649,"children":7651},{"className":7650},[6898],[7652,7705,7714],{"type":426,"tag":458,"props":7653,"children":7655},{"className":7654},[6903],[7656,7659,7661],{"type":426,"tag":6906,"props":7657,"children":7658},{"disabled":831,"type":6908},[],{"type":431,"value":7660}," Tested WhatsApp text formatting:\n",{"type":426,"tag":454,"props":7662,"children":7663},{},[7664,7675,7685,7695],{"type":426,"tag":458,"props":7665,"children":7666},{},[7667,7673],{"type":426,"tag":549,"props":7668,"children":7670},{"className":7669},[],[7671],{"type":431,"value":7672},"*bold*",{"type":431,"value":7674}," renders correctly",{"type":426,"tag":458,"props":7676,"children":7677},{},[7678,7684],{"type":426,"tag":549,"props":7679,"children":7681},{"className":7680},[],[7682],{"type":431,"value":7683},"_italic_",{"type":431,"value":7674},{"type":426,"tag":458,"props":7686,"children":7687},{},[7688,7694],{"type":426,"tag":549,"props":7689,"children":7691},{"className":7690},[],[7692],{"type":431,"value":7693},"~strikethrough~",{"type":431,"value":7674},{"type":426,"tag":458,"props":7696,"children":7697},{},[7698,7703],{"type":426,"tag":549,"props":7699,"children":7701},{"className":7700},[],[7702],{"type":431,"value":3661},{"type":431,"value":7704}," creates line breaks",{"type":426,"tag":458,"props":7706,"children":7708},{"className":7707},[6903],[7709,7712],{"type":426,"tag":6906,"props":7710,"children":7711},{"disabled":831,"type":6908},[],{"type":431,"value":7713}," Ensured message length is under 4,096 characters",{"type":426,"tag":458,"props":7715,"children":7717},{"className":7716},[6903],[7718,7721],{"type":426,"tag":6906,"props":7719,"children":7720},{"disabled":831,"type":6908},[],{"type":431,"value":7722}," Tested multi-line messages:",{"type":426,"tag":542,"props":7724,"children":7726},{"code":7725,"language":784,"meta":417,"className":785,"style":417},"message = (\n    \"Line 1\\n\"\n    \"Line 2\\n\\n\"\n    \"*Bold section*\\n\"\n    \"_Italic note_\"\n)\n",[7727],{"type":426,"tag":549,"props":7728,"children":7729},{"__ignoreMap":417},[7730,7746,7762,7778,7794,7802],{"type":426,"tag":553,"props":7731,"children":7732},{"class":555,"line":556},[7733,7738,7742],{"type":426,"tag":553,"props":7734,"children":7735},{"style":684},[7736],{"type":431,"value":7737},"message ",{"type":426,"tag":553,"props":7739,"children":7740},{"style":795},[7741],{"type":431,"value":957},{"type":426,"tag":553,"props":7743,"children":7744},{"style":684},[7745],{"type":431,"value":1207},{"type":426,"tag":553,"props":7747,"children":7748},{"class":555,"line":588},[7749,7754,7758],{"type":426,"tag":553,"props":7750,"children":7751},{"style":572},[7752],{"type":431,"value":7753},"    \"Line 1",{"type":426,"tag":553,"props":7755,"children":7756},{"style":566},[7757],{"type":431,"value":3661},{"type":426,"tag":553,"props":7759,"children":7760},{"style":572},[7761],{"type":431,"value":1250},{"type":426,"tag":553,"props":7763,"children":7764},{"class":555,"line":606},[7765,7770,7774],{"type":426,"tag":553,"props":7766,"children":7767},{"style":572},[7768],{"type":431,"value":7769},"    \"Line 2",{"type":426,"tag":553,"props":7771,"children":7772},{"style":566},[7773],{"type":431,"value":1295},{"type":426,"tag":553,"props":7775,"children":7776},{"style":572},[7777],{"type":431,"value":1250},{"type":426,"tag":553,"props":7779,"children":7780},{"class":555,"line":623},[7781,7786,7790],{"type":426,"tag":553,"props":7782,"children":7783},{"style":572},[7784],{"type":431,"value":7785},"    \"*Bold section*",{"type":426,"tag":553,"props":7787,"children":7788},{"style":566},[7789],{"type":431,"value":3661},{"type":426,"tag":553,"props":7791,"children":7792},{"style":572},[7793],{"type":431,"value":1250},{"type":426,"tag":553,"props":7795,"children":7796},{"class":555,"line":637},[7797],{"type":426,"tag":553,"props":7798,"children":7799},{"style":572},[7800],{"type":431,"value":7801},"    \"_Italic note_\"\n",{"type":426,"tag":553,"props":7803,"children":7804},{"class":555,"line":646},[7805],{"type":426,"tag":553,"props":7806,"children":7807},{"style":684},[7808],{"type":431,"value":3262},{"type":426,"tag":515,"props":7810,"children":7812},{"id":7811},"media-messages",[7813],{"type":431,"value":7814},"Media Messages",{"type":426,"tag":454,"props":7816,"children":7818},{"className":7817},[6898],[7819,7854],{"type":426,"tag":458,"props":7820,"children":7822},{"className":7821},[6903],[7823,7826,7828,7834,7836],{"type":426,"tag":6906,"props":7824,"children":7825},{"disabled":831,"type":6908},[],{"type":431,"value":7827}," Tested image sending via ",{"type":426,"tag":549,"props":7829,"children":7831},{"className":7830},[],[7832],{"type":431,"value":7833},"\u002Fsend-image",{"type":431,"value":7835}," endpoint:\n",{"type":426,"tag":454,"props":7837,"children":7838},{},[7839,7844,7849],{"type":426,"tag":458,"props":7840,"children":7841},{},[7842],{"type":431,"value":7843},"Image URL is publicly accessible HTTPS",{"type":426,"tag":458,"props":7845,"children":7846},{},[7847],{"type":431,"value":7848},"Image is under 5MB",{"type":426,"tag":458,"props":7850,"children":7851},{},[7852],{"type":431,"value":7853},"Supported format: JPEG, PNG, WebP",{"type":426,"tag":458,"props":7855,"children":7857},{"className":7856},[6903],[7858,7861,7863,7869,7870],{"type":426,"tag":6906,"props":7859,"children":7860},{"disabled":831,"type":6908},[],{"type":431,"value":7862}," Tested document sending via ",{"type":426,"tag":549,"props":7864,"children":7866},{"className":7865},[],[7867],{"type":431,"value":7868},"\u002Fsend-document",{"type":431,"value":909},{"type":426,"tag":454,"props":7871,"children":7872},{},[7873,7878,7883],{"type":426,"tag":458,"props":7874,"children":7875},{},[7876],{"type":431,"value":7877},"Document URL is public HTTPS",{"type":426,"tag":458,"props":7879,"children":7880},{},[7881],{"type":431,"value":7882},"Document is under 100MB",{"type":426,"tag":458,"props":7884,"children":7885},{},[7886],{"type":431,"value":7887},"Filename is provided in the payload",{"type":426,"tag":6880,"props":7889,"children":7890},{},[],{"type":426,"tag":434,"props":7892,"children":7894},{"id":7893},"phase-3-webhook-configuration",[7895],{"type":431,"value":7896},"Phase 3: Webhook Configuration",{"type":426,"tag":515,"props":7898,"children":7900},{"id":7899},"webhook-setup",[7901],{"type":431,"value":7902},"Webhook Setup",{"type":426,"tag":454,"props":7904,"children":7906},{"className":7905},[6898],[7907,7916,7933,7942,7957],{"type":426,"tag":458,"props":7908,"children":7910},{"className":7909},[6903],[7911,7914],{"type":426,"tag":6906,"props":7912,"children":7913},{"disabled":831,"type":6908},[],{"type":431,"value":7915}," Server has a publicly accessible HTTPS URL for webhook",{"type":426,"tag":458,"props":7917,"children":7919},{"className":7918},[6903],[7920,7923,7925,7931],{"type":426,"tag":6906,"props":7921,"children":7922},{"disabled":831,"type":6908},[],{"type":431,"value":7924}," Webhook endpoint returns ",{"type":426,"tag":549,"props":7926,"children":7928},{"className":7927},[],[7929],{"type":431,"value":7930},"200 OK",{"type":431,"value":7932}," within 10 seconds",{"type":426,"tag":458,"props":7934,"children":7936},{"className":7935},[6903],[7937,7940],{"type":426,"tag":6906,"props":7938,"children":7939},{"disabled":831,"type":6908},[],{"type":431,"value":7941}," Registered webhook URL in Rapiwa Dashboard → Webhooks",{"type":426,"tag":458,"props":7943,"children":7945},{"className":7944},[6903],[7946,7949,7951],{"type":426,"tag":6906,"props":7947,"children":7948},{"disabled":831,"type":6908},[],{"type":431,"value":7950}," Selected relevant events: ",{"type":426,"tag":549,"props":7952,"children":7954},{"className":7953},[],[7955],{"type":431,"value":7956},"message.received",{"type":426,"tag":458,"props":7958,"children":7960},{"className":7959},[6903],[7961,7964],{"type":426,"tag":6906,"props":7962,"children":7963},{"disabled":831,"type":6908},[],{"type":431,"value":7965}," Tested webhook receipt with a manual trigger",{"type":426,"tag":515,"props":7967,"children":7969},{"id":7968},"webhook-handler",[7970],{"type":431,"value":7971},"Webhook Handler",{"type":426,"tag":454,"props":7973,"children":7975},{"className":7974},[6898],[7976],{"type":426,"tag":458,"props":7977,"children":7979},{"className":7978},[6903],[7980,7983,7985],{"type":426,"tag":6906,"props":7981,"children":7982},{"disabled":831,"type":6908},[],{"type":431,"value":7984}," Implemented webhook handler that:\n",{"type":426,"tag":454,"props":7986,"children":7987},{},[7988,7993,8005],{"type":426,"tag":458,"props":7989,"children":7990},{},[7991],{"type":431,"value":7992},"Parses the JSON payload",{"type":426,"tag":458,"props":7994,"children":7995},{},[7996,7998,8003],{"type":431,"value":7997},"Responds with ",{"type":426,"tag":549,"props":7999,"children":8001},{"className":8000},[],[8002],{"type":431,"value":7930},{"type":431,"value":8004}," immediately",{"type":426,"tag":458,"props":8006,"children":8007},{},[8008],{"type":431,"value":8009},"Processes business logic asynchronously (background task\u002Fqueue)",{"type":426,"tag":542,"props":8011,"children":8013},{"code":8012,"language":784,"meta":417,"className":785,"style":417},"@app.route('\u002Fwebhook\u002Fwhatsapp', methods=['POST'])\ndef handle_webhook():\n    payload = request.get_json()\n    \n    # Return 200 immediately\n    response = jsonify({'status': 'ok'})\n    \n    # Process in background\n    if payload.get('event') == 'message.received':\n        process_message_async(payload['data'])\n    \n    return response, 200\n",[8014],{"type":426,"tag":549,"props":8015,"children":8016},{"__ignoreMap":417},[8017,8062,8078,8095,8102,8110,8145,8152,8160,8194,8211,8218],{"type":426,"tag":553,"props":8018,"children":8019},{"class":555,"line":556},[8020,8025,8029,8034,8038,8043,8047,8052,8057],{"type":426,"tag":553,"props":8021,"children":8022},{"style":560},[8023],{"type":431,"value":8024},"@app.route",{"type":426,"tag":553,"props":8026,"children":8027},{"style":684},[8028],{"type":431,"value":3275},{"type":426,"tag":553,"props":8030,"children":8031},{"style":572},[8032],{"type":431,"value":8033},"'\u002Fwebhook\u002Fwhatsapp'",{"type":426,"tag":553,"props":8035,"children":8036},{"style":684},[8037],{"type":431,"value":1907},{"type":426,"tag":553,"props":8039,"children":8040},{"style":1684},[8041],{"type":431,"value":8042},"methods",{"type":426,"tag":553,"props":8044,"children":8045},{"style":795},[8046],{"type":431,"value":957},{"type":426,"tag":553,"props":8048,"children":8049},{"style":684},[8050],{"type":431,"value":8051},"[",{"type":426,"tag":553,"props":8053,"children":8054},{"style":572},[8055],{"type":431,"value":8056},"'POST'",{"type":426,"tag":553,"props":8058,"children":8059},{"style":684},[8060],{"type":431,"value":8061},"])\n",{"type":426,"tag":553,"props":8063,"children":8064},{"class":555,"line":588},[8065,8069,8074],{"type":426,"tag":553,"props":8066,"children":8067},{"style":795},[8068],{"type":431,"value":842},{"type":426,"tag":553,"props":8070,"children":8071},{"style":560},[8072],{"type":431,"value":8073}," handle_webhook",{"type":426,"tag":553,"props":8075,"children":8076},{"style":684},[8077],{"type":431,"value":6433},{"type":426,"tag":553,"props":8079,"children":8080},{"class":555,"line":606},[8081,8086,8090],{"type":426,"tag":553,"props":8082,"children":8083},{"style":684},[8084],{"type":431,"value":8085},"    payload ",{"type":426,"tag":553,"props":8087,"children":8088},{"style":795},[8089],{"type":431,"value":957},{"type":426,"tag":553,"props":8091,"children":8092},{"style":684},[8093],{"type":431,"value":8094}," request.get_json()\n",{"type":426,"tag":553,"props":8096,"children":8097},{"class":555,"line":623},[8098],{"type":426,"tag":553,"props":8099,"children":8100},{"style":684},[8101],{"type":431,"value":917},{"type":426,"tag":553,"props":8103,"children":8104},{"class":555,"line":637},[8105],{"type":426,"tag":553,"props":8106,"children":8107},{"style":1975},[8108],{"type":431,"value":8109},"    # Return 200 immediately\n",{"type":426,"tag":553,"props":8111,"children":8112},{"class":555,"line":646},[8113,8118,8122,8127,8131,8135,8140],{"type":426,"tag":553,"props":8114,"children":8115},{"style":684},[8116],{"type":431,"value":8117},"    response ",{"type":426,"tag":553,"props":8119,"children":8120},{"style":795},[8121],{"type":431,"value":957},{"type":426,"tag":553,"props":8123,"children":8124},{"style":684},[8125],{"type":431,"value":8126}," jsonify({",{"type":426,"tag":553,"props":8128,"children":8129},{"style":572},[8130],{"type":431,"value":2982},{"type":426,"tag":553,"props":8132,"children":8133},{"style":684},[8134],{"type":431,"value":700},{"type":426,"tag":553,"props":8136,"children":8137},{"style":572},[8138],{"type":431,"value":8139},"'ok'",{"type":426,"tag":553,"props":8141,"children":8142},{"style":684},[8143],{"type":431,"value":8144},"})\n",{"type":426,"tag":553,"props":8146,"children":8147},{"class":555,"line":655},[8148],{"type":426,"tag":553,"props":8149,"children":8150},{"style":684},[8151],{"type":431,"value":917},{"type":426,"tag":553,"props":8153,"children":8154},{"class":555,"line":1036},[8155],{"type":426,"tag":553,"props":8156,"children":8157},{"style":1975},[8158],{"type":431,"value":8159},"    # Process in background\n",{"type":426,"tag":553,"props":8161,"children":8162},{"class":555,"line":1054},[8163,8167,8172,8177,8181,8185,8190],{"type":426,"tag":553,"props":8164,"children":8165},{"style":795},[8166],{"type":431,"value":925},{"type":426,"tag":553,"props":8168,"children":8169},{"style":684},[8170],{"type":431,"value":8171}," payload.get(",{"type":426,"tag":553,"props":8173,"children":8174},{"style":572},[8175],{"type":431,"value":8176},"'event'",{"type":426,"tag":553,"props":8178,"children":8179},{"style":684},[8180],{"type":431,"value":2987},{"type":426,"tag":553,"props":8182,"children":8183},{"style":795},[8184],{"type":431,"value":1069},{"type":426,"tag":553,"props":8186,"children":8187},{"style":572},[8188],{"type":431,"value":8189}," 'message.received'",{"type":426,"tag":553,"props":8191,"children":8192},{"style":684},[8193],{"type":431,"value":909},{"type":426,"tag":553,"props":8195,"children":8196},{"class":555,"line":1080},[8197,8202,8207],{"type":426,"tag":553,"props":8198,"children":8199},{"style":684},[8200],{"type":431,"value":8201},"        process_message_async(payload[",{"type":426,"tag":553,"props":8203,"children":8204},{"style":572},[8205],{"type":431,"value":8206},"'data'",{"type":426,"tag":553,"props":8208,"children":8209},{"style":684},[8210],{"type":431,"value":8061},{"type":426,"tag":553,"props":8212,"children":8213},{"class":555,"line":1097},[8214],{"type":426,"tag":553,"props":8215,"children":8216},{"style":684},[8217],{"type":431,"value":917},{"type":426,"tag":553,"props":8219,"children":8220},{"class":555,"line":1114},[8221,8225,8230],{"type":426,"tag":553,"props":8222,"children":8223},{"style":795},[8224],{"type":431,"value":1659},{"type":426,"tag":553,"props":8226,"children":8227},{"style":684},[8228],{"type":431,"value":8229}," response, ",{"type":426,"tag":553,"props":8231,"children":8232},{"style":566},[8233],{"type":431,"value":8234},"200\n",{"type":426,"tag":454,"props":8236,"children":8238},{"className":8237},[6898],[8239],{"type":426,"tag":458,"props":8240,"children":8242},{"className":8241},[6903],[8243,8246,8248,8254],{"type":426,"tag":6906,"props":8244,"children":8245},{"disabled":831,"type":6908},[],{"type":431,"value":8247}," Implemented idempotency check (prevent double-processing the same ",{"type":426,"tag":549,"props":8249,"children":8251},{"className":8250},[],[8252],{"type":431,"value":8253},"messageId",{"type":431,"value":1363},{"type":426,"tag":542,"props":8256,"children":8258},{"code":8257,"language":784,"meta":417,"className":785,"style":417},"def process_message_async(data: dict) -> None:\n    message_id = data.get('messageId')\n    \n    if redis.exists(f'processed:{message_id}'):\n        return  # Already processed\n    \n    redis.setex(f'processed:{message_id}', 3600, '1')  # Mark as processed for 1 hour\n    # ... process the message\n",[8259],{"type":426,"tag":549,"props":8260,"children":8261},{"__ignoreMap":417},[8262,8295,8321,8328,8371,8384,8391,8450],{"type":426,"tag":553,"props":8263,"children":8264},{"class":555,"line":556},[8265,8269,8274,8279,8283,8287,8291],{"type":426,"tag":553,"props":8266,"children":8267},{"style":795},[8268],{"type":431,"value":842},{"type":426,"tag":553,"props":8270,"children":8271},{"style":560},[8272],{"type":431,"value":8273}," process_message_async",{"type":426,"tag":553,"props":8275,"children":8276},{"style":684},[8277],{"type":431,"value":8278},"(data: ",{"type":426,"tag":553,"props":8280,"children":8281},{"style":566},[8282],{"type":431,"value":857},{"type":426,"tag":553,"props":8284,"children":8285},{"style":684},[8286],{"type":431,"value":900},{"type":426,"tag":553,"props":8288,"children":8289},{"style":566},[8290],{"type":431,"value":1840},{"type":426,"tag":553,"props":8292,"children":8293},{"style":684},[8294],{"type":431,"value":909},{"type":426,"tag":553,"props":8296,"children":8297},{"class":555,"line":588},[8298,8303,8307,8312,8317],{"type":426,"tag":553,"props":8299,"children":8300},{"style":684},[8301],{"type":431,"value":8302},"    message_id ",{"type":426,"tag":553,"props":8304,"children":8305},{"style":795},[8306],{"type":431,"value":957},{"type":426,"tag":553,"props":8308,"children":8309},{"style":684},[8310],{"type":431,"value":8311}," data.get(",{"type":426,"tag":553,"props":8313,"children":8314},{"style":572},[8315],{"type":431,"value":8316},"'messageId'",{"type":426,"tag":553,"props":8318,"children":8319},{"style":684},[8320],{"type":431,"value":3262},{"type":426,"tag":553,"props":8322,"children":8323},{"class":555,"line":606},[8324],{"type":426,"tag":553,"props":8325,"children":8326},{"style":684},[8327],{"type":431,"value":917},{"type":426,"tag":553,"props":8329,"children":8330},{"class":555,"line":623},[8331,8335,8340,8344,8349,8353,8358,8362,8366],{"type":426,"tag":553,"props":8332,"children":8333},{"style":795},[8334],{"type":431,"value":925},{"type":426,"tag":553,"props":8336,"children":8337},{"style":684},[8338],{"type":431,"value":8339}," redis.exists(",{"type":426,"tag":553,"props":8341,"children":8342},{"style":795},[8343],{"type":431,"value":1709},{"type":426,"tag":553,"props":8345,"children":8346},{"style":572},[8347],{"type":431,"value":8348},"'processed:",{"type":426,"tag":553,"props":8350,"children":8351},{"style":566},[8352],{"type":431,"value":972},{"type":426,"tag":553,"props":8354,"children":8355},{"style":684},[8356],{"type":431,"value":8357},"message_id",{"type":426,"tag":553,"props":8359,"children":8360},{"style":566},[8361],{"type":431,"value":982},{"type":426,"tag":553,"props":8363,"children":8364},{"style":572},[8365],{"type":431,"value":1732},{"type":426,"tag":553,"props":8367,"children":8368},{"style":684},[8369],{"type":431,"value":8370},"):\n",{"type":426,"tag":553,"props":8372,"children":8373},{"class":555,"line":637},[8374,8379],{"type":426,"tag":553,"props":8375,"children":8376},{"style":795},[8377],{"type":431,"value":8378},"        return",{"type":426,"tag":553,"props":8380,"children":8381},{"style":1975},[8382],{"type":431,"value":8383},"  # Already processed\n",{"type":426,"tag":553,"props":8385,"children":8386},{"class":555,"line":646},[8387],{"type":426,"tag":553,"props":8388,"children":8389},{"style":684},[8390],{"type":431,"value":917},{"type":426,"tag":553,"props":8392,"children":8393},{"class":555,"line":655},[8394,8399,8403,8407,8411,8415,8419,8423,8427,8432,8436,8441,8445],{"type":426,"tag":553,"props":8395,"children":8396},{"style":684},[8397],{"type":431,"value":8398},"    redis.setex(",{"type":426,"tag":553,"props":8400,"children":8401},{"style":795},[8402],{"type":431,"value":1709},{"type":426,"tag":553,"props":8404,"children":8405},{"style":572},[8406],{"type":431,"value":8348},{"type":426,"tag":553,"props":8408,"children":8409},{"style":566},[8410],{"type":431,"value":972},{"type":426,"tag":553,"props":8412,"children":8413},{"style":684},[8414],{"type":431,"value":8357},{"type":426,"tag":553,"props":8416,"children":8417},{"style":566},[8418],{"type":431,"value":982},{"type":426,"tag":553,"props":8420,"children":8421},{"style":572},[8422],{"type":431,"value":1732},{"type":426,"tag":553,"props":8424,"children":8425},{"style":684},[8426],{"type":431,"value":1907},{"type":426,"tag":553,"props":8428,"children":8429},{"style":566},[8430],{"type":431,"value":8431},"3600",{"type":426,"tag":553,"props":8433,"children":8434},{"style":684},[8435],{"type":431,"value":1907},{"type":426,"tag":553,"props":8437,"children":8438},{"style":572},[8439],{"type":431,"value":8440},"'1'",{"type":426,"tag":553,"props":8442,"children":8443},{"style":684},[8444],{"type":431,"value":3099},{"type":426,"tag":553,"props":8446,"children":8447},{"style":1975},[8448],{"type":431,"value":8449},"# Mark as processed for 1 hour\n",{"type":426,"tag":553,"props":8451,"children":8452},{"class":555,"line":1036},[8453],{"type":426,"tag":553,"props":8454,"children":8455},{"style":1975},[8456],{"type":431,"value":8457},"    # ... process the message\n",{"type":426,"tag":454,"props":8459,"children":8461},{"className":8460},[6898],[8462],{"type":426,"tag":458,"props":8463,"children":8465},{"className":8464},[6903],[8466,8469,8471],{"type":426,"tag":6906,"props":8467,"children":8468},{"disabled":831,"type":6908},[],{"type":431,"value":8470}," Handles all incoming message types:\n",{"type":426,"tag":454,"props":8472,"children":8473},{},[8474,8484,8495,8506],{"type":426,"tag":458,"props":8475,"children":8476},{},[8477,8482],{"type":426,"tag":549,"props":8478,"children":8480},{"className":8479},[],[8481],{"type":431,"value":431},{"type":431,"value":8483}," — parse and respond to text messages",{"type":426,"tag":458,"props":8485,"children":8486},{},[8487,8493],{"type":426,"tag":549,"props":8488,"children":8490},{"className":8489},[],[8491],{"type":431,"value":8492},"image",{"type":431,"value":8494}," — handle image attachments",{"type":426,"tag":458,"props":8496,"children":8497},{},[8498,8504],{"type":426,"tag":549,"props":8499,"children":8501},{"className":8500},[],[8502],{"type":431,"value":8503},"document",{"type":431,"value":8505}," — handle document attachments",{"type":426,"tag":458,"props":8507,"children":8508},{},[8509],{"type":431,"value":8510},"Other types — graceful fallback",{"type":426,"tag":6880,"props":8512,"children":8513},{},[],{"type":426,"tag":434,"props":8515,"children":8517},{"id":8516},"phase-4-error-handling",[8518],{"type":431,"value":8519},"Phase 4: Error Handling",{"type":426,"tag":515,"props":8521,"children":8523},{"id":8522},"http-error-codes",[8524],{"type":431,"value":8525},"HTTP Error Codes",{"type":426,"tag":454,"props":8527,"children":8529},{"className":8528},[6898],[8530,8560,8589,8618],{"type":426,"tag":458,"props":8531,"children":8533},{"className":8532},[6903],[8534,8537,8539,8545,8547],{"type":426,"tag":6906,"props":8535,"children":8536},{"disabled":831,"type":6908},[],{"type":431,"value":8538}," Handles ",{"type":426,"tag":549,"props":8540,"children":8542},{"className":8541},[],[8543],{"type":431,"value":8544},"401 Unauthorized",{"type":431,"value":8546}," (invalid API key):",{"type":426,"tag":454,"props":8548,"children":8549},{},[8550,8555],{"type":426,"tag":458,"props":8551,"children":8552},{},[8553],{"type":431,"value":8554},"Log the error",{"type":426,"tag":458,"props":8556,"children":8557},{},[8558],{"type":431,"value":8559},"Alert the engineering team (not silently fail)",{"type":426,"tag":458,"props":8561,"children":8563},{"className":8562},[6903],[8564,8567,8568,8574,8576],{"type":426,"tag":6906,"props":8565,"children":8566},{"disabled":831,"type":6908},[],{"type":431,"value":8538},{"type":426,"tag":549,"props":8569,"children":8571},{"className":8570},[],[8572],{"type":431,"value":8573},"400 Bad Request",{"type":431,"value":8575}," (invalid payload):",{"type":426,"tag":454,"props":8577,"children":8578},{},[8579,8584],{"type":426,"tag":458,"props":8580,"children":8581},{},[8582],{"type":431,"value":8583},"Log the full request and response",{"type":426,"tag":458,"props":8585,"children":8586},{},[8587],{"type":431,"value":8588},"Validate input before sending to avoid 400s",{"type":426,"tag":458,"props":8590,"children":8592},{"className":8591},[6903],[8593,8596,8597,8603,8605],{"type":426,"tag":6906,"props":8594,"children":8595},{"disabled":831,"type":6908},[],{"type":431,"value":8538},{"type":426,"tag":549,"props":8598,"children":8600},{"className":8599},[],[8601],{"type":431,"value":8602},"429 Too Many Requests",{"type":431,"value":8604}," (rate limit):",{"type":426,"tag":454,"props":8606,"children":8607},{},[8608,8613],{"type":426,"tag":458,"props":8609,"children":8610},{},[8611],{"type":431,"value":8612},"Implement exponential backoff: wait 1s, 2s, 4s, 8s...",{"type":426,"tag":458,"props":8614,"children":8615},{},[8616],{"type":431,"value":8617},"Queue messages during rate limit windows",{"type":426,"tag":458,"props":8619,"children":8621},{"className":8620},[6903],[8622,8625,8626,8632,8634],{"type":426,"tag":6906,"props":8623,"children":8624},{"disabled":831,"type":6908},[],{"type":431,"value":8538},{"type":426,"tag":549,"props":8627,"children":8629},{"className":8628},[],[8630],{"type":431,"value":8631},"5xx Server Errors",{"type":431,"value":8633}," (Rapiwa API issues):",{"type":426,"tag":454,"props":8635,"children":8636},{},[8637,8642],{"type":426,"tag":458,"props":8638,"children":8639},{},[8640],{"type":431,"value":8641},"Retry up to 3 times with backoff",{"type":426,"tag":458,"props":8643,"children":8644},{},[8645],{"type":431,"value":8646},"Alert on repeated 5xx errors",{"type":426,"tag":515,"props":8648,"children":8650},{"id":8649},"error-handling-implementation",[8651],{"type":431,"value":8652},"Error Handling Implementation",{"type":426,"tag":542,"props":8654,"children":8656},{"code":8655,"language":784,"meta":417,"className":785,"style":417},"import time\nimport requests\n\ndef send_with_retry(phone: str, message: str, api_key: str, max_retries: int = 3) -> dict:\n    \"\"\"Send WhatsApp message with automatic retry on failure.\"\"\"\n    last_error = None\n    \n    for attempt in range(max_retries):\n        try:\n            response = requests.post(\n                'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n                headers={'Authorization': f'Bearer {api_key}'},\n                json={'number': phone, 'message': message},\n                timeout=15\n            )\n            \n            if response.status_code == 401:\n                raise PermissionError(\"Invalid API key — check RAPIWA_API_KEY env var\")\n            \n            if response.status_code == 429:\n                wait_time = 2 ** attempt  # Exponential backoff\n                time.sleep(wait_time)\n                continue\n            \n            if response.status_code >= 500:\n                wait_time = 2 ** attempt\n                time.sleep(wait_time)\n                continue\n            \n            return response.json()\n            \n        except requests.Timeout:\n            last_error = \"Request timed out\"\n            time.sleep(2 ** attempt)\n            continue\n        \n        except requests.ConnectionError:\n            last_error = \"Connection error — check network\"\n            time.sleep(5)\n            continue\n    \n    raise RuntimeError(f\"Failed after {max_retries} attempts: {last_error}\")\n",[8657],{"type":426,"tag":549,"props":8658,"children":8659},{"__ignoreMap":417},[8660,8671,8682,8689,8757,8765,8782,8789,8815,8827,8843,8855,8907,8941,8958,8965,8973,8999,9025,9032,9056,9088,9096,9104,9111,9136,9160,9167,9174,9181,9194,9201,9214,9231,9252,9260,9267,9279,9295,9311,9318,9325],{"type":426,"tag":553,"props":8661,"children":8662},{"class":555,"line":556},[8663,8667],{"type":426,"tag":553,"props":8664,"children":8665},{"style":795},[8666],{"type":431,"value":798},{"type":426,"tag":553,"props":8668,"children":8669},{"style":684},[8670],{"type":431,"value":3081},{"type":426,"tag":553,"props":8672,"children":8673},{"class":555,"line":588},[8674,8678],{"type":426,"tag":553,"props":8675,"children":8676},{"style":795},[8677],{"type":431,"value":798},{"type":426,"tag":553,"props":8679,"children":8680},{"style":684},[8681],{"type":431,"value":803},{"type":426,"tag":553,"props":8683,"children":8684},{"class":555,"line":606},[8685],{"type":426,"tag":553,"props":8686,"children":8687},{"emptyLinePlaceholder":831},[8688],{"type":431,"value":834},{"type":426,"tag":553,"props":8690,"children":8691},{"class":555,"line":623},[8692,8696,8701,8705,8709,8714,8718,8722,8726,8731,8735,8740,8745,8749,8753],{"type":426,"tag":553,"props":8693,"children":8694},{"style":795},[8695],{"type":431,"value":842},{"type":426,"tag":553,"props":8697,"children":8698},{"style":560},[8699],{"type":431,"value":8700}," send_with_retry",{"type":426,"tag":553,"props":8702,"children":8703},{"style":684},[8704],{"type":431,"value":7446},{"type":426,"tag":553,"props":8706,"children":8707},{"style":566},[8708],{"type":431,"value":895},{"type":426,"tag":553,"props":8710,"children":8711},{"style":684},[8712],{"type":431,"value":8713},", message: ",{"type":426,"tag":553,"props":8715,"children":8716},{"style":566},[8717],{"type":431,"value":895},{"type":426,"tag":553,"props":8719,"children":8720},{"style":684},[8721],{"type":431,"value":890},{"type":426,"tag":553,"props":8723,"children":8724},{"style":566},[8725],{"type":431,"value":895},{"type":426,"tag":553,"props":8727,"children":8728},{"style":684},[8729],{"type":431,"value":8730},", max_retries: ",{"type":426,"tag":553,"props":8732,"children":8733},{"style":566},[8734],{"type":431,"value":885},{"type":426,"tag":553,"props":8736,"children":8737},{"style":795},[8738],{"type":431,"value":8739}," =",{"type":426,"tag":553,"props":8741,"children":8742},{"style":566},[8743],{"type":431,"value":8744}," 3",{"type":426,"tag":553,"props":8746,"children":8747},{"style":684},[8748],{"type":431,"value":900},{"type":426,"tag":553,"props":8750,"children":8751},{"style":566},[8752],{"type":431,"value":857},{"type":426,"tag":553,"props":8754,"children":8755},{"style":684},[8756],{"type":431,"value":909},{"type":426,"tag":553,"props":8758,"children":8759},{"class":555,"line":637},[8760],{"type":426,"tag":553,"props":8761,"children":8762},{"style":572},[8763],{"type":431,"value":8764},"    \"\"\"Send WhatsApp message with automatic retry on failure.\"\"\"\n",{"type":426,"tag":553,"props":8766,"children":8767},{"class":555,"line":646},[8768,8773,8777],{"type":426,"tag":553,"props":8769,"children":8770},{"style":684},[8771],{"type":431,"value":8772},"    last_error ",{"type":426,"tag":553,"props":8774,"children":8775},{"style":795},[8776],{"type":431,"value":957},{"type":426,"tag":553,"props":8778,"children":8779},{"style":566},[8780],{"type":431,"value":8781}," None\n",{"type":426,"tag":553,"props":8783,"children":8784},{"class":555,"line":655},[8785],{"type":426,"tag":553,"props":8786,"children":8787},{"style":684},[8788],{"type":431,"value":917},{"type":426,"tag":553,"props":8790,"children":8791},{"class":555,"line":1036},[8792,8796,8801,8805,8810],{"type":426,"tag":553,"props":8793,"children":8794},{"style":795},[8795],{"type":431,"value":1995},{"type":426,"tag":553,"props":8797,"children":8798},{"style":684},[8799],{"type":431,"value":8800}," attempt ",{"type":426,"tag":553,"props":8802,"children":8803},{"style":795},[8804],{"type":431,"value":2005},{"type":426,"tag":553,"props":8806,"children":8807},{"style":566},[8808],{"type":431,"value":8809}," range",{"type":426,"tag":553,"props":8811,"children":8812},{"style":684},[8813],{"type":431,"value":8814},"(max_retries):\n",{"type":426,"tag":553,"props":8816,"children":8817},{"class":555,"line":1054},[8818,8823],{"type":426,"tag":553,"props":8819,"children":8820},{"style":795},[8821],{"type":431,"value":8822},"        try",{"type":426,"tag":553,"props":8824,"children":8825},{"style":684},[8826],{"type":431,"value":909},{"type":426,"tag":553,"props":8828,"children":8829},{"class":555,"line":1080},[8830,8835,8839],{"type":426,"tag":553,"props":8831,"children":8832},{"style":684},[8833],{"type":431,"value":8834},"            response ",{"type":426,"tag":553,"props":8836,"children":8837},{"style":795},[8838],{"type":431,"value":957},{"type":426,"tag":553,"props":8840,"children":8841},{"style":684},[8842],{"type":431,"value":1664},{"type":426,"tag":553,"props":8844,"children":8845},{"class":555,"line":1097},[8846,8851],{"type":426,"tag":553,"props":8847,"children":8848},{"style":572},[8849],{"type":431,"value":8850},"                'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message'",{"type":426,"tag":553,"props":8852,"children":8853},{"style":684},[8854],{"type":431,"value":710},{"type":426,"tag":553,"props":8856,"children":8857},{"class":555,"line":1114},[8858,8863,8867,8871,8875,8879,8883,8887,8891,8895,8899,8903],{"type":426,"tag":553,"props":8859,"children":8860},{"style":1684},[8861],{"type":431,"value":8862},"                headers",{"type":426,"tag":553,"props":8864,"children":8865},{"style":795},[8866],{"type":431,"value":957},{"type":426,"tag":553,"props":8868,"children":8869},{"style":684},[8870],{"type":431,"value":972},{"type":426,"tag":553,"props":8872,"children":8873},{"style":572},[8874],{"type":431,"value":1700},{"type":426,"tag":553,"props":8876,"children":8877},{"style":684},[8878],{"type":431,"value":700},{"type":426,"tag":553,"props":8880,"children":8881},{"style":795},[8882],{"type":431,"value":1709},{"type":426,"tag":553,"props":8884,"children":8885},{"style":572},[8886],{"type":431,"value":1714},{"type":426,"tag":553,"props":8888,"children":8889},{"style":566},[8890],{"type":431,"value":972},{"type":426,"tag":553,"props":8892,"children":8893},{"style":684},[8894],{"type":431,"value":1723},{"type":426,"tag":553,"props":8896,"children":8897},{"style":566},[8898],{"type":431,"value":982},{"type":426,"tag":553,"props":8900,"children":8901},{"style":572},[8902],{"type":431,"value":1732},{"type":426,"tag":553,"props":8904,"children":8905},{"style":684},[8906],{"type":431,"value":1737},{"type":426,"tag":553,"props":8908,"children":8909},{"class":555,"line":1127},[8910,8915,8919,8923,8927,8932,8936],{"type":426,"tag":553,"props":8911,"children":8912},{"style":1684},[8913],{"type":431,"value":8914},"                json",{"type":426,"tag":553,"props":8916,"children":8917},{"style":795},[8918],{"type":431,"value":957},{"type":426,"tag":553,"props":8920,"children":8921},{"style":684},[8922],{"type":431,"value":972},{"type":426,"tag":553,"props":8924,"children":8925},{"style":572},[8926],{"type":431,"value":1759},{"type":426,"tag":553,"props":8928,"children":8929},{"style":684},[8930],{"type":431,"value":8931},": phone, ",{"type":426,"tag":553,"props":8933,"children":8934},{"style":572},[8935],{"type":431,"value":1779},{"type":426,"tag":553,"props":8937,"children":8938},{"style":684},[8939],{"type":431,"value":8940},": message},\n",{"type":426,"tag":553,"props":8942,"children":8943},{"class":555,"line":1167},[8944,8949,8953],{"type":426,"tag":553,"props":8945,"children":8946},{"style":1684},[8947],{"type":431,"value":8948},"                timeout",{"type":426,"tag":553,"props":8950,"children":8951},{"style":795},[8952],{"type":431,"value":957},{"type":426,"tag":553,"props":8954,"children":8955},{"style":566},[8956],{"type":431,"value":8957},"15\n",{"type":426,"tag":553,"props":8959,"children":8960},{"class":555,"line":1184},[8961],{"type":426,"tag":553,"props":8962,"children":8963},{"style":684},[8964],{"type":431,"value":2551},{"type":426,"tag":553,"props":8966,"children":8967},{"class":555,"line":1192},[8968],{"type":426,"tag":553,"props":8969,"children":8970},{"style":684},[8971],{"type":431,"value":8972},"            \n",{"type":426,"tag":553,"props":8974,"children":8975},{"class":555,"line":1210},[8976,8981,8986,8990,8995],{"type":426,"tag":553,"props":8977,"children":8978},{"style":795},[8979],{"type":431,"value":8980},"            if",{"type":426,"tag":553,"props":8982,"children":8983},{"style":684},[8984],{"type":431,"value":8985}," response.status_code ",{"type":426,"tag":553,"props":8987,"children":8988},{"style":795},[8989],{"type":431,"value":1069},{"type":426,"tag":553,"props":8991,"children":8992},{"style":566},[8993],{"type":431,"value":8994}," 401",{"type":426,"tag":553,"props":8996,"children":8997},{"style":684},[8998],{"type":431,"value":909},{"type":426,"tag":553,"props":9000,"children":9001},{"class":555,"line":1253},[9002,9007,9012,9016,9021],{"type":426,"tag":553,"props":9003,"children":9004},{"style":795},[9005],{"type":431,"value":9006},"                raise",{"type":426,"tag":553,"props":9008,"children":9009},{"style":566},[9010],{"type":431,"value":9011}," PermissionError",{"type":426,"tag":553,"props":9013,"children":9014},{"style":684},[9015],{"type":431,"value":3275},{"type":426,"tag":553,"props":9017,"children":9018},{"style":572},[9019],{"type":431,"value":9020},"\"Invalid API key — check RAPIWA_API_KEY env var\"",{"type":426,"tag":553,"props":9022,"children":9023},{"style":684},[9024],{"type":431,"value":3262},{"type":426,"tag":553,"props":9026,"children":9027},{"class":555,"line":1302},[9028],{"type":426,"tag":553,"props":9029,"children":9030},{"style":684},[9031],{"type":431,"value":8972},{"type":426,"tag":553,"props":9033,"children":9034},{"class":555,"line":1374},[9035,9039,9043,9047,9052],{"type":426,"tag":553,"props":9036,"children":9037},{"style":795},[9038],{"type":431,"value":8980},{"type":426,"tag":553,"props":9040,"children":9041},{"style":684},[9042],{"type":431,"value":8985},{"type":426,"tag":553,"props":9044,"children":9045},{"style":795},[9046],{"type":431,"value":1069},{"type":426,"tag":553,"props":9048,"children":9049},{"style":566},[9050],{"type":431,"value":9051}," 429",{"type":426,"tag":553,"props":9053,"children":9054},{"style":684},[9055],{"type":431,"value":909},{"type":426,"tag":553,"props":9057,"children":9058},{"class":555,"line":1414},[9059,9064,9068,9073,9078,9083],{"type":426,"tag":553,"props":9060,"children":9061},{"style":684},[9062],{"type":431,"value":9063},"                wait_time ",{"type":426,"tag":553,"props":9065,"children":9066},{"style":795},[9067],{"type":431,"value":957},{"type":426,"tag":553,"props":9069,"children":9070},{"style":566},[9071],{"type":431,"value":9072}," 2",{"type":426,"tag":553,"props":9074,"children":9075},{"style":795},[9076],{"type":431,"value":9077}," **",{"type":426,"tag":553,"props":9079,"children":9080},{"style":684},[9081],{"type":431,"value":9082}," attempt  ",{"type":426,"tag":553,"props":9084,"children":9085},{"style":1975},[9086],{"type":431,"value":9087},"# Exponential backoff\n",{"type":426,"tag":553,"props":9089,"children":9090},{"class":555,"line":1479},[9091],{"type":426,"tag":553,"props":9092,"children":9093},{"style":684},[9094],{"type":431,"value":9095},"                time.sleep(wait_time)\n",{"type":426,"tag":553,"props":9097,"children":9098},{"class":555,"line":1517},[9099],{"type":426,"tag":553,"props":9100,"children":9101},{"style":795},[9102],{"type":431,"value":9103},"                continue\n",{"type":426,"tag":553,"props":9105,"children":9106},{"class":555,"line":1560},[9107],{"type":426,"tag":553,"props":9108,"children":9109},{"style":684},[9110],{"type":431,"value":8972},{"type":426,"tag":553,"props":9112,"children":9113},{"class":555,"line":1598},[9114,9118,9122,9127,9132],{"type":426,"tag":553,"props":9115,"children":9116},{"style":795},[9117],{"type":431,"value":8980},{"type":426,"tag":553,"props":9119,"children":9120},{"style":684},[9121],{"type":431,"value":8985},{"type":426,"tag":553,"props":9123,"children":9124},{"style":795},[9125],{"type":431,"value":9126},">=",{"type":426,"tag":553,"props":9128,"children":9129},{"style":566},[9130],{"type":431,"value":9131}," 500",{"type":426,"tag":553,"props":9133,"children":9134},{"style":684},[9135],{"type":431,"value":909},{"type":426,"tag":553,"props":9137,"children":9138},{"class":555,"line":1636},[9139,9143,9147,9151,9155],{"type":426,"tag":553,"props":9140,"children":9141},{"style":684},[9142],{"type":431,"value":9063},{"type":426,"tag":553,"props":9144,"children":9145},{"style":795},[9146],{"type":431,"value":957},{"type":426,"tag":553,"props":9148,"children":9149},{"style":566},[9150],{"type":431,"value":9072},{"type":426,"tag":553,"props":9152,"children":9153},{"style":795},[9154],{"type":431,"value":9077},{"type":426,"tag":553,"props":9156,"children":9157},{"style":684},[9158],{"type":431,"value":9159}," attempt\n",{"type":426,"tag":553,"props":9161,"children":9162},{"class":555,"line":1645},[9163],{"type":426,"tag":553,"props":9164,"children":9165},{"style":684},[9166],{"type":431,"value":9095},{"type":426,"tag":553,"props":9168,"children":9169},{"class":555,"line":1653},[9170],{"type":426,"tag":553,"props":9171,"children":9172},{"style":795},[9173],{"type":431,"value":9103},{"type":426,"tag":553,"props":9175,"children":9176},{"class":555,"line":1667},[9177],{"type":426,"tag":553,"props":9178,"children":9179},{"style":684},[9180],{"type":431,"value":8972},{"type":426,"tag":553,"props":9182,"children":9183},{"class":555,"line":1680},[9184,9189],{"type":426,"tag":553,"props":9185,"children":9186},{"style":795},[9187],{"type":431,"value":9188},"            return",{"type":426,"tag":553,"props":9190,"children":9191},{"style":684},[9192],{"type":431,"value":9193}," response.json()\n",{"type":426,"tag":553,"props":9195,"children":9196},{"class":555,"line":1740},[9197],{"type":426,"tag":553,"props":9198,"children":9199},{"style":684},[9200],{"type":431,"value":8972},{"type":426,"tag":553,"props":9202,"children":9203},{"class":555,"line":1787},[9204,9209],{"type":426,"tag":553,"props":9205,"children":9206},{"style":795},[9207],{"type":431,"value":9208},"        except",{"type":426,"tag":553,"props":9210,"children":9211},{"style":684},[9212],{"type":431,"value":9213}," requests.Timeout:\n",{"type":426,"tag":553,"props":9215,"children":9216},{"class":555,"line":1796},[9217,9222,9226],{"type":426,"tag":553,"props":9218,"children":9219},{"style":684},[9220],{"type":431,"value":9221},"            last_error ",{"type":426,"tag":553,"props":9223,"children":9224},{"style":795},[9225],{"type":431,"value":957},{"type":426,"tag":553,"props":9227,"children":9228},{"style":572},[9229],{"type":431,"value":9230}," \"Request timed out\"\n",{"type":426,"tag":553,"props":9232,"children":9233},{"class":555,"line":1804},[9234,9239,9243,9247],{"type":426,"tag":553,"props":9235,"children":9236},{"style":684},[9237],{"type":431,"value":9238},"            time.sleep(",{"type":426,"tag":553,"props":9240,"children":9241},{"style":566},[9242],{"type":431,"value":6533},{"type":426,"tag":553,"props":9244,"children":9245},{"style":795},[9246],{"type":431,"value":9077},{"type":426,"tag":553,"props":9248,"children":9249},{"style":684},[9250],{"type":431,"value":9251}," attempt)\n",{"type":426,"tag":553,"props":9253,"children":9254},{"class":555,"line":1812},[9255],{"type":426,"tag":553,"props":9256,"children":9257},{"style":795},[9258],{"type":431,"value":9259},"            continue\n",{"type":426,"tag":553,"props":9261,"children":9262},{"class":555,"line":1847},[9263],{"type":426,"tag":553,"props":9264,"children":9265},{"style":684},[9266],{"type":431,"value":2061},{"type":426,"tag":553,"props":9268,"children":9269},{"class":555,"line":1856},[9270,9274],{"type":426,"tag":553,"props":9271,"children":9272},{"style":795},[9273],{"type":431,"value":9208},{"type":426,"tag":553,"props":9275,"children":9276},{"style":684},[9277],{"type":431,"value":9278}," requests.ConnectionError:\n",{"type":426,"tag":553,"props":9280,"children":9281},{"class":555,"line":1874},[9282,9286,9290],{"type":426,"tag":553,"props":9283,"children":9284},{"style":684},[9285],{"type":431,"value":9221},{"type":426,"tag":553,"props":9287,"children":9288},{"style":795},[9289],{"type":431,"value":957},{"type":426,"tag":553,"props":9291,"children":9292},{"style":572},[9293],{"type":431,"value":9294}," \"Connection error — check network\"\n",{"type":426,"tag":553,"props":9296,"children":9297},{"class":555,"line":1882},[9298,9302,9307],{"type":426,"tag":553,"props":9299,"children":9300},{"style":684},[9301],{"type":431,"value":9238},{"type":426,"tag":553,"props":9303,"children":9304},{"style":566},[9305],{"type":431,"value":9306},"5",{"type":426,"tag":553,"props":9308,"children":9309},{"style":684},[9310],{"type":431,"value":3262},{"type":426,"tag":553,"props":9312,"children":9313},{"class":555,"line":1981},[9314],{"type":426,"tag":553,"props":9315,"children":9316},{"style":795},[9317],{"type":431,"value":9259},{"type":426,"tag":553,"props":9319,"children":9320},{"class":555,"line":1989},[9321],{"type":426,"tag":553,"props":9322,"children":9323},{"style":684},[9324],{"type":431,"value":917},{"type":426,"tag":553,"props":9326,"children":9327},{"class":555,"line":2013},[9328,9333,9338,9342,9346,9351,9355,9360,9364,9369,9373,9378,9382,9386],{"type":426,"tag":553,"props":9329,"children":9330},{"style":795},[9331],{"type":431,"value":9332},"    raise",{"type":426,"tag":553,"props":9334,"children":9335},{"style":566},[9336],{"type":431,"value":9337}," RuntimeError",{"type":426,"tag":553,"props":9339,"children":9340},{"style":684},[9341],{"type":431,"value":3275},{"type":426,"tag":553,"props":9343,"children":9344},{"style":795},[9345],{"type":431,"value":1709},{"type":426,"tag":553,"props":9347,"children":9348},{"style":572},[9349],{"type":431,"value":9350},"\"Failed after ",{"type":426,"tag":553,"props":9352,"children":9353},{"style":566},[9354],{"type":431,"value":972},{"type":426,"tag":553,"props":9356,"children":9357},{"style":684},[9358],{"type":431,"value":9359},"max_retries",{"type":426,"tag":553,"props":9361,"children":9362},{"style":566},[9363],{"type":431,"value":982},{"type":426,"tag":553,"props":9365,"children":9366},{"style":572},[9367],{"type":431,"value":9368}," attempts: ",{"type":426,"tag":553,"props":9370,"children":9371},{"style":566},[9372],{"type":431,"value":972},{"type":426,"tag":553,"props":9374,"children":9375},{"style":684},[9376],{"type":431,"value":9377},"last_error",{"type":426,"tag":553,"props":9379,"children":9380},{"style":566},[9381],{"type":431,"value":982},{"type":426,"tag":553,"props":9383,"children":9384},{"style":572},[9385],{"type":431,"value":1527},{"type":426,"tag":553,"props":9387,"children":9388},{"style":684},[9389],{"type":431,"value":3262},{"type":426,"tag":6880,"props":9391,"children":9392},{},[],{"type":426,"tag":434,"props":9394,"children":9396},{"id":9395},"phase-5-rate-limiting-and-bulk-sending",[9397],{"type":431,"value":9398},"Phase 5: Rate Limiting and Bulk Sending",{"type":426,"tag":515,"props":9400,"children":9402},{"id":9401},"rate-limit-compliance",[9403],{"type":431,"value":9404},"Rate Limit Compliance",{"type":426,"tag":454,"props":9406,"children":9408},{"className":9407},[6898],[9409,9418],{"type":426,"tag":458,"props":9410,"children":9412},{"className":9411},[6903],[9413,9416],{"type":426,"tag":6906,"props":9414,"children":9415},{"disabled":831,"type":6908},[],{"type":431,"value":9417}," Added 1-second delay between messages for bulk sends",{"type":426,"tag":458,"props":9419,"children":9421},{"className":9420},[6903],[9422,9425],{"type":426,"tag":6906,"props":9423,"children":9424},{"disabled":831,"type":6908},[],{"type":431,"value":9426}," Implemented a message queue for high-volume sends (Celery, Bull, Sidekiq):",{"type":426,"tag":542,"props":9428,"children":9430},{"code":9429,"language":784,"meta":417,"className":785,"style":417},"# Celery task for rate-limited bulk send\n@celery.task(rate_limit='60\u002Fm')  # 60 per minute max\ndef send_whatsapp_task(phone: str, message: str) -> dict:\n    return send_with_retry(phone, message, os.environ['RAPIWA_API_KEY'])\n",[9431],{"type":426,"tag":549,"props":9432,"children":9433},{"__ignoreMap":417},[9434,9442,9477,9517],{"type":426,"tag":553,"props":9435,"children":9436},{"class":555,"line":556},[9437],{"type":426,"tag":553,"props":9438,"children":9439},{"style":1975},[9440],{"type":431,"value":9441},"# Celery task for rate-limited bulk send\n",{"type":426,"tag":553,"props":9443,"children":9444},{"class":555,"line":588},[9445,9450,9454,9459,9463,9468,9472],{"type":426,"tag":553,"props":9446,"children":9447},{"style":560},[9448],{"type":431,"value":9449},"@celery.task",{"type":426,"tag":553,"props":9451,"children":9452},{"style":684},[9453],{"type":431,"value":3275},{"type":426,"tag":553,"props":9455,"children":9456},{"style":1684},[9457],{"type":431,"value":9458},"rate_limit",{"type":426,"tag":553,"props":9460,"children":9461},{"style":795},[9462],{"type":431,"value":957},{"type":426,"tag":553,"props":9464,"children":9465},{"style":572},[9466],{"type":431,"value":9467},"'60\u002Fm'",{"type":426,"tag":553,"props":9469,"children":9470},{"style":684},[9471],{"type":431,"value":3099},{"type":426,"tag":553,"props":9473,"children":9474},{"style":1975},[9475],{"type":431,"value":9476},"# 60 per minute max\n",{"type":426,"tag":553,"props":9478,"children":9479},{"class":555,"line":606},[9480,9484,9489,9493,9497,9501,9505,9509,9513],{"type":426,"tag":553,"props":9481,"children":9482},{"style":795},[9483],{"type":431,"value":842},{"type":426,"tag":553,"props":9485,"children":9486},{"style":560},[9487],{"type":431,"value":9488}," send_whatsapp_task",{"type":426,"tag":553,"props":9490,"children":9491},{"style":684},[9492],{"type":431,"value":7446},{"type":426,"tag":553,"props":9494,"children":9495},{"style":566},[9496],{"type":431,"value":895},{"type":426,"tag":553,"props":9498,"children":9499},{"style":684},[9500],{"type":431,"value":8713},{"type":426,"tag":553,"props":9502,"children":9503},{"style":566},[9504],{"type":431,"value":895},{"type":426,"tag":553,"props":9506,"children":9507},{"style":684},[9508],{"type":431,"value":900},{"type":426,"tag":553,"props":9510,"children":9511},{"style":566},[9512],{"type":431,"value":857},{"type":426,"tag":553,"props":9514,"children":9515},{"style":684},[9516],{"type":431,"value":909},{"type":426,"tag":553,"props":9518,"children":9519},{"class":555,"line":623},[9520,9524,9529,9534],{"type":426,"tag":553,"props":9521,"children":9522},{"style":795},[9523],{"type":431,"value":1659},{"type":426,"tag":553,"props":9525,"children":9526},{"style":684},[9527],{"type":431,"value":9528}," send_with_retry(phone, message, os.environ[",{"type":426,"tag":553,"props":9530,"children":9531},{"style":572},[9532],{"type":431,"value":9533},"'RAPIWA_API_KEY'",{"type":426,"tag":553,"props":9535,"children":9536},{"style":684},[9537],{"type":431,"value":8061},{"type":426,"tag":454,"props":9539,"children":9541},{"className":9540},[6898],[9542],{"type":426,"tag":458,"props":9543,"children":9545},{"className":9544},[6903],[9546,9549],{"type":426,"tag":6906,"props":9547,"children":9548},{"disabled":831,"type":6908},[],{"type":431,"value":9550}," Implemented a daily volume monitor (alert if unexpected spike):",{"type":426,"tag":542,"props":9552,"children":9554},{"code":9553,"language":784,"meta":417,"className":785,"style":417},"def check_daily_volume():\n    \"\"\"Alert if daily message count exceeds expected threshold.\"\"\"\n    count = redis.incr('daily_message_count')\n    if count > EXPECTED_DAILY_MAX * 1.5:\n        send_alert(f\"⚠️ Unusual message volume: {count} messages sent today\")\n",[9555],{"type":426,"tag":549,"props":9556,"children":9557},{"__ignoreMap":417},[9558,9574,9582,9608,9643],{"type":426,"tag":553,"props":9559,"children":9560},{"class":555,"line":556},[9561,9565,9570],{"type":426,"tag":553,"props":9562,"children":9563},{"style":795},[9564],{"type":431,"value":842},{"type":426,"tag":553,"props":9566,"children":9567},{"style":560},[9568],{"type":431,"value":9569}," check_daily_volume",{"type":426,"tag":553,"props":9571,"children":9572},{"style":684},[9573],{"type":431,"value":6433},{"type":426,"tag":553,"props":9575,"children":9576},{"class":555,"line":588},[9577],{"type":426,"tag":553,"props":9578,"children":9579},{"style":572},[9580],{"type":431,"value":9581},"    \"\"\"Alert if daily message count exceeds expected threshold.\"\"\"\n",{"type":426,"tag":553,"props":9583,"children":9584},{"class":555,"line":606},[9585,9590,9594,9599,9604],{"type":426,"tag":553,"props":9586,"children":9587},{"style":684},[9588],{"type":431,"value":9589},"    count ",{"type":426,"tag":553,"props":9591,"children":9592},{"style":795},[9593],{"type":431,"value":957},{"type":426,"tag":553,"props":9595,"children":9596},{"style":684},[9597],{"type":431,"value":9598}," redis.incr(",{"type":426,"tag":553,"props":9600,"children":9601},{"style":572},[9602],{"type":431,"value":9603},"'daily_message_count'",{"type":426,"tag":553,"props":9605,"children":9606},{"style":684},[9607],{"type":431,"value":3262},{"type":426,"tag":553,"props":9609,"children":9610},{"class":555,"line":623},[9611,9615,9620,9624,9629,9634,9639],{"type":426,"tag":553,"props":9612,"children":9613},{"style":795},[9614],{"type":431,"value":925},{"type":426,"tag":553,"props":9616,"children":9617},{"style":684},[9618],{"type":431,"value":9619}," count ",{"type":426,"tag":553,"props":9621,"children":9622},{"style":795},[9623],{"type":431,"value":935},{"type":426,"tag":553,"props":9625,"children":9626},{"style":566},[9627],{"type":431,"value":9628}," EXPECTED_DAILY_MAX",{"type":426,"tag":553,"props":9630,"children":9631},{"style":795},[9632],{"type":431,"value":9633}," *",{"type":426,"tag":553,"props":9635,"children":9636},{"style":566},[9637],{"type":431,"value":9638}," 1.5",{"type":426,"tag":553,"props":9640,"children":9641},{"style":684},[9642],{"type":431,"value":909},{"type":426,"tag":553,"props":9644,"children":9645},{"class":555,"line":637},[9646,9651,9655,9660,9664,9669,9673,9678],{"type":426,"tag":553,"props":9647,"children":9648},{"style":684},[9649],{"type":431,"value":9650},"        send_alert(",{"type":426,"tag":553,"props":9652,"children":9653},{"style":795},[9654],{"type":431,"value":1709},{"type":426,"tag":553,"props":9656,"children":9657},{"style":572},[9658],{"type":431,"value":9659},"\"⚠️ Unusual message volume: ",{"type":426,"tag":553,"props":9661,"children":9662},{"style":566},[9663],{"type":431,"value":972},{"type":426,"tag":553,"props":9665,"children":9666},{"style":684},[9667],{"type":431,"value":9668},"count",{"type":426,"tag":553,"props":9670,"children":9671},{"style":566},[9672],{"type":431,"value":982},{"type":426,"tag":553,"props":9674,"children":9675},{"style":572},[9676],{"type":431,"value":9677}," messages sent today\"",{"type":426,"tag":553,"props":9679,"children":9680},{"style":684},[9681],{"type":431,"value":3262},{"type":426,"tag":6880,"props":9683,"children":9684},{},[],{"type":426,"tag":434,"props":9686,"children":9688},{"id":9687},"phase-6-security",[9689],{"type":431,"value":9690},"Phase 6: Security",{"type":426,"tag":515,"props":9692,"children":9694},{"id":9693},"security-checklist",[9695],{"type":431,"value":9696},"Security Checklist",{"type":426,"tag":454,"props":9698,"children":9700},{"className":9699},[6898],[9701,9710],{"type":426,"tag":458,"props":9702,"children":9704},{"className":9703},[6903],[9705,9708],{"type":426,"tag":6906,"props":9706,"children":9707},{"disabled":831,"type":6908},[],{"type":431,"value":9709}," API key stored in environment variable (not in source code)",{"type":426,"tag":458,"props":9711,"children":9713},{"className":9712},[6903],[9714,9717],{"type":426,"tag":6906,"props":9715,"children":9716},{"disabled":831,"type":6908},[],{"type":431,"value":9718}," API key NOT committed to git:",{"type":426,"tag":542,"props":9720,"children":9722},{"code":9721,"language":545,"meta":417,"className":546,"style":417},"# .gitignore\n.env\nconfig\u002Fsecrets.yml\n*.key\n",[9723],{"type":426,"tag":549,"props":9724,"children":9725},{"__ignoreMap":417},[9726,9734,9742,9750],{"type":426,"tag":553,"props":9727,"children":9728},{"class":555,"line":556},[9729],{"type":426,"tag":553,"props":9730,"children":9731},{"style":1975},[9732],{"type":431,"value":9733},"# .gitignore\n",{"type":426,"tag":553,"props":9735,"children":9736},{"class":555,"line":588},[9737],{"type":426,"tag":553,"props":9738,"children":9739},{"style":560},[9740],{"type":431,"value":9741},".env\n",{"type":426,"tag":553,"props":9743,"children":9744},{"class":555,"line":606},[9745],{"type":426,"tag":553,"props":9746,"children":9747},{"style":560},[9748],{"type":431,"value":9749},"config\u002Fsecrets.yml\n",{"type":426,"tag":553,"props":9751,"children":9752},{"class":555,"line":623},[9753,9757],{"type":426,"tag":553,"props":9754,"children":9755},{"style":795},[9756],{"type":431,"value":5801},{"type":426,"tag":553,"props":9758,"children":9759},{"style":684},[9760],{"type":431,"value":9761},".key\n",{"type":426,"tag":454,"props":9763,"children":9765},{"className":9764},[6898],[9766,9775,9791,9800,9809],{"type":426,"tag":458,"props":9767,"children":9769},{"className":9768},[6903],[9770,9773],{"type":426,"tag":6906,"props":9771,"children":9772},{"disabled":831,"type":6908},[],{"type":431,"value":9774}," API key NOT logged in application logs",{"type":426,"tag":458,"props":9776,"children":9778},{"className":9777},[6903],[9779,9782,9784,9790],{"type":426,"tag":6906,"props":9780,"children":9781},{"disabled":831,"type":6908},[],{"type":431,"value":9783}," Phone numbers NOT logged in plaintext (mask in logs: ",{"type":426,"tag":549,"props":9785,"children":9787},{"className":9786},[],[9788],{"type":431,"value":9789},"880***1234",{"type":431,"value":5736},{"type":426,"tag":458,"props":9792,"children":9794},{"className":9793},[6903],[9795,9798],{"type":426,"tag":6906,"props":9796,"children":9797},{"disabled":831,"type":6908},[],{"type":431,"value":9799}," Webhook endpoint validates that requests come from expected source",{"type":426,"tag":458,"props":9801,"children":9803},{"className":9802},[6903],[9804,9807],{"type":426,"tag":6906,"props":9805,"children":9806},{"disabled":831,"type":6908},[],{"type":431,"value":9808}," Input validation on all phone numbers before calling API",{"type":426,"tag":458,"props":9810,"children":9812},{"className":9811},[6903],[9813,9816],{"type":426,"tag":6906,"props":9814,"children":9815},{"disabled":831,"type":6908},[],{"type":431,"value":9817}," Implemented rate limiting on your own webhook endpoint to prevent abuse",{"type":426,"tag":6880,"props":9819,"children":9820},{},[],{"type":426,"tag":434,"props":9822,"children":9824},{"id":9823},"phase-7-testing",[9825],{"type":431,"value":9826},"Phase 7: Testing",{"type":426,"tag":515,"props":9828,"children":9830},{"id":9829},"pre-production-test-suite",[9831],{"type":431,"value":9832},"Pre-Production Test Suite",{"type":426,"tag":454,"props":9834,"children":9836},{"className":9835},[6898],[9837,9846,9855,9864,9873,9882,9891],{"type":426,"tag":458,"props":9838,"children":9840},{"className":9839},[6903],[9841,9844],{"type":426,"tag":6906,"props":9842,"children":9843},{"disabled":831,"type":6908},[],{"type":431,"value":9845}," Unit tests for phone number sanitization",{"type":426,"tag":458,"props":9847,"children":9849},{"className":9848},[6903],[9850,9853],{"type":426,"tag":6906,"props":9851,"children":9852},{"disabled":831,"type":6908},[],{"type":431,"value":9854}," Unit tests for message template building",{"type":426,"tag":458,"props":9856,"children":9858},{"className":9857},[6903],[9859,9862],{"type":426,"tag":6906,"props":9860,"children":9861},{"disabled":831,"type":6908},[],{"type":431,"value":9863}," Integration test: send a real message to your own test number",{"type":426,"tag":458,"props":9865,"children":9867},{"className":9866},[6903],[9868,9871],{"type":426,"tag":6906,"props":9869,"children":9870},{"disabled":831,"type":6908},[],{"type":431,"value":9872}," Integration test: receive a webhook from a test message",{"type":426,"tag":458,"props":9874,"children":9876},{"className":9875},[6903],[9877,9880],{"type":426,"tag":6906,"props":9878,"children":9879},{"disabled":831,"type":6908},[],{"type":431,"value":9881}," Load test: send 100 messages in sequence (verify no errors)",{"type":426,"tag":458,"props":9883,"children":9885},{"className":9884},[6903],[9886,9889],{"type":426,"tag":6906,"props":9887,"children":9888},{"disabled":831,"type":6908},[],{"type":431,"value":9890}," Error test: send with invalid API key → verify 401 is handled",{"type":426,"tag":458,"props":9892,"children":9894},{"className":9893},[6903],[9895,9898],{"type":426,"tag":6906,"props":9896,"children":9897},{"disabled":831,"type":6908},[],{"type":431,"value":9899}," Error test: send to invalid phone number → verify 400 is handled",{"type":426,"tag":542,"props":9901,"children":9903},{"code":9902,"language":784,"meta":417,"className":785,"style":417},"# test_rapiwa.py\nimport pytest\nfrom unittest.mock import patch, Mock\n\ndef test_clean_phone():\n    assert clean_phone('+880-1234-567890') == '8801234567890'\n    assert clean_phone('+44 7700 900123') == '447700900123'\n\ndef test_send_message_success():\n    with patch('requests.post') as mock_post:\n        mock_post.return_value = Mock(\n            status_code=200,\n            json=lambda: {'status': 'success', 'messageId': 'msg_test_123'}\n        )\n        result = send_with_retry('8801234567890', 'Test', 'fake_key')\n        assert result['status'] == 'success'\n\ndef test_send_message_401():\n    with patch('requests.post') as mock_post:\n        mock_post.return_value = Mock(status_code=401, json=lambda: {})\n        with pytest.raises(PermissionError):\n            send_with_retry('8801234567890', 'Test', 'invalid_key', max_retries=1)\n",[9904],{"type":426,"tag":549,"props":9905,"children":9906},{"__ignoreMap":417},[9907,9915,9927,9948,9955,9971,9999,10026,10033,10049,10081,10098,10119,10170,10177,10220,10250,10257,10273,10300,10347,10369],{"type":426,"tag":553,"props":9908,"children":9909},{"class":555,"line":556},[9910],{"type":426,"tag":553,"props":9911,"children":9912},{"style":1975},[9913],{"type":431,"value":9914},"# test_rapiwa.py\n",{"type":426,"tag":553,"props":9916,"children":9917},{"class":555,"line":588},[9918,9922],{"type":426,"tag":553,"props":9919,"children":9920},{"style":795},[9921],{"type":431,"value":798},{"type":426,"tag":553,"props":9923,"children":9924},{"style":684},[9925],{"type":431,"value":9926}," pytest\n",{"type":426,"tag":553,"props":9928,"children":9929},{"class":555,"line":606},[9930,9934,9939,9943],{"type":426,"tag":553,"props":9931,"children":9932},{"style":795},[9933],{"type":431,"value":811},{"type":426,"tag":553,"props":9935,"children":9936},{"style":684},[9937],{"type":431,"value":9938}," unittest.mock ",{"type":426,"tag":553,"props":9940,"children":9941},{"style":795},[9942],{"type":431,"value":798},{"type":426,"tag":553,"props":9944,"children":9945},{"style":684},[9946],{"type":431,"value":9947}," patch, Mock\n",{"type":426,"tag":553,"props":9949,"children":9950},{"class":555,"line":623},[9951],{"type":426,"tag":553,"props":9952,"children":9953},{"emptyLinePlaceholder":831},[9954],{"type":431,"value":834},{"type":426,"tag":553,"props":9956,"children":9957},{"class":555,"line":637},[9958,9962,9967],{"type":426,"tag":553,"props":9959,"children":9960},{"style":795},[9961],{"type":431,"value":842},{"type":426,"tag":553,"props":9963,"children":9964},{"style":560},[9965],{"type":431,"value":9966}," test_clean_phone",{"type":426,"tag":553,"props":9968,"children":9969},{"style":684},[9970],{"type":431,"value":6433},{"type":426,"tag":553,"props":9972,"children":9973},{"class":555,"line":646},[9974,9979,9983,9987,9991,9995],{"type":426,"tag":553,"props":9975,"children":9976},{"style":795},[9977],{"type":431,"value":9978},"    assert",{"type":426,"tag":553,"props":9980,"children":9981},{"style":684},[9982],{"type":431,"value":7543},{"type":426,"tag":553,"props":9984,"children":9985},{"style":572},[9986],{"type":431,"value":7548},{"type":426,"tag":553,"props":9988,"children":9989},{"style":684},[9990],{"type":431,"value":2987},{"type":426,"tag":553,"props":9992,"children":9993},{"style":795},[9994],{"type":431,"value":1069},{"type":426,"tag":553,"props":9996,"children":9997},{"style":572},[9998],{"type":431,"value":7561},{"type":426,"tag":553,"props":10000,"children":10001},{"class":555,"line":655},[10002,10006,10010,10014,10018,10022],{"type":426,"tag":553,"props":10003,"children":10004},{"style":795},[10005],{"type":431,"value":9978},{"type":426,"tag":553,"props":10007,"children":10008},{"style":684},[10009],{"type":431,"value":7543},{"type":426,"tag":553,"props":10011,"children":10012},{"style":572},[10013],{"type":431,"value":7577},{"type":426,"tag":553,"props":10015,"children":10016},{"style":684},[10017],{"type":431,"value":2987},{"type":426,"tag":553,"props":10019,"children":10020},{"style":795},[10021],{"type":431,"value":1069},{"type":426,"tag":553,"props":10023,"children":10024},{"style":572},[10025],{"type":431,"value":7590},{"type":426,"tag":553,"props":10027,"children":10028},{"class":555,"line":1036},[10029],{"type":426,"tag":553,"props":10030,"children":10031},{"emptyLinePlaceholder":831},[10032],{"type":431,"value":834},{"type":426,"tag":553,"props":10034,"children":10035},{"class":555,"line":1054},[10036,10040,10045],{"type":426,"tag":553,"props":10037,"children":10038},{"style":795},[10039],{"type":431,"value":842},{"type":426,"tag":553,"props":10041,"children":10042},{"style":560},[10043],{"type":431,"value":10044}," test_send_message_success",{"type":426,"tag":553,"props":10046,"children":10047},{"style":684},[10048],{"type":431,"value":6433},{"type":426,"tag":553,"props":10050,"children":10051},{"class":555,"line":1080},[10052,10057,10062,10067,10071,10076],{"type":426,"tag":553,"props":10053,"children":10054},{"style":795},[10055],{"type":431,"value":10056},"    with",{"type":426,"tag":553,"props":10058,"children":10059},{"style":684},[10060],{"type":431,"value":10061}," patch(",{"type":426,"tag":553,"props":10063,"children":10064},{"style":572},[10065],{"type":431,"value":10066},"'requests.post'",{"type":426,"tag":553,"props":10068,"children":10069},{"style":684},[10070],{"type":431,"value":2987},{"type":426,"tag":553,"props":10072,"children":10073},{"style":795},[10074],{"type":431,"value":10075},"as",{"type":426,"tag":553,"props":10077,"children":10078},{"style":684},[10079],{"type":431,"value":10080}," mock_post:\n",{"type":426,"tag":553,"props":10082,"children":10083},{"class":555,"line":1097},[10084,10089,10093],{"type":426,"tag":553,"props":10085,"children":10086},{"style":684},[10087],{"type":431,"value":10088},"        mock_post.return_value ",{"type":426,"tag":553,"props":10090,"children":10091},{"style":795},[10092],{"type":431,"value":957},{"type":426,"tag":553,"props":10094,"children":10095},{"style":684},[10096],{"type":431,"value":10097}," Mock(\n",{"type":426,"tag":553,"props":10099,"children":10100},{"class":555,"line":1114},[10101,10106,10110,10115],{"type":426,"tag":553,"props":10102,"children":10103},{"style":1684},[10104],{"type":431,"value":10105},"            status_code",{"type":426,"tag":553,"props":10107,"children":10108},{"style":795},[10109],{"type":431,"value":957},{"type":426,"tag":553,"props":10111,"children":10112},{"style":566},[10113],{"type":431,"value":10114},"200",{"type":426,"tag":553,"props":10116,"children":10117},{"style":684},[10118],{"type":431,"value":710},{"type":426,"tag":553,"props":10120,"children":10121},{"class":555,"line":1127},[10122,10126,10131,10136,10140,10144,10149,10153,10157,10161,10166],{"type":426,"tag":553,"props":10123,"children":10124},{"style":1684},[10125],{"type":431,"value":2916},{"type":426,"tag":553,"props":10127,"children":10128},{"style":795},[10129],{"type":431,"value":10130},"=lambda",{"type":426,"tag":553,"props":10132,"children":10133},{"style":684},[10134],{"type":431,"value":10135},": {",{"type":426,"tag":553,"props":10137,"children":10138},{"style":572},[10139],{"type":431,"value":2982},{"type":426,"tag":553,"props":10141,"children":10142},{"style":684},[10143],{"type":431,"value":700},{"type":426,"tag":553,"props":10145,"children":10146},{"style":572},[10147],{"type":431,"value":10148},"'success'",{"type":426,"tag":553,"props":10150,"children":10151},{"style":684},[10152],{"type":431,"value":1907},{"type":426,"tag":553,"props":10154,"children":10155},{"style":572},[10156],{"type":431,"value":8316},{"type":426,"tag":553,"props":10158,"children":10159},{"style":684},[10160],{"type":431,"value":700},{"type":426,"tag":553,"props":10162,"children":10163},{"style":572},[10164],{"type":431,"value":10165},"'msg_test_123'",{"type":426,"tag":553,"props":10167,"children":10168},{"style":684},[10169],{"type":431,"value":756},{"type":426,"tag":553,"props":10171,"children":10172},{"class":555,"line":1167},[10173],{"type":426,"tag":553,"props":10174,"children":10175},{"style":684},[10176],{"type":431,"value":6037},{"type":426,"tag":553,"props":10178,"children":10179},{"class":555,"line":1184},[10180,10184,10188,10193,10198,10202,10207,10211,10216],{"type":426,"tag":553,"props":10181,"children":10182},{"style":684},[10183],{"type":431,"value":2836},{"type":426,"tag":553,"props":10185,"children":10186},{"style":795},[10187],{"type":431,"value":957},{"type":426,"tag":553,"props":10189,"children":10190},{"style":684},[10191],{"type":431,"value":10192}," send_with_retry(",{"type":426,"tag":553,"props":10194,"children":10195},{"style":572},[10196],{"type":431,"value":10197},"'8801234567890'",{"type":426,"tag":553,"props":10199,"children":10200},{"style":684},[10201],{"type":431,"value":1907},{"type":426,"tag":553,"props":10203,"children":10204},{"style":572},[10205],{"type":431,"value":10206},"'Test'",{"type":426,"tag":553,"props":10208,"children":10209},{"style":684},[10210],{"type":431,"value":1907},{"type":426,"tag":553,"props":10212,"children":10213},{"style":572},[10214],{"type":431,"value":10215},"'fake_key'",{"type":426,"tag":553,"props":10217,"children":10218},{"style":684},[10219],{"type":431,"value":3262},{"type":426,"tag":553,"props":10221,"children":10222},{"class":555,"line":1192},[10223,10228,10233,10237,10241,10245],{"type":426,"tag":553,"props":10224,"children":10225},{"style":795},[10226],{"type":431,"value":10227},"        assert",{"type":426,"tag":553,"props":10229,"children":10230},{"style":684},[10231],{"type":431,"value":10232}," result[",{"type":426,"tag":553,"props":10234,"children":10235},{"style":572},[10236],{"type":431,"value":2982},{"type":426,"tag":553,"props":10238,"children":10239},{"style":684},[10240],{"type":431,"value":2229},{"type":426,"tag":553,"props":10242,"children":10243},{"style":795},[10244],{"type":431,"value":1069},{"type":426,"tag":553,"props":10246,"children":10247},{"style":572},[10248],{"type":431,"value":10249}," 'success'\n",{"type":426,"tag":553,"props":10251,"children":10252},{"class":555,"line":1210},[10253],{"type":426,"tag":553,"props":10254,"children":10255},{"emptyLinePlaceholder":831},[10256],{"type":431,"value":834},{"type":426,"tag":553,"props":10258,"children":10259},{"class":555,"line":1253},[10260,10264,10269],{"type":426,"tag":553,"props":10261,"children":10262},{"style":795},[10263],{"type":431,"value":842},{"type":426,"tag":553,"props":10265,"children":10266},{"style":560},[10267],{"type":431,"value":10268}," test_send_message_401",{"type":426,"tag":553,"props":10270,"children":10271},{"style":684},[10272],{"type":431,"value":6433},{"type":426,"tag":553,"props":10274,"children":10275},{"class":555,"line":1302},[10276,10280,10284,10288,10292,10296],{"type":426,"tag":553,"props":10277,"children":10278},{"style":795},[10279],{"type":431,"value":10056},{"type":426,"tag":553,"props":10281,"children":10282},{"style":684},[10283],{"type":431,"value":10061},{"type":426,"tag":553,"props":10285,"children":10286},{"style":572},[10287],{"type":431,"value":10066},{"type":426,"tag":553,"props":10289,"children":10290},{"style":684},[10291],{"type":431,"value":2987},{"type":426,"tag":553,"props":10293,"children":10294},{"style":795},[10295],{"type":431,"value":10075},{"type":426,"tag":553,"props":10297,"children":10298},{"style":684},[10299],{"type":431,"value":10080},{"type":426,"tag":553,"props":10301,"children":10302},{"class":555,"line":1374},[10303,10307,10311,10316,10321,10325,10330,10334,10338,10342],{"type":426,"tag":553,"props":10304,"children":10305},{"style":684},[10306],{"type":431,"value":10088},{"type":426,"tag":553,"props":10308,"children":10309},{"style":795},[10310],{"type":431,"value":957},{"type":426,"tag":553,"props":10312,"children":10313},{"style":684},[10314],{"type":431,"value":10315}," Mock(",{"type":426,"tag":553,"props":10317,"children":10318},{"style":1684},[10319],{"type":431,"value":10320},"status_code",{"type":426,"tag":553,"props":10322,"children":10323},{"style":795},[10324],{"type":431,"value":957},{"type":426,"tag":553,"props":10326,"children":10327},{"style":566},[10328],{"type":431,"value":10329},"401",{"type":426,"tag":553,"props":10331,"children":10332},{"style":684},[10333],{"type":431,"value":1907},{"type":426,"tag":553,"props":10335,"children":10336},{"style":1684},[10337],{"type":431,"value":673},{"type":426,"tag":553,"props":10339,"children":10340},{"style":795},[10341],{"type":431,"value":10130},{"type":426,"tag":553,"props":10343,"children":10344},{"style":684},[10345],{"type":431,"value":10346},": {})\n",{"type":426,"tag":553,"props":10348,"children":10349},{"class":555,"line":1414},[10350,10355,10360,10365],{"type":426,"tag":553,"props":10351,"children":10352},{"style":795},[10353],{"type":431,"value":10354},"        with",{"type":426,"tag":553,"props":10356,"children":10357},{"style":684},[10358],{"type":431,"value":10359}," pytest.raises(",{"type":426,"tag":553,"props":10361,"children":10362},{"style":566},[10363],{"type":431,"value":10364},"PermissionError",{"type":426,"tag":553,"props":10366,"children":10367},{"style":684},[10368],{"type":431,"value":8370},{"type":426,"tag":553,"props":10370,"children":10371},{"class":555,"line":1479},[10372,10377,10381,10385,10389,10393,10398,10402,10406,10410,10414],{"type":426,"tag":553,"props":10373,"children":10374},{"style":684},[10375],{"type":431,"value":10376},"            send_with_retry(",{"type":426,"tag":553,"props":10378,"children":10379},{"style":572},[10380],{"type":431,"value":10197},{"type":426,"tag":553,"props":10382,"children":10383},{"style":684},[10384],{"type":431,"value":1907},{"type":426,"tag":553,"props":10386,"children":10387},{"style":572},[10388],{"type":431,"value":10206},{"type":426,"tag":553,"props":10390,"children":10391},{"style":684},[10392],{"type":431,"value":1907},{"type":426,"tag":553,"props":10394,"children":10395},{"style":572},[10396],{"type":431,"value":10397},"'invalid_key'",{"type":426,"tag":553,"props":10399,"children":10400},{"style":684},[10401],{"type":431,"value":1907},{"type":426,"tag":553,"props":10403,"children":10404},{"style":1684},[10405],{"type":431,"value":9359},{"type":426,"tag":553,"props":10407,"children":10408},{"style":795},[10409],{"type":431,"value":957},{"type":426,"tag":553,"props":10411,"children":10412},{"style":566},[10413],{"type":431,"value":1921},{"type":426,"tag":553,"props":10415,"children":10416},{"style":684},[10417],{"type":431,"value":3262},{"type":426,"tag":6880,"props":10419,"children":10420},{},[],{"type":426,"tag":434,"props":10422,"children":10424},{"id":10423},"phase-8-monitoring-and-production",[10425],{"type":431,"value":10426},"Phase 8: Monitoring and Production",{"type":426,"tag":515,"props":10428,"children":10430},{"id":10429},"production-monitoring",[10431],{"type":431,"value":10432},"Production Monitoring",{"type":426,"tag":454,"props":10434,"children":10436},{"className":10435},[6898],[10437,10446,10455,10464,10473],{"type":426,"tag":458,"props":10438,"children":10440},{"className":10439},[6903],[10441,10444],{"type":426,"tag":6906,"props":10442,"children":10443},{"disabled":831,"type":6908},[],{"type":431,"value":10445}," Set up monitoring for API response times (alert if >5 seconds)",{"type":426,"tag":458,"props":10447,"children":10449},{"className":10448},[6903],[10450,10453],{"type":426,"tag":6906,"props":10451,"children":10452},{"disabled":831,"type":6908},[],{"type":431,"value":10454}," Set up monitoring for error rates (alert if >5% failure rate)",{"type":426,"tag":458,"props":10456,"children":10458},{"className":10457},[6903],[10459,10462],{"type":426,"tag":6906,"props":10460,"children":10461},{"disabled":831,"type":6908},[],{"type":431,"value":10463}," Set up alerting for API key expiry",{"type":426,"tag":458,"props":10465,"children":10467},{"className":10466},[6903],[10468,10471],{"type":426,"tag":6906,"props":10469,"children":10470},{"disabled":831,"type":6908},[],{"type":431,"value":10472}," Set up dashboard for messages sent\u002Freceived per day",{"type":426,"tag":458,"props":10474,"children":10476},{"className":10475},[6903],[10477,10480],{"type":426,"tag":6906,"props":10478,"children":10479},{"disabled":831,"type":6908},[],{"type":431,"value":10481}," Created runbook for common issues:",{"type":426,"tag":542,"props":10483,"children":10485},{"code":10484},"ISSUE: Messages not sending (401)\nACTION: Log in to Rapiwa dashboard → API Keys → regenerate key → update env var\n\nISSUE: WhatsApp number disconnected\nACTION: Log in to Rapiwa dashboard → Devices → scan QR code again on the phone\n\nISSUE: Webhook not receiving\nACTION: Check n8n\u002Fserver is running → verify URL in Rapiwa webhook settings → send test message\n",[10486],{"type":426,"tag":549,"props":10487,"children":10488},{"__ignoreMap":417},[10489],{"type":431,"value":10484},{"type":426,"tag":515,"props":10491,"children":10493},{"id":10492},"go-live-checklist",[10494],{"type":431,"value":10495},"Go-Live Checklist",{"type":426,"tag":454,"props":10497,"children":10499},{"className":10498},[6898],[10500,10509,10518,10527,10536,10545,10554,10563,10572,10581],{"type":426,"tag":458,"props":10501,"children":10503},{"className":10502},[6903],[10504,10507],{"type":426,"tag":6906,"props":10505,"children":10506},{"disabled":831,"type":6908},[],{"type":431,"value":10508}," All tests passing",{"type":426,"tag":458,"props":10510,"children":10512},{"className":10511},[6903],[10513,10516],{"type":426,"tag":6906,"props":10514,"children":10515},{"disabled":831,"type":6908},[],{"type":431,"value":10517}," Error handling tested for all HTTP status codes",{"type":426,"tag":458,"props":10519,"children":10521},{"className":10520},[6903],[10522,10525],{"type":426,"tag":6906,"props":10523,"children":10524},{"disabled":831,"type":6908},[],{"type":431,"value":10526}," Rate limiting implemented",{"type":426,"tag":458,"props":10528,"children":10530},{"className":10529},[6903],[10531,10534],{"type":426,"tag":6906,"props":10532,"children":10533},{"disabled":831,"type":6908},[],{"type":431,"value":10535}," Phone number validation in place",{"type":426,"tag":458,"props":10537,"children":10539},{"className":10538},[6903],[10540,10543],{"type":426,"tag":6906,"props":10541,"children":10542},{"disabled":831,"type":6908},[],{"type":431,"value":10544}," Monitoring and alerts configured",{"type":426,"tag":458,"props":10546,"children":10548},{"className":10547},[6903],[10549,10552],{"type":426,"tag":6906,"props":10550,"children":10551},{"disabled":831,"type":6908},[],{"type":431,"value":10553}," Runbook written and team trained",{"type":426,"tag":458,"props":10555,"children":10557},{"className":10556},[6903],[10558,10561],{"type":426,"tag":6906,"props":10559,"children":10560},{"disabled":831,"type":6908},[],{"type":431,"value":10562}," API key secured in production secrets manager",{"type":426,"tag":458,"props":10564,"children":10566},{"className":10565},[6903],[10567,10570],{"type":426,"tag":6906,"props":10568,"children":10569},{"disabled":831,"type":6908},[],{"type":431,"value":10571}," Webhook endpoint behind HTTPS",{"type":426,"tag":458,"props":10573,"children":10575},{"className":10574},[6903],[10576,10579],{"type":426,"tag":6906,"props":10577,"children":10578},{"disabled":831,"type":6908},[],{"type":431,"value":10580}," Sent 10 test messages across different message types",{"type":426,"tag":458,"props":10582,"children":10584},{"className":10583},[6903],[10585,10588],{"type":426,"tag":6906,"props":10586,"children":10587},{"disabled":831,"type":6908},[],{"type":431,"value":10589}," Received and processed at least 5 test webhook events",{"type":426,"tag":6880,"props":10591,"children":10592},{},[],{"type":426,"tag":434,"props":10594,"children":10596},{"id":10595},"quick-reference-rapiwa-api-at-a-glance",[10597],{"type":431,"value":10598},"Quick Reference: Rapiwa API at a Glance",{"type":426,"tag":10600,"props":10601,"children":10602},"table",{},[10603,10622],{"type":426,"tag":10604,"props":10605,"children":10606},"thead",{},[10607],{"type":426,"tag":10608,"props":10609,"children":10610},"tr",{},[10611,10617],{"type":426,"tag":10612,"props":10613,"children":10614},"th",{},[10615],{"type":431,"value":10616},"Item",{"type":426,"tag":10612,"props":10618,"children":10619},{},[10620],{"type":431,"value":10621},"Value",{"type":426,"tag":10623,"props":10624,"children":10625},"tbody",{},[10626,10644,10661,10678,10695,10712,10738,10751,10767,10780,10793],{"type":426,"tag":10608,"props":10627,"children":10628},{},[10629,10635],{"type":426,"tag":10630,"props":10631,"children":10632},"td",{},[10633],{"type":431,"value":10634},"Base URL",{"type":426,"tag":10630,"props":10636,"children":10637},{},[10638],{"type":426,"tag":549,"props":10639,"children":10641},{"className":10640},[],[10642],{"type":431,"value":10643},"https:\u002F\u002Fapp.rapiwa.com",{"type":426,"tag":10608,"props":10645,"children":10646},{},[10647,10652],{"type":426,"tag":10630,"props":10648,"children":10649},{},[10650],{"type":431,"value":10651},"Send text",{"type":426,"tag":10630,"props":10653,"children":10654},{},[10655],{"type":426,"tag":549,"props":10656,"children":10658},{"className":10657},[],[10659],{"type":431,"value":10660},"POST \u002Fsend-message",{"type":426,"tag":10608,"props":10662,"children":10663},{},[10664,10669],{"type":426,"tag":10630,"props":10665,"children":10666},{},[10667],{"type":431,"value":10668},"Send image",{"type":426,"tag":10630,"props":10670,"children":10671},{},[10672],{"type":426,"tag":549,"props":10673,"children":10675},{"className":10674},[],[10676],{"type":431,"value":10677},"POST \u002Fsend-image",{"type":426,"tag":10608,"props":10679,"children":10680},{},[10681,10686],{"type":426,"tag":10630,"props":10682,"children":10683},{},[10684],{"type":431,"value":10685},"Send document",{"type":426,"tag":10630,"props":10687,"children":10688},{},[10689],{"type":426,"tag":549,"props":10690,"children":10692},{"className":10691},[],[10693],{"type":431,"value":10694},"POST \u002Fsend-document",{"type":426,"tag":10608,"props":10696,"children":10697},{},[10698,10703],{"type":426,"tag":10630,"props":10699,"children":10700},{},[10701],{"type":431,"value":10702},"Auth header",{"type":426,"tag":10630,"props":10704,"children":10705},{},[10706],{"type":426,"tag":549,"props":10707,"children":10709},{"className":10708},[],[10710],{"type":431,"value":10711},"Authorization: Bearer YOUR_API_KEY",{"type":426,"tag":10608,"props":10713,"children":10714},{},[10715,10720],{"type":426,"tag":10630,"props":10716,"children":10717},{},[10718],{"type":431,"value":10719},"Phone format",{"type":426,"tag":10630,"props":10721,"children":10722},{},[10723,10725,10730,10732,10737],{"type":431,"value":10724},"International without ",{"type":426,"tag":549,"props":10726,"children":10728},{"className":10727},[],[10729],{"type":431,"value":2033},{"type":431,"value":10731}," (e.g., ",{"type":426,"tag":549,"props":10733,"children":10735},{"className":10734},[],[10736],{"type":431,"value":7237},{"type":431,"value":5736},{"type":426,"tag":10608,"props":10739,"children":10740},{},[10741,10746],{"type":426,"tag":10630,"props":10742,"children":10743},{},[10744],{"type":431,"value":10745},"Max message length",{"type":426,"tag":10630,"props":10747,"children":10748},{},[10749],{"type":431,"value":10750},"4,096 characters",{"type":426,"tag":10608,"props":10752,"children":10753},{},[10754,10759],{"type":426,"tag":10630,"props":10755,"children":10756},{},[10757],{"type":431,"value":10758},"Success status",{"type":426,"tag":10630,"props":10760,"children":10761},{},[10762],{"type":426,"tag":549,"props":10763,"children":10765},{"className":10764},[],[10766],{"type":431,"value":7120},{"type":426,"tag":10608,"props":10768,"children":10769},{},[10770,10775],{"type":426,"tag":10630,"props":10771,"children":10772},{},[10773],{"type":431,"value":10774},"Pricing",{"type":426,"tag":10630,"props":10776,"children":10777},{},[10778],{"type":431,"value":10779},"$5\u002Fmonth flat, no per-message fees",{"type":426,"tag":10608,"props":10781,"children":10782},{},[10783,10788],{"type":426,"tag":10630,"props":10784,"children":10785},{},[10786],{"type":431,"value":10787},"Free trial",{"type":426,"tag":10630,"props":10789,"children":10790},{},[10791],{"type":431,"value":10792},"3 days, no credit card",{"type":426,"tag":10608,"props":10794,"children":10795},{},[10796,10801],{"type":426,"tag":10630,"props":10797,"children":10798},{},[10799],{"type":431,"value":10800},"Sourceforge rating",{"type":426,"tag":10630,"props":10802,"children":10803},{},[10804],{"type":431,"value":10805},"5.0\u002F5",{"type":426,"tag":434,"props":10807,"children":10808},{"id":4109},[10809],{"type":431,"value":4112},{"type":426,"tag":427,"props":10811,"children":10812},{},[10813,10818,10820,10825,10827,10832,10833,10839],{"type":426,"tag":446,"props":10814,"children":10815},{},[10816],{"type":431,"value":10817},"What is the most common mistake developers make with the Rapiwa API?",{"type":431,"value":10819},"\nPhone number format. Always use international format without ",{"type":426,"tag":549,"props":10821,"children":10823},{"className":10822},[],[10824],{"type":431,"value":2033},{"type":431,"value":10826}," or spaces: ",{"type":426,"tag":549,"props":10828,"children":10830},{"className":10829},[],[10831],{"type":431,"value":7237},{"type":431,"value":7239},{"type":426,"tag":549,"props":10834,"children":10836},{"className":10835},[],[10837],{"type":431,"value":10838},"+880 1234 567890",{"type":431,"value":10840},". Strip all non-digit characters before sending.",{"type":426,"tag":427,"props":10842,"children":10843},{},[10844,10849],{"type":426,"tag":446,"props":10845,"children":10846},{},[10847],{"type":431,"value":10848},"How do I handle the WhatsApp number disconnecting in production?",{"type":431,"value":10850},"\nBuild an uptime monitor that sends a test message every 6 hours. If it fails with anything other than a business error, alert the team to re-scan the QR code in the Rapiwa dashboard.",{"type":426,"tag":427,"props":10852,"children":10853},{},[10854,10859],{"type":426,"tag":446,"props":10855,"children":10856},{},[10857],{"type":431,"value":10858},"Does Rapiwa have an API version I need to specify?",{"type":431,"value":10860},"\nRapiwa's API doesn't require explicit versioning in the URL. The current API version is stable — changes are backwards-compatible.",{"type":426,"tag":427,"props":10862,"children":10863},{},[10864,10869,10871,10876],{"type":426,"tag":446,"props":10865,"children":10866},{},[10867],{"type":431,"value":10868},"What is the best way to store the Rapiwa API key in production?",{"type":431,"value":10870},"\nUse your cloud provider's secrets manager: AWS Secrets Manager, Google Cloud Secret Manager, HashiCorp Vault, or at minimum environment variables in a ",{"type":426,"tag":549,"props":10872,"children":10874},{"className":10873},[],[10875],{"type":431,"value":7139},{"type":431,"value":10877}," file not committed to git.",{"type":426,"tag":427,"props":10879,"children":10880},{},[10881,10886],{"type":426,"tag":446,"props":10882,"children":10883},{},[10884],{"type":431,"value":10885},"Can I use the same Rapiwa API key across multiple servers?",{"type":431,"value":10887},"\nYes. The API key is not tied to a specific IP address. You can use it from multiple servers simultaneously — useful for high-availability setups with multiple application instances.",{"type":426,"tag":4164,"props":10889,"children":10890},{},[10891],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":10893},[10894,10895,10900,10906,10910,10914,10917,10920,10923,10927,10928],{"id":6870,"depth":588,"text":6873},{"id":6885,"depth":588,"text":6888,"children":10896},[10897,10898,10899],{"id":6891,"depth":606,"text":6894},{"id":6948,"depth":606,"text":6951},{"id":7003,"depth":606,"text":7006},{"id":7188,"depth":588,"text":7191,"children":10901},[10902,10903,10904,10905],{"id":7194,"depth":606,"text":7197},{"id":7406,"depth":606,"text":7409},{"id":7644,"depth":606,"text":7647},{"id":7811,"depth":606,"text":7814},{"id":7893,"depth":588,"text":7896,"children":10907},[10908,10909],{"id":7899,"depth":606,"text":7902},{"id":7968,"depth":606,"text":7971},{"id":8516,"depth":588,"text":8519,"children":10911},[10912,10913],{"id":8522,"depth":606,"text":8525},{"id":8649,"depth":606,"text":8652},{"id":9395,"depth":588,"text":9398,"children":10915},[10916],{"id":9401,"depth":606,"text":9404},{"id":9687,"depth":588,"text":9690,"children":10918},[10919],{"id":9693,"depth":606,"text":9696},{"id":9823,"depth":588,"text":9826,"children":10921},[10922],{"id":9829,"depth":606,"text":9832},{"id":10423,"depth":588,"text":10426,"children":10924},[10925,10926],{"id":10429,"depth":606,"text":10432},{"id":10492,"depth":606,"text":10495},{"id":10595,"depth":588,"text":10598},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-developer-checklist-build-test-scale.md","blog\u002Fwhatsapp-api-developer-checklist-build-test-scale.md","blog\u002Fwhatsapp-api-developer-checklist-build-test-scale",{"loc":14},{"_path":19,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":20,"description":21,"date":10934,"author":10935,"category":22,"_slug":10936,"image":10937,"body":10938,"_type":4187,"_id":16020,"_source":4189,"_file":16021,"_stem":16022,"_extension":4192,"sitemap":16023},"2026-03-28","Shakil","multi-tenant-whatsapp-api-saas-architecture","\u002Fimages\u002Fblog\u002Fmulti-tenant-whatsapp-api-saas-architecture.svg",{"type":423,"children":10939,"toc":16008},[10940,10945,10951,10961,10969,10974,10997,11003,11011,11017,11792,11798,11803,13228,13234,13239,14016,14022,14027,14690,14696,14701,15363,15369,15818,15824,15927,15931,15941,15951,15961,15994,16004],{"type":426,"tag":427,"props":10941,"children":10942},{},[10943],{"type":431,"value":10944},"A multi-tenant WhatsApp API system lets SaaS products give each customer their own dedicated WhatsApp number, API key, and message routing — all backed by Rapiwa's infrastructure. Each tenant is fully isolated: their messages don't mix with other tenants, their webhooks are routed correctly, and their usage is tracked separately. Rapiwa costs $5\u002Fmonth per number with no per-message fees.",{"type":426,"tag":434,"props":10946,"children":10948},{"id":10947},"what-is-a-multi-tenant-whatsapp-system",[10949],{"type":431,"value":10950},"What Is a Multi-Tenant WhatsApp System?",{"type":426,"tag":427,"props":10952,"children":10953},{},[10954,10959],{"type":426,"tag":446,"props":10955,"children":10956},{},[10957],{"type":431,"value":10958},"Multi-tenancy",{"type":431,"value":10960}," means one system serves multiple customers (tenants), each with their own isolated configuration:",{"type":426,"tag":542,"props":10962,"children":10964},{"code":10963},"Your SaaS Product\n  ├── Tenant A (Company ABC) → WhatsApp Number A → API Key A → Webhooks A\n  ├── Tenant B (Company XYZ) → WhatsApp Number B → API Key B → Webhooks B\n  └── Tenant C (Startup 123) → WhatsApp Number C → API Key C → Webhooks C\n",[10965],{"type":426,"tag":549,"props":10966,"children":10967},{"__ignoreMap":417},[10968],{"type":431,"value":10963},{"type":426,"tag":427,"props":10970,"children":10971},{},[10972],{"type":431,"value":10973},"Each tenant:",{"type":426,"tag":454,"props":10975,"children":10976},{},[10977,10982,10987,10992],{"type":426,"tag":458,"props":10978,"children":10979},{},[10980],{"type":431,"value":10981},"Has their own WhatsApp number (connected via Rapiwa QR scan)",{"type":426,"tag":458,"props":10983,"children":10984},{},[10985],{"type":431,"value":10986},"Has their own Rapiwa API key",{"type":426,"tag":458,"props":10988,"children":10989},{},[10990],{"type":431,"value":10991},"Receives their own incoming message webhooks",{"type":426,"tag":458,"props":10993,"children":10994},{},[10995],{"type":431,"value":10996},"Has isolated usage tracking and billing",{"type":426,"tag":434,"props":10998,"children":11000},{"id":10999},"architecture-overview",[11001],{"type":431,"value":11002},"Architecture Overview",{"type":426,"tag":542,"props":11004,"children":11006},{"code":11005},"[Tenant A Dashboard]\n      ↓ (configure settings)\n[Your SaaS Backend]\n      ↓ (store tenant config)\n[PostgreSQL: tenants table]\n      ↓ (on message trigger)\n[Message Router Service]\n      ↓ (lookup tenant config)\n[Rapiwa API] ← tenant's API key\n      ↓\n[Tenant A's WhatsApp Number]\n",[11007],{"type":426,"tag":549,"props":11008,"children":11009},{"__ignoreMap":417},[11010],{"type":431,"value":11005},{"type":426,"tag":434,"props":11012,"children":11014},{"id":11013},"step-1-database-schema",[11015],{"type":431,"value":11016},"Step 1: Database Schema",{"type":426,"tag":542,"props":11018,"children":11022},{"code":11019,"language":11020,"meta":417,"className":11021,"style":417},"-- Tenants table\nCREATE TABLE tenants (\n    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n    company_name VARCHAR(200) NOT NULL,\n    plan VARCHAR(50) DEFAULT 'starter',\n    rapiwa_api_key VARCHAR(200),          -- Tenant's Rapiwa API key\n    whatsapp_number VARCHAR(20),           -- Tenant's WhatsApp number\n    webhook_url VARCHAR(500),              -- Where to forward incoming messages\n    webhook_secret VARCHAR(100),           -- For webhook signature verification\n    messages_sent INT DEFAULT 0,\n    messages_received INT DEFAULT 0,\n    created_at TIMESTAMP DEFAULT NOW(),\n    active BOOLEAN DEFAULT TRUE\n);\n\n-- Message log for billing and debugging\nCREATE TABLE message_log (\n    id BIGSERIAL PRIMARY KEY,\n    tenant_id UUID NOT NULL REFERENCES tenants(id),\n    direction VARCHAR(10) NOT NULL,        -- 'outbound' or 'inbound'\n    from_number VARCHAR(20) NOT NULL,\n    to_number VARCHAR(20) NOT NULL,\n    message_preview VARCHAR(100),          -- First 100 chars\n    rapiwa_message_id VARCHAR(100),\n    status VARCHAR(20) DEFAULT 'pending',  -- pending, sent, failed, received\n    created_at TIMESTAMP DEFAULT NOW()\n);\n\n-- Create indexes for performance\nCREATE INDEX idx_message_log_tenant ON message_log(tenant_id);\nCREATE INDEX idx_message_log_created ON message_log(created_at DESC);\nCREATE INDEX idx_tenants_number ON tenants(whatsapp_number);\n","sql","language-sql shiki shiki-themes github-dark",[11023],{"type":426,"tag":549,"props":11024,"children":11025},{"__ignoreMap":417},[11026,11034,11056,11079,11113,11152,11182,11213,11244,11274,11299,11323,11350,11372,11380,11387,11395,11415,11437,11459,11498,11530,11562,11591,11616,11660,11684,11691,11698,11706,11733,11767],{"type":426,"tag":553,"props":11027,"children":11028},{"class":555,"line":556},[11029],{"type":426,"tag":553,"props":11030,"children":11031},{"style":1975},[11032],{"type":431,"value":11033},"-- Tenants table\n",{"type":426,"tag":553,"props":11035,"children":11036},{"class":555,"line":588},[11037,11042,11047,11052],{"type":426,"tag":553,"props":11038,"children":11039},{"style":795},[11040],{"type":431,"value":11041},"CREATE",{"type":426,"tag":553,"props":11043,"children":11044},{"style":795},[11045],{"type":431,"value":11046}," TABLE",{"type":426,"tag":553,"props":11048,"children":11049},{"style":560},[11050],{"type":431,"value":11051}," tenants",{"type":426,"tag":553,"props":11053,"children":11054},{"style":684},[11055],{"type":431,"value":1207},{"type":426,"tag":553,"props":11057,"children":11058},{"class":555,"line":606},[11059,11064,11069,11074],{"type":426,"tag":553,"props":11060,"children":11061},{"style":684},[11062],{"type":431,"value":11063},"    id UUID ",{"type":426,"tag":553,"props":11065,"children":11066},{"style":795},[11067],{"type":431,"value":11068},"PRIMARY KEY",{"type":426,"tag":553,"props":11070,"children":11071},{"style":795},[11072],{"type":431,"value":11073}," DEFAULT",{"type":426,"tag":553,"props":11075,"children":11076},{"style":684},[11077],{"type":431,"value":11078}," gen_random_uuid(),\n",{"type":426,"tag":553,"props":11080,"children":11081},{"class":555,"line":623},[11082,11087,11092,11096,11100,11104,11109],{"type":426,"tag":553,"props":11083,"children":11084},{"style":684},[11085],{"type":431,"value":11086},"    company_name ",{"type":426,"tag":553,"props":11088,"children":11089},{"style":795},[11090],{"type":431,"value":11091},"VARCHAR",{"type":426,"tag":553,"props":11093,"children":11094},{"style":684},[11095],{"type":431,"value":3275},{"type":426,"tag":553,"props":11097,"children":11098},{"style":566},[11099],{"type":431,"value":10114},{"type":426,"tag":553,"props":11101,"children":11102},{"style":684},[11103],{"type":431,"value":2987},{"type":426,"tag":553,"props":11105,"children":11106},{"style":795},[11107],{"type":431,"value":11108},"NOT NULL",{"type":426,"tag":553,"props":11110,"children":11111},{"style":684},[11112],{"type":431,"value":710},{"type":426,"tag":553,"props":11114,"children":11115},{"class":555,"line":637},[11116,11121,11125,11129,11134,11138,11143,11148],{"type":426,"tag":553,"props":11117,"children":11118},{"style":684},[11119],{"type":431,"value":11120},"    plan ",{"type":426,"tag":553,"props":11122,"children":11123},{"style":795},[11124],{"type":431,"value":11091},{"type":426,"tag":553,"props":11126,"children":11127},{"style":684},[11128],{"type":431,"value":3275},{"type":426,"tag":553,"props":11130,"children":11131},{"style":566},[11132],{"type":431,"value":11133},"50",{"type":426,"tag":553,"props":11135,"children":11136},{"style":684},[11137],{"type":431,"value":2987},{"type":426,"tag":553,"props":11139,"children":11140},{"style":795},[11141],{"type":431,"value":11142},"DEFAULT",{"type":426,"tag":553,"props":11144,"children":11145},{"style":572},[11146],{"type":431,"value":11147}," 'starter'",{"type":426,"tag":553,"props":11149,"children":11150},{"style":684},[11151],{"type":431,"value":710},{"type":426,"tag":553,"props":11153,"children":11154},{"class":555,"line":646},[11155,11160,11164,11168,11172,11177],{"type":426,"tag":553,"props":11156,"children":11157},{"style":684},[11158],{"type":431,"value":11159},"    rapiwa_api_key ",{"type":426,"tag":553,"props":11161,"children":11162},{"style":795},[11163],{"type":431,"value":11091},{"type":426,"tag":553,"props":11165,"children":11166},{"style":684},[11167],{"type":431,"value":3275},{"type":426,"tag":553,"props":11169,"children":11170},{"style":566},[11171],{"type":431,"value":10114},{"type":426,"tag":553,"props":11173,"children":11174},{"style":684},[11175],{"type":431,"value":11176},"),          ",{"type":426,"tag":553,"props":11178,"children":11179},{"style":1975},[11180],{"type":431,"value":11181},"-- Tenant's Rapiwa API key\n",{"type":426,"tag":553,"props":11183,"children":11184},{"class":555,"line":655},[11185,11190,11194,11198,11203,11208],{"type":426,"tag":553,"props":11186,"children":11187},{"style":684},[11188],{"type":431,"value":11189},"    whatsapp_number ",{"type":426,"tag":553,"props":11191,"children":11192},{"style":795},[11193],{"type":431,"value":11091},{"type":426,"tag":553,"props":11195,"children":11196},{"style":684},[11197],{"type":431,"value":3275},{"type":426,"tag":553,"props":11199,"children":11200},{"style":566},[11201],{"type":431,"value":11202},"20",{"type":426,"tag":553,"props":11204,"children":11205},{"style":684},[11206],{"type":431,"value":11207},"),           ",{"type":426,"tag":553,"props":11209,"children":11210},{"style":1975},[11211],{"type":431,"value":11212},"-- Tenant's WhatsApp number\n",{"type":426,"tag":553,"props":11214,"children":11215},{"class":555,"line":1036},[11216,11221,11225,11229,11234,11239],{"type":426,"tag":553,"props":11217,"children":11218},{"style":684},[11219],{"type":431,"value":11220},"    webhook_url ",{"type":426,"tag":553,"props":11222,"children":11223},{"style":795},[11224],{"type":431,"value":11091},{"type":426,"tag":553,"props":11226,"children":11227},{"style":684},[11228],{"type":431,"value":3275},{"type":426,"tag":553,"props":11230,"children":11231},{"style":566},[11232],{"type":431,"value":11233},"500",{"type":426,"tag":553,"props":11235,"children":11236},{"style":684},[11237],{"type":431,"value":11238},"),              ",{"type":426,"tag":553,"props":11240,"children":11241},{"style":1975},[11242],{"type":431,"value":11243},"-- Where to forward incoming messages\n",{"type":426,"tag":553,"props":11245,"children":11246},{"class":555,"line":1054},[11247,11252,11256,11260,11265,11269],{"type":426,"tag":553,"props":11248,"children":11249},{"style":684},[11250],{"type":431,"value":11251},"    webhook_secret ",{"type":426,"tag":553,"props":11253,"children":11254},{"style":795},[11255],{"type":431,"value":11091},{"type":426,"tag":553,"props":11257,"children":11258},{"style":684},[11259],{"type":431,"value":3275},{"type":426,"tag":553,"props":11261,"children":11262},{"style":566},[11263],{"type":431,"value":11264},"100",{"type":426,"tag":553,"props":11266,"children":11267},{"style":684},[11268],{"type":431,"value":11207},{"type":426,"tag":553,"props":11270,"children":11271},{"style":1975},[11272],{"type":431,"value":11273},"-- For webhook signature verification\n",{"type":426,"tag":553,"props":11275,"children":11276},{"class":555,"line":1080},[11277,11282,11287,11291,11295],{"type":426,"tag":553,"props":11278,"children":11279},{"style":684},[11280],{"type":431,"value":11281},"    messages_sent ",{"type":426,"tag":553,"props":11283,"children":11284},{"style":795},[11285],{"type":431,"value":11286},"INT",{"type":426,"tag":553,"props":11288,"children":11289},{"style":795},[11290],{"type":431,"value":11073},{"type":426,"tag":553,"props":11292,"children":11293},{"style":566},[11294],{"type":431,"value":940},{"type":426,"tag":553,"props":11296,"children":11297},{"style":684},[11298],{"type":431,"value":710},{"type":426,"tag":553,"props":11300,"children":11301},{"class":555,"line":1097},[11302,11307,11311,11315,11319],{"type":426,"tag":553,"props":11303,"children":11304},{"style":684},[11305],{"type":431,"value":11306},"    messages_received ",{"type":426,"tag":553,"props":11308,"children":11309},{"style":795},[11310],{"type":431,"value":11286},{"type":426,"tag":553,"props":11312,"children":11313},{"style":795},[11314],{"type":431,"value":11073},{"type":426,"tag":553,"props":11316,"children":11317},{"style":566},[11318],{"type":431,"value":940},{"type":426,"tag":553,"props":11320,"children":11321},{"style":684},[11322],{"type":431,"value":710},{"type":426,"tag":553,"props":11324,"children":11325},{"class":555,"line":1114},[11326,11331,11336,11340,11345],{"type":426,"tag":553,"props":11327,"children":11328},{"style":684},[11329],{"type":431,"value":11330},"    created_at ",{"type":426,"tag":553,"props":11332,"children":11333},{"style":795},[11334],{"type":431,"value":11335},"TIMESTAMP",{"type":426,"tag":553,"props":11337,"children":11338},{"style":795},[11339],{"type":431,"value":11073},{"type":426,"tag":553,"props":11341,"children":11342},{"style":795},[11343],{"type":431,"value":11344}," NOW",{"type":426,"tag":553,"props":11346,"children":11347},{"style":684},[11348],{"type":431,"value":11349},"(),\n",{"type":426,"tag":553,"props":11351,"children":11352},{"class":555,"line":1127},[11353,11358,11363,11367],{"type":426,"tag":553,"props":11354,"children":11355},{"style":684},[11356],{"type":431,"value":11357},"    active ",{"type":426,"tag":553,"props":11359,"children":11360},{"style":795},[11361],{"type":431,"value":11362},"BOOLEAN",{"type":426,"tag":553,"props":11364,"children":11365},{"style":795},[11366],{"type":431,"value":11073},{"type":426,"tag":553,"props":11368,"children":11369},{"style":684},[11370],{"type":431,"value":11371}," TRUE\n",{"type":426,"tag":553,"props":11373,"children":11374},{"class":555,"line":1167},[11375],{"type":426,"tag":553,"props":11376,"children":11377},{"style":684},[11378],{"type":431,"value":11379},");\n",{"type":426,"tag":553,"props":11381,"children":11382},{"class":555,"line":1184},[11383],{"type":426,"tag":553,"props":11384,"children":11385},{"emptyLinePlaceholder":831},[11386],{"type":431,"value":834},{"type":426,"tag":553,"props":11388,"children":11389},{"class":555,"line":1192},[11390],{"type":426,"tag":553,"props":11391,"children":11392},{"style":1975},[11393],{"type":431,"value":11394},"-- Message log for billing and debugging\n",{"type":426,"tag":553,"props":11396,"children":11397},{"class":555,"line":1210},[11398,11402,11406,11411],{"type":426,"tag":553,"props":11399,"children":11400},{"style":795},[11401],{"type":431,"value":11041},{"type":426,"tag":553,"props":11403,"children":11404},{"style":795},[11405],{"type":431,"value":11046},{"type":426,"tag":553,"props":11407,"children":11408},{"style":560},[11409],{"type":431,"value":11410}," message_log",{"type":426,"tag":553,"props":11412,"children":11413},{"style":684},[11414],{"type":431,"value":1207},{"type":426,"tag":553,"props":11416,"children":11417},{"class":555,"line":1253},[11418,11423,11428,11433],{"type":426,"tag":553,"props":11419,"children":11420},{"style":684},[11421],{"type":431,"value":11422},"    id ",{"type":426,"tag":553,"props":11424,"children":11425},{"style":795},[11426],{"type":431,"value":11427},"BIGSERIAL",{"type":426,"tag":553,"props":11429,"children":11430},{"style":795},[11431],{"type":431,"value":11432}," PRIMARY KEY",{"type":426,"tag":553,"props":11434,"children":11435},{"style":684},[11436],{"type":431,"value":710},{"type":426,"tag":553,"props":11438,"children":11439},{"class":555,"line":1302},[11440,11445,11449,11454],{"type":426,"tag":553,"props":11441,"children":11442},{"style":684},[11443],{"type":431,"value":11444},"    tenant_id UUID ",{"type":426,"tag":553,"props":11446,"children":11447},{"style":795},[11448],{"type":431,"value":11108},{"type":426,"tag":553,"props":11450,"children":11451},{"style":795},[11452],{"type":431,"value":11453}," REFERENCES",{"type":426,"tag":553,"props":11455,"children":11456},{"style":684},[11457],{"type":431,"value":11458}," tenants(id),\n",{"type":426,"tag":553,"props":11460,"children":11461},{"class":555,"line":1374},[11462,11467,11471,11475,11480,11484,11488,11493],{"type":426,"tag":553,"props":11463,"children":11464},{"style":684},[11465],{"type":431,"value":11466},"    direction ",{"type":426,"tag":553,"props":11468,"children":11469},{"style":795},[11470],{"type":431,"value":11091},{"type":426,"tag":553,"props":11472,"children":11473},{"style":684},[11474],{"type":431,"value":3275},{"type":426,"tag":553,"props":11476,"children":11477},{"style":566},[11478],{"type":431,"value":11479},"10",{"type":426,"tag":553,"props":11481,"children":11482},{"style":684},[11483],{"type":431,"value":2987},{"type":426,"tag":553,"props":11485,"children":11486},{"style":795},[11487],{"type":431,"value":11108},{"type":426,"tag":553,"props":11489,"children":11490},{"style":684},[11491],{"type":431,"value":11492},",        ",{"type":426,"tag":553,"props":11494,"children":11495},{"style":1975},[11496],{"type":431,"value":11497},"-- 'outbound' or 'inbound'\n",{"type":426,"tag":553,"props":11499,"children":11500},{"class":555,"line":1414},[11501,11506,11510,11514,11518,11522,11526],{"type":426,"tag":553,"props":11502,"children":11503},{"style":684},[11504],{"type":431,"value":11505},"    from_number ",{"type":426,"tag":553,"props":11507,"children":11508},{"style":795},[11509],{"type":431,"value":11091},{"type":426,"tag":553,"props":11511,"children":11512},{"style":684},[11513],{"type":431,"value":3275},{"type":426,"tag":553,"props":11515,"children":11516},{"style":566},[11517],{"type":431,"value":11202},{"type":426,"tag":553,"props":11519,"children":11520},{"style":684},[11521],{"type":431,"value":2987},{"type":426,"tag":553,"props":11523,"children":11524},{"style":795},[11525],{"type":431,"value":11108},{"type":426,"tag":553,"props":11527,"children":11528},{"style":684},[11529],{"type":431,"value":710},{"type":426,"tag":553,"props":11531,"children":11532},{"class":555,"line":1479},[11533,11538,11542,11546,11550,11554,11558],{"type":426,"tag":553,"props":11534,"children":11535},{"style":684},[11536],{"type":431,"value":11537},"    to_number ",{"type":426,"tag":553,"props":11539,"children":11540},{"style":795},[11541],{"type":431,"value":11091},{"type":426,"tag":553,"props":11543,"children":11544},{"style":684},[11545],{"type":431,"value":3275},{"type":426,"tag":553,"props":11547,"children":11548},{"style":566},[11549],{"type":431,"value":11202},{"type":426,"tag":553,"props":11551,"children":11552},{"style":684},[11553],{"type":431,"value":2987},{"type":426,"tag":553,"props":11555,"children":11556},{"style":795},[11557],{"type":431,"value":11108},{"type":426,"tag":553,"props":11559,"children":11560},{"style":684},[11561],{"type":431,"value":710},{"type":426,"tag":553,"props":11563,"children":11564},{"class":555,"line":1517},[11565,11570,11574,11578,11582,11586],{"type":426,"tag":553,"props":11566,"children":11567},{"style":684},[11568],{"type":431,"value":11569},"    message_preview ",{"type":426,"tag":553,"props":11571,"children":11572},{"style":795},[11573],{"type":431,"value":11091},{"type":426,"tag":553,"props":11575,"children":11576},{"style":684},[11577],{"type":431,"value":3275},{"type":426,"tag":553,"props":11579,"children":11580},{"style":566},[11581],{"type":431,"value":11264},{"type":426,"tag":553,"props":11583,"children":11584},{"style":684},[11585],{"type":431,"value":11176},{"type":426,"tag":553,"props":11587,"children":11588},{"style":1975},[11589],{"type":431,"value":11590},"-- First 100 chars\n",{"type":426,"tag":553,"props":11592,"children":11593},{"class":555,"line":1560},[11594,11599,11603,11607,11611],{"type":426,"tag":553,"props":11595,"children":11596},{"style":684},[11597],{"type":431,"value":11598},"    rapiwa_message_id ",{"type":426,"tag":553,"props":11600,"children":11601},{"style":795},[11602],{"type":431,"value":11091},{"type":426,"tag":553,"props":11604,"children":11605},{"style":684},[11606],{"type":431,"value":3275},{"type":426,"tag":553,"props":11608,"children":11609},{"style":566},[11610],{"type":431,"value":11264},{"type":426,"tag":553,"props":11612,"children":11613},{"style":684},[11614],{"type":431,"value":11615},"),\n",{"type":426,"tag":553,"props":11617,"children":11618},{"class":555,"line":1598},[11619,11624,11629,11633,11637,11641,11645,11650,11655],{"type":426,"tag":553,"props":11620,"children":11621},{"style":795},[11622],{"type":431,"value":11623},"    status",{"type":426,"tag":553,"props":11625,"children":11626},{"style":795},[11627],{"type":431,"value":11628}," VARCHAR",{"type":426,"tag":553,"props":11630,"children":11631},{"style":684},[11632],{"type":431,"value":3275},{"type":426,"tag":553,"props":11634,"children":11635},{"style":566},[11636],{"type":431,"value":11202},{"type":426,"tag":553,"props":11638,"children":11639},{"style":684},[11640],{"type":431,"value":2987},{"type":426,"tag":553,"props":11642,"children":11643},{"style":795},[11644],{"type":431,"value":11142},{"type":426,"tag":553,"props":11646,"children":11647},{"style":572},[11648],{"type":431,"value":11649}," 'pending'",{"type":426,"tag":553,"props":11651,"children":11652},{"style":684},[11653],{"type":431,"value":11654},",  ",{"type":426,"tag":553,"props":11656,"children":11657},{"style":1975},[11658],{"type":431,"value":11659},"-- pending, sent, failed, received\n",{"type":426,"tag":553,"props":11661,"children":11662},{"class":555,"line":1636},[11663,11667,11671,11675,11679],{"type":426,"tag":553,"props":11664,"children":11665},{"style":684},[11666],{"type":431,"value":11330},{"type":426,"tag":553,"props":11668,"children":11669},{"style":795},[11670],{"type":431,"value":11335},{"type":426,"tag":553,"props":11672,"children":11673},{"style":795},[11674],{"type":431,"value":11073},{"type":426,"tag":553,"props":11676,"children":11677},{"style":795},[11678],{"type":431,"value":11344},{"type":426,"tag":553,"props":11680,"children":11681},{"style":684},[11682],{"type":431,"value":11683},"()\n",{"type":426,"tag":553,"props":11685,"children":11686},{"class":555,"line":1645},[11687],{"type":426,"tag":553,"props":11688,"children":11689},{"style":684},[11690],{"type":431,"value":11379},{"type":426,"tag":553,"props":11692,"children":11693},{"class":555,"line":1653},[11694],{"type":426,"tag":553,"props":11695,"children":11696},{"emptyLinePlaceholder":831},[11697],{"type":431,"value":834},{"type":426,"tag":553,"props":11699,"children":11700},{"class":555,"line":1667},[11701],{"type":426,"tag":553,"props":11702,"children":11703},{"style":1975},[11704],{"type":431,"value":11705},"-- Create indexes for performance\n",{"type":426,"tag":553,"props":11707,"children":11708},{"class":555,"line":1680},[11709,11713,11718,11723,11728],{"type":426,"tag":553,"props":11710,"children":11711},{"style":795},[11712],{"type":431,"value":11041},{"type":426,"tag":553,"props":11714,"children":11715},{"style":795},[11716],{"type":431,"value":11717}," INDEX",{"type":426,"tag":553,"props":11719,"children":11720},{"style":560},[11721],{"type":431,"value":11722}," idx_message_log_tenant",{"type":426,"tag":553,"props":11724,"children":11725},{"style":795},[11726],{"type":431,"value":11727}," ON",{"type":426,"tag":553,"props":11729,"children":11730},{"style":684},[11731],{"type":431,"value":11732}," message_log(tenant_id);\n",{"type":426,"tag":553,"props":11734,"children":11735},{"class":555,"line":1740},[11736,11740,11744,11749,11753,11758,11763],{"type":426,"tag":553,"props":11737,"children":11738},{"style":795},[11739],{"type":431,"value":11041},{"type":426,"tag":553,"props":11741,"children":11742},{"style":795},[11743],{"type":431,"value":11717},{"type":426,"tag":553,"props":11745,"children":11746},{"style":560},[11747],{"type":431,"value":11748}," idx_message_log_created",{"type":426,"tag":553,"props":11750,"children":11751},{"style":795},[11752],{"type":431,"value":11727},{"type":426,"tag":553,"props":11754,"children":11755},{"style":684},[11756],{"type":431,"value":11757}," message_log(created_at ",{"type":426,"tag":553,"props":11759,"children":11760},{"style":795},[11761],{"type":431,"value":11762},"DESC",{"type":426,"tag":553,"props":11764,"children":11765},{"style":684},[11766],{"type":431,"value":11379},{"type":426,"tag":553,"props":11768,"children":11769},{"class":555,"line":1787},[11770,11774,11778,11783,11787],{"type":426,"tag":553,"props":11771,"children":11772},{"style":795},[11773],{"type":431,"value":11041},{"type":426,"tag":553,"props":11775,"children":11776},{"style":795},[11777],{"type":431,"value":11717},{"type":426,"tag":553,"props":11779,"children":11780},{"style":560},[11781],{"type":431,"value":11782}," idx_tenants_number",{"type":426,"tag":553,"props":11784,"children":11785},{"style":795},[11786],{"type":431,"value":11727},{"type":426,"tag":553,"props":11788,"children":11789},{"style":684},[11790],{"type":431,"value":11791}," tenants(whatsapp_number);\n",{"type":426,"tag":434,"props":11793,"children":11795},{"id":11794},"step-2-message-router-service",[11796],{"type":431,"value":11797},"Step 2: Message Router Service",{"type":426,"tag":427,"props":11799,"children":11800},{},[11801],{"type":431,"value":11802},"The core component — routes messages to the correct Rapiwa API key:",{"type":426,"tag":542,"props":11804,"children":11806},{"code":11805,"language":784,"meta":417,"className":785,"style":417},"# message_router.py\nimport requests\nimport psycopg2\nfrom typing import Optional\nfrom functools import lru_cache\nimport uuid\n\nclass MessageRouter:\n    def __init__(self, db_connection_string: str):\n        self.db_conn = psycopg2.connect(db_connection_string)\n    \n    def get_tenant_config(self, tenant_id: str) -> Optional[dict]:\n        \"\"\"Fetch tenant configuration from database.\"\"\"\n        cursor = self.db_conn.cursor()\n        cursor.execute(\n            \"SELECT id, rapiwa_api_key, whatsapp_number, active FROM tenants WHERE id = %s\",\n            [tenant_id]\n        )\n        row = cursor.fetchone()\n        if not row:\n            return None\n        return {'id': row[0], 'api_key': row[1], 'number': row[2], 'active': row[3]}\n    \n    def send_message(self, tenant_id: str, recipient: str, message: str) -> dict:\n        \"\"\"\n        Send a WhatsApp message on behalf of a tenant.\n        Uses the tenant's own Rapiwa API key.\n        \"\"\"\n        tenant = self.get_tenant_config(tenant_id)\n        \n        if not tenant:\n            raise ValueError(f\"Tenant {tenant_id} not found\")\n        \n        if not tenant['active']:\n            raise PermissionError(f\"Tenant {tenant_id} is inactive\")\n        \n        if not tenant['api_key']:\n            raise ValueError(f\"Tenant {tenant_id} has no API key configured\")\n        \n        # Send via Rapiwa using tenant's API key\n        response = requests.post(\n            'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n            headers={'Authorization': f\"Bearer {tenant['api_key']}\"},\n            json={'number': recipient, 'message': message},\n            timeout=15\n        )\n        \n        result = response.json()\n        \n        # Log the message\n        self._log_message(\n            tenant_id=tenant_id,\n            direction='outbound',\n            from_number=tenant['number'],\n            to_number=recipient,\n            message_preview=message[:100],\n            rapiwa_message_id=result.get('messageId'),\n            status='sent' if result.get('status') == 'success' else 'failed'\n        )\n        \n        # Update usage counter\n        self.db_conn.cursor().execute(\n            \"UPDATE tenants SET messages_sent = messages_sent + 1 WHERE id = %s\",\n            [tenant_id]\n        )\n        self.db_conn.commit()\n        \n        return result\n    \n    def _log_message(self, **kwargs) -> None:\n        cursor = self.db_conn.cursor()\n        cursor.execute(\"\"\"\n            INSERT INTO message_log \n            (tenant_id, direction, from_number, to_number, message_preview, \n             rapiwa_message_id, status)\n            VALUES (%(tenant_id)s, %(direction)s, %(from_number)s, %(to_number)s,\n                    %(message_preview)s, %(rapiwa_message_id)s, %(status)s)\n        \"\"\", kwargs)\n        self.db_conn.commit()\n",[11807],{"type":426,"tag":549,"props":11808,"children":11809},{"__ignoreMap":417},[11810,11818,11829,11841,11862,11883,11895,11902,11919,11945,11967,11974,12009,12017,12039,12047,12067,12075,12082,12099,12116,12127,12207,12214,12263,12271,12279,12287,12294,12315,12322,12338,12386,12393,12417,12461,12468,12491,12535,12542,12550,12566,12577,12638,12670,12686,12693,12700,12715,12722,12730,12742,12759,12780,12805,12822,12847,12872,12921,12928,12935,12943,12955,12975,12982,12989,13002,13010,13023,13031,13067,13087,13100,13109,13118,13127,13172,13203,13216],{"type":426,"tag":553,"props":11811,"children":11812},{"class":555,"line":556},[11813],{"type":426,"tag":553,"props":11814,"children":11815},{"style":1975},[11816],{"type":431,"value":11817},"# message_router.py\n",{"type":426,"tag":553,"props":11819,"children":11820},{"class":555,"line":588},[11821,11825],{"type":426,"tag":553,"props":11822,"children":11823},{"style":795},[11824],{"type":431,"value":798},{"type":426,"tag":553,"props":11826,"children":11827},{"style":684},[11828],{"type":431,"value":803},{"type":426,"tag":553,"props":11830,"children":11831},{"class":555,"line":606},[11832,11836],{"type":426,"tag":553,"props":11833,"children":11834},{"style":795},[11835],{"type":431,"value":798},{"type":426,"tag":553,"props":11837,"children":11838},{"style":684},[11839],{"type":431,"value":11840}," psycopg2\n",{"type":426,"tag":553,"props":11842,"children":11843},{"class":555,"line":623},[11844,11848,11853,11857],{"type":426,"tag":553,"props":11845,"children":11846},{"style":795},[11847],{"type":431,"value":811},{"type":426,"tag":553,"props":11849,"children":11850},{"style":684},[11851],{"type":431,"value":11852}," typing ",{"type":426,"tag":553,"props":11854,"children":11855},{"style":795},[11856],{"type":431,"value":798},{"type":426,"tag":553,"props":11858,"children":11859},{"style":684},[11860],{"type":431,"value":11861}," Optional\n",{"type":426,"tag":553,"props":11863,"children":11864},{"class":555,"line":637},[11865,11869,11874,11878],{"type":426,"tag":553,"props":11866,"children":11867},{"style":795},[11868],{"type":431,"value":811},{"type":426,"tag":553,"props":11870,"children":11871},{"style":684},[11872],{"type":431,"value":11873}," functools ",{"type":426,"tag":553,"props":11875,"children":11876},{"style":795},[11877],{"type":431,"value":798},{"type":426,"tag":553,"props":11879,"children":11880},{"style":684},[11881],{"type":431,"value":11882}," lru_cache\n",{"type":426,"tag":553,"props":11884,"children":11885},{"class":555,"line":646},[11886,11890],{"type":426,"tag":553,"props":11887,"children":11888},{"style":795},[11889],{"type":431,"value":798},{"type":426,"tag":553,"props":11891,"children":11892},{"style":684},[11893],{"type":431,"value":11894}," uuid\n",{"type":426,"tag":553,"props":11896,"children":11897},{"class":555,"line":655},[11898],{"type":426,"tag":553,"props":11899,"children":11900},{"emptyLinePlaceholder":831},[11901],{"type":431,"value":834},{"type":426,"tag":553,"props":11903,"children":11904},{"class":555,"line":1036},[11905,11910,11915],{"type":426,"tag":553,"props":11906,"children":11907},{"style":795},[11908],{"type":431,"value":11909},"class",{"type":426,"tag":553,"props":11911,"children":11912},{"style":560},[11913],{"type":431,"value":11914}," MessageRouter",{"type":426,"tag":553,"props":11916,"children":11917},{"style":684},[11918],{"type":431,"value":909},{"type":426,"tag":553,"props":11920,"children":11921},{"class":555,"line":1054},[11922,11927,11932,11937,11941],{"type":426,"tag":553,"props":11923,"children":11924},{"style":795},[11925],{"type":431,"value":11926},"    def",{"type":426,"tag":553,"props":11928,"children":11929},{"style":566},[11930],{"type":431,"value":11931}," __init__",{"type":426,"tag":553,"props":11933,"children":11934},{"style":684},[11935],{"type":431,"value":11936},"(self, db_connection_string: ",{"type":426,"tag":553,"props":11938,"children":11939},{"style":566},[11940],{"type":431,"value":895},{"type":426,"tag":553,"props":11942,"children":11943},{"style":684},[11944],{"type":431,"value":8370},{"type":426,"tag":553,"props":11946,"children":11947},{"class":555,"line":1080},[11948,11953,11958,11962],{"type":426,"tag":553,"props":11949,"children":11950},{"style":566},[11951],{"type":431,"value":11952},"        self",{"type":426,"tag":553,"props":11954,"children":11955},{"style":684},[11956],{"type":431,"value":11957},".db_conn ",{"type":426,"tag":553,"props":11959,"children":11960},{"style":795},[11961],{"type":431,"value":957},{"type":426,"tag":553,"props":11963,"children":11964},{"style":684},[11965],{"type":431,"value":11966}," psycopg2.connect(db_connection_string)\n",{"type":426,"tag":553,"props":11968,"children":11969},{"class":555,"line":1097},[11970],{"type":426,"tag":553,"props":11971,"children":11972},{"style":684},[11973],{"type":431,"value":917},{"type":426,"tag":553,"props":11975,"children":11976},{"class":555,"line":1114},[11977,11981,11986,11991,11995,12000,12004],{"type":426,"tag":553,"props":11978,"children":11979},{"style":795},[11980],{"type":431,"value":11926},{"type":426,"tag":553,"props":11982,"children":11983},{"style":560},[11984],{"type":431,"value":11985}," get_tenant_config",{"type":426,"tag":553,"props":11987,"children":11988},{"style":684},[11989],{"type":431,"value":11990},"(self, tenant_id: ",{"type":426,"tag":553,"props":11992,"children":11993},{"style":566},[11994],{"type":431,"value":895},{"type":426,"tag":553,"props":11996,"children":11997},{"style":684},[11998],{"type":431,"value":11999},") -> Optional[",{"type":426,"tag":553,"props":12001,"children":12002},{"style":566},[12003],{"type":431,"value":857},{"type":426,"tag":553,"props":12005,"children":12006},{"style":684},[12007],{"type":431,"value":12008},"]:\n",{"type":426,"tag":553,"props":12010,"children":12011},{"class":555,"line":1127},[12012],{"type":426,"tag":553,"props":12013,"children":12014},{"style":572},[12015],{"type":431,"value":12016},"        \"\"\"Fetch tenant configuration from database.\"\"\"\n",{"type":426,"tag":553,"props":12018,"children":12019},{"class":555,"line":1167},[12020,12025,12029,12034],{"type":426,"tag":553,"props":12021,"children":12022},{"style":684},[12023],{"type":431,"value":12024},"        cursor ",{"type":426,"tag":553,"props":12026,"children":12027},{"style":795},[12028],{"type":431,"value":957},{"type":426,"tag":553,"props":12030,"children":12031},{"style":566},[12032],{"type":431,"value":12033}," self",{"type":426,"tag":553,"props":12035,"children":12036},{"style":684},[12037],{"type":431,"value":12038},".db_conn.cursor()\n",{"type":426,"tag":553,"props":12040,"children":12041},{"class":555,"line":1184},[12042],{"type":426,"tag":553,"props":12043,"children":12044},{"style":684},[12045],{"type":431,"value":12046},"        cursor.execute(\n",{"type":426,"tag":553,"props":12048,"children":12049},{"class":555,"line":1192},[12050,12055,12059,12063],{"type":426,"tag":553,"props":12051,"children":12052},{"style":572},[12053],{"type":431,"value":12054},"            \"SELECT id, rapiwa_api_key, whatsapp_number, active FROM tenants WHERE id = ",{"type":426,"tag":553,"props":12056,"children":12057},{"style":566},[12058],{"type":431,"value":2143},{"type":426,"tag":553,"props":12060,"children":12061},{"style":572},[12062],{"type":431,"value":1527},{"type":426,"tag":553,"props":12064,"children":12065},{"style":684},[12066],{"type":431,"value":710},{"type":426,"tag":553,"props":12068,"children":12069},{"class":555,"line":1210},[12070],{"type":426,"tag":553,"props":12071,"children":12072},{"style":684},[12073],{"type":431,"value":12074},"            [tenant_id]\n",{"type":426,"tag":553,"props":12076,"children":12077},{"class":555,"line":1253},[12078],{"type":426,"tag":553,"props":12079,"children":12080},{"style":684},[12081],{"type":431,"value":6037},{"type":426,"tag":553,"props":12083,"children":12084},{"class":555,"line":1302},[12085,12090,12094],{"type":426,"tag":553,"props":12086,"children":12087},{"style":684},[12088],{"type":431,"value":12089},"        row ",{"type":426,"tag":553,"props":12091,"children":12092},{"style":795},[12093],{"type":431,"value":957},{"type":426,"tag":553,"props":12095,"children":12096},{"style":684},[12097],{"type":431,"value":12098}," cursor.fetchone()\n",{"type":426,"tag":553,"props":12100,"children":12101},{"class":555,"line":1374},[12102,12106,12111],{"type":426,"tag":553,"props":12103,"children":12104},{"style":795},[12105],{"type":431,"value":2972},{"type":426,"tag":553,"props":12107,"children":12108},{"style":795},[12109],{"type":431,"value":12110}," not",{"type":426,"tag":553,"props":12112,"children":12113},{"style":684},[12114],{"type":431,"value":12115}," row:\n",{"type":426,"tag":553,"props":12117,"children":12118},{"class":555,"line":1414},[12119,12123],{"type":426,"tag":553,"props":12120,"children":12121},{"style":795},[12122],{"type":431,"value":9188},{"type":426,"tag":553,"props":12124,"children":12125},{"style":566},[12126],{"type":431,"value":8781},{"type":426,"tag":553,"props":12128,"children":12129},{"class":555,"line":1479},[12130,12134,12138,12143,12148,12152,12156,12161,12165,12169,12173,12177,12181,12185,12189,12194,12198,12202],{"type":426,"tag":553,"props":12131,"children":12132},{"style":795},[12133],{"type":431,"value":8378},{"type":426,"tag":553,"props":12135,"children":12136},{"style":684},[12137],{"type":431,"value":1450},{"type":426,"tag":553,"props":12139,"children":12140},{"style":572},[12141],{"type":431,"value":12142},"'id'",{"type":426,"tag":553,"props":12144,"children":12145},{"style":684},[12146],{"type":431,"value":12147},": row[",{"type":426,"tag":553,"props":12149,"children":12150},{"style":566},[12151],{"type":431,"value":1930},{"type":426,"tag":553,"props":12153,"children":12154},{"style":684},[12155],{"type":431,"value":1774},{"type":426,"tag":553,"props":12157,"children":12158},{"style":572},[12159],{"type":431,"value":12160},"'api_key'",{"type":426,"tag":553,"props":12162,"children":12163},{"style":684},[12164],{"type":431,"value":12147},{"type":426,"tag":553,"props":12166,"children":12167},{"style":566},[12168],{"type":431,"value":1921},{"type":426,"tag":553,"props":12170,"children":12171},{"style":684},[12172],{"type":431,"value":1774},{"type":426,"tag":553,"props":12174,"children":12175},{"style":572},[12176],{"type":431,"value":1759},{"type":426,"tag":553,"props":12178,"children":12179},{"style":684},[12180],{"type":431,"value":12147},{"type":426,"tag":553,"props":12182,"children":12183},{"style":566},[12184],{"type":431,"value":6533},{"type":426,"tag":553,"props":12186,"children":12187},{"style":684},[12188],{"type":431,"value":1774},{"type":426,"tag":553,"props":12190,"children":12191},{"style":572},[12192],{"type":431,"value":12193},"'active'",{"type":426,"tag":553,"props":12195,"children":12196},{"style":684},[12197],{"type":431,"value":12147},{"type":426,"tag":553,"props":12199,"children":12200},{"style":566},[12201],{"type":431,"value":1912},{"type":426,"tag":553,"props":12203,"children":12204},{"style":684},[12205],{"type":431,"value":12206},"]}\n",{"type":426,"tag":553,"props":12208,"children":12209},{"class":555,"line":1517},[12210],{"type":426,"tag":553,"props":12211,"children":12212},{"style":684},[12213],{"type":431,"value":917},{"type":426,"tag":553,"props":12215,"children":12216},{"class":555,"line":1560},[12217,12221,12226,12230,12234,12239,12243,12247,12251,12255,12259],{"type":426,"tag":553,"props":12218,"children":12219},{"style":795},[12220],{"type":431,"value":11926},{"type":426,"tag":553,"props":12222,"children":12223},{"style":560},[12224],{"type":431,"value":12225}," send_message",{"type":426,"tag":553,"props":12227,"children":12228},{"style":684},[12229],{"type":431,"value":11990},{"type":426,"tag":553,"props":12231,"children":12232},{"style":566},[12233],{"type":431,"value":895},{"type":426,"tag":553,"props":12235,"children":12236},{"style":684},[12237],{"type":431,"value":12238},", recipient: ",{"type":426,"tag":553,"props":12240,"children":12241},{"style":566},[12242],{"type":431,"value":895},{"type":426,"tag":553,"props":12244,"children":12245},{"style":684},[12246],{"type":431,"value":8713},{"type":426,"tag":553,"props":12248,"children":12249},{"style":566},[12250],{"type":431,"value":895},{"type":426,"tag":553,"props":12252,"children":12253},{"style":684},[12254],{"type":431,"value":900},{"type":426,"tag":553,"props":12256,"children":12257},{"style":566},[12258],{"type":431,"value":857},{"type":426,"tag":553,"props":12260,"children":12261},{"style":684},[12262],{"type":431,"value":909},{"type":426,"tag":553,"props":12264,"children":12265},{"class":555,"line":1598},[12266],{"type":426,"tag":553,"props":12267,"children":12268},{"style":572},[12269],{"type":431,"value":12270},"        \"\"\"\n",{"type":426,"tag":553,"props":12272,"children":12273},{"class":555,"line":1636},[12274],{"type":426,"tag":553,"props":12275,"children":12276},{"style":572},[12277],{"type":431,"value":12278},"        Send a WhatsApp message on behalf of a tenant.\n",{"type":426,"tag":553,"props":12280,"children":12281},{"class":555,"line":1645},[12282],{"type":426,"tag":553,"props":12283,"children":12284},{"style":572},[12285],{"type":431,"value":12286},"        Uses the tenant's own Rapiwa API key.\n",{"type":426,"tag":553,"props":12288,"children":12289},{"class":555,"line":1653},[12290],{"type":426,"tag":553,"props":12291,"children":12292},{"style":572},[12293],{"type":431,"value":12270},{"type":426,"tag":553,"props":12295,"children":12296},{"class":555,"line":1667},[12297,12302,12306,12310],{"type":426,"tag":553,"props":12298,"children":12299},{"style":684},[12300],{"type":431,"value":12301},"        tenant ",{"type":426,"tag":553,"props":12303,"children":12304},{"style":795},[12305],{"type":431,"value":957},{"type":426,"tag":553,"props":12307,"children":12308},{"style":566},[12309],{"type":431,"value":12033},{"type":426,"tag":553,"props":12311,"children":12312},{"style":684},[12313],{"type":431,"value":12314},".get_tenant_config(tenant_id)\n",{"type":426,"tag":553,"props":12316,"children":12317},{"class":555,"line":1680},[12318],{"type":426,"tag":553,"props":12319,"children":12320},{"style":684},[12321],{"type":431,"value":2061},{"type":426,"tag":553,"props":12323,"children":12324},{"class":555,"line":1740},[12325,12329,12333],{"type":426,"tag":553,"props":12326,"children":12327},{"style":795},[12328],{"type":431,"value":2972},{"type":426,"tag":553,"props":12330,"children":12331},{"style":795},[12332],{"type":431,"value":12110},{"type":426,"tag":553,"props":12334,"children":12335},{"style":684},[12336],{"type":431,"value":12337}," tenant:\n",{"type":426,"tag":553,"props":12339,"children":12340},{"class":555,"line":1787},[12341,12346,12351,12355,12359,12364,12368,12373,12377,12382],{"type":426,"tag":553,"props":12342,"children":12343},{"style":795},[12344],{"type":431,"value":12345},"            raise",{"type":426,"tag":553,"props":12347,"children":12348},{"style":566},[12349],{"type":431,"value":12350}," ValueError",{"type":426,"tag":553,"props":12352,"children":12353},{"style":684},[12354],{"type":431,"value":3275},{"type":426,"tag":553,"props":12356,"children":12357},{"style":795},[12358],{"type":431,"value":1709},{"type":426,"tag":553,"props":12360,"children":12361},{"style":572},[12362],{"type":431,"value":12363},"\"Tenant ",{"type":426,"tag":553,"props":12365,"children":12366},{"style":566},[12367],{"type":431,"value":972},{"type":426,"tag":553,"props":12369,"children":12370},{"style":684},[12371],{"type":431,"value":12372},"tenant_id",{"type":426,"tag":553,"props":12374,"children":12375},{"style":566},[12376],{"type":431,"value":982},{"type":426,"tag":553,"props":12378,"children":12379},{"style":572},[12380],{"type":431,"value":12381}," not found\"",{"type":426,"tag":553,"props":12383,"children":12384},{"style":684},[12385],{"type":431,"value":3262},{"type":426,"tag":553,"props":12387,"children":12388},{"class":555,"line":1796},[12389],{"type":426,"tag":553,"props":12390,"children":12391},{"style":684},[12392],{"type":431,"value":2061},{"type":426,"tag":553,"props":12394,"children":12395},{"class":555,"line":1804},[12396,12400,12404,12409,12413],{"type":426,"tag":553,"props":12397,"children":12398},{"style":795},[12399],{"type":431,"value":2972},{"type":426,"tag":553,"props":12401,"children":12402},{"style":795},[12403],{"type":431,"value":12110},{"type":426,"tag":553,"props":12405,"children":12406},{"style":684},[12407],{"type":431,"value":12408}," tenant[",{"type":426,"tag":553,"props":12410,"children":12411},{"style":572},[12412],{"type":431,"value":12193},{"type":426,"tag":553,"props":12414,"children":12415},{"style":684},[12416],{"type":431,"value":12008},{"type":426,"tag":553,"props":12418,"children":12419},{"class":555,"line":1812},[12420,12424,12428,12432,12436,12440,12444,12448,12452,12457],{"type":426,"tag":553,"props":12421,"children":12422},{"style":795},[12423],{"type":431,"value":12345},{"type":426,"tag":553,"props":12425,"children":12426},{"style":566},[12427],{"type":431,"value":9011},{"type":426,"tag":553,"props":12429,"children":12430},{"style":684},[12431],{"type":431,"value":3275},{"type":426,"tag":553,"props":12433,"children":12434},{"style":795},[12435],{"type":431,"value":1709},{"type":426,"tag":553,"props":12437,"children":12438},{"style":572},[12439],{"type":431,"value":12363},{"type":426,"tag":553,"props":12441,"children":12442},{"style":566},[12443],{"type":431,"value":972},{"type":426,"tag":553,"props":12445,"children":12446},{"style":684},[12447],{"type":431,"value":12372},{"type":426,"tag":553,"props":12449,"children":12450},{"style":566},[12451],{"type":431,"value":982},{"type":426,"tag":553,"props":12453,"children":12454},{"style":572},[12455],{"type":431,"value":12456}," is inactive\"",{"type":426,"tag":553,"props":12458,"children":12459},{"style":684},[12460],{"type":431,"value":3262},{"type":426,"tag":553,"props":12462,"children":12463},{"class":555,"line":1847},[12464],{"type":426,"tag":553,"props":12465,"children":12466},{"style":684},[12467],{"type":431,"value":2061},{"type":426,"tag":553,"props":12469,"children":12470},{"class":555,"line":1856},[12471,12475,12479,12483,12487],{"type":426,"tag":553,"props":12472,"children":12473},{"style":795},[12474],{"type":431,"value":2972},{"type":426,"tag":553,"props":12476,"children":12477},{"style":795},[12478],{"type":431,"value":12110},{"type":426,"tag":553,"props":12480,"children":12481},{"style":684},[12482],{"type":431,"value":12408},{"type":426,"tag":553,"props":12484,"children":12485},{"style":572},[12486],{"type":431,"value":12160},{"type":426,"tag":553,"props":12488,"children":12489},{"style":684},[12490],{"type":431,"value":12008},{"type":426,"tag":553,"props":12492,"children":12493},{"class":555,"line":1874},[12494,12498,12502,12506,12510,12514,12518,12522,12526,12531],{"type":426,"tag":553,"props":12495,"children":12496},{"style":795},[12497],{"type":431,"value":12345},{"type":426,"tag":553,"props":12499,"children":12500},{"style":566},[12501],{"type":431,"value":12350},{"type":426,"tag":553,"props":12503,"children":12504},{"style":684},[12505],{"type":431,"value":3275},{"type":426,"tag":553,"props":12507,"children":12508},{"style":795},[12509],{"type":431,"value":1709},{"type":426,"tag":553,"props":12511,"children":12512},{"style":572},[12513],{"type":431,"value":12363},{"type":426,"tag":553,"props":12515,"children":12516},{"style":566},[12517],{"type":431,"value":972},{"type":426,"tag":553,"props":12519,"children":12520},{"style":684},[12521],{"type":431,"value":12372},{"type":426,"tag":553,"props":12523,"children":12524},{"style":566},[12525],{"type":431,"value":982},{"type":426,"tag":553,"props":12527,"children":12528},{"style":572},[12529],{"type":431,"value":12530}," has no API key configured\"",{"type":426,"tag":553,"props":12532,"children":12533},{"style":684},[12534],{"type":431,"value":3262},{"type":426,"tag":553,"props":12536,"children":12537},{"class":555,"line":1882},[12538],{"type":426,"tag":553,"props":12539,"children":12540},{"style":684},[12541],{"type":431,"value":2061},{"type":426,"tag":553,"props":12543,"children":12544},{"class":555,"line":1981},[12545],{"type":426,"tag":553,"props":12546,"children":12547},{"style":1975},[12548],{"type":431,"value":12549},"        # Send via Rapiwa using tenant's API key\n",{"type":426,"tag":553,"props":12551,"children":12552},{"class":555,"line":1989},[12553,12558,12562],{"type":426,"tag":553,"props":12554,"children":12555},{"style":684},[12556],{"type":431,"value":12557},"        response ",{"type":426,"tag":553,"props":12559,"children":12560},{"style":795},[12561],{"type":431,"value":957},{"type":426,"tag":553,"props":12563,"children":12564},{"style":684},[12565],{"type":431,"value":1664},{"type":426,"tag":553,"props":12567,"children":12568},{"class":555,"line":2013},[12569,12573],{"type":426,"tag":553,"props":12570,"children":12571},{"style":572},[12572],{"type":431,"value":2852},{"type":426,"tag":553,"props":12574,"children":12575},{"style":684},[12576],{"type":431,"value":710},{"type":426,"tag":553,"props":12578,"children":12579},{"class":555,"line":2055},[12580,12584,12588,12592,12596,12600,12604,12609,12613,12618,12622,12626,12630,12634],{"type":426,"tag":553,"props":12581,"children":12582},{"style":1684},[12583],{"type":431,"value":2864},{"type":426,"tag":553,"props":12585,"children":12586},{"style":795},[12587],{"type":431,"value":957},{"type":426,"tag":553,"props":12589,"children":12590},{"style":684},[12591],{"type":431,"value":972},{"type":426,"tag":553,"props":12593,"children":12594},{"style":572},[12595],{"type":431,"value":1700},{"type":426,"tag":553,"props":12597,"children":12598},{"style":684},[12599],{"type":431,"value":700},{"type":426,"tag":553,"props":12601,"children":12602},{"style":795},[12603],{"type":431,"value":1709},{"type":426,"tag":553,"props":12605,"children":12606},{"style":572},[12607],{"type":431,"value":12608},"\"Bearer ",{"type":426,"tag":553,"props":12610,"children":12611},{"style":566},[12612],{"type":431,"value":972},{"type":426,"tag":553,"props":12614,"children":12615},{"style":684},[12616],{"type":431,"value":12617},"tenant[",{"type":426,"tag":553,"props":12619,"children":12620},{"style":572},[12621],{"type":431,"value":12160},{"type":426,"tag":553,"props":12623,"children":12624},{"style":684},[12625],{"type":431,"value":1240},{"type":426,"tag":553,"props":12627,"children":12628},{"style":566},[12629],{"type":431,"value":982},{"type":426,"tag":553,"props":12631,"children":12632},{"style":572},[12633],{"type":431,"value":1527},{"type":426,"tag":553,"props":12635,"children":12636},{"style":684},[12637],{"type":431,"value":1737},{"type":426,"tag":553,"props":12639,"children":12640},{"class":555,"line":2064},[12641,12645,12649,12653,12657,12662,12666],{"type":426,"tag":553,"props":12642,"children":12643},{"style":1684},[12644],{"type":431,"value":2916},{"type":426,"tag":553,"props":12646,"children":12647},{"style":795},[12648],{"type":431,"value":957},{"type":426,"tag":553,"props":12650,"children":12651},{"style":684},[12652],{"type":431,"value":972},{"type":426,"tag":553,"props":12654,"children":12655},{"style":572},[12656],{"type":431,"value":1759},{"type":426,"tag":553,"props":12658,"children":12659},{"style":684},[12660],{"type":431,"value":12661},": recipient, ",{"type":426,"tag":553,"props":12663,"children":12664},{"style":572},[12665],{"type":431,"value":1779},{"type":426,"tag":553,"props":12667,"children":12668},{"style":684},[12669],{"type":431,"value":8940},{"type":426,"tag":553,"props":12671,"children":12672},{"class":555,"line":2087},[12673,12678,12682],{"type":426,"tag":553,"props":12674,"children":12675},{"style":1684},[12676],{"type":431,"value":12677},"            timeout",{"type":426,"tag":553,"props":12679,"children":12680},{"style":795},[12681],{"type":431,"value":957},{"type":426,"tag":553,"props":12683,"children":12684},{"style":566},[12685],{"type":431,"value":8957},{"type":426,"tag":553,"props":12687,"children":12688},{"class":555,"line":2096},[12689],{"type":426,"tag":553,"props":12690,"children":12691},{"style":684},[12692],{"type":431,"value":6037},{"type":426,"tag":553,"props":12694,"children":12695},{"class":555,"line":2105},[12696],{"type":426,"tag":553,"props":12697,"children":12698},{"style":684},[12699],{"type":431,"value":2061},{"type":426,"tag":553,"props":12701,"children":12702},{"class":555,"line":2114},[12703,12707,12711],{"type":426,"tag":553,"props":12704,"children":12705},{"style":684},[12706],{"type":431,"value":2836},{"type":426,"tag":553,"props":12708,"children":12709},{"style":795},[12710],{"type":431,"value":957},{"type":426,"tag":553,"props":12712,"children":12713},{"style":684},[12714],{"type":431,"value":9193},{"type":426,"tag":553,"props":12716,"children":12717},{"class":555,"line":2123},[12718],{"type":426,"tag":553,"props":12719,"children":12720},{"style":684},[12721],{"type":431,"value":2061},{"type":426,"tag":553,"props":12723,"children":12724},{"class":555,"line":2132},[12725],{"type":426,"tag":553,"props":12726,"children":12727},{"style":1975},[12728],{"type":431,"value":12729},"        # Log the message\n",{"type":426,"tag":553,"props":12731,"children":12732},{"class":555,"line":2151},[12733,12737],{"type":426,"tag":553,"props":12734,"children":12735},{"style":566},[12736],{"type":431,"value":11952},{"type":426,"tag":553,"props":12738,"children":12739},{"style":684},[12740],{"type":431,"value":12741},"._log_message(\n",{"type":426,"tag":553,"props":12743,"children":12744},{"class":555,"line":2160},[12745,12750,12754],{"type":426,"tag":553,"props":12746,"children":12747},{"style":1684},[12748],{"type":431,"value":12749},"            tenant_id",{"type":426,"tag":553,"props":12751,"children":12752},{"style":795},[12753],{"type":431,"value":957},{"type":426,"tag":553,"props":12755,"children":12756},{"style":684},[12757],{"type":431,"value":12758},"tenant_id,\n",{"type":426,"tag":553,"props":12760,"children":12761},{"class":555,"line":2174},[12762,12767,12771,12776],{"type":426,"tag":553,"props":12763,"children":12764},{"style":1684},[12765],{"type":431,"value":12766},"            direction",{"type":426,"tag":553,"props":12768,"children":12769},{"style":795},[12770],{"type":431,"value":957},{"type":426,"tag":553,"props":12772,"children":12773},{"style":572},[12774],{"type":431,"value":12775},"'outbound'",{"type":426,"tag":553,"props":12777,"children":12778},{"style":684},[12779],{"type":431,"value":710},{"type":426,"tag":553,"props":12781,"children":12782},{"class":555,"line":2182},[12783,12788,12792,12796,12800],{"type":426,"tag":553,"props":12784,"children":12785},{"style":1684},[12786],{"type":431,"value":12787},"            from_number",{"type":426,"tag":553,"props":12789,"children":12790},{"style":795},[12791],{"type":431,"value":957},{"type":426,"tag":553,"props":12793,"children":12794},{"style":684},[12795],{"type":431,"value":12617},{"type":426,"tag":553,"props":12797,"children":12798},{"style":572},[12799],{"type":431,"value":1759},{"type":426,"tag":553,"props":12801,"children":12802},{"style":684},[12803],{"type":431,"value":12804},"],\n",{"type":426,"tag":553,"props":12806,"children":12807},{"class":555,"line":2205},[12808,12813,12817],{"type":426,"tag":553,"props":12809,"children":12810},{"style":1684},[12811],{"type":431,"value":12812},"            to_number",{"type":426,"tag":553,"props":12814,"children":12815},{"style":795},[12816],{"type":431,"value":957},{"type":426,"tag":553,"props":12818,"children":12819},{"style":684},[12820],{"type":431,"value":12821},"recipient,\n",{"type":426,"tag":553,"props":12823,"children":12824},{"class":555,"line":2241},[12825,12830,12834,12839,12843],{"type":426,"tag":553,"props":12826,"children":12827},{"style":1684},[12828],{"type":431,"value":12829},"            message_preview",{"type":426,"tag":553,"props":12831,"children":12832},{"style":795},[12833],{"type":431,"value":957},{"type":426,"tag":553,"props":12835,"children":12836},{"style":684},[12837],{"type":431,"value":12838},"message[:",{"type":426,"tag":553,"props":12840,"children":12841},{"style":566},[12842],{"type":431,"value":11264},{"type":426,"tag":553,"props":12844,"children":12845},{"style":684},[12846],{"type":431,"value":12804},{"type":426,"tag":553,"props":12848,"children":12849},{"class":555,"line":2250},[12850,12855,12859,12864,12868],{"type":426,"tag":553,"props":12851,"children":12852},{"style":1684},[12853],{"type":431,"value":12854},"            rapiwa_message_id",{"type":426,"tag":553,"props":12856,"children":12857},{"style":795},[12858],{"type":431,"value":957},{"type":426,"tag":553,"props":12860,"children":12861},{"style":684},[12862],{"type":431,"value":12863},"result.get(",{"type":426,"tag":553,"props":12865,"children":12866},{"style":572},[12867],{"type":431,"value":8316},{"type":426,"tag":553,"props":12869,"children":12870},{"style":684},[12871],{"type":431,"value":11615},{"type":426,"tag":553,"props":12873,"children":12874},{"class":555,"line":2302},[12875,12880,12884,12888,12892,12896,12900,12904,12908,12912,12916],{"type":426,"tag":553,"props":12876,"children":12877},{"style":1684},[12878],{"type":431,"value":12879},"            status",{"type":426,"tag":553,"props":12881,"children":12882},{"style":795},[12883],{"type":431,"value":957},{"type":426,"tag":553,"props":12885,"children":12886},{"style":572},[12887],{"type":431,"value":2771},{"type":426,"tag":553,"props":12889,"children":12890},{"style":795},[12891],{"type":431,"value":1001},{"type":426,"tag":553,"props":12893,"children":12894},{"style":684},[12895],{"type":431,"value":2977},{"type":426,"tag":553,"props":12897,"children":12898},{"style":572},[12899],{"type":431,"value":2982},{"type":426,"tag":553,"props":12901,"children":12902},{"style":684},[12903],{"type":431,"value":2987},{"type":426,"tag":553,"props":12905,"children":12906},{"style":795},[12907],{"type":431,"value":1069},{"type":426,"tag":553,"props":12909,"children":12910},{"style":572},[12911],{"type":431,"value":2996},{"type":426,"tag":553,"props":12913,"children":12914},{"style":795},[12915],{"type":431,"value":1019},{"type":426,"tag":553,"props":12917,"children":12918},{"style":572},[12919],{"type":431,"value":12920}," 'failed'\n",{"type":426,"tag":553,"props":12922,"children":12923},{"class":555,"line":2353},[12924],{"type":426,"tag":553,"props":12925,"children":12926},{"style":684},[12927],{"type":431,"value":6037},{"type":426,"tag":553,"props":12929,"children":12930},{"class":555,"line":2390},[12931],{"type":426,"tag":553,"props":12932,"children":12933},{"style":684},[12934],{"type":431,"value":2061},{"type":426,"tag":553,"props":12936,"children":12937},{"class":555,"line":2440},[12938],{"type":426,"tag":553,"props":12939,"children":12940},{"style":1975},[12941],{"type":431,"value":12942},"        # Update usage counter\n",{"type":426,"tag":553,"props":12944,"children":12945},{"class":555,"line":2488},[12946,12950],{"type":426,"tag":553,"props":12947,"children":12948},{"style":566},[12949],{"type":431,"value":11952},{"type":426,"tag":553,"props":12951,"children":12952},{"style":684},[12953],{"type":431,"value":12954},".db_conn.cursor().execute(\n",{"type":426,"tag":553,"props":12956,"children":12957},{"class":555,"line":2509},[12958,12963,12967,12971],{"type":426,"tag":553,"props":12959,"children":12960},{"style":572},[12961],{"type":431,"value":12962},"            \"UPDATE tenants SET messages_sent = messages_sent + 1 WHERE id = ",{"type":426,"tag":553,"props":12964,"children":12965},{"style":566},[12966],{"type":431,"value":2143},{"type":426,"tag":553,"props":12968,"children":12969},{"style":572},[12970],{"type":431,"value":1527},{"type":426,"tag":553,"props":12972,"children":12973},{"style":684},[12974],{"type":431,"value":710},{"type":426,"tag":553,"props":12976,"children":12977},{"class":555,"line":2527},[12978],{"type":426,"tag":553,"props":12979,"children":12980},{"style":684},[12981],{"type":431,"value":12074},{"type":426,"tag":553,"props":12983,"children":12984},{"class":555,"line":2545},[12985],{"type":426,"tag":553,"props":12986,"children":12987},{"style":684},[12988],{"type":431,"value":6037},{"type":426,"tag":553,"props":12990,"children":12992},{"class":555,"line":12991},66,[12993,12997],{"type":426,"tag":553,"props":12994,"children":12995},{"style":566},[12996],{"type":431,"value":11952},{"type":426,"tag":553,"props":12998,"children":12999},{"style":684},[13000],{"type":431,"value":13001},".db_conn.commit()\n",{"type":426,"tag":553,"props":13003,"children":13005},{"class":555,"line":13004},67,[13006],{"type":426,"tag":553,"props":13007,"children":13008},{"style":684},[13009],{"type":431,"value":2061},{"type":426,"tag":553,"props":13011,"children":13013},{"class":555,"line":13012},68,[13014,13018],{"type":426,"tag":553,"props":13015,"children":13016},{"style":795},[13017],{"type":431,"value":8378},{"type":426,"tag":553,"props":13019,"children":13020},{"style":684},[13021],{"type":431,"value":13022}," result\n",{"type":426,"tag":553,"props":13024,"children":13026},{"class":555,"line":13025},69,[13027],{"type":426,"tag":553,"props":13028,"children":13029},{"style":684},[13030],{"type":431,"value":917},{"type":426,"tag":553,"props":13032,"children":13034},{"class":555,"line":13033},70,[13035,13039,13044,13049,13054,13059,13063],{"type":426,"tag":553,"props":13036,"children":13037},{"style":795},[13038],{"type":431,"value":11926},{"type":426,"tag":553,"props":13040,"children":13041},{"style":560},[13042],{"type":431,"value":13043}," _log_message",{"type":426,"tag":553,"props":13045,"children":13046},{"style":684},[13047],{"type":431,"value":13048},"(self, ",{"type":426,"tag":553,"props":13050,"children":13051},{"style":795},[13052],{"type":431,"value":13053},"**",{"type":426,"tag":553,"props":13055,"children":13056},{"style":684},[13057],{"type":431,"value":13058},"kwargs) -> ",{"type":426,"tag":553,"props":13060,"children":13061},{"style":566},[13062],{"type":431,"value":1840},{"type":426,"tag":553,"props":13064,"children":13065},{"style":684},[13066],{"type":431,"value":909},{"type":426,"tag":553,"props":13068,"children":13070},{"class":555,"line":13069},71,[13071,13075,13079,13083],{"type":426,"tag":553,"props":13072,"children":13073},{"style":684},[13074],{"type":431,"value":12024},{"type":426,"tag":553,"props":13076,"children":13077},{"style":795},[13078],{"type":431,"value":957},{"type":426,"tag":553,"props":13080,"children":13081},{"style":566},[13082],{"type":431,"value":12033},{"type":426,"tag":553,"props":13084,"children":13085},{"style":684},[13086],{"type":431,"value":12038},{"type":426,"tag":553,"props":13088,"children":13090},{"class":555,"line":13089},72,[13091,13096],{"type":426,"tag":553,"props":13092,"children":13093},{"style":684},[13094],{"type":431,"value":13095},"        cursor.execute(",{"type":426,"tag":553,"props":13097,"children":13098},{"style":572},[13099],{"type":431,"value":2084},{"type":426,"tag":553,"props":13101,"children":13103},{"class":555,"line":13102},73,[13104],{"type":426,"tag":553,"props":13105,"children":13106},{"style":572},[13107],{"type":431,"value":13108},"            INSERT INTO message_log \n",{"type":426,"tag":553,"props":13110,"children":13112},{"class":555,"line":13111},74,[13113],{"type":426,"tag":553,"props":13114,"children":13115},{"style":572},[13116],{"type":431,"value":13117},"            (tenant_id, direction, from_number, to_number, message_preview, \n",{"type":426,"tag":553,"props":13119,"children":13121},{"class":555,"line":13120},75,[13122],{"type":426,"tag":553,"props":13123,"children":13124},{"style":572},[13125],{"type":431,"value":13126},"             rapiwa_message_id, status)\n",{"type":426,"tag":553,"props":13128,"children":13130},{"class":555,"line":13129},76,[13131,13136,13141,13145,13150,13154,13159,13163,13168],{"type":426,"tag":553,"props":13132,"children":13133},{"style":572},[13134],{"type":431,"value":13135},"            VALUES (",{"type":426,"tag":553,"props":13137,"children":13138},{"style":566},[13139],{"type":431,"value":13140},"%(tenant_id)s",{"type":426,"tag":553,"props":13142,"children":13143},{"style":572},[13144],{"type":431,"value":1907},{"type":426,"tag":553,"props":13146,"children":13147},{"style":566},[13148],{"type":431,"value":13149},"%(direction)s",{"type":426,"tag":553,"props":13151,"children":13152},{"style":572},[13153],{"type":431,"value":1907},{"type":426,"tag":553,"props":13155,"children":13156},{"style":566},[13157],{"type":431,"value":13158},"%(from_number)s",{"type":426,"tag":553,"props":13160,"children":13161},{"style":572},[13162],{"type":431,"value":1907},{"type":426,"tag":553,"props":13164,"children":13165},{"style":566},[13166],{"type":431,"value":13167},"%(to_number)s",{"type":426,"tag":553,"props":13169,"children":13170},{"style":572},[13171],{"type":431,"value":710},{"type":426,"tag":553,"props":13173,"children":13175},{"class":555,"line":13174},77,[13176,13181,13185,13190,13194,13199],{"type":426,"tag":553,"props":13177,"children":13178},{"style":566},[13179],{"type":431,"value":13180},"                    %(message_preview)s",{"type":426,"tag":553,"props":13182,"children":13183},{"style":572},[13184],{"type":431,"value":1907},{"type":426,"tag":553,"props":13186,"children":13187},{"style":566},[13188],{"type":431,"value":13189},"%(rapiwa_message_id)s",{"type":426,"tag":553,"props":13191,"children":13192},{"style":572},[13193],{"type":431,"value":1907},{"type":426,"tag":553,"props":13195,"children":13196},{"style":566},[13197],{"type":431,"value":13198},"%(status)s",{"type":426,"tag":553,"props":13200,"children":13201},{"style":572},[13202],{"type":431,"value":3262},{"type":426,"tag":553,"props":13204,"children":13206},{"class":555,"line":13205},78,[13207,13211],{"type":426,"tag":553,"props":13208,"children":13209},{"style":572},[13210],{"type":431,"value":2166},{"type":426,"tag":553,"props":13212,"children":13213},{"style":684},[13214],{"type":431,"value":13215},", kwargs)\n",{"type":426,"tag":553,"props":13217,"children":13219},{"class":555,"line":13218},79,[13220,13224],{"type":426,"tag":553,"props":13221,"children":13222},{"style":566},[13223],{"type":431,"value":11952},{"type":426,"tag":553,"props":13225,"children":13226},{"style":684},[13227],{"type":431,"value":13001},{"type":426,"tag":434,"props":13229,"children":13231},{"id":13230},"step-3-tenant-specific-api-endpoint",[13232],{"type":431,"value":13233},"Step 3: Tenant-Specific API Endpoint",{"type":426,"tag":427,"props":13235,"children":13236},{},[13237],{"type":431,"value":13238},"Your SaaS exposes an API that tenants use to send messages:",{"type":426,"tag":542,"props":13240,"children":13242},{"code":13241,"language":784,"meta":417,"className":785,"style":417},"# api.py\nfrom flask import Flask, request, jsonify, g\nimport jwt\n\napp = Flask(__name__)\nrouter = MessageRouter(os.environ['DATABASE_URL'])\n\ndef authenticate_tenant(token: str) -> Optional[str]:\n    \"\"\"Validate JWT token and return tenant_id.\"\"\"\n    try:\n        payload = jwt.decode(token, os.environ['JWT_SECRET'], algorithms=['HS256'])\n        return payload.get('tenant_id')\n    except jwt.InvalidTokenError:\n        return None\n\n@app.route('\u002Fapi\u002Fv1\u002Fsend-message', methods=['POST'])\ndef send_message():\n    \"\"\"Tenant-facing API endpoint to send WhatsApp messages.\"\"\"\n    # Authenticate\n    auth_header = request.headers.get('Authorization', '')\n    token = auth_header.replace('Bearer ', '')\n    tenant_id = authenticate_tenant(token)\n    \n    if not tenant_id:\n        return jsonify({'error': 'Unauthorized'}), 401\n    \n    data = request.get_json()\n    recipient = data.get('number')\n    message = data.get('message')\n    \n    if not recipient or not message:\n        return jsonify({'error': 'Missing required fields: number, message'}), 400\n    \n    try:\n        result = router.send_message(tenant_id, recipient, message)\n        return jsonify(result)\n    \n    except PermissionError as e:\n        return jsonify({'error': str(e)}), 403\n    except ValueError as e:\n        return jsonify({'error': str(e)}), 400\n",[13243],{"type":426,"tag":549,"props":13244,"children":13245},{"__ignoreMap":417},[13246,13254,13275,13287,13294,13320,13346,13353,13386,13394,13406,13454,13474,13487,13498,13505,13545,13560,13568,13576,13610,13644,13661,13668,13684,13719,13726,13742,13766,13789,13796,13826,13859,13866,13877,13893,13905,13912,13933,13966,13985],{"type":426,"tag":553,"props":13247,"children":13248},{"class":555,"line":556},[13249],{"type":426,"tag":553,"props":13250,"children":13251},{"style":1975},[13252],{"type":431,"value":13253},"# api.py\n",{"type":426,"tag":553,"props":13255,"children":13256},{"class":555,"line":588},[13257,13261,13266,13270],{"type":426,"tag":553,"props":13258,"children":13259},{"style":795},[13260],{"type":431,"value":811},{"type":426,"tag":553,"props":13262,"children":13263},{"style":684},[13264],{"type":431,"value":13265}," flask ",{"type":426,"tag":553,"props":13267,"children":13268},{"style":795},[13269],{"type":431,"value":798},{"type":426,"tag":553,"props":13271,"children":13272},{"style":684},[13273],{"type":431,"value":13274}," Flask, request, jsonify, g\n",{"type":426,"tag":553,"props":13276,"children":13277},{"class":555,"line":606},[13278,13282],{"type":426,"tag":553,"props":13279,"children":13280},{"style":795},[13281],{"type":431,"value":798},{"type":426,"tag":553,"props":13283,"children":13284},{"style":684},[13285],{"type":431,"value":13286}," jwt\n",{"type":426,"tag":553,"props":13288,"children":13289},{"class":555,"line":623},[13290],{"type":426,"tag":553,"props":13291,"children":13292},{"emptyLinePlaceholder":831},[13293],{"type":431,"value":834},{"type":426,"tag":553,"props":13295,"children":13296},{"class":555,"line":637},[13297,13302,13306,13311,13316],{"type":426,"tag":553,"props":13298,"children":13299},{"style":684},[13300],{"type":431,"value":13301},"app ",{"type":426,"tag":553,"props":13303,"children":13304},{"style":795},[13305],{"type":431,"value":957},{"type":426,"tag":553,"props":13307,"children":13308},{"style":684},[13309],{"type":431,"value":13310}," Flask(",{"type":426,"tag":553,"props":13312,"children":13313},{"style":566},[13314],{"type":431,"value":13315},"__name__",{"type":426,"tag":553,"props":13317,"children":13318},{"style":684},[13319],{"type":431,"value":3262},{"type":426,"tag":553,"props":13321,"children":13322},{"class":555,"line":646},[13323,13328,13332,13337,13342],{"type":426,"tag":553,"props":13324,"children":13325},{"style":684},[13326],{"type":431,"value":13327},"router ",{"type":426,"tag":553,"props":13329,"children":13330},{"style":795},[13331],{"type":431,"value":957},{"type":426,"tag":553,"props":13333,"children":13334},{"style":684},[13335],{"type":431,"value":13336}," MessageRouter(os.environ[",{"type":426,"tag":553,"props":13338,"children":13339},{"style":572},[13340],{"type":431,"value":13341},"'DATABASE_URL'",{"type":426,"tag":553,"props":13343,"children":13344},{"style":684},[13345],{"type":431,"value":8061},{"type":426,"tag":553,"props":13347,"children":13348},{"class":555,"line":655},[13349],{"type":426,"tag":553,"props":13350,"children":13351},{"emptyLinePlaceholder":831},[13352],{"type":431,"value":834},{"type":426,"tag":553,"props":13354,"children":13355},{"class":555,"line":1036},[13356,13360,13365,13370,13374,13378,13382],{"type":426,"tag":553,"props":13357,"children":13358},{"style":795},[13359],{"type":431,"value":842},{"type":426,"tag":553,"props":13361,"children":13362},{"style":560},[13363],{"type":431,"value":13364}," authenticate_tenant",{"type":426,"tag":553,"props":13366,"children":13367},{"style":684},[13368],{"type":431,"value":13369},"(token: ",{"type":426,"tag":553,"props":13371,"children":13372},{"style":566},[13373],{"type":431,"value":895},{"type":426,"tag":553,"props":13375,"children":13376},{"style":684},[13377],{"type":431,"value":11999},{"type":426,"tag":553,"props":13379,"children":13380},{"style":566},[13381],{"type":431,"value":895},{"type":426,"tag":553,"props":13383,"children":13384},{"style":684},[13385],{"type":431,"value":12008},{"type":426,"tag":553,"props":13387,"children":13388},{"class":555,"line":1054},[13389],{"type":426,"tag":553,"props":13390,"children":13391},{"style":572},[13392],{"type":431,"value":13393},"    \"\"\"Validate JWT token and return tenant_id.\"\"\"\n",{"type":426,"tag":553,"props":13395,"children":13396},{"class":555,"line":1080},[13397,13402],{"type":426,"tag":553,"props":13398,"children":13399},{"style":795},[13400],{"type":431,"value":13401},"    try",{"type":426,"tag":553,"props":13403,"children":13404},{"style":684},[13405],{"type":431,"value":909},{"type":426,"tag":553,"props":13407,"children":13408},{"class":555,"line":1097},[13409,13414,13418,13423,13428,13432,13437,13441,13445,13450],{"type":426,"tag":553,"props":13410,"children":13411},{"style":684},[13412],{"type":431,"value":13413},"        payload ",{"type":426,"tag":553,"props":13415,"children":13416},{"style":795},[13417],{"type":431,"value":957},{"type":426,"tag":553,"props":13419,"children":13420},{"style":684},[13421],{"type":431,"value":13422}," jwt.decode(token, os.environ[",{"type":426,"tag":553,"props":13424,"children":13425},{"style":572},[13426],{"type":431,"value":13427},"'JWT_SECRET'",{"type":426,"tag":553,"props":13429,"children":13430},{"style":684},[13431],{"type":431,"value":1774},{"type":426,"tag":553,"props":13433,"children":13434},{"style":1684},[13435],{"type":431,"value":13436},"algorithms",{"type":426,"tag":553,"props":13438,"children":13439},{"style":795},[13440],{"type":431,"value":957},{"type":426,"tag":553,"props":13442,"children":13443},{"style":684},[13444],{"type":431,"value":8051},{"type":426,"tag":553,"props":13446,"children":13447},{"style":572},[13448],{"type":431,"value":13449},"'HS256'",{"type":426,"tag":553,"props":13451,"children":13452},{"style":684},[13453],{"type":431,"value":8061},{"type":426,"tag":553,"props":13455,"children":13456},{"class":555,"line":1114},[13457,13461,13465,13470],{"type":426,"tag":553,"props":13458,"children":13459},{"style":795},[13460],{"type":431,"value":8378},{"type":426,"tag":553,"props":13462,"children":13463},{"style":684},[13464],{"type":431,"value":8171},{"type":426,"tag":553,"props":13466,"children":13467},{"style":572},[13468],{"type":431,"value":13469},"'tenant_id'",{"type":426,"tag":553,"props":13471,"children":13472},{"style":684},[13473],{"type":431,"value":3262},{"type":426,"tag":553,"props":13475,"children":13476},{"class":555,"line":1127},[13477,13482],{"type":426,"tag":553,"props":13478,"children":13479},{"style":795},[13480],{"type":431,"value":13481},"    except",{"type":426,"tag":553,"props":13483,"children":13484},{"style":684},[13485],{"type":431,"value":13486}," jwt.InvalidTokenError:\n",{"type":426,"tag":553,"props":13488,"children":13489},{"class":555,"line":1167},[13490,13494],{"type":426,"tag":553,"props":13491,"children":13492},{"style":795},[13493],{"type":431,"value":8378},{"type":426,"tag":553,"props":13495,"children":13496},{"style":566},[13497],{"type":431,"value":8781},{"type":426,"tag":553,"props":13499,"children":13500},{"class":555,"line":1184},[13501],{"type":426,"tag":553,"props":13502,"children":13503},{"emptyLinePlaceholder":831},[13504],{"type":431,"value":834},{"type":426,"tag":553,"props":13506,"children":13507},{"class":555,"line":1192},[13508,13512,13516,13521,13525,13529,13533,13537,13541],{"type":426,"tag":553,"props":13509,"children":13510},{"style":560},[13511],{"type":431,"value":8024},{"type":426,"tag":553,"props":13513,"children":13514},{"style":684},[13515],{"type":431,"value":3275},{"type":426,"tag":553,"props":13517,"children":13518},{"style":572},[13519],{"type":431,"value":13520},"'\u002Fapi\u002Fv1\u002Fsend-message'",{"type":426,"tag":553,"props":13522,"children":13523},{"style":684},[13524],{"type":431,"value":1907},{"type":426,"tag":553,"props":13526,"children":13527},{"style":1684},[13528],{"type":431,"value":8042},{"type":426,"tag":553,"props":13530,"children":13531},{"style":795},[13532],{"type":431,"value":957},{"type":426,"tag":553,"props":13534,"children":13535},{"style":684},[13536],{"type":431,"value":8051},{"type":426,"tag":553,"props":13538,"children":13539},{"style":572},[13540],{"type":431,"value":8056},{"type":426,"tag":553,"props":13542,"children":13543},{"style":684},[13544],{"type":431,"value":8061},{"type":426,"tag":553,"props":13546,"children":13547},{"class":555,"line":1210},[13548,13552,13556],{"type":426,"tag":553,"props":13549,"children":13550},{"style":795},[13551],{"type":431,"value":842},{"type":426,"tag":553,"props":13553,"children":13554},{"style":560},[13555],{"type":431,"value":12225},{"type":426,"tag":553,"props":13557,"children":13558},{"style":684},[13559],{"type":431,"value":6433},{"type":426,"tag":553,"props":13561,"children":13562},{"class":555,"line":1253},[13563],{"type":426,"tag":553,"props":13564,"children":13565},{"style":572},[13566],{"type":431,"value":13567},"    \"\"\"Tenant-facing API endpoint to send WhatsApp messages.\"\"\"\n",{"type":426,"tag":553,"props":13569,"children":13570},{"class":555,"line":1302},[13571],{"type":426,"tag":553,"props":13572,"children":13573},{"style":1975},[13574],{"type":431,"value":13575},"    # Authenticate\n",{"type":426,"tag":553,"props":13577,"children":13578},{"class":555,"line":1374},[13579,13584,13588,13593,13597,13601,13606],{"type":426,"tag":553,"props":13580,"children":13581},{"style":684},[13582],{"type":431,"value":13583},"    auth_header ",{"type":426,"tag":553,"props":13585,"children":13586},{"style":795},[13587],{"type":431,"value":957},{"type":426,"tag":553,"props":13589,"children":13590},{"style":684},[13591],{"type":431,"value":13592}," request.headers.get(",{"type":426,"tag":553,"props":13594,"children":13595},{"style":572},[13596],{"type":431,"value":1700},{"type":426,"tag":553,"props":13598,"children":13599},{"style":684},[13600],{"type":431,"value":1907},{"type":426,"tag":553,"props":13602,"children":13603},{"style":572},[13604],{"type":431,"value":13605},"''",{"type":426,"tag":553,"props":13607,"children":13608},{"style":684},[13609],{"type":431,"value":3262},{"type":426,"tag":553,"props":13611,"children":13612},{"class":555,"line":1414},[13613,13618,13622,13627,13632,13636,13640],{"type":426,"tag":553,"props":13614,"children":13615},{"style":684},[13616],{"type":431,"value":13617},"    token ",{"type":426,"tag":553,"props":13619,"children":13620},{"style":795},[13621],{"type":431,"value":957},{"type":426,"tag":553,"props":13623,"children":13624},{"style":684},[13625],{"type":431,"value":13626}," auth_header.replace(",{"type":426,"tag":553,"props":13628,"children":13629},{"style":572},[13630],{"type":431,"value":13631},"'Bearer '",{"type":426,"tag":553,"props":13633,"children":13634},{"style":684},[13635],{"type":431,"value":1907},{"type":426,"tag":553,"props":13637,"children":13638},{"style":572},[13639],{"type":431,"value":13605},{"type":426,"tag":553,"props":13641,"children":13642},{"style":684},[13643],{"type":431,"value":3262},{"type":426,"tag":553,"props":13645,"children":13646},{"class":555,"line":1479},[13647,13652,13656],{"type":426,"tag":553,"props":13648,"children":13649},{"style":684},[13650],{"type":431,"value":13651},"    tenant_id ",{"type":426,"tag":553,"props":13653,"children":13654},{"style":795},[13655],{"type":431,"value":957},{"type":426,"tag":553,"props":13657,"children":13658},{"style":684},[13659],{"type":431,"value":13660}," authenticate_tenant(token)\n",{"type":426,"tag":553,"props":13662,"children":13663},{"class":555,"line":1517},[13664],{"type":426,"tag":553,"props":13665,"children":13666},{"style":684},[13667],{"type":431,"value":917},{"type":426,"tag":553,"props":13669,"children":13670},{"class":555,"line":1560},[13671,13675,13679],{"type":426,"tag":553,"props":13672,"children":13673},{"style":795},[13674],{"type":431,"value":925},{"type":426,"tag":553,"props":13676,"children":13677},{"style":795},[13678],{"type":431,"value":12110},{"type":426,"tag":553,"props":13680,"children":13681},{"style":684},[13682],{"type":431,"value":13683}," tenant_id:\n",{"type":426,"tag":553,"props":13685,"children":13686},{"class":555,"line":1598},[13687,13691,13695,13700,13704,13709,13714],{"type":426,"tag":553,"props":13688,"children":13689},{"style":795},[13690],{"type":431,"value":8378},{"type":426,"tag":553,"props":13692,"children":13693},{"style":684},[13694],{"type":431,"value":8126},{"type":426,"tag":553,"props":13696,"children":13697},{"style":572},[13698],{"type":431,"value":13699},"'error'",{"type":426,"tag":553,"props":13701,"children":13702},{"style":684},[13703],{"type":431,"value":700},{"type":426,"tag":553,"props":13705,"children":13706},{"style":572},[13707],{"type":431,"value":13708},"'Unauthorized'",{"type":426,"tag":553,"props":13710,"children":13711},{"style":684},[13712],{"type":431,"value":13713},"}), ",{"type":426,"tag":553,"props":13715,"children":13716},{"style":566},[13717],{"type":431,"value":13718},"401\n",{"type":426,"tag":553,"props":13720,"children":13721},{"class":555,"line":1636},[13722],{"type":426,"tag":553,"props":13723,"children":13724},{"style":684},[13725],{"type":431,"value":917},{"type":426,"tag":553,"props":13727,"children":13728},{"class":555,"line":1645},[13729,13734,13738],{"type":426,"tag":553,"props":13730,"children":13731},{"style":684},[13732],{"type":431,"value":13733},"    data ",{"type":426,"tag":553,"props":13735,"children":13736},{"style":795},[13737],{"type":431,"value":957},{"type":426,"tag":553,"props":13739,"children":13740},{"style":684},[13741],{"type":431,"value":8094},{"type":426,"tag":553,"props":13743,"children":13744},{"class":555,"line":1653},[13745,13750,13754,13758,13762],{"type":426,"tag":553,"props":13746,"children":13747},{"style":684},[13748],{"type":431,"value":13749},"    recipient ",{"type":426,"tag":553,"props":13751,"children":13752},{"style":795},[13753],{"type":431,"value":957},{"type":426,"tag":553,"props":13755,"children":13756},{"style":684},[13757],{"type":431,"value":8311},{"type":426,"tag":553,"props":13759,"children":13760},{"style":572},[13761],{"type":431,"value":1759},{"type":426,"tag":553,"props":13763,"children":13764},{"style":684},[13765],{"type":431,"value":3262},{"type":426,"tag":553,"props":13767,"children":13768},{"class":555,"line":1667},[13769,13773,13777,13781,13785],{"type":426,"tag":553,"props":13770,"children":13771},{"style":684},[13772],{"type":431,"value":1198},{"type":426,"tag":553,"props":13774,"children":13775},{"style":795},[13776],{"type":431,"value":957},{"type":426,"tag":553,"props":13778,"children":13779},{"style":684},[13780],{"type":431,"value":8311},{"type":426,"tag":553,"props":13782,"children":13783},{"style":572},[13784],{"type":431,"value":1779},{"type":426,"tag":553,"props":13786,"children":13787},{"style":684},[13788],{"type":431,"value":3262},{"type":426,"tag":553,"props":13790,"children":13791},{"class":555,"line":1680},[13792],{"type":426,"tag":553,"props":13793,"children":13794},{"style":684},[13795],{"type":431,"value":917},{"type":426,"tag":553,"props":13797,"children":13798},{"class":555,"line":1740},[13799,13803,13807,13812,13817,13821],{"type":426,"tag":553,"props":13800,"children":13801},{"style":795},[13802],{"type":431,"value":925},{"type":426,"tag":553,"props":13804,"children":13805},{"style":795},[13806],{"type":431,"value":12110},{"type":426,"tag":553,"props":13808,"children":13809},{"style":684},[13810],{"type":431,"value":13811}," recipient ",{"type":426,"tag":553,"props":13813,"children":13814},{"style":795},[13815],{"type":431,"value":13816},"or",{"type":426,"tag":553,"props":13818,"children":13819},{"style":795},[13820],{"type":431,"value":12110},{"type":426,"tag":553,"props":13822,"children":13823},{"style":684},[13824],{"type":431,"value":13825}," message:\n",{"type":426,"tag":553,"props":13827,"children":13828},{"class":555,"line":1787},[13829,13833,13837,13841,13845,13850,13854],{"type":426,"tag":553,"props":13830,"children":13831},{"style":795},[13832],{"type":431,"value":8378},{"type":426,"tag":553,"props":13834,"children":13835},{"style":684},[13836],{"type":431,"value":8126},{"type":426,"tag":553,"props":13838,"children":13839},{"style":572},[13840],{"type":431,"value":13699},{"type":426,"tag":553,"props":13842,"children":13843},{"style":684},[13844],{"type":431,"value":700},{"type":426,"tag":553,"props":13846,"children":13847},{"style":572},[13848],{"type":431,"value":13849},"'Missing required fields: number, message'",{"type":426,"tag":553,"props":13851,"children":13852},{"style":684},[13853],{"type":431,"value":13713},{"type":426,"tag":553,"props":13855,"children":13856},{"style":566},[13857],{"type":431,"value":13858},"400\n",{"type":426,"tag":553,"props":13860,"children":13861},{"class":555,"line":1796},[13862],{"type":426,"tag":553,"props":13863,"children":13864},{"style":684},[13865],{"type":431,"value":917},{"type":426,"tag":553,"props":13867,"children":13868},{"class":555,"line":1804},[13869,13873],{"type":426,"tag":553,"props":13870,"children":13871},{"style":795},[13872],{"type":431,"value":13401},{"type":426,"tag":553,"props":13874,"children":13875},{"style":684},[13876],{"type":431,"value":909},{"type":426,"tag":553,"props":13878,"children":13879},{"class":555,"line":1812},[13880,13884,13888],{"type":426,"tag":553,"props":13881,"children":13882},{"style":684},[13883],{"type":431,"value":2836},{"type":426,"tag":553,"props":13885,"children":13886},{"style":795},[13887],{"type":431,"value":957},{"type":426,"tag":553,"props":13889,"children":13890},{"style":684},[13891],{"type":431,"value":13892}," router.send_message(tenant_id, recipient, message)\n",{"type":426,"tag":553,"props":13894,"children":13895},{"class":555,"line":1847},[13896,13900],{"type":426,"tag":553,"props":13897,"children":13898},{"style":795},[13899],{"type":431,"value":8378},{"type":426,"tag":553,"props":13901,"children":13902},{"style":684},[13903],{"type":431,"value":13904}," jsonify(result)\n",{"type":426,"tag":553,"props":13906,"children":13907},{"class":555,"line":1856},[13908],{"type":426,"tag":553,"props":13909,"children":13910},{"style":684},[13911],{"type":431,"value":917},{"type":426,"tag":553,"props":13913,"children":13914},{"class":555,"line":1874},[13915,13919,13923,13928],{"type":426,"tag":553,"props":13916,"children":13917},{"style":795},[13918],{"type":431,"value":13481},{"type":426,"tag":553,"props":13920,"children":13921},{"style":566},[13922],{"type":431,"value":9011},{"type":426,"tag":553,"props":13924,"children":13925},{"style":795},[13926],{"type":431,"value":13927}," as",{"type":426,"tag":553,"props":13929,"children":13930},{"style":684},[13931],{"type":431,"value":13932}," e:\n",{"type":426,"tag":553,"props":13934,"children":13935},{"class":555,"line":1882},[13936,13940,13944,13948,13952,13956,13961],{"type":426,"tag":553,"props":13937,"children":13938},{"style":795},[13939],{"type":431,"value":8378},{"type":426,"tag":553,"props":13941,"children":13942},{"style":684},[13943],{"type":431,"value":8126},{"type":426,"tag":553,"props":13945,"children":13946},{"style":572},[13947],{"type":431,"value":13699},{"type":426,"tag":553,"props":13949,"children":13950},{"style":684},[13951],{"type":431,"value":700},{"type":426,"tag":553,"props":13953,"children":13954},{"style":566},[13955],{"type":431,"value":895},{"type":426,"tag":553,"props":13957,"children":13958},{"style":684},[13959],{"type":431,"value":13960},"(e)}), ",{"type":426,"tag":553,"props":13962,"children":13963},{"style":566},[13964],{"type":431,"value":13965},"403\n",{"type":426,"tag":553,"props":13967,"children":13968},{"class":555,"line":1981},[13969,13973,13977,13981],{"type":426,"tag":553,"props":13970,"children":13971},{"style":795},[13972],{"type":431,"value":13481},{"type":426,"tag":553,"props":13974,"children":13975},{"style":566},[13976],{"type":431,"value":12350},{"type":426,"tag":553,"props":13978,"children":13979},{"style":795},[13980],{"type":431,"value":13927},{"type":426,"tag":553,"props":13982,"children":13983},{"style":684},[13984],{"type":431,"value":13932},{"type":426,"tag":553,"props":13986,"children":13987},{"class":555,"line":1989},[13988,13992,13996,14000,14004,14008,14012],{"type":426,"tag":553,"props":13989,"children":13990},{"style":795},[13991],{"type":431,"value":8378},{"type":426,"tag":553,"props":13993,"children":13994},{"style":684},[13995],{"type":431,"value":8126},{"type":426,"tag":553,"props":13997,"children":13998},{"style":572},[13999],{"type":431,"value":13699},{"type":426,"tag":553,"props":14001,"children":14002},{"style":684},[14003],{"type":431,"value":700},{"type":426,"tag":553,"props":14005,"children":14006},{"style":566},[14007],{"type":431,"value":895},{"type":426,"tag":553,"props":14009,"children":14010},{"style":684},[14011],{"type":431,"value":13960},{"type":426,"tag":553,"props":14013,"children":14014},{"style":566},[14015],{"type":431,"value":13858},{"type":426,"tag":434,"props":14017,"children":14019},{"id":14018},"step-4-incoming-webhook-router",[14020],{"type":431,"value":14021},"Step 4: Incoming Webhook Router",{"type":426,"tag":427,"props":14023,"children":14024},{},[14025],{"type":431,"value":14026},"Register a single Rapiwa webhook URL per tenant, routing to their configured webhook:",{"type":426,"tag":542,"props":14028,"children":14030},{"code":14029,"language":784,"meta":417,"className":785,"style":417},"@app.route('\u002Fwebhooks\u002Fwhatsapp\u002F\u003Ctenant_id>', methods=['POST'])\ndef receive_whatsapp(tenant_id: str):\n    \"\"\"\n    Rapiwa calls this webhook per tenant.\n    Each tenant registers their own URL:\n    https:\u002F\u002Fyourapp.com\u002Fwebhooks\u002Fwhatsapp\u002F{tenant_id}\n    \"\"\"\n    tenant = router.get_tenant_config(tenant_id)\n    if not tenant:\n        return jsonify({'error': 'Tenant not found'}), 404\n    \n    payload = request.get_json()\n    \n    # Log the inbound message\n    data = payload.get('data', {})\n    router._log_message(\n        tenant_id=tenant_id,\n        direction='inbound',\n        from_number=data.get('from', ''),\n        to_number=tenant['number'],\n        message_preview=data.get('message', '')[:100],\n        rapiwa_message_id=data.get('messageId'),\n        status='received'\n    )\n    \n    # Forward to tenant's webhook URL\n    if tenant.get('webhook_url'):\n        try:\n            requests.post(\n                tenant['webhook_url'],\n                json=payload,\n                headers={'X-Tenant-ID': tenant_id},\n                timeout=5\n            )\n        except Exception as e:\n            # Log but don't fail\n            app.logger.error(f\"Failed to forward to tenant webhook: {e}\")\n    \n    return jsonify({'status': 'ok'})\n",[14031],{"type":426,"tag":549,"props":14032,"children":14033},{"__ignoreMap":417},[14034,14074,14099,14106,14114,14122,14130,14137,14154,14169,14202,14209,14224,14231,14239,14263,14271,14287,14308,14342,14366,14407,14431,14448,14455,14462,14470,14491,14502,14510,14526,14542,14567,14583,14590,14610,14618,14656,14663],{"type":426,"tag":553,"props":14035,"children":14036},{"class":555,"line":556},[14037,14041,14045,14050,14054,14058,14062,14066,14070],{"type":426,"tag":553,"props":14038,"children":14039},{"style":560},[14040],{"type":431,"value":8024},{"type":426,"tag":553,"props":14042,"children":14043},{"style":684},[14044],{"type":431,"value":3275},{"type":426,"tag":553,"props":14046,"children":14047},{"style":572},[14048],{"type":431,"value":14049},"'\u002Fwebhooks\u002Fwhatsapp\u002F\u003Ctenant_id>'",{"type":426,"tag":553,"props":14051,"children":14052},{"style":684},[14053],{"type":431,"value":1907},{"type":426,"tag":553,"props":14055,"children":14056},{"style":1684},[14057],{"type":431,"value":8042},{"type":426,"tag":553,"props":14059,"children":14060},{"style":795},[14061],{"type":431,"value":957},{"type":426,"tag":553,"props":14063,"children":14064},{"style":684},[14065],{"type":431,"value":8051},{"type":426,"tag":553,"props":14067,"children":14068},{"style":572},[14069],{"type":431,"value":8056},{"type":426,"tag":553,"props":14071,"children":14072},{"style":684},[14073],{"type":431,"value":8061},{"type":426,"tag":553,"props":14075,"children":14076},{"class":555,"line":588},[14077,14081,14086,14091,14095],{"type":426,"tag":553,"props":14078,"children":14079},{"style":795},[14080],{"type":431,"value":842},{"type":426,"tag":553,"props":14082,"children":14083},{"style":560},[14084],{"type":431,"value":14085}," receive_whatsapp",{"type":426,"tag":553,"props":14087,"children":14088},{"style":684},[14089],{"type":431,"value":14090},"(tenant_id: ",{"type":426,"tag":553,"props":14092,"children":14093},{"style":566},[14094],{"type":431,"value":895},{"type":426,"tag":553,"props":14096,"children":14097},{"style":684},[14098],{"type":431,"value":8370},{"type":426,"tag":553,"props":14100,"children":14101},{"class":555,"line":606},[14102],{"type":426,"tag":553,"props":14103,"children":14104},{"style":572},[14105],{"type":431,"value":2673},{"type":426,"tag":553,"props":14107,"children":14108},{"class":555,"line":623},[14109],{"type":426,"tag":553,"props":14110,"children":14111},{"style":572},[14112],{"type":431,"value":14113},"    Rapiwa calls this webhook per tenant.\n",{"type":426,"tag":553,"props":14115,"children":14116},{"class":555,"line":637},[14117],{"type":426,"tag":553,"props":14118,"children":14119},{"style":572},[14120],{"type":431,"value":14121},"    Each tenant registers their own URL:\n",{"type":426,"tag":553,"props":14123,"children":14124},{"class":555,"line":646},[14125],{"type":426,"tag":553,"props":14126,"children":14127},{"style":572},[14128],{"type":431,"value":14129},"    https:\u002F\u002Fyourapp.com\u002Fwebhooks\u002Fwhatsapp\u002F{tenant_id}\n",{"type":426,"tag":553,"props":14131,"children":14132},{"class":555,"line":655},[14133],{"type":426,"tag":553,"props":14134,"children":14135},{"style":572},[14136],{"type":431,"value":2673},{"type":426,"tag":553,"props":14138,"children":14139},{"class":555,"line":1036},[14140,14145,14149],{"type":426,"tag":553,"props":14141,"children":14142},{"style":684},[14143],{"type":431,"value":14144},"    tenant ",{"type":426,"tag":553,"props":14146,"children":14147},{"style":795},[14148],{"type":431,"value":957},{"type":426,"tag":553,"props":14150,"children":14151},{"style":684},[14152],{"type":431,"value":14153}," router.get_tenant_config(tenant_id)\n",{"type":426,"tag":553,"props":14155,"children":14156},{"class":555,"line":1054},[14157,14161,14165],{"type":426,"tag":553,"props":14158,"children":14159},{"style":795},[14160],{"type":431,"value":925},{"type":426,"tag":553,"props":14162,"children":14163},{"style":795},[14164],{"type":431,"value":12110},{"type":426,"tag":553,"props":14166,"children":14167},{"style":684},[14168],{"type":431,"value":12337},{"type":426,"tag":553,"props":14170,"children":14171},{"class":555,"line":1080},[14172,14176,14180,14184,14188,14193,14197],{"type":426,"tag":553,"props":14173,"children":14174},{"style":795},[14175],{"type":431,"value":8378},{"type":426,"tag":553,"props":14177,"children":14178},{"style":684},[14179],{"type":431,"value":8126},{"type":426,"tag":553,"props":14181,"children":14182},{"style":572},[14183],{"type":431,"value":13699},{"type":426,"tag":553,"props":14185,"children":14186},{"style":684},[14187],{"type":431,"value":700},{"type":426,"tag":553,"props":14189,"children":14190},{"style":572},[14191],{"type":431,"value":14192},"'Tenant not found'",{"type":426,"tag":553,"props":14194,"children":14195},{"style":684},[14196],{"type":431,"value":13713},{"type":426,"tag":553,"props":14198,"children":14199},{"style":566},[14200],{"type":431,"value":14201},"404\n",{"type":426,"tag":553,"props":14203,"children":14204},{"class":555,"line":1097},[14205],{"type":426,"tag":553,"props":14206,"children":14207},{"style":684},[14208],{"type":431,"value":917},{"type":426,"tag":553,"props":14210,"children":14211},{"class":555,"line":1114},[14212,14216,14220],{"type":426,"tag":553,"props":14213,"children":14214},{"style":684},[14215],{"type":431,"value":8085},{"type":426,"tag":553,"props":14217,"children":14218},{"style":795},[14219],{"type":431,"value":957},{"type":426,"tag":553,"props":14221,"children":14222},{"style":684},[14223],{"type":431,"value":8094},{"type":426,"tag":553,"props":14225,"children":14226},{"class":555,"line":1127},[14227],{"type":426,"tag":553,"props":14228,"children":14229},{"style":684},[14230],{"type":431,"value":917},{"type":426,"tag":553,"props":14232,"children":14233},{"class":555,"line":1167},[14234],{"type":426,"tag":553,"props":14235,"children":14236},{"style":1975},[14237],{"type":431,"value":14238},"    # Log the inbound message\n",{"type":426,"tag":553,"props":14240,"children":14241},{"class":555,"line":1184},[14242,14246,14250,14254,14258],{"type":426,"tag":553,"props":14243,"children":14244},{"style":684},[14245],{"type":431,"value":13733},{"type":426,"tag":553,"props":14247,"children":14248},{"style":795},[14249],{"type":431,"value":957},{"type":426,"tag":553,"props":14251,"children":14252},{"style":684},[14253],{"type":431,"value":8171},{"type":426,"tag":553,"props":14255,"children":14256},{"style":572},[14257],{"type":431,"value":8206},{"type":426,"tag":553,"props":14259,"children":14260},{"style":684},[14261],{"type":431,"value":14262},", {})\n",{"type":426,"tag":553,"props":14264,"children":14265},{"class":555,"line":1192},[14266],{"type":426,"tag":553,"props":14267,"children":14268},{"style":684},[14269],{"type":431,"value":14270},"    router._log_message(\n",{"type":426,"tag":553,"props":14272,"children":14273},{"class":555,"line":1210},[14274,14279,14283],{"type":426,"tag":553,"props":14275,"children":14276},{"style":1684},[14277],{"type":431,"value":14278},"        tenant_id",{"type":426,"tag":553,"props":14280,"children":14281},{"style":795},[14282],{"type":431,"value":957},{"type":426,"tag":553,"props":14284,"children":14285},{"style":684},[14286],{"type":431,"value":12758},{"type":426,"tag":553,"props":14288,"children":14289},{"class":555,"line":1253},[14290,14295,14299,14304],{"type":426,"tag":553,"props":14291,"children":14292},{"style":1684},[14293],{"type":431,"value":14294},"        direction",{"type":426,"tag":553,"props":14296,"children":14297},{"style":795},[14298],{"type":431,"value":957},{"type":426,"tag":553,"props":14300,"children":14301},{"style":572},[14302],{"type":431,"value":14303},"'inbound'",{"type":426,"tag":553,"props":14305,"children":14306},{"style":684},[14307],{"type":431,"value":710},{"type":426,"tag":553,"props":14309,"children":14310},{"class":555,"line":1302},[14311,14316,14320,14325,14330,14334,14338],{"type":426,"tag":553,"props":14312,"children":14313},{"style":1684},[14314],{"type":431,"value":14315},"        from_number",{"type":426,"tag":553,"props":14317,"children":14318},{"style":795},[14319],{"type":431,"value":957},{"type":426,"tag":553,"props":14321,"children":14322},{"style":684},[14323],{"type":431,"value":14324},"data.get(",{"type":426,"tag":553,"props":14326,"children":14327},{"style":572},[14328],{"type":431,"value":14329},"'from'",{"type":426,"tag":553,"props":14331,"children":14332},{"style":684},[14333],{"type":431,"value":1907},{"type":426,"tag":553,"props":14335,"children":14336},{"style":572},[14337],{"type":431,"value":13605},{"type":426,"tag":553,"props":14339,"children":14340},{"style":684},[14341],{"type":431,"value":11615},{"type":426,"tag":553,"props":14343,"children":14344},{"class":555,"line":1374},[14345,14350,14354,14358,14362],{"type":426,"tag":553,"props":14346,"children":14347},{"style":1684},[14348],{"type":431,"value":14349},"        to_number",{"type":426,"tag":553,"props":14351,"children":14352},{"style":795},[14353],{"type":431,"value":957},{"type":426,"tag":553,"props":14355,"children":14356},{"style":684},[14357],{"type":431,"value":12617},{"type":426,"tag":553,"props":14359,"children":14360},{"style":572},[14361],{"type":431,"value":1759},{"type":426,"tag":553,"props":14363,"children":14364},{"style":684},[14365],{"type":431,"value":12804},{"type":426,"tag":553,"props":14367,"children":14368},{"class":555,"line":1414},[14369,14374,14378,14382,14386,14390,14394,14399,14403],{"type":426,"tag":553,"props":14370,"children":14371},{"style":1684},[14372],{"type":431,"value":14373},"        message_preview",{"type":426,"tag":553,"props":14375,"children":14376},{"style":795},[14377],{"type":431,"value":957},{"type":426,"tag":553,"props":14379,"children":14380},{"style":684},[14381],{"type":431,"value":14324},{"type":426,"tag":553,"props":14383,"children":14384},{"style":572},[14385],{"type":431,"value":1779},{"type":426,"tag":553,"props":14387,"children":14388},{"style":684},[14389],{"type":431,"value":1907},{"type":426,"tag":553,"props":14391,"children":14392},{"style":572},[14393],{"type":431,"value":13605},{"type":426,"tag":553,"props":14395,"children":14396},{"style":684},[14397],{"type":431,"value":14398},")[:",{"type":426,"tag":553,"props":14400,"children":14401},{"style":566},[14402],{"type":431,"value":11264},{"type":426,"tag":553,"props":14404,"children":14405},{"style":684},[14406],{"type":431,"value":12804},{"type":426,"tag":553,"props":14408,"children":14409},{"class":555,"line":1479},[14410,14415,14419,14423,14427],{"type":426,"tag":553,"props":14411,"children":14412},{"style":1684},[14413],{"type":431,"value":14414},"        rapiwa_message_id",{"type":426,"tag":553,"props":14416,"children":14417},{"style":795},[14418],{"type":431,"value":957},{"type":426,"tag":553,"props":14420,"children":14421},{"style":684},[14422],{"type":431,"value":14324},{"type":426,"tag":553,"props":14424,"children":14425},{"style":572},[14426],{"type":431,"value":8316},{"type":426,"tag":553,"props":14428,"children":14429},{"style":684},[14430],{"type":431,"value":11615},{"type":426,"tag":553,"props":14432,"children":14433},{"class":555,"line":1517},[14434,14439,14443],{"type":426,"tag":553,"props":14435,"children":14436},{"style":1684},[14437],{"type":431,"value":14438},"        status",{"type":426,"tag":553,"props":14440,"children":14441},{"style":795},[14442],{"type":431,"value":957},{"type":426,"tag":553,"props":14444,"children":14445},{"style":572},[14446],{"type":431,"value":14447},"'received'\n",{"type":426,"tag":553,"props":14449,"children":14450},{"class":555,"line":1560},[14451],{"type":426,"tag":553,"props":14452,"children":14453},{"style":684},[14454],{"type":431,"value":1642},{"type":426,"tag":553,"props":14456,"children":14457},{"class":555,"line":1598},[14458],{"type":426,"tag":553,"props":14459,"children":14460},{"style":684},[14461],{"type":431,"value":917},{"type":426,"tag":553,"props":14463,"children":14464},{"class":555,"line":1636},[14465],{"type":426,"tag":553,"props":14466,"children":14467},{"style":1975},[14468],{"type":431,"value":14469},"    # Forward to tenant's webhook URL\n",{"type":426,"tag":553,"props":14471,"children":14472},{"class":555,"line":1645},[14473,14477,14482,14487],{"type":426,"tag":553,"props":14474,"children":14475},{"style":795},[14476],{"type":431,"value":925},{"type":426,"tag":553,"props":14478,"children":14479},{"style":684},[14480],{"type":431,"value":14481}," tenant.get(",{"type":426,"tag":553,"props":14483,"children":14484},{"style":572},[14485],{"type":431,"value":14486},"'webhook_url'",{"type":426,"tag":553,"props":14488,"children":14489},{"style":684},[14490],{"type":431,"value":8370},{"type":426,"tag":553,"props":14492,"children":14493},{"class":555,"line":1653},[14494,14498],{"type":426,"tag":553,"props":14495,"children":14496},{"style":795},[14497],{"type":431,"value":8822},{"type":426,"tag":553,"props":14499,"children":14500},{"style":684},[14501],{"type":431,"value":909},{"type":426,"tag":553,"props":14503,"children":14504},{"class":555,"line":1667},[14505],{"type":426,"tag":553,"props":14506,"children":14507},{"style":684},[14508],{"type":431,"value":14509},"            requests.post(\n",{"type":426,"tag":553,"props":14511,"children":14512},{"class":555,"line":1680},[14513,14518,14522],{"type":426,"tag":553,"props":14514,"children":14515},{"style":684},[14516],{"type":431,"value":14517},"                tenant[",{"type":426,"tag":553,"props":14519,"children":14520},{"style":572},[14521],{"type":431,"value":14486},{"type":426,"tag":553,"props":14523,"children":14524},{"style":684},[14525],{"type":431,"value":12804},{"type":426,"tag":553,"props":14527,"children":14528},{"class":555,"line":1740},[14529,14533,14537],{"type":426,"tag":553,"props":14530,"children":14531},{"style":1684},[14532],{"type":431,"value":8914},{"type":426,"tag":553,"props":14534,"children":14535},{"style":795},[14536],{"type":431,"value":957},{"type":426,"tag":553,"props":14538,"children":14539},{"style":684},[14540],{"type":431,"value":14541},"payload,\n",{"type":426,"tag":553,"props":14543,"children":14544},{"class":555,"line":1787},[14545,14549,14553,14557,14562],{"type":426,"tag":553,"props":14546,"children":14547},{"style":1684},[14548],{"type":431,"value":8862},{"type":426,"tag":553,"props":14550,"children":14551},{"style":795},[14552],{"type":431,"value":957},{"type":426,"tag":553,"props":14554,"children":14555},{"style":684},[14556],{"type":431,"value":972},{"type":426,"tag":553,"props":14558,"children":14559},{"style":572},[14560],{"type":431,"value":14561},"'X-Tenant-ID'",{"type":426,"tag":553,"props":14563,"children":14564},{"style":684},[14565],{"type":431,"value":14566},": tenant_id},\n",{"type":426,"tag":553,"props":14568,"children":14569},{"class":555,"line":1796},[14570,14574,14578],{"type":426,"tag":553,"props":14571,"children":14572},{"style":1684},[14573],{"type":431,"value":8948},{"type":426,"tag":553,"props":14575,"children":14576},{"style":795},[14577],{"type":431,"value":957},{"type":426,"tag":553,"props":14579,"children":14580},{"style":566},[14581],{"type":431,"value":14582},"5\n",{"type":426,"tag":553,"props":14584,"children":14585},{"class":555,"line":1804},[14586],{"type":426,"tag":553,"props":14587,"children":14588},{"style":684},[14589],{"type":431,"value":2551},{"type":426,"tag":553,"props":14591,"children":14592},{"class":555,"line":1812},[14593,14597,14602,14606],{"type":426,"tag":553,"props":14594,"children":14595},{"style":795},[14596],{"type":431,"value":9208},{"type":426,"tag":553,"props":14598,"children":14599},{"style":566},[14600],{"type":431,"value":14601}," Exception",{"type":426,"tag":553,"props":14603,"children":14604},{"style":795},[14605],{"type":431,"value":13927},{"type":426,"tag":553,"props":14607,"children":14608},{"style":684},[14609],{"type":431,"value":13932},{"type":426,"tag":553,"props":14611,"children":14612},{"class":555,"line":1847},[14613],{"type":426,"tag":553,"props":14614,"children":14615},{"style":1975},[14616],{"type":431,"value":14617},"            # Log but don't fail\n",{"type":426,"tag":553,"props":14619,"children":14620},{"class":555,"line":1856},[14621,14626,14630,14635,14639,14644,14648,14652],{"type":426,"tag":553,"props":14622,"children":14623},{"style":684},[14624],{"type":431,"value":14625},"            app.logger.error(",{"type":426,"tag":553,"props":14627,"children":14628},{"style":795},[14629],{"type":431,"value":1709},{"type":426,"tag":553,"props":14631,"children":14632},{"style":572},[14633],{"type":431,"value":14634},"\"Failed to forward to tenant webhook: ",{"type":426,"tag":553,"props":14636,"children":14637},{"style":566},[14638],{"type":431,"value":972},{"type":426,"tag":553,"props":14640,"children":14641},{"style":684},[14642],{"type":431,"value":14643},"e",{"type":426,"tag":553,"props":14645,"children":14646},{"style":566},[14647],{"type":431,"value":982},{"type":426,"tag":553,"props":14649,"children":14650},{"style":572},[14651],{"type":431,"value":1527},{"type":426,"tag":553,"props":14653,"children":14654},{"style":684},[14655],{"type":431,"value":3262},{"type":426,"tag":553,"props":14657,"children":14658},{"class":555,"line":1874},[14659],{"type":426,"tag":553,"props":14660,"children":14661},{"style":684},[14662],{"type":431,"value":917},{"type":426,"tag":553,"props":14664,"children":14665},{"class":555,"line":1882},[14666,14670,14674,14678,14682,14686],{"type":426,"tag":553,"props":14667,"children":14668},{"style":795},[14669],{"type":431,"value":1659},{"type":426,"tag":553,"props":14671,"children":14672},{"style":684},[14673],{"type":431,"value":8126},{"type":426,"tag":553,"props":14675,"children":14676},{"style":572},[14677],{"type":431,"value":2982},{"type":426,"tag":553,"props":14679,"children":14680},{"style":684},[14681],{"type":431,"value":700},{"type":426,"tag":553,"props":14683,"children":14684},{"style":572},[14685],{"type":431,"value":8139},{"type":426,"tag":553,"props":14687,"children":14688},{"style":684},[14689],{"type":431,"value":8144},{"type":426,"tag":434,"props":14691,"children":14693},{"id":14692},"step-5-tenant-dashboard-connect-whatsapp",[14694],{"type":431,"value":14695},"Step 5: Tenant Dashboard — Connect WhatsApp",{"type":426,"tag":427,"props":14697,"children":14698},{},[14699],{"type":431,"value":14700},"In your SaaS dashboard, guide tenants through connecting their WhatsApp:",{"type":426,"tag":542,"props":14702,"children":14704},{"code":14703,"language":784,"meta":417,"className":785,"style":417},"@app.route('\u002Fapi\u002Fv1\u002Fsetup\u002Fconnect-whatsapp', methods=['POST'])\ndef connect_whatsapp():\n    \"\"\"\n    Instructions for tenants:\n    1. Log in to their Rapiwa account at rapiwa.com\n    2. Connect their WhatsApp number via QR code\n    3. Copy their API key from Dashboard → API Keys\n    4. Enter the API key in your SaaS settings\n    \"\"\"\n    tenant_id = authenticate_tenant(request.headers.get('Authorization').replace('Bearer ', ''))\n    data = request.get_json()\n    \n    api_key = data.get('rapiwa_api_key')\n    whatsapp_number = data.get('whatsapp_number')\n    \n    # Validate the API key by sending a test message to the number\n    test_result = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={\n            'number': whatsapp_number,\n            'message': '✅ Your WhatsApp is now connected to [YourSaaS]!'\n        }\n    ).json()\n    \n    if test_result.get('status') != 'success':\n        return jsonify({'error': 'Invalid API key or number — check your Rapiwa dashboard'}), 400\n    \n    # Save to database\n    db.execute(\n        \"UPDATE tenants SET rapiwa_api_key = %s, whatsapp_number = %s WHERE id = %s\",\n        [api_key, whatsapp_number, tenant_id]\n    )\n    \n    # Register webhook with Rapiwa\n    webhook_url = f\"https:\u002F\u002Fyourapp.com\u002Fwebhooks\u002Fwhatsapp\u002F{tenant_id}\"\n    # (Rapiwa webhook registration via API or manually in dashboard)\n    \n    return jsonify({\n        'status': 'connected',\n        'whatsapp_number': whatsapp_number,\n        'webhook_url': webhook_url\n    })\n",[14705],{"type":426,"tag":549,"props":14706,"children":14707},{"__ignoreMap":417},[14708,14748,14764,14771,14779,14787,14795,14803,14811,14818,14859,14874,14881,14906,14930,14937,14945,14961,14972,15023,15038,15051,15068,15076,15083,15090,15123,15155,15162,15170,15178,15216,15224,15231,15238,15246,15282,15290,15297,15309,15330,15342,15355],{"type":426,"tag":553,"props":14709,"children":14710},{"class":555,"line":556},[14711,14715,14719,14724,14728,14732,14736,14740,14744],{"type":426,"tag":553,"props":14712,"children":14713},{"style":560},[14714],{"type":431,"value":8024},{"type":426,"tag":553,"props":14716,"children":14717},{"style":684},[14718],{"type":431,"value":3275},{"type":426,"tag":553,"props":14720,"children":14721},{"style":572},[14722],{"type":431,"value":14723},"'\u002Fapi\u002Fv1\u002Fsetup\u002Fconnect-whatsapp'",{"type":426,"tag":553,"props":14725,"children":14726},{"style":684},[14727],{"type":431,"value":1907},{"type":426,"tag":553,"props":14729,"children":14730},{"style":1684},[14731],{"type":431,"value":8042},{"type":426,"tag":553,"props":14733,"children":14734},{"style":795},[14735],{"type":431,"value":957},{"type":426,"tag":553,"props":14737,"children":14738},{"style":684},[14739],{"type":431,"value":8051},{"type":426,"tag":553,"props":14741,"children":14742},{"style":572},[14743],{"type":431,"value":8056},{"type":426,"tag":553,"props":14745,"children":14746},{"style":684},[14747],{"type":431,"value":8061},{"type":426,"tag":553,"props":14749,"children":14750},{"class":555,"line":588},[14751,14755,14760],{"type":426,"tag":553,"props":14752,"children":14753},{"style":795},[14754],{"type":431,"value":842},{"type":426,"tag":553,"props":14756,"children":14757},{"style":560},[14758],{"type":431,"value":14759}," connect_whatsapp",{"type":426,"tag":553,"props":14761,"children":14762},{"style":684},[14763],{"type":431,"value":6433},{"type":426,"tag":553,"props":14765,"children":14766},{"class":555,"line":606},[14767],{"type":426,"tag":553,"props":14768,"children":14769},{"style":572},[14770],{"type":431,"value":2673},{"type":426,"tag":553,"props":14772,"children":14773},{"class":555,"line":623},[14774],{"type":426,"tag":553,"props":14775,"children":14776},{"style":572},[14777],{"type":431,"value":14778},"    Instructions for tenants:\n",{"type":426,"tag":553,"props":14780,"children":14781},{"class":555,"line":637},[14782],{"type":426,"tag":553,"props":14783,"children":14784},{"style":572},[14785],{"type":431,"value":14786},"    1. Log in to their Rapiwa account at rapiwa.com\n",{"type":426,"tag":553,"props":14788,"children":14789},{"class":555,"line":646},[14790],{"type":426,"tag":553,"props":14791,"children":14792},{"style":572},[14793],{"type":431,"value":14794},"    2. Connect their WhatsApp number via QR code\n",{"type":426,"tag":553,"props":14796,"children":14797},{"class":555,"line":655},[14798],{"type":426,"tag":553,"props":14799,"children":14800},{"style":572},[14801],{"type":431,"value":14802},"    3. Copy their API key from Dashboard → API Keys\n",{"type":426,"tag":553,"props":14804,"children":14805},{"class":555,"line":1036},[14806],{"type":426,"tag":553,"props":14807,"children":14808},{"style":572},[14809],{"type":431,"value":14810},"    4. Enter the API key in your SaaS settings\n",{"type":426,"tag":553,"props":14812,"children":14813},{"class":555,"line":1054},[14814],{"type":426,"tag":553,"props":14815,"children":14816},{"style":572},[14817],{"type":431,"value":2673},{"type":426,"tag":553,"props":14819,"children":14820},{"class":555,"line":1080},[14821,14825,14829,14834,14838,14843,14847,14851,14855],{"type":426,"tag":553,"props":14822,"children":14823},{"style":684},[14824],{"type":431,"value":13651},{"type":426,"tag":553,"props":14826,"children":14827},{"style":795},[14828],{"type":431,"value":957},{"type":426,"tag":553,"props":14830,"children":14831},{"style":684},[14832],{"type":431,"value":14833}," authenticate_tenant(request.headers.get(",{"type":426,"tag":553,"props":14835,"children":14836},{"style":572},[14837],{"type":431,"value":1700},{"type":426,"tag":553,"props":14839,"children":14840},{"style":684},[14841],{"type":431,"value":14842},").replace(",{"type":426,"tag":553,"props":14844,"children":14845},{"style":572},[14846],{"type":431,"value":13631},{"type":426,"tag":553,"props":14848,"children":14849},{"style":684},[14850],{"type":431,"value":1907},{"type":426,"tag":553,"props":14852,"children":14853},{"style":572},[14854],{"type":431,"value":13605},{"type":426,"tag":553,"props":14856,"children":14857},{"style":684},[14858],{"type":431,"value":6538},{"type":426,"tag":553,"props":14860,"children":14861},{"class":555,"line":1097},[14862,14866,14870],{"type":426,"tag":553,"props":14863,"children":14864},{"style":684},[14865],{"type":431,"value":13733},{"type":426,"tag":553,"props":14867,"children":14868},{"style":795},[14869],{"type":431,"value":957},{"type":426,"tag":553,"props":14871,"children":14872},{"style":684},[14873],{"type":431,"value":8094},{"type":426,"tag":553,"props":14875,"children":14876},{"class":555,"line":1114},[14877],{"type":426,"tag":553,"props":14878,"children":14879},{"style":684},[14880],{"type":431,"value":917},{"type":426,"tag":553,"props":14882,"children":14883},{"class":555,"line":1127},[14884,14889,14893,14897,14902],{"type":426,"tag":553,"props":14885,"children":14886},{"style":684},[14887],{"type":431,"value":14888},"    api_key ",{"type":426,"tag":553,"props":14890,"children":14891},{"style":795},[14892],{"type":431,"value":957},{"type":426,"tag":553,"props":14894,"children":14895},{"style":684},[14896],{"type":431,"value":8311},{"type":426,"tag":553,"props":14898,"children":14899},{"style":572},[14900],{"type":431,"value":14901},"'rapiwa_api_key'",{"type":426,"tag":553,"props":14903,"children":14904},{"style":684},[14905],{"type":431,"value":3262},{"type":426,"tag":553,"props":14907,"children":14908},{"class":555,"line":1167},[14909,14913,14917,14921,14926],{"type":426,"tag":553,"props":14910,"children":14911},{"style":684},[14912],{"type":431,"value":11189},{"type":426,"tag":553,"props":14914,"children":14915},{"style":795},[14916],{"type":431,"value":957},{"type":426,"tag":553,"props":14918,"children":14919},{"style":684},[14920],{"type":431,"value":8311},{"type":426,"tag":553,"props":14922,"children":14923},{"style":572},[14924],{"type":431,"value":14925},"'whatsapp_number'",{"type":426,"tag":553,"props":14927,"children":14928},{"style":684},[14929],{"type":431,"value":3262},{"type":426,"tag":553,"props":14931,"children":14932},{"class":555,"line":1184},[14933],{"type":426,"tag":553,"props":14934,"children":14935},{"style":684},[14936],{"type":431,"value":917},{"type":426,"tag":553,"props":14938,"children":14939},{"class":555,"line":1192},[14940],{"type":426,"tag":553,"props":14941,"children":14942},{"style":1975},[14943],{"type":431,"value":14944},"    # Validate the API key by sending a test message to the number\n",{"type":426,"tag":553,"props":14946,"children":14947},{"class":555,"line":1210},[14948,14953,14957],{"type":426,"tag":553,"props":14949,"children":14950},{"style":684},[14951],{"type":431,"value":14952},"    test_result ",{"type":426,"tag":553,"props":14954,"children":14955},{"style":795},[14956],{"type":431,"value":957},{"type":426,"tag":553,"props":14958,"children":14959},{"style":684},[14960],{"type":431,"value":1664},{"type":426,"tag":553,"props":14962,"children":14963},{"class":555,"line":1253},[14964,14968],{"type":426,"tag":553,"props":14965,"children":14966},{"style":572},[14967],{"type":431,"value":1673},{"type":426,"tag":553,"props":14969,"children":14970},{"style":684},[14971],{"type":431,"value":710},{"type":426,"tag":553,"props":14973,"children":14974},{"class":555,"line":1302},[14975,14979,14983,14987,14991,14995,14999,15003,15007,15011,15015,15019],{"type":426,"tag":553,"props":14976,"children":14977},{"style":1684},[14978],{"type":431,"value":1687},{"type":426,"tag":553,"props":14980,"children":14981},{"style":795},[14982],{"type":431,"value":957},{"type":426,"tag":553,"props":14984,"children":14985},{"style":684},[14986],{"type":431,"value":972},{"type":426,"tag":553,"props":14988,"children":14989},{"style":572},[14990],{"type":431,"value":1700},{"type":426,"tag":553,"props":14992,"children":14993},{"style":684},[14994],{"type":431,"value":700},{"type":426,"tag":553,"props":14996,"children":14997},{"style":795},[14998],{"type":431,"value":1709},{"type":426,"tag":553,"props":15000,"children":15001},{"style":572},[15002],{"type":431,"value":1714},{"type":426,"tag":553,"props":15004,"children":15005},{"style":566},[15006],{"type":431,"value":972},{"type":426,"tag":553,"props":15008,"children":15009},{"style":684},[15010],{"type":431,"value":1723},{"type":426,"tag":553,"props":15012,"children":15013},{"style":566},[15014],{"type":431,"value":982},{"type":426,"tag":553,"props":15016,"children":15017},{"style":572},[15018],{"type":431,"value":1732},{"type":426,"tag":553,"props":15020,"children":15021},{"style":684},[15022],{"type":431,"value":1737},{"type":426,"tag":553,"props":15024,"children":15025},{"class":555,"line":1374},[15026,15030,15034],{"type":426,"tag":553,"props":15027,"children":15028},{"style":1684},[15029],{"type":431,"value":1746},{"type":426,"tag":553,"props":15031,"children":15032},{"style":795},[15033],{"type":431,"value":957},{"type":426,"tag":553,"props":15035,"children":15036},{"style":684},[15037],{"type":431,"value":687},{"type":426,"tag":553,"props":15039,"children":15040},{"class":555,"line":1414},[15041,15046],{"type":426,"tag":553,"props":15042,"children":15043},{"style":572},[15044],{"type":431,"value":15045},"            'number'",{"type":426,"tag":553,"props":15047,"children":15048},{"style":684},[15049],{"type":431,"value":15050},": whatsapp_number,\n",{"type":426,"tag":553,"props":15052,"children":15053},{"class":555,"line":1479},[15054,15059,15063],{"type":426,"tag":553,"props":15055,"children":15056},{"style":572},[15057],{"type":431,"value":15058},"            'message'",{"type":426,"tag":553,"props":15060,"children":15061},{"style":684},[15062],{"type":431,"value":700},{"type":426,"tag":553,"props":15064,"children":15065},{"style":572},[15066],{"type":431,"value":15067},"'✅ Your WhatsApp is now connected to [YourSaaS]!'\n",{"type":426,"tag":553,"props":15069,"children":15070},{"class":555,"line":1517},[15071],{"type":426,"tag":553,"props":15072,"children":15073},{"style":684},[15074],{"type":431,"value":15075},"        }\n",{"type":426,"tag":553,"props":15077,"children":15078},{"class":555,"line":1560},[15079],{"type":426,"tag":553,"props":15080,"children":15081},{"style":684},[15082],{"type":431,"value":1793},{"type":426,"tag":553,"props":15084,"children":15085},{"class":555,"line":1598},[15086],{"type":426,"tag":553,"props":15087,"children":15088},{"style":684},[15089],{"type":431,"value":917},{"type":426,"tag":553,"props":15091,"children":15092},{"class":555,"line":1636},[15093,15097,15102,15106,15110,15115,15119],{"type":426,"tag":553,"props":15094,"children":15095},{"style":795},[15096],{"type":431,"value":925},{"type":426,"tag":553,"props":15098,"children":15099},{"style":684},[15100],{"type":431,"value":15101}," test_result.get(",{"type":426,"tag":553,"props":15103,"children":15104},{"style":572},[15105],{"type":431,"value":2982},{"type":426,"tag":553,"props":15107,"children":15108},{"style":684},[15109],{"type":431,"value":2987},{"type":426,"tag":553,"props":15111,"children":15112},{"style":795},[15113],{"type":431,"value":15114},"!=",{"type":426,"tag":553,"props":15116,"children":15117},{"style":572},[15118],{"type":431,"value":2996},{"type":426,"tag":553,"props":15120,"children":15121},{"style":684},[15122],{"type":431,"value":909},{"type":426,"tag":553,"props":15124,"children":15125},{"class":555,"line":1645},[15126,15130,15134,15138,15142,15147,15151],{"type":426,"tag":553,"props":15127,"children":15128},{"style":795},[15129],{"type":431,"value":8378},{"type":426,"tag":553,"props":15131,"children":15132},{"style":684},[15133],{"type":431,"value":8126},{"type":426,"tag":553,"props":15135,"children":15136},{"style":572},[15137],{"type":431,"value":13699},{"type":426,"tag":553,"props":15139,"children":15140},{"style":684},[15141],{"type":431,"value":700},{"type":426,"tag":553,"props":15143,"children":15144},{"style":572},[15145],{"type":431,"value":15146},"'Invalid API key or number — check your Rapiwa dashboard'",{"type":426,"tag":553,"props":15148,"children":15149},{"style":684},[15150],{"type":431,"value":13713},{"type":426,"tag":553,"props":15152,"children":15153},{"style":566},[15154],{"type":431,"value":13858},{"type":426,"tag":553,"props":15156,"children":15157},{"class":555,"line":1653},[15158],{"type":426,"tag":553,"props":15159,"children":15160},{"style":684},[15161],{"type":431,"value":917},{"type":426,"tag":553,"props":15163,"children":15164},{"class":555,"line":1667},[15165],{"type":426,"tag":553,"props":15166,"children":15167},{"style":1975},[15168],{"type":431,"value":15169},"    # Save to database\n",{"type":426,"tag":553,"props":15171,"children":15172},{"class":555,"line":1680},[15173],{"type":426,"tag":553,"props":15174,"children":15175},{"style":684},[15176],{"type":431,"value":15177},"    db.execute(\n",{"type":426,"tag":553,"props":15179,"children":15180},{"class":555,"line":1740},[15181,15186,15190,15195,15199,15204,15208,15212],{"type":426,"tag":553,"props":15182,"children":15183},{"style":572},[15184],{"type":431,"value":15185},"        \"UPDATE tenants SET rapiwa_api_key = ",{"type":426,"tag":553,"props":15187,"children":15188},{"style":566},[15189],{"type":431,"value":2143},{"type":426,"tag":553,"props":15191,"children":15192},{"style":572},[15193],{"type":431,"value":15194},", whatsapp_number = ",{"type":426,"tag":553,"props":15196,"children":15197},{"style":566},[15198],{"type":431,"value":2143},{"type":426,"tag":553,"props":15200,"children":15201},{"style":572},[15202],{"type":431,"value":15203}," WHERE id = ",{"type":426,"tag":553,"props":15205,"children":15206},{"style":566},[15207],{"type":431,"value":2143},{"type":426,"tag":553,"props":15209,"children":15210},{"style":572},[15211],{"type":431,"value":1527},{"type":426,"tag":553,"props":15213,"children":15214},{"style":684},[15215],{"type":431,"value":710},{"type":426,"tag":553,"props":15217,"children":15218},{"class":555,"line":1787},[15219],{"type":426,"tag":553,"props":15220,"children":15221},{"style":684},[15222],{"type":431,"value":15223},"        [api_key, whatsapp_number, tenant_id]\n",{"type":426,"tag":553,"props":15225,"children":15226},{"class":555,"line":1796},[15227],{"type":426,"tag":553,"props":15228,"children":15229},{"style":684},[15230],{"type":431,"value":1642},{"type":426,"tag":553,"props":15232,"children":15233},{"class":555,"line":1804},[15234],{"type":426,"tag":553,"props":15235,"children":15236},{"style":684},[15237],{"type":431,"value":917},{"type":426,"tag":553,"props":15239,"children":15240},{"class":555,"line":1812},[15241],{"type":426,"tag":553,"props":15242,"children":15243},{"style":1975},[15244],{"type":431,"value":15245},"    # Register webhook with Rapiwa\n",{"type":426,"tag":553,"props":15247,"children":15248},{"class":555,"line":1847},[15249,15253,15257,15261,15266,15270,15274,15278],{"type":426,"tag":553,"props":15250,"children":15251},{"style":684},[15252],{"type":431,"value":11220},{"type":426,"tag":553,"props":15254,"children":15255},{"style":795},[15256],{"type":431,"value":957},{"type":426,"tag":553,"props":15258,"children":15259},{"style":795},[15260],{"type":431,"value":962},{"type":426,"tag":553,"props":15262,"children":15263},{"style":572},[15264],{"type":431,"value":15265},"\"https:\u002F\u002Fyourapp.com\u002Fwebhooks\u002Fwhatsapp\u002F",{"type":426,"tag":553,"props":15267,"children":15268},{"style":566},[15269],{"type":431,"value":972},{"type":426,"tag":553,"props":15271,"children":15272},{"style":684},[15273],{"type":431,"value":12372},{"type":426,"tag":553,"props":15275,"children":15276},{"style":566},[15277],{"type":431,"value":982},{"type":426,"tag":553,"props":15279,"children":15280},{"style":572},[15281],{"type":431,"value":1250},{"type":426,"tag":553,"props":15283,"children":15284},{"class":555,"line":1856},[15285],{"type":426,"tag":553,"props":15286,"children":15287},{"style":1975},[15288],{"type":431,"value":15289},"    # (Rapiwa webhook registration via API or manually in dashboard)\n",{"type":426,"tag":553,"props":15291,"children":15292},{"class":555,"line":1874},[15293],{"type":426,"tag":553,"props":15294,"children":15295},{"style":684},[15296],{"type":431,"value":917},{"type":426,"tag":553,"props":15298,"children":15299},{"class":555,"line":1882},[15300,15304],{"type":426,"tag":553,"props":15301,"children":15302},{"style":795},[15303],{"type":431,"value":1659},{"type":426,"tag":553,"props":15305,"children":15306},{"style":684},[15307],{"type":431,"value":15308}," jsonify({\n",{"type":426,"tag":553,"props":15310,"children":15311},{"class":555,"line":1981},[15312,15317,15321,15326],{"type":426,"tag":553,"props":15313,"children":15314},{"style":572},[15315],{"type":431,"value":15316},"        'status'",{"type":426,"tag":553,"props":15318,"children":15319},{"style":684},[15320],{"type":431,"value":700},{"type":426,"tag":553,"props":15322,"children":15323},{"style":572},[15324],{"type":431,"value":15325},"'connected'",{"type":426,"tag":553,"props":15327,"children":15328},{"style":684},[15329],{"type":431,"value":710},{"type":426,"tag":553,"props":15331,"children":15332},{"class":555,"line":1989},[15333,15338],{"type":426,"tag":553,"props":15334,"children":15335},{"style":572},[15336],{"type":431,"value":15337},"        'whatsapp_number'",{"type":426,"tag":553,"props":15339,"children":15340},{"style":684},[15341],{"type":431,"value":15050},{"type":426,"tag":553,"props":15343,"children":15344},{"class":555,"line":2013},[15345,15350],{"type":426,"tag":553,"props":15346,"children":15347},{"style":572},[15348],{"type":431,"value":15349},"        'webhook_url'",{"type":426,"tag":553,"props":15351,"children":15352},{"style":684},[15353],{"type":431,"value":15354},": webhook_url\n",{"type":426,"tag":553,"props":15356,"children":15357},{"class":555,"line":2055},[15358],{"type":426,"tag":553,"props":15359,"children":15360},{"style":684},[15361],{"type":431,"value":15362},"    })\n",{"type":426,"tag":434,"props":15364,"children":15366},{"id":15365},"step-6-usage-tracking-and-billing",[15367],{"type":431,"value":15368},"Step 6: Usage Tracking and Billing",{"type":426,"tag":542,"props":15370,"children":15372},{"code":15371,"language":784,"meta":417,"className":785,"style":417},"def get_tenant_usage(tenant_id: str, month: str) -> dict:\n    \"\"\"Get usage stats for billing calculation.\"\"\"\n    stats = db.fetchone(\"\"\"\n        SELECT \n            COUNT(*) FILTER (WHERE direction = 'outbound') as messages_sent,\n            COUNT(*) FILTER (WHERE direction = 'inbound') as messages_received\n        FROM message_log\n        WHERE tenant_id = %s\n          AND DATE_TRUNC('month', created_at) = %s\n    \"\"\", [tenant_id, month])\n    \n    return {\n        'tenant_id': tenant_id,\n        'period': month,\n        'messages_sent': stats['messages_sent'],\n        'messages_received': stats['messages_received'],\n        'rapiwa_cost': 5.00,  # Flat $5\u002Fmonth per number\n        'your_charge': calculate_tenant_price(stats['messages_sent'])\n    }\n\ndef calculate_tenant_price(messages_sent: int) -> float:\n    \"\"\"Your pricing model — example tiered pricing.\"\"\"\n    if messages_sent \u003C= 1000:\n        return 29.00    # Starter tier\n    elif messages_sent \u003C= 5000:\n        return 79.00    # Growth tier\n    else:\n        return 199.00   # Scale tier\n",[15373],{"type":426,"tag":549,"props":15374,"children":15375},{"__ignoreMap":417},[15376,15417,15425,15446,15454,15462,15470,15478,15491,15503,15516,15523,15534,15547,15560,15582,15603,15629,15650,15657,15664,15698,15706,15732,15749,15773,15790,15801],{"type":426,"tag":553,"props":15377,"children":15378},{"class":555,"line":556},[15379,15383,15388,15392,15396,15401,15405,15409,15413],{"type":426,"tag":553,"props":15380,"children":15381},{"style":795},[15382],{"type":431,"value":842},{"type":426,"tag":553,"props":15384,"children":15385},{"style":560},[15386],{"type":431,"value":15387}," get_tenant_usage",{"type":426,"tag":553,"props":15389,"children":15390},{"style":684},[15391],{"type":431,"value":14090},{"type":426,"tag":553,"props":15393,"children":15394},{"style":566},[15395],{"type":431,"value":895},{"type":426,"tag":553,"props":15397,"children":15398},{"style":684},[15399],{"type":431,"value":15400},", month: ",{"type":426,"tag":553,"props":15402,"children":15403},{"style":566},[15404],{"type":431,"value":895},{"type":426,"tag":553,"props":15406,"children":15407},{"style":684},[15408],{"type":431,"value":900},{"type":426,"tag":553,"props":15410,"children":15411},{"style":566},[15412],{"type":431,"value":857},{"type":426,"tag":553,"props":15414,"children":15415},{"style":684},[15416],{"type":431,"value":909},{"type":426,"tag":553,"props":15418,"children":15419},{"class":555,"line":588},[15420],{"type":426,"tag":553,"props":15421,"children":15422},{"style":572},[15423],{"type":431,"value":15424},"    \"\"\"Get usage stats for billing calculation.\"\"\"\n",{"type":426,"tag":553,"props":15426,"children":15427},{"class":555,"line":606},[15428,15433,15437,15442],{"type":426,"tag":553,"props":15429,"children":15430},{"style":684},[15431],{"type":431,"value":15432},"    stats ",{"type":426,"tag":553,"props":15434,"children":15435},{"style":795},[15436],{"type":431,"value":957},{"type":426,"tag":553,"props":15438,"children":15439},{"style":684},[15440],{"type":431,"value":15441}," db.fetchone(",{"type":426,"tag":553,"props":15443,"children":15444},{"style":572},[15445],{"type":431,"value":2084},{"type":426,"tag":553,"props":15447,"children":15448},{"class":555,"line":623},[15449],{"type":426,"tag":553,"props":15450,"children":15451},{"style":572},[15452],{"type":431,"value":15453},"        SELECT \n",{"type":426,"tag":553,"props":15455,"children":15456},{"class":555,"line":637},[15457],{"type":426,"tag":553,"props":15458,"children":15459},{"style":572},[15460],{"type":431,"value":15461},"            COUNT(*) FILTER (WHERE direction = 'outbound') as messages_sent,\n",{"type":426,"tag":553,"props":15463,"children":15464},{"class":555,"line":646},[15465],{"type":426,"tag":553,"props":15466,"children":15467},{"style":572},[15468],{"type":431,"value":15469},"            COUNT(*) FILTER (WHERE direction = 'inbound') as messages_received\n",{"type":426,"tag":553,"props":15471,"children":15472},{"class":555,"line":655},[15473],{"type":426,"tag":553,"props":15474,"children":15475},{"style":572},[15476],{"type":431,"value":15477},"        FROM message_log\n",{"type":426,"tag":553,"props":15479,"children":15480},{"class":555,"line":1036},[15481,15486],{"type":426,"tag":553,"props":15482,"children":15483},{"style":572},[15484],{"type":431,"value":15485},"        WHERE tenant_id = ",{"type":426,"tag":553,"props":15487,"children":15488},{"style":566},[15489],{"type":431,"value":15490},"%s\n",{"type":426,"tag":553,"props":15492,"children":15493},{"class":555,"line":1054},[15494,15499],{"type":426,"tag":553,"props":15495,"children":15496},{"style":572},[15497],{"type":431,"value":15498},"          AND DATE_TRUNC('month', created_at) = ",{"type":426,"tag":553,"props":15500,"children":15501},{"style":566},[15502],{"type":431,"value":15490},{"type":426,"tag":553,"props":15504,"children":15505},{"class":555,"line":1080},[15506,15511],{"type":426,"tag":553,"props":15507,"children":15508},{"style":572},[15509],{"type":431,"value":15510},"    \"\"\"",{"type":426,"tag":553,"props":15512,"children":15513},{"style":684},[15514],{"type":431,"value":15515},", [tenant_id, month])\n",{"type":426,"tag":553,"props":15517,"children":15518},{"class":555,"line":1097},[15519],{"type":426,"tag":553,"props":15520,"children":15521},{"style":684},[15522],{"type":431,"value":917},{"type":426,"tag":553,"props":15524,"children":15525},{"class":555,"line":1114},[15526,15530],{"type":426,"tag":553,"props":15527,"children":15528},{"style":795},[15529],{"type":431,"value":1659},{"type":426,"tag":553,"props":15531,"children":15532},{"style":684},[15533],{"type":431,"value":5458},{"type":426,"tag":553,"props":15535,"children":15536},{"class":555,"line":1127},[15537,15542],{"type":426,"tag":553,"props":15538,"children":15539},{"style":572},[15540],{"type":431,"value":15541},"        'tenant_id'",{"type":426,"tag":553,"props":15543,"children":15544},{"style":684},[15545],{"type":431,"value":15546},": tenant_id,\n",{"type":426,"tag":553,"props":15548,"children":15549},{"class":555,"line":1167},[15550,15555],{"type":426,"tag":553,"props":15551,"children":15552},{"style":572},[15553],{"type":431,"value":15554},"        'period'",{"type":426,"tag":553,"props":15556,"children":15557},{"style":684},[15558],{"type":431,"value":15559},": month,\n",{"type":426,"tag":553,"props":15561,"children":15562},{"class":555,"line":1184},[15563,15568,15573,15578],{"type":426,"tag":553,"props":15564,"children":15565},{"style":572},[15566],{"type":431,"value":15567},"        'messages_sent'",{"type":426,"tag":553,"props":15569,"children":15570},{"style":684},[15571],{"type":431,"value":15572},": stats[",{"type":426,"tag":553,"props":15574,"children":15575},{"style":572},[15576],{"type":431,"value":15577},"'messages_sent'",{"type":426,"tag":553,"props":15579,"children":15580},{"style":684},[15581],{"type":431,"value":12804},{"type":426,"tag":553,"props":15583,"children":15584},{"class":555,"line":1192},[15585,15590,15594,15599],{"type":426,"tag":553,"props":15586,"children":15587},{"style":572},[15588],{"type":431,"value":15589},"        'messages_received'",{"type":426,"tag":553,"props":15591,"children":15592},{"style":684},[15593],{"type":431,"value":15572},{"type":426,"tag":553,"props":15595,"children":15596},{"style":572},[15597],{"type":431,"value":15598},"'messages_received'",{"type":426,"tag":553,"props":15600,"children":15601},{"style":684},[15602],{"type":431,"value":12804},{"type":426,"tag":553,"props":15604,"children":15605},{"class":555,"line":1210},[15606,15611,15615,15620,15624],{"type":426,"tag":553,"props":15607,"children":15608},{"style":572},[15609],{"type":431,"value":15610},"        'rapiwa_cost'",{"type":426,"tag":553,"props":15612,"children":15613},{"style":684},[15614],{"type":431,"value":700},{"type":426,"tag":553,"props":15616,"children":15617},{"style":566},[15618],{"type":431,"value":15619},"5.00",{"type":426,"tag":553,"props":15621,"children":15622},{"style":684},[15623],{"type":431,"value":11654},{"type":426,"tag":553,"props":15625,"children":15626},{"style":1975},[15627],{"type":431,"value":15628},"# Flat $5\u002Fmonth per number\n",{"type":426,"tag":553,"props":15630,"children":15631},{"class":555,"line":1253},[15632,15637,15642,15646],{"type":426,"tag":553,"props":15633,"children":15634},{"style":572},[15635],{"type":431,"value":15636},"        'your_charge'",{"type":426,"tag":553,"props":15638,"children":15639},{"style":684},[15640],{"type":431,"value":15641},": calculate_tenant_price(stats[",{"type":426,"tag":553,"props":15643,"children":15644},{"style":572},[15645],{"type":431,"value":15577},{"type":426,"tag":553,"props":15647,"children":15648},{"style":684},[15649],{"type":431,"value":8061},{"type":426,"tag":553,"props":15651,"children":15652},{"class":555,"line":1302},[15653],{"type":426,"tag":553,"props":15654,"children":15655},{"style":684},[15656],{"type":431,"value":5546},{"type":426,"tag":553,"props":15658,"children":15659},{"class":555,"line":1374},[15660],{"type":426,"tag":553,"props":15661,"children":15662},{"emptyLinePlaceholder":831},[15663],{"type":431,"value":834},{"type":426,"tag":553,"props":15665,"children":15666},{"class":555,"line":1414},[15667,15671,15676,15681,15685,15689,15694],{"type":426,"tag":553,"props":15668,"children":15669},{"style":795},[15670],{"type":431,"value":842},{"type":426,"tag":553,"props":15672,"children":15673},{"style":560},[15674],{"type":431,"value":15675}," calculate_tenant_price",{"type":426,"tag":553,"props":15677,"children":15678},{"style":684},[15679],{"type":431,"value":15680},"(messages_sent: ",{"type":426,"tag":553,"props":15682,"children":15683},{"style":566},[15684],{"type":431,"value":885},{"type":426,"tag":553,"props":15686,"children":15687},{"style":684},[15688],{"type":431,"value":900},{"type":426,"tag":553,"props":15690,"children":15691},{"style":566},[15692],{"type":431,"value":15693},"float",{"type":426,"tag":553,"props":15695,"children":15696},{"style":684},[15697],{"type":431,"value":909},{"type":426,"tag":553,"props":15699,"children":15700},{"class":555,"line":1479},[15701],{"type":426,"tag":553,"props":15702,"children":15703},{"style":572},[15704],{"type":431,"value":15705},"    \"\"\"Your pricing model — example tiered pricing.\"\"\"\n",{"type":426,"tag":553,"props":15707,"children":15708},{"class":555,"line":1517},[15709,15713,15718,15723,15728],{"type":426,"tag":553,"props":15710,"children":15711},{"style":795},[15712],{"type":431,"value":925},{"type":426,"tag":553,"props":15714,"children":15715},{"style":684},[15716],{"type":431,"value":15717}," messages_sent ",{"type":426,"tag":553,"props":15719,"children":15720},{"style":795},[15721],{"type":431,"value":15722},"\u003C=",{"type":426,"tag":553,"props":15724,"children":15725},{"style":566},[15726],{"type":431,"value":15727}," 1000",{"type":426,"tag":553,"props":15729,"children":15730},{"style":684},[15731],{"type":431,"value":909},{"type":426,"tag":553,"props":15733,"children":15734},{"class":555,"line":1560},[15735,15739,15744],{"type":426,"tag":553,"props":15736,"children":15737},{"style":795},[15738],{"type":431,"value":8378},{"type":426,"tag":553,"props":15740,"children":15741},{"style":566},[15742],{"type":431,"value":15743}," 29.00",{"type":426,"tag":553,"props":15745,"children":15746},{"style":1975},[15747],{"type":431,"value":15748},"    # Starter tier\n",{"type":426,"tag":553,"props":15750,"children":15751},{"class":555,"line":1598},[15752,15756,15760,15764,15769],{"type":426,"tag":553,"props":15753,"children":15754},{"style":795},[15755],{"type":431,"value":1060},{"type":426,"tag":553,"props":15757,"children":15758},{"style":684},[15759],{"type":431,"value":15717},{"type":426,"tag":553,"props":15761,"children":15762},{"style":795},[15763],{"type":431,"value":15722},{"type":426,"tag":553,"props":15765,"children":15766},{"style":566},[15767],{"type":431,"value":15768}," 5000",{"type":426,"tag":553,"props":15770,"children":15771},{"style":684},[15772],{"type":431,"value":909},{"type":426,"tag":553,"props":15774,"children":15775},{"class":555,"line":1636},[15776,15780,15785],{"type":426,"tag":553,"props":15777,"children":15778},{"style":795},[15779],{"type":431,"value":8378},{"type":426,"tag":553,"props":15781,"children":15782},{"style":566},[15783],{"type":431,"value":15784}," 79.00",{"type":426,"tag":553,"props":15786,"children":15787},{"style":1975},[15788],{"type":431,"value":15789},"    # Growth tier\n",{"type":426,"tag":553,"props":15791,"children":15792},{"class":555,"line":1645},[15793,15797],{"type":426,"tag":553,"props":15794,"children":15795},{"style":795},[15796],{"type":431,"value":1120},{"type":426,"tag":553,"props":15798,"children":15799},{"style":684},[15800],{"type":431,"value":909},{"type":426,"tag":553,"props":15802,"children":15803},{"class":555,"line":1653},[15804,15808,15813],{"type":426,"tag":553,"props":15805,"children":15806},{"style":795},[15807],{"type":431,"value":8378},{"type":426,"tag":553,"props":15809,"children":15810},{"style":566},[15811],{"type":431,"value":15812}," 199.00",{"type":426,"tag":553,"props":15814,"children":15815},{"style":1975},[15816],{"type":431,"value":15817},"   # Scale tier\n",{"type":426,"tag":434,"props":15819,"children":15821},{"id":15820},"test-the-multi-tenant-setup",[15822],{"type":431,"value":15823},"Test the Multi-Tenant Setup",{"type":426,"tag":542,"props":15825,"children":15827},{"code":15826,"language":545,"meta":417,"className":546,"style":417},"# Test sending as Tenant A\ncurl -X POST https:\u002F\u002Fyourapp.com\u002Fapi\u002Fv1\u002Fsend-message \\\n  -H \"Authorization: Bearer TENANT_A_JWT_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello from Tenant A system!\"\n  }'\n",[15828],{"type":426,"tag":549,"props":15829,"children":15830},{"__ignoreMap":417},[15831,15839,15863,15879,15894,15905,15912,15920],{"type":426,"tag":553,"props":15832,"children":15833},{"class":555,"line":556},[15834],{"type":426,"tag":553,"props":15835,"children":15836},{"style":1975},[15837],{"type":431,"value":15838},"# Test sending as Tenant A\n",{"type":426,"tag":553,"props":15840,"children":15841},{"class":555,"line":588},[15842,15846,15850,15854,15859],{"type":426,"tag":553,"props":15843,"children":15844},{"style":560},[15845],{"type":431,"value":563},{"type":426,"tag":553,"props":15847,"children":15848},{"style":566},[15849],{"type":431,"value":569},{"type":426,"tag":553,"props":15851,"children":15852},{"style":572},[15853],{"type":431,"value":575},{"type":426,"tag":553,"props":15855,"children":15856},{"style":572},[15857],{"type":431,"value":15858}," https:\u002F\u002Fyourapp.com\u002Fapi\u002Fv1\u002Fsend-message",{"type":426,"tag":553,"props":15860,"children":15861},{"style":566},[15862],{"type":431,"value":585},{"type":426,"tag":553,"props":15864,"children":15865},{"class":555,"line":606},[15866,15870,15875],{"type":426,"tag":553,"props":15867,"children":15868},{"style":566},[15869],{"type":431,"value":594},{"type":426,"tag":553,"props":15871,"children":15872},{"style":572},[15873],{"type":431,"value":15874}," \"Authorization: Bearer TENANT_A_JWT_TOKEN\"",{"type":426,"tag":553,"props":15876,"children":15877},{"style":566},[15878],{"type":431,"value":585},{"type":426,"tag":553,"props":15880,"children":15881},{"class":555,"line":623},[15882,15886,15890],{"type":426,"tag":553,"props":15883,"children":15884},{"style":566},[15885],{"type":431,"value":594},{"type":426,"tag":553,"props":15887,"children":15888},{"style":572},[15889],{"type":431,"value":616},{"type":426,"tag":553,"props":15891,"children":15892},{"style":566},[15893],{"type":431,"value":585},{"type":426,"tag":553,"props":15895,"children":15896},{"class":555,"line":637},[15897,15901],{"type":426,"tag":553,"props":15898,"children":15899},{"style":566},[15900],{"type":431,"value":629},{"type":426,"tag":553,"props":15902,"children":15903},{"style":572},[15904],{"type":431,"value":634},{"type":426,"tag":553,"props":15906,"children":15907},{"class":555,"line":646},[15908],{"type":426,"tag":553,"props":15909,"children":15910},{"style":572},[15911],{"type":431,"value":643},{"type":426,"tag":553,"props":15913,"children":15914},{"class":555,"line":655},[15915],{"type":426,"tag":553,"props":15916,"children":15917},{"style":572},[15918],{"type":431,"value":15919},"    \"message\": \"Hello from Tenant A system!\"\n",{"type":426,"tag":553,"props":15921,"children":15922},{"class":555,"line":1036},[15923],{"type":426,"tag":553,"props":15924,"children":15925},{"style":572},[15926],{"type":431,"value":661},{"type":426,"tag":434,"props":15928,"children":15929},{"id":4109},[15930],{"type":431,"value":4112},{"type":426,"tag":427,"props":15932,"children":15933},{},[15934,15939],{"type":426,"tag":446,"props":15935,"children":15936},{},[15937],{"type":431,"value":15938},"Does each tenant need their own Rapiwa account?",{"type":431,"value":15940},"\nEach tenant needs their own Rapiwa account and API key. Your SaaS stores and manages these keys, but each tenant connects their own WhatsApp number directly.",{"type":426,"tag":427,"props":15942,"children":15943},{},[15944,15949],{"type":426,"tag":446,"props":15945,"children":15946},{},[15947],{"type":431,"value":15948},"How many tenants can one Rapiwa Enterprise account support?",{"type":431,"value":15950},"\nRapiwa Enterprise supports 20+ numbers. Contact Rapiwa at rapiwa.com for larger deployments.",{"type":426,"tag":427,"props":15952,"children":15953},{},[15954,15959],{"type":426,"tag":446,"props":15955,"children":15956},{},[15957],{"type":431,"value":15958},"Does Rapiwa charge per message for multi-tenant systems?",{"type":431,"value":15960},"\nNo. Rapiwa charges $5\u002Fmonth per number (per tenant), flat, with no per-message fees. Your SaaS bills tenants according to your own pricing model.",{"type":426,"tag":427,"props":15962,"children":15963},{},[15964,15969,15971,15976,15978,15984,15986,15992],{"type":426,"tag":446,"props":15965,"children":15966},{},[15967],{"type":431,"value":15968},"How do I isolate tenant data to prevent cross-tenant message access?",{"type":431,"value":15970},"\nThe ",{"type":426,"tag":549,"props":15972,"children":15974},{"className":15973},[],[15975],{"type":431,"value":12372},{"type":431,"value":15977}," foreign key in ",{"type":426,"tag":549,"props":15979,"children":15981},{"className":15980},[],[15982],{"type":431,"value":15983},"message_log",{"type":431,"value":15985}," ensures isolation. Never query messages without a ",{"type":426,"tag":549,"props":15987,"children":15989},{"className":15988},[],[15990],{"type":431,"value":15991},"WHERE tenant_id = ?",{"type":431,"value":15993}," clause. Use row-level security in PostgreSQL for extra protection.",{"type":426,"tag":427,"props":15995,"children":15996},{},[15997,16002],{"type":426,"tag":446,"props":15998,"children":15999},{},[16000],{"type":431,"value":16001},"Can I scale beyond 100 tenants?",{"type":431,"value":16003},"\nYes. The architecture scales horizontally — add read replicas for the database, use Redis for API key caching, and run multiple router service instances behind a load balancer.",{"type":426,"tag":4164,"props":16005,"children":16006},{},[16007],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":16009},[16010,16011,16012,16013,16014,16015,16016,16017,16018,16019],{"id":10947,"depth":588,"text":10950},{"id":10999,"depth":588,"text":11002},{"id":11013,"depth":588,"text":11016},{"id":11794,"depth":588,"text":11797},{"id":13230,"depth":588,"text":13233},{"id":14018,"depth":588,"text":14021},{"id":14692,"depth":588,"text":14695},{"id":15365,"depth":588,"text":15368},{"id":15820,"depth":588,"text":15823},{"id":4109,"depth":588,"text":4112},"content:blog:multi-tenant-whatsapp-api-saas-architecture.md","blog\u002Fmulti-tenant-whatsapp-api-saas-architecture.md","blog\u002Fmulti-tenant-whatsapp-api-saas-architecture",{"loc":19},{"_path":24,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":25,"description":26,"date":16025,"author":10935,"category":8,"_slug":16026,"image":16027,"body":16028,"_type":4187,"_id":18993,"_source":4189,"_file":18994,"_stem":18995,"_extension":4192,"sitemap":18996},"2026-03-27","white-label-whatsapp-api-agencies","\u002Fimages\u002Fblog\u002Fwhite-label-whatsapp-api-agencies.svg",{"type":423,"children":16029,"toc":18981},[16030,16035,16041,16046,16054,16077,16083,16183,16189,16194,16256,16264,16287,16293,16298,17377,17383,17388,18162,18168,18173,18628,18634,18733,18750,18756,18761,18879,18884,18890,18923,18927,18937,18947,18957,18967,18977],{"type":426,"tag":427,"props":16031,"children":16032},{},[16033],{"type":431,"value":16034},"Digital agencies use white-label WhatsApp API to run WhatsApp marketing campaigns, customer support bots, and automation workflows for multiple clients from a single platform. Using Rapiwa API ($5\u002Fmonth per number, no per-message fees), agencies manage dozens of client WhatsApp numbers, build repeatable automation templates, and charge clients monthly retainers while keeping their own brand on the deliverables.",{"type":426,"tag":434,"props":16036,"children":16038},{"id":16037},"what-is-white-label-whatsapp-api-for-agencies",[16039],{"type":431,"value":16040},"What Is White-Label WhatsApp API for Agencies?",{"type":426,"tag":427,"props":16042,"children":16043},{},[16044],{"type":431,"value":16045},"White-label WhatsApp API means an agency uses a WhatsApp API provider (like Rapiwa) as the backend infrastructure while presenting the service under their own brand to clients. The client sees the agency's branding, not Rapiwa's.",{"type":426,"tag":427,"props":16047,"children":16048},{},[16049],{"type":426,"tag":446,"props":16050,"children":16051},{},[16052],{"type":431,"value":16053},"Agency model:",{"type":426,"tag":454,"props":16055,"children":16056},{},[16057,16062,16067,16072],{"type":426,"tag":458,"props":16058,"children":16059},{},[16060],{"type":431,"value":16061},"Agency pays Rapiwa: $5\u002Fmonth per client WhatsApp number",{"type":426,"tag":458,"props":16063,"children":16064},{},[16065],{"type":431,"value":16066},"Agency charges client: $50–$200\u002Fmonth for \"WhatsApp Marketing Automation Service\"",{"type":426,"tag":458,"props":16068,"children":16069},{},[16070],{"type":431,"value":16071},"Agency margin: $45–$195\u002Fmonth per client",{"type":426,"tag":458,"props":16073,"children":16074},{},[16075],{"type":431,"value":16076},"At 20 clients: $1,700–$3,900\u002Fmonth recurring revenue",{"type":426,"tag":434,"props":16078,"children":16080},{"id":16079},"why-rapiwa-works-for-agency-white-label",[16081],{"type":431,"value":16082},"Why Rapiwa Works for Agency White-Label",{"type":426,"tag":10600,"props":16084,"children":16085},{},[16086,16102],{"type":426,"tag":10604,"props":16087,"children":16088},{},[16089],{"type":426,"tag":10608,"props":16090,"children":16091},{},[16092,16097],{"type":426,"tag":10612,"props":16093,"children":16094},{},[16095],{"type":431,"value":16096},"Feature",{"type":426,"tag":10612,"props":16098,"children":16099},{},[16100],{"type":431,"value":16101},"Why it matters for agencies",{"type":426,"tag":10623,"props":16103,"children":16104},{},[16105,16118,16131,16144,16157,16170],{"type":426,"tag":10608,"props":16106,"children":16107},{},[16108,16113],{"type":426,"tag":10630,"props":16109,"children":16110},{},[16111],{"type":431,"value":16112},"$5\u002Fmonth per number",{"type":426,"tag":10630,"props":16114,"children":16115},{},[16116],{"type":431,"value":16117},"Low cost enables profitable resale at $50–$200\u002Fmonth",{"type":426,"tag":10608,"props":16119,"children":16120},{},[16121,16126],{"type":426,"tag":10630,"props":16122,"children":16123},{},[16124],{"type":431,"value":16125},"No per-message fees",{"type":426,"tag":10630,"props":16127,"children":16128},{},[16129],{"type":431,"value":16130},"Predictable cost structure for client billing",{"type":426,"tag":10608,"props":16132,"children":16133},{},[16134,16139],{"type":426,"tag":10630,"props":16135,"children":16136},{},[16137],{"type":431,"value":16138},"REST API",{"type":426,"tag":10630,"props":16140,"children":16141},{},[16142],{"type":431,"value":16143},"Full programmatic control for custom automations",{"type":426,"tag":10608,"props":16145,"children":16146},{},[16147,16152],{"type":426,"tag":10630,"props":16148,"children":16149},{},[16150],{"type":431,"value":16151},"Multiple numbers",{"type":426,"tag":10630,"props":16153,"children":16154},{},[16155],{"type":431,"value":16156},"Manage dozens of clients from one account",{"type":426,"tag":10608,"props":16158,"children":16159},{},[16160,16165],{"type":426,"tag":10630,"props":16161,"children":16162},{},[16163],{"type":431,"value":16164},"n8n templates",{"type":426,"tag":10630,"props":16166,"children":16167},{},[16168],{"type":431,"value":16169},"Ready-made automation templates to deploy instantly",{"type":426,"tag":10608,"props":16171,"children":16172},{},[16173,16178],{"type":426,"tag":10630,"props":16174,"children":16175},{},[16176],{"type":431,"value":16177},"5.0\u002F5 Sourceforge",{"type":426,"tag":10630,"props":16179,"children":16180},{},[16181],{"type":431,"value":16182},"Reliable infrastructure for client-facing services",{"type":426,"tag":434,"props":16184,"children":16186},{"id":16185},"step-1-setting-up-multiple-client-numbers",[16187],{"type":431,"value":16188},"Step 1: Setting Up Multiple Client Numbers",{"type":426,"tag":427,"props":16190,"children":16191},{},[16192],{"type":431,"value":16193},"Each client gets their own WhatsApp number connected to Rapiwa:",{"type":426,"tag":542,"props":16195,"children":16197},{"className":546,"code":16196,"language":545,"meta":417,"style":417},"# Your Rapiwa account can support multiple numbers (Professional\u002FEnterprise plans)\n# Each client's WhatsApp number is connected separately\n\n# Client 1: Fashion Store\n# Client 2: Dental Clinic\n# Client 3: Real Estate Agency\n# Each number has its own API key\n",[16198],{"type":426,"tag":549,"props":16199,"children":16200},{"__ignoreMap":417},[16201,16209,16217,16224,16232,16240,16248],{"type":426,"tag":553,"props":16202,"children":16203},{"class":555,"line":556},[16204],{"type":426,"tag":553,"props":16205,"children":16206},{"style":1975},[16207],{"type":431,"value":16208},"# Your Rapiwa account can support multiple numbers (Professional\u002FEnterprise plans)\n",{"type":426,"tag":553,"props":16210,"children":16211},{"class":555,"line":588},[16212],{"type":426,"tag":553,"props":16213,"children":16214},{"style":1975},[16215],{"type":431,"value":16216},"# Each client's WhatsApp number is connected separately\n",{"type":426,"tag":553,"props":16218,"children":16219},{"class":555,"line":606},[16220],{"type":426,"tag":553,"props":16221,"children":16222},{"emptyLinePlaceholder":831},[16223],{"type":431,"value":834},{"type":426,"tag":553,"props":16225,"children":16226},{"class":555,"line":623},[16227],{"type":426,"tag":553,"props":16228,"children":16229},{"style":1975},[16230],{"type":431,"value":16231},"# Client 1: Fashion Store\n",{"type":426,"tag":553,"props":16233,"children":16234},{"class":555,"line":637},[16235],{"type":426,"tag":553,"props":16236,"children":16237},{"style":1975},[16238],{"type":431,"value":16239},"# Client 2: Dental Clinic\n",{"type":426,"tag":553,"props":16241,"children":16242},{"class":555,"line":646},[16243],{"type":426,"tag":553,"props":16244,"children":16245},{"style":1975},[16246],{"type":431,"value":16247},"# Client 3: Real Estate Agency\n",{"type":426,"tag":553,"props":16249,"children":16250},{"class":555,"line":655},[16251],{"type":426,"tag":553,"props":16252,"children":16253},{"style":1975},[16254],{"type":431,"value":16255},"# Each number has its own API key\n",{"type":426,"tag":427,"props":16257,"children":16258},{},[16259],{"type":426,"tag":446,"props":16260,"children":16261},{},[16262],{"type":431,"value":16263},"Recommended Rapiwa plan for agencies:",{"type":426,"tag":454,"props":16265,"children":16266},{},[16267,16277],{"type":426,"tag":458,"props":16268,"children":16269},{},[16270,16275],{"type":426,"tag":446,"props":16271,"children":16272},{},[16273],{"type":431,"value":16274},"Professional plan",{"type":431,"value":16276},": Supports multiple WhatsApp numbers",{"type":426,"tag":458,"props":16278,"children":16279},{},[16280,16285],{"type":426,"tag":446,"props":16281,"children":16282},{},[16283],{"type":431,"value":16284},"Enterprise plan",{"type":431,"value":16286},": 20+ numbers — ideal for agencies with large client rosters",{"type":426,"tag":434,"props":16288,"children":16290},{"id":16289},"step-2-client-onboarding-template",[16291],{"type":431,"value":16292},"Step 2: Client Onboarding Template",{"type":426,"tag":427,"props":16294,"children":16295},{},[16296],{"type":431,"value":16297},"Standardize how you onboard each new client:",{"type":426,"tag":542,"props":16299,"children":16301},{"className":785,"code":16300,"language":784,"meta":417,"style":417},"# agency_client_setup.py\n\nclass AgencyClientSetup:\n    def __init__(self, rapiwa_api_key: str):\n        self.rapiwa_key = rapiwa_api_key\n    \n    def onboard_client(self, client: dict) -> dict:\n        \"\"\"\n        Standard client onboarding:\n        1. Connect their WhatsApp number to Rapiwa\n        2. Configure webhooks for their domain\n        3. Deploy their industry template\n        4. Test with a sample message\n        \"\"\"\n        # Connect WhatsApp (done via Rapiwa Dashboard QR scan)\n        # Once connected, get their API key from the dashboard\n        \n        client_api_key = client['rapiwa_api_key']\n        client_phone = client['whatsapp_number']\n        \n        # Send test message to confirm setup\n        result = self.send_test_message(client_phone, client['name'], client_api_key)\n        \n        # Deploy their automation template\n        template = INDUSTRY_TEMPLATES.get(client['industry'])\n        if template:\n            self.deploy_template(client, template)\n        \n        return {\n            'client': client['name'],\n            'number': client_phone,\n            'test_result': result,\n            'template_deployed': template is not None\n        }\n    \n    def send_test_message(self, phone: str, client_name: str, api_key: str) -> dict:\n        \"\"\"Send a test message to confirm the client's setup is working.\"\"\"\n        import requests\n        \n        message = (\n            f\"WhatsApp setup confirmed ✅\\n\\n\"\n            f\"{client_name} is now connected to your automated WhatsApp system.\\n\\n\"\n            f\"Powered by [Your Agency Name]\"\n        )\n        \n        return requests.post(\n            'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n            headers={'Authorization': f'Bearer {api_key}'},\n            json={'number': phone, 'message': message}\n        ).json()\n\n\n# Industry templates — pre-built automation packages\nINDUSTRY_TEMPLATES = {\n    'ecommerce': {\n        'description': 'Order confirmations, shipping updates, review requests',\n        'n8n_templates': [\n            'https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9879',  # WooCommerce invoices\n            'https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9880',  # Order updates\n            'https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9969',  # Review requests\n        ]\n    },\n    'healthcare': {\n        'description': 'Appointment reminders, lab result notifications',\n        'setup_steps': 'Connect PMS webhook → configure reminder schedule'\n    },\n    'real_estate': {\n        'description': 'Lead follow-up, viewing confirmations, price alerts',\n        'setup_steps': 'Connect CRM → configure 5-minute lead response'\n    },\n    'restaurant': {\n        'description': 'Reservation confirmations, order updates, promotions',\n        'setup_steps': 'Connect booking system → configure confirmation workflow'\n    }\n}\n",[16302],{"type":426,"tag":549,"props":16303,"children":16304},{"__ignoreMap":417},[16305,16313,16320,16336,16360,16381,16388,16421,16428,16436,16444,16452,16460,16468,16475,16483,16491,16498,16524,16548,16555,16563,16592,16599,16607,16638,16650,16663,16670,16681,16702,16714,16727,16753,16760,16767,16817,16825,16836,16843,16858,16878,16915,16927,16934,16941,16952,16963,17014,17045,17052,17059,17066,17074,17090,17103,17124,17137,17154,17171,17188,17196,17204,17216,17236,17253,17260,17272,17292,17308,17315,17327,17347,17363,17370],{"type":426,"tag":553,"props":16306,"children":16307},{"class":555,"line":556},[16308],{"type":426,"tag":553,"props":16309,"children":16310},{"style":1975},[16311],{"type":431,"value":16312},"# agency_client_setup.py\n",{"type":426,"tag":553,"props":16314,"children":16315},{"class":555,"line":588},[16316],{"type":426,"tag":553,"props":16317,"children":16318},{"emptyLinePlaceholder":831},[16319],{"type":431,"value":834},{"type":426,"tag":553,"props":16321,"children":16322},{"class":555,"line":606},[16323,16327,16332],{"type":426,"tag":553,"props":16324,"children":16325},{"style":795},[16326],{"type":431,"value":11909},{"type":426,"tag":553,"props":16328,"children":16329},{"style":560},[16330],{"type":431,"value":16331}," AgencyClientSetup",{"type":426,"tag":553,"props":16333,"children":16334},{"style":684},[16335],{"type":431,"value":909},{"type":426,"tag":553,"props":16337,"children":16338},{"class":555,"line":623},[16339,16343,16347,16352,16356],{"type":426,"tag":553,"props":16340,"children":16341},{"style":795},[16342],{"type":431,"value":11926},{"type":426,"tag":553,"props":16344,"children":16345},{"style":566},[16346],{"type":431,"value":11931},{"type":426,"tag":553,"props":16348,"children":16349},{"style":684},[16350],{"type":431,"value":16351},"(self, rapiwa_api_key: ",{"type":426,"tag":553,"props":16353,"children":16354},{"style":566},[16355],{"type":431,"value":895},{"type":426,"tag":553,"props":16357,"children":16358},{"style":684},[16359],{"type":431,"value":8370},{"type":426,"tag":553,"props":16361,"children":16362},{"class":555,"line":637},[16363,16367,16372,16376],{"type":426,"tag":553,"props":16364,"children":16365},{"style":566},[16366],{"type":431,"value":11952},{"type":426,"tag":553,"props":16368,"children":16369},{"style":684},[16370],{"type":431,"value":16371},".rapiwa_key ",{"type":426,"tag":553,"props":16373,"children":16374},{"style":795},[16375],{"type":431,"value":957},{"type":426,"tag":553,"props":16377,"children":16378},{"style":684},[16379],{"type":431,"value":16380}," rapiwa_api_key\n",{"type":426,"tag":553,"props":16382,"children":16383},{"class":555,"line":646},[16384],{"type":426,"tag":553,"props":16385,"children":16386},{"style":684},[16387],{"type":431,"value":917},{"type":426,"tag":553,"props":16389,"children":16390},{"class":555,"line":655},[16391,16395,16400,16405,16409,16413,16417],{"type":426,"tag":553,"props":16392,"children":16393},{"style":795},[16394],{"type":431,"value":11926},{"type":426,"tag":553,"props":16396,"children":16397},{"style":560},[16398],{"type":431,"value":16399}," onboard_client",{"type":426,"tag":553,"props":16401,"children":16402},{"style":684},[16403],{"type":431,"value":16404},"(self, client: ",{"type":426,"tag":553,"props":16406,"children":16407},{"style":566},[16408],{"type":431,"value":857},{"type":426,"tag":553,"props":16410,"children":16411},{"style":684},[16412],{"type":431,"value":900},{"type":426,"tag":553,"props":16414,"children":16415},{"style":566},[16416],{"type":431,"value":857},{"type":426,"tag":553,"props":16418,"children":16419},{"style":684},[16420],{"type":431,"value":909},{"type":426,"tag":553,"props":16422,"children":16423},{"class":555,"line":1036},[16424],{"type":426,"tag":553,"props":16425,"children":16426},{"style":572},[16427],{"type":431,"value":12270},{"type":426,"tag":553,"props":16429,"children":16430},{"class":555,"line":1054},[16431],{"type":426,"tag":553,"props":16432,"children":16433},{"style":572},[16434],{"type":431,"value":16435},"        Standard client onboarding:\n",{"type":426,"tag":553,"props":16437,"children":16438},{"class":555,"line":1080},[16439],{"type":426,"tag":553,"props":16440,"children":16441},{"style":572},[16442],{"type":431,"value":16443},"        1. Connect their WhatsApp number to Rapiwa\n",{"type":426,"tag":553,"props":16445,"children":16446},{"class":555,"line":1097},[16447],{"type":426,"tag":553,"props":16448,"children":16449},{"style":572},[16450],{"type":431,"value":16451},"        2. Configure webhooks for their domain\n",{"type":426,"tag":553,"props":16453,"children":16454},{"class":555,"line":1114},[16455],{"type":426,"tag":553,"props":16456,"children":16457},{"style":572},[16458],{"type":431,"value":16459},"        3. Deploy their industry template\n",{"type":426,"tag":553,"props":16461,"children":16462},{"class":555,"line":1127},[16463],{"type":426,"tag":553,"props":16464,"children":16465},{"style":572},[16466],{"type":431,"value":16467},"        4. Test with a sample message\n",{"type":426,"tag":553,"props":16469,"children":16470},{"class":555,"line":1167},[16471],{"type":426,"tag":553,"props":16472,"children":16473},{"style":572},[16474],{"type":431,"value":12270},{"type":426,"tag":553,"props":16476,"children":16477},{"class":555,"line":1184},[16478],{"type":426,"tag":553,"props":16479,"children":16480},{"style":1975},[16481],{"type":431,"value":16482},"        # Connect WhatsApp (done via Rapiwa Dashboard QR scan)\n",{"type":426,"tag":553,"props":16484,"children":16485},{"class":555,"line":1192},[16486],{"type":426,"tag":553,"props":16487,"children":16488},{"style":1975},[16489],{"type":431,"value":16490},"        # Once connected, get their API key from the dashboard\n",{"type":426,"tag":553,"props":16492,"children":16493},{"class":555,"line":1210},[16494],{"type":426,"tag":553,"props":16495,"children":16496},{"style":684},[16497],{"type":431,"value":2061},{"type":426,"tag":553,"props":16499,"children":16500},{"class":555,"line":1253},[16501,16506,16510,16515,16519],{"type":426,"tag":553,"props":16502,"children":16503},{"style":684},[16504],{"type":431,"value":16505},"        client_api_key ",{"type":426,"tag":553,"props":16507,"children":16508},{"style":795},[16509],{"type":431,"value":957},{"type":426,"tag":553,"props":16511,"children":16512},{"style":684},[16513],{"type":431,"value":16514}," client[",{"type":426,"tag":553,"props":16516,"children":16517},{"style":572},[16518],{"type":431,"value":14901},{"type":426,"tag":553,"props":16520,"children":16521},{"style":684},[16522],{"type":431,"value":16523},"]\n",{"type":426,"tag":553,"props":16525,"children":16526},{"class":555,"line":1302},[16527,16532,16536,16540,16544],{"type":426,"tag":553,"props":16528,"children":16529},{"style":684},[16530],{"type":431,"value":16531},"        client_phone ",{"type":426,"tag":553,"props":16533,"children":16534},{"style":795},[16535],{"type":431,"value":957},{"type":426,"tag":553,"props":16537,"children":16538},{"style":684},[16539],{"type":431,"value":16514},{"type":426,"tag":553,"props":16541,"children":16542},{"style":572},[16543],{"type":431,"value":14925},{"type":426,"tag":553,"props":16545,"children":16546},{"style":684},[16547],{"type":431,"value":16523},{"type":426,"tag":553,"props":16549,"children":16550},{"class":555,"line":1374},[16551],{"type":426,"tag":553,"props":16552,"children":16553},{"style":684},[16554],{"type":431,"value":2061},{"type":426,"tag":553,"props":16556,"children":16557},{"class":555,"line":1414},[16558],{"type":426,"tag":553,"props":16559,"children":16560},{"style":1975},[16561],{"type":431,"value":16562},"        # Send test message to confirm setup\n",{"type":426,"tag":553,"props":16564,"children":16565},{"class":555,"line":1479},[16566,16570,16574,16578,16583,16587],{"type":426,"tag":553,"props":16567,"children":16568},{"style":684},[16569],{"type":431,"value":2836},{"type":426,"tag":553,"props":16571,"children":16572},{"style":795},[16573],{"type":431,"value":957},{"type":426,"tag":553,"props":16575,"children":16576},{"style":566},[16577],{"type":431,"value":12033},{"type":426,"tag":553,"props":16579,"children":16580},{"style":684},[16581],{"type":431,"value":16582},".send_test_message(client_phone, client[",{"type":426,"tag":553,"props":16584,"children":16585},{"style":572},[16586],{"type":431,"value":1277},{"type":426,"tag":553,"props":16588,"children":16589},{"style":684},[16590],{"type":431,"value":16591},"], client_api_key)\n",{"type":426,"tag":553,"props":16593,"children":16594},{"class":555,"line":1517},[16595],{"type":426,"tag":553,"props":16596,"children":16597},{"style":684},[16598],{"type":431,"value":2061},{"type":426,"tag":553,"props":16600,"children":16601},{"class":555,"line":1560},[16602],{"type":426,"tag":553,"props":16603,"children":16604},{"style":1975},[16605],{"type":431,"value":16606},"        # Deploy their automation template\n",{"type":426,"tag":553,"props":16608,"children":16609},{"class":555,"line":1598},[16610,16615,16619,16624,16629,16634],{"type":426,"tag":553,"props":16611,"children":16612},{"style":684},[16613],{"type":431,"value":16614},"        template ",{"type":426,"tag":553,"props":16616,"children":16617},{"style":795},[16618],{"type":431,"value":957},{"type":426,"tag":553,"props":16620,"children":16621},{"style":566},[16622],{"type":431,"value":16623}," INDUSTRY_TEMPLATES",{"type":426,"tag":553,"props":16625,"children":16626},{"style":684},[16627],{"type":431,"value":16628},".get(client[",{"type":426,"tag":553,"props":16630,"children":16631},{"style":572},[16632],{"type":431,"value":16633},"'industry'",{"type":426,"tag":553,"props":16635,"children":16636},{"style":684},[16637],{"type":431,"value":8061},{"type":426,"tag":553,"props":16639,"children":16640},{"class":555,"line":1636},[16641,16645],{"type":426,"tag":553,"props":16642,"children":16643},{"style":795},[16644],{"type":431,"value":2972},{"type":426,"tag":553,"props":16646,"children":16647},{"style":684},[16648],{"type":431,"value":16649}," template:\n",{"type":426,"tag":553,"props":16651,"children":16652},{"class":555,"line":1645},[16653,16658],{"type":426,"tag":553,"props":16654,"children":16655},{"style":566},[16656],{"type":431,"value":16657},"            self",{"type":426,"tag":553,"props":16659,"children":16660},{"style":684},[16661],{"type":431,"value":16662},".deploy_template(client, template)\n",{"type":426,"tag":553,"props":16664,"children":16665},{"class":555,"line":1653},[16666],{"type":426,"tag":553,"props":16667,"children":16668},{"style":684},[16669],{"type":431,"value":2061},{"type":426,"tag":553,"props":16671,"children":16672},{"class":555,"line":1667},[16673,16677],{"type":426,"tag":553,"props":16674,"children":16675},{"style":795},[16676],{"type":431,"value":8378},{"type":426,"tag":553,"props":16678,"children":16679},{"style":684},[16680],{"type":431,"value":5458},{"type":426,"tag":553,"props":16682,"children":16683},{"class":555,"line":1680},[16684,16689,16694,16698],{"type":426,"tag":553,"props":16685,"children":16686},{"style":572},[16687],{"type":431,"value":16688},"            'client'",{"type":426,"tag":553,"props":16690,"children":16691},{"style":684},[16692],{"type":431,"value":16693},": client[",{"type":426,"tag":553,"props":16695,"children":16696},{"style":572},[16697],{"type":431,"value":1277},{"type":426,"tag":553,"props":16699,"children":16700},{"style":684},[16701],{"type":431,"value":12804},{"type":426,"tag":553,"props":16703,"children":16704},{"class":555,"line":1740},[16705,16709],{"type":426,"tag":553,"props":16706,"children":16707},{"style":572},[16708],{"type":431,"value":15045},{"type":426,"tag":553,"props":16710,"children":16711},{"style":684},[16712],{"type":431,"value":16713},": client_phone,\n",{"type":426,"tag":553,"props":16715,"children":16716},{"class":555,"line":1787},[16717,16722],{"type":426,"tag":553,"props":16718,"children":16719},{"style":572},[16720],{"type":431,"value":16721},"            'test_result'",{"type":426,"tag":553,"props":16723,"children":16724},{"style":684},[16725],{"type":431,"value":16726},": result,\n",{"type":426,"tag":553,"props":16728,"children":16729},{"class":555,"line":1796},[16730,16735,16740,16745,16749],{"type":426,"tag":553,"props":16731,"children":16732},{"style":572},[16733],{"type":431,"value":16734},"            'template_deployed'",{"type":426,"tag":553,"props":16736,"children":16737},{"style":684},[16738],{"type":431,"value":16739},": template ",{"type":426,"tag":553,"props":16741,"children":16742},{"style":795},[16743],{"type":431,"value":16744},"is",{"type":426,"tag":553,"props":16746,"children":16747},{"style":795},[16748],{"type":431,"value":12110},{"type":426,"tag":553,"props":16750,"children":16751},{"style":566},[16752],{"type":431,"value":8781},{"type":426,"tag":553,"props":16754,"children":16755},{"class":555,"line":1804},[16756],{"type":426,"tag":553,"props":16757,"children":16758},{"style":684},[16759],{"type":431,"value":15075},{"type":426,"tag":553,"props":16761,"children":16762},{"class":555,"line":1812},[16763],{"type":426,"tag":553,"props":16764,"children":16765},{"style":684},[16766],{"type":431,"value":917},{"type":426,"tag":553,"props":16768,"children":16769},{"class":555,"line":1847},[16770,16774,16779,16784,16788,16793,16797,16801,16805,16809,16813],{"type":426,"tag":553,"props":16771,"children":16772},{"style":795},[16773],{"type":431,"value":11926},{"type":426,"tag":553,"props":16775,"children":16776},{"style":560},[16777],{"type":431,"value":16778}," send_test_message",{"type":426,"tag":553,"props":16780,"children":16781},{"style":684},[16782],{"type":431,"value":16783},"(self, phone: ",{"type":426,"tag":553,"props":16785,"children":16786},{"style":566},[16787],{"type":431,"value":895},{"type":426,"tag":553,"props":16789,"children":16790},{"style":684},[16791],{"type":431,"value":16792},", client_name: ",{"type":426,"tag":553,"props":16794,"children":16795},{"style":566},[16796],{"type":431,"value":895},{"type":426,"tag":553,"props":16798,"children":16799},{"style":684},[16800],{"type":431,"value":890},{"type":426,"tag":553,"props":16802,"children":16803},{"style":566},[16804],{"type":431,"value":895},{"type":426,"tag":553,"props":16806,"children":16807},{"style":684},[16808],{"type":431,"value":900},{"type":426,"tag":553,"props":16810,"children":16811},{"style":566},[16812],{"type":431,"value":857},{"type":426,"tag":553,"props":16814,"children":16815},{"style":684},[16816],{"type":431,"value":909},{"type":426,"tag":553,"props":16818,"children":16819},{"class":555,"line":1856},[16820],{"type":426,"tag":553,"props":16821,"children":16822},{"style":572},[16823],{"type":431,"value":16824},"        \"\"\"Send a test message to confirm the client's setup is working.\"\"\"\n",{"type":426,"tag":553,"props":16826,"children":16827},{"class":555,"line":1874},[16828,16832],{"type":426,"tag":553,"props":16829,"children":16830},{"style":795},[16831],{"type":431,"value":3076},{"type":426,"tag":553,"props":16833,"children":16834},{"style":684},[16835],{"type":431,"value":803},{"type":426,"tag":553,"props":16837,"children":16838},{"class":555,"line":1882},[16839],{"type":426,"tag":553,"props":16840,"children":16841},{"style":684},[16842],{"type":431,"value":2061},{"type":426,"tag":553,"props":16844,"children":16845},{"class":555,"line":1981},[16846,16850,16854],{"type":426,"tag":553,"props":16847,"children":16848},{"style":684},[16849],{"type":431,"value":5864},{"type":426,"tag":553,"props":16851,"children":16852},{"style":795},[16853],{"type":431,"value":957},{"type":426,"tag":553,"props":16855,"children":16856},{"style":684},[16857],{"type":431,"value":1207},{"type":426,"tag":553,"props":16859,"children":16860},{"class":555,"line":1989},[16861,16865,16870,16874],{"type":426,"tag":553,"props":16862,"children":16863},{"style":795},[16864],{"type":431,"value":3740},{"type":426,"tag":553,"props":16866,"children":16867},{"style":572},[16868],{"type":431,"value":16869},"\"WhatsApp setup confirmed ✅",{"type":426,"tag":553,"props":16871,"children":16872},{"style":566},[16873],{"type":431,"value":1295},{"type":426,"tag":553,"props":16875,"children":16876},{"style":572},[16877],{"type":431,"value":1250},{"type":426,"tag":553,"props":16879,"children":16880},{"class":555,"line":2013},[16881,16885,16889,16893,16898,16902,16907,16911],{"type":426,"tag":553,"props":16882,"children":16883},{"style":795},[16884],{"type":431,"value":3740},{"type":426,"tag":553,"props":16886,"children":16887},{"style":572},[16888],{"type":431,"value":1527},{"type":426,"tag":553,"props":16890,"children":16891},{"style":566},[16892],{"type":431,"value":972},{"type":426,"tag":553,"props":16894,"children":16895},{"style":684},[16896],{"type":431,"value":16897},"client_name",{"type":426,"tag":553,"props":16899,"children":16900},{"style":566},[16901],{"type":431,"value":982},{"type":426,"tag":553,"props":16903,"children":16904},{"style":572},[16905],{"type":431,"value":16906}," is now connected to your automated WhatsApp system.",{"type":426,"tag":553,"props":16908,"children":16909},{"style":566},[16910],{"type":431,"value":1295},{"type":426,"tag":553,"props":16912,"children":16913},{"style":572},[16914],{"type":431,"value":1250},{"type":426,"tag":553,"props":16916,"children":16917},{"class":555,"line":2055},[16918,16922],{"type":426,"tag":553,"props":16919,"children":16920},{"style":795},[16921],{"type":431,"value":3740},{"type":426,"tag":553,"props":16923,"children":16924},{"style":572},[16925],{"type":431,"value":16926},"\"Powered by [Your Agency Name]\"\n",{"type":426,"tag":553,"props":16928,"children":16929},{"class":555,"line":2064},[16930],{"type":426,"tag":553,"props":16931,"children":16932},{"style":684},[16933],{"type":431,"value":6037},{"type":426,"tag":553,"props":16935,"children":16936},{"class":555,"line":2087},[16937],{"type":426,"tag":553,"props":16938,"children":16939},{"style":684},[16940],{"type":431,"value":2061},{"type":426,"tag":553,"props":16942,"children":16943},{"class":555,"line":2096},[16944,16948],{"type":426,"tag":553,"props":16945,"children":16946},{"style":795},[16947],{"type":431,"value":8378},{"type":426,"tag":553,"props":16949,"children":16950},{"style":684},[16951],{"type":431,"value":1664},{"type":426,"tag":553,"props":16953,"children":16954},{"class":555,"line":2105},[16955,16959],{"type":426,"tag":553,"props":16956,"children":16957},{"style":572},[16958],{"type":431,"value":2852},{"type":426,"tag":553,"props":16960,"children":16961},{"style":684},[16962],{"type":431,"value":710},{"type":426,"tag":553,"props":16964,"children":16965},{"class":555,"line":2114},[16966,16970,16974,16978,16982,16986,16990,16994,16998,17002,17006,17010],{"type":426,"tag":553,"props":16967,"children":16968},{"style":1684},[16969],{"type":431,"value":2864},{"type":426,"tag":553,"props":16971,"children":16972},{"style":795},[16973],{"type":431,"value":957},{"type":426,"tag":553,"props":16975,"children":16976},{"style":684},[16977],{"type":431,"value":972},{"type":426,"tag":553,"props":16979,"children":16980},{"style":572},[16981],{"type":431,"value":1700},{"type":426,"tag":553,"props":16983,"children":16984},{"style":684},[16985],{"type":431,"value":700},{"type":426,"tag":553,"props":16987,"children":16988},{"style":795},[16989],{"type":431,"value":1709},{"type":426,"tag":553,"props":16991,"children":16992},{"style":572},[16993],{"type":431,"value":1714},{"type":426,"tag":553,"props":16995,"children":16996},{"style":566},[16997],{"type":431,"value":972},{"type":426,"tag":553,"props":16999,"children":17000},{"style":684},[17001],{"type":431,"value":1723},{"type":426,"tag":553,"props":17003,"children":17004},{"style":566},[17005],{"type":431,"value":982},{"type":426,"tag":553,"props":17007,"children":17008},{"style":572},[17009],{"type":431,"value":1732},{"type":426,"tag":553,"props":17011,"children":17012},{"style":684},[17013],{"type":431,"value":1737},{"type":426,"tag":553,"props":17015,"children":17016},{"class":555,"line":2123},[17017,17021,17025,17029,17033,17037,17041],{"type":426,"tag":553,"props":17018,"children":17019},{"style":1684},[17020],{"type":431,"value":2916},{"type":426,"tag":553,"props":17022,"children":17023},{"style":795},[17024],{"type":431,"value":957},{"type":426,"tag":553,"props":17026,"children":17027},{"style":684},[17028],{"type":431,"value":972},{"type":426,"tag":553,"props":17030,"children":17031},{"style":572},[17032],{"type":431,"value":1759},{"type":426,"tag":553,"props":17034,"children":17035},{"style":684},[17036],{"type":431,"value":8931},{"type":426,"tag":553,"props":17038,"children":17039},{"style":572},[17040],{"type":431,"value":1779},{"type":426,"tag":553,"props":17042,"children":17043},{"style":684},[17044],{"type":431,"value":1784},{"type":426,"tag":553,"props":17046,"children":17047},{"class":555,"line":2132},[17048],{"type":426,"tag":553,"props":17049,"children":17050},{"style":684},[17051],{"type":431,"value":2957},{"type":426,"tag":553,"props":17053,"children":17054},{"class":555,"line":2151},[17055],{"type":426,"tag":553,"props":17056,"children":17057},{"emptyLinePlaceholder":831},[17058],{"type":431,"value":834},{"type":426,"tag":553,"props":17060,"children":17061},{"class":555,"line":2160},[17062],{"type":426,"tag":553,"props":17063,"children":17064},{"emptyLinePlaceholder":831},[17065],{"type":431,"value":834},{"type":426,"tag":553,"props":17067,"children":17068},{"class":555,"line":2174},[17069],{"type":426,"tag":553,"props":17070,"children":17071},{"style":1975},[17072],{"type":431,"value":17073},"# Industry templates — pre-built automation packages\n",{"type":426,"tag":553,"props":17075,"children":17076},{"class":555,"line":2182},[17077,17082,17086],{"type":426,"tag":553,"props":17078,"children":17079},{"style":566},[17080],{"type":431,"value":17081},"INDUSTRY_TEMPLATES",{"type":426,"tag":553,"props":17083,"children":17084},{"style":795},[17085],{"type":431,"value":8739},{"type":426,"tag":553,"props":17087,"children":17088},{"style":684},[17089],{"type":431,"value":5458},{"type":426,"tag":553,"props":17091,"children":17092},{"class":555,"line":2205},[17093,17098],{"type":426,"tag":553,"props":17094,"children":17095},{"style":572},[17096],{"type":431,"value":17097},"    'ecommerce'",{"type":426,"tag":553,"props":17099,"children":17100},{"style":684},[17101],{"type":431,"value":17102},": {\n",{"type":426,"tag":553,"props":17104,"children":17105},{"class":555,"line":2241},[17106,17111,17115,17120],{"type":426,"tag":553,"props":17107,"children":17108},{"style":572},[17109],{"type":431,"value":17110},"        'description'",{"type":426,"tag":553,"props":17112,"children":17113},{"style":684},[17114],{"type":431,"value":700},{"type":426,"tag":553,"props":17116,"children":17117},{"style":572},[17118],{"type":431,"value":17119},"'Order confirmations, shipping updates, review requests'",{"type":426,"tag":553,"props":17121,"children":17122},{"style":684},[17123],{"type":431,"value":710},{"type":426,"tag":553,"props":17125,"children":17126},{"class":555,"line":2250},[17127,17132],{"type":426,"tag":553,"props":17128,"children":17129},{"style":572},[17130],{"type":431,"value":17131},"        'n8n_templates'",{"type":426,"tag":553,"props":17133,"children":17134},{"style":684},[17135],{"type":431,"value":17136},": [\n",{"type":426,"tag":553,"props":17138,"children":17139},{"class":555,"line":2302},[17140,17145,17149],{"type":426,"tag":553,"props":17141,"children":17142},{"style":572},[17143],{"type":431,"value":17144},"            'https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9879'",{"type":426,"tag":553,"props":17146,"children":17147},{"style":684},[17148],{"type":431,"value":11654},{"type":426,"tag":553,"props":17150,"children":17151},{"style":1975},[17152],{"type":431,"value":17153},"# WooCommerce invoices\n",{"type":426,"tag":553,"props":17155,"children":17156},{"class":555,"line":2353},[17157,17162,17166],{"type":426,"tag":553,"props":17158,"children":17159},{"style":572},[17160],{"type":431,"value":17161},"            'https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9880'",{"type":426,"tag":553,"props":17163,"children":17164},{"style":684},[17165],{"type":431,"value":11654},{"type":426,"tag":553,"props":17167,"children":17168},{"style":1975},[17169],{"type":431,"value":17170},"# Order updates\n",{"type":426,"tag":553,"props":17172,"children":17173},{"class":555,"line":2390},[17174,17179,17183],{"type":426,"tag":553,"props":17175,"children":17176},{"style":572},[17177],{"type":431,"value":17178},"            'https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9969'",{"type":426,"tag":553,"props":17180,"children":17181},{"style":684},[17182],{"type":431,"value":11654},{"type":426,"tag":553,"props":17184,"children":17185},{"style":1975},[17186],{"type":431,"value":17187},"# Review requests\n",{"type":426,"tag":553,"props":17189,"children":17190},{"class":555,"line":2440},[17191],{"type":426,"tag":553,"props":17192,"children":17193},{"style":684},[17194],{"type":431,"value":17195},"        ]\n",{"type":426,"tag":553,"props":17197,"children":17198},{"class":555,"line":2488},[17199],{"type":426,"tag":553,"props":17200,"children":17201},{"style":684},[17202],{"type":431,"value":17203},"    },\n",{"type":426,"tag":553,"props":17205,"children":17206},{"class":555,"line":2509},[17207,17212],{"type":426,"tag":553,"props":17208,"children":17209},{"style":572},[17210],{"type":431,"value":17211},"    'healthcare'",{"type":426,"tag":553,"props":17213,"children":17214},{"style":684},[17215],{"type":431,"value":17102},{"type":426,"tag":553,"props":17217,"children":17218},{"class":555,"line":2527},[17219,17223,17227,17232],{"type":426,"tag":553,"props":17220,"children":17221},{"style":572},[17222],{"type":431,"value":17110},{"type":426,"tag":553,"props":17224,"children":17225},{"style":684},[17226],{"type":431,"value":700},{"type":426,"tag":553,"props":17228,"children":17229},{"style":572},[17230],{"type":431,"value":17231},"'Appointment reminders, lab result notifications'",{"type":426,"tag":553,"props":17233,"children":17234},{"style":684},[17235],{"type":431,"value":710},{"type":426,"tag":553,"props":17237,"children":17238},{"class":555,"line":2545},[17239,17244,17248],{"type":426,"tag":553,"props":17240,"children":17241},{"style":572},[17242],{"type":431,"value":17243},"        'setup_steps'",{"type":426,"tag":553,"props":17245,"children":17246},{"style":684},[17247],{"type":431,"value":700},{"type":426,"tag":553,"props":17249,"children":17250},{"style":572},[17251],{"type":431,"value":17252},"'Connect PMS webhook → configure reminder schedule'\n",{"type":426,"tag":553,"props":17254,"children":17255},{"class":555,"line":12991},[17256],{"type":426,"tag":553,"props":17257,"children":17258},{"style":684},[17259],{"type":431,"value":17203},{"type":426,"tag":553,"props":17261,"children":17262},{"class":555,"line":13004},[17263,17268],{"type":426,"tag":553,"props":17264,"children":17265},{"style":572},[17266],{"type":431,"value":17267},"    'real_estate'",{"type":426,"tag":553,"props":17269,"children":17270},{"style":684},[17271],{"type":431,"value":17102},{"type":426,"tag":553,"props":17273,"children":17274},{"class":555,"line":13012},[17275,17279,17283,17288],{"type":426,"tag":553,"props":17276,"children":17277},{"style":572},[17278],{"type":431,"value":17110},{"type":426,"tag":553,"props":17280,"children":17281},{"style":684},[17282],{"type":431,"value":700},{"type":426,"tag":553,"props":17284,"children":17285},{"style":572},[17286],{"type":431,"value":17287},"'Lead follow-up, viewing confirmations, price alerts'",{"type":426,"tag":553,"props":17289,"children":17290},{"style":684},[17291],{"type":431,"value":710},{"type":426,"tag":553,"props":17293,"children":17294},{"class":555,"line":13025},[17295,17299,17303],{"type":426,"tag":553,"props":17296,"children":17297},{"style":572},[17298],{"type":431,"value":17243},{"type":426,"tag":553,"props":17300,"children":17301},{"style":684},[17302],{"type":431,"value":700},{"type":426,"tag":553,"props":17304,"children":17305},{"style":572},[17306],{"type":431,"value":17307},"'Connect CRM → configure 5-minute lead response'\n",{"type":426,"tag":553,"props":17309,"children":17310},{"class":555,"line":13033},[17311],{"type":426,"tag":553,"props":17312,"children":17313},{"style":684},[17314],{"type":431,"value":17203},{"type":426,"tag":553,"props":17316,"children":17317},{"class":555,"line":13069},[17318,17323],{"type":426,"tag":553,"props":17319,"children":17320},{"style":572},[17321],{"type":431,"value":17322},"    'restaurant'",{"type":426,"tag":553,"props":17324,"children":17325},{"style":684},[17326],{"type":431,"value":17102},{"type":426,"tag":553,"props":17328,"children":17329},{"class":555,"line":13089},[17330,17334,17338,17343],{"type":426,"tag":553,"props":17331,"children":17332},{"style":572},[17333],{"type":431,"value":17110},{"type":426,"tag":553,"props":17335,"children":17336},{"style":684},[17337],{"type":431,"value":700},{"type":426,"tag":553,"props":17339,"children":17340},{"style":572},[17341],{"type":431,"value":17342},"'Reservation confirmations, order updates, promotions'",{"type":426,"tag":553,"props":17344,"children":17345},{"style":684},[17346],{"type":431,"value":710},{"type":426,"tag":553,"props":17348,"children":17349},{"class":555,"line":13102},[17350,17354,17358],{"type":426,"tag":553,"props":17351,"children":17352},{"style":572},[17353],{"type":431,"value":17243},{"type":426,"tag":553,"props":17355,"children":17356},{"style":684},[17357],{"type":431,"value":700},{"type":426,"tag":553,"props":17359,"children":17360},{"style":572},[17361],{"type":431,"value":17362},"'Connect booking system → configure confirmation workflow'\n",{"type":426,"tag":553,"props":17364,"children":17365},{"class":555,"line":13111},[17366],{"type":426,"tag":553,"props":17367,"children":17368},{"style":684},[17369],{"type":431,"value":5546},{"type":426,"tag":553,"props":17371,"children":17372},{"class":555,"line":13120},[17373],{"type":426,"tag":553,"props":17374,"children":17375},{"style":684},[17376],{"type":431,"value":756},{"type":426,"tag":434,"props":17378,"children":17380},{"id":17379},"step-3-multi-client-message-routing",[17381],{"type":431,"value":17382},"Step 3: Multi-Client Message Routing",{"type":426,"tag":427,"props":17384,"children":17385},{},[17386],{"type":431,"value":17387},"When you manage multiple clients, route messages correctly by client API key:",{"type":426,"tag":542,"props":17389,"children":17391},{"className":785,"code":17390,"language":784,"meta":417,"style":417},"import requests\nfrom dataclasses import dataclass\n\n@dataclass\nclass ClientConfig:\n    name: str\n    api_key: str  # Client's Rapiwa API key\n    phone_number: str\n    industry: str\n\nclass AgencyWhatsAppRouter:\n    def __init__(self, clients: list[ClientConfig]):\n        self.clients = {c.phone_number: c for c in clients}\n    \n    def send_for_client(self, client_phone: str, recipient: str, message: str) -> dict:\n        \"\"\"Send a WhatsApp message using the correct client's API key.\"\"\"\n        client = self.clients.get(client_phone)\n        if not client:\n            raise ValueError(f\"Unknown client phone: {client_phone}\")\n        \n        return requests.post(\n            'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n            headers={'Authorization': f'Bearer {client.api_key}'},\n            json={'number': recipient, 'message': message}\n        ).json()\n    \n    def broadcast_to_client_contacts(\n        self, \n        client_phone: str, \n        contacts: list[dict], \n        message_template: str\n    ) -> list[dict]:\n        \"\"\"Send personalized broadcasts for a client's campaign.\"\"\"\n        results = []\n        import time\n        \n        for contact in contacts:\n            message = message_template.format(**contact)\n            result = self.send_for_client(client_phone, contact['phone'], message)\n            results.append({\n                'contact': contact['name'],\n                'status': result.get('status')\n            })\n            time.sleep(1)  # Rate limiting\n        \n        return results\n",[17392],{"type":426,"tag":549,"props":17393,"children":17394},{"__ignoreMap":417},[17395,17406,17427,17434,17442,17458,17471,17488,17500,17512,17519,17535,17551,17589,17596,17645,17653,17674,17690,17735,17742,17753,17764,17816,17847,17854,17861,17877,17885,17902,17918,17930,17946,17954,17971,17982,17989,18010,18036,18066,18074,18095,18116,18124,18144,18151],{"type":426,"tag":553,"props":17396,"children":17397},{"class":555,"line":556},[17398,17402],{"type":426,"tag":553,"props":17399,"children":17400},{"style":795},[17401],{"type":431,"value":798},{"type":426,"tag":553,"props":17403,"children":17404},{"style":684},[17405],{"type":431,"value":803},{"type":426,"tag":553,"props":17407,"children":17408},{"class":555,"line":588},[17409,17413,17418,17422],{"type":426,"tag":553,"props":17410,"children":17411},{"style":795},[17412],{"type":431,"value":811},{"type":426,"tag":553,"props":17414,"children":17415},{"style":684},[17416],{"type":431,"value":17417}," dataclasses ",{"type":426,"tag":553,"props":17419,"children":17420},{"style":795},[17421],{"type":431,"value":798},{"type":426,"tag":553,"props":17423,"children":17424},{"style":684},[17425],{"type":431,"value":17426}," dataclass\n",{"type":426,"tag":553,"props":17428,"children":17429},{"class":555,"line":606},[17430],{"type":426,"tag":553,"props":17431,"children":17432},{"emptyLinePlaceholder":831},[17433],{"type":431,"value":834},{"type":426,"tag":553,"props":17435,"children":17436},{"class":555,"line":623},[17437],{"type":426,"tag":553,"props":17438,"children":17439},{"style":560},[17440],{"type":431,"value":17441},"@dataclass\n",{"type":426,"tag":553,"props":17443,"children":17444},{"class":555,"line":637},[17445,17449,17454],{"type":426,"tag":553,"props":17446,"children":17447},{"style":795},[17448],{"type":431,"value":11909},{"type":426,"tag":553,"props":17450,"children":17451},{"style":560},[17452],{"type":431,"value":17453}," ClientConfig",{"type":426,"tag":553,"props":17455,"children":17456},{"style":684},[17457],{"type":431,"value":909},{"type":426,"tag":553,"props":17459,"children":17460},{"class":555,"line":646},[17461,17466],{"type":426,"tag":553,"props":17462,"children":17463},{"style":684},[17464],{"type":431,"value":17465},"    name: ",{"type":426,"tag":553,"props":17467,"children":17468},{"style":566},[17469],{"type":431,"value":17470},"str\n",{"type":426,"tag":553,"props":17472,"children":17473},{"class":555,"line":655},[17474,17479,17483],{"type":426,"tag":553,"props":17475,"children":17476},{"style":684},[17477],{"type":431,"value":17478},"    api_key: ",{"type":426,"tag":553,"props":17480,"children":17481},{"style":566},[17482],{"type":431,"value":895},{"type":426,"tag":553,"props":17484,"children":17485},{"style":1975},[17486],{"type":431,"value":17487},"  # Client's Rapiwa API key\n",{"type":426,"tag":553,"props":17489,"children":17490},{"class":555,"line":1036},[17491,17496],{"type":426,"tag":553,"props":17492,"children":17493},{"style":684},[17494],{"type":431,"value":17495},"    phone_number: ",{"type":426,"tag":553,"props":17497,"children":17498},{"style":566},[17499],{"type":431,"value":17470},{"type":426,"tag":553,"props":17501,"children":17502},{"class":555,"line":1054},[17503,17508],{"type":426,"tag":553,"props":17504,"children":17505},{"style":684},[17506],{"type":431,"value":17507},"    industry: ",{"type":426,"tag":553,"props":17509,"children":17510},{"style":566},[17511],{"type":431,"value":17470},{"type":426,"tag":553,"props":17513,"children":17514},{"class":555,"line":1080},[17515],{"type":426,"tag":553,"props":17516,"children":17517},{"emptyLinePlaceholder":831},[17518],{"type":431,"value":834},{"type":426,"tag":553,"props":17520,"children":17521},{"class":555,"line":1097},[17522,17526,17531],{"type":426,"tag":553,"props":17523,"children":17524},{"style":795},[17525],{"type":431,"value":11909},{"type":426,"tag":553,"props":17527,"children":17528},{"style":560},[17529],{"type":431,"value":17530}," AgencyWhatsAppRouter",{"type":426,"tag":553,"props":17532,"children":17533},{"style":684},[17534],{"type":431,"value":909},{"type":426,"tag":553,"props":17536,"children":17537},{"class":555,"line":1114},[17538,17542,17546],{"type":426,"tag":553,"props":17539,"children":17540},{"style":795},[17541],{"type":431,"value":11926},{"type":426,"tag":553,"props":17543,"children":17544},{"style":566},[17545],{"type":431,"value":11931},{"type":426,"tag":553,"props":17547,"children":17548},{"style":684},[17549],{"type":431,"value":17550},"(self, clients: list[ClientConfig]):\n",{"type":426,"tag":553,"props":17552,"children":17553},{"class":555,"line":1127},[17554,17558,17563,17567,17572,17576,17580,17584],{"type":426,"tag":553,"props":17555,"children":17556},{"style":566},[17557],{"type":431,"value":11952},{"type":426,"tag":553,"props":17559,"children":17560},{"style":684},[17561],{"type":431,"value":17562},".clients ",{"type":426,"tag":553,"props":17564,"children":17565},{"style":795},[17566],{"type":431,"value":957},{"type":426,"tag":553,"props":17568,"children":17569},{"style":684},[17570],{"type":431,"value":17571}," {c.phone_number: c ",{"type":426,"tag":553,"props":17573,"children":17574},{"style":795},[17575],{"type":431,"value":7491},{"type":426,"tag":553,"props":17577,"children":17578},{"style":684},[17579],{"type":431,"value":7496},{"type":426,"tag":553,"props":17581,"children":17582},{"style":795},[17583],{"type":431,"value":2005},{"type":426,"tag":553,"props":17585,"children":17586},{"style":684},[17587],{"type":431,"value":17588}," clients}\n",{"type":426,"tag":553,"props":17590,"children":17591},{"class":555,"line":1167},[17592],{"type":426,"tag":553,"props":17593,"children":17594},{"style":684},[17595],{"type":431,"value":917},{"type":426,"tag":553,"props":17597,"children":17598},{"class":555,"line":1184},[17599,17603,17608,17613,17617,17621,17625,17629,17633,17637,17641],{"type":426,"tag":553,"props":17600,"children":17601},{"style":795},[17602],{"type":431,"value":11926},{"type":426,"tag":553,"props":17604,"children":17605},{"style":560},[17606],{"type":431,"value":17607}," send_for_client",{"type":426,"tag":553,"props":17609,"children":17610},{"style":684},[17611],{"type":431,"value":17612},"(self, client_phone: ",{"type":426,"tag":553,"props":17614,"children":17615},{"style":566},[17616],{"type":431,"value":895},{"type":426,"tag":553,"props":17618,"children":17619},{"style":684},[17620],{"type":431,"value":12238},{"type":426,"tag":553,"props":17622,"children":17623},{"style":566},[17624],{"type":431,"value":895},{"type":426,"tag":553,"props":17626,"children":17627},{"style":684},[17628],{"type":431,"value":8713},{"type":426,"tag":553,"props":17630,"children":17631},{"style":566},[17632],{"type":431,"value":895},{"type":426,"tag":553,"props":17634,"children":17635},{"style":684},[17636],{"type":431,"value":900},{"type":426,"tag":553,"props":17638,"children":17639},{"style":566},[17640],{"type":431,"value":857},{"type":426,"tag":553,"props":17642,"children":17643},{"style":684},[17644],{"type":431,"value":909},{"type":426,"tag":553,"props":17646,"children":17647},{"class":555,"line":1192},[17648],{"type":426,"tag":553,"props":17649,"children":17650},{"style":572},[17651],{"type":431,"value":17652},"        \"\"\"Send a WhatsApp message using the correct client's API key.\"\"\"\n",{"type":426,"tag":553,"props":17654,"children":17655},{"class":555,"line":1210},[17656,17661,17665,17669],{"type":426,"tag":553,"props":17657,"children":17658},{"style":684},[17659],{"type":431,"value":17660},"        client ",{"type":426,"tag":553,"props":17662,"children":17663},{"style":795},[17664],{"type":431,"value":957},{"type":426,"tag":553,"props":17666,"children":17667},{"style":566},[17668],{"type":431,"value":12033},{"type":426,"tag":553,"props":17670,"children":17671},{"style":684},[17672],{"type":431,"value":17673},".clients.get(client_phone)\n",{"type":426,"tag":553,"props":17675,"children":17676},{"class":555,"line":1253},[17677,17681,17685],{"type":426,"tag":553,"props":17678,"children":17679},{"style":795},[17680],{"type":431,"value":2972},{"type":426,"tag":553,"props":17682,"children":17683},{"style":795},[17684],{"type":431,"value":12110},{"type":426,"tag":553,"props":17686,"children":17687},{"style":684},[17688],{"type":431,"value":17689}," client:\n",{"type":426,"tag":553,"props":17691,"children":17692},{"class":555,"line":1302},[17693,17697,17701,17705,17709,17714,17718,17723,17727,17731],{"type":426,"tag":553,"props":17694,"children":17695},{"style":795},[17696],{"type":431,"value":12345},{"type":426,"tag":553,"props":17698,"children":17699},{"style":566},[17700],{"type":431,"value":12350},{"type":426,"tag":553,"props":17702,"children":17703},{"style":684},[17704],{"type":431,"value":3275},{"type":426,"tag":553,"props":17706,"children":17707},{"style":795},[17708],{"type":431,"value":1709},{"type":426,"tag":553,"props":17710,"children":17711},{"style":572},[17712],{"type":431,"value":17713},"\"Unknown client phone: ",{"type":426,"tag":553,"props":17715,"children":17716},{"style":566},[17717],{"type":431,"value":972},{"type":426,"tag":553,"props":17719,"children":17720},{"style":684},[17721],{"type":431,"value":17722},"client_phone",{"type":426,"tag":553,"props":17724,"children":17725},{"style":566},[17726],{"type":431,"value":982},{"type":426,"tag":553,"props":17728,"children":17729},{"style":572},[17730],{"type":431,"value":1527},{"type":426,"tag":553,"props":17732,"children":17733},{"style":684},[17734],{"type":431,"value":3262},{"type":426,"tag":553,"props":17736,"children":17737},{"class":555,"line":1374},[17738],{"type":426,"tag":553,"props":17739,"children":17740},{"style":684},[17741],{"type":431,"value":2061},{"type":426,"tag":553,"props":17743,"children":17744},{"class":555,"line":1414},[17745,17749],{"type":426,"tag":553,"props":17746,"children":17747},{"style":795},[17748],{"type":431,"value":8378},{"type":426,"tag":553,"props":17750,"children":17751},{"style":684},[17752],{"type":431,"value":1664},{"type":426,"tag":553,"props":17754,"children":17755},{"class":555,"line":1479},[17756,17760],{"type":426,"tag":553,"props":17757,"children":17758},{"style":572},[17759],{"type":431,"value":2852},{"type":426,"tag":553,"props":17761,"children":17762},{"style":684},[17763],{"type":431,"value":710},{"type":426,"tag":553,"props":17765,"children":17766},{"class":555,"line":1517},[17767,17771,17775,17779,17783,17787,17791,17795,17799,17804,17808,17812],{"type":426,"tag":553,"props":17768,"children":17769},{"style":1684},[17770],{"type":431,"value":2864},{"type":426,"tag":553,"props":17772,"children":17773},{"style":795},[17774],{"type":431,"value":957},{"type":426,"tag":553,"props":17776,"children":17777},{"style":684},[17778],{"type":431,"value":972},{"type":426,"tag":553,"props":17780,"children":17781},{"style":572},[17782],{"type":431,"value":1700},{"type":426,"tag":553,"props":17784,"children":17785},{"style":684},[17786],{"type":431,"value":700},{"type":426,"tag":553,"props":17788,"children":17789},{"style":795},[17790],{"type":431,"value":1709},{"type":426,"tag":553,"props":17792,"children":17793},{"style":572},[17794],{"type":431,"value":1714},{"type":426,"tag":553,"props":17796,"children":17797},{"style":566},[17798],{"type":431,"value":972},{"type":426,"tag":553,"props":17800,"children":17801},{"style":684},[17802],{"type":431,"value":17803},"client.api_key",{"type":426,"tag":553,"props":17805,"children":17806},{"style":566},[17807],{"type":431,"value":982},{"type":426,"tag":553,"props":17809,"children":17810},{"style":572},[17811],{"type":431,"value":1732},{"type":426,"tag":553,"props":17813,"children":17814},{"style":684},[17815],{"type":431,"value":1737},{"type":426,"tag":553,"props":17817,"children":17818},{"class":555,"line":1560},[17819,17823,17827,17831,17835,17839,17843],{"type":426,"tag":553,"props":17820,"children":17821},{"style":1684},[17822],{"type":431,"value":2916},{"type":426,"tag":553,"props":17824,"children":17825},{"style":795},[17826],{"type":431,"value":957},{"type":426,"tag":553,"props":17828,"children":17829},{"style":684},[17830],{"type":431,"value":972},{"type":426,"tag":553,"props":17832,"children":17833},{"style":572},[17834],{"type":431,"value":1759},{"type":426,"tag":553,"props":17836,"children":17837},{"style":684},[17838],{"type":431,"value":12661},{"type":426,"tag":553,"props":17840,"children":17841},{"style":572},[17842],{"type":431,"value":1779},{"type":426,"tag":553,"props":17844,"children":17845},{"style":684},[17846],{"type":431,"value":1784},{"type":426,"tag":553,"props":17848,"children":17849},{"class":555,"line":1598},[17850],{"type":426,"tag":553,"props":17851,"children":17852},{"style":684},[17853],{"type":431,"value":2957},{"type":426,"tag":553,"props":17855,"children":17856},{"class":555,"line":1636},[17857],{"type":426,"tag":553,"props":17858,"children":17859},{"style":684},[17860],{"type":431,"value":917},{"type":426,"tag":553,"props":17862,"children":17863},{"class":555,"line":1645},[17864,17868,17873],{"type":426,"tag":553,"props":17865,"children":17866},{"style":795},[17867],{"type":431,"value":11926},{"type":426,"tag":553,"props":17869,"children":17870},{"style":560},[17871],{"type":431,"value":17872}," broadcast_to_client_contacts",{"type":426,"tag":553,"props":17874,"children":17875},{"style":684},[17876],{"type":431,"value":3172},{"type":426,"tag":553,"props":17878,"children":17879},{"class":555,"line":1653},[17880],{"type":426,"tag":553,"props":17881,"children":17882},{"style":684},[17883],{"type":431,"value":17884},"        self, \n",{"type":426,"tag":553,"props":17886,"children":17887},{"class":555,"line":1667},[17888,17893,17897],{"type":426,"tag":553,"props":17889,"children":17890},{"style":684},[17891],{"type":431,"value":17892},"        client_phone: ",{"type":426,"tag":553,"props":17894,"children":17895},{"style":566},[17896],{"type":431,"value":895},{"type":426,"tag":553,"props":17898,"children":17899},{"style":684},[17900],{"type":431,"value":17901},", \n",{"type":426,"tag":553,"props":17903,"children":17904},{"class":555,"line":1680},[17905,17910,17914],{"type":426,"tag":553,"props":17906,"children":17907},{"style":684},[17908],{"type":431,"value":17909},"        contacts: list[",{"type":426,"tag":553,"props":17911,"children":17912},{"style":566},[17913],{"type":431,"value":857},{"type":426,"tag":553,"props":17915,"children":17916},{"style":684},[17917],{"type":431,"value":2350},{"type":426,"tag":553,"props":17919,"children":17920},{"class":555,"line":1740},[17921,17926],{"type":426,"tag":553,"props":17922,"children":17923},{"style":684},[17924],{"type":431,"value":17925},"        message_template: ",{"type":426,"tag":553,"props":17927,"children":17928},{"style":566},[17929],{"type":431,"value":17470},{"type":426,"tag":553,"props":17931,"children":17932},{"class":555,"line":1787},[17933,17938,17942],{"type":426,"tag":553,"props":17934,"children":17935},{"style":684},[17936],{"type":431,"value":17937},"    ) -> list[",{"type":426,"tag":553,"props":17939,"children":17940},{"style":566},[17941],{"type":431,"value":857},{"type":426,"tag":553,"props":17943,"children":17944},{"style":684},[17945],{"type":431,"value":12008},{"type":426,"tag":553,"props":17947,"children":17948},{"class":555,"line":1796},[17949],{"type":426,"tag":553,"props":17950,"children":17951},{"style":572},[17952],{"type":431,"value":17953},"        \"\"\"Send personalized broadcasts for a client's campaign.\"\"\"\n",{"type":426,"tag":553,"props":17955,"children":17956},{"class":555,"line":1804},[17957,17962,17966],{"type":426,"tag":553,"props":17958,"children":17959},{"style":684},[17960],{"type":431,"value":17961},"        results ",{"type":426,"tag":553,"props":17963,"children":17964},{"style":795},[17965],{"type":431,"value":957},{"type":426,"tag":553,"props":17967,"children":17968},{"style":684},[17969],{"type":431,"value":17970}," []\n",{"type":426,"tag":553,"props":17972,"children":17973},{"class":555,"line":1812},[17974,17978],{"type":426,"tag":553,"props":17975,"children":17976},{"style":795},[17977],{"type":431,"value":3076},{"type":426,"tag":553,"props":17979,"children":17980},{"style":684},[17981],{"type":431,"value":3081},{"type":426,"tag":553,"props":17983,"children":17984},{"class":555,"line":1847},[17985],{"type":426,"tag":553,"props":17986,"children":17987},{"style":684},[17988],{"type":431,"value":2061},{"type":426,"tag":553,"props":17990,"children":17991},{"class":555,"line":1856},[17992,17996,18001,18005],{"type":426,"tag":553,"props":17993,"children":17994},{"style":795},[17995],{"type":431,"value":2188},{"type":426,"tag":553,"props":17997,"children":17998},{"style":684},[17999],{"type":431,"value":18000}," contact ",{"type":426,"tag":553,"props":18002,"children":18003},{"style":795},[18004],{"type":431,"value":2005},{"type":426,"tag":553,"props":18006,"children":18007},{"style":684},[18008],{"type":431,"value":18009}," contacts:\n",{"type":426,"tag":553,"props":18011,"children":18012},{"class":555,"line":1874},[18013,18018,18022,18027,18031],{"type":426,"tag":553,"props":18014,"children":18015},{"style":684},[18016],{"type":431,"value":18017},"            message ",{"type":426,"tag":553,"props":18019,"children":18020},{"style":795},[18021],{"type":431,"value":957},{"type":426,"tag":553,"props":18023,"children":18024},{"style":684},[18025],{"type":431,"value":18026}," message_template.format(",{"type":426,"tag":553,"props":18028,"children":18029},{"style":795},[18030],{"type":431,"value":13053},{"type":426,"tag":553,"props":18032,"children":18033},{"style":684},[18034],{"type":431,"value":18035},"contact)\n",{"type":426,"tag":553,"props":18037,"children":18038},{"class":555,"line":1882},[18039,18044,18048,18052,18057,18061],{"type":426,"tag":553,"props":18040,"children":18041},{"style":684},[18042],{"type":431,"value":18043},"            result ",{"type":426,"tag":553,"props":18045,"children":18046},{"style":795},[18047],{"type":431,"value":957},{"type":426,"tag":553,"props":18049,"children":18050},{"style":566},[18051],{"type":431,"value":12033},{"type":426,"tag":553,"props":18053,"children":18054},{"style":684},[18055],{"type":431,"value":18056},".send_for_client(client_phone, contact[",{"type":426,"tag":553,"props":18058,"children":18059},{"style":572},[18060],{"type":431,"value":1769},{"type":426,"tag":553,"props":18062,"children":18063},{"style":684},[18064],{"type":431,"value":18065},"], message)\n",{"type":426,"tag":553,"props":18067,"children":18068},{"class":555,"line":1981},[18069],{"type":426,"tag":553,"props":18070,"children":18071},{"style":684},[18072],{"type":431,"value":18073},"            results.append({\n",{"type":426,"tag":553,"props":18075,"children":18076},{"class":555,"line":1989},[18077,18082,18087,18091],{"type":426,"tag":553,"props":18078,"children":18079},{"style":572},[18080],{"type":431,"value":18081},"                'contact'",{"type":426,"tag":553,"props":18083,"children":18084},{"style":684},[18085],{"type":431,"value":18086},": contact[",{"type":426,"tag":553,"props":18088,"children":18089},{"style":572},[18090],{"type":431,"value":1277},{"type":426,"tag":553,"props":18092,"children":18093},{"style":684},[18094],{"type":431,"value":12804},{"type":426,"tag":553,"props":18096,"children":18097},{"class":555,"line":2013},[18098,18103,18108,18112],{"type":426,"tag":553,"props":18099,"children":18100},{"style":572},[18101],{"type":431,"value":18102},"                'status'",{"type":426,"tag":553,"props":18104,"children":18105},{"style":684},[18106],{"type":431,"value":18107},": result.get(",{"type":426,"tag":553,"props":18109,"children":18110},{"style":572},[18111],{"type":431,"value":2982},{"type":426,"tag":553,"props":18113,"children":18114},{"style":684},[18115],{"type":431,"value":3262},{"type":426,"tag":553,"props":18117,"children":18118},{"class":555,"line":2055},[18119],{"type":426,"tag":553,"props":18120,"children":18121},{"style":684},[18122],{"type":431,"value":18123},"            })\n",{"type":426,"tag":553,"props":18125,"children":18126},{"class":555,"line":2064},[18127,18131,18135,18139],{"type":426,"tag":553,"props":18128,"children":18129},{"style":684},[18130],{"type":431,"value":9238},{"type":426,"tag":553,"props":18132,"children":18133},{"style":566},[18134],{"type":431,"value":1921},{"type":426,"tag":553,"props":18136,"children":18137},{"style":684},[18138],{"type":431,"value":3099},{"type":426,"tag":553,"props":18140,"children":18141},{"style":1975},[18142],{"type":431,"value":18143},"# Rate limiting\n",{"type":426,"tag":553,"props":18145,"children":18146},{"class":555,"line":2087},[18147],{"type":426,"tag":553,"props":18148,"children":18149},{"style":684},[18150],{"type":431,"value":2061},{"type":426,"tag":553,"props":18152,"children":18153},{"class":555,"line":2096},[18154,18158],{"type":426,"tag":553,"props":18155,"children":18156},{"style":795},[18157],{"type":431,"value":8378},{"type":426,"tag":553,"props":18159,"children":18160},{"style":684},[18161],{"type":431,"value":3123},{"type":426,"tag":434,"props":18163,"children":18165},{"id":18164},"step-4-client-reporting-dashboard",[18166],{"type":431,"value":18167},"Step 4: Client Reporting Dashboard",{"type":426,"tag":427,"props":18169,"children":18170},{},[18171],{"type":431,"value":18172},"Track campaign metrics for client reporting:",{"type":426,"tag":542,"props":18174,"children":18176},{"className":785,"code":18175,"language":784,"meta":417,"style":417},"def generate_client_report(client_id: str, month: str) -> dict:\n    \"\"\"Generate monthly WhatsApp campaign report for a client.\"\"\"\n    \n    messages = db.query(\"\"\"\n        SELECT \n            COUNT(*) as total_sent,\n            SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) as delivered,\n            COUNT(DISTINCT recipient_phone) as unique_recipients,\n            AVG(response_time_seconds) as avg_delivery_time\n        FROM message_log\n        WHERE client_id = %s\n          AND DATE_TRUNC('month', sent_at) = %s\n    \"\"\", [client_id, month])\n    \n    inbound = db.query(\"\"\"\n        SELECT COUNT(*) as replies_received\n        FROM inbound_messages\n        WHERE client_id = %s\n          AND DATE_TRUNC('month', received_at) = %s\n    \"\"\", [client_id, month])\n    \n    return {\n        'client_id': client_id,\n        'period': month,\n        'messages_sent': messages['total_sent'],\n        'delivery_rate': messages['delivered'] \u002F messages['total_sent'] * 100,\n        'unique_recipients': messages['unique_recipients'],\n        'replies_received': inbound['replies_received'],\n        'engagement_rate': inbound['replies_received'] \u002F messages['total_sent'] * 100,\n    }\n",[18177],{"type":426,"tag":549,"props":18178,"children":18179},{"__ignoreMap":417},[18180,18221,18229,18236,18256,18263,18271,18279,18287,18295,18302,18314,18326,18338,18345,18365,18373,18381,18392,18404,18415,18422,18433,18446,18457,18478,18530,18551,18573,18621],{"type":426,"tag":553,"props":18181,"children":18182},{"class":555,"line":556},[18183,18187,18192,18197,18201,18205,18209,18213,18217],{"type":426,"tag":553,"props":18184,"children":18185},{"style":795},[18186],{"type":431,"value":842},{"type":426,"tag":553,"props":18188,"children":18189},{"style":560},[18190],{"type":431,"value":18191}," generate_client_report",{"type":426,"tag":553,"props":18193,"children":18194},{"style":684},[18195],{"type":431,"value":18196},"(client_id: ",{"type":426,"tag":553,"props":18198,"children":18199},{"style":566},[18200],{"type":431,"value":895},{"type":426,"tag":553,"props":18202,"children":18203},{"style":684},[18204],{"type":431,"value":15400},{"type":426,"tag":553,"props":18206,"children":18207},{"style":566},[18208],{"type":431,"value":895},{"type":426,"tag":553,"props":18210,"children":18211},{"style":684},[18212],{"type":431,"value":900},{"type":426,"tag":553,"props":18214,"children":18215},{"style":566},[18216],{"type":431,"value":857},{"type":426,"tag":553,"props":18218,"children":18219},{"style":684},[18220],{"type":431,"value":909},{"type":426,"tag":553,"props":18222,"children":18223},{"class":555,"line":588},[18224],{"type":426,"tag":553,"props":18225,"children":18226},{"style":572},[18227],{"type":431,"value":18228},"    \"\"\"Generate monthly WhatsApp campaign report for a client.\"\"\"\n",{"type":426,"tag":553,"props":18230,"children":18231},{"class":555,"line":606},[18232],{"type":426,"tag":553,"props":18233,"children":18234},{"style":684},[18235],{"type":431,"value":917},{"type":426,"tag":553,"props":18237,"children":18238},{"class":555,"line":623},[18239,18244,18248,18252],{"type":426,"tag":553,"props":18240,"children":18241},{"style":684},[18242],{"type":431,"value":18243},"    messages ",{"type":426,"tag":553,"props":18245,"children":18246},{"style":795},[18247],{"type":431,"value":957},{"type":426,"tag":553,"props":18249,"children":18250},{"style":684},[18251],{"type":431,"value":2079},{"type":426,"tag":553,"props":18253,"children":18254},{"style":572},[18255],{"type":431,"value":2084},{"type":426,"tag":553,"props":18257,"children":18258},{"class":555,"line":637},[18259],{"type":426,"tag":553,"props":18260,"children":18261},{"style":572},[18262],{"type":431,"value":15453},{"type":426,"tag":553,"props":18264,"children":18265},{"class":555,"line":646},[18266],{"type":426,"tag":553,"props":18267,"children":18268},{"style":572},[18269],{"type":431,"value":18270},"            COUNT(*) as total_sent,\n",{"type":426,"tag":553,"props":18272,"children":18273},{"class":555,"line":655},[18274],{"type":426,"tag":553,"props":18275,"children":18276},{"style":572},[18277],{"type":431,"value":18278},"            SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) as delivered,\n",{"type":426,"tag":553,"props":18280,"children":18281},{"class":555,"line":1036},[18282],{"type":426,"tag":553,"props":18283,"children":18284},{"style":572},[18285],{"type":431,"value":18286},"            COUNT(DISTINCT recipient_phone) as unique_recipients,\n",{"type":426,"tag":553,"props":18288,"children":18289},{"class":555,"line":1054},[18290],{"type":426,"tag":553,"props":18291,"children":18292},{"style":572},[18293],{"type":431,"value":18294},"            AVG(response_time_seconds) as avg_delivery_time\n",{"type":426,"tag":553,"props":18296,"children":18297},{"class":555,"line":1080},[18298],{"type":426,"tag":553,"props":18299,"children":18300},{"style":572},[18301],{"type":431,"value":15477},{"type":426,"tag":553,"props":18303,"children":18304},{"class":555,"line":1097},[18305,18310],{"type":426,"tag":553,"props":18306,"children":18307},{"style":572},[18308],{"type":431,"value":18309},"        WHERE client_id = ",{"type":426,"tag":553,"props":18311,"children":18312},{"style":566},[18313],{"type":431,"value":15490},{"type":426,"tag":553,"props":18315,"children":18316},{"class":555,"line":1114},[18317,18322],{"type":426,"tag":553,"props":18318,"children":18319},{"style":572},[18320],{"type":431,"value":18321},"          AND DATE_TRUNC('month', sent_at) = ",{"type":426,"tag":553,"props":18323,"children":18324},{"style":566},[18325],{"type":431,"value":15490},{"type":426,"tag":553,"props":18327,"children":18328},{"class":555,"line":1127},[18329,18333],{"type":426,"tag":553,"props":18330,"children":18331},{"style":572},[18332],{"type":431,"value":15510},{"type":426,"tag":553,"props":18334,"children":18335},{"style":684},[18336],{"type":431,"value":18337},", [client_id, month])\n",{"type":426,"tag":553,"props":18339,"children":18340},{"class":555,"line":1167},[18341],{"type":426,"tag":553,"props":18342,"children":18343},{"style":684},[18344],{"type":431,"value":917},{"type":426,"tag":553,"props":18346,"children":18347},{"class":555,"line":1184},[18348,18353,18357,18361],{"type":426,"tag":553,"props":18349,"children":18350},{"style":684},[18351],{"type":431,"value":18352},"    inbound ",{"type":426,"tag":553,"props":18354,"children":18355},{"style":795},[18356],{"type":431,"value":957},{"type":426,"tag":553,"props":18358,"children":18359},{"style":684},[18360],{"type":431,"value":2079},{"type":426,"tag":553,"props":18362,"children":18363},{"style":572},[18364],{"type":431,"value":2084},{"type":426,"tag":553,"props":18366,"children":18367},{"class":555,"line":1192},[18368],{"type":426,"tag":553,"props":18369,"children":18370},{"style":572},[18371],{"type":431,"value":18372},"        SELECT COUNT(*) as replies_received\n",{"type":426,"tag":553,"props":18374,"children":18375},{"class":555,"line":1210},[18376],{"type":426,"tag":553,"props":18377,"children":18378},{"style":572},[18379],{"type":431,"value":18380},"        FROM inbound_messages\n",{"type":426,"tag":553,"props":18382,"children":18383},{"class":555,"line":1253},[18384,18388],{"type":426,"tag":553,"props":18385,"children":18386},{"style":572},[18387],{"type":431,"value":18309},{"type":426,"tag":553,"props":18389,"children":18390},{"style":566},[18391],{"type":431,"value":15490},{"type":426,"tag":553,"props":18393,"children":18394},{"class":555,"line":1302},[18395,18400],{"type":426,"tag":553,"props":18396,"children":18397},{"style":572},[18398],{"type":431,"value":18399},"          AND DATE_TRUNC('month', received_at) = ",{"type":426,"tag":553,"props":18401,"children":18402},{"style":566},[18403],{"type":431,"value":15490},{"type":426,"tag":553,"props":18405,"children":18406},{"class":555,"line":1374},[18407,18411],{"type":426,"tag":553,"props":18408,"children":18409},{"style":572},[18410],{"type":431,"value":15510},{"type":426,"tag":553,"props":18412,"children":18413},{"style":684},[18414],{"type":431,"value":18337},{"type":426,"tag":553,"props":18416,"children":18417},{"class":555,"line":1414},[18418],{"type":426,"tag":553,"props":18419,"children":18420},{"style":684},[18421],{"type":431,"value":917},{"type":426,"tag":553,"props":18423,"children":18424},{"class":555,"line":1479},[18425,18429],{"type":426,"tag":553,"props":18426,"children":18427},{"style":795},[18428],{"type":431,"value":1659},{"type":426,"tag":553,"props":18430,"children":18431},{"style":684},[18432],{"type":431,"value":5458},{"type":426,"tag":553,"props":18434,"children":18435},{"class":555,"line":1517},[18436,18441],{"type":426,"tag":553,"props":18437,"children":18438},{"style":572},[18439],{"type":431,"value":18440},"        'client_id'",{"type":426,"tag":553,"props":18442,"children":18443},{"style":684},[18444],{"type":431,"value":18445},": client_id,\n",{"type":426,"tag":553,"props":18447,"children":18448},{"class":555,"line":1560},[18449,18453],{"type":426,"tag":553,"props":18450,"children":18451},{"style":572},[18452],{"type":431,"value":15554},{"type":426,"tag":553,"props":18454,"children":18455},{"style":684},[18456],{"type":431,"value":15559},{"type":426,"tag":553,"props":18458,"children":18459},{"class":555,"line":1598},[18460,18464,18469,18474],{"type":426,"tag":553,"props":18461,"children":18462},{"style":572},[18463],{"type":431,"value":15567},{"type":426,"tag":553,"props":18465,"children":18466},{"style":684},[18467],{"type":431,"value":18468},": messages[",{"type":426,"tag":553,"props":18470,"children":18471},{"style":572},[18472],{"type":431,"value":18473},"'total_sent'",{"type":426,"tag":553,"props":18475,"children":18476},{"style":684},[18477],{"type":431,"value":12804},{"type":426,"tag":553,"props":18479,"children":18480},{"class":555,"line":1636},[18481,18486,18490,18495,18499,18504,18509,18513,18517,18521,18526],{"type":426,"tag":553,"props":18482,"children":18483},{"style":572},[18484],{"type":431,"value":18485},"        'delivery_rate'",{"type":426,"tag":553,"props":18487,"children":18488},{"style":684},[18489],{"type":431,"value":18468},{"type":426,"tag":553,"props":18491,"children":18492},{"style":572},[18493],{"type":431,"value":18494},"'delivered'",{"type":426,"tag":553,"props":18496,"children":18497},{"style":684},[18498],{"type":431,"value":2229},{"type":426,"tag":553,"props":18500,"children":18501},{"style":795},[18502],{"type":431,"value":18503},"\u002F",{"type":426,"tag":553,"props":18505,"children":18506},{"style":684},[18507],{"type":431,"value":18508}," messages[",{"type":426,"tag":553,"props":18510,"children":18511},{"style":572},[18512],{"type":431,"value":18473},{"type":426,"tag":553,"props":18514,"children":18515},{"style":684},[18516],{"type":431,"value":2229},{"type":426,"tag":553,"props":18518,"children":18519},{"style":795},[18520],{"type":431,"value":5801},{"type":426,"tag":553,"props":18522,"children":18523},{"style":566},[18524],{"type":431,"value":18525}," 100",{"type":426,"tag":553,"props":18527,"children":18528},{"style":684},[18529],{"type":431,"value":710},{"type":426,"tag":553,"props":18531,"children":18532},{"class":555,"line":1645},[18533,18538,18542,18547],{"type":426,"tag":553,"props":18534,"children":18535},{"style":572},[18536],{"type":431,"value":18537},"        'unique_recipients'",{"type":426,"tag":553,"props":18539,"children":18540},{"style":684},[18541],{"type":431,"value":18468},{"type":426,"tag":553,"props":18543,"children":18544},{"style":572},[18545],{"type":431,"value":18546},"'unique_recipients'",{"type":426,"tag":553,"props":18548,"children":18549},{"style":684},[18550],{"type":431,"value":12804},{"type":426,"tag":553,"props":18552,"children":18553},{"class":555,"line":1653},[18554,18559,18564,18569],{"type":426,"tag":553,"props":18555,"children":18556},{"style":572},[18557],{"type":431,"value":18558},"        'replies_received'",{"type":426,"tag":553,"props":18560,"children":18561},{"style":684},[18562],{"type":431,"value":18563},": inbound[",{"type":426,"tag":553,"props":18565,"children":18566},{"style":572},[18567],{"type":431,"value":18568},"'replies_received'",{"type":426,"tag":553,"props":18570,"children":18571},{"style":684},[18572],{"type":431,"value":12804},{"type":426,"tag":553,"props":18574,"children":18575},{"class":555,"line":1667},[18576,18581,18585,18589,18593,18597,18601,18605,18609,18613,18617],{"type":426,"tag":553,"props":18577,"children":18578},{"style":572},[18579],{"type":431,"value":18580},"        'engagement_rate'",{"type":426,"tag":553,"props":18582,"children":18583},{"style":684},[18584],{"type":431,"value":18563},{"type":426,"tag":553,"props":18586,"children":18587},{"style":572},[18588],{"type":431,"value":18568},{"type":426,"tag":553,"props":18590,"children":18591},{"style":684},[18592],{"type":431,"value":2229},{"type":426,"tag":553,"props":18594,"children":18595},{"style":795},[18596],{"type":431,"value":18503},{"type":426,"tag":553,"props":18598,"children":18599},{"style":684},[18600],{"type":431,"value":18508},{"type":426,"tag":553,"props":18602,"children":18603},{"style":572},[18604],{"type":431,"value":18473},{"type":426,"tag":553,"props":18606,"children":18607},{"style":684},[18608],{"type":431,"value":2229},{"type":426,"tag":553,"props":18610,"children":18611},{"style":795},[18612],{"type":431,"value":5801},{"type":426,"tag":553,"props":18614,"children":18615},{"style":566},[18616],{"type":431,"value":18525},{"type":426,"tag":553,"props":18618,"children":18619},{"style":684},[18620],{"type":431,"value":710},{"type":426,"tag":553,"props":18622,"children":18623},{"class":555,"line":1680},[18624],{"type":426,"tag":553,"props":18625,"children":18626},{"style":684},[18627],{"type":431,"value":5546},{"type":426,"tag":434,"props":18629,"children":18631},{"id":18630},"agency-pricing-models-for-whatsapp-services",[18632],{"type":431,"value":18633},"Agency Pricing Models for WhatsApp Services",{"type":426,"tag":10600,"props":18635,"children":18636},{},[18637,18658],{"type":426,"tag":10604,"props":18638,"children":18639},{},[18640],{"type":426,"tag":10608,"props":18641,"children":18642},{},[18643,18648,18653],{"type":426,"tag":10612,"props":18644,"children":18645},{},[18646],{"type":431,"value":18647},"Service tier",{"type":426,"tag":10612,"props":18649,"children":18650},{},[18651],{"type":431,"value":18652},"What's included",{"type":426,"tag":10612,"props":18654,"children":18655},{},[18656],{"type":431,"value":18657},"Typical agency price",{"type":426,"tag":10623,"props":18659,"children":18660},{},[18661,18679,18697,18715],{"type":426,"tag":10608,"props":18662,"children":18663},{},[18664,18669,18674],{"type":426,"tag":10630,"props":18665,"children":18666},{},[18667],{"type":431,"value":18668},"Basic setup",{"type":426,"tag":10630,"props":18670,"children":18671},{},[18672],{"type":431,"value":18673},"Connect number + 1 automation",{"type":426,"tag":10630,"props":18675,"children":18676},{},[18677],{"type":431,"value":18678},"$200 one-time",{"type":426,"tag":10608,"props":18680,"children":18681},{},[18682,18687,18692],{"type":426,"tag":10630,"props":18683,"children":18684},{},[18685],{"type":431,"value":18686},"Monthly management",{"type":426,"tag":10630,"props":18688,"children":18689},{},[18690],{"type":431,"value":18691},"1,000 messages\u002Fmonth + reporting",{"type":426,"tag":10630,"props":18693,"children":18694},{},[18695],{"type":431,"value":18696},"$99–$199\u002Fmonth",{"type":426,"tag":10608,"props":18698,"children":18699},{},[18700,18705,18710],{"type":426,"tag":10630,"props":18701,"children":18702},{},[18703],{"type":431,"value":18704},"Full-service",{"type":426,"tag":10630,"props":18706,"children":18707},{},[18708],{"type":431,"value":18709},"Unlimited messages + custom bots + reporting",{"type":426,"tag":10630,"props":18711,"children":18712},{},[18713],{"type":431,"value":18714},"$299–$599\u002Fmonth",{"type":426,"tag":10608,"props":18716,"children":18717},{},[18718,18723,18728],{"type":426,"tag":10630,"props":18719,"children":18720},{},[18721],{"type":431,"value":18722},"Enterprise",{"type":426,"tag":10630,"props":18724,"children":18725},{},[18726],{"type":431,"value":18727},"Multi-number + custom dev + priority support",{"type":426,"tag":10630,"props":18729,"children":18730},{},[18731],{"type":431,"value":18732},"$1,000+\u002Fmonth",{"type":426,"tag":427,"props":18734,"children":18735},{},[18736,18741,18743,18748],{"type":426,"tag":446,"props":18737,"children":18738},{},[18739],{"type":431,"value":18740},"Your cost (Rapiwa)",{"type":431,"value":18742},": $5\u002Fmonth per client number.\n",{"type":426,"tag":446,"props":18744,"children":18745},{},[18746],{"type":431,"value":18747},"Your revenue",{"type":431,"value":18749},": $99–$1,000+\u002Fmonth per client.",{"type":426,"tag":434,"props":18751,"children":18753},{"id":18752},"agency-specific-n8n-templates-to-deploy",[18754],{"type":431,"value":18755},"Agency-Specific n8n Templates to Deploy",{"type":426,"tag":427,"props":18757,"children":18758},{},[18759],{"type":431,"value":18760},"Rapiwa's existing n8n templates are perfect for agency deployments:",{"type":426,"tag":10600,"props":18762,"children":18763},{},[18764,18785],{"type":426,"tag":10604,"props":18765,"children":18766},{},[18767],{"type":426,"tag":10608,"props":18768,"children":18769},{},[18770,18775,18780],{"type":426,"tag":10612,"props":18771,"children":18772},{},[18773],{"type":431,"value":18774},"Template",{"type":426,"tag":10612,"props":18776,"children":18777},{},[18778],{"type":431,"value":18779},"Use case",{"type":426,"tag":10612,"props":18781,"children":18782},{},[18783],{"type":431,"value":18784},"Install count",{"type":426,"tag":10623,"props":18786,"children":18787},{},[18788,18811,18833,18856],{"type":426,"tag":10608,"props":18789,"children":18790},{},[18791,18801,18806],{"type":426,"tag":10630,"props":18792,"children":18793},{},[18794],{"type":426,"tag":3819,"props":18795,"children":18798},{"href":18796,"rel":18797},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9879",[3823],[18799],{"type":431,"value":18800},"WooCommerce Invoices via WhatsApp",{"type":426,"tag":10630,"props":18802,"children":18803},{},[18804],{"type":431,"value":18805},"E-commerce clients",{"type":426,"tag":10630,"props":18807,"children":18808},{},[18809],{"type":431,"value":18810},"1,306",{"type":426,"tag":10608,"props":18812,"children":18813},{},[18814,18824,18828],{"type":426,"tag":10630,"props":18815,"children":18816},{},[18817],{"type":426,"tag":3819,"props":18818,"children":18821},{"href":18819,"rel":18820},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9880",[3823],[18822],{"type":431,"value":18823},"WooCommerce Order Updates",{"type":426,"tag":10630,"props":18825,"children":18826},{},[18827],{"type":431,"value":18805},{"type":426,"tag":10630,"props":18829,"children":18830},{},[18831],{"type":431,"value":18832},"236",{"type":426,"tag":10608,"props":18834,"children":18835},{},[18836,18846,18851],{"type":426,"tag":10630,"props":18837,"children":18838},{},[18839],{"type":426,"tag":3819,"props":18840,"children":18843},{"href":18841,"rel":18842},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10270",[3823],[18844],{"type":431,"value":18845},"Google Calendar + Gemini Reminders",{"type":426,"tag":10630,"props":18847,"children":18848},{},[18849],{"type":431,"value":18850},"Healthcare, consulting",{"type":426,"tag":10630,"props":18852,"children":18853},{},[18854],{"type":431,"value":18855},"538",{"type":426,"tag":10608,"props":18857,"children":18858},{},[18859,18869,18874],{"type":426,"tag":10630,"props":18860,"children":18861},{},[18862],{"type":426,"tag":3819,"props":18863,"children":18866},{"href":18864,"rel":18865},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10716",[3823],[18867],{"type":431,"value":18868},"GPT-4 Support Bot",{"type":426,"tag":10630,"props":18870,"children":18871},{},[18872],{"type":431,"value":18873},"Any industry",{"type":426,"tag":10630,"props":18875,"children":18876},{},[18877],{"type":431,"value":18878},"474",{"type":426,"tag":427,"props":18880,"children":18881},{},[18882],{"type":431,"value":18883},"Deploy these in 30 minutes per client — no custom development needed.",{"type":426,"tag":434,"props":18885,"children":18887},{"id":18886},"common-errors-and-fixes",[18888],{"type":431,"value":18889},"Common Errors and Fixes",{"type":426,"tag":454,"props":18891,"children":18892},{},[18893,18903,18913],{"type":426,"tag":458,"props":18894,"children":18895},{},[18896,18901],{"type":426,"tag":446,"props":18897,"children":18898},{},[18899],{"type":431,"value":18900},"Wrong API key sent for a client",{"type":431,"value":18902},": Always validate the client → API key mapping in your router before sending",{"type":426,"tag":458,"props":18904,"children":18905},{},[18906,18911],{"type":426,"tag":446,"props":18907,"children":18908},{},[18909],{"type":431,"value":18910},"Client's WhatsApp number disconnected",{"type":431,"value":18912},": Rapiwa numbers need to stay active (phone connected). Alert clients when their number disconnects.",{"type":426,"tag":458,"props":18914,"children":18915},{},[18916,18921],{"type":426,"tag":446,"props":18917,"children":18918},{},[18919],{"type":431,"value":18920},"Rate limit across clients",{"type":431,"value":18922},": Each client has their own Rapiwa account\u002Fkey — rate limits don't aggregate across clients",{"type":426,"tag":434,"props":18924,"children":18925},{"id":4109},[18926],{"type":431,"value":4112},{"type":426,"tag":427,"props":18928,"children":18929},{},[18930,18935],{"type":426,"tag":446,"props":18931,"children":18932},{},[18933],{"type":431,"value":18934},"Does Rapiwa offer agency or reseller pricing?",{"type":431,"value":18936},"\nContact Rapiwa's sales team at rapiwa.com for agency pricing on bulk number plans.",{"type":426,"tag":427,"props":18938,"children":18939},{},[18940,18945],{"type":426,"tag":446,"props":18941,"children":18942},{},[18943],{"type":431,"value":18944},"Can I brand Rapiwa as my own product to clients?",{"type":431,"value":18946},"\nYou can present your agency's WhatsApp automation service without mentioning Rapiwa. The messages come from the client's own WhatsApp number, not from Rapiwa.",{"type":426,"tag":427,"props":18948,"children":18949},{},[18950,18955],{"type":426,"tag":446,"props":18951,"children":18952},{},[18953],{"type":431,"value":18954},"Does Rapiwa charge per client message?",{"type":431,"value":18956},"\nNo. Rapiwa charges $5\u002Fmonth per number with no per-message fees. This flat pricing is essential for agency profitability.",{"type":426,"tag":427,"props":18958,"children":18959},{},[18960,18965],{"type":426,"tag":446,"props":18961,"children":18962},{},[18963],{"type":431,"value":18964},"Can I manage all clients from one Rapiwa dashboard?",{"type":431,"value":18966},"\nYes. Rapiwa supports multiple WhatsApp numbers under one account. Each number can have its own API key for client isolation.",{"type":426,"tag":427,"props":18968,"children":18969},{},[18970,18975],{"type":426,"tag":446,"props":18971,"children":18972},{},[18973],{"type":431,"value":18974},"What happens if a client stops paying and I need to disconnect their number?",{"type":431,"value":18976},"\nSimply stop the automated workflows for that client and disconnect their number from your Rapiwa account. Messages stop immediately.",{"type":426,"tag":4164,"props":18978,"children":18979},{},[18980],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":18982},[18983,18984,18985,18986,18987,18988,18989,18990,18991,18992],{"id":16037,"depth":588,"text":16040},{"id":16079,"depth":588,"text":16082},{"id":16185,"depth":588,"text":16188},{"id":16289,"depth":588,"text":16292},{"id":17379,"depth":588,"text":17382},{"id":18164,"depth":588,"text":18167},{"id":18630,"depth":588,"text":18633},{"id":18752,"depth":588,"text":18755},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:white-label-whatsapp-api-agencies.md","blog\u002Fwhite-label-whatsapp-api-agencies.md","blog\u002Fwhite-label-whatsapp-api-agencies",{"loc":24},{"_path":28,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":29,"description":30,"date":18998,"author":18999,"category":8,"_slug":19000,"image":19001,"body":19002,"_type":4187,"_id":23007,"_source":4189,"_file":23008,"_stem":23009,"_extension":4192,"sitemap":23010},"2026-03-26","Saikat","whatsapp-api-customer-support-automation-2026","\u002Fimages\u002Fblog\u002Fwhatsapp-api-customer-support-automation-2026.svg",{"type":423,"children":19003,"toc":22995},[19004,19009,19015,19020,19062,19072,19146,19152,19160,19166,19171,20884,20890,20895,21598,21604,21609,22193,22199,22204,22550,22556,22657,22664,22740,22746,22751,22868,22872,22929,22933,22943,22953,22971,22981,22991],{"type":426,"tag":427,"props":19005,"children":19006},{},[19007],{"type":431,"value":19008},"WhatsApp API for customer support lets businesses automatically handle 60–80% of incoming support queries with bots, route complex issues to human agents, and track response times and satisfaction scores — all via WhatsApp. Using Rapiwa API ($5\u002Fmonth, no per-message fees), businesses deploy a complete support system that handles hundreds of daily conversations without scaling headcount.",{"type":426,"tag":434,"props":19010,"children":19012},{"id":19011},"why-whatsapp-is-the-future-of-customer-support",[19013],{"type":431,"value":19014},"Why WhatsApp is the Future of Customer Support",{"type":426,"tag":427,"props":19016,"children":19017},{},[19018],{"type":431,"value":19019},"Customers increasingly prefer WhatsApp over phone calls and emails for support:",{"type":426,"tag":454,"props":19021,"children":19022},{},[19023,19033,19042,19052],{"type":426,"tag":458,"props":19024,"children":19025},{},[19026,19031],{"type":426,"tag":446,"props":19027,"children":19028},{},[19029],{"type":431,"value":19030},"Asynchronous",{"type":431,"value":19032}," — no hold times, customers message when convenient",{"type":426,"tag":458,"props":19034,"children":19035},{},[19036,19040],{"type":426,"tag":446,"props":19037,"children":19038},{},[19039],{"type":431,"value":465},{"type":431,"value":19041}," — support replies are actually read",{"type":426,"tag":458,"props":19043,"children":19044},{},[19045,19050],{"type":426,"tag":446,"props":19046,"children":19047},{},[19048],{"type":431,"value":19049},"Thread history",{"type":431,"value":19051}," — the conversation is visible in context",{"type":426,"tag":458,"props":19053,"children":19054},{},[19055,19060],{"type":426,"tag":446,"props":19056,"children":19057},{},[19058],{"type":431,"value":19059},"Preferred channel",{"type":431,"value":19061}," — WhatsApp is already on every customer's phone",{"type":426,"tag":427,"props":19063,"children":19064},{},[19065,19070],{"type":426,"tag":446,"props":19066,"children":19067},{},[19068],{"type":431,"value":19069},"Cost comparison",{"type":431,"value":19071},":",{"type":426,"tag":10600,"props":19073,"children":19074},{},[19075,19091],{"type":426,"tag":10604,"props":19076,"children":19077},{},[19078],{"type":426,"tag":10608,"props":19079,"children":19080},{},[19081,19086],{"type":426,"tag":10612,"props":19082,"children":19083},{},[19084],{"type":431,"value":19085},"Support channel",{"type":426,"tag":10612,"props":19087,"children":19088},{},[19089],{"type":431,"value":19090},"Cost per interaction",{"type":426,"tag":10623,"props":19092,"children":19093},{},[19094,19107,19120,19133],{"type":426,"tag":10608,"props":19095,"children":19096},{},[19097,19102],{"type":426,"tag":10630,"props":19098,"children":19099},{},[19100],{"type":431,"value":19101},"Phone support",{"type":426,"tag":10630,"props":19103,"children":19104},{},[19105],{"type":431,"value":19106},"$8–$15",{"type":426,"tag":10608,"props":19108,"children":19109},{},[19110,19115],{"type":426,"tag":10630,"props":19111,"children":19112},{},[19113],{"type":431,"value":19114},"Live chat",{"type":426,"tag":10630,"props":19116,"children":19117},{},[19118],{"type":431,"value":19119},"$3–$7",{"type":426,"tag":10608,"props":19121,"children":19122},{},[19123,19128],{"type":426,"tag":10630,"props":19124,"children":19125},{},[19126],{"type":431,"value":19127},"Email support",{"type":426,"tag":10630,"props":19129,"children":19130},{},[19131],{"type":431,"value":19132},"$2–$5",{"type":426,"tag":10608,"props":19134,"children":19135},{},[19136,19141],{"type":426,"tag":10630,"props":19137,"children":19138},{},[19139],{"type":431,"value":19140},"WhatsApp bot (Rapiwa)",{"type":426,"tag":10630,"props":19142,"children":19143},{},[19144],{"type":431,"value":19145},"$0.0001 ($5\u002Fmonth flat ÷ 50,000 messages)",{"type":426,"tag":434,"props":19147,"children":19149},{"id":19148},"whatsapp-support-system-architecture",[19150],{"type":431,"value":19151},"WhatsApp Support System Architecture",{"type":426,"tag":542,"props":19153,"children":19155},{"code":19154},"Customer sends WhatsApp message\n  → Rapiwa webhook\n  → Triage bot (AI or keyword-based)\n    → Can resolve? → Auto-reply (closes ticket)\n    → Complex? → Create support ticket → Assign to agent → Notify via Slack\n  → Agent replies in support tool → Reply sent via Rapiwa API\n  → Ticket closed → CSAT survey sent\n",[19156],{"type":426,"tag":549,"props":19157,"children":19158},{"__ignoreMap":417},[19159],{"type":431,"value":19154},{"type":426,"tag":434,"props":19161,"children":19163},{"id":19162},"step-1-first-response-triage-bot",[19164],{"type":431,"value":19165},"Step 1: First-Response Triage Bot",{"type":426,"tag":427,"props":19167,"children":19168},{},[19169],{"type":431,"value":19170},"Handle the most common questions automatically:",{"type":426,"tag":542,"props":19172,"children":19174},{"code":19173,"language":784,"meta":417,"className":785,"style":417},"# support_bot.py\n# pip install flask requests openai\n\nfrom flask import Flask, request, jsonify\nimport requests\nimport openai\nimport os\n\napp = Flask(__name__)\n\nRAPIWA_API_KEY = os.environ.get('RAPIWA_API_KEY')\nOPENAI_API_KEY = os.environ.get('OPENAI_API_KEY')\n\n# Pre-built answers for top FAQ categories\nCANNED_RESPONSES = {\n    'shipping': (\n        \"📦 Shipping Info\\n\\n\"\n        \"Standard shipping: 3–5 business days ($5.99)\\n\"\n        \"Express shipping: 1–2 business days ($14.99)\\n\"\n        \"Free shipping on orders over $50!\\n\\n\"\n        \"Track your order: https:\u002F\u002Fyourstore.com\u002Ftrack\\n\\n\"\n        \"Still have questions? Reply AGENT to speak with our team.\"\n    ),\n    'returns': (\n        \"🔄 Returns Policy\\n\\n\"\n        \"We accept returns within 30 days of purchase.\\n\"\n        \"Items must be unused and in original packaging.\\n\\n\"\n        \"Start a return: https:\u002F\u002Fyourstore.com\u002Freturns\\n\"\n        \"Or reply with your order number and I can help!\"\n    ),\n    'pricing': (\n        \"💰 Pricing\\n\\n\"\n        \"Our plans start at $5\u002Fmonth with no per-message fees.\\n\"\n        \"See all plans: https:\u002F\u002Frapiwa.com\u002Fpricing\\n\\n\"\n        \"3-day free trial — no credit card required!\\n\"\n        \"Start your trial: https:\u002F\u002Frapiwa.com\"\n    )\n}\n\ndef classify_message(message: str) -> str:\n    \"\"\"Classify incoming message using keywords or AI.\"\"\"\n    message_lower = message.lower()\n    \n    if any(w in message_lower for w in ['shipping', 'ship', 'delivery', 'track']):\n        return 'shipping'\n    if any(w in message_lower for w in ['return', 'refund', 'exchange']):\n        return 'returns'\n    if any(w in message_lower for w in ['price', 'cost', 'how much', 'plan']):\n        return 'pricing'\n    if any(w in message_lower for w in ['agent', 'human', 'person', 'help']):\n        return 'escalate'\n    \n    return 'unknown'\n\n@app.route('\u002Fwebhook\u002Fwhatsapp', methods=['POST'])\ndef handle_support_message():\n    payload = request.get_json()\n    \n    if payload.get('event') != 'message.received':\n        return jsonify({'status': 'ok'})\n    \n    data = payload['data']\n    phone = data['from']\n    message = data.get('message', '').strip()\n    sender_name = data.get('senderName', 'Customer')\n    \n    category = classify_message(message)\n    \n    if category in CANNED_RESPONSES:\n        send_whatsapp(phone, CANNED_RESPONSES[category])\n        log_ticket(phone, sender_name, message, 'resolved', category)\n    \n    elif category == 'escalate' or category == 'unknown':\n        ticket_id = create_support_ticket(phone, sender_name, message)\n        \n        # Acknowledge to customer\n        send_whatsapp(phone, \n            f\"Hi {sender_name}! 🙏 I've created a support ticket for you.\\n\\n\"\n            f\"Ticket: #{ticket_id}\\n\"\n            f\"Expected response: within 2 business hours\\n\\n\"\n            f\"Our team will reply here on WhatsApp.\"\n        )\n        \n        # Notify support team\n        notify_support_team(ticket_id, phone, sender_name, message)\n    \n    return jsonify({'status': 'ok'})\n\n\ndef send_whatsapp(phone: str, message: str) -> dict:\n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': phone, 'message': message}\n    ).json()\n",[19175],{"type":426,"tag":549,"props":19176,"children":19177},{"__ignoreMap":417},[19178,19186,19194,19201,19221,19232,19244,19256,19263,19286,19293,19317,19342,19349,19357,19373,19386,19402,19418,19434,19450,19466,19474,19481,19493,19509,19525,19541,19557,19565,19572,19584,19600,19616,19632,19648,19656,19663,19670,19677,19709,19717,19734,19741,19821,19833,19899,19911,19986,19998,20073,20085,20092,20104,20111,20150,20166,20181,20188,20219,20246,20253,20277,20302,20334,20368,20375,20392,20399,20424,20441,20459,20466,20508,20525,20532,20540,20548,20585,20614,20635,20648,20656,20664,20673,20682,20690,20718,20726,20734,20775,20787,20799,20844,20876],{"type":426,"tag":553,"props":19179,"children":19180},{"class":555,"line":556},[19181],{"type":426,"tag":553,"props":19182,"children":19183},{"style":1975},[19184],{"type":431,"value":19185},"# support_bot.py\n",{"type":426,"tag":553,"props":19187,"children":19188},{"class":555,"line":588},[19189],{"type":426,"tag":553,"props":19190,"children":19191},{"style":1975},[19192],{"type":431,"value":19193},"# pip install flask requests openai\n",{"type":426,"tag":553,"props":19195,"children":19196},{"class":555,"line":606},[19197],{"type":426,"tag":553,"props":19198,"children":19199},{"emptyLinePlaceholder":831},[19200],{"type":431,"value":834},{"type":426,"tag":553,"props":19202,"children":19203},{"class":555,"line":623},[19204,19208,19212,19216],{"type":426,"tag":553,"props":19205,"children":19206},{"style":795},[19207],{"type":431,"value":811},{"type":426,"tag":553,"props":19209,"children":19210},{"style":684},[19211],{"type":431,"value":13265},{"type":426,"tag":553,"props":19213,"children":19214},{"style":795},[19215],{"type":431,"value":798},{"type":426,"tag":553,"props":19217,"children":19218},{"style":684},[19219],{"type":431,"value":19220}," Flask, request, jsonify\n",{"type":426,"tag":553,"props":19222,"children":19223},{"class":555,"line":637},[19224,19228],{"type":426,"tag":553,"props":19225,"children":19226},{"style":795},[19227],{"type":431,"value":798},{"type":426,"tag":553,"props":19229,"children":19230},{"style":684},[19231],{"type":431,"value":803},{"type":426,"tag":553,"props":19233,"children":19234},{"class":555,"line":646},[19235,19239],{"type":426,"tag":553,"props":19236,"children":19237},{"style":795},[19238],{"type":431,"value":798},{"type":426,"tag":553,"props":19240,"children":19241},{"style":684},[19242],{"type":431,"value":19243}," openai\n",{"type":426,"tag":553,"props":19245,"children":19246},{"class":555,"line":655},[19247,19251],{"type":426,"tag":553,"props":19248,"children":19249},{"style":795},[19250],{"type":431,"value":798},{"type":426,"tag":553,"props":19252,"children":19253},{"style":684},[19254],{"type":431,"value":19255}," os\n",{"type":426,"tag":553,"props":19257,"children":19258},{"class":555,"line":1036},[19259],{"type":426,"tag":553,"props":19260,"children":19261},{"emptyLinePlaceholder":831},[19262],{"type":431,"value":834},{"type":426,"tag":553,"props":19264,"children":19265},{"class":555,"line":1054},[19266,19270,19274,19278,19282],{"type":426,"tag":553,"props":19267,"children":19268},{"style":684},[19269],{"type":431,"value":13301},{"type":426,"tag":553,"props":19271,"children":19272},{"style":795},[19273],{"type":431,"value":957},{"type":426,"tag":553,"props":19275,"children":19276},{"style":684},[19277],{"type":431,"value":13310},{"type":426,"tag":553,"props":19279,"children":19280},{"style":566},[19281],{"type":431,"value":13315},{"type":426,"tag":553,"props":19283,"children":19284},{"style":684},[19285],{"type":431,"value":3262},{"type":426,"tag":553,"props":19287,"children":19288},{"class":555,"line":1080},[19289],{"type":426,"tag":553,"props":19290,"children":19291},{"emptyLinePlaceholder":831},[19292],{"type":431,"value":834},{"type":426,"tag":553,"props":19294,"children":19295},{"class":555,"line":1097},[19296,19300,19304,19309,19313],{"type":426,"tag":553,"props":19297,"children":19298},{"style":566},[19299],{"type":431,"value":7156},{"type":426,"tag":553,"props":19301,"children":19302},{"style":795},[19303],{"type":431,"value":8739},{"type":426,"tag":553,"props":19305,"children":19306},{"style":684},[19307],{"type":431,"value":19308}," os.environ.get(",{"type":426,"tag":553,"props":19310,"children":19311},{"style":572},[19312],{"type":431,"value":9533},{"type":426,"tag":553,"props":19314,"children":19315},{"style":684},[19316],{"type":431,"value":3262},{"type":426,"tag":553,"props":19318,"children":19319},{"class":555,"line":1114},[19320,19325,19329,19333,19338],{"type":426,"tag":553,"props":19321,"children":19322},{"style":566},[19323],{"type":431,"value":19324},"OPENAI_API_KEY",{"type":426,"tag":553,"props":19326,"children":19327},{"style":795},[19328],{"type":431,"value":8739},{"type":426,"tag":553,"props":19330,"children":19331},{"style":684},[19332],{"type":431,"value":19308},{"type":426,"tag":553,"props":19334,"children":19335},{"style":572},[19336],{"type":431,"value":19337},"'OPENAI_API_KEY'",{"type":426,"tag":553,"props":19339,"children":19340},{"style":684},[19341],{"type":431,"value":3262},{"type":426,"tag":553,"props":19343,"children":19344},{"class":555,"line":1127},[19345],{"type":426,"tag":553,"props":19346,"children":19347},{"emptyLinePlaceholder":831},[19348],{"type":431,"value":834},{"type":426,"tag":553,"props":19350,"children":19351},{"class":555,"line":1167},[19352],{"type":426,"tag":553,"props":19353,"children":19354},{"style":1975},[19355],{"type":431,"value":19356},"# Pre-built answers for top FAQ categories\n",{"type":426,"tag":553,"props":19358,"children":19359},{"class":555,"line":1184},[19360,19365,19369],{"type":426,"tag":553,"props":19361,"children":19362},{"style":566},[19363],{"type":431,"value":19364},"CANNED_RESPONSES",{"type":426,"tag":553,"props":19366,"children":19367},{"style":795},[19368],{"type":431,"value":8739},{"type":426,"tag":553,"props":19370,"children":19371},{"style":684},[19372],{"type":431,"value":5458},{"type":426,"tag":553,"props":19374,"children":19375},{"class":555,"line":1192},[19376,19381],{"type":426,"tag":553,"props":19377,"children":19378},{"style":572},[19379],{"type":431,"value":19380},"    'shipping'",{"type":426,"tag":553,"props":19382,"children":19383},{"style":684},[19384],{"type":431,"value":19385},": (\n",{"type":426,"tag":553,"props":19387,"children":19388},{"class":555,"line":1210},[19389,19394,19398],{"type":426,"tag":553,"props":19390,"children":19391},{"style":572},[19392],{"type":431,"value":19393},"        \"📦 Shipping Info",{"type":426,"tag":553,"props":19395,"children":19396},{"style":566},[19397],{"type":431,"value":1295},{"type":426,"tag":553,"props":19399,"children":19400},{"style":572},[19401],{"type":431,"value":1250},{"type":426,"tag":553,"props":19403,"children":19404},{"class":555,"line":1253},[19405,19410,19414],{"type":426,"tag":553,"props":19406,"children":19407},{"style":572},[19408],{"type":431,"value":19409},"        \"Standard shipping: 3–5 business days ($5.99)",{"type":426,"tag":553,"props":19411,"children":19412},{"style":566},[19413],{"type":431,"value":3661},{"type":426,"tag":553,"props":19415,"children":19416},{"style":572},[19417],{"type":431,"value":1250},{"type":426,"tag":553,"props":19419,"children":19420},{"class":555,"line":1302},[19421,19426,19430],{"type":426,"tag":553,"props":19422,"children":19423},{"style":572},[19424],{"type":431,"value":19425},"        \"Express shipping: 1–2 business days ($14.99)",{"type":426,"tag":553,"props":19427,"children":19428},{"style":566},[19429],{"type":431,"value":3661},{"type":426,"tag":553,"props":19431,"children":19432},{"style":572},[19433],{"type":431,"value":1250},{"type":426,"tag":553,"props":19435,"children":19436},{"class":555,"line":1374},[19437,19442,19446],{"type":426,"tag":553,"props":19438,"children":19439},{"style":572},[19440],{"type":431,"value":19441},"        \"Free shipping on orders over $50!",{"type":426,"tag":553,"props":19443,"children":19444},{"style":566},[19445],{"type":431,"value":1295},{"type":426,"tag":553,"props":19447,"children":19448},{"style":572},[19449],{"type":431,"value":1250},{"type":426,"tag":553,"props":19451,"children":19452},{"class":555,"line":1414},[19453,19458,19462],{"type":426,"tag":553,"props":19454,"children":19455},{"style":572},[19456],{"type":431,"value":19457},"        \"Track your order: https:\u002F\u002Fyourstore.com\u002Ftrack",{"type":426,"tag":553,"props":19459,"children":19460},{"style":566},[19461],{"type":431,"value":1295},{"type":426,"tag":553,"props":19463,"children":19464},{"style":572},[19465],{"type":431,"value":1250},{"type":426,"tag":553,"props":19467,"children":19468},{"class":555,"line":1479},[19469],{"type":426,"tag":553,"props":19470,"children":19471},{"style":572},[19472],{"type":431,"value":19473},"        \"Still have questions? Reply AGENT to speak with our team.\"\n",{"type":426,"tag":553,"props":19475,"children":19476},{"class":555,"line":1517},[19477],{"type":426,"tag":553,"props":19478,"children":19479},{"style":684},[19480],{"type":431,"value":3220},{"type":426,"tag":553,"props":19482,"children":19483},{"class":555,"line":1560},[19484,19489],{"type":426,"tag":553,"props":19485,"children":19486},{"style":572},[19487],{"type":431,"value":19488},"    'returns'",{"type":426,"tag":553,"props":19490,"children":19491},{"style":684},[19492],{"type":431,"value":19385},{"type":426,"tag":553,"props":19494,"children":19495},{"class":555,"line":1598},[19496,19501,19505],{"type":426,"tag":553,"props":19497,"children":19498},{"style":572},[19499],{"type":431,"value":19500},"        \"🔄 Returns Policy",{"type":426,"tag":553,"props":19502,"children":19503},{"style":566},[19504],{"type":431,"value":1295},{"type":426,"tag":553,"props":19506,"children":19507},{"style":572},[19508],{"type":431,"value":1250},{"type":426,"tag":553,"props":19510,"children":19511},{"class":555,"line":1636},[19512,19517,19521],{"type":426,"tag":553,"props":19513,"children":19514},{"style":572},[19515],{"type":431,"value":19516},"        \"We accept returns within 30 days of purchase.",{"type":426,"tag":553,"props":19518,"children":19519},{"style":566},[19520],{"type":431,"value":3661},{"type":426,"tag":553,"props":19522,"children":19523},{"style":572},[19524],{"type":431,"value":1250},{"type":426,"tag":553,"props":19526,"children":19527},{"class":555,"line":1645},[19528,19533,19537],{"type":426,"tag":553,"props":19529,"children":19530},{"style":572},[19531],{"type":431,"value":19532},"        \"Items must be unused and in original packaging.",{"type":426,"tag":553,"props":19534,"children":19535},{"style":566},[19536],{"type":431,"value":1295},{"type":426,"tag":553,"props":19538,"children":19539},{"style":572},[19540],{"type":431,"value":1250},{"type":426,"tag":553,"props":19542,"children":19543},{"class":555,"line":1653},[19544,19549,19553],{"type":426,"tag":553,"props":19545,"children":19546},{"style":572},[19547],{"type":431,"value":19548},"        \"Start a return: https:\u002F\u002Fyourstore.com\u002Freturns",{"type":426,"tag":553,"props":19550,"children":19551},{"style":566},[19552],{"type":431,"value":3661},{"type":426,"tag":553,"props":19554,"children":19555},{"style":572},[19556],{"type":431,"value":1250},{"type":426,"tag":553,"props":19558,"children":19559},{"class":555,"line":1667},[19560],{"type":426,"tag":553,"props":19561,"children":19562},{"style":572},[19563],{"type":431,"value":19564},"        \"Or reply with your order number and I can help!\"\n",{"type":426,"tag":553,"props":19566,"children":19567},{"class":555,"line":1680},[19568],{"type":426,"tag":553,"props":19569,"children":19570},{"style":684},[19571],{"type":431,"value":3220},{"type":426,"tag":553,"props":19573,"children":19574},{"class":555,"line":1740},[19575,19580],{"type":426,"tag":553,"props":19576,"children":19577},{"style":572},[19578],{"type":431,"value":19579},"    'pricing'",{"type":426,"tag":553,"props":19581,"children":19582},{"style":684},[19583],{"type":431,"value":19385},{"type":426,"tag":553,"props":19585,"children":19586},{"class":555,"line":1787},[19587,19592,19596],{"type":426,"tag":553,"props":19588,"children":19589},{"style":572},[19590],{"type":431,"value":19591},"        \"💰 Pricing",{"type":426,"tag":553,"props":19593,"children":19594},{"style":566},[19595],{"type":431,"value":1295},{"type":426,"tag":553,"props":19597,"children":19598},{"style":572},[19599],{"type":431,"value":1250},{"type":426,"tag":553,"props":19601,"children":19602},{"class":555,"line":1796},[19603,19608,19612],{"type":426,"tag":553,"props":19604,"children":19605},{"style":572},[19606],{"type":431,"value":19607},"        \"Our plans start at $5\u002Fmonth with no per-message fees.",{"type":426,"tag":553,"props":19609,"children":19610},{"style":566},[19611],{"type":431,"value":3661},{"type":426,"tag":553,"props":19613,"children":19614},{"style":572},[19615],{"type":431,"value":1250},{"type":426,"tag":553,"props":19617,"children":19618},{"class":555,"line":1804},[19619,19624,19628],{"type":426,"tag":553,"props":19620,"children":19621},{"style":572},[19622],{"type":431,"value":19623},"        \"See all plans: https:\u002F\u002Frapiwa.com\u002Fpricing",{"type":426,"tag":553,"props":19625,"children":19626},{"style":566},[19627],{"type":431,"value":1295},{"type":426,"tag":553,"props":19629,"children":19630},{"style":572},[19631],{"type":431,"value":1250},{"type":426,"tag":553,"props":19633,"children":19634},{"class":555,"line":1812},[19635,19640,19644],{"type":426,"tag":553,"props":19636,"children":19637},{"style":572},[19638],{"type":431,"value":19639},"        \"3-day free trial — no credit card required!",{"type":426,"tag":553,"props":19641,"children":19642},{"style":566},[19643],{"type":431,"value":3661},{"type":426,"tag":553,"props":19645,"children":19646},{"style":572},[19647],{"type":431,"value":1250},{"type":426,"tag":553,"props":19649,"children":19650},{"class":555,"line":1847},[19651],{"type":426,"tag":553,"props":19652,"children":19653},{"style":572},[19654],{"type":431,"value":19655},"        \"Start your trial: https:\u002F\u002Frapiwa.com\"\n",{"type":426,"tag":553,"props":19657,"children":19658},{"class":555,"line":1856},[19659],{"type":426,"tag":553,"props":19660,"children":19661},{"style":684},[19662],{"type":431,"value":1642},{"type":426,"tag":553,"props":19664,"children":19665},{"class":555,"line":1874},[19666],{"type":426,"tag":553,"props":19667,"children":19668},{"style":684},[19669],{"type":431,"value":756},{"type":426,"tag":553,"props":19671,"children":19672},{"class":555,"line":1882},[19673],{"type":426,"tag":553,"props":19674,"children":19675},{"emptyLinePlaceholder":831},[19676],{"type":431,"value":834},{"type":426,"tag":553,"props":19678,"children":19679},{"class":555,"line":1981},[19680,19684,19689,19693,19697,19701,19705],{"type":426,"tag":553,"props":19681,"children":19682},{"style":795},[19683],{"type":431,"value":842},{"type":426,"tag":553,"props":19685,"children":19686},{"style":560},[19687],{"type":431,"value":19688}," classify_message",{"type":426,"tag":553,"props":19690,"children":19691},{"style":684},[19692],{"type":431,"value":2631},{"type":426,"tag":553,"props":19694,"children":19695},{"style":566},[19696],{"type":431,"value":895},{"type":426,"tag":553,"props":19698,"children":19699},{"style":684},[19700],{"type":431,"value":900},{"type":426,"tag":553,"props":19702,"children":19703},{"style":566},[19704],{"type":431,"value":895},{"type":426,"tag":553,"props":19706,"children":19707},{"style":684},[19708],{"type":431,"value":909},{"type":426,"tag":553,"props":19710,"children":19711},{"class":555,"line":1989},[19712],{"type":426,"tag":553,"props":19713,"children":19714},{"style":572},[19715],{"type":431,"value":19716},"    \"\"\"Classify incoming message using keywords or AI.\"\"\"\n",{"type":426,"tag":553,"props":19718,"children":19719},{"class":555,"line":2013},[19720,19725,19729],{"type":426,"tag":553,"props":19721,"children":19722},{"style":684},[19723],{"type":431,"value":19724},"    message_lower ",{"type":426,"tag":553,"props":19726,"children":19727},{"style":795},[19728],{"type":431,"value":957},{"type":426,"tag":553,"props":19730,"children":19731},{"style":684},[19732],{"type":431,"value":19733}," message.lower()\n",{"type":426,"tag":553,"props":19735,"children":19736},{"class":555,"line":2055},[19737],{"type":426,"tag":553,"props":19738,"children":19739},{"style":684},[19740],{"type":431,"value":917},{"type":426,"tag":553,"props":19742,"children":19743},{"class":555,"line":2064},[19744,19748,19753,19758,19762,19767,19771,19776,19780,19784,19789,19793,19798,19802,19807,19811,19816],{"type":426,"tag":553,"props":19745,"children":19746},{"style":795},[19747],{"type":431,"value":925},{"type":426,"tag":553,"props":19749,"children":19750},{"style":566},[19751],{"type":431,"value":19752}," any",{"type":426,"tag":553,"props":19754,"children":19755},{"style":684},[19756],{"type":431,"value":19757},"(w ",{"type":426,"tag":553,"props":19759,"children":19760},{"style":795},[19761],{"type":431,"value":2005},{"type":426,"tag":553,"props":19763,"children":19764},{"style":684},[19765],{"type":431,"value":19766}," message_lower ",{"type":426,"tag":553,"props":19768,"children":19769},{"style":795},[19770],{"type":431,"value":7491},{"type":426,"tag":553,"props":19772,"children":19773},{"style":684},[19774],{"type":431,"value":19775}," w ",{"type":426,"tag":553,"props":19777,"children":19778},{"style":795},[19779],{"type":431,"value":2005},{"type":426,"tag":553,"props":19781,"children":19782},{"style":684},[19783],{"type":431,"value":1897},{"type":426,"tag":553,"props":19785,"children":19786},{"style":572},[19787],{"type":431,"value":19788},"'shipping'",{"type":426,"tag":553,"props":19790,"children":19791},{"style":684},[19792],{"type":431,"value":1907},{"type":426,"tag":553,"props":19794,"children":19795},{"style":572},[19796],{"type":431,"value":19797},"'ship'",{"type":426,"tag":553,"props":19799,"children":19800},{"style":684},[19801],{"type":431,"value":1907},{"type":426,"tag":553,"props":19803,"children":19804},{"style":572},[19805],{"type":431,"value":19806},"'delivery'",{"type":426,"tag":553,"props":19808,"children":19809},{"style":684},[19810],{"type":431,"value":1907},{"type":426,"tag":553,"props":19812,"children":19813},{"style":572},[19814],{"type":431,"value":19815},"'track'",{"type":426,"tag":553,"props":19817,"children":19818},{"style":684},[19819],{"type":431,"value":19820},"]):\n",{"type":426,"tag":553,"props":19822,"children":19823},{"class":555,"line":2087},[19824,19828],{"type":426,"tag":553,"props":19825,"children":19826},{"style":795},[19827],{"type":431,"value":8378},{"type":426,"tag":553,"props":19829,"children":19830},{"style":572},[19831],{"type":431,"value":19832}," 'shipping'\n",{"type":426,"tag":553,"props":19834,"children":19835},{"class":555,"line":2096},[19836,19840,19844,19848,19852,19856,19860,19864,19868,19872,19877,19881,19886,19890,19895],{"type":426,"tag":553,"props":19837,"children":19838},{"style":795},[19839],{"type":431,"value":925},{"type":426,"tag":553,"props":19841,"children":19842},{"style":566},[19843],{"type":431,"value":19752},{"type":426,"tag":553,"props":19845,"children":19846},{"style":684},[19847],{"type":431,"value":19757},{"type":426,"tag":553,"props":19849,"children":19850},{"style":795},[19851],{"type":431,"value":2005},{"type":426,"tag":553,"props":19853,"children":19854},{"style":684},[19855],{"type":431,"value":19766},{"type":426,"tag":553,"props":19857,"children":19858},{"style":795},[19859],{"type":431,"value":7491},{"type":426,"tag":553,"props":19861,"children":19862},{"style":684},[19863],{"type":431,"value":19775},{"type":426,"tag":553,"props":19865,"children":19866},{"style":795},[19867],{"type":431,"value":2005},{"type":426,"tag":553,"props":19869,"children":19870},{"style":684},[19871],{"type":431,"value":1897},{"type":426,"tag":553,"props":19873,"children":19874},{"style":572},[19875],{"type":431,"value":19876},"'return'",{"type":426,"tag":553,"props":19878,"children":19879},{"style":684},[19880],{"type":431,"value":1907},{"type":426,"tag":553,"props":19882,"children":19883},{"style":572},[19884],{"type":431,"value":19885},"'refund'",{"type":426,"tag":553,"props":19887,"children":19888},{"style":684},[19889],{"type":431,"value":1907},{"type":426,"tag":553,"props":19891,"children":19892},{"style":572},[19893],{"type":431,"value":19894},"'exchange'",{"type":426,"tag":553,"props":19896,"children":19897},{"style":684},[19898],{"type":431,"value":19820},{"type":426,"tag":553,"props":19900,"children":19901},{"class":555,"line":2105},[19902,19906],{"type":426,"tag":553,"props":19903,"children":19904},{"style":795},[19905],{"type":431,"value":8378},{"type":426,"tag":553,"props":19907,"children":19908},{"style":572},[19909],{"type":431,"value":19910}," 'returns'\n",{"type":426,"tag":553,"props":19912,"children":19913},{"class":555,"line":2114},[19914,19918,19922,19926,19930,19934,19938,19942,19946,19950,19955,19959,19964,19968,19973,19977,19982],{"type":426,"tag":553,"props":19915,"children":19916},{"style":795},[19917],{"type":431,"value":925},{"type":426,"tag":553,"props":19919,"children":19920},{"style":566},[19921],{"type":431,"value":19752},{"type":426,"tag":553,"props":19923,"children":19924},{"style":684},[19925],{"type":431,"value":19757},{"type":426,"tag":553,"props":19927,"children":19928},{"style":795},[19929],{"type":431,"value":2005},{"type":426,"tag":553,"props":19931,"children":19932},{"style":684},[19933],{"type":431,"value":19766},{"type":426,"tag":553,"props":19935,"children":19936},{"style":795},[19937],{"type":431,"value":7491},{"type":426,"tag":553,"props":19939,"children":19940},{"style":684},[19941],{"type":431,"value":19775},{"type":426,"tag":553,"props":19943,"children":19944},{"style":795},[19945],{"type":431,"value":2005},{"type":426,"tag":553,"props":19947,"children":19948},{"style":684},[19949],{"type":431,"value":1897},{"type":426,"tag":553,"props":19951,"children":19952},{"style":572},[19953],{"type":431,"value":19954},"'price'",{"type":426,"tag":553,"props":19956,"children":19957},{"style":684},[19958],{"type":431,"value":1907},{"type":426,"tag":553,"props":19960,"children":19961},{"style":572},[19962],{"type":431,"value":19963},"'cost'",{"type":426,"tag":553,"props":19965,"children":19966},{"style":684},[19967],{"type":431,"value":1907},{"type":426,"tag":553,"props":19969,"children":19970},{"style":572},[19971],{"type":431,"value":19972},"'how much'",{"type":426,"tag":553,"props":19974,"children":19975},{"style":684},[19976],{"type":431,"value":1907},{"type":426,"tag":553,"props":19978,"children":19979},{"style":572},[19980],{"type":431,"value":19981},"'plan'",{"type":426,"tag":553,"props":19983,"children":19984},{"style":684},[19985],{"type":431,"value":19820},{"type":426,"tag":553,"props":19987,"children":19988},{"class":555,"line":2123},[19989,19993],{"type":426,"tag":553,"props":19990,"children":19991},{"style":795},[19992],{"type":431,"value":8378},{"type":426,"tag":553,"props":19994,"children":19995},{"style":572},[19996],{"type":431,"value":19997}," 'pricing'\n",{"type":426,"tag":553,"props":19999,"children":20000},{"class":555,"line":2132},[20001,20005,20009,20013,20017,20021,20025,20029,20033,20037,20042,20046,20051,20055,20060,20064,20069],{"type":426,"tag":553,"props":20002,"children":20003},{"style":795},[20004],{"type":431,"value":925},{"type":426,"tag":553,"props":20006,"children":20007},{"style":566},[20008],{"type":431,"value":19752},{"type":426,"tag":553,"props":20010,"children":20011},{"style":684},[20012],{"type":431,"value":19757},{"type":426,"tag":553,"props":20014,"children":20015},{"style":795},[20016],{"type":431,"value":2005},{"type":426,"tag":553,"props":20018,"children":20019},{"style":684},[20020],{"type":431,"value":19766},{"type":426,"tag":553,"props":20022,"children":20023},{"style":795},[20024],{"type":431,"value":7491},{"type":426,"tag":553,"props":20026,"children":20027},{"style":684},[20028],{"type":431,"value":19775},{"type":426,"tag":553,"props":20030,"children":20031},{"style":795},[20032],{"type":431,"value":2005},{"type":426,"tag":553,"props":20034,"children":20035},{"style":684},[20036],{"type":431,"value":1897},{"type":426,"tag":553,"props":20038,"children":20039},{"style":572},[20040],{"type":431,"value":20041},"'agent'",{"type":426,"tag":553,"props":20043,"children":20044},{"style":684},[20045],{"type":431,"value":1907},{"type":426,"tag":553,"props":20047,"children":20048},{"style":572},[20049],{"type":431,"value":20050},"'human'",{"type":426,"tag":553,"props":20052,"children":20053},{"style":684},[20054],{"type":431,"value":1907},{"type":426,"tag":553,"props":20056,"children":20057},{"style":572},[20058],{"type":431,"value":20059},"'person'",{"type":426,"tag":553,"props":20061,"children":20062},{"style":684},[20063],{"type":431,"value":1907},{"type":426,"tag":553,"props":20065,"children":20066},{"style":572},[20067],{"type":431,"value":20068},"'help'",{"type":426,"tag":553,"props":20070,"children":20071},{"style":684},[20072],{"type":431,"value":19820},{"type":426,"tag":553,"props":20074,"children":20075},{"class":555,"line":2151},[20076,20080],{"type":426,"tag":553,"props":20077,"children":20078},{"style":795},[20079],{"type":431,"value":8378},{"type":426,"tag":553,"props":20081,"children":20082},{"style":572},[20083],{"type":431,"value":20084}," 'escalate'\n",{"type":426,"tag":553,"props":20086,"children":20087},{"class":555,"line":2160},[20088],{"type":426,"tag":553,"props":20089,"children":20090},{"style":684},[20091],{"type":431,"value":917},{"type":426,"tag":553,"props":20093,"children":20094},{"class":555,"line":2174},[20095,20099],{"type":426,"tag":553,"props":20096,"children":20097},{"style":795},[20098],{"type":431,"value":1659},{"type":426,"tag":553,"props":20100,"children":20101},{"style":572},[20102],{"type":431,"value":20103}," 'unknown'\n",{"type":426,"tag":553,"props":20105,"children":20106},{"class":555,"line":2182},[20107],{"type":426,"tag":553,"props":20108,"children":20109},{"emptyLinePlaceholder":831},[20110],{"type":431,"value":834},{"type":426,"tag":553,"props":20112,"children":20113},{"class":555,"line":2205},[20114,20118,20122,20126,20130,20134,20138,20142,20146],{"type":426,"tag":553,"props":20115,"children":20116},{"style":560},[20117],{"type":431,"value":8024},{"type":426,"tag":553,"props":20119,"children":20120},{"style":684},[20121],{"type":431,"value":3275},{"type":426,"tag":553,"props":20123,"children":20124},{"style":572},[20125],{"type":431,"value":8033},{"type":426,"tag":553,"props":20127,"children":20128},{"style":684},[20129],{"type":431,"value":1907},{"type":426,"tag":553,"props":20131,"children":20132},{"style":1684},[20133],{"type":431,"value":8042},{"type":426,"tag":553,"props":20135,"children":20136},{"style":795},[20137],{"type":431,"value":957},{"type":426,"tag":553,"props":20139,"children":20140},{"style":684},[20141],{"type":431,"value":8051},{"type":426,"tag":553,"props":20143,"children":20144},{"style":572},[20145],{"type":431,"value":8056},{"type":426,"tag":553,"props":20147,"children":20148},{"style":684},[20149],{"type":431,"value":8061},{"type":426,"tag":553,"props":20151,"children":20152},{"class":555,"line":2241},[20153,20157,20162],{"type":426,"tag":553,"props":20154,"children":20155},{"style":795},[20156],{"type":431,"value":842},{"type":426,"tag":553,"props":20158,"children":20159},{"style":560},[20160],{"type":431,"value":20161}," handle_support_message",{"type":426,"tag":553,"props":20163,"children":20164},{"style":684},[20165],{"type":431,"value":6433},{"type":426,"tag":553,"props":20167,"children":20168},{"class":555,"line":2250},[20169,20173,20177],{"type":426,"tag":553,"props":20170,"children":20171},{"style":684},[20172],{"type":431,"value":8085},{"type":426,"tag":553,"props":20174,"children":20175},{"style":795},[20176],{"type":431,"value":957},{"type":426,"tag":553,"props":20178,"children":20179},{"style":684},[20180],{"type":431,"value":8094},{"type":426,"tag":553,"props":20182,"children":20183},{"class":555,"line":2302},[20184],{"type":426,"tag":553,"props":20185,"children":20186},{"style":684},[20187],{"type":431,"value":917},{"type":426,"tag":553,"props":20189,"children":20190},{"class":555,"line":2353},[20191,20195,20199,20203,20207,20211,20215],{"type":426,"tag":553,"props":20192,"children":20193},{"style":795},[20194],{"type":431,"value":925},{"type":426,"tag":553,"props":20196,"children":20197},{"style":684},[20198],{"type":431,"value":8171},{"type":426,"tag":553,"props":20200,"children":20201},{"style":572},[20202],{"type":431,"value":8176},{"type":426,"tag":553,"props":20204,"children":20205},{"style":684},[20206],{"type":431,"value":2987},{"type":426,"tag":553,"props":20208,"children":20209},{"style":795},[20210],{"type":431,"value":15114},{"type":426,"tag":553,"props":20212,"children":20213},{"style":572},[20214],{"type":431,"value":8189},{"type":426,"tag":553,"props":20216,"children":20217},{"style":684},[20218],{"type":431,"value":909},{"type":426,"tag":553,"props":20220,"children":20221},{"class":555,"line":2390},[20222,20226,20230,20234,20238,20242],{"type":426,"tag":553,"props":20223,"children":20224},{"style":795},[20225],{"type":431,"value":8378},{"type":426,"tag":553,"props":20227,"children":20228},{"style":684},[20229],{"type":431,"value":8126},{"type":426,"tag":553,"props":20231,"children":20232},{"style":572},[20233],{"type":431,"value":2982},{"type":426,"tag":553,"props":20235,"children":20236},{"style":684},[20237],{"type":431,"value":700},{"type":426,"tag":553,"props":20239,"children":20240},{"style":572},[20241],{"type":431,"value":8139},{"type":426,"tag":553,"props":20243,"children":20244},{"style":684},[20245],{"type":431,"value":8144},{"type":426,"tag":553,"props":20247,"children":20248},{"class":555,"line":2440},[20249],{"type":426,"tag":553,"props":20250,"children":20251},{"style":684},[20252],{"type":431,"value":917},{"type":426,"tag":553,"props":20254,"children":20255},{"class":555,"line":2488},[20256,20260,20264,20269,20273],{"type":426,"tag":553,"props":20257,"children":20258},{"style":684},[20259],{"type":431,"value":13733},{"type":426,"tag":553,"props":20261,"children":20262},{"style":795},[20263],{"type":431,"value":957},{"type":426,"tag":553,"props":20265,"children":20266},{"style":684},[20267],{"type":431,"value":20268}," payload[",{"type":426,"tag":553,"props":20270,"children":20271},{"style":572},[20272],{"type":431,"value":8206},{"type":426,"tag":553,"props":20274,"children":20275},{"style":684},[20276],{"type":431,"value":16523},{"type":426,"tag":553,"props":20278,"children":20279},{"class":555,"line":2509},[20280,20285,20289,20294,20298],{"type":426,"tag":553,"props":20281,"children":20282},{"style":684},[20283],{"type":431,"value":20284},"    phone ",{"type":426,"tag":553,"props":20286,"children":20287},{"style":795},[20288],{"type":431,"value":957},{"type":426,"tag":553,"props":20290,"children":20291},{"style":684},[20292],{"type":431,"value":20293}," data[",{"type":426,"tag":553,"props":20295,"children":20296},{"style":572},[20297],{"type":431,"value":14329},{"type":426,"tag":553,"props":20299,"children":20300},{"style":684},[20301],{"type":431,"value":16523},{"type":426,"tag":553,"props":20303,"children":20304},{"class":555,"line":2527},[20305,20309,20313,20317,20321,20325,20329],{"type":426,"tag":553,"props":20306,"children":20307},{"style":684},[20308],{"type":431,"value":1198},{"type":426,"tag":553,"props":20310,"children":20311},{"style":795},[20312],{"type":431,"value":957},{"type":426,"tag":553,"props":20314,"children":20315},{"style":684},[20316],{"type":431,"value":8311},{"type":426,"tag":553,"props":20318,"children":20319},{"style":572},[20320],{"type":431,"value":1779},{"type":426,"tag":553,"props":20322,"children":20323},{"style":684},[20324],{"type":431,"value":1907},{"type":426,"tag":553,"props":20326,"children":20327},{"style":572},[20328],{"type":431,"value":13605},{"type":426,"tag":553,"props":20330,"children":20331},{"style":684},[20332],{"type":431,"value":20333},").strip()\n",{"type":426,"tag":553,"props":20335,"children":20336},{"class":555,"line":2545},[20337,20342,20346,20350,20355,20359,20364],{"type":426,"tag":553,"props":20338,"children":20339},{"style":684},[20340],{"type":431,"value":20341},"    sender_name ",{"type":426,"tag":553,"props":20343,"children":20344},{"style":795},[20345],{"type":431,"value":957},{"type":426,"tag":553,"props":20347,"children":20348},{"style":684},[20349],{"type":431,"value":8311},{"type":426,"tag":553,"props":20351,"children":20352},{"style":572},[20353],{"type":431,"value":20354},"'senderName'",{"type":426,"tag":553,"props":20356,"children":20357},{"style":684},[20358],{"type":431,"value":1907},{"type":426,"tag":553,"props":20360,"children":20361},{"style":572},[20362],{"type":431,"value":20363},"'Customer'",{"type":426,"tag":553,"props":20365,"children":20366},{"style":684},[20367],{"type":431,"value":3262},{"type":426,"tag":553,"props":20369,"children":20370},{"class":555,"line":12991},[20371],{"type":426,"tag":553,"props":20372,"children":20373},{"style":684},[20374],{"type":431,"value":917},{"type":426,"tag":553,"props":20376,"children":20377},{"class":555,"line":13004},[20378,20383,20387],{"type":426,"tag":553,"props":20379,"children":20380},{"style":684},[20381],{"type":431,"value":20382},"    category ",{"type":426,"tag":553,"props":20384,"children":20385},{"style":795},[20386],{"type":431,"value":957},{"type":426,"tag":553,"props":20388,"children":20389},{"style":684},[20390],{"type":431,"value":20391}," classify_message(message)\n",{"type":426,"tag":553,"props":20393,"children":20394},{"class":555,"line":13012},[20395],{"type":426,"tag":553,"props":20396,"children":20397},{"style":684},[20398],{"type":431,"value":917},{"type":426,"tag":553,"props":20400,"children":20401},{"class":555,"line":13025},[20402,20406,20411,20415,20420],{"type":426,"tag":553,"props":20403,"children":20404},{"style":795},[20405],{"type":431,"value":925},{"type":426,"tag":553,"props":20407,"children":20408},{"style":684},[20409],{"type":431,"value":20410}," category ",{"type":426,"tag":553,"props":20412,"children":20413},{"style":795},[20414],{"type":431,"value":2005},{"type":426,"tag":553,"props":20416,"children":20417},{"style":566},[20418],{"type":431,"value":20419}," CANNED_RESPONSES",{"type":426,"tag":553,"props":20421,"children":20422},{"style":684},[20423],{"type":431,"value":909},{"type":426,"tag":553,"props":20425,"children":20426},{"class":555,"line":13033},[20427,20432,20436],{"type":426,"tag":553,"props":20428,"children":20429},{"style":684},[20430],{"type":431,"value":20431},"        send_whatsapp(phone, ",{"type":426,"tag":553,"props":20433,"children":20434},{"style":566},[20435],{"type":431,"value":19364},{"type":426,"tag":553,"props":20437,"children":20438},{"style":684},[20439],{"type":431,"value":20440},"[category])\n",{"type":426,"tag":553,"props":20442,"children":20443},{"class":555,"line":13069},[20444,20449,20454],{"type":426,"tag":553,"props":20445,"children":20446},{"style":684},[20447],{"type":431,"value":20448},"        log_ticket(phone, sender_name, message, ",{"type":426,"tag":553,"props":20450,"children":20451},{"style":572},[20452],{"type":431,"value":20453},"'resolved'",{"type":426,"tag":553,"props":20455,"children":20456},{"style":684},[20457],{"type":431,"value":20458},", category)\n",{"type":426,"tag":553,"props":20460,"children":20461},{"class":555,"line":13089},[20462],{"type":426,"tag":553,"props":20463,"children":20464},{"style":684},[20465],{"type":431,"value":917},{"type":426,"tag":553,"props":20467,"children":20468},{"class":555,"line":13102},[20469,20473,20477,20481,20486,20491,20495,20499,20504],{"type":426,"tag":553,"props":20470,"children":20471},{"style":795},[20472],{"type":431,"value":1060},{"type":426,"tag":553,"props":20474,"children":20475},{"style":684},[20476],{"type":431,"value":20410},{"type":426,"tag":553,"props":20478,"children":20479},{"style":795},[20480],{"type":431,"value":1069},{"type":426,"tag":553,"props":20482,"children":20483},{"style":572},[20484],{"type":431,"value":20485}," 'escalate'",{"type":426,"tag":553,"props":20487,"children":20488},{"style":795},[20489],{"type":431,"value":20490}," or",{"type":426,"tag":553,"props":20492,"children":20493},{"style":684},[20494],{"type":431,"value":20410},{"type":426,"tag":553,"props":20496,"children":20497},{"style":795},[20498],{"type":431,"value":1069},{"type":426,"tag":553,"props":20500,"children":20501},{"style":572},[20502],{"type":431,"value":20503}," 'unknown'",{"type":426,"tag":553,"props":20505,"children":20506},{"style":684},[20507],{"type":431,"value":909},{"type":426,"tag":553,"props":20509,"children":20510},{"class":555,"line":13111},[20511,20516,20520],{"type":426,"tag":553,"props":20512,"children":20513},{"style":684},[20514],{"type":431,"value":20515},"        ticket_id ",{"type":426,"tag":553,"props":20517,"children":20518},{"style":795},[20519],{"type":431,"value":957},{"type":426,"tag":553,"props":20521,"children":20522},{"style":684},[20523],{"type":431,"value":20524}," create_support_ticket(phone, sender_name, message)\n",{"type":426,"tag":553,"props":20526,"children":20527},{"class":555,"line":13120},[20528],{"type":426,"tag":553,"props":20529,"children":20530},{"style":684},[20531],{"type":431,"value":2061},{"type":426,"tag":553,"props":20533,"children":20534},{"class":555,"line":13129},[20535],{"type":426,"tag":553,"props":20536,"children":20537},{"style":1975},[20538],{"type":431,"value":20539},"        # Acknowledge to customer\n",{"type":426,"tag":553,"props":20541,"children":20542},{"class":555,"line":13174},[20543],{"type":426,"tag":553,"props":20544,"children":20545},{"style":684},[20546],{"type":431,"value":20547},"        send_whatsapp(phone, \n",{"type":426,"tag":553,"props":20549,"children":20550},{"class":555,"line":13205},[20551,20555,20559,20563,20568,20572,20577,20581],{"type":426,"tag":553,"props":20552,"children":20553},{"style":795},[20554],{"type":431,"value":3740},{"type":426,"tag":553,"props":20556,"children":20557},{"style":572},[20558],{"type":431,"value":4625},{"type":426,"tag":553,"props":20560,"children":20561},{"style":566},[20562],{"type":431,"value":972},{"type":426,"tag":553,"props":20564,"children":20565},{"style":684},[20566],{"type":431,"value":20567},"sender_name",{"type":426,"tag":553,"props":20569,"children":20570},{"style":566},[20571],{"type":431,"value":982},{"type":426,"tag":553,"props":20573,"children":20574},{"style":572},[20575],{"type":431,"value":20576},"! 🙏 I've created a support ticket for you.",{"type":426,"tag":553,"props":20578,"children":20579},{"style":566},[20580],{"type":431,"value":1295},{"type":426,"tag":553,"props":20582,"children":20583},{"style":572},[20584],{"type":431,"value":1250},{"type":426,"tag":553,"props":20586,"children":20587},{"class":555,"line":13218},[20588,20592,20597,20601,20606,20610],{"type":426,"tag":553,"props":20589,"children":20590},{"style":795},[20591],{"type":431,"value":3740},{"type":426,"tag":553,"props":20593,"children":20594},{"style":572},[20595],{"type":431,"value":20596},"\"Ticket: #",{"type":426,"tag":553,"props":20598,"children":20599},{"style":566},[20600],{"type":431,"value":972},{"type":426,"tag":553,"props":20602,"children":20603},{"style":684},[20604],{"type":431,"value":20605},"ticket_id",{"type":426,"tag":553,"props":20607,"children":20608},{"style":566},[20609],{"type":431,"value":1407},{"type":426,"tag":553,"props":20611,"children":20612},{"style":572},[20613],{"type":431,"value":1250},{"type":426,"tag":553,"props":20615,"children":20617},{"class":555,"line":20616},80,[20618,20622,20627,20631],{"type":426,"tag":553,"props":20619,"children":20620},{"style":795},[20621],{"type":431,"value":3740},{"type":426,"tag":553,"props":20623,"children":20624},{"style":572},[20625],{"type":431,"value":20626},"\"Expected response: within 2 business hours",{"type":426,"tag":553,"props":20628,"children":20629},{"style":566},[20630],{"type":431,"value":1295},{"type":426,"tag":553,"props":20632,"children":20633},{"style":572},[20634],{"type":431,"value":1250},{"type":426,"tag":553,"props":20636,"children":20638},{"class":555,"line":20637},81,[20639,20643],{"type":426,"tag":553,"props":20640,"children":20641},{"style":795},[20642],{"type":431,"value":3740},{"type":426,"tag":553,"props":20644,"children":20645},{"style":572},[20646],{"type":431,"value":20647},"\"Our team will reply here on WhatsApp.\"\n",{"type":426,"tag":553,"props":20649,"children":20651},{"class":555,"line":20650},82,[20652],{"type":426,"tag":553,"props":20653,"children":20654},{"style":684},[20655],{"type":431,"value":6037},{"type":426,"tag":553,"props":20657,"children":20659},{"class":555,"line":20658},83,[20660],{"type":426,"tag":553,"props":20661,"children":20662},{"style":684},[20663],{"type":431,"value":2061},{"type":426,"tag":553,"props":20665,"children":20667},{"class":555,"line":20666},84,[20668],{"type":426,"tag":553,"props":20669,"children":20670},{"style":1975},[20671],{"type":431,"value":20672},"        # Notify support team\n",{"type":426,"tag":553,"props":20674,"children":20676},{"class":555,"line":20675},85,[20677],{"type":426,"tag":553,"props":20678,"children":20679},{"style":684},[20680],{"type":431,"value":20681},"        notify_support_team(ticket_id, phone, sender_name, message)\n",{"type":426,"tag":553,"props":20683,"children":20685},{"class":555,"line":20684},86,[20686],{"type":426,"tag":553,"props":20687,"children":20688},{"style":684},[20689],{"type":431,"value":917},{"type":426,"tag":553,"props":20691,"children":20693},{"class":555,"line":20692},87,[20694,20698,20702,20706,20710,20714],{"type":426,"tag":553,"props":20695,"children":20696},{"style":795},[20697],{"type":431,"value":1659},{"type":426,"tag":553,"props":20699,"children":20700},{"style":684},[20701],{"type":431,"value":8126},{"type":426,"tag":553,"props":20703,"children":20704},{"style":572},[20705],{"type":431,"value":2982},{"type":426,"tag":553,"props":20707,"children":20708},{"style":684},[20709],{"type":431,"value":700},{"type":426,"tag":553,"props":20711,"children":20712},{"style":572},[20713],{"type":431,"value":8139},{"type":426,"tag":553,"props":20715,"children":20716},{"style":684},[20717],{"type":431,"value":8144},{"type":426,"tag":553,"props":20719,"children":20721},{"class":555,"line":20720},88,[20722],{"type":426,"tag":553,"props":20723,"children":20724},{"emptyLinePlaceholder":831},[20725],{"type":431,"value":834},{"type":426,"tag":553,"props":20727,"children":20729},{"class":555,"line":20728},89,[20730],{"type":426,"tag":553,"props":20731,"children":20732},{"emptyLinePlaceholder":831},[20733],{"type":431,"value":834},{"type":426,"tag":553,"props":20735,"children":20737},{"class":555,"line":20736},90,[20738,20742,20747,20751,20755,20759,20763,20767,20771],{"type":426,"tag":553,"props":20739,"children":20740},{"style":795},[20741],{"type":431,"value":842},{"type":426,"tag":553,"props":20743,"children":20744},{"style":560},[20745],{"type":431,"value":20746}," send_whatsapp",{"type":426,"tag":553,"props":20748,"children":20749},{"style":684},[20750],{"type":431,"value":7446},{"type":426,"tag":553,"props":20752,"children":20753},{"style":566},[20754],{"type":431,"value":895},{"type":426,"tag":553,"props":20756,"children":20757},{"style":684},[20758],{"type":431,"value":8713},{"type":426,"tag":553,"props":20760,"children":20761},{"style":566},[20762],{"type":431,"value":895},{"type":426,"tag":553,"props":20764,"children":20765},{"style":684},[20766],{"type":431,"value":900},{"type":426,"tag":553,"props":20768,"children":20769},{"style":566},[20770],{"type":431,"value":857},{"type":426,"tag":553,"props":20772,"children":20773},{"style":684},[20774],{"type":431,"value":909},{"type":426,"tag":553,"props":20776,"children":20778},{"class":555,"line":20777},91,[20779,20783],{"type":426,"tag":553,"props":20780,"children":20781},{"style":795},[20782],{"type":431,"value":1659},{"type":426,"tag":553,"props":20784,"children":20785},{"style":684},[20786],{"type":431,"value":1664},{"type":426,"tag":553,"props":20788,"children":20790},{"class":555,"line":20789},92,[20791,20795],{"type":426,"tag":553,"props":20792,"children":20793},{"style":572},[20794],{"type":431,"value":1673},{"type":426,"tag":553,"props":20796,"children":20797},{"style":684},[20798],{"type":431,"value":710},{"type":426,"tag":553,"props":20800,"children":20802},{"class":555,"line":20801},93,[20803,20807,20811,20815,20819,20823,20827,20831,20836,20840],{"type":426,"tag":553,"props":20804,"children":20805},{"style":1684},[20806],{"type":431,"value":1687},{"type":426,"tag":553,"props":20808,"children":20809},{"style":795},[20810],{"type":431,"value":957},{"type":426,"tag":553,"props":20812,"children":20813},{"style":684},[20814],{"type":431,"value":972},{"type":426,"tag":553,"props":20816,"children":20817},{"style":572},[20818],{"type":431,"value":1700},{"type":426,"tag":553,"props":20820,"children":20821},{"style":684},[20822],{"type":431,"value":700},{"type":426,"tag":553,"props":20824,"children":20825},{"style":795},[20826],{"type":431,"value":1709},{"type":426,"tag":553,"props":20828,"children":20829},{"style":572},[20830],{"type":431,"value":1714},{"type":426,"tag":553,"props":20832,"children":20833},{"style":566},[20834],{"type":431,"value":20835},"{RAPIWA_API_KEY}",{"type":426,"tag":553,"props":20837,"children":20838},{"style":572},[20839],{"type":431,"value":1732},{"type":426,"tag":553,"props":20841,"children":20842},{"style":684},[20843],{"type":431,"value":1737},{"type":426,"tag":553,"props":20845,"children":20847},{"class":555,"line":20846},94,[20848,20852,20856,20860,20864,20868,20872],{"type":426,"tag":553,"props":20849,"children":20850},{"style":1684},[20851],{"type":431,"value":1746},{"type":426,"tag":553,"props":20853,"children":20854},{"style":795},[20855],{"type":431,"value":957},{"type":426,"tag":553,"props":20857,"children":20858},{"style":684},[20859],{"type":431,"value":972},{"type":426,"tag":553,"props":20861,"children":20862},{"style":572},[20863],{"type":431,"value":1759},{"type":426,"tag":553,"props":20865,"children":20866},{"style":684},[20867],{"type":431,"value":8931},{"type":426,"tag":553,"props":20869,"children":20870},{"style":572},[20871],{"type":431,"value":1779},{"type":426,"tag":553,"props":20873,"children":20874},{"style":684},[20875],{"type":431,"value":1784},{"type":426,"tag":553,"props":20877,"children":20879},{"class":555,"line":20878},95,[20880],{"type":426,"tag":553,"props":20881,"children":20882},{"style":684},[20883],{"type":431,"value":1793},{"type":426,"tag":434,"props":20885,"children":20887},{"id":20886},"step-2-human-agent-routing-with-slack-notification",[20888],{"type":431,"value":20889},"Step 2: Human Agent Routing with Slack Notification",{"type":426,"tag":427,"props":20891,"children":20892},{},[20893],{"type":431,"value":20894},"When a ticket needs human handling:",{"type":426,"tag":542,"props":20896,"children":20898},{"code":20897,"language":784,"meta":417,"className":785,"style":417},"def notify_support_team(ticket_id: str, customer_phone: str, \n                        customer_name: str, message: str) -> None:\n    \"\"\"Send new ticket notification to Slack and assign to available agent.\"\"\"\n    slack_webhook = os.environ.get('SLACK_WEBHOOK_URL')\n    \n    slack_payload = {\n        \"text\": f\"🆕 New WhatsApp Support Ticket #{ticket_id}\",\n        \"attachments\": [\n            {\n                \"color\": \"#ff9800\",\n                \"fields\": [\n                    {\"title\": \"Customer\", \"value\": customer_name, \"short\": True},\n                    {\"title\": \"Phone\", \"value\": customer_phone, \"short\": True},\n                    {\"title\": \"Message\", \"value\": message},\n                    {\"title\": \"Reply via\", \"value\": f\"POST to \u002Fapi\u002Fsupport\u002Freply\u002F{ticket_id}\"}\n                ]\n            }\n        ]\n    }\n    \n    requests.post(slack_webhook, json=slack_payload)\n\n\ndef agent_reply(ticket_id: str, reply_message: str) -> dict:\n    \"\"\"\n    Called when an agent submits a reply from the support dashboard.\n    Sends the reply to the customer via Rapiwa WhatsApp.\n    \"\"\"\n    ticket = get_ticket(ticket_id)\n    \n    result = send_whatsapp(ticket['customer_phone'], reply_message)\n    \n    # Log the agent reply\n    update_ticket(ticket_id, {\n        'last_reply': reply_message,\n        'last_reply_at': datetime.utcnow(),\n        'status': 'replied'\n    })\n    \n    return result\n",[20899],{"type":426,"tag":549,"props":20900,"children":20901},{"__ignoreMap":417},[20902,20936,20968,20976,21001,21008,21024,21065,21077,21085,21106,21118,21172,21221,21253,21314,21322,21330,21337,21344,21351,21372,21379,21386,21427,21434,21442,21450,21457,21474,21481,21508,21515,21523,21531,21544,21557,21573,21580,21587],{"type":426,"tag":553,"props":20903,"children":20904},{"class":555,"line":556},[20905,20909,20914,20919,20923,20928,20932],{"type":426,"tag":553,"props":20906,"children":20907},{"style":795},[20908],{"type":431,"value":842},{"type":426,"tag":553,"props":20910,"children":20911},{"style":560},[20912],{"type":431,"value":20913}," notify_support_team",{"type":426,"tag":553,"props":20915,"children":20916},{"style":684},[20917],{"type":431,"value":20918},"(ticket_id: ",{"type":426,"tag":553,"props":20920,"children":20921},{"style":566},[20922],{"type":431,"value":895},{"type":426,"tag":553,"props":20924,"children":20925},{"style":684},[20926],{"type":431,"value":20927},", customer_phone: ",{"type":426,"tag":553,"props":20929,"children":20930},{"style":566},[20931],{"type":431,"value":895},{"type":426,"tag":553,"props":20933,"children":20934},{"style":684},[20935],{"type":431,"value":17901},{"type":426,"tag":553,"props":20937,"children":20938},{"class":555,"line":588},[20939,20944,20948,20952,20956,20960,20964],{"type":426,"tag":553,"props":20940,"children":20941},{"style":684},[20942],{"type":431,"value":20943},"                        customer_name: ",{"type":426,"tag":553,"props":20945,"children":20946},{"style":566},[20947],{"type":431,"value":895},{"type":426,"tag":553,"props":20949,"children":20950},{"style":684},[20951],{"type":431,"value":8713},{"type":426,"tag":553,"props":20953,"children":20954},{"style":566},[20955],{"type":431,"value":895},{"type":426,"tag":553,"props":20957,"children":20958},{"style":684},[20959],{"type":431,"value":900},{"type":426,"tag":553,"props":20961,"children":20962},{"style":566},[20963],{"type":431,"value":1840},{"type":426,"tag":553,"props":20965,"children":20966},{"style":684},[20967],{"type":431,"value":909},{"type":426,"tag":553,"props":20969,"children":20970},{"class":555,"line":606},[20971],{"type":426,"tag":553,"props":20972,"children":20973},{"style":572},[20974],{"type":431,"value":20975},"    \"\"\"Send new ticket notification to Slack and assign to available agent.\"\"\"\n",{"type":426,"tag":553,"props":20977,"children":20978},{"class":555,"line":623},[20979,20984,20988,20992,20997],{"type":426,"tag":553,"props":20980,"children":20981},{"style":684},[20982],{"type":431,"value":20983},"    slack_webhook ",{"type":426,"tag":553,"props":20985,"children":20986},{"style":795},[20987],{"type":431,"value":957},{"type":426,"tag":553,"props":20989,"children":20990},{"style":684},[20991],{"type":431,"value":19308},{"type":426,"tag":553,"props":20993,"children":20994},{"style":572},[20995],{"type":431,"value":20996},"'SLACK_WEBHOOK_URL'",{"type":426,"tag":553,"props":20998,"children":20999},{"style":684},[21000],{"type":431,"value":3262},{"type":426,"tag":553,"props":21002,"children":21003},{"class":555,"line":637},[21004],{"type":426,"tag":553,"props":21005,"children":21006},{"style":684},[21007],{"type":431,"value":917},{"type":426,"tag":553,"props":21009,"children":21010},{"class":555,"line":646},[21011,21016,21020],{"type":426,"tag":553,"props":21012,"children":21013},{"style":684},[21014],{"type":431,"value":21015},"    slack_payload ",{"type":426,"tag":553,"props":21017,"children":21018},{"style":795},[21019],{"type":431,"value":957},{"type":426,"tag":553,"props":21021,"children":21022},{"style":684},[21023],{"type":431,"value":5458},{"type":426,"tag":553,"props":21025,"children":21026},{"class":555,"line":655},[21027,21032,21036,21040,21045,21049,21053,21057,21061],{"type":426,"tag":553,"props":21028,"children":21029},{"style":572},[21030],{"type":431,"value":21031},"        \"text\"",{"type":426,"tag":553,"props":21033,"children":21034},{"style":684},[21035],{"type":431,"value":700},{"type":426,"tag":553,"props":21037,"children":21038},{"style":795},[21039],{"type":431,"value":1709},{"type":426,"tag":553,"props":21041,"children":21042},{"style":572},[21043],{"type":431,"value":21044},"\"🆕 New WhatsApp Support Ticket #",{"type":426,"tag":553,"props":21046,"children":21047},{"style":566},[21048],{"type":431,"value":972},{"type":426,"tag":553,"props":21050,"children":21051},{"style":684},[21052],{"type":431,"value":20605},{"type":426,"tag":553,"props":21054,"children":21055},{"style":566},[21056],{"type":431,"value":982},{"type":426,"tag":553,"props":21058,"children":21059},{"style":572},[21060],{"type":431,"value":1527},{"type":426,"tag":553,"props":21062,"children":21063},{"style":684},[21064],{"type":431,"value":710},{"type":426,"tag":553,"props":21066,"children":21067},{"class":555,"line":1036},[21068,21073],{"type":426,"tag":553,"props":21069,"children":21070},{"style":572},[21071],{"type":431,"value":21072},"        \"attachments\"",{"type":426,"tag":553,"props":21074,"children":21075},{"style":684},[21076],{"type":431,"value":17136},{"type":426,"tag":553,"props":21078,"children":21079},{"class":555,"line":1054},[21080],{"type":426,"tag":553,"props":21081,"children":21082},{"style":684},[21083],{"type":431,"value":21084},"            {\n",{"type":426,"tag":553,"props":21086,"children":21087},{"class":555,"line":1080},[21088,21093,21097,21102],{"type":426,"tag":553,"props":21089,"children":21090},{"style":572},[21091],{"type":431,"value":21092},"                \"color\"",{"type":426,"tag":553,"props":21094,"children":21095},{"style":684},[21096],{"type":431,"value":700},{"type":426,"tag":553,"props":21098,"children":21099},{"style":572},[21100],{"type":431,"value":21101},"\"#ff9800\"",{"type":426,"tag":553,"props":21103,"children":21104},{"style":684},[21105],{"type":431,"value":710},{"type":426,"tag":553,"props":21107,"children":21108},{"class":555,"line":1097},[21109,21114],{"type":426,"tag":553,"props":21110,"children":21111},{"style":572},[21112],{"type":431,"value":21113},"                \"fields\"",{"type":426,"tag":553,"props":21115,"children":21116},{"style":684},[21117],{"type":431,"value":17136},{"type":426,"tag":553,"props":21119,"children":21120},{"class":555,"line":1114},[21121,21126,21131,21135,21140,21144,21149,21154,21159,21163,21168],{"type":426,"tag":553,"props":21122,"children":21123},{"style":684},[21124],{"type":431,"value":21125},"                    {",{"type":426,"tag":553,"props":21127,"children":21128},{"style":572},[21129],{"type":431,"value":21130},"\"title\"",{"type":426,"tag":553,"props":21132,"children":21133},{"style":684},[21134],{"type":431,"value":700},{"type":426,"tag":553,"props":21136,"children":21137},{"style":572},[21138],{"type":431,"value":21139},"\"Customer\"",{"type":426,"tag":553,"props":21141,"children":21142},{"style":684},[21143],{"type":431,"value":1907},{"type":426,"tag":553,"props":21145,"children":21146},{"style":572},[21147],{"type":431,"value":21148},"\"value\"",{"type":426,"tag":553,"props":21150,"children":21151},{"style":684},[21152],{"type":431,"value":21153},": customer_name, ",{"type":426,"tag":553,"props":21155,"children":21156},{"style":572},[21157],{"type":431,"value":21158},"\"short\"",{"type":426,"tag":553,"props":21160,"children":21161},{"style":684},[21162],{"type":431,"value":700},{"type":426,"tag":553,"props":21164,"children":21165},{"style":566},[21166],{"type":431,"value":21167},"True",{"type":426,"tag":553,"props":21169,"children":21170},{"style":684},[21171],{"type":431,"value":1737},{"type":426,"tag":553,"props":21173,"children":21174},{"class":555,"line":1127},[21175,21179,21183,21187,21192,21196,21200,21205,21209,21213,21217],{"type":426,"tag":553,"props":21176,"children":21177},{"style":684},[21178],{"type":431,"value":21125},{"type":426,"tag":553,"props":21180,"children":21181},{"style":572},[21182],{"type":431,"value":21130},{"type":426,"tag":553,"props":21184,"children":21185},{"style":684},[21186],{"type":431,"value":700},{"type":426,"tag":553,"props":21188,"children":21189},{"style":572},[21190],{"type":431,"value":21191},"\"Phone\"",{"type":426,"tag":553,"props":21193,"children":21194},{"style":684},[21195],{"type":431,"value":1907},{"type":426,"tag":553,"props":21197,"children":21198},{"style":572},[21199],{"type":431,"value":21148},{"type":426,"tag":553,"props":21201,"children":21202},{"style":684},[21203],{"type":431,"value":21204},": customer_phone, ",{"type":426,"tag":553,"props":21206,"children":21207},{"style":572},[21208],{"type":431,"value":21158},{"type":426,"tag":553,"props":21210,"children":21211},{"style":684},[21212],{"type":431,"value":700},{"type":426,"tag":553,"props":21214,"children":21215},{"style":566},[21216],{"type":431,"value":21167},{"type":426,"tag":553,"props":21218,"children":21219},{"style":684},[21220],{"type":431,"value":1737},{"type":426,"tag":553,"props":21222,"children":21223},{"class":555,"line":1167},[21224,21228,21232,21236,21241,21245,21249],{"type":426,"tag":553,"props":21225,"children":21226},{"style":684},[21227],{"type":431,"value":21125},{"type":426,"tag":553,"props":21229,"children":21230},{"style":572},[21231],{"type":431,"value":21130},{"type":426,"tag":553,"props":21233,"children":21234},{"style":684},[21235],{"type":431,"value":700},{"type":426,"tag":553,"props":21237,"children":21238},{"style":572},[21239],{"type":431,"value":21240},"\"Message\"",{"type":426,"tag":553,"props":21242,"children":21243},{"style":684},[21244],{"type":431,"value":1907},{"type":426,"tag":553,"props":21246,"children":21247},{"style":572},[21248],{"type":431,"value":21148},{"type":426,"tag":553,"props":21250,"children":21251},{"style":684},[21252],{"type":431,"value":8940},{"type":426,"tag":553,"props":21254,"children":21255},{"class":555,"line":1184},[21256,21260,21264,21268,21273,21277,21281,21285,21289,21294,21298,21302,21306,21310],{"type":426,"tag":553,"props":21257,"children":21258},{"style":684},[21259],{"type":431,"value":21125},{"type":426,"tag":553,"props":21261,"children":21262},{"style":572},[21263],{"type":431,"value":21130},{"type":426,"tag":553,"props":21265,"children":21266},{"style":684},[21267],{"type":431,"value":700},{"type":426,"tag":553,"props":21269,"children":21270},{"style":572},[21271],{"type":431,"value":21272},"\"Reply via\"",{"type":426,"tag":553,"props":21274,"children":21275},{"style":684},[21276],{"type":431,"value":1907},{"type":426,"tag":553,"props":21278,"children":21279},{"style":572},[21280],{"type":431,"value":21148},{"type":426,"tag":553,"props":21282,"children":21283},{"style":684},[21284],{"type":431,"value":700},{"type":426,"tag":553,"props":21286,"children":21287},{"style":795},[21288],{"type":431,"value":1709},{"type":426,"tag":553,"props":21290,"children":21291},{"style":572},[21292],{"type":431,"value":21293},"\"POST to \u002Fapi\u002Fsupport\u002Freply\u002F",{"type":426,"tag":553,"props":21295,"children":21296},{"style":566},[21297],{"type":431,"value":972},{"type":426,"tag":553,"props":21299,"children":21300},{"style":684},[21301],{"type":431,"value":20605},{"type":426,"tag":553,"props":21303,"children":21304},{"style":566},[21305],{"type":431,"value":982},{"type":426,"tag":553,"props":21307,"children":21308},{"style":572},[21309],{"type":431,"value":1527},{"type":426,"tag":553,"props":21311,"children":21312},{"style":684},[21313],{"type":431,"value":756},{"type":426,"tag":553,"props":21315,"children":21316},{"class":555,"line":1192},[21317],{"type":426,"tag":553,"props":21318,"children":21319},{"style":684},[21320],{"type":431,"value":21321},"                ]\n",{"type":426,"tag":553,"props":21323,"children":21324},{"class":555,"line":1210},[21325],{"type":426,"tag":553,"props":21326,"children":21327},{"style":684},[21328],{"type":431,"value":21329},"            }\n",{"type":426,"tag":553,"props":21331,"children":21332},{"class":555,"line":1253},[21333],{"type":426,"tag":553,"props":21334,"children":21335},{"style":684},[21336],{"type":431,"value":17195},{"type":426,"tag":553,"props":21338,"children":21339},{"class":555,"line":1302},[21340],{"type":426,"tag":553,"props":21341,"children":21342},{"style":684},[21343],{"type":431,"value":5546},{"type":426,"tag":553,"props":21345,"children":21346},{"class":555,"line":1374},[21347],{"type":426,"tag":553,"props":21348,"children":21349},{"style":684},[21350],{"type":431,"value":917},{"type":426,"tag":553,"props":21352,"children":21353},{"class":555,"line":1414},[21354,21359,21363,21367],{"type":426,"tag":553,"props":21355,"children":21356},{"style":684},[21357],{"type":431,"value":21358},"    requests.post(slack_webhook, ",{"type":426,"tag":553,"props":21360,"children":21361},{"style":1684},[21362],{"type":431,"value":673},{"type":426,"tag":553,"props":21364,"children":21365},{"style":795},[21366],{"type":431,"value":957},{"type":426,"tag":553,"props":21368,"children":21369},{"style":684},[21370],{"type":431,"value":21371},"slack_payload)\n",{"type":426,"tag":553,"props":21373,"children":21374},{"class":555,"line":1479},[21375],{"type":426,"tag":553,"props":21376,"children":21377},{"emptyLinePlaceholder":831},[21378],{"type":431,"value":834},{"type":426,"tag":553,"props":21380,"children":21381},{"class":555,"line":1517},[21382],{"type":426,"tag":553,"props":21383,"children":21384},{"emptyLinePlaceholder":831},[21385],{"type":431,"value":834},{"type":426,"tag":553,"props":21387,"children":21388},{"class":555,"line":1560},[21389,21393,21398,21402,21406,21411,21415,21419,21423],{"type":426,"tag":553,"props":21390,"children":21391},{"style":795},[21392],{"type":431,"value":842},{"type":426,"tag":553,"props":21394,"children":21395},{"style":560},[21396],{"type":431,"value":21397}," agent_reply",{"type":426,"tag":553,"props":21399,"children":21400},{"style":684},[21401],{"type":431,"value":20918},{"type":426,"tag":553,"props":21403,"children":21404},{"style":566},[21405],{"type":431,"value":895},{"type":426,"tag":553,"props":21407,"children":21408},{"style":684},[21409],{"type":431,"value":21410},", reply_message: ",{"type":426,"tag":553,"props":21412,"children":21413},{"style":566},[21414],{"type":431,"value":895},{"type":426,"tag":553,"props":21416,"children":21417},{"style":684},[21418],{"type":431,"value":900},{"type":426,"tag":553,"props":21420,"children":21421},{"style":566},[21422],{"type":431,"value":857},{"type":426,"tag":553,"props":21424,"children":21425},{"style":684},[21426],{"type":431,"value":909},{"type":426,"tag":553,"props":21428,"children":21429},{"class":555,"line":1598},[21430],{"type":426,"tag":553,"props":21431,"children":21432},{"style":572},[21433],{"type":431,"value":2673},{"type":426,"tag":553,"props":21435,"children":21436},{"class":555,"line":1636},[21437],{"type":426,"tag":553,"props":21438,"children":21439},{"style":572},[21440],{"type":431,"value":21441},"    Called when an agent submits a reply from the support dashboard.\n",{"type":426,"tag":553,"props":21443,"children":21444},{"class":555,"line":1645},[21445],{"type":426,"tag":553,"props":21446,"children":21447},{"style":572},[21448],{"type":431,"value":21449},"    Sends the reply to the customer via Rapiwa WhatsApp.\n",{"type":426,"tag":553,"props":21451,"children":21452},{"class":555,"line":1653},[21453],{"type":426,"tag":553,"props":21454,"children":21455},{"style":572},[21456],{"type":431,"value":2673},{"type":426,"tag":553,"props":21458,"children":21459},{"class":555,"line":1667},[21460,21465,21469],{"type":426,"tag":553,"props":21461,"children":21462},{"style":684},[21463],{"type":431,"value":21464},"    ticket ",{"type":426,"tag":553,"props":21466,"children":21467},{"style":795},[21468],{"type":431,"value":957},{"type":426,"tag":553,"props":21470,"children":21471},{"style":684},[21472],{"type":431,"value":21473}," get_ticket(ticket_id)\n",{"type":426,"tag":553,"props":21475,"children":21476},{"class":555,"line":1680},[21477],{"type":426,"tag":553,"props":21478,"children":21479},{"style":684},[21480],{"type":431,"value":917},{"type":426,"tag":553,"props":21482,"children":21483},{"class":555,"line":1740},[21484,21489,21493,21498,21503],{"type":426,"tag":553,"props":21485,"children":21486},{"style":684},[21487],{"type":431,"value":21488},"    result ",{"type":426,"tag":553,"props":21490,"children":21491},{"style":795},[21492],{"type":431,"value":957},{"type":426,"tag":553,"props":21494,"children":21495},{"style":684},[21496],{"type":431,"value":21497}," send_whatsapp(ticket[",{"type":426,"tag":553,"props":21499,"children":21500},{"style":572},[21501],{"type":431,"value":21502},"'customer_phone'",{"type":426,"tag":553,"props":21504,"children":21505},{"style":684},[21506],{"type":431,"value":21507},"], reply_message)\n",{"type":426,"tag":553,"props":21509,"children":21510},{"class":555,"line":1787},[21511],{"type":426,"tag":553,"props":21512,"children":21513},{"style":684},[21514],{"type":431,"value":917},{"type":426,"tag":553,"props":21516,"children":21517},{"class":555,"line":1796},[21518],{"type":426,"tag":553,"props":21519,"children":21520},{"style":1975},[21521],{"type":431,"value":21522},"    # Log the agent reply\n",{"type":426,"tag":553,"props":21524,"children":21525},{"class":555,"line":1804},[21526],{"type":426,"tag":553,"props":21527,"children":21528},{"style":684},[21529],{"type":431,"value":21530},"    update_ticket(ticket_id, {\n",{"type":426,"tag":553,"props":21532,"children":21533},{"class":555,"line":1812},[21534,21539],{"type":426,"tag":553,"props":21535,"children":21536},{"style":572},[21537],{"type":431,"value":21538},"        'last_reply'",{"type":426,"tag":553,"props":21540,"children":21541},{"style":684},[21542],{"type":431,"value":21543},": reply_message,\n",{"type":426,"tag":553,"props":21545,"children":21546},{"class":555,"line":1847},[21547,21552],{"type":426,"tag":553,"props":21548,"children":21549},{"style":572},[21550],{"type":431,"value":21551},"        'last_reply_at'",{"type":426,"tag":553,"props":21553,"children":21554},{"style":684},[21555],{"type":431,"value":21556},": datetime.utcnow(),\n",{"type":426,"tag":553,"props":21558,"children":21559},{"class":555,"line":1856},[21560,21564,21568],{"type":426,"tag":553,"props":21561,"children":21562},{"style":572},[21563],{"type":431,"value":15316},{"type":426,"tag":553,"props":21565,"children":21566},{"style":684},[21567],{"type":431,"value":700},{"type":426,"tag":553,"props":21569,"children":21570},{"style":572},[21571],{"type":431,"value":21572},"'replied'\n",{"type":426,"tag":553,"props":21574,"children":21575},{"class":555,"line":1874},[21576],{"type":426,"tag":553,"props":21577,"children":21578},{"style":684},[21579],{"type":431,"value":15362},{"type":426,"tag":553,"props":21581,"children":21582},{"class":555,"line":1882},[21583],{"type":426,"tag":553,"props":21584,"children":21585},{"style":684},[21586],{"type":431,"value":917},{"type":426,"tag":553,"props":21588,"children":21589},{"class":555,"line":1981},[21590,21594],{"type":426,"tag":553,"props":21591,"children":21592},{"style":795},[21593],{"type":431,"value":1659},{"type":426,"tag":553,"props":21595,"children":21596},{"style":684},[21597],{"type":431,"value":13022},{"type":426,"tag":434,"props":21599,"children":21601},{"id":21600},"step-3-csat-survey-customer-satisfaction",[21602],{"type":431,"value":21603},"Step 3: CSAT Survey (Customer Satisfaction)",{"type":426,"tag":427,"props":21605,"children":21606},{},[21607],{"type":431,"value":21608},"Send a satisfaction survey 2 hours after ticket resolution:",{"type":426,"tag":542,"props":21610,"children":21612},{"code":21611,"language":784,"meta":417,"className":785,"style":417},"def send_csat_survey(phone: str, customer_name: str, ticket_id: str) -> dict:\n    \"\"\"Send a CSAT survey via WhatsApp after ticket resolution.\"\"\"\n    message = (\n        f\"Hi {customer_name}! Your support ticket #{ticket_id} has been resolved. 🎉\\n\\n\"\n        f\"How was your support experience today?\\n\\n\"\n        f\"Reply with a number:\\n\"\n        f\"5️⃣ - Excellent\\n\"\n        f\"4️⃣ - Good\\n\"\n        f\"3️⃣ - Okay\\n\"\n        f\"2️⃣ - Poor\\n\"\n        f\"1️⃣ - Very poor\\n\\n\"\n        f\"Your feedback helps us improve! 🙏\"\n    )\n    \n    return send_whatsapp(phone, message)\n\n\ndef handle_csat_response(phone: str, rating: str) -> None:\n    \"\"\"Process CSAT reply from customer.\"\"\"\n    try:\n        score = int(rating.strip())\n        if 1 \u003C= score \u003C= 5:\n            log_csat_score(phone, score)\n            \n            if score >= 4:\n                send_whatsapp(phone, \n                    \"Thank you for the great rating! ⭐ We really appreciate it. \"\n                    \"Have a wonderful day!\"\n                )\n            else:\n                send_whatsapp(phone,\n                    \"Thank you for your feedback. We're sorry the experience wasn't \"\n                    \"perfect. A manager will review your case. Reply if you need further help.\"\n                )\n    except ValueError:\n        pass  # Not a CSAT response\n",[21613],{"type":426,"tag":549,"props":21614,"children":21615},{"__ignoreMap":417},[21616,21666,21674,21689,21743,21763,21783,21803,21823,21843,21863,21883,21895,21902,21909,21921,21928,21935,21976,21984,21995,22017,22051,22059,22066,22090,22098,22106,22114,22122,22134,22142,22150,22158,22165,22180],{"type":426,"tag":553,"props":21617,"children":21618},{"class":555,"line":556},[21619,21623,21628,21632,21636,21641,21645,21650,21654,21658,21662],{"type":426,"tag":553,"props":21620,"children":21621},{"style":795},[21622],{"type":431,"value":842},{"type":426,"tag":553,"props":21624,"children":21625},{"style":560},[21626],{"type":431,"value":21627}," send_csat_survey",{"type":426,"tag":553,"props":21629,"children":21630},{"style":684},[21631],{"type":431,"value":7446},{"type":426,"tag":553,"props":21633,"children":21634},{"style":566},[21635],{"type":431,"value":895},{"type":426,"tag":553,"props":21637,"children":21638},{"style":684},[21639],{"type":431,"value":21640},", customer_name: ",{"type":426,"tag":553,"props":21642,"children":21643},{"style":566},[21644],{"type":431,"value":895},{"type":426,"tag":553,"props":21646,"children":21647},{"style":684},[21648],{"type":431,"value":21649},", ticket_id: ",{"type":426,"tag":553,"props":21651,"children":21652},{"style":566},[21653],{"type":431,"value":895},{"type":426,"tag":553,"props":21655,"children":21656},{"style":684},[21657],{"type":431,"value":900},{"type":426,"tag":553,"props":21659,"children":21660},{"style":566},[21661],{"type":431,"value":857},{"type":426,"tag":553,"props":21663,"children":21664},{"style":684},[21665],{"type":431,"value":909},{"type":426,"tag":553,"props":21667,"children":21668},{"class":555,"line":588},[21669],{"type":426,"tag":553,"props":21670,"children":21671},{"style":572},[21672],{"type":431,"value":21673},"    \"\"\"Send a CSAT survey via WhatsApp after ticket resolution.\"\"\"\n",{"type":426,"tag":553,"props":21675,"children":21676},{"class":555,"line":606},[21677,21681,21685],{"type":426,"tag":553,"props":21678,"children":21679},{"style":684},[21680],{"type":431,"value":1198},{"type":426,"tag":553,"props":21682,"children":21683},{"style":795},[21684],{"type":431,"value":957},{"type":426,"tag":553,"props":21686,"children":21687},{"style":684},[21688],{"type":431,"value":1207},{"type":426,"tag":553,"props":21690,"children":21691},{"class":555,"line":623},[21692,21696,21700,21704,21709,21713,21718,21722,21726,21730,21735,21739],{"type":426,"tag":553,"props":21693,"children":21694},{"style":795},[21695],{"type":431,"value":1216},{"type":426,"tag":553,"props":21697,"children":21698},{"style":572},[21699],{"type":431,"value":4625},{"type":426,"tag":553,"props":21701,"children":21702},{"style":566},[21703],{"type":431,"value":972},{"type":426,"tag":553,"props":21705,"children":21706},{"style":684},[21707],{"type":431,"value":21708},"customer_name",{"type":426,"tag":553,"props":21710,"children":21711},{"style":566},[21712],{"type":431,"value":982},{"type":426,"tag":553,"props":21714,"children":21715},{"style":572},[21716],{"type":431,"value":21717},"! Your support ticket #",{"type":426,"tag":553,"props":21719,"children":21720},{"style":566},[21721],{"type":431,"value":972},{"type":426,"tag":553,"props":21723,"children":21724},{"style":684},[21725],{"type":431,"value":20605},{"type":426,"tag":553,"props":21727,"children":21728},{"style":566},[21729],{"type":431,"value":982},{"type":426,"tag":553,"props":21731,"children":21732},{"style":572},[21733],{"type":431,"value":21734}," has been resolved. 🎉",{"type":426,"tag":553,"props":21736,"children":21737},{"style":566},[21738],{"type":431,"value":1295},{"type":426,"tag":553,"props":21740,"children":21741},{"style":572},[21742],{"type":431,"value":1250},{"type":426,"tag":553,"props":21744,"children":21745},{"class":555,"line":637},[21746,21750,21755,21759],{"type":426,"tag":553,"props":21747,"children":21748},{"style":795},[21749],{"type":431,"value":1216},{"type":426,"tag":553,"props":21751,"children":21752},{"style":572},[21753],{"type":431,"value":21754},"\"How was your support experience today?",{"type":426,"tag":553,"props":21756,"children":21757},{"style":566},[21758],{"type":431,"value":1295},{"type":426,"tag":553,"props":21760,"children":21761},{"style":572},[21762],{"type":431,"value":1250},{"type":426,"tag":553,"props":21764,"children":21765},{"class":555,"line":646},[21766,21770,21775,21779],{"type":426,"tag":553,"props":21767,"children":21768},{"style":795},[21769],{"type":431,"value":1216},{"type":426,"tag":553,"props":21771,"children":21772},{"style":572},[21773],{"type":431,"value":21774},"\"Reply with a number:",{"type":426,"tag":553,"props":21776,"children":21777},{"style":566},[21778],{"type":431,"value":3661},{"type":426,"tag":553,"props":21780,"children":21781},{"style":572},[21782],{"type":431,"value":1250},{"type":426,"tag":553,"props":21784,"children":21785},{"class":555,"line":655},[21786,21790,21795,21799],{"type":426,"tag":553,"props":21787,"children":21788},{"style":795},[21789],{"type":431,"value":1216},{"type":426,"tag":553,"props":21791,"children":21792},{"style":572},[21793],{"type":431,"value":21794},"\"5️⃣ - Excellent",{"type":426,"tag":553,"props":21796,"children":21797},{"style":566},[21798],{"type":431,"value":3661},{"type":426,"tag":553,"props":21800,"children":21801},{"style":572},[21802],{"type":431,"value":1250},{"type":426,"tag":553,"props":21804,"children":21805},{"class":555,"line":1036},[21806,21810,21815,21819],{"type":426,"tag":553,"props":21807,"children":21808},{"style":795},[21809],{"type":431,"value":1216},{"type":426,"tag":553,"props":21811,"children":21812},{"style":572},[21813],{"type":431,"value":21814},"\"4️⃣ - Good",{"type":426,"tag":553,"props":21816,"children":21817},{"style":566},[21818],{"type":431,"value":3661},{"type":426,"tag":553,"props":21820,"children":21821},{"style":572},[21822],{"type":431,"value":1250},{"type":426,"tag":553,"props":21824,"children":21825},{"class":555,"line":1054},[21826,21830,21835,21839],{"type":426,"tag":553,"props":21827,"children":21828},{"style":795},[21829],{"type":431,"value":1216},{"type":426,"tag":553,"props":21831,"children":21832},{"style":572},[21833],{"type":431,"value":21834},"\"3️⃣ - Okay",{"type":426,"tag":553,"props":21836,"children":21837},{"style":566},[21838],{"type":431,"value":3661},{"type":426,"tag":553,"props":21840,"children":21841},{"style":572},[21842],{"type":431,"value":1250},{"type":426,"tag":553,"props":21844,"children":21845},{"class":555,"line":1080},[21846,21850,21855,21859],{"type":426,"tag":553,"props":21847,"children":21848},{"style":795},[21849],{"type":431,"value":1216},{"type":426,"tag":553,"props":21851,"children":21852},{"style":572},[21853],{"type":431,"value":21854},"\"2️⃣ - Poor",{"type":426,"tag":553,"props":21856,"children":21857},{"style":566},[21858],{"type":431,"value":3661},{"type":426,"tag":553,"props":21860,"children":21861},{"style":572},[21862],{"type":431,"value":1250},{"type":426,"tag":553,"props":21864,"children":21865},{"class":555,"line":1097},[21866,21870,21875,21879],{"type":426,"tag":553,"props":21867,"children":21868},{"style":795},[21869],{"type":431,"value":1216},{"type":426,"tag":553,"props":21871,"children":21872},{"style":572},[21873],{"type":431,"value":21874},"\"1️⃣ - Very poor",{"type":426,"tag":553,"props":21876,"children":21877},{"style":566},[21878],{"type":431,"value":1295},{"type":426,"tag":553,"props":21880,"children":21881},{"style":572},[21882],{"type":431,"value":1250},{"type":426,"tag":553,"props":21884,"children":21885},{"class":555,"line":1114},[21886,21890],{"type":426,"tag":553,"props":21887,"children":21888},{"style":795},[21889],{"type":431,"value":1216},{"type":426,"tag":553,"props":21891,"children":21892},{"style":572},[21893],{"type":431,"value":21894},"\"Your feedback helps us improve! 🙏\"\n",{"type":426,"tag":553,"props":21896,"children":21897},{"class":555,"line":1127},[21898],{"type":426,"tag":553,"props":21899,"children":21900},{"style":684},[21901],{"type":431,"value":1642},{"type":426,"tag":553,"props":21903,"children":21904},{"class":555,"line":1167},[21905],{"type":426,"tag":553,"props":21906,"children":21907},{"style":684},[21908],{"type":431,"value":917},{"type":426,"tag":553,"props":21910,"children":21911},{"class":555,"line":1184},[21912,21916],{"type":426,"tag":553,"props":21913,"children":21914},{"style":795},[21915],{"type":431,"value":1659},{"type":426,"tag":553,"props":21917,"children":21918},{"style":684},[21919],{"type":431,"value":21920}," send_whatsapp(phone, message)\n",{"type":426,"tag":553,"props":21922,"children":21923},{"class":555,"line":1192},[21924],{"type":426,"tag":553,"props":21925,"children":21926},{"emptyLinePlaceholder":831},[21927],{"type":431,"value":834},{"type":426,"tag":553,"props":21929,"children":21930},{"class":555,"line":1210},[21931],{"type":426,"tag":553,"props":21932,"children":21933},{"emptyLinePlaceholder":831},[21934],{"type":431,"value":834},{"type":426,"tag":553,"props":21936,"children":21937},{"class":555,"line":1253},[21938,21942,21947,21951,21955,21960,21964,21968,21972],{"type":426,"tag":553,"props":21939,"children":21940},{"style":795},[21941],{"type":431,"value":842},{"type":426,"tag":553,"props":21943,"children":21944},{"style":560},[21945],{"type":431,"value":21946}," handle_csat_response",{"type":426,"tag":553,"props":21948,"children":21949},{"style":684},[21950],{"type":431,"value":7446},{"type":426,"tag":553,"props":21952,"children":21953},{"style":566},[21954],{"type":431,"value":895},{"type":426,"tag":553,"props":21956,"children":21957},{"style":684},[21958],{"type":431,"value":21959},", rating: ",{"type":426,"tag":553,"props":21961,"children":21962},{"style":566},[21963],{"type":431,"value":895},{"type":426,"tag":553,"props":21965,"children":21966},{"style":684},[21967],{"type":431,"value":900},{"type":426,"tag":553,"props":21969,"children":21970},{"style":566},[21971],{"type":431,"value":1840},{"type":426,"tag":553,"props":21973,"children":21974},{"style":684},[21975],{"type":431,"value":909},{"type":426,"tag":553,"props":21977,"children":21978},{"class":555,"line":1302},[21979],{"type":426,"tag":553,"props":21980,"children":21981},{"style":572},[21982],{"type":431,"value":21983},"    \"\"\"Process CSAT reply from customer.\"\"\"\n",{"type":426,"tag":553,"props":21985,"children":21986},{"class":555,"line":1374},[21987,21991],{"type":426,"tag":553,"props":21988,"children":21989},{"style":795},[21990],{"type":431,"value":13401},{"type":426,"tag":553,"props":21992,"children":21993},{"style":684},[21994],{"type":431,"value":909},{"type":426,"tag":553,"props":21996,"children":21997},{"class":555,"line":1414},[21998,22003,22007,22012],{"type":426,"tag":553,"props":21999,"children":22000},{"style":684},[22001],{"type":431,"value":22002},"        score ",{"type":426,"tag":553,"props":22004,"children":22005},{"style":795},[22006],{"type":431,"value":957},{"type":426,"tag":553,"props":22008,"children":22009},{"style":566},[22010],{"type":431,"value":22011}," int",{"type":426,"tag":553,"props":22013,"children":22014},{"style":684},[22015],{"type":431,"value":22016},"(rating.strip())\n",{"type":426,"tag":553,"props":22018,"children":22019},{"class":555,"line":1479},[22020,22024,22028,22033,22038,22042,22047],{"type":426,"tag":553,"props":22021,"children":22022},{"style":795},[22023],{"type":431,"value":2972},{"type":426,"tag":553,"props":22025,"children":22026},{"style":566},[22027],{"type":431,"value":1014},{"type":426,"tag":553,"props":22029,"children":22030},{"style":795},[22031],{"type":431,"value":22032}," \u003C=",{"type":426,"tag":553,"props":22034,"children":22035},{"style":684},[22036],{"type":431,"value":22037}," score ",{"type":426,"tag":553,"props":22039,"children":22040},{"style":795},[22041],{"type":431,"value":15722},{"type":426,"tag":553,"props":22043,"children":22044},{"style":566},[22045],{"type":431,"value":22046}," 5",{"type":426,"tag":553,"props":22048,"children":22049},{"style":684},[22050],{"type":431,"value":909},{"type":426,"tag":553,"props":22052,"children":22053},{"class":555,"line":1517},[22054],{"type":426,"tag":553,"props":22055,"children":22056},{"style":684},[22057],{"type":431,"value":22058},"            log_csat_score(phone, score)\n",{"type":426,"tag":553,"props":22060,"children":22061},{"class":555,"line":1560},[22062],{"type":426,"tag":553,"props":22063,"children":22064},{"style":684},[22065],{"type":431,"value":8972},{"type":426,"tag":553,"props":22067,"children":22068},{"class":555,"line":1598},[22069,22073,22077,22081,22086],{"type":426,"tag":553,"props":22070,"children":22071},{"style":795},[22072],{"type":431,"value":8980},{"type":426,"tag":553,"props":22074,"children":22075},{"style":684},[22076],{"type":431,"value":22037},{"type":426,"tag":553,"props":22078,"children":22079},{"style":795},[22080],{"type":431,"value":9126},{"type":426,"tag":553,"props":22082,"children":22083},{"style":566},[22084],{"type":431,"value":22085}," 4",{"type":426,"tag":553,"props":22087,"children":22088},{"style":684},[22089],{"type":431,"value":909},{"type":426,"tag":553,"props":22091,"children":22092},{"class":555,"line":1636},[22093],{"type":426,"tag":553,"props":22094,"children":22095},{"style":684},[22096],{"type":431,"value":22097},"                send_whatsapp(phone, \n",{"type":426,"tag":553,"props":22099,"children":22100},{"class":555,"line":1645},[22101],{"type":426,"tag":553,"props":22102,"children":22103},{"style":572},[22104],{"type":431,"value":22105},"                    \"Thank you for the great rating! ⭐ We really appreciate it. \"\n",{"type":426,"tag":553,"props":22107,"children":22108},{"class":555,"line":1653},[22109],{"type":426,"tag":553,"props":22110,"children":22111},{"style":572},[22112],{"type":431,"value":22113},"                    \"Have a wonderful day!\"\n",{"type":426,"tag":553,"props":22115,"children":22116},{"class":555,"line":1667},[22117],{"type":426,"tag":553,"props":22118,"children":22119},{"style":684},[22120],{"type":431,"value":22121},"                )\n",{"type":426,"tag":553,"props":22123,"children":22124},{"class":555,"line":1680},[22125,22130],{"type":426,"tag":553,"props":22126,"children":22127},{"style":795},[22128],{"type":431,"value":22129},"            else",{"type":426,"tag":553,"props":22131,"children":22132},{"style":684},[22133],{"type":431,"value":909},{"type":426,"tag":553,"props":22135,"children":22136},{"class":555,"line":1740},[22137],{"type":426,"tag":553,"props":22138,"children":22139},{"style":684},[22140],{"type":431,"value":22141},"                send_whatsapp(phone,\n",{"type":426,"tag":553,"props":22143,"children":22144},{"class":555,"line":1787},[22145],{"type":426,"tag":553,"props":22146,"children":22147},{"style":572},[22148],{"type":431,"value":22149},"                    \"Thank you for your feedback. We're sorry the experience wasn't \"\n",{"type":426,"tag":553,"props":22151,"children":22152},{"class":555,"line":1796},[22153],{"type":426,"tag":553,"props":22154,"children":22155},{"style":572},[22156],{"type":431,"value":22157},"                    \"perfect. A manager will review your case. Reply if you need further help.\"\n",{"type":426,"tag":553,"props":22159,"children":22160},{"class":555,"line":1804},[22161],{"type":426,"tag":553,"props":22162,"children":22163},{"style":684},[22164],{"type":431,"value":22121},{"type":426,"tag":553,"props":22166,"children":22167},{"class":555,"line":1812},[22168,22172,22176],{"type":426,"tag":553,"props":22169,"children":22170},{"style":795},[22171],{"type":431,"value":13481},{"type":426,"tag":553,"props":22173,"children":22174},{"style":566},[22175],{"type":431,"value":12350},{"type":426,"tag":553,"props":22177,"children":22178},{"style":684},[22179],{"type":431,"value":909},{"type":426,"tag":553,"props":22181,"children":22182},{"class":555,"line":1847},[22183,22188],{"type":426,"tag":553,"props":22184,"children":22185},{"style":795},[22186],{"type":431,"value":22187},"        pass",{"type":426,"tag":553,"props":22189,"children":22190},{"style":1975},[22191],{"type":431,"value":22192},"  # Not a CSAT response\n",{"type":426,"tag":434,"props":22194,"children":22196},{"id":22195},"step-4-sla-tracking",[22197],{"type":431,"value":22198},"Step 4: SLA Tracking",{"type":426,"tag":427,"props":22200,"children":22201},{},[22202],{"type":431,"value":22203},"Track first response time and resolution time:",{"type":426,"tag":542,"props":22205,"children":22207},{"code":22206,"language":784,"meta":417,"className":785,"style":417},"from datetime import datetime\n\ndef check_sla_compliance():\n    \"\"\"Run every 15 minutes — alert if tickets are breaching SLA.\"\"\"\n    sla_2_hours = datetime.utcnow() - timedelta(hours=2)\n    \n    breaching_tickets = db.query(\"\"\"\n        SELECT ticket_id, customer_name, created_at\n        FROM support_tickets\n        WHERE status = 'open'\n          AND first_reply_at IS NULL\n          AND created_at \u003C %s\n    \"\"\", [sla_2_hours])\n    \n    for ticket in breaching_tickets:\n        # Alert support manager on Slack\n        notify_manager(\n            f\"⚠️ SLA Breach: Ticket #{ticket['ticket_id']} from \"\n            f\"{ticket['customer_name']} — {datetime.utcnow() - ticket['created_at']} with no response\"\n        )\n",[22208],{"type":426,"tag":549,"props":22209,"children":22210},{"__ignoreMap":417},[22211,22231,22238,22254,22262,22304,22311,22331,22339,22347,22355,22363,22375,22387,22394,22415,22423,22431,22470,22543],{"type":426,"tag":553,"props":22212,"children":22213},{"class":555,"line":556},[22214,22218,22222,22226],{"type":426,"tag":553,"props":22215,"children":22216},{"style":795},[22217],{"type":431,"value":811},{"type":426,"tag":553,"props":22219,"children":22220},{"style":684},[22221],{"type":431,"value":816},{"type":426,"tag":553,"props":22223,"children":22224},{"style":795},[22225],{"type":431,"value":798},{"type":426,"tag":553,"props":22227,"children":22228},{"style":684},[22229],{"type":431,"value":22230}," datetime\n",{"type":426,"tag":553,"props":22232,"children":22233},{"class":555,"line":588},[22234],{"type":426,"tag":553,"props":22235,"children":22236},{"emptyLinePlaceholder":831},[22237],{"type":431,"value":834},{"type":426,"tag":553,"props":22239,"children":22240},{"class":555,"line":606},[22241,22245,22250],{"type":426,"tag":553,"props":22242,"children":22243},{"style":795},[22244],{"type":431,"value":842},{"type":426,"tag":553,"props":22246,"children":22247},{"style":560},[22248],{"type":431,"value":22249}," check_sla_compliance",{"type":426,"tag":553,"props":22251,"children":22252},{"style":684},[22253],{"type":431,"value":6433},{"type":426,"tag":553,"props":22255,"children":22256},{"class":555,"line":623},[22257],{"type":426,"tag":553,"props":22258,"children":22259},{"style":572},[22260],{"type":431,"value":22261},"    \"\"\"Run every 15 minutes — alert if tickets are breaching SLA.\"\"\"\n",{"type":426,"tag":553,"props":22263,"children":22264},{"class":555,"line":637},[22265,22270,22274,22279,22283,22287,22292,22296,22300],{"type":426,"tag":553,"props":22266,"children":22267},{"style":684},[22268],{"type":431,"value":22269},"    sla_2_hours ",{"type":426,"tag":553,"props":22271,"children":22272},{"style":795},[22273],{"type":431,"value":957},{"type":426,"tag":553,"props":22275,"children":22276},{"style":684},[22277],{"type":431,"value":22278}," datetime.utcnow() ",{"type":426,"tag":553,"props":22280,"children":22281},{"style":795},[22282],{"type":431,"value":1939},{"type":426,"tag":553,"props":22284,"children":22285},{"style":684},[22286],{"type":431,"value":2038},{"type":426,"tag":553,"props":22288,"children":22289},{"style":1684},[22290],{"type":431,"value":22291},"hours",{"type":426,"tag":553,"props":22293,"children":22294},{"style":795},[22295],{"type":431,"value":957},{"type":426,"tag":553,"props":22297,"children":22298},{"style":566},[22299],{"type":431,"value":6533},{"type":426,"tag":553,"props":22301,"children":22302},{"style":684},[22303],{"type":431,"value":3262},{"type":426,"tag":553,"props":22305,"children":22306},{"class":555,"line":646},[22307],{"type":426,"tag":553,"props":22308,"children":22309},{"style":684},[22310],{"type":431,"value":917},{"type":426,"tag":553,"props":22312,"children":22313},{"class":555,"line":655},[22314,22319,22323,22327],{"type":426,"tag":553,"props":22315,"children":22316},{"style":684},[22317],{"type":431,"value":22318},"    breaching_tickets ",{"type":426,"tag":553,"props":22320,"children":22321},{"style":795},[22322],{"type":431,"value":957},{"type":426,"tag":553,"props":22324,"children":22325},{"style":684},[22326],{"type":431,"value":2079},{"type":426,"tag":553,"props":22328,"children":22329},{"style":572},[22330],{"type":431,"value":2084},{"type":426,"tag":553,"props":22332,"children":22333},{"class":555,"line":1036},[22334],{"type":426,"tag":553,"props":22335,"children":22336},{"style":572},[22337],{"type":431,"value":22338},"        SELECT ticket_id, customer_name, created_at\n",{"type":426,"tag":553,"props":22340,"children":22341},{"class":555,"line":1054},[22342],{"type":426,"tag":553,"props":22343,"children":22344},{"style":572},[22345],{"type":431,"value":22346},"        FROM support_tickets\n",{"type":426,"tag":553,"props":22348,"children":22349},{"class":555,"line":1080},[22350],{"type":426,"tag":553,"props":22351,"children":22352},{"style":572},[22353],{"type":431,"value":22354},"        WHERE status = 'open'\n",{"type":426,"tag":553,"props":22356,"children":22357},{"class":555,"line":1097},[22358],{"type":426,"tag":553,"props":22359,"children":22360},{"style":572},[22361],{"type":431,"value":22362},"          AND first_reply_at IS NULL\n",{"type":426,"tag":553,"props":22364,"children":22365},{"class":555,"line":1114},[22366,22371],{"type":426,"tag":553,"props":22367,"children":22368},{"style":572},[22369],{"type":431,"value":22370},"          AND created_at \u003C ",{"type":426,"tag":553,"props":22372,"children":22373},{"style":566},[22374],{"type":431,"value":15490},{"type":426,"tag":553,"props":22376,"children":22377},{"class":555,"line":1127},[22378,22382],{"type":426,"tag":553,"props":22379,"children":22380},{"style":572},[22381],{"type":431,"value":15510},{"type":426,"tag":553,"props":22383,"children":22384},{"style":684},[22385],{"type":431,"value":22386},", [sla_2_hours])\n",{"type":426,"tag":553,"props":22388,"children":22389},{"class":555,"line":1167},[22390],{"type":426,"tag":553,"props":22391,"children":22392},{"style":684},[22393],{"type":431,"value":917},{"type":426,"tag":553,"props":22395,"children":22396},{"class":555,"line":1184},[22397,22401,22406,22410],{"type":426,"tag":553,"props":22398,"children":22399},{"style":795},[22400],{"type":431,"value":1995},{"type":426,"tag":553,"props":22402,"children":22403},{"style":684},[22404],{"type":431,"value":22405}," ticket ",{"type":426,"tag":553,"props":22407,"children":22408},{"style":795},[22409],{"type":431,"value":2005},{"type":426,"tag":553,"props":22411,"children":22412},{"style":684},[22413],{"type":431,"value":22414}," breaching_tickets:\n",{"type":426,"tag":553,"props":22416,"children":22417},{"class":555,"line":1192},[22418],{"type":426,"tag":553,"props":22419,"children":22420},{"style":1975},[22421],{"type":431,"value":22422},"        # Alert support manager on Slack\n",{"type":426,"tag":553,"props":22424,"children":22425},{"class":555,"line":1210},[22426],{"type":426,"tag":553,"props":22427,"children":22428},{"style":684},[22429],{"type":431,"value":22430},"        notify_manager(\n",{"type":426,"tag":553,"props":22432,"children":22433},{"class":555,"line":1253},[22434,22438,22443,22447,22452,22457,22461,22465],{"type":426,"tag":553,"props":22435,"children":22436},{"style":795},[22437],{"type":431,"value":3740},{"type":426,"tag":553,"props":22439,"children":22440},{"style":572},[22441],{"type":431,"value":22442},"\"⚠️ SLA Breach: Ticket #",{"type":426,"tag":553,"props":22444,"children":22445},{"style":566},[22446],{"type":431,"value":972},{"type":426,"tag":553,"props":22448,"children":22449},{"style":684},[22450],{"type":431,"value":22451},"ticket[",{"type":426,"tag":553,"props":22453,"children":22454},{"style":572},[22455],{"type":431,"value":22456},"'ticket_id'",{"type":426,"tag":553,"props":22458,"children":22459},{"style":684},[22460],{"type":431,"value":1240},{"type":426,"tag":553,"props":22462,"children":22463},{"style":566},[22464],{"type":431,"value":982},{"type":426,"tag":553,"props":22466,"children":22467},{"style":572},[22468],{"type":431,"value":22469}," from \"\n",{"type":426,"tag":553,"props":22471,"children":22472},{"class":555,"line":1302},[22473,22477,22481,22485,22489,22494,22498,22502,22507,22511,22516,22520,22525,22530,22534,22538],{"type":426,"tag":553,"props":22474,"children":22475},{"style":795},[22476],{"type":431,"value":3740},{"type":426,"tag":553,"props":22478,"children":22479},{"style":572},[22480],{"type":431,"value":1527},{"type":426,"tag":553,"props":22482,"children":22483},{"style":566},[22484],{"type":431,"value":972},{"type":426,"tag":553,"props":22486,"children":22487},{"style":684},[22488],{"type":431,"value":22451},{"type":426,"tag":553,"props":22490,"children":22491},{"style":572},[22492],{"type":431,"value":22493},"'customer_name'",{"type":426,"tag":553,"props":22495,"children":22496},{"style":684},[22497],{"type":431,"value":1240},{"type":426,"tag":553,"props":22499,"children":22500},{"style":566},[22501],{"type":431,"value":982},{"type":426,"tag":553,"props":22503,"children":22504},{"style":572},[22505],{"type":431,"value":22506}," — ",{"type":426,"tag":553,"props":22508,"children":22509},{"style":566},[22510],{"type":431,"value":972},{"type":426,"tag":553,"props":22512,"children":22513},{"style":684},[22514],{"type":431,"value":22515},"datetime.utcnow() ",{"type":426,"tag":553,"props":22517,"children":22518},{"style":795},[22519],{"type":431,"value":1939},{"type":426,"tag":553,"props":22521,"children":22522},{"style":684},[22523],{"type":431,"value":22524}," ticket[",{"type":426,"tag":553,"props":22526,"children":22527},{"style":572},[22528],{"type":431,"value":22529},"'created_at'",{"type":426,"tag":553,"props":22531,"children":22532},{"style":684},[22533],{"type":431,"value":1240},{"type":426,"tag":553,"props":22535,"children":22536},{"style":566},[22537],{"type":431,"value":982},{"type":426,"tag":553,"props":22539,"children":22540},{"style":572},[22541],{"type":431,"value":22542}," with no response\"\n",{"type":426,"tag":553,"props":22544,"children":22545},{"class":555,"line":1374},[22546],{"type":426,"tag":553,"props":22547,"children":22548},{"style":684},[22549],{"type":431,"value":6037},{"type":426,"tag":434,"props":22551,"children":22553},{"id":22552},"step-5-test-your-support-bot",[22554],{"type":431,"value":22555},"Step 5: Test Your Support Bot",{"type":426,"tag":542,"props":22557,"children":22559},{"code":22558,"language":545,"meta":417,"className":546,"style":417},"# Test the bot with a shipping question\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"📦 Shipping Info\\n\\nStandard shipping: 3-5 business days ($5.99)\\nExpress: 1-2 business days ($14.99)\\nFree shipping over $50!\\n\\nTrack: https:\u002F\u002Fyourstore.com\u002Ftrack\\n\\nStill have questions? Reply AGENT.\"\n  }'\n",[22560],{"type":426,"tag":549,"props":22561,"children":22562},{"__ignoreMap":417},[22563,22571,22594,22609,22624,22635,22642,22650],{"type":426,"tag":553,"props":22564,"children":22565},{"class":555,"line":556},[22566],{"type":426,"tag":553,"props":22567,"children":22568},{"style":1975},[22569],{"type":431,"value":22570},"# Test the bot with a shipping question\n",{"type":426,"tag":553,"props":22572,"children":22573},{"class":555,"line":588},[22574,22578,22582,22586,22590],{"type":426,"tag":553,"props":22575,"children":22576},{"style":560},[22577],{"type":431,"value":563},{"type":426,"tag":553,"props":22579,"children":22580},{"style":566},[22581],{"type":431,"value":569},{"type":426,"tag":553,"props":22583,"children":22584},{"style":572},[22585],{"type":431,"value":575},{"type":426,"tag":553,"props":22587,"children":22588},{"style":572},[22589],{"type":431,"value":580},{"type":426,"tag":553,"props":22591,"children":22592},{"style":566},[22593],{"type":431,"value":585},{"type":426,"tag":553,"props":22595,"children":22596},{"class":555,"line":606},[22597,22601,22605],{"type":426,"tag":553,"props":22598,"children":22599},{"style":566},[22600],{"type":431,"value":594},{"type":426,"tag":553,"props":22602,"children":22603},{"style":572},[22604],{"type":431,"value":599},{"type":426,"tag":553,"props":22606,"children":22607},{"style":566},[22608],{"type":431,"value":585},{"type":426,"tag":553,"props":22610,"children":22611},{"class":555,"line":623},[22612,22616,22620],{"type":426,"tag":553,"props":22613,"children":22614},{"style":566},[22615],{"type":431,"value":594},{"type":426,"tag":553,"props":22617,"children":22618},{"style":572},[22619],{"type":431,"value":616},{"type":426,"tag":553,"props":22621,"children":22622},{"style":566},[22623],{"type":431,"value":585},{"type":426,"tag":553,"props":22625,"children":22626},{"class":555,"line":637},[22627,22631],{"type":426,"tag":553,"props":22628,"children":22629},{"style":566},[22630],{"type":431,"value":629},{"type":426,"tag":553,"props":22632,"children":22633},{"style":572},[22634],{"type":431,"value":634},{"type":426,"tag":553,"props":22636,"children":22637},{"class":555,"line":646},[22638],{"type":426,"tag":553,"props":22639,"children":22640},{"style":572},[22641],{"type":431,"value":643},{"type":426,"tag":553,"props":22643,"children":22644},{"class":555,"line":655},[22645],{"type":426,"tag":553,"props":22646,"children":22647},{"style":572},[22648],{"type":431,"value":22649},"    \"message\": \"📦 Shipping Info\\n\\nStandard shipping: 3-5 business days ($5.99)\\nExpress: 1-2 business days ($14.99)\\nFree shipping over $50!\\n\\nTrack: https:\u002F\u002Fyourstore.com\u002Ftrack\\n\\nStill have questions? Reply AGENT.\"\n",{"type":426,"tag":553,"props":22651,"children":22652},{"class":555,"line":1036},[22653],{"type":426,"tag":553,"props":22654,"children":22655},{"style":572},[22656],{"type":431,"value":661},{"type":426,"tag":427,"props":22658,"children":22659},{},[22660],{"type":426,"tag":446,"props":22661,"children":22662},{},[22663],{"type":431,"value":669},{"type":426,"tag":542,"props":22665,"children":22667},{"code":22666,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_support_abc123\",\n  \"timestamp\": \"2026-07-15T10:30:00Z\"\n}\n",[22668],{"type":426,"tag":549,"props":22669,"children":22670},{"__ignoreMap":417},[22671,22678,22697,22717,22733],{"type":426,"tag":553,"props":22672,"children":22673},{"class":555,"line":556},[22674],{"type":426,"tag":553,"props":22675,"children":22676},{"style":684},[22677],{"type":431,"value":687},{"type":426,"tag":553,"props":22679,"children":22680},{"class":555,"line":588},[22681,22685,22689,22693],{"type":426,"tag":553,"props":22682,"children":22683},{"style":566},[22684],{"type":431,"value":695},{"type":426,"tag":553,"props":22686,"children":22687},{"style":684},[22688],{"type":431,"value":700},{"type":426,"tag":553,"props":22690,"children":22691},{"style":572},[22692],{"type":431,"value":705},{"type":426,"tag":553,"props":22694,"children":22695},{"style":684},[22696],{"type":431,"value":710},{"type":426,"tag":553,"props":22698,"children":22699},{"class":555,"line":606},[22700,22704,22708,22713],{"type":426,"tag":553,"props":22701,"children":22702},{"style":566},[22703],{"type":431,"value":718},{"type":426,"tag":553,"props":22705,"children":22706},{"style":684},[22707],{"type":431,"value":700},{"type":426,"tag":553,"props":22709,"children":22710},{"style":572},[22711],{"type":431,"value":22712},"\"msg_support_abc123\"",{"type":426,"tag":553,"props":22714,"children":22715},{"style":684},[22716],{"type":431,"value":710},{"type":426,"tag":553,"props":22718,"children":22719},{"class":555,"line":623},[22720,22724,22728],{"type":426,"tag":553,"props":22721,"children":22722},{"style":566},[22723],{"type":431,"value":739},{"type":426,"tag":553,"props":22725,"children":22726},{"style":684},[22727],{"type":431,"value":700},{"type":426,"tag":553,"props":22729,"children":22730},{"style":572},[22731],{"type":431,"value":22732},"\"2026-07-15T10:30:00Z\"\n",{"type":426,"tag":553,"props":22734,"children":22735},{"class":555,"line":637},[22736],{"type":426,"tag":553,"props":22737,"children":22738},{"style":684},[22739],{"type":431,"value":756},{"type":426,"tag":434,"props":22741,"children":22743},{"id":22742},"support-automation-metrics-dashboard",[22744],{"type":431,"value":22745},"Support Automation Metrics Dashboard",{"type":426,"tag":427,"props":22747,"children":22748},{},[22749],{"type":431,"value":22750},"Track these key metrics weekly:",{"type":426,"tag":10600,"props":22752,"children":22753},{},[22754,22775],{"type":426,"tag":10604,"props":22755,"children":22756},{},[22757],{"type":426,"tag":10608,"props":22758,"children":22759},{},[22760,22765,22770],{"type":426,"tag":10612,"props":22761,"children":22762},{},[22763],{"type":431,"value":22764},"Metric",{"type":426,"tag":10612,"props":22766,"children":22767},{},[22768],{"type":431,"value":22769},"Target",{"type":426,"tag":10612,"props":22771,"children":22772},{},[22773],{"type":431,"value":22774},"What to do if below target",{"type":426,"tag":10623,"props":22776,"children":22777},{},[22778,22796,22814,22832,22850],{"type":426,"tag":10608,"props":22779,"children":22780},{},[22781,22786,22791],{"type":426,"tag":10630,"props":22782,"children":22783},{},[22784],{"type":431,"value":22785},"Bot resolution rate",{"type":426,"tag":10630,"props":22787,"children":22788},{},[22789],{"type":431,"value":22790},">60%",{"type":426,"tag":10630,"props":22792,"children":22793},{},[22794],{"type":431,"value":22795},"Add more CANNED_RESPONSES categories",{"type":426,"tag":10608,"props":22797,"children":22798},{},[22799,22804,22809],{"type":426,"tag":10630,"props":22800,"children":22801},{},[22802],{"type":431,"value":22803},"First response time",{"type":426,"tag":10630,"props":22805,"children":22806},{},[22807],{"type":431,"value":22808},"\u003C30 min",{"type":426,"tag":10630,"props":22810,"children":22811},{},[22812],{"type":431,"value":22813},"Review Slack notifications, add more agents",{"type":426,"tag":10608,"props":22815,"children":22816},{},[22817,22822,22827],{"type":426,"tag":10630,"props":22818,"children":22819},{},[22820],{"type":431,"value":22821},"CSAT score",{"type":426,"tag":10630,"props":22823,"children":22824},{},[22825],{"type":431,"value":22826},">4.0\u002F5",{"type":426,"tag":10630,"props":22828,"children":22829},{},[22830],{"type":431,"value":22831},"Review low-rated tickets for patterns",{"type":426,"tag":10608,"props":22833,"children":22834},{},[22835,22840,22845],{"type":426,"tag":10630,"props":22836,"children":22837},{},[22838],{"type":431,"value":22839},"Escalation rate",{"type":426,"tag":10630,"props":22841,"children":22842},{},[22843],{"type":431,"value":22844},"\u003C40%",{"type":426,"tag":10630,"props":22846,"children":22847},{},[22848],{"type":431,"value":22849},"Train the bot with more intent patterns",{"type":426,"tag":10608,"props":22851,"children":22852},{},[22853,22858,22863],{"type":426,"tag":10630,"props":22854,"children":22855},{},[22856],{"type":431,"value":22857},"Tickets per day",{"type":426,"tag":10630,"props":22859,"children":22860},{},[22861],{"type":431,"value":22862},"Monitor",{"type":426,"tag":10630,"props":22864,"children":22865},{},[22866],{"type":431,"value":22867},"Scale Rapiwa number count if needed",{"type":426,"tag":434,"props":22869,"children":22870},{"id":18886},[22871],{"type":431,"value":18889},{"type":426,"tag":454,"props":22873,"children":22874},{},[22875,22885,22895,22905],{"type":426,"tag":458,"props":22876,"children":22877},{},[22878,22883],{"type":426,"tag":446,"props":22879,"children":22880},{},[22881],{"type":431,"value":22882},"Bot loops on repeated messages",{"type":431,"value":22884},": Add a conversation state tracker — after the first auto-reply, wait for customer input before sending another",{"type":426,"tag":458,"props":22886,"children":22887},{},[22888,22893],{"type":426,"tag":446,"props":22889,"children":22890},{},[22891],{"type":431,"value":22892},"Agent reply going to wrong customer",{"type":431,"value":22894},": Implement strict ticket ID → phone number mapping in your database",{"type":426,"tag":458,"props":22896,"children":22897},{},[22898,22903],{"type":426,"tag":446,"props":22899,"children":22900},{},[22901],{"type":431,"value":22902},"Too many escalations",{"type":431,"value":22904},": Use OpenAI\u002FGemini for intent classification instead of keyword matching",{"type":426,"tag":458,"props":22906,"children":22907},{},[22908,22913,22915,22921,22923],{"type":426,"tag":446,"props":22909,"children":22910},{},[22911],{"type":431,"value":22912},"CSAT response misclassified",{"type":431,"value":22914},": Use ",{"type":426,"tag":549,"props":22916,"children":22918},{"className":22917},[],[22919],{"type":431,"value":22920},"in ('1','2','3','4','5')",{"type":431,"value":22922}," check, not just ",{"type":426,"tag":549,"props":22924,"children":22926},{"className":22925},[],[22927],{"type":431,"value":22928},"isinstance(int)",{"type":426,"tag":434,"props":22930,"children":22931},{"id":4109},[22932],{"type":431,"value":4112},{"type":426,"tag":427,"props":22934,"children":22935},{},[22936,22941],{"type":426,"tag":446,"props":22937,"children":22938},{},[22939],{"type":431,"value":22940},"Can I handle hundreds of WhatsApp support conversations simultaneously?",{"type":431,"value":22942},"\nYes. Rapiwa's API handles unlimited concurrent conversations. Your webhook server needs to handle concurrent requests — use async Python (FastAPI) or Node.js for high-volume deployments.",{"type":426,"tag":427,"props":22944,"children":22945},{},[22946,22951],{"type":426,"tag":446,"props":22947,"children":22948},{},[22949],{"type":431,"value":22950},"Does Rapiwa charge per support message?",{"type":431,"value":22952},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. A support system handling 1,000 conversations\u002Fday costs $5\u002Fmonth for the WhatsApp layer.",{"type":426,"tag":427,"props":22954,"children":22955},{},[22956,22961,22963,22969],{"type":426,"tag":446,"props":22957,"children":22958},{},[22959],{"type":431,"value":22960},"How do I build the agent dashboard for replying to customers?",{"type":431,"value":22962},"\nBuild a simple web interface showing open tickets (from your database) with a reply form. The form POSTs to your ",{"type":426,"tag":549,"props":22964,"children":22966},{"className":22965},[],[22967],{"type":431,"value":22968},"\u002Fapi\u002Fsupport\u002Freply\u002F{ticket_id}",{"type":431,"value":22970}," endpoint which calls Rapiwa's API to send the reply.",{"type":426,"tag":427,"props":22972,"children":22973},{},[22974,22979],{"type":426,"tag":446,"props":22975,"children":22976},{},[22977],{"type":431,"value":22978},"Can I connect this to an existing helpdesk like Zendesk or Freshdesk?",{"type":431,"value":22980},"\nYes. Create a WhatsApp → Zendesk bridge in n8n: incoming Rapiwa webhook → create Zendesk ticket → when Zendesk ticket gets a reply → Rapiwa API sends WhatsApp reply to customer.",{"type":426,"tag":427,"props":22982,"children":22983},{},[22984,22989],{"type":426,"tag":446,"props":22985,"children":22986},{},[22987],{"type":431,"value":22988},"What is the best WhatsApp API for customer support automation?",{"type":431,"value":22990},"\nRapiwa is the cheapest at $5\u002Fmonth flat with no per-message fees — ideal for high-volume support where per-message billing from other providers adds up quickly.",{"type":426,"tag":4164,"props":22992,"children":22993},{},[22994],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":22996},[22997,22998,22999,23000,23001,23002,23003,23004,23005,23006],{"id":19011,"depth":588,"text":19014},{"id":19148,"depth":588,"text":19151},{"id":19162,"depth":588,"text":19165},{"id":20886,"depth":588,"text":20889},{"id":21600,"depth":588,"text":21603},{"id":22195,"depth":588,"text":22198},{"id":22552,"depth":588,"text":22555},{"id":22742,"depth":588,"text":22745},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-customer-support-automation-2026.md","blog\u002Fwhatsapp-api-customer-support-automation-2026.md","blog\u002Fwhatsapp-api-customer-support-automation-2026",{"loc":28},{"_path":32,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":33,"description":34,"date":23012,"author":419,"category":8,"_slug":23013,"image":23014,"body":23015,"_type":4187,"_id":26204,"_source":4189,"_file":26205,"_stem":26206,"_extension":4192,"sitemap":26207},"2026-03-24","whatsapp-api-failed-payment-recovery","\u002Fimages\u002Fblog\u002Fwhatsapp-api-failed-payment-recovery.svg",{"type":423,"children":23016,"toc":26188},[23017,23022,23028,23038,23043,23049,23057,23063,23109,23115,23121,25173,25179,25187,25195,25201,25649,25655,25660,25761,25768,25844,25850,25855,25863,25925,25933,26046,26050,26093,26097,26130,26134,26144,26154,26164,26174,26184],{"type":426,"tag":427,"props":23018,"children":23019},{},[23020],{"type":431,"value":23021},"You can recover failed payments automatically by sending WhatsApp messages via Rapiwa API when a payment fails — for subscriptions, e-commerce orders, or invoice payments. WhatsApp recovery messages have a 98% open rate versus 20% for email dunning sequences, making them 3–5x more effective at recovering failed charges. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":23023,"children":23025},{"id":23024},"why-failed-payment-recovery-matters",[23026],{"type":431,"value":23027},"Why Failed Payment Recovery Matters",{"type":426,"tag":427,"props":23029,"children":23030},{},[23031,23036],{"type":426,"tag":446,"props":23032,"children":23033},{},[23034],{"type":431,"value":23035},"Involuntary churn",{"type":431,"value":23037}," (churn from failed payments, not customer intent) accounts for 20–40% of all SaaS and subscription churn. An email dunning sequence recovers ~15% of failed payments. A WhatsApp dunning sequence recovers 40–60% — because the messages are actually read.",{"type":426,"tag":427,"props":23039,"children":23040},{},[23041],{"type":431,"value":23042},"For e-commerce, payment failures cost stores 3–5% of total revenue from orders that simply never completed.",{"type":426,"tag":434,"props":23044,"children":23046},{"id":23045},"failed-payment-recovery-architecture",[23047],{"type":431,"value":23048},"Failed Payment Recovery Architecture",{"type":426,"tag":542,"props":23050,"children":23052},{"code":23051},"Payment processor webhook (Stripe, PayPal, etc.)\n  → Payment failure event\n  → n8n or your server\n  → Rapiwa API\n  → WhatsApp message to customer\n  → Wait 3 days → Second reminder\n  → Wait 7 days → Final notice\n  → Update CRM\u002Faccount status\n",[23053],{"type":426,"tag":549,"props":23054,"children":23055},{"__ignoreMap":417},[23056],{"type":431,"value":23051},{"type":426,"tag":434,"props":23058,"children":23060},{"id":23059},"step-1-set-up-the-stripe-webhook",[23061],{"type":431,"value":23062},"Step 1: Set Up the Stripe Webhook",{"type":426,"tag":542,"props":23064,"children":23066},{"code":23065,"language":784,"meta":417,"className":785,"style":417},"# Stripe sends webhook events for payment failures\n# Register at: Stripe Dashboard → Developers → Webhooks\n\n# Event: payment_intent.payment_failed\n# or: invoice.payment_failed (for subscriptions)\n",[23067],{"type":426,"tag":549,"props":23068,"children":23069},{"__ignoreMap":417},[23070,23078,23086,23093,23101],{"type":426,"tag":553,"props":23071,"children":23072},{"class":555,"line":556},[23073],{"type":426,"tag":553,"props":23074,"children":23075},{"style":1975},[23076],{"type":431,"value":23077},"# Stripe sends webhook events for payment failures\n",{"type":426,"tag":553,"props":23079,"children":23080},{"class":555,"line":588},[23081],{"type":426,"tag":553,"props":23082,"children":23083},{"style":1975},[23084],{"type":431,"value":23085},"# Register at: Stripe Dashboard → Developers → Webhooks\n",{"type":426,"tag":553,"props":23087,"children":23088},{"class":555,"line":606},[23089],{"type":426,"tag":553,"props":23090,"children":23091},{"emptyLinePlaceholder":831},[23092],{"type":431,"value":834},{"type":426,"tag":553,"props":23094,"children":23095},{"class":555,"line":623},[23096],{"type":426,"tag":553,"props":23097,"children":23098},{"style":1975},[23099],{"type":431,"value":23100},"# Event: payment_intent.payment_failed\n",{"type":426,"tag":553,"props":23102,"children":23103},{"class":555,"line":637},[23104],{"type":426,"tag":553,"props":23105,"children":23106},{"style":1975},[23107],{"type":431,"value":23108},"# or: invoice.payment_failed (for subscriptions)\n",{"type":426,"tag":434,"props":23110,"children":23112},{"id":23111},"step-2-detect-failed-payments-and-send-whatsapp",[23113],{"type":431,"value":23114},"Step 2: Detect Failed Payments and Send WhatsApp",{"type":426,"tag":515,"props":23116,"children":23118},{"id":23117},"python-flask-webhook-handler",[23119],{"type":431,"value":23120},"Python (Flask webhook handler)",{"type":426,"tag":542,"props":23122,"children":23124},{"code":23123,"language":784,"meta":417,"className":785,"style":417},"# payment_recovery.py\n# pip install flask stripe requests\n\nfrom flask import Flask, request, jsonify\nimport stripe\nimport requests\nimport time\nfrom datetime import datetime, timedelta\n\napp = Flask(__name__)\n\nSTRIPE_WEBHOOK_SECRET = 'whsec_...'\nRAPIWA_API_KEY = 'YOUR_API_KEY'\n\n@app.route('\u002Fwebhooks\u002Fstripe', methods=['POST'])\ndef stripe_webhook():\n    payload = request.data\n    sig_header = request.headers.get('Stripe-Signature')\n    \n    try:\n        event = stripe.Webhook.construct_event(payload, sig_header, STRIPE_WEBHOOK_SECRET)\n    except ValueError:\n        return jsonify({'error': 'Invalid payload'}), 400\n    except stripe.error.SignatureVerificationError:\n        return jsonify({'error': 'Invalid signature'}), 400\n    \n    if event['type'] == 'invoice.payment_failed':\n        handle_subscription_payment_failed(event['data']['object'])\n    \n    elif event['type'] == 'payment_intent.payment_failed':\n        handle_order_payment_failed(event['data']['object'])\n    \n    return jsonify({'status': 'ok'})\n\n\ndef handle_subscription_payment_failed(invoice: dict) -> None:\n    \"\"\"Handle failed subscription payment from Stripe invoice event.\"\"\"\n    customer_id = invoice['customer']\n    attempt_count = invoice.get('attempt_count', 1)\n    \n    # Fetch customer from Stripe to get metadata (phone number)\n    customer = stripe.Customer.retrieve(customer_id)\n    phone = customer.get('metadata', {}).get('whatsapp_phone')\n    name = customer.get('name', 'there')\n    \n    if not phone:\n        return  # No WhatsApp number — fall back to email only\n    \n    # Get the payment update URL\n    payment_url = f\"https:\u002F\u002Fapp.yourproduct.com\u002Fbilling\u002Fupdate-card\"\n    \n    message = build_payment_failed_message(\n        name=name,\n        attempt=attempt_count,\n        amount=invoice['amount_due'] \u002F 100,\n        currency=invoice['currency'].upper(),\n        payment_url=payment_url\n    )\n    \n    send_whatsapp(phone, message)\n    \n    # Schedule follow-up if first attempt\n    if attempt_count == 1:\n        schedule_payment_reminder(\n            phone=phone,\n            name=name,\n            payment_url=payment_url,\n            send_at=datetime.utcnow() + timedelta(days=3)\n        )\n\n\ndef build_payment_failed_message(name: str, attempt: int, \n                                  amount: float, currency: str, \n                                  payment_url: str) -> str:\n    \"\"\"Build the payment failure WhatsApp message based on attempt count.\"\"\"\n    \n    if attempt == 1:\n        return (\n            f\"Payment Failed ⚠️\\n\\n\"\n            f\"Hi {name}! We couldn't charge your card for ${amount:.2f} {currency}.\\n\\n\"\n            f\"Don't worry — your account is still active. \"\n            f\"Please update your payment method:\\n\\n\"\n            f\"💳 Update card: {payment_url}\\n\\n\"\n            f\"Need help? Just reply here!\"\n        )\n    \n    elif attempt == 2:\n        return (\n            f\"Second Payment Attempt Failed ⚠️\\n\\n\"\n            f\"Hi {name}! We tried again but couldn't process your ${amount:.2f} {currency} payment.\\n\\n\"\n            f\"Your account will be paused in 3 days if payment isn't received.\\n\\n\"\n            f\"💳 Update now: {payment_url}\\n\\n\"\n            f\"Or reply HELP if you're having trouble.\"\n        )\n    \n    else:  # 3rd+ attempt\n        return (\n            f\"⚠️ FINAL NOTICE — Payment Required\\n\\n\"\n            f\"Hi {name}! This is our final payment notice.\\n\\n\"\n            f\"Amount due: ${amount:.2f} {currency}\\n\"\n            f\"Your account will be suspended if not paid by [DATE+7 days].\\n\\n\"\n            f\"💳 Resolve now: {payment_url}\\n\\n\"\n            f\"Or reply to speak with our billing team.\"\n        )\n\n\ndef send_whatsapp(phone: str, message: str) -> dict:\n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': phone, 'message': message}\n    ).json()\n",[23125],{"type":426,"tag":549,"props":23126,"children":23127},{"__ignoreMap":417},[23128,23136,23144,23151,23170,23182,23193,23204,23223,23230,23253,23260,23277,23293,23300,23340,23356,23372,23397,23404,23415,23440,23455,23487,23499,23531,23538,23571,23597,23604,23636,23660,23667,23694,23701,23708,23741,23749,23775,23809,23816,23824,23841,23876,23909,23916,23932,23944,23951,23959,23980,23987,24003,24020,24037,24075,24100,24117,24124,24131,24139,24146,24154,24178,24186,24203,24219,24236,24276,24283,24290,24297,24331,24356,24380,24388,24395,24418,24429,24449,24521,24533,24553,24582,24594,24601,24608,24631,24642,24662,24731,24751,24779,24791,24798,24805,24823,24835,24856,24893,24938,24959,24988,25001,25009,25017,25025,25065,25077,25089,25133,25165],{"type":426,"tag":553,"props":23129,"children":23130},{"class":555,"line":556},[23131],{"type":426,"tag":553,"props":23132,"children":23133},{"style":1975},[23134],{"type":431,"value":23135},"# payment_recovery.py\n",{"type":426,"tag":553,"props":23137,"children":23138},{"class":555,"line":588},[23139],{"type":426,"tag":553,"props":23140,"children":23141},{"style":1975},[23142],{"type":431,"value":23143},"# pip install flask stripe requests\n",{"type":426,"tag":553,"props":23145,"children":23146},{"class":555,"line":606},[23147],{"type":426,"tag":553,"props":23148,"children":23149},{"emptyLinePlaceholder":831},[23150],{"type":431,"value":834},{"type":426,"tag":553,"props":23152,"children":23153},{"class":555,"line":623},[23154,23158,23162,23166],{"type":426,"tag":553,"props":23155,"children":23156},{"style":795},[23157],{"type":431,"value":811},{"type":426,"tag":553,"props":23159,"children":23160},{"style":684},[23161],{"type":431,"value":13265},{"type":426,"tag":553,"props":23163,"children":23164},{"style":795},[23165],{"type":431,"value":798},{"type":426,"tag":553,"props":23167,"children":23168},{"style":684},[23169],{"type":431,"value":19220},{"type":426,"tag":553,"props":23171,"children":23172},{"class":555,"line":637},[23173,23177],{"type":426,"tag":553,"props":23174,"children":23175},{"style":795},[23176],{"type":431,"value":798},{"type":426,"tag":553,"props":23178,"children":23179},{"style":684},[23180],{"type":431,"value":23181}," stripe\n",{"type":426,"tag":553,"props":23183,"children":23184},{"class":555,"line":646},[23185,23189],{"type":426,"tag":553,"props":23186,"children":23187},{"style":795},[23188],{"type":431,"value":798},{"type":426,"tag":553,"props":23190,"children":23191},{"style":684},[23192],{"type":431,"value":803},{"type":426,"tag":553,"props":23194,"children":23195},{"class":555,"line":655},[23196,23200],{"type":426,"tag":553,"props":23197,"children":23198},{"style":795},[23199],{"type":431,"value":798},{"type":426,"tag":553,"props":23201,"children":23202},{"style":684},[23203],{"type":431,"value":3081},{"type":426,"tag":553,"props":23205,"children":23206},{"class":555,"line":1036},[23207,23211,23215,23219],{"type":426,"tag":553,"props":23208,"children":23209},{"style":795},[23210],{"type":431,"value":811},{"type":426,"tag":553,"props":23212,"children":23213},{"style":684},[23214],{"type":431,"value":816},{"type":426,"tag":553,"props":23216,"children":23217},{"style":795},[23218],{"type":431,"value":798},{"type":426,"tag":553,"props":23220,"children":23221},{"style":684},[23222],{"type":431,"value":6409},{"type":426,"tag":553,"props":23224,"children":23225},{"class":555,"line":1054},[23226],{"type":426,"tag":553,"props":23227,"children":23228},{"emptyLinePlaceholder":831},[23229],{"type":431,"value":834},{"type":426,"tag":553,"props":23231,"children":23232},{"class":555,"line":1080},[23233,23237,23241,23245,23249],{"type":426,"tag":553,"props":23234,"children":23235},{"style":684},[23236],{"type":431,"value":13301},{"type":426,"tag":553,"props":23238,"children":23239},{"style":795},[23240],{"type":431,"value":957},{"type":426,"tag":553,"props":23242,"children":23243},{"style":684},[23244],{"type":431,"value":13310},{"type":426,"tag":553,"props":23246,"children":23247},{"style":566},[23248],{"type":431,"value":13315},{"type":426,"tag":553,"props":23250,"children":23251},{"style":684},[23252],{"type":431,"value":3262},{"type":426,"tag":553,"props":23254,"children":23255},{"class":555,"line":1097},[23256],{"type":426,"tag":553,"props":23257,"children":23258},{"emptyLinePlaceholder":831},[23259],{"type":431,"value":834},{"type":426,"tag":553,"props":23261,"children":23262},{"class":555,"line":1114},[23263,23268,23272],{"type":426,"tag":553,"props":23264,"children":23265},{"style":566},[23266],{"type":431,"value":23267},"STRIPE_WEBHOOK_SECRET",{"type":426,"tag":553,"props":23269,"children":23270},{"style":795},[23271],{"type":431,"value":8739},{"type":426,"tag":553,"props":23273,"children":23274},{"style":572},[23275],{"type":431,"value":23276}," 'whsec_...'\n",{"type":426,"tag":553,"props":23278,"children":23279},{"class":555,"line":1127},[23280,23284,23288],{"type":426,"tag":553,"props":23281,"children":23282},{"style":566},[23283],{"type":431,"value":7156},{"type":426,"tag":553,"props":23285,"children":23286},{"style":795},[23287],{"type":431,"value":8739},{"type":426,"tag":553,"props":23289,"children":23290},{"style":572},[23291],{"type":431,"value":23292}," 'YOUR_API_KEY'\n",{"type":426,"tag":553,"props":23294,"children":23295},{"class":555,"line":1167},[23296],{"type":426,"tag":553,"props":23297,"children":23298},{"emptyLinePlaceholder":831},[23299],{"type":431,"value":834},{"type":426,"tag":553,"props":23301,"children":23302},{"class":555,"line":1184},[23303,23307,23311,23316,23320,23324,23328,23332,23336],{"type":426,"tag":553,"props":23304,"children":23305},{"style":560},[23306],{"type":431,"value":8024},{"type":426,"tag":553,"props":23308,"children":23309},{"style":684},[23310],{"type":431,"value":3275},{"type":426,"tag":553,"props":23312,"children":23313},{"style":572},[23314],{"type":431,"value":23315},"'\u002Fwebhooks\u002Fstripe'",{"type":426,"tag":553,"props":23317,"children":23318},{"style":684},[23319],{"type":431,"value":1907},{"type":426,"tag":553,"props":23321,"children":23322},{"style":1684},[23323],{"type":431,"value":8042},{"type":426,"tag":553,"props":23325,"children":23326},{"style":795},[23327],{"type":431,"value":957},{"type":426,"tag":553,"props":23329,"children":23330},{"style":684},[23331],{"type":431,"value":8051},{"type":426,"tag":553,"props":23333,"children":23334},{"style":572},[23335],{"type":431,"value":8056},{"type":426,"tag":553,"props":23337,"children":23338},{"style":684},[23339],{"type":431,"value":8061},{"type":426,"tag":553,"props":23341,"children":23342},{"class":555,"line":1192},[23343,23347,23352],{"type":426,"tag":553,"props":23344,"children":23345},{"style":795},[23346],{"type":431,"value":842},{"type":426,"tag":553,"props":23348,"children":23349},{"style":560},[23350],{"type":431,"value":23351}," stripe_webhook",{"type":426,"tag":553,"props":23353,"children":23354},{"style":684},[23355],{"type":431,"value":6433},{"type":426,"tag":553,"props":23357,"children":23358},{"class":555,"line":1210},[23359,23363,23367],{"type":426,"tag":553,"props":23360,"children":23361},{"style":684},[23362],{"type":431,"value":8085},{"type":426,"tag":553,"props":23364,"children":23365},{"style":795},[23366],{"type":431,"value":957},{"type":426,"tag":553,"props":23368,"children":23369},{"style":684},[23370],{"type":431,"value":23371}," request.data\n",{"type":426,"tag":553,"props":23373,"children":23374},{"class":555,"line":1253},[23375,23380,23384,23388,23393],{"type":426,"tag":553,"props":23376,"children":23377},{"style":684},[23378],{"type":431,"value":23379},"    sig_header ",{"type":426,"tag":553,"props":23381,"children":23382},{"style":795},[23383],{"type":431,"value":957},{"type":426,"tag":553,"props":23385,"children":23386},{"style":684},[23387],{"type":431,"value":13592},{"type":426,"tag":553,"props":23389,"children":23390},{"style":572},[23391],{"type":431,"value":23392},"'Stripe-Signature'",{"type":426,"tag":553,"props":23394,"children":23395},{"style":684},[23396],{"type":431,"value":3262},{"type":426,"tag":553,"props":23398,"children":23399},{"class":555,"line":1302},[23400],{"type":426,"tag":553,"props":23401,"children":23402},{"style":684},[23403],{"type":431,"value":917},{"type":426,"tag":553,"props":23405,"children":23406},{"class":555,"line":1374},[23407,23411],{"type":426,"tag":553,"props":23408,"children":23409},{"style":795},[23410],{"type":431,"value":13401},{"type":426,"tag":553,"props":23412,"children":23413},{"style":684},[23414],{"type":431,"value":909},{"type":426,"tag":553,"props":23416,"children":23417},{"class":555,"line":1414},[23418,23423,23427,23432,23436],{"type":426,"tag":553,"props":23419,"children":23420},{"style":684},[23421],{"type":431,"value":23422},"        event ",{"type":426,"tag":553,"props":23424,"children":23425},{"style":795},[23426],{"type":431,"value":957},{"type":426,"tag":553,"props":23428,"children":23429},{"style":684},[23430],{"type":431,"value":23431}," stripe.Webhook.construct_event(payload, sig_header, ",{"type":426,"tag":553,"props":23433,"children":23434},{"style":566},[23435],{"type":431,"value":23267},{"type":426,"tag":553,"props":23437,"children":23438},{"style":684},[23439],{"type":431,"value":3262},{"type":426,"tag":553,"props":23441,"children":23442},{"class":555,"line":1479},[23443,23447,23451],{"type":426,"tag":553,"props":23444,"children":23445},{"style":795},[23446],{"type":431,"value":13481},{"type":426,"tag":553,"props":23448,"children":23449},{"style":566},[23450],{"type":431,"value":12350},{"type":426,"tag":553,"props":23452,"children":23453},{"style":684},[23454],{"type":431,"value":909},{"type":426,"tag":553,"props":23456,"children":23457},{"class":555,"line":1517},[23458,23462,23466,23470,23474,23479,23483],{"type":426,"tag":553,"props":23459,"children":23460},{"style":795},[23461],{"type":431,"value":8378},{"type":426,"tag":553,"props":23463,"children":23464},{"style":684},[23465],{"type":431,"value":8126},{"type":426,"tag":553,"props":23467,"children":23468},{"style":572},[23469],{"type":431,"value":13699},{"type":426,"tag":553,"props":23471,"children":23472},{"style":684},[23473],{"type":431,"value":700},{"type":426,"tag":553,"props":23475,"children":23476},{"style":572},[23477],{"type":431,"value":23478},"'Invalid payload'",{"type":426,"tag":553,"props":23480,"children":23481},{"style":684},[23482],{"type":431,"value":13713},{"type":426,"tag":553,"props":23484,"children":23485},{"style":566},[23486],{"type":431,"value":13858},{"type":426,"tag":553,"props":23488,"children":23489},{"class":555,"line":1560},[23490,23494],{"type":426,"tag":553,"props":23491,"children":23492},{"style":795},[23493],{"type":431,"value":13481},{"type":426,"tag":553,"props":23495,"children":23496},{"style":684},[23497],{"type":431,"value":23498}," stripe.error.SignatureVerificationError:\n",{"type":426,"tag":553,"props":23500,"children":23501},{"class":555,"line":1598},[23502,23506,23510,23514,23518,23523,23527],{"type":426,"tag":553,"props":23503,"children":23504},{"style":795},[23505],{"type":431,"value":8378},{"type":426,"tag":553,"props":23507,"children":23508},{"style":684},[23509],{"type":431,"value":8126},{"type":426,"tag":553,"props":23511,"children":23512},{"style":572},[23513],{"type":431,"value":13699},{"type":426,"tag":553,"props":23515,"children":23516},{"style":684},[23517],{"type":431,"value":700},{"type":426,"tag":553,"props":23519,"children":23520},{"style":572},[23521],{"type":431,"value":23522},"'Invalid signature'",{"type":426,"tag":553,"props":23524,"children":23525},{"style":684},[23526],{"type":431,"value":13713},{"type":426,"tag":553,"props":23528,"children":23529},{"style":566},[23530],{"type":431,"value":13858},{"type":426,"tag":553,"props":23532,"children":23533},{"class":555,"line":1636},[23534],{"type":426,"tag":553,"props":23535,"children":23536},{"style":684},[23537],{"type":431,"value":917},{"type":426,"tag":553,"props":23539,"children":23540},{"class":555,"line":1645},[23541,23545,23550,23554,23558,23562,23567],{"type":426,"tag":553,"props":23542,"children":23543},{"style":795},[23544],{"type":431,"value":925},{"type":426,"tag":553,"props":23546,"children":23547},{"style":684},[23548],{"type":431,"value":23549}," event[",{"type":426,"tag":553,"props":23551,"children":23552},{"style":572},[23553],{"type":431,"value":1398},{"type":426,"tag":553,"props":23555,"children":23556},{"style":684},[23557],{"type":431,"value":2229},{"type":426,"tag":553,"props":23559,"children":23560},{"style":795},[23561],{"type":431,"value":1069},{"type":426,"tag":553,"props":23563,"children":23564},{"style":572},[23565],{"type":431,"value":23566}," 'invoice.payment_failed'",{"type":426,"tag":553,"props":23568,"children":23569},{"style":684},[23570],{"type":431,"value":909},{"type":426,"tag":553,"props":23572,"children":23573},{"class":555,"line":1653},[23574,23579,23583,23588,23593],{"type":426,"tag":553,"props":23575,"children":23576},{"style":684},[23577],{"type":431,"value":23578},"        handle_subscription_payment_failed(event[",{"type":426,"tag":553,"props":23580,"children":23581},{"style":572},[23582],{"type":431,"value":8206},{"type":426,"tag":553,"props":23584,"children":23585},{"style":684},[23586],{"type":431,"value":23587},"][",{"type":426,"tag":553,"props":23589,"children":23590},{"style":572},[23591],{"type":431,"value":23592},"'object'",{"type":426,"tag":553,"props":23594,"children":23595},{"style":684},[23596],{"type":431,"value":8061},{"type":426,"tag":553,"props":23598,"children":23599},{"class":555,"line":1667},[23600],{"type":426,"tag":553,"props":23601,"children":23602},{"style":684},[23603],{"type":431,"value":917},{"type":426,"tag":553,"props":23605,"children":23606},{"class":555,"line":1680},[23607,23611,23615,23619,23623,23627,23632],{"type":426,"tag":553,"props":23608,"children":23609},{"style":795},[23610],{"type":431,"value":1060},{"type":426,"tag":553,"props":23612,"children":23613},{"style":684},[23614],{"type":431,"value":23549},{"type":426,"tag":553,"props":23616,"children":23617},{"style":572},[23618],{"type":431,"value":1398},{"type":426,"tag":553,"props":23620,"children":23621},{"style":684},[23622],{"type":431,"value":2229},{"type":426,"tag":553,"props":23624,"children":23625},{"style":795},[23626],{"type":431,"value":1069},{"type":426,"tag":553,"props":23628,"children":23629},{"style":572},[23630],{"type":431,"value":23631}," 'payment_intent.payment_failed'",{"type":426,"tag":553,"props":23633,"children":23634},{"style":684},[23635],{"type":431,"value":909},{"type":426,"tag":553,"props":23637,"children":23638},{"class":555,"line":1740},[23639,23644,23648,23652,23656],{"type":426,"tag":553,"props":23640,"children":23641},{"style":684},[23642],{"type":431,"value":23643},"        handle_order_payment_failed(event[",{"type":426,"tag":553,"props":23645,"children":23646},{"style":572},[23647],{"type":431,"value":8206},{"type":426,"tag":553,"props":23649,"children":23650},{"style":684},[23651],{"type":431,"value":23587},{"type":426,"tag":553,"props":23653,"children":23654},{"style":572},[23655],{"type":431,"value":23592},{"type":426,"tag":553,"props":23657,"children":23658},{"style":684},[23659],{"type":431,"value":8061},{"type":426,"tag":553,"props":23661,"children":23662},{"class":555,"line":1787},[23663],{"type":426,"tag":553,"props":23664,"children":23665},{"style":684},[23666],{"type":431,"value":917},{"type":426,"tag":553,"props":23668,"children":23669},{"class":555,"line":1796},[23670,23674,23678,23682,23686,23690],{"type":426,"tag":553,"props":23671,"children":23672},{"style":795},[23673],{"type":431,"value":1659},{"type":426,"tag":553,"props":23675,"children":23676},{"style":684},[23677],{"type":431,"value":8126},{"type":426,"tag":553,"props":23679,"children":23680},{"style":572},[23681],{"type":431,"value":2982},{"type":426,"tag":553,"props":23683,"children":23684},{"style":684},[23685],{"type":431,"value":700},{"type":426,"tag":553,"props":23687,"children":23688},{"style":572},[23689],{"type":431,"value":8139},{"type":426,"tag":553,"props":23691,"children":23692},{"style":684},[23693],{"type":431,"value":8144},{"type":426,"tag":553,"props":23695,"children":23696},{"class":555,"line":1804},[23697],{"type":426,"tag":553,"props":23698,"children":23699},{"emptyLinePlaceholder":831},[23700],{"type":431,"value":834},{"type":426,"tag":553,"props":23702,"children":23703},{"class":555,"line":1812},[23704],{"type":426,"tag":553,"props":23705,"children":23706},{"emptyLinePlaceholder":831},[23707],{"type":431,"value":834},{"type":426,"tag":553,"props":23709,"children":23710},{"class":555,"line":1847},[23711,23715,23720,23725,23729,23733,23737],{"type":426,"tag":553,"props":23712,"children":23713},{"style":795},[23714],{"type":431,"value":842},{"type":426,"tag":553,"props":23716,"children":23717},{"style":560},[23718],{"type":431,"value":23719}," handle_subscription_payment_failed",{"type":426,"tag":553,"props":23721,"children":23722},{"style":684},[23723],{"type":431,"value":23724},"(invoice: ",{"type":426,"tag":553,"props":23726,"children":23727},{"style":566},[23728],{"type":431,"value":857},{"type":426,"tag":553,"props":23730,"children":23731},{"style":684},[23732],{"type":431,"value":900},{"type":426,"tag":553,"props":23734,"children":23735},{"style":566},[23736],{"type":431,"value":1840},{"type":426,"tag":553,"props":23738,"children":23739},{"style":684},[23740],{"type":431,"value":909},{"type":426,"tag":553,"props":23742,"children":23743},{"class":555,"line":1856},[23744],{"type":426,"tag":553,"props":23745,"children":23746},{"style":572},[23747],{"type":431,"value":23748},"    \"\"\"Handle failed subscription payment from Stripe invoice event.\"\"\"\n",{"type":426,"tag":553,"props":23750,"children":23751},{"class":555,"line":1874},[23752,23757,23761,23766,23771],{"type":426,"tag":553,"props":23753,"children":23754},{"style":684},[23755],{"type":431,"value":23756},"    customer_id ",{"type":426,"tag":553,"props":23758,"children":23759},{"style":795},[23760],{"type":431,"value":957},{"type":426,"tag":553,"props":23762,"children":23763},{"style":684},[23764],{"type":431,"value":23765}," invoice[",{"type":426,"tag":553,"props":23767,"children":23768},{"style":572},[23769],{"type":431,"value":23770},"'customer'",{"type":426,"tag":553,"props":23772,"children":23773},{"style":684},[23774],{"type":431,"value":16523},{"type":426,"tag":553,"props":23776,"children":23777},{"class":555,"line":1882},[23778,23783,23787,23792,23797,23801,23805],{"type":426,"tag":553,"props":23779,"children":23780},{"style":684},[23781],{"type":431,"value":23782},"    attempt_count ",{"type":426,"tag":553,"props":23784,"children":23785},{"style":795},[23786],{"type":431,"value":957},{"type":426,"tag":553,"props":23788,"children":23789},{"style":684},[23790],{"type":431,"value":23791}," invoice.get(",{"type":426,"tag":553,"props":23793,"children":23794},{"style":572},[23795],{"type":431,"value":23796},"'attempt_count'",{"type":426,"tag":553,"props":23798,"children":23799},{"style":684},[23800],{"type":431,"value":1907},{"type":426,"tag":553,"props":23802,"children":23803},{"style":566},[23804],{"type":431,"value":1921},{"type":426,"tag":553,"props":23806,"children":23807},{"style":684},[23808],{"type":431,"value":3262},{"type":426,"tag":553,"props":23810,"children":23811},{"class":555,"line":1981},[23812],{"type":426,"tag":553,"props":23813,"children":23814},{"style":684},[23815],{"type":431,"value":917},{"type":426,"tag":553,"props":23817,"children":23818},{"class":555,"line":1989},[23819],{"type":426,"tag":553,"props":23820,"children":23821},{"style":1975},[23822],{"type":431,"value":23823},"    # Fetch customer from Stripe to get metadata (phone number)\n",{"type":426,"tag":553,"props":23825,"children":23826},{"class":555,"line":2013},[23827,23832,23836],{"type":426,"tag":553,"props":23828,"children":23829},{"style":684},[23830],{"type":431,"value":23831},"    customer ",{"type":426,"tag":553,"props":23833,"children":23834},{"style":795},[23835],{"type":431,"value":957},{"type":426,"tag":553,"props":23837,"children":23838},{"style":684},[23839],{"type":431,"value":23840}," stripe.Customer.retrieve(customer_id)\n",{"type":426,"tag":553,"props":23842,"children":23843},{"class":555,"line":2055},[23844,23848,23852,23857,23862,23867,23872],{"type":426,"tag":553,"props":23845,"children":23846},{"style":684},[23847],{"type":431,"value":20284},{"type":426,"tag":553,"props":23849,"children":23850},{"style":795},[23851],{"type":431,"value":957},{"type":426,"tag":553,"props":23853,"children":23854},{"style":684},[23855],{"type":431,"value":23856}," customer.get(",{"type":426,"tag":553,"props":23858,"children":23859},{"style":572},[23860],{"type":431,"value":23861},"'metadata'",{"type":426,"tag":553,"props":23863,"children":23864},{"style":684},[23865],{"type":431,"value":23866},", {}).get(",{"type":426,"tag":553,"props":23868,"children":23869},{"style":572},[23870],{"type":431,"value":23871},"'whatsapp_phone'",{"type":426,"tag":553,"props":23873,"children":23874},{"style":684},[23875],{"type":431,"value":3262},{"type":426,"tag":553,"props":23877,"children":23878},{"class":555,"line":2064},[23879,23884,23888,23892,23896,23900,23905],{"type":426,"tag":553,"props":23880,"children":23881},{"style":684},[23882],{"type":431,"value":23883},"    name ",{"type":426,"tag":553,"props":23885,"children":23886},{"style":795},[23887],{"type":431,"value":957},{"type":426,"tag":553,"props":23889,"children":23890},{"style":684},[23891],{"type":431,"value":23856},{"type":426,"tag":553,"props":23893,"children":23894},{"style":572},[23895],{"type":431,"value":1277},{"type":426,"tag":553,"props":23897,"children":23898},{"style":684},[23899],{"type":431,"value":1907},{"type":426,"tag":553,"props":23901,"children":23902},{"style":572},[23903],{"type":431,"value":23904},"'there'",{"type":426,"tag":553,"props":23906,"children":23907},{"style":684},[23908],{"type":431,"value":3262},{"type":426,"tag":553,"props":23910,"children":23911},{"class":555,"line":2087},[23912],{"type":426,"tag":553,"props":23913,"children":23914},{"style":684},[23915],{"type":431,"value":917},{"type":426,"tag":553,"props":23917,"children":23918},{"class":555,"line":2096},[23919,23923,23927],{"type":426,"tag":553,"props":23920,"children":23921},{"style":795},[23922],{"type":431,"value":925},{"type":426,"tag":553,"props":23924,"children":23925},{"style":795},[23926],{"type":431,"value":12110},{"type":426,"tag":553,"props":23928,"children":23929},{"style":684},[23930],{"type":431,"value":23931}," phone:\n",{"type":426,"tag":553,"props":23933,"children":23934},{"class":555,"line":2105},[23935,23939],{"type":426,"tag":553,"props":23936,"children":23937},{"style":795},[23938],{"type":431,"value":8378},{"type":426,"tag":553,"props":23940,"children":23941},{"style":1975},[23942],{"type":431,"value":23943},"  # No WhatsApp number — fall back to email only\n",{"type":426,"tag":553,"props":23945,"children":23946},{"class":555,"line":2114},[23947],{"type":426,"tag":553,"props":23948,"children":23949},{"style":684},[23950],{"type":431,"value":917},{"type":426,"tag":553,"props":23952,"children":23953},{"class":555,"line":2123},[23954],{"type":426,"tag":553,"props":23955,"children":23956},{"style":1975},[23957],{"type":431,"value":23958},"    # Get the payment update URL\n",{"type":426,"tag":553,"props":23960,"children":23961},{"class":555,"line":2132},[23962,23967,23971,23975],{"type":426,"tag":553,"props":23963,"children":23964},{"style":684},[23965],{"type":431,"value":23966},"    payment_url ",{"type":426,"tag":553,"props":23968,"children":23969},{"style":795},[23970],{"type":431,"value":957},{"type":426,"tag":553,"props":23972,"children":23973},{"style":795},[23974],{"type":431,"value":962},{"type":426,"tag":553,"props":23976,"children":23977},{"style":572},[23978],{"type":431,"value":23979},"\"https:\u002F\u002Fapp.yourproduct.com\u002Fbilling\u002Fupdate-card\"\n",{"type":426,"tag":553,"props":23981,"children":23982},{"class":555,"line":2151},[23983],{"type":426,"tag":553,"props":23984,"children":23985},{"style":684},[23986],{"type":431,"value":917},{"type":426,"tag":553,"props":23988,"children":23989},{"class":555,"line":2160},[23990,23994,23998],{"type":426,"tag":553,"props":23991,"children":23992},{"style":684},[23993],{"type":431,"value":1198},{"type":426,"tag":553,"props":23995,"children":23996},{"style":795},[23997],{"type":431,"value":957},{"type":426,"tag":553,"props":23999,"children":24000},{"style":684},[24001],{"type":431,"value":24002}," build_payment_failed_message(\n",{"type":426,"tag":553,"props":24004,"children":24005},{"class":555,"line":2174},[24006,24011,24015],{"type":426,"tag":553,"props":24007,"children":24008},{"style":1684},[24009],{"type":431,"value":24010},"        name",{"type":426,"tag":553,"props":24012,"children":24013},{"style":795},[24014],{"type":431,"value":957},{"type":426,"tag":553,"props":24016,"children":24017},{"style":684},[24018],{"type":431,"value":24019},"name,\n",{"type":426,"tag":553,"props":24021,"children":24022},{"class":555,"line":2182},[24023,24028,24032],{"type":426,"tag":553,"props":24024,"children":24025},{"style":1684},[24026],{"type":431,"value":24027},"        attempt",{"type":426,"tag":553,"props":24029,"children":24030},{"style":795},[24031],{"type":431,"value":957},{"type":426,"tag":553,"props":24033,"children":24034},{"style":684},[24035],{"type":431,"value":24036},"attempt_count,\n",{"type":426,"tag":553,"props":24038,"children":24039},{"class":555,"line":2205},[24040,24045,24049,24054,24059,24063,24067,24071],{"type":426,"tag":553,"props":24041,"children":24042},{"style":1684},[24043],{"type":431,"value":24044},"        amount",{"type":426,"tag":553,"props":24046,"children":24047},{"style":795},[24048],{"type":431,"value":957},{"type":426,"tag":553,"props":24050,"children":24051},{"style":684},[24052],{"type":431,"value":24053},"invoice[",{"type":426,"tag":553,"props":24055,"children":24056},{"style":572},[24057],{"type":431,"value":24058},"'amount_due'",{"type":426,"tag":553,"props":24060,"children":24061},{"style":684},[24062],{"type":431,"value":2229},{"type":426,"tag":553,"props":24064,"children":24065},{"style":795},[24066],{"type":431,"value":18503},{"type":426,"tag":553,"props":24068,"children":24069},{"style":566},[24070],{"type":431,"value":18525},{"type":426,"tag":553,"props":24072,"children":24073},{"style":684},[24074],{"type":431,"value":710},{"type":426,"tag":553,"props":24076,"children":24077},{"class":555,"line":2241},[24078,24083,24087,24091,24095],{"type":426,"tag":553,"props":24079,"children":24080},{"style":1684},[24081],{"type":431,"value":24082},"        currency",{"type":426,"tag":553,"props":24084,"children":24085},{"style":795},[24086],{"type":431,"value":957},{"type":426,"tag":553,"props":24088,"children":24089},{"style":684},[24090],{"type":431,"value":24053},{"type":426,"tag":553,"props":24092,"children":24093},{"style":572},[24094],{"type":431,"value":1437},{"type":426,"tag":553,"props":24096,"children":24097},{"style":684},[24098],{"type":431,"value":24099},"].upper(),\n",{"type":426,"tag":553,"props":24101,"children":24102},{"class":555,"line":2250},[24103,24108,24112],{"type":426,"tag":553,"props":24104,"children":24105},{"style":1684},[24106],{"type":431,"value":24107},"        payment_url",{"type":426,"tag":553,"props":24109,"children":24110},{"style":795},[24111],{"type":431,"value":957},{"type":426,"tag":553,"props":24113,"children":24114},{"style":684},[24115],{"type":431,"value":24116},"payment_url\n",{"type":426,"tag":553,"props":24118,"children":24119},{"class":555,"line":2302},[24120],{"type":426,"tag":553,"props":24121,"children":24122},{"style":684},[24123],{"type":431,"value":1642},{"type":426,"tag":553,"props":24125,"children":24126},{"class":555,"line":2353},[24127],{"type":426,"tag":553,"props":24128,"children":24129},{"style":684},[24130],{"type":431,"value":917},{"type":426,"tag":553,"props":24132,"children":24133},{"class":555,"line":2390},[24134],{"type":426,"tag":553,"props":24135,"children":24136},{"style":684},[24137],{"type":431,"value":24138},"    send_whatsapp(phone, message)\n",{"type":426,"tag":553,"props":24140,"children":24141},{"class":555,"line":2440},[24142],{"type":426,"tag":553,"props":24143,"children":24144},{"style":684},[24145],{"type":431,"value":917},{"type":426,"tag":553,"props":24147,"children":24148},{"class":555,"line":2488},[24149],{"type":426,"tag":553,"props":24150,"children":24151},{"style":1975},[24152],{"type":431,"value":24153},"    # Schedule follow-up if first attempt\n",{"type":426,"tag":553,"props":24155,"children":24156},{"class":555,"line":2509},[24157,24161,24166,24170,24174],{"type":426,"tag":553,"props":24158,"children":24159},{"style":795},[24160],{"type":431,"value":925},{"type":426,"tag":553,"props":24162,"children":24163},{"style":684},[24164],{"type":431,"value":24165}," attempt_count ",{"type":426,"tag":553,"props":24167,"children":24168},{"style":795},[24169],{"type":431,"value":1069},{"type":426,"tag":553,"props":24171,"children":24172},{"style":566},[24173],{"type":431,"value":1014},{"type":426,"tag":553,"props":24175,"children":24176},{"style":684},[24177],{"type":431,"value":909},{"type":426,"tag":553,"props":24179,"children":24180},{"class":555,"line":2527},[24181],{"type":426,"tag":553,"props":24182,"children":24183},{"style":684},[24184],{"type":431,"value":24185},"        schedule_payment_reminder(\n",{"type":426,"tag":553,"props":24187,"children":24188},{"class":555,"line":2545},[24189,24194,24198],{"type":426,"tag":553,"props":24190,"children":24191},{"style":1684},[24192],{"type":431,"value":24193},"            phone",{"type":426,"tag":553,"props":24195,"children":24196},{"style":795},[24197],{"type":431,"value":957},{"type":426,"tag":553,"props":24199,"children":24200},{"style":684},[24201],{"type":431,"value":24202},"phone,\n",{"type":426,"tag":553,"props":24204,"children":24205},{"class":555,"line":12991},[24206,24211,24215],{"type":426,"tag":553,"props":24207,"children":24208},{"style":1684},[24209],{"type":431,"value":24210},"            name",{"type":426,"tag":553,"props":24212,"children":24213},{"style":795},[24214],{"type":431,"value":957},{"type":426,"tag":553,"props":24216,"children":24217},{"style":684},[24218],{"type":431,"value":24019},{"type":426,"tag":553,"props":24220,"children":24221},{"class":555,"line":13004},[24222,24227,24231],{"type":426,"tag":553,"props":24223,"children":24224},{"style":1684},[24225],{"type":431,"value":24226},"            payment_url",{"type":426,"tag":553,"props":24228,"children":24229},{"style":795},[24230],{"type":431,"value":957},{"type":426,"tag":553,"props":24232,"children":24233},{"style":684},[24234],{"type":431,"value":24235},"payment_url,\n",{"type":426,"tag":553,"props":24237,"children":24238},{"class":555,"line":13012},[24239,24244,24248,24252,24256,24260,24264,24268,24272],{"type":426,"tag":553,"props":24240,"children":24241},{"style":1684},[24242],{"type":431,"value":24243},"            send_at",{"type":426,"tag":553,"props":24245,"children":24246},{"style":795},[24247],{"type":431,"value":957},{"type":426,"tag":553,"props":24249,"children":24250},{"style":684},[24251],{"type":431,"value":22515},{"type":426,"tag":553,"props":24253,"children":24254},{"style":795},[24255],{"type":431,"value":2033},{"type":426,"tag":553,"props":24257,"children":24258},{"style":684},[24259],{"type":431,"value":2038},{"type":426,"tag":553,"props":24261,"children":24262},{"style":1684},[24263],{"type":431,"value":2043},{"type":426,"tag":553,"props":24265,"children":24266},{"style":795},[24267],{"type":431,"value":957},{"type":426,"tag":553,"props":24269,"children":24270},{"style":566},[24271],{"type":431,"value":1912},{"type":426,"tag":553,"props":24273,"children":24274},{"style":684},[24275],{"type":431,"value":3262},{"type":426,"tag":553,"props":24277,"children":24278},{"class":555,"line":13025},[24279],{"type":426,"tag":553,"props":24280,"children":24281},{"style":684},[24282],{"type":431,"value":6037},{"type":426,"tag":553,"props":24284,"children":24285},{"class":555,"line":13033},[24286],{"type":426,"tag":553,"props":24287,"children":24288},{"emptyLinePlaceholder":831},[24289],{"type":431,"value":834},{"type":426,"tag":553,"props":24291,"children":24292},{"class":555,"line":13069},[24293],{"type":426,"tag":553,"props":24294,"children":24295},{"emptyLinePlaceholder":831},[24296],{"type":431,"value":834},{"type":426,"tag":553,"props":24298,"children":24299},{"class":555,"line":13089},[24300,24304,24309,24314,24318,24323,24327],{"type":426,"tag":553,"props":24301,"children":24302},{"style":795},[24303],{"type":431,"value":842},{"type":426,"tag":553,"props":24305,"children":24306},{"style":560},[24307],{"type":431,"value":24308}," build_payment_failed_message",{"type":426,"tag":553,"props":24310,"children":24311},{"style":684},[24312],{"type":431,"value":24313},"(name: ",{"type":426,"tag":553,"props":24315,"children":24316},{"style":566},[24317],{"type":431,"value":895},{"type":426,"tag":553,"props":24319,"children":24320},{"style":684},[24321],{"type":431,"value":24322},", attempt: ",{"type":426,"tag":553,"props":24324,"children":24325},{"style":566},[24326],{"type":431,"value":885},{"type":426,"tag":553,"props":24328,"children":24329},{"style":684},[24330],{"type":431,"value":17901},{"type":426,"tag":553,"props":24332,"children":24333},{"class":555,"line":13102},[24334,24339,24343,24348,24352],{"type":426,"tag":553,"props":24335,"children":24336},{"style":684},[24337],{"type":431,"value":24338},"                                  amount: ",{"type":426,"tag":553,"props":24340,"children":24341},{"style":566},[24342],{"type":431,"value":15693},{"type":426,"tag":553,"props":24344,"children":24345},{"style":684},[24346],{"type":431,"value":24347},", currency: ",{"type":426,"tag":553,"props":24349,"children":24350},{"style":566},[24351],{"type":431,"value":895},{"type":426,"tag":553,"props":24353,"children":24354},{"style":684},[24355],{"type":431,"value":17901},{"type":426,"tag":553,"props":24357,"children":24358},{"class":555,"line":13111},[24359,24364,24368,24372,24376],{"type":426,"tag":553,"props":24360,"children":24361},{"style":684},[24362],{"type":431,"value":24363},"                                  payment_url: ",{"type":426,"tag":553,"props":24365,"children":24366},{"style":566},[24367],{"type":431,"value":895},{"type":426,"tag":553,"props":24369,"children":24370},{"style":684},[24371],{"type":431,"value":900},{"type":426,"tag":553,"props":24373,"children":24374},{"style":566},[24375],{"type":431,"value":895},{"type":426,"tag":553,"props":24377,"children":24378},{"style":684},[24379],{"type":431,"value":909},{"type":426,"tag":553,"props":24381,"children":24382},{"class":555,"line":13120},[24383],{"type":426,"tag":553,"props":24384,"children":24385},{"style":572},[24386],{"type":431,"value":24387},"    \"\"\"Build the payment failure WhatsApp message based on attempt count.\"\"\"\n",{"type":426,"tag":553,"props":24389,"children":24390},{"class":555,"line":13129},[24391],{"type":426,"tag":553,"props":24392,"children":24393},{"style":684},[24394],{"type":431,"value":917},{"type":426,"tag":553,"props":24396,"children":24397},{"class":555,"line":13174},[24398,24402,24406,24410,24414],{"type":426,"tag":553,"props":24399,"children":24400},{"style":795},[24401],{"type":431,"value":925},{"type":426,"tag":553,"props":24403,"children":24404},{"style":684},[24405],{"type":431,"value":8800},{"type":426,"tag":553,"props":24407,"children":24408},{"style":795},[24409],{"type":431,"value":1069},{"type":426,"tag":553,"props":24411,"children":24412},{"style":566},[24413],{"type":431,"value":1014},{"type":426,"tag":553,"props":24415,"children":24416},{"style":684},[24417],{"type":431,"value":909},{"type":426,"tag":553,"props":24419,"children":24420},{"class":555,"line":13205},[24421,24425],{"type":426,"tag":553,"props":24422,"children":24423},{"style":795},[24424],{"type":431,"value":8378},{"type":426,"tag":553,"props":24426,"children":24427},{"style":684},[24428],{"type":431,"value":1207},{"type":426,"tag":553,"props":24430,"children":24431},{"class":555,"line":13218},[24432,24436,24441,24445],{"type":426,"tag":553,"props":24433,"children":24434},{"style":795},[24435],{"type":431,"value":3740},{"type":426,"tag":553,"props":24437,"children":24438},{"style":572},[24439],{"type":431,"value":24440},"\"Payment Failed ⚠️",{"type":426,"tag":553,"props":24442,"children":24443},{"style":566},[24444],{"type":431,"value":1295},{"type":426,"tag":553,"props":24446,"children":24447},{"style":572},[24448],{"type":431,"value":1250},{"type":426,"tag":553,"props":24450,"children":24451},{"class":555,"line":20616},[24452,24456,24460,24464,24469,24473,24478,24482,24487,24492,24496,24500,24505,24509,24513,24517],{"type":426,"tag":553,"props":24453,"children":24454},{"style":795},[24455],{"type":431,"value":3740},{"type":426,"tag":553,"props":24457,"children":24458},{"style":572},[24459],{"type":431,"value":4625},{"type":426,"tag":553,"props":24461,"children":24462},{"style":566},[24463],{"type":431,"value":972},{"type":426,"tag":553,"props":24465,"children":24466},{"style":684},[24467],{"type":431,"value":24468},"name",{"type":426,"tag":553,"props":24470,"children":24471},{"style":566},[24472],{"type":431,"value":982},{"type":426,"tag":553,"props":24474,"children":24475},{"style":572},[24476],{"type":431,"value":24477},"! We couldn't charge your card for $",{"type":426,"tag":553,"props":24479,"children":24480},{"style":566},[24481],{"type":431,"value":972},{"type":426,"tag":553,"props":24483,"children":24484},{"style":684},[24485],{"type":431,"value":24486},"amount",{"type":426,"tag":553,"props":24488,"children":24489},{"style":795},[24490],{"type":431,"value":24491},":.2f",{"type":426,"tag":553,"props":24493,"children":24494},{"style":566},[24495],{"type":431,"value":982},{"type":426,"tag":553,"props":24497,"children":24498},{"style":566},[24499],{"type":431,"value":1450},{"type":426,"tag":553,"props":24501,"children":24502},{"style":684},[24503],{"type":431,"value":24504},"currency",{"type":426,"tag":553,"props":24506,"children":24507},{"style":566},[24508],{"type":431,"value":982},{"type":426,"tag":553,"props":24510,"children":24511},{"style":572},[24512],{"type":431,"value":6789},{"type":426,"tag":553,"props":24514,"children":24515},{"style":566},[24516],{"type":431,"value":1295},{"type":426,"tag":553,"props":24518,"children":24519},{"style":572},[24520],{"type":431,"value":1250},{"type":426,"tag":553,"props":24522,"children":24523},{"class":555,"line":20637},[24524,24528],{"type":426,"tag":553,"props":24525,"children":24526},{"style":795},[24527],{"type":431,"value":3740},{"type":426,"tag":553,"props":24529,"children":24530},{"style":572},[24531],{"type":431,"value":24532},"\"Don't worry — your account is still active. \"\n",{"type":426,"tag":553,"props":24534,"children":24535},{"class":555,"line":20650},[24536,24540,24545,24549],{"type":426,"tag":553,"props":24537,"children":24538},{"style":795},[24539],{"type":431,"value":3740},{"type":426,"tag":553,"props":24541,"children":24542},{"style":572},[24543],{"type":431,"value":24544},"\"Please update your payment method:",{"type":426,"tag":553,"props":24546,"children":24547},{"style":566},[24548],{"type":431,"value":1295},{"type":426,"tag":553,"props":24550,"children":24551},{"style":572},[24552],{"type":431,"value":1250},{"type":426,"tag":553,"props":24554,"children":24555},{"class":555,"line":20658},[24556,24560,24565,24569,24574,24578],{"type":426,"tag":553,"props":24557,"children":24558},{"style":795},[24559],{"type":431,"value":3740},{"type":426,"tag":553,"props":24561,"children":24562},{"style":572},[24563],{"type":431,"value":24564},"\"💳 Update card: ",{"type":426,"tag":553,"props":24566,"children":24567},{"style":566},[24568],{"type":431,"value":972},{"type":426,"tag":553,"props":24570,"children":24571},{"style":684},[24572],{"type":431,"value":24573},"payment_url",{"type":426,"tag":553,"props":24575,"children":24576},{"style":566},[24577],{"type":431,"value":1245},{"type":426,"tag":553,"props":24579,"children":24580},{"style":572},[24581],{"type":431,"value":1250},{"type":426,"tag":553,"props":24583,"children":24584},{"class":555,"line":20666},[24585,24589],{"type":426,"tag":553,"props":24586,"children":24587},{"style":795},[24588],{"type":431,"value":3740},{"type":426,"tag":553,"props":24590,"children":24591},{"style":572},[24592],{"type":431,"value":24593},"\"Need help? Just reply here!\"\n",{"type":426,"tag":553,"props":24595,"children":24596},{"class":555,"line":20675},[24597],{"type":426,"tag":553,"props":24598,"children":24599},{"style":684},[24600],{"type":431,"value":6037},{"type":426,"tag":553,"props":24602,"children":24603},{"class":555,"line":20684},[24604],{"type":426,"tag":553,"props":24605,"children":24606},{"style":684},[24607],{"type":431,"value":917},{"type":426,"tag":553,"props":24609,"children":24610},{"class":555,"line":20692},[24611,24615,24619,24623,24627],{"type":426,"tag":553,"props":24612,"children":24613},{"style":795},[24614],{"type":431,"value":1060},{"type":426,"tag":553,"props":24616,"children":24617},{"style":684},[24618],{"type":431,"value":8800},{"type":426,"tag":553,"props":24620,"children":24621},{"style":795},[24622],{"type":431,"value":1069},{"type":426,"tag":553,"props":24624,"children":24625},{"style":566},[24626],{"type":431,"value":9072},{"type":426,"tag":553,"props":24628,"children":24629},{"style":684},[24630],{"type":431,"value":909},{"type":426,"tag":553,"props":24632,"children":24633},{"class":555,"line":20720},[24634,24638],{"type":426,"tag":553,"props":24635,"children":24636},{"style":795},[24637],{"type":431,"value":8378},{"type":426,"tag":553,"props":24639,"children":24640},{"style":684},[24641],{"type":431,"value":1207},{"type":426,"tag":553,"props":24643,"children":24644},{"class":555,"line":20728},[24645,24649,24654,24658],{"type":426,"tag":553,"props":24646,"children":24647},{"style":795},[24648],{"type":431,"value":3740},{"type":426,"tag":553,"props":24650,"children":24651},{"style":572},[24652],{"type":431,"value":24653},"\"Second Payment Attempt Failed ⚠️",{"type":426,"tag":553,"props":24655,"children":24656},{"style":566},[24657],{"type":431,"value":1295},{"type":426,"tag":553,"props":24659,"children":24660},{"style":572},[24661],{"type":431,"value":1250},{"type":426,"tag":553,"props":24663,"children":24664},{"class":555,"line":20736},[24665,24669,24673,24677,24681,24685,24690,24694,24698,24702,24706,24710,24714,24718,24723,24727],{"type":426,"tag":553,"props":24666,"children":24667},{"style":795},[24668],{"type":431,"value":3740},{"type":426,"tag":553,"props":24670,"children":24671},{"style":572},[24672],{"type":431,"value":4625},{"type":426,"tag":553,"props":24674,"children":24675},{"style":566},[24676],{"type":431,"value":972},{"type":426,"tag":553,"props":24678,"children":24679},{"style":684},[24680],{"type":431,"value":24468},{"type":426,"tag":553,"props":24682,"children":24683},{"style":566},[24684],{"type":431,"value":982},{"type":426,"tag":553,"props":24686,"children":24687},{"style":572},[24688],{"type":431,"value":24689},"! We tried again but couldn't process your $",{"type":426,"tag":553,"props":24691,"children":24692},{"style":566},[24693],{"type":431,"value":972},{"type":426,"tag":553,"props":24695,"children":24696},{"style":684},[24697],{"type":431,"value":24486},{"type":426,"tag":553,"props":24699,"children":24700},{"style":795},[24701],{"type":431,"value":24491},{"type":426,"tag":553,"props":24703,"children":24704},{"style":566},[24705],{"type":431,"value":982},{"type":426,"tag":553,"props":24707,"children":24708},{"style":566},[24709],{"type":431,"value":1450},{"type":426,"tag":553,"props":24711,"children":24712},{"style":684},[24713],{"type":431,"value":24504},{"type":426,"tag":553,"props":24715,"children":24716},{"style":566},[24717],{"type":431,"value":982},{"type":426,"tag":553,"props":24719,"children":24720},{"style":572},[24721],{"type":431,"value":24722}," payment.",{"type":426,"tag":553,"props":24724,"children":24725},{"style":566},[24726],{"type":431,"value":1295},{"type":426,"tag":553,"props":24728,"children":24729},{"style":572},[24730],{"type":431,"value":1250},{"type":426,"tag":553,"props":24732,"children":24733},{"class":555,"line":20777},[24734,24738,24743,24747],{"type":426,"tag":553,"props":24735,"children":24736},{"style":795},[24737],{"type":431,"value":3740},{"type":426,"tag":553,"props":24739,"children":24740},{"style":572},[24741],{"type":431,"value":24742},"\"Your account will be paused in 3 days if payment isn't received.",{"type":426,"tag":553,"props":24744,"children":24745},{"style":566},[24746],{"type":431,"value":1295},{"type":426,"tag":553,"props":24748,"children":24749},{"style":572},[24750],{"type":431,"value":1250},{"type":426,"tag":553,"props":24752,"children":24753},{"class":555,"line":20789},[24754,24758,24763,24767,24771,24775],{"type":426,"tag":553,"props":24755,"children":24756},{"style":795},[24757],{"type":431,"value":3740},{"type":426,"tag":553,"props":24759,"children":24760},{"style":572},[24761],{"type":431,"value":24762},"\"💳 Update now: ",{"type":426,"tag":553,"props":24764,"children":24765},{"style":566},[24766],{"type":431,"value":972},{"type":426,"tag":553,"props":24768,"children":24769},{"style":684},[24770],{"type":431,"value":24573},{"type":426,"tag":553,"props":24772,"children":24773},{"style":566},[24774],{"type":431,"value":1245},{"type":426,"tag":553,"props":24776,"children":24777},{"style":572},[24778],{"type":431,"value":1250},{"type":426,"tag":553,"props":24780,"children":24781},{"class":555,"line":20801},[24782,24786],{"type":426,"tag":553,"props":24783,"children":24784},{"style":795},[24785],{"type":431,"value":3740},{"type":426,"tag":553,"props":24787,"children":24788},{"style":572},[24789],{"type":431,"value":24790},"\"Or reply HELP if you're having trouble.\"\n",{"type":426,"tag":553,"props":24792,"children":24793},{"class":555,"line":20846},[24794],{"type":426,"tag":553,"props":24795,"children":24796},{"style":684},[24797],{"type":431,"value":6037},{"type":426,"tag":553,"props":24799,"children":24800},{"class":555,"line":20878},[24801],{"type":426,"tag":553,"props":24802,"children":24803},{"style":684},[24804],{"type":431,"value":917},{"type":426,"tag":553,"props":24806,"children":24808},{"class":555,"line":24807},96,[24809,24813,24818],{"type":426,"tag":553,"props":24810,"children":24811},{"style":795},[24812],{"type":431,"value":1120},{"type":426,"tag":553,"props":24814,"children":24815},{"style":684},[24816],{"type":431,"value":24817},":  ",{"type":426,"tag":553,"props":24819,"children":24820},{"style":1975},[24821],{"type":431,"value":24822},"# 3rd+ attempt\n",{"type":426,"tag":553,"props":24824,"children":24826},{"class":555,"line":24825},97,[24827,24831],{"type":426,"tag":553,"props":24828,"children":24829},{"style":795},[24830],{"type":431,"value":8378},{"type":426,"tag":553,"props":24832,"children":24833},{"style":684},[24834],{"type":431,"value":1207},{"type":426,"tag":553,"props":24836,"children":24838},{"class":555,"line":24837},98,[24839,24843,24848,24852],{"type":426,"tag":553,"props":24840,"children":24841},{"style":795},[24842],{"type":431,"value":3740},{"type":426,"tag":553,"props":24844,"children":24845},{"style":572},[24846],{"type":431,"value":24847},"\"⚠️ FINAL NOTICE — Payment Required",{"type":426,"tag":553,"props":24849,"children":24850},{"style":566},[24851],{"type":431,"value":1295},{"type":426,"tag":553,"props":24853,"children":24854},{"style":572},[24855],{"type":431,"value":1250},{"type":426,"tag":553,"props":24857,"children":24859},{"class":555,"line":24858},99,[24860,24864,24868,24872,24876,24880,24885,24889],{"type":426,"tag":553,"props":24861,"children":24862},{"style":795},[24863],{"type":431,"value":3740},{"type":426,"tag":553,"props":24865,"children":24866},{"style":572},[24867],{"type":431,"value":4625},{"type":426,"tag":553,"props":24869,"children":24870},{"style":566},[24871],{"type":431,"value":972},{"type":426,"tag":553,"props":24873,"children":24874},{"style":684},[24875],{"type":431,"value":24468},{"type":426,"tag":553,"props":24877,"children":24878},{"style":566},[24879],{"type":431,"value":982},{"type":426,"tag":553,"props":24881,"children":24882},{"style":572},[24883],{"type":431,"value":24884},"! This is our final payment notice.",{"type":426,"tag":553,"props":24886,"children":24887},{"style":566},[24888],{"type":431,"value":1295},{"type":426,"tag":553,"props":24890,"children":24891},{"style":572},[24892],{"type":431,"value":1250},{"type":426,"tag":553,"props":24894,"children":24896},{"class":555,"line":24895},100,[24897,24901,24906,24910,24914,24918,24922,24926,24930,24934],{"type":426,"tag":553,"props":24898,"children":24899},{"style":795},[24900],{"type":431,"value":3740},{"type":426,"tag":553,"props":24902,"children":24903},{"style":572},[24904],{"type":431,"value":24905},"\"Amount due: $",{"type":426,"tag":553,"props":24907,"children":24908},{"style":566},[24909],{"type":431,"value":972},{"type":426,"tag":553,"props":24911,"children":24912},{"style":684},[24913],{"type":431,"value":24486},{"type":426,"tag":553,"props":24915,"children":24916},{"style":795},[24917],{"type":431,"value":24491},{"type":426,"tag":553,"props":24919,"children":24920},{"style":566},[24921],{"type":431,"value":982},{"type":426,"tag":553,"props":24923,"children":24924},{"style":566},[24925],{"type":431,"value":1450},{"type":426,"tag":553,"props":24927,"children":24928},{"style":684},[24929],{"type":431,"value":24504},{"type":426,"tag":553,"props":24931,"children":24932},{"style":566},[24933],{"type":431,"value":1407},{"type":426,"tag":553,"props":24935,"children":24936},{"style":572},[24937],{"type":431,"value":1250},{"type":426,"tag":553,"props":24939,"children":24941},{"class":555,"line":24940},101,[24942,24946,24951,24955],{"type":426,"tag":553,"props":24943,"children":24944},{"style":795},[24945],{"type":431,"value":3740},{"type":426,"tag":553,"props":24947,"children":24948},{"style":572},[24949],{"type":431,"value":24950},"\"Your account will be suspended if not paid by [DATE+7 days].",{"type":426,"tag":553,"props":24952,"children":24953},{"style":566},[24954],{"type":431,"value":1295},{"type":426,"tag":553,"props":24956,"children":24957},{"style":572},[24958],{"type":431,"value":1250},{"type":426,"tag":553,"props":24960,"children":24962},{"class":555,"line":24961},102,[24963,24967,24972,24976,24980,24984],{"type":426,"tag":553,"props":24964,"children":24965},{"style":795},[24966],{"type":431,"value":3740},{"type":426,"tag":553,"props":24968,"children":24969},{"style":572},[24970],{"type":431,"value":24971},"\"💳 Resolve now: ",{"type":426,"tag":553,"props":24973,"children":24974},{"style":566},[24975],{"type":431,"value":972},{"type":426,"tag":553,"props":24977,"children":24978},{"style":684},[24979],{"type":431,"value":24573},{"type":426,"tag":553,"props":24981,"children":24982},{"style":566},[24983],{"type":431,"value":1245},{"type":426,"tag":553,"props":24985,"children":24986},{"style":572},[24987],{"type":431,"value":1250},{"type":426,"tag":553,"props":24989,"children":24991},{"class":555,"line":24990},103,[24992,24996],{"type":426,"tag":553,"props":24993,"children":24994},{"style":795},[24995],{"type":431,"value":3740},{"type":426,"tag":553,"props":24997,"children":24998},{"style":572},[24999],{"type":431,"value":25000},"\"Or reply to speak with our billing team.\"\n",{"type":426,"tag":553,"props":25002,"children":25004},{"class":555,"line":25003},104,[25005],{"type":426,"tag":553,"props":25006,"children":25007},{"style":684},[25008],{"type":431,"value":6037},{"type":426,"tag":553,"props":25010,"children":25012},{"class":555,"line":25011},105,[25013],{"type":426,"tag":553,"props":25014,"children":25015},{"emptyLinePlaceholder":831},[25016],{"type":431,"value":834},{"type":426,"tag":553,"props":25018,"children":25020},{"class":555,"line":25019},106,[25021],{"type":426,"tag":553,"props":25022,"children":25023},{"emptyLinePlaceholder":831},[25024],{"type":431,"value":834},{"type":426,"tag":553,"props":25026,"children":25028},{"class":555,"line":25027},107,[25029,25033,25037,25041,25045,25049,25053,25057,25061],{"type":426,"tag":553,"props":25030,"children":25031},{"style":795},[25032],{"type":431,"value":842},{"type":426,"tag":553,"props":25034,"children":25035},{"style":560},[25036],{"type":431,"value":20746},{"type":426,"tag":553,"props":25038,"children":25039},{"style":684},[25040],{"type":431,"value":7446},{"type":426,"tag":553,"props":25042,"children":25043},{"style":566},[25044],{"type":431,"value":895},{"type":426,"tag":553,"props":25046,"children":25047},{"style":684},[25048],{"type":431,"value":8713},{"type":426,"tag":553,"props":25050,"children":25051},{"style":566},[25052],{"type":431,"value":895},{"type":426,"tag":553,"props":25054,"children":25055},{"style":684},[25056],{"type":431,"value":900},{"type":426,"tag":553,"props":25058,"children":25059},{"style":566},[25060],{"type":431,"value":857},{"type":426,"tag":553,"props":25062,"children":25063},{"style":684},[25064],{"type":431,"value":909},{"type":426,"tag":553,"props":25066,"children":25068},{"class":555,"line":25067},108,[25069,25073],{"type":426,"tag":553,"props":25070,"children":25071},{"style":795},[25072],{"type":431,"value":1659},{"type":426,"tag":553,"props":25074,"children":25075},{"style":684},[25076],{"type":431,"value":1664},{"type":426,"tag":553,"props":25078,"children":25080},{"class":555,"line":25079},109,[25081,25085],{"type":426,"tag":553,"props":25082,"children":25083},{"style":572},[25084],{"type":431,"value":1673},{"type":426,"tag":553,"props":25086,"children":25087},{"style":684},[25088],{"type":431,"value":710},{"type":426,"tag":553,"props":25090,"children":25092},{"class":555,"line":25091},110,[25093,25097,25101,25105,25109,25113,25117,25121,25125,25129],{"type":426,"tag":553,"props":25094,"children":25095},{"style":1684},[25096],{"type":431,"value":1687},{"type":426,"tag":553,"props":25098,"children":25099},{"style":795},[25100],{"type":431,"value":957},{"type":426,"tag":553,"props":25102,"children":25103},{"style":684},[25104],{"type":431,"value":972},{"type":426,"tag":553,"props":25106,"children":25107},{"style":572},[25108],{"type":431,"value":1700},{"type":426,"tag":553,"props":25110,"children":25111},{"style":684},[25112],{"type":431,"value":700},{"type":426,"tag":553,"props":25114,"children":25115},{"style":795},[25116],{"type":431,"value":1709},{"type":426,"tag":553,"props":25118,"children":25119},{"style":572},[25120],{"type":431,"value":1714},{"type":426,"tag":553,"props":25122,"children":25123},{"style":566},[25124],{"type":431,"value":20835},{"type":426,"tag":553,"props":25126,"children":25127},{"style":572},[25128],{"type":431,"value":1732},{"type":426,"tag":553,"props":25130,"children":25131},{"style":684},[25132],{"type":431,"value":1737},{"type":426,"tag":553,"props":25134,"children":25136},{"class":555,"line":25135},111,[25137,25141,25145,25149,25153,25157,25161],{"type":426,"tag":553,"props":25138,"children":25139},{"style":1684},[25140],{"type":431,"value":1746},{"type":426,"tag":553,"props":25142,"children":25143},{"style":795},[25144],{"type":431,"value":957},{"type":426,"tag":553,"props":25146,"children":25147},{"style":684},[25148],{"type":431,"value":972},{"type":426,"tag":553,"props":25150,"children":25151},{"style":572},[25152],{"type":431,"value":1759},{"type":426,"tag":553,"props":25154,"children":25155},{"style":684},[25156],{"type":431,"value":8931},{"type":426,"tag":553,"props":25158,"children":25159},{"style":572},[25160],{"type":431,"value":1779},{"type":426,"tag":553,"props":25162,"children":25163},{"style":684},[25164],{"type":431,"value":1784},{"type":426,"tag":553,"props":25166,"children":25168},{"class":555,"line":25167},112,[25169],{"type":426,"tag":553,"props":25170,"children":25171},{"style":684},[25172],{"type":431,"value":1793},{"type":426,"tag":434,"props":25174,"children":25176},{"id":25175},"step-3-the-3-message-dunning-sequence",[25177],{"type":431,"value":25178},"Step 3: The 3-Message Dunning Sequence",{"type":426,"tag":427,"props":25180,"children":25181},{},[25182],{"type":426,"tag":446,"props":25183,"children":25184},{},[25185],{"type":431,"value":25186},"For subscriptions — space messages 3 days apart:",{"type":426,"tag":542,"props":25188,"children":25190},{"code":25189},"Day 0 (immediately after failure):\n⚠️ Payment Failed — $15.00\nFriendly tone, single CTA to update card\n\"Don't worry — your account stays active.\"\n\nDay 3 (second notice):\n⚠️ Second Attempt Failed\nModerate urgency\n\"Account will be paused in 3 days\"\n\nDay 7 (final notice):\n⚠️ FINAL NOTICE\nFirm tone\n\"Account suspended on [date] without payment\"\n\nDay 14 (if still unpaid):\n✅ Suspension notice + winback offer\n\"Your account has been paused. Come back with 20% off.\"\n",[25191],{"type":426,"tag":549,"props":25192,"children":25193},{"__ignoreMap":417},[25194],{"type":431,"value":25189},{"type":426,"tag":515,"props":25196,"children":25198},{"id":25197},"python-dunning-sequence-runner",[25199],{"type":431,"value":25200},"Python — Dunning Sequence Runner",{"type":426,"tag":542,"props":25202,"children":25204},{"code":25203,"language":784,"meta":417,"className":785,"style":417},"def run_payment_dunning_sequence():\n    \"\"\"\n    Daily job: Check for customers in the dunning sequence and send follow-up messages.\n    \"\"\"\n    conn = get_db()\n    \n    # Find customers on Day 3 of dunning\n    day_3_dunning = conn.execute(\"\"\"\n        SELECT phone, name, amount, payment_url\n        FROM payment_failures\n        WHERE attempt_count = 1\n          AND initial_failure_date = NOW() - INTERVAL '3 days'\n          AND day3_sent = FALSE\n    \"\"\").fetchall()\n    \n    for customer in day_3_dunning:\n        message = build_payment_failed_message(\n            name=customer['name'],\n            attempt=2,\n            amount=customer['amount'],\n            currency='USD',\n            payment_url=customer['payment_url']\n        )\n        \n        result = send_whatsapp(customer['phone'], message)\n        \n        if result.get('status') == 'success':\n            conn.execute(\n                \"UPDATE payment_failures SET day3_sent = TRUE WHERE phone = %s\",\n                [customer['phone']]\n            )\n    \n    conn.close()\n",[25205],{"type":426,"tag":549,"props":25206,"children":25207},{"__ignoreMap":417},[25208,25224,25231,25239,25246,25263,25270,25278,25299,25307,25315,25323,25331,25339,25351,25358,25379,25394,25418,25438,25462,25483,25506,25513,25520,25544,25551,25582,25590,25610,25627,25634,25641],{"type":426,"tag":553,"props":25209,"children":25210},{"class":555,"line":556},[25211,25215,25220],{"type":426,"tag":553,"props":25212,"children":25213},{"style":795},[25214],{"type":431,"value":842},{"type":426,"tag":553,"props":25216,"children":25217},{"style":560},[25218],{"type":431,"value":25219}," run_payment_dunning_sequence",{"type":426,"tag":553,"props":25221,"children":25222},{"style":684},[25223],{"type":431,"value":6433},{"type":426,"tag":553,"props":25225,"children":25226},{"class":555,"line":588},[25227],{"type":426,"tag":553,"props":25228,"children":25229},{"style":572},[25230],{"type":431,"value":2673},{"type":426,"tag":553,"props":25232,"children":25233},{"class":555,"line":606},[25234],{"type":426,"tag":553,"props":25235,"children":25236},{"style":572},[25237],{"type":431,"value":25238},"    Daily job: Check for customers in the dunning sequence and send follow-up messages.\n",{"type":426,"tag":553,"props":25240,"children":25241},{"class":555,"line":623},[25242],{"type":426,"tag":553,"props":25243,"children":25244},{"style":572},[25245],{"type":431,"value":2673},{"type":426,"tag":553,"props":25247,"children":25248},{"class":555,"line":637},[25249,25254,25258],{"type":426,"tag":553,"props":25250,"children":25251},{"style":684},[25252],{"type":431,"value":25253},"    conn ",{"type":426,"tag":553,"props":25255,"children":25256},{"style":795},[25257],{"type":431,"value":957},{"type":426,"tag":553,"props":25259,"children":25260},{"style":684},[25261],{"type":431,"value":25262}," get_db()\n",{"type":426,"tag":553,"props":25264,"children":25265},{"class":555,"line":646},[25266],{"type":426,"tag":553,"props":25267,"children":25268},{"style":684},[25269],{"type":431,"value":917},{"type":426,"tag":553,"props":25271,"children":25272},{"class":555,"line":655},[25273],{"type":426,"tag":553,"props":25274,"children":25275},{"style":1975},[25276],{"type":431,"value":25277},"    # Find customers on Day 3 of dunning\n",{"type":426,"tag":553,"props":25279,"children":25280},{"class":555,"line":1036},[25281,25286,25290,25295],{"type":426,"tag":553,"props":25282,"children":25283},{"style":684},[25284],{"type":431,"value":25285},"    day_3_dunning ",{"type":426,"tag":553,"props":25287,"children":25288},{"style":795},[25289],{"type":431,"value":957},{"type":426,"tag":553,"props":25291,"children":25292},{"style":684},[25293],{"type":431,"value":25294}," conn.execute(",{"type":426,"tag":553,"props":25296,"children":25297},{"style":572},[25298],{"type":431,"value":2084},{"type":426,"tag":553,"props":25300,"children":25301},{"class":555,"line":1054},[25302],{"type":426,"tag":553,"props":25303,"children":25304},{"style":572},[25305],{"type":431,"value":25306},"        SELECT phone, name, amount, payment_url\n",{"type":426,"tag":553,"props":25308,"children":25309},{"class":555,"line":1080},[25310],{"type":426,"tag":553,"props":25311,"children":25312},{"style":572},[25313],{"type":431,"value":25314},"        FROM payment_failures\n",{"type":426,"tag":553,"props":25316,"children":25317},{"class":555,"line":1097},[25318],{"type":426,"tag":553,"props":25319,"children":25320},{"style":572},[25321],{"type":431,"value":25322},"        WHERE attempt_count = 1\n",{"type":426,"tag":553,"props":25324,"children":25325},{"class":555,"line":1114},[25326],{"type":426,"tag":553,"props":25327,"children":25328},{"style":572},[25329],{"type":431,"value":25330},"          AND initial_failure_date = NOW() - INTERVAL '3 days'\n",{"type":426,"tag":553,"props":25332,"children":25333},{"class":555,"line":1127},[25334],{"type":426,"tag":553,"props":25335,"children":25336},{"style":572},[25337],{"type":431,"value":25338},"          AND day3_sent = FALSE\n",{"type":426,"tag":553,"props":25340,"children":25341},{"class":555,"line":1167},[25342,25346],{"type":426,"tag":553,"props":25343,"children":25344},{"style":572},[25345],{"type":431,"value":15510},{"type":426,"tag":553,"props":25347,"children":25348},{"style":684},[25349],{"type":431,"value":25350},").fetchall()\n",{"type":426,"tag":553,"props":25352,"children":25353},{"class":555,"line":1184},[25354],{"type":426,"tag":553,"props":25355,"children":25356},{"style":684},[25357],{"type":431,"value":917},{"type":426,"tag":553,"props":25359,"children":25360},{"class":555,"line":1192},[25361,25365,25370,25374],{"type":426,"tag":553,"props":25362,"children":25363},{"style":795},[25364],{"type":431,"value":1995},{"type":426,"tag":553,"props":25366,"children":25367},{"style":684},[25368],{"type":431,"value":25369}," customer ",{"type":426,"tag":553,"props":25371,"children":25372},{"style":795},[25373],{"type":431,"value":2005},{"type":426,"tag":553,"props":25375,"children":25376},{"style":684},[25377],{"type":431,"value":25378}," day_3_dunning:\n",{"type":426,"tag":553,"props":25380,"children":25381},{"class":555,"line":1210},[25382,25386,25390],{"type":426,"tag":553,"props":25383,"children":25384},{"style":684},[25385],{"type":431,"value":5864},{"type":426,"tag":553,"props":25387,"children":25388},{"style":795},[25389],{"type":431,"value":957},{"type":426,"tag":553,"props":25391,"children":25392},{"style":684},[25393],{"type":431,"value":24002},{"type":426,"tag":553,"props":25395,"children":25396},{"class":555,"line":1253},[25397,25401,25405,25410,25414],{"type":426,"tag":553,"props":25398,"children":25399},{"style":1684},[25400],{"type":431,"value":24210},{"type":426,"tag":553,"props":25402,"children":25403},{"style":795},[25404],{"type":431,"value":957},{"type":426,"tag":553,"props":25406,"children":25407},{"style":684},[25408],{"type":431,"value":25409},"customer[",{"type":426,"tag":553,"props":25411,"children":25412},{"style":572},[25413],{"type":431,"value":1277},{"type":426,"tag":553,"props":25415,"children":25416},{"style":684},[25417],{"type":431,"value":12804},{"type":426,"tag":553,"props":25419,"children":25420},{"class":555,"line":1302},[25421,25426,25430,25434],{"type":426,"tag":553,"props":25422,"children":25423},{"style":1684},[25424],{"type":431,"value":25425},"            attempt",{"type":426,"tag":553,"props":25427,"children":25428},{"style":795},[25429],{"type":431,"value":957},{"type":426,"tag":553,"props":25431,"children":25432},{"style":566},[25433],{"type":431,"value":6533},{"type":426,"tag":553,"props":25435,"children":25436},{"style":684},[25437],{"type":431,"value":710},{"type":426,"tag":553,"props":25439,"children":25440},{"class":555,"line":1374},[25441,25446,25450,25454,25458],{"type":426,"tag":553,"props":25442,"children":25443},{"style":1684},[25444],{"type":431,"value":25445},"            amount",{"type":426,"tag":553,"props":25447,"children":25448},{"style":795},[25449],{"type":431,"value":957},{"type":426,"tag":553,"props":25451,"children":25452},{"style":684},[25453],{"type":431,"value":25409},{"type":426,"tag":553,"props":25455,"children":25456},{"style":572},[25457],{"type":431,"value":1459},{"type":426,"tag":553,"props":25459,"children":25460},{"style":684},[25461],{"type":431,"value":12804},{"type":426,"tag":553,"props":25463,"children":25464},{"class":555,"line":1414},[25465,25470,25474,25479],{"type":426,"tag":553,"props":25466,"children":25467},{"style":1684},[25468],{"type":431,"value":25469},"            currency",{"type":426,"tag":553,"props":25471,"children":25472},{"style":795},[25473],{"type":431,"value":957},{"type":426,"tag":553,"props":25475,"children":25476},{"style":572},[25477],{"type":431,"value":25478},"'USD'",{"type":426,"tag":553,"props":25480,"children":25481},{"style":684},[25482],{"type":431,"value":710},{"type":426,"tag":553,"props":25484,"children":25485},{"class":555,"line":1479},[25486,25490,25494,25498,25502],{"type":426,"tag":553,"props":25487,"children":25488},{"style":1684},[25489],{"type":431,"value":24226},{"type":426,"tag":553,"props":25491,"children":25492},{"style":795},[25493],{"type":431,"value":957},{"type":426,"tag":553,"props":25495,"children":25496},{"style":684},[25497],{"type":431,"value":25409},{"type":426,"tag":553,"props":25499,"children":25500},{"style":572},[25501],{"type":431,"value":1583},{"type":426,"tag":553,"props":25503,"children":25504},{"style":684},[25505],{"type":431,"value":16523},{"type":426,"tag":553,"props":25507,"children":25508},{"class":555,"line":1517},[25509],{"type":426,"tag":553,"props":25510,"children":25511},{"style":684},[25512],{"type":431,"value":6037},{"type":426,"tag":553,"props":25514,"children":25515},{"class":555,"line":1560},[25516],{"type":426,"tag":553,"props":25517,"children":25518},{"style":684},[25519],{"type":431,"value":2061},{"type":426,"tag":553,"props":25521,"children":25522},{"class":555,"line":1598},[25523,25527,25531,25536,25540],{"type":426,"tag":553,"props":25524,"children":25525},{"style":684},[25526],{"type":431,"value":2836},{"type":426,"tag":553,"props":25528,"children":25529},{"style":795},[25530],{"type":431,"value":957},{"type":426,"tag":553,"props":25532,"children":25533},{"style":684},[25534],{"type":431,"value":25535}," send_whatsapp(customer[",{"type":426,"tag":553,"props":25537,"children":25538},{"style":572},[25539],{"type":431,"value":1769},{"type":426,"tag":553,"props":25541,"children":25542},{"style":684},[25543],{"type":431,"value":18065},{"type":426,"tag":553,"props":25545,"children":25546},{"class":555,"line":1636},[25547],{"type":426,"tag":553,"props":25548,"children":25549},{"style":684},[25550],{"type":431,"value":2061},{"type":426,"tag":553,"props":25552,"children":25553},{"class":555,"line":1645},[25554,25558,25562,25566,25570,25574,25578],{"type":426,"tag":553,"props":25555,"children":25556},{"style":795},[25557],{"type":431,"value":2972},{"type":426,"tag":553,"props":25559,"children":25560},{"style":684},[25561],{"type":431,"value":2977},{"type":426,"tag":553,"props":25563,"children":25564},{"style":572},[25565],{"type":431,"value":2982},{"type":426,"tag":553,"props":25567,"children":25568},{"style":684},[25569],{"type":431,"value":2987},{"type":426,"tag":553,"props":25571,"children":25572},{"style":795},[25573],{"type":431,"value":1069},{"type":426,"tag":553,"props":25575,"children":25576},{"style":572},[25577],{"type":431,"value":2996},{"type":426,"tag":553,"props":25579,"children":25580},{"style":684},[25581],{"type":431,"value":909},{"type":426,"tag":553,"props":25583,"children":25584},{"class":555,"line":1653},[25585],{"type":426,"tag":553,"props":25586,"children":25587},{"style":684},[25588],{"type":431,"value":25589},"            conn.execute(\n",{"type":426,"tag":553,"props":25591,"children":25592},{"class":555,"line":1667},[25593,25598,25602,25606],{"type":426,"tag":553,"props":25594,"children":25595},{"style":572},[25596],{"type":431,"value":25597},"                \"UPDATE payment_failures SET day3_sent = TRUE WHERE phone = ",{"type":426,"tag":553,"props":25599,"children":25600},{"style":566},[25601],{"type":431,"value":2143},{"type":426,"tag":553,"props":25603,"children":25604},{"style":572},[25605],{"type":431,"value":1527},{"type":426,"tag":553,"props":25607,"children":25608},{"style":684},[25609],{"type":431,"value":710},{"type":426,"tag":553,"props":25611,"children":25612},{"class":555,"line":1680},[25613,25618,25622],{"type":426,"tag":553,"props":25614,"children":25615},{"style":684},[25616],{"type":431,"value":25617},"                [customer[",{"type":426,"tag":553,"props":25619,"children":25620},{"style":572},[25621],{"type":431,"value":1769},{"type":426,"tag":553,"props":25623,"children":25624},{"style":684},[25625],{"type":431,"value":25626},"]]\n",{"type":426,"tag":553,"props":25628,"children":25629},{"class":555,"line":1740},[25630],{"type":426,"tag":553,"props":25631,"children":25632},{"style":684},[25633],{"type":431,"value":2551},{"type":426,"tag":553,"props":25635,"children":25636},{"class":555,"line":1787},[25637],{"type":426,"tag":553,"props":25638,"children":25639},{"style":684},[25640],{"type":431,"value":917},{"type":426,"tag":553,"props":25642,"children":25643},{"class":555,"line":1796},[25644],{"type":426,"tag":553,"props":25645,"children":25646},{"style":684},[25647],{"type":431,"value":25648},"    conn.close()\n",{"type":426,"tag":434,"props":25650,"children":25652},{"id":25651},"step-4-e-commerce-order-payment-failure",[25653],{"type":431,"value":25654},"Step 4: E-Commerce Order Payment Failure",{"type":426,"tag":427,"props":25656,"children":25657},{},[25658],{"type":431,"value":25659},"For one-time purchases:",{"type":426,"tag":542,"props":25661,"children":25663},{"code":25662,"language":545,"meta":417,"className":546,"style":417},"# Test cURL — verify your setup\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Payment Failed ⚠️\\n\\nHi Sarah! We could not process your payment for order #12345 ($49.99).\\n\\nYour order is saved — please complete payment:\\n💳 https:\u002F\u002Fyourstore.com\u002Forders\u002F12345\u002Fpay\\n\\nYour cart expires in 24 hours. Need help? Just reply!\"\n  }'\n",[25664],{"type":426,"tag":549,"props":25665,"children":25666},{"__ignoreMap":417},[25667,25675,25698,25713,25728,25739,25746,25754],{"type":426,"tag":553,"props":25668,"children":25669},{"class":555,"line":556},[25670],{"type":426,"tag":553,"props":25671,"children":25672},{"style":1975},[25673],{"type":431,"value":25674},"# Test cURL — verify your setup\n",{"type":426,"tag":553,"props":25676,"children":25677},{"class":555,"line":588},[25678,25682,25686,25690,25694],{"type":426,"tag":553,"props":25679,"children":25680},{"style":560},[25681],{"type":431,"value":563},{"type":426,"tag":553,"props":25683,"children":25684},{"style":566},[25685],{"type":431,"value":569},{"type":426,"tag":553,"props":25687,"children":25688},{"style":572},[25689],{"type":431,"value":575},{"type":426,"tag":553,"props":25691,"children":25692},{"style":572},[25693],{"type":431,"value":580},{"type":426,"tag":553,"props":25695,"children":25696},{"style":566},[25697],{"type":431,"value":585},{"type":426,"tag":553,"props":25699,"children":25700},{"class":555,"line":606},[25701,25705,25709],{"type":426,"tag":553,"props":25702,"children":25703},{"style":566},[25704],{"type":431,"value":594},{"type":426,"tag":553,"props":25706,"children":25707},{"style":572},[25708],{"type":431,"value":599},{"type":426,"tag":553,"props":25710,"children":25711},{"style":566},[25712],{"type":431,"value":585},{"type":426,"tag":553,"props":25714,"children":25715},{"class":555,"line":623},[25716,25720,25724],{"type":426,"tag":553,"props":25717,"children":25718},{"style":566},[25719],{"type":431,"value":594},{"type":426,"tag":553,"props":25721,"children":25722},{"style":572},[25723],{"type":431,"value":616},{"type":426,"tag":553,"props":25725,"children":25726},{"style":566},[25727],{"type":431,"value":585},{"type":426,"tag":553,"props":25729,"children":25730},{"class":555,"line":637},[25731,25735],{"type":426,"tag":553,"props":25732,"children":25733},{"style":566},[25734],{"type":431,"value":629},{"type":426,"tag":553,"props":25736,"children":25737},{"style":572},[25738],{"type":431,"value":634},{"type":426,"tag":553,"props":25740,"children":25741},{"class":555,"line":646},[25742],{"type":426,"tag":553,"props":25743,"children":25744},{"style":572},[25745],{"type":431,"value":643},{"type":426,"tag":553,"props":25747,"children":25748},{"class":555,"line":655},[25749],{"type":426,"tag":553,"props":25750,"children":25751},{"style":572},[25752],{"type":431,"value":25753},"    \"message\": \"Payment Failed ⚠️\\n\\nHi Sarah! We could not process your payment for order #12345 ($49.99).\\n\\nYour order is saved — please complete payment:\\n💳 https:\u002F\u002Fyourstore.com\u002Forders\u002F12345\u002Fpay\\n\\nYour cart expires in 24 hours. Need help? Just reply!\"\n",{"type":426,"tag":553,"props":25755,"children":25756},{"class":555,"line":1036},[25757],{"type":426,"tag":553,"props":25758,"children":25759},{"style":572},[25760],{"type":431,"value":661},{"type":426,"tag":427,"props":25762,"children":25763},{},[25764],{"type":426,"tag":446,"props":25765,"children":25766},{},[25767],{"type":431,"value":669},{"type":426,"tag":542,"props":25769,"children":25771},{"code":25770,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_payment_abc123\",\n  \"timestamp\": \"2026-07-14T10:30:00Z\"\n}\n",[25772],{"type":426,"tag":549,"props":25773,"children":25774},{"__ignoreMap":417},[25775,25782,25801,25821,25837],{"type":426,"tag":553,"props":25776,"children":25777},{"class":555,"line":556},[25778],{"type":426,"tag":553,"props":25779,"children":25780},{"style":684},[25781],{"type":431,"value":687},{"type":426,"tag":553,"props":25783,"children":25784},{"class":555,"line":588},[25785,25789,25793,25797],{"type":426,"tag":553,"props":25786,"children":25787},{"style":566},[25788],{"type":431,"value":695},{"type":426,"tag":553,"props":25790,"children":25791},{"style":684},[25792],{"type":431,"value":700},{"type":426,"tag":553,"props":25794,"children":25795},{"style":572},[25796],{"type":431,"value":705},{"type":426,"tag":553,"props":25798,"children":25799},{"style":684},[25800],{"type":431,"value":710},{"type":426,"tag":553,"props":25802,"children":25803},{"class":555,"line":606},[25804,25808,25812,25817],{"type":426,"tag":553,"props":25805,"children":25806},{"style":566},[25807],{"type":431,"value":718},{"type":426,"tag":553,"props":25809,"children":25810},{"style":684},[25811],{"type":431,"value":700},{"type":426,"tag":553,"props":25813,"children":25814},{"style":572},[25815],{"type":431,"value":25816},"\"msg_payment_abc123\"",{"type":426,"tag":553,"props":25818,"children":25819},{"style":684},[25820],{"type":431,"value":710},{"type":426,"tag":553,"props":25822,"children":25823},{"class":555,"line":623},[25824,25828,25832],{"type":426,"tag":553,"props":25825,"children":25826},{"style":566},[25827],{"type":431,"value":739},{"type":426,"tag":553,"props":25829,"children":25830},{"style":684},[25831],{"type":431,"value":700},{"type":426,"tag":553,"props":25833,"children":25834},{"style":572},[25835],{"type":431,"value":25836},"\"2026-07-14T10:30:00Z\"\n",{"type":426,"tag":553,"props":25838,"children":25839},{"class":555,"line":637},[25840],{"type":426,"tag":553,"props":25841,"children":25842},{"style":684},[25843],{"type":431,"value":756},{"type":426,"tag":434,"props":25845,"children":25847},{"id":25846},"collecting-phone-numbers-for-payment-recovery",[25848],{"type":431,"value":25849},"Collecting Phone Numbers for Payment Recovery",{"type":426,"tag":427,"props":25851,"children":25852},{},[25853],{"type":431,"value":25854},"Store the customer's WhatsApp phone in your payment processor:",{"type":426,"tag":427,"props":25856,"children":25857},{},[25858],{"type":426,"tag":446,"props":25859,"children":25860},{},[25861],{"type":431,"value":25862},"Stripe — store in customer metadata:",{"type":426,"tag":542,"props":25864,"children":25866},{"code":25865,"language":784,"meta":417,"className":785,"style":417},"stripe.Customer.modify(\n    customer_id,\n    metadata={'whatsapp_phone': '8801234567890'}\n)\n",[25867],{"type":426,"tag":549,"props":25868,"children":25869},{"__ignoreMap":417},[25870,25878,25886,25918],{"type":426,"tag":553,"props":25871,"children":25872},{"class":555,"line":556},[25873],{"type":426,"tag":553,"props":25874,"children":25875},{"style":684},[25876],{"type":431,"value":25877},"stripe.Customer.modify(\n",{"type":426,"tag":553,"props":25879,"children":25880},{"class":555,"line":588},[25881],{"type":426,"tag":553,"props":25882,"children":25883},{"style":684},[25884],{"type":431,"value":25885},"    customer_id,\n",{"type":426,"tag":553,"props":25887,"children":25888},{"class":555,"line":606},[25889,25894,25898,25902,25906,25910,25914],{"type":426,"tag":553,"props":25890,"children":25891},{"style":1684},[25892],{"type":431,"value":25893},"    metadata",{"type":426,"tag":553,"props":25895,"children":25896},{"style":795},[25897],{"type":431,"value":957},{"type":426,"tag":553,"props":25899,"children":25900},{"style":684},[25901],{"type":431,"value":972},{"type":426,"tag":553,"props":25903,"children":25904},{"style":572},[25905],{"type":431,"value":23871},{"type":426,"tag":553,"props":25907,"children":25908},{"style":684},[25909],{"type":431,"value":700},{"type":426,"tag":553,"props":25911,"children":25912},{"style":572},[25913],{"type":431,"value":10197},{"type":426,"tag":553,"props":25915,"children":25916},{"style":684},[25917],{"type":431,"value":756},{"type":426,"tag":553,"props":25919,"children":25920},{"class":555,"line":623},[25921],{"type":426,"tag":553,"props":25922,"children":25923},{"style":684},[25924],{"type":431,"value":3262},{"type":426,"tag":427,"props":25926,"children":25927},{},[25928],{"type":426,"tag":446,"props":25929,"children":25930},{},[25931],{"type":431,"value":25932},"Checkout page — collect phone at payment:",{"type":426,"tag":542,"props":25934,"children":25938},{"code":25935,"language":25936,"meta":417,"className":25937,"style":417},"\u003Cinput type=\"tel\" name=\"whatsapp_phone\" \n       placeholder=\"WhatsApp number (for payment alerts)\" \n       required>\n\u003Cp>We'll send payment confirmation and alerts via WhatsApp.\u003C\u002Fp>\n","html","language-html shiki shiki-themes github-dark",[25939],{"type":426,"tag":549,"props":25940,"children":25941},{"__ignoreMap":417},[25942,25988,26009,26022],{"type":426,"tag":553,"props":25943,"children":25944},{"class":555,"line":556},[25945,25950,25955,25960,25964,25969,25974,25978,25983],{"type":426,"tag":553,"props":25946,"children":25947},{"style":684},[25948],{"type":431,"value":25949},"\u003C",{"type":426,"tag":553,"props":25951,"children":25953},{"style":25952},"--shiki-default:#85E89D",[25954],{"type":431,"value":6906},{"type":426,"tag":553,"props":25956,"children":25957},{"style":560},[25958],{"type":431,"value":25959}," type",{"type":426,"tag":553,"props":25961,"children":25962},{"style":684},[25963],{"type":431,"value":957},{"type":426,"tag":553,"props":25965,"children":25966},{"style":572},[25967],{"type":431,"value":25968},"\"tel\"",{"type":426,"tag":553,"props":25970,"children":25971},{"style":560},[25972],{"type":431,"value":25973}," name",{"type":426,"tag":553,"props":25975,"children":25976},{"style":684},[25977],{"type":431,"value":957},{"type":426,"tag":553,"props":25979,"children":25980},{"style":572},[25981],{"type":431,"value":25982},"\"whatsapp_phone\"",{"type":426,"tag":553,"props":25984,"children":25985},{"style":684},[25986],{"type":431,"value":25987}," \n",{"type":426,"tag":553,"props":25989,"children":25990},{"class":555,"line":588},[25991,25996,26000,26005],{"type":426,"tag":553,"props":25992,"children":25993},{"style":560},[25994],{"type":431,"value":25995},"       placeholder",{"type":426,"tag":553,"props":25997,"children":25998},{"style":684},[25999],{"type":431,"value":957},{"type":426,"tag":553,"props":26001,"children":26002},{"style":572},[26003],{"type":431,"value":26004},"\"WhatsApp number (for payment alerts)\"",{"type":426,"tag":553,"props":26006,"children":26007},{"style":684},[26008],{"type":431,"value":25987},{"type":426,"tag":553,"props":26010,"children":26011},{"class":555,"line":606},[26012,26017],{"type":426,"tag":553,"props":26013,"children":26014},{"style":560},[26015],{"type":431,"value":26016},"       required",{"type":426,"tag":553,"props":26018,"children":26019},{"style":684},[26020],{"type":431,"value":26021},">\n",{"type":426,"tag":553,"props":26023,"children":26024},{"class":555,"line":623},[26025,26029,26033,26038,26042],{"type":426,"tag":553,"props":26026,"children":26027},{"style":684},[26028],{"type":431,"value":25949},{"type":426,"tag":553,"props":26030,"children":26031},{"style":25952},[26032],{"type":431,"value":427},{"type":426,"tag":553,"props":26034,"children":26035},{"style":684},[26036],{"type":431,"value":26037},">We'll send payment confirmation and alerts via WhatsApp.\u003C\u002F",{"type":426,"tag":553,"props":26039,"children":26040},{"style":25952},[26041],{"type":431,"value":427},{"type":426,"tag":553,"props":26043,"children":26044},{"style":684},[26045],{"type":431,"value":26021},{"type":426,"tag":434,"props":26047,"children":26048},{"id":4050},[26049],{"type":431,"value":4053},{"type":426,"tag":454,"props":26051,"children":26052},{},[26053,26063,26073,26083],{"type":426,"tag":458,"props":26054,"children":26055},{},[26056,26061],{"type":426,"tag":446,"props":26057,"children":26058},{},[26059],{"type":431,"value":26060},"40–60% payment recovery",{"type":431,"value":26062}," rate (WhatsApp dunning vs 10–15% email-only)",{"type":426,"tag":458,"props":26064,"children":26065},{},[26066,26071],{"type":426,"tag":446,"props":26067,"children":26068},{},[26069],{"type":431,"value":26070},"3–5x faster",{"type":431,"value":26072}," customer response to payment update requests",{"type":426,"tag":458,"props":26074,"children":26075},{},[26076,26081],{"type":426,"tag":446,"props":26077,"children":26078},{},[26079],{"type":431,"value":26080},"20–35% reduction",{"type":431,"value":26082}," in involuntary churn for subscription businesses",{"type":426,"tag":458,"props":26084,"children":26085},{},[26086,26091],{"type":426,"tag":446,"props":26087,"children":26088},{},[26089],{"type":431,"value":26090},"90%+ open rate",{"type":431,"value":26092}," on payment failure messages (customers don't ignore payment alerts)",{"type":426,"tag":434,"props":26094,"children":26095},{"id":18886},[26096],{"type":431,"value":18889},{"type":426,"tag":454,"props":26098,"children":26099},{},[26100,26110,26120],{"type":426,"tag":458,"props":26101,"children":26102},{},[26103,26108],{"type":426,"tag":446,"props":26104,"children":26105},{},[26106],{"type":431,"value":26107},"No phone number available",{"type":431,"value":26109},": Store phone at signup\u002Fcheckout. Retroactively collect via \"Please add your WhatsApp for account alerts\" prompt.",{"type":426,"tag":458,"props":26111,"children":26112},{},[26113,26118],{"type":426,"tag":446,"props":26114,"children":26115},{},[26116],{"type":431,"value":26117},"401 from Rapiwa",{"type":431,"value":26119},": API key expired — regenerate in Dashboard → API Keys",{"type":426,"tag":458,"props":26121,"children":26122},{},[26123,26128],{"type":426,"tag":446,"props":26124,"children":26125},{},[26126],{"type":431,"value":26127},"Customer responds but payment not updated",{"type":431,"value":26129},": Route WhatsApp replies to your billing team via n8n → Slack notification",{"type":426,"tag":434,"props":26131,"children":26132},{"id":4109},[26133],{"type":431,"value":4112},{"type":426,"tag":427,"props":26135,"children":26136},{},[26137,26142],{"type":426,"tag":446,"props":26138,"children":26139},{},[26140],{"type":431,"value":26141},"Does WhatsApp payment recovery work better than email?",{"type":431,"value":26143},"\nYes — consistently. WhatsApp has a 98% open rate vs 20% email. Payment failure messages sent via WhatsApp are read within minutes; email payment reminders are often delayed by hours or days.",{"type":426,"tag":427,"props":26145,"children":26146},{},[26147,26152],{"type":426,"tag":446,"props":26148,"children":26149},{},[26150],{"type":431,"value":26151},"Does Rapiwa charge per payment recovery message?",{"type":431,"value":26153},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Recover payments without worrying about per-message costs.",{"type":426,"tag":427,"props":26155,"children":26156},{},[26157,26162],{"type":426,"tag":446,"props":26158,"children":26159},{},[26160],{"type":431,"value":26161},"What if the customer replies to my WhatsApp payment message?",{"type":431,"value":26163},"\nSet up a Rapiwa webhook to receive incoming replies. Route \"HELP\" and other replies to your billing support team via Slack or email notification.",{"type":426,"tag":427,"props":26165,"children":26166},{},[26167,26172],{"type":426,"tag":446,"props":26168,"children":26169},{},[26170],{"type":431,"value":26171},"Can I integrate this with PayPal, Paddle, or Chargebee?",{"type":431,"value":26173},"\nYes. Any payment processor that sends webhooks can trigger the Rapiwa API call. The pattern is the same: webhook event → extract customer phone → POST to Rapiwa.",{"type":426,"tag":427,"props":26175,"children":26176},{},[26177,26182],{"type":426,"tag":446,"props":26178,"children":26179},{},[26180],{"type":431,"value":26181},"What is the maximum number of dunning messages before it becomes spam?",{"type":431,"value":26183},"\n3 messages over 14 days is the industry standard: Day 0, Day 3, Day 7. Beyond 3 messages, open rates drop and the risk of the customer blocking your number increases.",{"type":426,"tag":4164,"props":26185,"children":26186},{},[26187],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":26189},[26190,26191,26192,26193,26196,26199,26200,26201,26202,26203],{"id":23024,"depth":588,"text":23027},{"id":23045,"depth":588,"text":23048},{"id":23059,"depth":588,"text":23062},{"id":23111,"depth":588,"text":23114,"children":26194},[26195],{"id":23117,"depth":606,"text":23120},{"id":25175,"depth":588,"text":25178,"children":26197},[26198],{"id":25197,"depth":606,"text":25200},{"id":25651,"depth":588,"text":25654},{"id":25846,"depth":588,"text":25849},{"id":4050,"depth":588,"text":4053},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-failed-payment-recovery.md","blog\u002Fwhatsapp-api-failed-payment-recovery.md","blog\u002Fwhatsapp-api-failed-payment-recovery",{"loc":32},{"_path":36,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":37,"description":38,"date":26209,"author":26210,"category":8,"_slug":26211,"image":26212,"body":26213,"_type":4187,"_id":30611,"_source":4189,"_file":30612,"_stem":30613,"_extension":4192,"sitemap":30614},"2026-03-23","Maya","whatsapp-loyalty-program-api-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-loyalty-program-api-rapiwa.svg",{"type":423,"children":26214,"toc":30601},[26215,26220,26226,26231,26273,26279,26287,26291,26952,26958,29352,29358,29363,30376,30382,30387,30395,30403,30496,30500,30543,30547,30557,30567,30577,30587,30597],{"type":426,"tag":427,"props":26216,"children":26217},{},[26218],{"type":431,"value":26219},"You can build a WhatsApp loyalty program using Rapiwa API to track points, send personalized reward messages, and notify customers of tier upgrades automatically. Customers earn points on purchases, receive WhatsApp updates when their balance changes, and get exclusive offers based on their tier. Rapiwa costs $5\u002Fmonth flat with no per-message fees — making even a 1,000-member loyalty program affordable.",{"type":426,"tag":434,"props":26221,"children":26223},{"id":26222},"what-makes-whatsapp-loyalty-programs-work",[26224],{"type":431,"value":26225},"What Makes WhatsApp Loyalty Programs Work",{"type":426,"tag":427,"props":26227,"children":26228},{},[26229],{"type":431,"value":26230},"Traditional loyalty cards are forgotten in wallets. Email loyalty updates have 20% open rates. WhatsApp changes this:",{"type":426,"tag":454,"props":26232,"children":26233},{},[26234,26243,26253,26263],{"type":426,"tag":458,"props":26235,"children":26236},{},[26237,26241],{"type":426,"tag":446,"props":26238,"children":26239},{},[26240],{"type":431,"value":465},{"type":431,"value":26242}," — customers see their points balance update instantly",{"type":426,"tag":458,"props":26244,"children":26245},{},[26246,26251],{"type":426,"tag":446,"props":26247,"children":26248},{},[26249],{"type":431,"value":26250},"Conversational",{"type":431,"value":26252}," — customers reply to check their balance, claim rewards",{"type":426,"tag":458,"props":26254,"children":26255},{},[26256,26261],{"type":426,"tag":446,"props":26257,"children":26258},{},[26259],{"type":431,"value":26260},"Always accessible",{"type":431,"value":26262}," — no app to download, no card to carry",{"type":426,"tag":458,"props":26264,"children":26265},{},[26266,26271],{"type":426,"tag":446,"props":26267,"children":26268},{},[26269],{"type":431,"value":26270},"Instant redemption",{"type":431,"value":26272}," — send discount codes directly via WhatsApp when rewards are earned",{"type":426,"tag":434,"props":26274,"children":26276},{"id":26275},"loyalty-program-architecture",[26277],{"type":431,"value":26278},"Loyalty Program Architecture",{"type":426,"tag":542,"props":26280,"children":26282},{"code":26281},"Customer makes purchase\n  → Points calculated\n  → Database updated\n  → Rapiwa API sends WhatsApp points update\n  → If tier upgrade: send tier congratulations\n  → If redeemable threshold reached: send reward\n",[26283],{"type":426,"tag":549,"props":26284,"children":26285},{"__ignoreMap":417},[26286],{"type":431,"value":26281},{"type":426,"tag":434,"props":26288,"children":26289},{"id":11013},[26290],{"type":431,"value":11016},{"type":426,"tag":542,"props":26292,"children":26294},{"code":26293,"language":11020,"meta":417,"className":11021,"style":417},"-- Loyalty members table\nCREATE TABLE loyalty_members (\n    id SERIAL PRIMARY KEY,\n    customer_id VARCHAR(50) UNIQUE NOT NULL,\n    phone VARCHAR(20) NOT NULL,\n    name VARCHAR(100) NOT NULL,\n    total_points INT DEFAULT 0,\n    tier VARCHAR(20) DEFAULT 'Bronze',  -- Bronze, Silver, Gold, Platinum\n    total_spend DECIMAL(10,2) DEFAULT 0,\n    joined_at TIMESTAMP DEFAULT NOW(),\n    last_activity TIMESTAMP DEFAULT NOW(),\n    whatsapp_opted_in BOOLEAN DEFAULT TRUE\n);\n\n-- Points transactions log\nCREATE TABLE loyalty_transactions (\n    id SERIAL PRIMARY KEY,\n    customer_id VARCHAR(50) NOT NULL,\n    order_id VARCHAR(50),\n    points_earned INT DEFAULT 0,\n    points_redeemed INT DEFAULT 0,\n    balance_after INT NOT NULL,\n    transaction_type VARCHAR(30),  -- 'purchase', 'redemption', 'bonus', 'expiry'\n    description TEXT,\n    created_at TIMESTAMP DEFAULT NOW()\n);\n\n-- Create indexes\nCREATE INDEX idx_loyalty_phone ON loyalty_members(phone);\nCREATE INDEX idx_loyalty_tier ON loyalty_members(tier);\n",[26295],{"type":426,"tag":549,"props":26296,"children":26297},{"__ignoreMap":417},[26298,26306,26326,26346,26383,26414,26446,26470,26512,26557,26581,26605,26625,26632,26639,26647,26667,26686,26717,26741,26765,26789,26809,26840,26857,26880,26887,26894,26902,26927],{"type":426,"tag":553,"props":26299,"children":26300},{"class":555,"line":556},[26301],{"type":426,"tag":553,"props":26302,"children":26303},{"style":1975},[26304],{"type":431,"value":26305},"-- Loyalty members table\n",{"type":426,"tag":553,"props":26307,"children":26308},{"class":555,"line":588},[26309,26313,26317,26322],{"type":426,"tag":553,"props":26310,"children":26311},{"style":795},[26312],{"type":431,"value":11041},{"type":426,"tag":553,"props":26314,"children":26315},{"style":795},[26316],{"type":431,"value":11046},{"type":426,"tag":553,"props":26318,"children":26319},{"style":560},[26320],{"type":431,"value":26321}," loyalty_members",{"type":426,"tag":553,"props":26323,"children":26324},{"style":684},[26325],{"type":431,"value":1207},{"type":426,"tag":553,"props":26327,"children":26328},{"class":555,"line":606},[26329,26333,26338,26342],{"type":426,"tag":553,"props":26330,"children":26331},{"style":684},[26332],{"type":431,"value":11422},{"type":426,"tag":553,"props":26334,"children":26335},{"style":795},[26336],{"type":431,"value":26337},"SERIAL",{"type":426,"tag":553,"props":26339,"children":26340},{"style":795},[26341],{"type":431,"value":11432},{"type":426,"tag":553,"props":26343,"children":26344},{"style":684},[26345],{"type":431,"value":710},{"type":426,"tag":553,"props":26347,"children":26348},{"class":555,"line":623},[26349,26353,26357,26361,26365,26369,26374,26379],{"type":426,"tag":553,"props":26350,"children":26351},{"style":684},[26352],{"type":431,"value":23756},{"type":426,"tag":553,"props":26354,"children":26355},{"style":795},[26356],{"type":431,"value":11091},{"type":426,"tag":553,"props":26358,"children":26359},{"style":684},[26360],{"type":431,"value":3275},{"type":426,"tag":553,"props":26362,"children":26363},{"style":566},[26364],{"type":431,"value":11133},{"type":426,"tag":553,"props":26366,"children":26367},{"style":684},[26368],{"type":431,"value":2987},{"type":426,"tag":553,"props":26370,"children":26371},{"style":795},[26372],{"type":431,"value":26373},"UNIQUE",{"type":426,"tag":553,"props":26375,"children":26376},{"style":795},[26377],{"type":431,"value":26378}," NOT NULL",{"type":426,"tag":553,"props":26380,"children":26381},{"style":684},[26382],{"type":431,"value":710},{"type":426,"tag":553,"props":26384,"children":26385},{"class":555,"line":637},[26386,26390,26394,26398,26402,26406,26410],{"type":426,"tag":553,"props":26387,"children":26388},{"style":684},[26389],{"type":431,"value":20284},{"type":426,"tag":553,"props":26391,"children":26392},{"style":795},[26393],{"type":431,"value":11091},{"type":426,"tag":553,"props":26395,"children":26396},{"style":684},[26397],{"type":431,"value":3275},{"type":426,"tag":553,"props":26399,"children":26400},{"style":566},[26401],{"type":431,"value":11202},{"type":426,"tag":553,"props":26403,"children":26404},{"style":684},[26405],{"type":431,"value":2987},{"type":426,"tag":553,"props":26407,"children":26408},{"style":795},[26409],{"type":431,"value":11108},{"type":426,"tag":553,"props":26411,"children":26412},{"style":684},[26413],{"type":431,"value":710},{"type":426,"tag":553,"props":26415,"children":26416},{"class":555,"line":646},[26417,26422,26426,26430,26434,26438,26442],{"type":426,"tag":553,"props":26418,"children":26419},{"style":795},[26420],{"type":431,"value":26421},"    name",{"type":426,"tag":553,"props":26423,"children":26424},{"style":795},[26425],{"type":431,"value":11628},{"type":426,"tag":553,"props":26427,"children":26428},{"style":684},[26429],{"type":431,"value":3275},{"type":426,"tag":553,"props":26431,"children":26432},{"style":566},[26433],{"type":431,"value":11264},{"type":426,"tag":553,"props":26435,"children":26436},{"style":684},[26437],{"type":431,"value":2987},{"type":426,"tag":553,"props":26439,"children":26440},{"style":795},[26441],{"type":431,"value":11108},{"type":426,"tag":553,"props":26443,"children":26444},{"style":684},[26445],{"type":431,"value":710},{"type":426,"tag":553,"props":26447,"children":26448},{"class":555,"line":655},[26449,26454,26458,26462,26466],{"type":426,"tag":553,"props":26450,"children":26451},{"style":684},[26452],{"type":431,"value":26453},"    total_points ",{"type":426,"tag":553,"props":26455,"children":26456},{"style":795},[26457],{"type":431,"value":11286},{"type":426,"tag":553,"props":26459,"children":26460},{"style":795},[26461],{"type":431,"value":11073},{"type":426,"tag":553,"props":26463,"children":26464},{"style":566},[26465],{"type":431,"value":940},{"type":426,"tag":553,"props":26467,"children":26468},{"style":684},[26469],{"type":431,"value":710},{"type":426,"tag":553,"props":26471,"children":26472},{"class":555,"line":1036},[26473,26478,26482,26486,26490,26494,26498,26503,26507],{"type":426,"tag":553,"props":26474,"children":26475},{"style":684},[26476],{"type":431,"value":26477},"    tier ",{"type":426,"tag":553,"props":26479,"children":26480},{"style":795},[26481],{"type":431,"value":11091},{"type":426,"tag":553,"props":26483,"children":26484},{"style":684},[26485],{"type":431,"value":3275},{"type":426,"tag":553,"props":26487,"children":26488},{"style":566},[26489],{"type":431,"value":11202},{"type":426,"tag":553,"props":26491,"children":26492},{"style":684},[26493],{"type":431,"value":2987},{"type":426,"tag":553,"props":26495,"children":26496},{"style":795},[26497],{"type":431,"value":11142},{"type":426,"tag":553,"props":26499,"children":26500},{"style":572},[26501],{"type":431,"value":26502}," 'Bronze'",{"type":426,"tag":553,"props":26504,"children":26505},{"style":684},[26506],{"type":431,"value":11654},{"type":426,"tag":553,"props":26508,"children":26509},{"style":1975},[26510],{"type":431,"value":26511},"-- Bronze, Silver, Gold, Platinum\n",{"type":426,"tag":553,"props":26513,"children":26514},{"class":555,"line":1054},[26515,26520,26525,26529,26533,26537,26541,26545,26549,26553],{"type":426,"tag":553,"props":26516,"children":26517},{"style":684},[26518],{"type":431,"value":26519},"    total_spend ",{"type":426,"tag":553,"props":26521,"children":26522},{"style":795},[26523],{"type":431,"value":26524},"DECIMAL",{"type":426,"tag":553,"props":26526,"children":26527},{"style":684},[26528],{"type":431,"value":3275},{"type":426,"tag":553,"props":26530,"children":26531},{"style":566},[26532],{"type":431,"value":11479},{"type":426,"tag":553,"props":26534,"children":26535},{"style":684},[26536],{"type":431,"value":1290},{"type":426,"tag":553,"props":26538,"children":26539},{"style":566},[26540],{"type":431,"value":6533},{"type":426,"tag":553,"props":26542,"children":26543},{"style":684},[26544],{"type":431,"value":2987},{"type":426,"tag":553,"props":26546,"children":26547},{"style":795},[26548],{"type":431,"value":11142},{"type":426,"tag":553,"props":26550,"children":26551},{"style":566},[26552],{"type":431,"value":940},{"type":426,"tag":553,"props":26554,"children":26555},{"style":684},[26556],{"type":431,"value":710},{"type":426,"tag":553,"props":26558,"children":26559},{"class":555,"line":1080},[26560,26565,26569,26573,26577],{"type":426,"tag":553,"props":26561,"children":26562},{"style":684},[26563],{"type":431,"value":26564},"    joined_at ",{"type":426,"tag":553,"props":26566,"children":26567},{"style":795},[26568],{"type":431,"value":11335},{"type":426,"tag":553,"props":26570,"children":26571},{"style":795},[26572],{"type":431,"value":11073},{"type":426,"tag":553,"props":26574,"children":26575},{"style":795},[26576],{"type":431,"value":11344},{"type":426,"tag":553,"props":26578,"children":26579},{"style":684},[26580],{"type":431,"value":11349},{"type":426,"tag":553,"props":26582,"children":26583},{"class":555,"line":1097},[26584,26589,26593,26597,26601],{"type":426,"tag":553,"props":26585,"children":26586},{"style":684},[26587],{"type":431,"value":26588},"    last_activity ",{"type":426,"tag":553,"props":26590,"children":26591},{"style":795},[26592],{"type":431,"value":11335},{"type":426,"tag":553,"props":26594,"children":26595},{"style":795},[26596],{"type":431,"value":11073},{"type":426,"tag":553,"props":26598,"children":26599},{"style":795},[26600],{"type":431,"value":11344},{"type":426,"tag":553,"props":26602,"children":26603},{"style":684},[26604],{"type":431,"value":11349},{"type":426,"tag":553,"props":26606,"children":26607},{"class":555,"line":1114},[26608,26613,26617,26621],{"type":426,"tag":553,"props":26609,"children":26610},{"style":684},[26611],{"type":431,"value":26612},"    whatsapp_opted_in ",{"type":426,"tag":553,"props":26614,"children":26615},{"style":795},[26616],{"type":431,"value":11362},{"type":426,"tag":553,"props":26618,"children":26619},{"style":795},[26620],{"type":431,"value":11073},{"type":426,"tag":553,"props":26622,"children":26623},{"style":684},[26624],{"type":431,"value":11371},{"type":426,"tag":553,"props":26626,"children":26627},{"class":555,"line":1127},[26628],{"type":426,"tag":553,"props":26629,"children":26630},{"style":684},[26631],{"type":431,"value":11379},{"type":426,"tag":553,"props":26633,"children":26634},{"class":555,"line":1167},[26635],{"type":426,"tag":553,"props":26636,"children":26637},{"emptyLinePlaceholder":831},[26638],{"type":431,"value":834},{"type":426,"tag":553,"props":26640,"children":26641},{"class":555,"line":1184},[26642],{"type":426,"tag":553,"props":26643,"children":26644},{"style":1975},[26645],{"type":431,"value":26646},"-- Points transactions log\n",{"type":426,"tag":553,"props":26648,"children":26649},{"class":555,"line":1192},[26650,26654,26658,26663],{"type":426,"tag":553,"props":26651,"children":26652},{"style":795},[26653],{"type":431,"value":11041},{"type":426,"tag":553,"props":26655,"children":26656},{"style":795},[26657],{"type":431,"value":11046},{"type":426,"tag":553,"props":26659,"children":26660},{"style":560},[26661],{"type":431,"value":26662}," loyalty_transactions",{"type":426,"tag":553,"props":26664,"children":26665},{"style":684},[26666],{"type":431,"value":1207},{"type":426,"tag":553,"props":26668,"children":26669},{"class":555,"line":1210},[26670,26674,26678,26682],{"type":426,"tag":553,"props":26671,"children":26672},{"style":684},[26673],{"type":431,"value":11422},{"type":426,"tag":553,"props":26675,"children":26676},{"style":795},[26677],{"type":431,"value":26337},{"type":426,"tag":553,"props":26679,"children":26680},{"style":795},[26681],{"type":431,"value":11432},{"type":426,"tag":553,"props":26683,"children":26684},{"style":684},[26685],{"type":431,"value":710},{"type":426,"tag":553,"props":26687,"children":26688},{"class":555,"line":1253},[26689,26693,26697,26701,26705,26709,26713],{"type":426,"tag":553,"props":26690,"children":26691},{"style":684},[26692],{"type":431,"value":23756},{"type":426,"tag":553,"props":26694,"children":26695},{"style":795},[26696],{"type":431,"value":11091},{"type":426,"tag":553,"props":26698,"children":26699},{"style":684},[26700],{"type":431,"value":3275},{"type":426,"tag":553,"props":26702,"children":26703},{"style":566},[26704],{"type":431,"value":11133},{"type":426,"tag":553,"props":26706,"children":26707},{"style":684},[26708],{"type":431,"value":2987},{"type":426,"tag":553,"props":26710,"children":26711},{"style":795},[26712],{"type":431,"value":11108},{"type":426,"tag":553,"props":26714,"children":26715},{"style":684},[26716],{"type":431,"value":710},{"type":426,"tag":553,"props":26718,"children":26719},{"class":555,"line":1302},[26720,26725,26729,26733,26737],{"type":426,"tag":553,"props":26721,"children":26722},{"style":684},[26723],{"type":431,"value":26724},"    order_id ",{"type":426,"tag":553,"props":26726,"children":26727},{"style":795},[26728],{"type":431,"value":11091},{"type":426,"tag":553,"props":26730,"children":26731},{"style":684},[26732],{"type":431,"value":3275},{"type":426,"tag":553,"props":26734,"children":26735},{"style":566},[26736],{"type":431,"value":11133},{"type":426,"tag":553,"props":26738,"children":26739},{"style":684},[26740],{"type":431,"value":11615},{"type":426,"tag":553,"props":26742,"children":26743},{"class":555,"line":1374},[26744,26749,26753,26757,26761],{"type":426,"tag":553,"props":26745,"children":26746},{"style":684},[26747],{"type":431,"value":26748},"    points_earned ",{"type":426,"tag":553,"props":26750,"children":26751},{"style":795},[26752],{"type":431,"value":11286},{"type":426,"tag":553,"props":26754,"children":26755},{"style":795},[26756],{"type":431,"value":11073},{"type":426,"tag":553,"props":26758,"children":26759},{"style":566},[26760],{"type":431,"value":940},{"type":426,"tag":553,"props":26762,"children":26763},{"style":684},[26764],{"type":431,"value":710},{"type":426,"tag":553,"props":26766,"children":26767},{"class":555,"line":1414},[26768,26773,26777,26781,26785],{"type":426,"tag":553,"props":26769,"children":26770},{"style":684},[26771],{"type":431,"value":26772},"    points_redeemed ",{"type":426,"tag":553,"props":26774,"children":26775},{"style":795},[26776],{"type":431,"value":11286},{"type":426,"tag":553,"props":26778,"children":26779},{"style":795},[26780],{"type":431,"value":11073},{"type":426,"tag":553,"props":26782,"children":26783},{"style":566},[26784],{"type":431,"value":940},{"type":426,"tag":553,"props":26786,"children":26787},{"style":684},[26788],{"type":431,"value":710},{"type":426,"tag":553,"props":26790,"children":26791},{"class":555,"line":1479},[26792,26797,26801,26805],{"type":426,"tag":553,"props":26793,"children":26794},{"style":684},[26795],{"type":431,"value":26796},"    balance_after ",{"type":426,"tag":553,"props":26798,"children":26799},{"style":795},[26800],{"type":431,"value":11286},{"type":426,"tag":553,"props":26802,"children":26803},{"style":795},[26804],{"type":431,"value":26378},{"type":426,"tag":553,"props":26806,"children":26807},{"style":684},[26808],{"type":431,"value":710},{"type":426,"tag":553,"props":26810,"children":26811},{"class":555,"line":1517},[26812,26817,26821,26825,26830,26835],{"type":426,"tag":553,"props":26813,"children":26814},{"style":684},[26815],{"type":431,"value":26816},"    transaction_type ",{"type":426,"tag":553,"props":26818,"children":26819},{"style":795},[26820],{"type":431,"value":11091},{"type":426,"tag":553,"props":26822,"children":26823},{"style":684},[26824],{"type":431,"value":3275},{"type":426,"tag":553,"props":26826,"children":26827},{"style":566},[26828],{"type":431,"value":26829},"30",{"type":426,"tag":553,"props":26831,"children":26832},{"style":684},[26833],{"type":431,"value":26834},"),  ",{"type":426,"tag":553,"props":26836,"children":26837},{"style":1975},[26838],{"type":431,"value":26839},"-- 'purchase', 'redemption', 'bonus', 'expiry'\n",{"type":426,"tag":553,"props":26841,"children":26842},{"class":555,"line":1560},[26843,26848,26853],{"type":426,"tag":553,"props":26844,"children":26845},{"style":795},[26846],{"type":431,"value":26847},"    description",{"type":426,"tag":553,"props":26849,"children":26850},{"style":795},[26851],{"type":431,"value":26852}," TEXT",{"type":426,"tag":553,"props":26854,"children":26855},{"style":684},[26856],{"type":431,"value":710},{"type":426,"tag":553,"props":26858,"children":26859},{"class":555,"line":1598},[26860,26864,26868,26872,26876],{"type":426,"tag":553,"props":26861,"children":26862},{"style":684},[26863],{"type":431,"value":11330},{"type":426,"tag":553,"props":26865,"children":26866},{"style":795},[26867],{"type":431,"value":11335},{"type":426,"tag":553,"props":26869,"children":26870},{"style":795},[26871],{"type":431,"value":11073},{"type":426,"tag":553,"props":26873,"children":26874},{"style":795},[26875],{"type":431,"value":11344},{"type":426,"tag":553,"props":26877,"children":26878},{"style":684},[26879],{"type":431,"value":11683},{"type":426,"tag":553,"props":26881,"children":26882},{"class":555,"line":1636},[26883],{"type":426,"tag":553,"props":26884,"children":26885},{"style":684},[26886],{"type":431,"value":11379},{"type":426,"tag":553,"props":26888,"children":26889},{"class":555,"line":1645},[26890],{"type":426,"tag":553,"props":26891,"children":26892},{"emptyLinePlaceholder":831},[26893],{"type":431,"value":834},{"type":426,"tag":553,"props":26895,"children":26896},{"class":555,"line":1653},[26897],{"type":426,"tag":553,"props":26898,"children":26899},{"style":1975},[26900],{"type":431,"value":26901},"-- Create indexes\n",{"type":426,"tag":553,"props":26903,"children":26904},{"class":555,"line":1667},[26905,26909,26913,26918,26922],{"type":426,"tag":553,"props":26906,"children":26907},{"style":795},[26908],{"type":431,"value":11041},{"type":426,"tag":553,"props":26910,"children":26911},{"style":795},[26912],{"type":431,"value":11717},{"type":426,"tag":553,"props":26914,"children":26915},{"style":560},[26916],{"type":431,"value":26917}," idx_loyalty_phone",{"type":426,"tag":553,"props":26919,"children":26920},{"style":795},[26921],{"type":431,"value":11727},{"type":426,"tag":553,"props":26923,"children":26924},{"style":684},[26925],{"type":431,"value":26926}," loyalty_members(phone);\n",{"type":426,"tag":553,"props":26928,"children":26929},{"class":555,"line":1680},[26930,26934,26938,26943,26947],{"type":426,"tag":553,"props":26931,"children":26932},{"style":795},[26933],{"type":431,"value":11041},{"type":426,"tag":553,"props":26935,"children":26936},{"style":795},[26937],{"type":431,"value":11717},{"type":426,"tag":553,"props":26939,"children":26940},{"style":560},[26941],{"type":431,"value":26942}," idx_loyalty_tier",{"type":426,"tag":553,"props":26944,"children":26945},{"style":795},[26946],{"type":431,"value":11727},{"type":426,"tag":553,"props":26948,"children":26949},{"style":684},[26950],{"type":431,"value":26951}," loyalty_members(tier);\n",{"type":426,"tag":434,"props":26953,"children":26955},{"id":26954},"step-2-points-calculation-and-award",[26956],{"type":431,"value":26957},"Step 2: Points Calculation and Award",{"type":426,"tag":542,"props":26959,"children":26961},{"code":26960,"language":784,"meta":417,"className":785,"style":417},"import requests\nimport psycopg2\nfrom decimal import Decimal\nfrom datetime import datetime\n\nRAPIWA_API_KEY = 'YOUR_API_KEY'\n\n# Loyalty tier thresholds\nTIERS = {\n    'Bronze': {'min_points': 0, 'earn_rate': 1},       # 1 point per $1\n    'Silver': {'min_points': 500, 'earn_rate': 1.5},   # 1.5 points per $1\n    'Gold': {'min_points': 2000, 'earn_rate': 2},      # 2 points per $1\n    'Platinum': {'min_points': 5000, 'earn_rate': 3},  # 3 points per $1\n}\n\ndef get_tier(total_points: int) -> str:\n    \"\"\"Determine loyalty tier based on total points.\"\"\"\n    if total_points >= 5000:\n        return 'Platinum'\n    elif total_points >= 2000:\n        return 'Gold'\n    elif total_points >= 500:\n        return 'Silver'\n    return 'Bronze'\n\ndef award_points(customer_id: str, order_amount: Decimal, order_id: str, db) -> dict:\n    \"\"\"\n    Award loyalty points for a purchase.\n    Returns updated member data and whether a tier upgrade occurred.\n    \"\"\"\n    # Get current member data\n    member = db.fetchone(\n        \"SELECT * FROM loyalty_members WHERE customer_id = %s\",\n        [customer_id]\n    )\n    \n    if not member:\n        return {'error': 'Member not found'}\n    \n    earn_rate = TIERS[member['tier']]['earn_rate']\n    points_earned = int(float(order_amount) * earn_rate)\n    new_total = member['total_points'] + points_earned\n    old_tier = member['tier']\n    new_tier = get_tier(new_total)\n    \n    # Update database\n    db.execute(\"\"\"\n        UPDATE loyalty_members \n        SET total_points = %s, tier = %s, total_spend = total_spend + %s,\n            last_activity = NOW()\n        WHERE customer_id = %s\n    \"\"\", [new_total, new_tier, float(order_amount), customer_id])\n    \n    # Log transaction\n    db.execute(\"\"\"\n        INSERT INTO loyalty_transactions \n        (customer_id, order_id, points_earned, balance_after, transaction_type, description)\n        VALUES (%s, %s, %s, %s, 'purchase', %s)\n    \"\"\", [customer_id, order_id, points_earned, new_total, f\"Purchase ${order_amount}\"])\n    \n    # Send WhatsApp notification\n    tier_upgraded = new_tier != old_tier\n    send_points_notification(\n        member=member,\n        points_earned=points_earned,\n        new_total=new_total,\n        new_tier=new_tier,\n        tier_upgraded=tier_upgraded\n    )\n    \n    return {\n        'points_earned': points_earned,\n        'new_balance': new_total,\n        'tier': new_tier,\n        'tier_upgraded': tier_upgraded\n    }\n\ndef send_points_notification(member: dict, points_earned: int, new_total: int, \n                             new_tier: str, tier_upgraded: bool) -> dict:\n    \"\"\"Send WhatsApp loyalty update to customer.\"\"\"\n    \n    if tier_upgraded:\n        message = build_tier_upgrade_message(member['name'], new_tier, new_total)\n    else:\n        message = build_points_earned_message(\n            member['name'], points_earned, new_total, new_tier\n        )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': member['phone'], 'message': message}\n    ).json()\n\ndef build_points_earned_message(name: str, points_earned: int, \n                                total: int, tier: str) -> str:\n    \"\"\"Build the standard points earned WhatsApp message.\"\"\"\n    next_tier_info = get_next_tier_info(total, tier)\n    \n    return (\n        f\"Points Earned! 🌟\\n\\n\"\n        f\"Hi {name}!\\n\\n\"\n        f\"+{points_earned} points for your purchase\\n\"\n        f\"Total balance: *{total:,} points*\\n\"\n        f\"Tier: {tier} Member\\n\\n\"\n        f\"{next_tier_info}\\n\\n\"\n        f\"Check your balance: https:\u002F\u002Fyourstore.com\u002Floyalty\\n\"\n        f\"Reply REDEEM to use your points.\"\n    )\n\ndef build_tier_upgrade_message(name: str, new_tier: str, total: int) -> str:\n    \"\"\"Build the tier upgrade congratulations message.\"\"\"\n    tier_benefits = {\n        'Silver': '1.5x points on every purchase + free returns',\n        'Gold': '2x points + free shipping on all orders + early sale access',\n        'Platinum': '3x points + dedicated VIP support + monthly surprise gift'\n    }\n    \n    return (\n        f\"🎉 Congratulations! You've been upgraded!\\n\\n\"\n        f\"Hi {name}!\\n\\n\"\n        f\"You've reached *{new_tier} status* — amazing!\\n\"\n        f\"Total points: {total:,}\\n\\n\"\n        f\"Your new {new_tier} benefits:\\n\"\n        f\"✨ {tier_benefits.get(new_tier, 'Premium member benefits')}\\n\\n\"\n        f\"Thank you for your loyalty! We truly appreciate you. 💛\\n\"\n        f\"→ https:\u002F\u002Fyourstore.com\u002Floyalty\u002Fbenefits\"\n    )\n",[26962],{"type":426,"tag":549,"props":26963,"children":26964},{"__ignoreMap":417},[26965,26976,26987,27008,27027,27034,27049,27056,27064,27080,27132,27183,27234,27285,27292,27299,27332,27340,27364,27376,27400,27412,27435,27447,27459,27466,27509,27516,27524,27532,27539,27547,27564,27584,27592,27599,27606,27622,27650,27657,27697,27734,27769,27793,27810,27817,27825,27837,27845,27879,27887,27899,27920,27927,27935,27946,27954,27962,28011,28053,28060,28068,28094,28102,28119,28136,28153,28170,28187,28194,28201,28212,28225,28238,28251,28264,28271,28278,28321,28355,28363,28370,28382,28407,28418,28434,28451,28458,28465,28476,28487,28530,28570,28577,28584,28616,28649,28657,28674,28681,28692,28712,28747,28785,28827,28865,28893,28913,28925,28932,28939,28989,28997,29014,29036,29058,29076,29084,29092,29104,29125,29161,29200,29233,29271,29310,29331,29344],{"type":426,"tag":553,"props":26966,"children":26967},{"class":555,"line":556},[26968,26972],{"type":426,"tag":553,"props":26969,"children":26970},{"style":795},[26971],{"type":431,"value":798},{"type":426,"tag":553,"props":26973,"children":26974},{"style":684},[26975],{"type":431,"value":803},{"type":426,"tag":553,"props":26977,"children":26978},{"class":555,"line":588},[26979,26983],{"type":426,"tag":553,"props":26980,"children":26981},{"style":795},[26982],{"type":431,"value":798},{"type":426,"tag":553,"props":26984,"children":26985},{"style":684},[26986],{"type":431,"value":11840},{"type":426,"tag":553,"props":26988,"children":26989},{"class":555,"line":606},[26990,26994,26999,27003],{"type":426,"tag":553,"props":26991,"children":26992},{"style":795},[26993],{"type":431,"value":811},{"type":426,"tag":553,"props":26995,"children":26996},{"style":684},[26997],{"type":431,"value":26998}," decimal ",{"type":426,"tag":553,"props":27000,"children":27001},{"style":795},[27002],{"type":431,"value":798},{"type":426,"tag":553,"props":27004,"children":27005},{"style":684},[27006],{"type":431,"value":27007}," Decimal\n",{"type":426,"tag":553,"props":27009,"children":27010},{"class":555,"line":623},[27011,27015,27019,27023],{"type":426,"tag":553,"props":27012,"children":27013},{"style":795},[27014],{"type":431,"value":811},{"type":426,"tag":553,"props":27016,"children":27017},{"style":684},[27018],{"type":431,"value":816},{"type":426,"tag":553,"props":27020,"children":27021},{"style":795},[27022],{"type":431,"value":798},{"type":426,"tag":553,"props":27024,"children":27025},{"style":684},[27026],{"type":431,"value":22230},{"type":426,"tag":553,"props":27028,"children":27029},{"class":555,"line":637},[27030],{"type":426,"tag":553,"props":27031,"children":27032},{"emptyLinePlaceholder":831},[27033],{"type":431,"value":834},{"type":426,"tag":553,"props":27035,"children":27036},{"class":555,"line":646},[27037,27041,27045],{"type":426,"tag":553,"props":27038,"children":27039},{"style":566},[27040],{"type":431,"value":7156},{"type":426,"tag":553,"props":27042,"children":27043},{"style":795},[27044],{"type":431,"value":8739},{"type":426,"tag":553,"props":27046,"children":27047},{"style":572},[27048],{"type":431,"value":23292},{"type":426,"tag":553,"props":27050,"children":27051},{"class":555,"line":655},[27052],{"type":426,"tag":553,"props":27053,"children":27054},{"emptyLinePlaceholder":831},[27055],{"type":431,"value":834},{"type":426,"tag":553,"props":27057,"children":27058},{"class":555,"line":1036},[27059],{"type":426,"tag":553,"props":27060,"children":27061},{"style":1975},[27062],{"type":431,"value":27063},"# Loyalty tier thresholds\n",{"type":426,"tag":553,"props":27065,"children":27066},{"class":555,"line":1054},[27067,27072,27076],{"type":426,"tag":553,"props":27068,"children":27069},{"style":566},[27070],{"type":431,"value":27071},"TIERS",{"type":426,"tag":553,"props":27073,"children":27074},{"style":795},[27075],{"type":431,"value":8739},{"type":426,"tag":553,"props":27077,"children":27078},{"style":684},[27079],{"type":431,"value":5458},{"type":426,"tag":553,"props":27081,"children":27082},{"class":555,"line":1080},[27083,27088,27092,27097,27101,27105,27109,27114,27118,27122,27127],{"type":426,"tag":553,"props":27084,"children":27085},{"style":572},[27086],{"type":431,"value":27087},"    'Bronze'",{"type":426,"tag":553,"props":27089,"children":27090},{"style":684},[27091],{"type":431,"value":10135},{"type":426,"tag":553,"props":27093,"children":27094},{"style":572},[27095],{"type":431,"value":27096},"'min_points'",{"type":426,"tag":553,"props":27098,"children":27099},{"style":684},[27100],{"type":431,"value":700},{"type":426,"tag":553,"props":27102,"children":27103},{"style":566},[27104],{"type":431,"value":1930},{"type":426,"tag":553,"props":27106,"children":27107},{"style":684},[27108],{"type":431,"value":1907},{"type":426,"tag":553,"props":27110,"children":27111},{"style":572},[27112],{"type":431,"value":27113},"'earn_rate'",{"type":426,"tag":553,"props":27115,"children":27116},{"style":684},[27117],{"type":431,"value":700},{"type":426,"tag":553,"props":27119,"children":27120},{"style":566},[27121],{"type":431,"value":1921},{"type":426,"tag":553,"props":27123,"children":27124},{"style":684},[27125],{"type":431,"value":27126},"},       ",{"type":426,"tag":553,"props":27128,"children":27129},{"style":1975},[27130],{"type":431,"value":27131},"# 1 point per $1\n",{"type":426,"tag":553,"props":27133,"children":27134},{"class":555,"line":1097},[27135,27140,27144,27148,27152,27156,27160,27164,27168,27173,27178],{"type":426,"tag":553,"props":27136,"children":27137},{"style":572},[27138],{"type":431,"value":27139},"    'Silver'",{"type":426,"tag":553,"props":27141,"children":27142},{"style":684},[27143],{"type":431,"value":10135},{"type":426,"tag":553,"props":27145,"children":27146},{"style":572},[27147],{"type":431,"value":27096},{"type":426,"tag":553,"props":27149,"children":27150},{"style":684},[27151],{"type":431,"value":700},{"type":426,"tag":553,"props":27153,"children":27154},{"style":566},[27155],{"type":431,"value":11233},{"type":426,"tag":553,"props":27157,"children":27158},{"style":684},[27159],{"type":431,"value":1907},{"type":426,"tag":553,"props":27161,"children":27162},{"style":572},[27163],{"type":431,"value":27113},{"type":426,"tag":553,"props":27165,"children":27166},{"style":684},[27167],{"type":431,"value":700},{"type":426,"tag":553,"props":27169,"children":27170},{"style":566},[27171],{"type":431,"value":27172},"1.5",{"type":426,"tag":553,"props":27174,"children":27175},{"style":684},[27176],{"type":431,"value":27177},"},   ",{"type":426,"tag":553,"props":27179,"children":27180},{"style":1975},[27181],{"type":431,"value":27182},"# 1.5 points per $1\n",{"type":426,"tag":553,"props":27184,"children":27185},{"class":555,"line":1114},[27186,27191,27195,27199,27203,27208,27212,27216,27220,27224,27229],{"type":426,"tag":553,"props":27187,"children":27188},{"style":572},[27189],{"type":431,"value":27190},"    'Gold'",{"type":426,"tag":553,"props":27192,"children":27193},{"style":684},[27194],{"type":431,"value":10135},{"type":426,"tag":553,"props":27196,"children":27197},{"style":572},[27198],{"type":431,"value":27096},{"type":426,"tag":553,"props":27200,"children":27201},{"style":684},[27202],{"type":431,"value":700},{"type":426,"tag":553,"props":27204,"children":27205},{"style":566},[27206],{"type":431,"value":27207},"2000",{"type":426,"tag":553,"props":27209,"children":27210},{"style":684},[27211],{"type":431,"value":1907},{"type":426,"tag":553,"props":27213,"children":27214},{"style":572},[27215],{"type":431,"value":27113},{"type":426,"tag":553,"props":27217,"children":27218},{"style":684},[27219],{"type":431,"value":700},{"type":426,"tag":553,"props":27221,"children":27222},{"style":566},[27223],{"type":431,"value":6533},{"type":426,"tag":553,"props":27225,"children":27226},{"style":684},[27227],{"type":431,"value":27228},"},      ",{"type":426,"tag":553,"props":27230,"children":27231},{"style":1975},[27232],{"type":431,"value":27233},"# 2 points per $1\n",{"type":426,"tag":553,"props":27235,"children":27236},{"class":555,"line":1127},[27237,27242,27246,27250,27254,27259,27263,27267,27271,27275,27280],{"type":426,"tag":553,"props":27238,"children":27239},{"style":572},[27240],{"type":431,"value":27241},"    'Platinum'",{"type":426,"tag":553,"props":27243,"children":27244},{"style":684},[27245],{"type":431,"value":10135},{"type":426,"tag":553,"props":27247,"children":27248},{"style":572},[27249],{"type":431,"value":27096},{"type":426,"tag":553,"props":27251,"children":27252},{"style":684},[27253],{"type":431,"value":700},{"type":426,"tag":553,"props":27255,"children":27256},{"style":566},[27257],{"type":431,"value":27258},"5000",{"type":426,"tag":553,"props":27260,"children":27261},{"style":684},[27262],{"type":431,"value":1907},{"type":426,"tag":553,"props":27264,"children":27265},{"style":572},[27266],{"type":431,"value":27113},{"type":426,"tag":553,"props":27268,"children":27269},{"style":684},[27270],{"type":431,"value":700},{"type":426,"tag":553,"props":27272,"children":27273},{"style":566},[27274],{"type":431,"value":1912},{"type":426,"tag":553,"props":27276,"children":27277},{"style":684},[27278],{"type":431,"value":27279},"},  ",{"type":426,"tag":553,"props":27281,"children":27282},{"style":1975},[27283],{"type":431,"value":27284},"# 3 points per $1\n",{"type":426,"tag":553,"props":27286,"children":27287},{"class":555,"line":1167},[27288],{"type":426,"tag":553,"props":27289,"children":27290},{"style":684},[27291],{"type":431,"value":756},{"type":426,"tag":553,"props":27293,"children":27294},{"class":555,"line":1184},[27295],{"type":426,"tag":553,"props":27296,"children":27297},{"emptyLinePlaceholder":831},[27298],{"type":431,"value":834},{"type":426,"tag":553,"props":27300,"children":27301},{"class":555,"line":1192},[27302,27306,27311,27316,27320,27324,27328],{"type":426,"tag":553,"props":27303,"children":27304},{"style":795},[27305],{"type":431,"value":842},{"type":426,"tag":553,"props":27307,"children":27308},{"style":560},[27309],{"type":431,"value":27310}," get_tier",{"type":426,"tag":553,"props":27312,"children":27313},{"style":684},[27314],{"type":431,"value":27315},"(total_points: ",{"type":426,"tag":553,"props":27317,"children":27318},{"style":566},[27319],{"type":431,"value":885},{"type":426,"tag":553,"props":27321,"children":27322},{"style":684},[27323],{"type":431,"value":900},{"type":426,"tag":553,"props":27325,"children":27326},{"style":566},[27327],{"type":431,"value":895},{"type":426,"tag":553,"props":27329,"children":27330},{"style":684},[27331],{"type":431,"value":909},{"type":426,"tag":553,"props":27333,"children":27334},{"class":555,"line":1210},[27335],{"type":426,"tag":553,"props":27336,"children":27337},{"style":572},[27338],{"type":431,"value":27339},"    \"\"\"Determine loyalty tier based on total points.\"\"\"\n",{"type":426,"tag":553,"props":27341,"children":27342},{"class":555,"line":1253},[27343,27347,27352,27356,27360],{"type":426,"tag":553,"props":27344,"children":27345},{"style":795},[27346],{"type":431,"value":925},{"type":426,"tag":553,"props":27348,"children":27349},{"style":684},[27350],{"type":431,"value":27351}," total_points ",{"type":426,"tag":553,"props":27353,"children":27354},{"style":795},[27355],{"type":431,"value":9126},{"type":426,"tag":553,"props":27357,"children":27358},{"style":566},[27359],{"type":431,"value":15768},{"type":426,"tag":553,"props":27361,"children":27362},{"style":684},[27363],{"type":431,"value":909},{"type":426,"tag":553,"props":27365,"children":27366},{"class":555,"line":1302},[27367,27371],{"type":426,"tag":553,"props":27368,"children":27369},{"style":795},[27370],{"type":431,"value":8378},{"type":426,"tag":553,"props":27372,"children":27373},{"style":572},[27374],{"type":431,"value":27375}," 'Platinum'\n",{"type":426,"tag":553,"props":27377,"children":27378},{"class":555,"line":1374},[27379,27383,27387,27391,27396],{"type":426,"tag":553,"props":27380,"children":27381},{"style":795},[27382],{"type":431,"value":1060},{"type":426,"tag":553,"props":27384,"children":27385},{"style":684},[27386],{"type":431,"value":27351},{"type":426,"tag":553,"props":27388,"children":27389},{"style":795},[27390],{"type":431,"value":9126},{"type":426,"tag":553,"props":27392,"children":27393},{"style":566},[27394],{"type":431,"value":27395}," 2000",{"type":426,"tag":553,"props":27397,"children":27398},{"style":684},[27399],{"type":431,"value":909},{"type":426,"tag":553,"props":27401,"children":27402},{"class":555,"line":1414},[27403,27407],{"type":426,"tag":553,"props":27404,"children":27405},{"style":795},[27406],{"type":431,"value":8378},{"type":426,"tag":553,"props":27408,"children":27409},{"style":572},[27410],{"type":431,"value":27411}," 'Gold'\n",{"type":426,"tag":553,"props":27413,"children":27414},{"class":555,"line":1479},[27415,27419,27423,27427,27431],{"type":426,"tag":553,"props":27416,"children":27417},{"style":795},[27418],{"type":431,"value":1060},{"type":426,"tag":553,"props":27420,"children":27421},{"style":684},[27422],{"type":431,"value":27351},{"type":426,"tag":553,"props":27424,"children":27425},{"style":795},[27426],{"type":431,"value":9126},{"type":426,"tag":553,"props":27428,"children":27429},{"style":566},[27430],{"type":431,"value":9131},{"type":426,"tag":553,"props":27432,"children":27433},{"style":684},[27434],{"type":431,"value":909},{"type":426,"tag":553,"props":27436,"children":27437},{"class":555,"line":1517},[27438,27442],{"type":426,"tag":553,"props":27439,"children":27440},{"style":795},[27441],{"type":431,"value":8378},{"type":426,"tag":553,"props":27443,"children":27444},{"style":572},[27445],{"type":431,"value":27446}," 'Silver'\n",{"type":426,"tag":553,"props":27448,"children":27449},{"class":555,"line":1560},[27450,27454],{"type":426,"tag":553,"props":27451,"children":27452},{"style":795},[27453],{"type":431,"value":1659},{"type":426,"tag":553,"props":27455,"children":27456},{"style":572},[27457],{"type":431,"value":27458}," 'Bronze'\n",{"type":426,"tag":553,"props":27460,"children":27461},{"class":555,"line":1598},[27462],{"type":426,"tag":553,"props":27463,"children":27464},{"emptyLinePlaceholder":831},[27465],{"type":431,"value":834},{"type":426,"tag":553,"props":27467,"children":27468},{"class":555,"line":1636},[27469,27473,27478,27483,27487,27492,27496,27501,27505],{"type":426,"tag":553,"props":27470,"children":27471},{"style":795},[27472],{"type":431,"value":842},{"type":426,"tag":553,"props":27474,"children":27475},{"style":560},[27476],{"type":431,"value":27477}," award_points",{"type":426,"tag":553,"props":27479,"children":27480},{"style":684},[27481],{"type":431,"value":27482},"(customer_id: ",{"type":426,"tag":553,"props":27484,"children":27485},{"style":566},[27486],{"type":431,"value":895},{"type":426,"tag":553,"props":27488,"children":27489},{"style":684},[27490],{"type":431,"value":27491},", order_amount: Decimal, order_id: ",{"type":426,"tag":553,"props":27493,"children":27494},{"style":566},[27495],{"type":431,"value":895},{"type":426,"tag":553,"props":27497,"children":27498},{"style":684},[27499],{"type":431,"value":27500},", db) -> ",{"type":426,"tag":553,"props":27502,"children":27503},{"style":566},[27504],{"type":431,"value":857},{"type":426,"tag":553,"props":27506,"children":27507},{"style":684},[27508],{"type":431,"value":909},{"type":426,"tag":553,"props":27510,"children":27511},{"class":555,"line":1645},[27512],{"type":426,"tag":553,"props":27513,"children":27514},{"style":572},[27515],{"type":431,"value":2673},{"type":426,"tag":553,"props":27517,"children":27518},{"class":555,"line":1653},[27519],{"type":426,"tag":553,"props":27520,"children":27521},{"style":572},[27522],{"type":431,"value":27523},"    Award loyalty points for a purchase.\n",{"type":426,"tag":553,"props":27525,"children":27526},{"class":555,"line":1667},[27527],{"type":426,"tag":553,"props":27528,"children":27529},{"style":572},[27530],{"type":431,"value":27531},"    Returns updated member data and whether a tier upgrade occurred.\n",{"type":426,"tag":553,"props":27533,"children":27534},{"class":555,"line":1680},[27535],{"type":426,"tag":553,"props":27536,"children":27537},{"style":572},[27538],{"type":431,"value":2673},{"type":426,"tag":553,"props":27540,"children":27541},{"class":555,"line":1740},[27542],{"type":426,"tag":553,"props":27543,"children":27544},{"style":1975},[27545],{"type":431,"value":27546},"    # Get current member data\n",{"type":426,"tag":553,"props":27548,"children":27549},{"class":555,"line":1787},[27550,27555,27559],{"type":426,"tag":553,"props":27551,"children":27552},{"style":684},[27553],{"type":431,"value":27554},"    member ",{"type":426,"tag":553,"props":27556,"children":27557},{"style":795},[27558],{"type":431,"value":957},{"type":426,"tag":553,"props":27560,"children":27561},{"style":684},[27562],{"type":431,"value":27563}," db.fetchone(\n",{"type":426,"tag":553,"props":27565,"children":27566},{"class":555,"line":1796},[27567,27572,27576,27580],{"type":426,"tag":553,"props":27568,"children":27569},{"style":572},[27570],{"type":431,"value":27571},"        \"SELECT * FROM loyalty_members WHERE customer_id = ",{"type":426,"tag":553,"props":27573,"children":27574},{"style":566},[27575],{"type":431,"value":2143},{"type":426,"tag":553,"props":27577,"children":27578},{"style":572},[27579],{"type":431,"value":1527},{"type":426,"tag":553,"props":27581,"children":27582},{"style":684},[27583],{"type":431,"value":710},{"type":426,"tag":553,"props":27585,"children":27586},{"class":555,"line":1804},[27587],{"type":426,"tag":553,"props":27588,"children":27589},{"style":684},[27590],{"type":431,"value":27591},"        [customer_id]\n",{"type":426,"tag":553,"props":27593,"children":27594},{"class":555,"line":1812},[27595],{"type":426,"tag":553,"props":27596,"children":27597},{"style":684},[27598],{"type":431,"value":1642},{"type":426,"tag":553,"props":27600,"children":27601},{"class":555,"line":1847},[27602],{"type":426,"tag":553,"props":27603,"children":27604},{"style":684},[27605],{"type":431,"value":917},{"type":426,"tag":553,"props":27607,"children":27608},{"class":555,"line":1856},[27609,27613,27617],{"type":426,"tag":553,"props":27610,"children":27611},{"style":795},[27612],{"type":431,"value":925},{"type":426,"tag":553,"props":27614,"children":27615},{"style":795},[27616],{"type":431,"value":12110},{"type":426,"tag":553,"props":27618,"children":27619},{"style":684},[27620],{"type":431,"value":27621}," member:\n",{"type":426,"tag":553,"props":27623,"children":27624},{"class":555,"line":1874},[27625,27629,27633,27637,27641,27646],{"type":426,"tag":553,"props":27626,"children":27627},{"style":795},[27628],{"type":431,"value":8378},{"type":426,"tag":553,"props":27630,"children":27631},{"style":684},[27632],{"type":431,"value":1450},{"type":426,"tag":553,"props":27634,"children":27635},{"style":572},[27636],{"type":431,"value":13699},{"type":426,"tag":553,"props":27638,"children":27639},{"style":684},[27640],{"type":431,"value":700},{"type":426,"tag":553,"props":27642,"children":27643},{"style":572},[27644],{"type":431,"value":27645},"'Member not found'",{"type":426,"tag":553,"props":27647,"children":27648},{"style":684},[27649],{"type":431,"value":756},{"type":426,"tag":553,"props":27651,"children":27652},{"class":555,"line":1882},[27653],{"type":426,"tag":553,"props":27654,"children":27655},{"style":684},[27656],{"type":431,"value":917},{"type":426,"tag":553,"props":27658,"children":27659},{"class":555,"line":1981},[27660,27665,27669,27674,27679,27684,27689,27693],{"type":426,"tag":553,"props":27661,"children":27662},{"style":684},[27663],{"type":431,"value":27664},"    earn_rate ",{"type":426,"tag":553,"props":27666,"children":27667},{"style":795},[27668],{"type":431,"value":957},{"type":426,"tag":553,"props":27670,"children":27671},{"style":566},[27672],{"type":431,"value":27673}," TIERS",{"type":426,"tag":553,"props":27675,"children":27676},{"style":684},[27677],{"type":431,"value":27678},"[member[",{"type":426,"tag":553,"props":27680,"children":27681},{"style":572},[27682],{"type":431,"value":27683},"'tier'",{"type":426,"tag":553,"props":27685,"children":27686},{"style":684},[27687],{"type":431,"value":27688},"]][",{"type":426,"tag":553,"props":27690,"children":27691},{"style":572},[27692],{"type":431,"value":27113},{"type":426,"tag":553,"props":27694,"children":27695},{"style":684},[27696],{"type":431,"value":16523},{"type":426,"tag":553,"props":27698,"children":27699},{"class":555,"line":1989},[27700,27704,27708,27712,27716,27720,27725,27729],{"type":426,"tag":553,"props":27701,"children":27702},{"style":684},[27703],{"type":431,"value":26748},{"type":426,"tag":553,"props":27705,"children":27706},{"style":795},[27707],{"type":431,"value":957},{"type":426,"tag":553,"props":27709,"children":27710},{"style":566},[27711],{"type":431,"value":22011},{"type":426,"tag":553,"props":27713,"children":27714},{"style":684},[27715],{"type":431,"value":3275},{"type":426,"tag":553,"props":27717,"children":27718},{"style":566},[27719],{"type":431,"value":15693},{"type":426,"tag":553,"props":27721,"children":27722},{"style":684},[27723],{"type":431,"value":27724},"(order_amount) ",{"type":426,"tag":553,"props":27726,"children":27727},{"style":795},[27728],{"type":431,"value":5801},{"type":426,"tag":553,"props":27730,"children":27731},{"style":684},[27732],{"type":431,"value":27733}," earn_rate)\n",{"type":426,"tag":553,"props":27735,"children":27736},{"class":555,"line":2013},[27737,27742,27746,27751,27756,27760,27764],{"type":426,"tag":553,"props":27738,"children":27739},{"style":684},[27740],{"type":431,"value":27741},"    new_total ",{"type":426,"tag":553,"props":27743,"children":27744},{"style":795},[27745],{"type":431,"value":957},{"type":426,"tag":553,"props":27747,"children":27748},{"style":684},[27749],{"type":431,"value":27750}," member[",{"type":426,"tag":553,"props":27752,"children":27753},{"style":572},[27754],{"type":431,"value":27755},"'total_points'",{"type":426,"tag":553,"props":27757,"children":27758},{"style":684},[27759],{"type":431,"value":2229},{"type":426,"tag":553,"props":27761,"children":27762},{"style":795},[27763],{"type":431,"value":2033},{"type":426,"tag":553,"props":27765,"children":27766},{"style":684},[27767],{"type":431,"value":27768}," points_earned\n",{"type":426,"tag":553,"props":27770,"children":27771},{"class":555,"line":2055},[27772,27777,27781,27785,27789],{"type":426,"tag":553,"props":27773,"children":27774},{"style":684},[27775],{"type":431,"value":27776},"    old_tier ",{"type":426,"tag":553,"props":27778,"children":27779},{"style":795},[27780],{"type":431,"value":957},{"type":426,"tag":553,"props":27782,"children":27783},{"style":684},[27784],{"type":431,"value":27750},{"type":426,"tag":553,"props":27786,"children":27787},{"style":572},[27788],{"type":431,"value":27683},{"type":426,"tag":553,"props":27790,"children":27791},{"style":684},[27792],{"type":431,"value":16523},{"type":426,"tag":553,"props":27794,"children":27795},{"class":555,"line":2064},[27796,27801,27805],{"type":426,"tag":553,"props":27797,"children":27798},{"style":684},[27799],{"type":431,"value":27800},"    new_tier ",{"type":426,"tag":553,"props":27802,"children":27803},{"style":795},[27804],{"type":431,"value":957},{"type":426,"tag":553,"props":27806,"children":27807},{"style":684},[27808],{"type":431,"value":27809}," get_tier(new_total)\n",{"type":426,"tag":553,"props":27811,"children":27812},{"class":555,"line":2087},[27813],{"type":426,"tag":553,"props":27814,"children":27815},{"style":684},[27816],{"type":431,"value":917},{"type":426,"tag":553,"props":27818,"children":27819},{"class":555,"line":2096},[27820],{"type":426,"tag":553,"props":27821,"children":27822},{"style":1975},[27823],{"type":431,"value":27824},"    # Update database\n",{"type":426,"tag":553,"props":27826,"children":27827},{"class":555,"line":2105},[27828,27833],{"type":426,"tag":553,"props":27829,"children":27830},{"style":684},[27831],{"type":431,"value":27832},"    db.execute(",{"type":426,"tag":553,"props":27834,"children":27835},{"style":572},[27836],{"type":431,"value":2084},{"type":426,"tag":553,"props":27838,"children":27839},{"class":555,"line":2114},[27840],{"type":426,"tag":553,"props":27841,"children":27842},{"style":572},[27843],{"type":431,"value":27844},"        UPDATE loyalty_members \n",{"type":426,"tag":553,"props":27846,"children":27847},{"class":555,"line":2123},[27848,27853,27857,27862,27866,27871,27875],{"type":426,"tag":553,"props":27849,"children":27850},{"style":572},[27851],{"type":431,"value":27852},"        SET total_points = ",{"type":426,"tag":553,"props":27854,"children":27855},{"style":566},[27856],{"type":431,"value":2143},{"type":426,"tag":553,"props":27858,"children":27859},{"style":572},[27860],{"type":431,"value":27861},", tier = ",{"type":426,"tag":553,"props":27863,"children":27864},{"style":566},[27865],{"type":431,"value":2143},{"type":426,"tag":553,"props":27867,"children":27868},{"style":572},[27869],{"type":431,"value":27870},", total_spend = total_spend + ",{"type":426,"tag":553,"props":27872,"children":27873},{"style":566},[27874],{"type":431,"value":2143},{"type":426,"tag":553,"props":27876,"children":27877},{"style":572},[27878],{"type":431,"value":710},{"type":426,"tag":553,"props":27880,"children":27881},{"class":555,"line":2132},[27882],{"type":426,"tag":553,"props":27883,"children":27884},{"style":572},[27885],{"type":431,"value":27886},"            last_activity = NOW()\n",{"type":426,"tag":553,"props":27888,"children":27889},{"class":555,"line":2151},[27890,27895],{"type":426,"tag":553,"props":27891,"children":27892},{"style":572},[27893],{"type":431,"value":27894},"        WHERE customer_id = ",{"type":426,"tag":553,"props":27896,"children":27897},{"style":566},[27898],{"type":431,"value":15490},{"type":426,"tag":553,"props":27900,"children":27901},{"class":555,"line":2160},[27902,27906,27911,27915],{"type":426,"tag":553,"props":27903,"children":27904},{"style":572},[27905],{"type":431,"value":15510},{"type":426,"tag":553,"props":27907,"children":27908},{"style":684},[27909],{"type":431,"value":27910},", [new_total, new_tier, ",{"type":426,"tag":553,"props":27912,"children":27913},{"style":566},[27914],{"type":431,"value":15693},{"type":426,"tag":553,"props":27916,"children":27917},{"style":684},[27918],{"type":431,"value":27919},"(order_amount), customer_id])\n",{"type":426,"tag":553,"props":27921,"children":27922},{"class":555,"line":2174},[27923],{"type":426,"tag":553,"props":27924,"children":27925},{"style":684},[27926],{"type":431,"value":917},{"type":426,"tag":553,"props":27928,"children":27929},{"class":555,"line":2182},[27930],{"type":426,"tag":553,"props":27931,"children":27932},{"style":1975},[27933],{"type":431,"value":27934},"    # Log transaction\n",{"type":426,"tag":553,"props":27936,"children":27937},{"class":555,"line":2205},[27938,27942],{"type":426,"tag":553,"props":27939,"children":27940},{"style":684},[27941],{"type":431,"value":27832},{"type":426,"tag":553,"props":27943,"children":27944},{"style":572},[27945],{"type":431,"value":2084},{"type":426,"tag":553,"props":27947,"children":27948},{"class":555,"line":2241},[27949],{"type":426,"tag":553,"props":27950,"children":27951},{"style":572},[27952],{"type":431,"value":27953},"        INSERT INTO loyalty_transactions \n",{"type":426,"tag":553,"props":27955,"children":27956},{"class":555,"line":2250},[27957],{"type":426,"tag":553,"props":27958,"children":27959},{"style":572},[27960],{"type":431,"value":27961},"        (customer_id, order_id, points_earned, balance_after, transaction_type, description)\n",{"type":426,"tag":553,"props":27963,"children":27964},{"class":555,"line":2302},[27965,27970,27974,27978,27982,27986,27990,27994,27998,28003,28007],{"type":426,"tag":553,"props":27966,"children":27967},{"style":572},[27968],{"type":431,"value":27969},"        VALUES (",{"type":426,"tag":553,"props":27971,"children":27972},{"style":566},[27973],{"type":431,"value":2143},{"type":426,"tag":553,"props":27975,"children":27976},{"style":572},[27977],{"type":431,"value":1907},{"type":426,"tag":553,"props":27979,"children":27980},{"style":566},[27981],{"type":431,"value":2143},{"type":426,"tag":553,"props":27983,"children":27984},{"style":572},[27985],{"type":431,"value":1907},{"type":426,"tag":553,"props":27987,"children":27988},{"style":566},[27989],{"type":431,"value":2143},{"type":426,"tag":553,"props":27991,"children":27992},{"style":572},[27993],{"type":431,"value":1907},{"type":426,"tag":553,"props":27995,"children":27996},{"style":566},[27997],{"type":431,"value":2143},{"type":426,"tag":553,"props":27999,"children":28000},{"style":572},[28001],{"type":431,"value":28002},", 'purchase', ",{"type":426,"tag":553,"props":28004,"children":28005},{"style":566},[28006],{"type":431,"value":2143},{"type":426,"tag":553,"props":28008,"children":28009},{"style":572},[28010],{"type":431,"value":3262},{"type":426,"tag":553,"props":28012,"children":28013},{"class":555,"line":2353},[28014,28018,28023,28027,28032,28036,28041,28045,28049],{"type":426,"tag":553,"props":28015,"children":28016},{"style":572},[28017],{"type":431,"value":15510},{"type":426,"tag":553,"props":28019,"children":28020},{"style":684},[28021],{"type":431,"value":28022},", [customer_id, order_id, points_earned, new_total, ",{"type":426,"tag":553,"props":28024,"children":28025},{"style":795},[28026],{"type":431,"value":1709},{"type":426,"tag":553,"props":28028,"children":28029},{"style":572},[28030],{"type":431,"value":28031},"\"Purchase $",{"type":426,"tag":553,"props":28033,"children":28034},{"style":566},[28035],{"type":431,"value":972},{"type":426,"tag":553,"props":28037,"children":28038},{"style":684},[28039],{"type":431,"value":28040},"order_amount",{"type":426,"tag":553,"props":28042,"children":28043},{"style":566},[28044],{"type":431,"value":982},{"type":426,"tag":553,"props":28046,"children":28047},{"style":572},[28048],{"type":431,"value":1527},{"type":426,"tag":553,"props":28050,"children":28051},{"style":684},[28052],{"type":431,"value":8061},{"type":426,"tag":553,"props":28054,"children":28055},{"class":555,"line":2390},[28056],{"type":426,"tag":553,"props":28057,"children":28058},{"style":684},[28059],{"type":431,"value":917},{"type":426,"tag":553,"props":28061,"children":28062},{"class":555,"line":2440},[28063],{"type":426,"tag":553,"props":28064,"children":28065},{"style":1975},[28066],{"type":431,"value":28067},"    # Send WhatsApp notification\n",{"type":426,"tag":553,"props":28069,"children":28070},{"class":555,"line":2488},[28071,28076,28080,28085,28089],{"type":426,"tag":553,"props":28072,"children":28073},{"style":684},[28074],{"type":431,"value":28075},"    tier_upgraded ",{"type":426,"tag":553,"props":28077,"children":28078},{"style":795},[28079],{"type":431,"value":957},{"type":426,"tag":553,"props":28081,"children":28082},{"style":684},[28083],{"type":431,"value":28084}," new_tier ",{"type":426,"tag":553,"props":28086,"children":28087},{"style":795},[28088],{"type":431,"value":15114},{"type":426,"tag":553,"props":28090,"children":28091},{"style":684},[28092],{"type":431,"value":28093}," old_tier\n",{"type":426,"tag":553,"props":28095,"children":28096},{"class":555,"line":2509},[28097],{"type":426,"tag":553,"props":28098,"children":28099},{"style":684},[28100],{"type":431,"value":28101},"    send_points_notification(\n",{"type":426,"tag":553,"props":28103,"children":28104},{"class":555,"line":2527},[28105,28110,28114],{"type":426,"tag":553,"props":28106,"children":28107},{"style":1684},[28108],{"type":431,"value":28109},"        member",{"type":426,"tag":553,"props":28111,"children":28112},{"style":795},[28113],{"type":431,"value":957},{"type":426,"tag":553,"props":28115,"children":28116},{"style":684},[28117],{"type":431,"value":28118},"member,\n",{"type":426,"tag":553,"props":28120,"children":28121},{"class":555,"line":2545},[28122,28127,28131],{"type":426,"tag":553,"props":28123,"children":28124},{"style":1684},[28125],{"type":431,"value":28126},"        points_earned",{"type":426,"tag":553,"props":28128,"children":28129},{"style":795},[28130],{"type":431,"value":957},{"type":426,"tag":553,"props":28132,"children":28133},{"style":684},[28134],{"type":431,"value":28135},"points_earned,\n",{"type":426,"tag":553,"props":28137,"children":28138},{"class":555,"line":12991},[28139,28144,28148],{"type":426,"tag":553,"props":28140,"children":28141},{"style":1684},[28142],{"type":431,"value":28143},"        new_total",{"type":426,"tag":553,"props":28145,"children":28146},{"style":795},[28147],{"type":431,"value":957},{"type":426,"tag":553,"props":28149,"children":28150},{"style":684},[28151],{"type":431,"value":28152},"new_total,\n",{"type":426,"tag":553,"props":28154,"children":28155},{"class":555,"line":13004},[28156,28161,28165],{"type":426,"tag":553,"props":28157,"children":28158},{"style":1684},[28159],{"type":431,"value":28160},"        new_tier",{"type":426,"tag":553,"props":28162,"children":28163},{"style":795},[28164],{"type":431,"value":957},{"type":426,"tag":553,"props":28166,"children":28167},{"style":684},[28168],{"type":431,"value":28169},"new_tier,\n",{"type":426,"tag":553,"props":28171,"children":28172},{"class":555,"line":13012},[28173,28178,28182],{"type":426,"tag":553,"props":28174,"children":28175},{"style":1684},[28176],{"type":431,"value":28177},"        tier_upgraded",{"type":426,"tag":553,"props":28179,"children":28180},{"style":795},[28181],{"type":431,"value":957},{"type":426,"tag":553,"props":28183,"children":28184},{"style":684},[28185],{"type":431,"value":28186},"tier_upgraded\n",{"type":426,"tag":553,"props":28188,"children":28189},{"class":555,"line":13025},[28190],{"type":426,"tag":553,"props":28191,"children":28192},{"style":684},[28193],{"type":431,"value":1642},{"type":426,"tag":553,"props":28195,"children":28196},{"class":555,"line":13033},[28197],{"type":426,"tag":553,"props":28198,"children":28199},{"style":684},[28200],{"type":431,"value":917},{"type":426,"tag":553,"props":28202,"children":28203},{"class":555,"line":13069},[28204,28208],{"type":426,"tag":553,"props":28205,"children":28206},{"style":795},[28207],{"type":431,"value":1659},{"type":426,"tag":553,"props":28209,"children":28210},{"style":684},[28211],{"type":431,"value":5458},{"type":426,"tag":553,"props":28213,"children":28214},{"class":555,"line":13089},[28215,28220],{"type":426,"tag":553,"props":28216,"children":28217},{"style":572},[28218],{"type":431,"value":28219},"        'points_earned'",{"type":426,"tag":553,"props":28221,"children":28222},{"style":684},[28223],{"type":431,"value":28224},": points_earned,\n",{"type":426,"tag":553,"props":28226,"children":28227},{"class":555,"line":13102},[28228,28233],{"type":426,"tag":553,"props":28229,"children":28230},{"style":572},[28231],{"type":431,"value":28232},"        'new_balance'",{"type":426,"tag":553,"props":28234,"children":28235},{"style":684},[28236],{"type":431,"value":28237},": new_total,\n",{"type":426,"tag":553,"props":28239,"children":28240},{"class":555,"line":13111},[28241,28246],{"type":426,"tag":553,"props":28242,"children":28243},{"style":572},[28244],{"type":431,"value":28245},"        'tier'",{"type":426,"tag":553,"props":28247,"children":28248},{"style":684},[28249],{"type":431,"value":28250},": new_tier,\n",{"type":426,"tag":553,"props":28252,"children":28253},{"class":555,"line":13120},[28254,28259],{"type":426,"tag":553,"props":28255,"children":28256},{"style":572},[28257],{"type":431,"value":28258},"        'tier_upgraded'",{"type":426,"tag":553,"props":28260,"children":28261},{"style":684},[28262],{"type":431,"value":28263},": tier_upgraded\n",{"type":426,"tag":553,"props":28265,"children":28266},{"class":555,"line":13129},[28267],{"type":426,"tag":553,"props":28268,"children":28269},{"style":684},[28270],{"type":431,"value":5546},{"type":426,"tag":553,"props":28272,"children":28273},{"class":555,"line":13174},[28274],{"type":426,"tag":553,"props":28275,"children":28276},{"emptyLinePlaceholder":831},[28277],{"type":431,"value":834},{"type":426,"tag":553,"props":28279,"children":28280},{"class":555,"line":13205},[28281,28285,28290,28295,28299,28304,28308,28313,28317],{"type":426,"tag":553,"props":28282,"children":28283},{"style":795},[28284],{"type":431,"value":842},{"type":426,"tag":553,"props":28286,"children":28287},{"style":560},[28288],{"type":431,"value":28289}," send_points_notification",{"type":426,"tag":553,"props":28291,"children":28292},{"style":684},[28293],{"type":431,"value":28294},"(member: ",{"type":426,"tag":553,"props":28296,"children":28297},{"style":566},[28298],{"type":431,"value":857},{"type":426,"tag":553,"props":28300,"children":28301},{"style":684},[28302],{"type":431,"value":28303},", points_earned: ",{"type":426,"tag":553,"props":28305,"children":28306},{"style":566},[28307],{"type":431,"value":885},{"type":426,"tag":553,"props":28309,"children":28310},{"style":684},[28311],{"type":431,"value":28312},", new_total: ",{"type":426,"tag":553,"props":28314,"children":28315},{"style":566},[28316],{"type":431,"value":885},{"type":426,"tag":553,"props":28318,"children":28319},{"style":684},[28320],{"type":431,"value":17901},{"type":426,"tag":553,"props":28322,"children":28323},{"class":555,"line":13218},[28324,28329,28333,28338,28343,28347,28351],{"type":426,"tag":553,"props":28325,"children":28326},{"style":684},[28327],{"type":431,"value":28328},"                             new_tier: ",{"type":426,"tag":553,"props":28330,"children":28331},{"style":566},[28332],{"type":431,"value":895},{"type":426,"tag":553,"props":28334,"children":28335},{"style":684},[28336],{"type":431,"value":28337},", tier_upgraded: ",{"type":426,"tag":553,"props":28339,"children":28340},{"style":566},[28341],{"type":431,"value":28342},"bool",{"type":426,"tag":553,"props":28344,"children":28345},{"style":684},[28346],{"type":431,"value":900},{"type":426,"tag":553,"props":28348,"children":28349},{"style":566},[28350],{"type":431,"value":857},{"type":426,"tag":553,"props":28352,"children":28353},{"style":684},[28354],{"type":431,"value":909},{"type":426,"tag":553,"props":28356,"children":28357},{"class":555,"line":20616},[28358],{"type":426,"tag":553,"props":28359,"children":28360},{"style":572},[28361],{"type":431,"value":28362},"    \"\"\"Send WhatsApp loyalty update to customer.\"\"\"\n",{"type":426,"tag":553,"props":28364,"children":28365},{"class":555,"line":20637},[28366],{"type":426,"tag":553,"props":28367,"children":28368},{"style":684},[28369],{"type":431,"value":917},{"type":426,"tag":553,"props":28371,"children":28372},{"class":555,"line":20650},[28373,28377],{"type":426,"tag":553,"props":28374,"children":28375},{"style":795},[28376],{"type":431,"value":925},{"type":426,"tag":553,"props":28378,"children":28379},{"style":684},[28380],{"type":431,"value":28381}," tier_upgraded:\n",{"type":426,"tag":553,"props":28383,"children":28384},{"class":555,"line":20658},[28385,28389,28393,28398,28402],{"type":426,"tag":553,"props":28386,"children":28387},{"style":684},[28388],{"type":431,"value":5864},{"type":426,"tag":553,"props":28390,"children":28391},{"style":795},[28392],{"type":431,"value":957},{"type":426,"tag":553,"props":28394,"children":28395},{"style":684},[28396],{"type":431,"value":28397}," build_tier_upgrade_message(member[",{"type":426,"tag":553,"props":28399,"children":28400},{"style":572},[28401],{"type":431,"value":1277},{"type":426,"tag":553,"props":28403,"children":28404},{"style":684},[28405],{"type":431,"value":28406},"], new_tier, new_total)\n",{"type":426,"tag":553,"props":28408,"children":28409},{"class":555,"line":20666},[28410,28414],{"type":426,"tag":553,"props":28411,"children":28412},{"style":795},[28413],{"type":431,"value":1120},{"type":426,"tag":553,"props":28415,"children":28416},{"style":684},[28417],{"type":431,"value":909},{"type":426,"tag":553,"props":28419,"children":28420},{"class":555,"line":20675},[28421,28425,28429],{"type":426,"tag":553,"props":28422,"children":28423},{"style":684},[28424],{"type":431,"value":5864},{"type":426,"tag":553,"props":28426,"children":28427},{"style":795},[28428],{"type":431,"value":957},{"type":426,"tag":553,"props":28430,"children":28431},{"style":684},[28432],{"type":431,"value":28433}," build_points_earned_message(\n",{"type":426,"tag":553,"props":28435,"children":28436},{"class":555,"line":20684},[28437,28442,28446],{"type":426,"tag":553,"props":28438,"children":28439},{"style":684},[28440],{"type":431,"value":28441},"            member[",{"type":426,"tag":553,"props":28443,"children":28444},{"style":572},[28445],{"type":431,"value":1277},{"type":426,"tag":553,"props":28447,"children":28448},{"style":684},[28449],{"type":431,"value":28450},"], points_earned, new_total, new_tier\n",{"type":426,"tag":553,"props":28452,"children":28453},{"class":555,"line":20692},[28454],{"type":426,"tag":553,"props":28455,"children":28456},{"style":684},[28457],{"type":431,"value":6037},{"type":426,"tag":553,"props":28459,"children":28460},{"class":555,"line":20720},[28461],{"type":426,"tag":553,"props":28462,"children":28463},{"style":684},[28464],{"type":431,"value":917},{"type":426,"tag":553,"props":28466,"children":28467},{"class":555,"line":20728},[28468,28472],{"type":426,"tag":553,"props":28469,"children":28470},{"style":795},[28471],{"type":431,"value":1659},{"type":426,"tag":553,"props":28473,"children":28474},{"style":684},[28475],{"type":431,"value":1664},{"type":426,"tag":553,"props":28477,"children":28478},{"class":555,"line":20736},[28479,28483],{"type":426,"tag":553,"props":28480,"children":28481},{"style":572},[28482],{"type":431,"value":1673},{"type":426,"tag":553,"props":28484,"children":28485},{"style":684},[28486],{"type":431,"value":710},{"type":426,"tag":553,"props":28488,"children":28489},{"class":555,"line":20777},[28490,28494,28498,28502,28506,28510,28514,28518,28522,28526],{"type":426,"tag":553,"props":28491,"children":28492},{"style":1684},[28493],{"type":431,"value":1687},{"type":426,"tag":553,"props":28495,"children":28496},{"style":795},[28497],{"type":431,"value":957},{"type":426,"tag":553,"props":28499,"children":28500},{"style":684},[28501],{"type":431,"value":972},{"type":426,"tag":553,"props":28503,"children":28504},{"style":572},[28505],{"type":431,"value":1700},{"type":426,"tag":553,"props":28507,"children":28508},{"style":684},[28509],{"type":431,"value":700},{"type":426,"tag":553,"props":28511,"children":28512},{"style":795},[28513],{"type":431,"value":1709},{"type":426,"tag":553,"props":28515,"children":28516},{"style":572},[28517],{"type":431,"value":1714},{"type":426,"tag":553,"props":28519,"children":28520},{"style":566},[28521],{"type":431,"value":20835},{"type":426,"tag":553,"props":28523,"children":28524},{"style":572},[28525],{"type":431,"value":1732},{"type":426,"tag":553,"props":28527,"children":28528},{"style":684},[28529],{"type":431,"value":1737},{"type":426,"tag":553,"props":28531,"children":28532},{"class":555,"line":20789},[28533,28537,28541,28545,28549,28554,28558,28562,28566],{"type":426,"tag":553,"props":28534,"children":28535},{"style":1684},[28536],{"type":431,"value":1746},{"type":426,"tag":553,"props":28538,"children":28539},{"style":795},[28540],{"type":431,"value":957},{"type":426,"tag":553,"props":28542,"children":28543},{"style":684},[28544],{"type":431,"value":972},{"type":426,"tag":553,"props":28546,"children":28547},{"style":572},[28548],{"type":431,"value":1759},{"type":426,"tag":553,"props":28550,"children":28551},{"style":684},[28552],{"type":431,"value":28553},": member[",{"type":426,"tag":553,"props":28555,"children":28556},{"style":572},[28557],{"type":431,"value":1769},{"type":426,"tag":553,"props":28559,"children":28560},{"style":684},[28561],{"type":431,"value":1774},{"type":426,"tag":553,"props":28563,"children":28564},{"style":572},[28565],{"type":431,"value":1779},{"type":426,"tag":553,"props":28567,"children":28568},{"style":684},[28569],{"type":431,"value":1784},{"type":426,"tag":553,"props":28571,"children":28572},{"class":555,"line":20801},[28573],{"type":426,"tag":553,"props":28574,"children":28575},{"style":684},[28576],{"type":431,"value":1793},{"type":426,"tag":553,"props":28578,"children":28579},{"class":555,"line":20846},[28580],{"type":426,"tag":553,"props":28581,"children":28582},{"emptyLinePlaceholder":831},[28583],{"type":431,"value":834},{"type":426,"tag":553,"props":28585,"children":28586},{"class":555,"line":20878},[28587,28591,28596,28600,28604,28608,28612],{"type":426,"tag":553,"props":28588,"children":28589},{"style":795},[28590],{"type":431,"value":842},{"type":426,"tag":553,"props":28592,"children":28593},{"style":560},[28594],{"type":431,"value":28595}," build_points_earned_message",{"type":426,"tag":553,"props":28597,"children":28598},{"style":684},[28599],{"type":431,"value":24313},{"type":426,"tag":553,"props":28601,"children":28602},{"style":566},[28603],{"type":431,"value":895},{"type":426,"tag":553,"props":28605,"children":28606},{"style":684},[28607],{"type":431,"value":28303},{"type":426,"tag":553,"props":28609,"children":28610},{"style":566},[28611],{"type":431,"value":885},{"type":426,"tag":553,"props":28613,"children":28614},{"style":684},[28615],{"type":431,"value":17901},{"type":426,"tag":553,"props":28617,"children":28618},{"class":555,"line":24807},[28619,28624,28628,28633,28637,28641,28645],{"type":426,"tag":553,"props":28620,"children":28621},{"style":684},[28622],{"type":431,"value":28623},"                                total: ",{"type":426,"tag":553,"props":28625,"children":28626},{"style":566},[28627],{"type":431,"value":885},{"type":426,"tag":553,"props":28629,"children":28630},{"style":684},[28631],{"type":431,"value":28632},", tier: ",{"type":426,"tag":553,"props":28634,"children":28635},{"style":566},[28636],{"type":431,"value":895},{"type":426,"tag":553,"props":28638,"children":28639},{"style":684},[28640],{"type":431,"value":900},{"type":426,"tag":553,"props":28642,"children":28643},{"style":566},[28644],{"type":431,"value":895},{"type":426,"tag":553,"props":28646,"children":28647},{"style":684},[28648],{"type":431,"value":909},{"type":426,"tag":553,"props":28650,"children":28651},{"class":555,"line":24825},[28652],{"type":426,"tag":553,"props":28653,"children":28654},{"style":572},[28655],{"type":431,"value":28656},"    \"\"\"Build the standard points earned WhatsApp message.\"\"\"\n",{"type":426,"tag":553,"props":28658,"children":28659},{"class":555,"line":24837},[28660,28665,28669],{"type":426,"tag":553,"props":28661,"children":28662},{"style":684},[28663],{"type":431,"value":28664},"    next_tier_info ",{"type":426,"tag":553,"props":28666,"children":28667},{"style":795},[28668],{"type":431,"value":957},{"type":426,"tag":553,"props":28670,"children":28671},{"style":684},[28672],{"type":431,"value":28673}," get_next_tier_info(total, tier)\n",{"type":426,"tag":553,"props":28675,"children":28676},{"class":555,"line":24858},[28677],{"type":426,"tag":553,"props":28678,"children":28679},{"style":684},[28680],{"type":431,"value":917},{"type":426,"tag":553,"props":28682,"children":28683},{"class":555,"line":24895},[28684,28688],{"type":426,"tag":553,"props":28685,"children":28686},{"style":795},[28687],{"type":431,"value":1659},{"type":426,"tag":553,"props":28689,"children":28690},{"style":684},[28691],{"type":431,"value":1207},{"type":426,"tag":553,"props":28693,"children":28694},{"class":555,"line":24940},[28695,28699,28704,28708],{"type":426,"tag":553,"props":28696,"children":28697},{"style":795},[28698],{"type":431,"value":1216},{"type":426,"tag":553,"props":28700,"children":28701},{"style":572},[28702],{"type":431,"value":28703},"\"Points Earned! 🌟",{"type":426,"tag":553,"props":28705,"children":28706},{"style":566},[28707],{"type":431,"value":1295},{"type":426,"tag":553,"props":28709,"children":28710},{"style":572},[28711],{"type":431,"value":1250},{"type":426,"tag":553,"props":28713,"children":28714},{"class":555,"line":24961},[28715,28719,28723,28727,28731,28735,28739,28743],{"type":426,"tag":553,"props":28716,"children":28717},{"style":795},[28718],{"type":431,"value":1216},{"type":426,"tag":553,"props":28720,"children":28721},{"style":572},[28722],{"type":431,"value":4625},{"type":426,"tag":553,"props":28724,"children":28725},{"style":566},[28726],{"type":431,"value":972},{"type":426,"tag":553,"props":28728,"children":28729},{"style":684},[28730],{"type":431,"value":24468},{"type":426,"tag":553,"props":28732,"children":28733},{"style":566},[28734],{"type":431,"value":982},{"type":426,"tag":553,"props":28736,"children":28737},{"style":572},[28738],{"type":431,"value":4651},{"type":426,"tag":553,"props":28740,"children":28741},{"style":566},[28742],{"type":431,"value":1295},{"type":426,"tag":553,"props":28744,"children":28745},{"style":572},[28746],{"type":431,"value":1250},{"type":426,"tag":553,"props":28748,"children":28749},{"class":555,"line":24990},[28750,28754,28759,28763,28768,28772,28777,28781],{"type":426,"tag":553,"props":28751,"children":28752},{"style":795},[28753],{"type":431,"value":1216},{"type":426,"tag":553,"props":28755,"children":28756},{"style":572},[28757],{"type":431,"value":28758},"\"+",{"type":426,"tag":553,"props":28760,"children":28761},{"style":566},[28762],{"type":431,"value":972},{"type":426,"tag":553,"props":28764,"children":28765},{"style":684},[28766],{"type":431,"value":28767},"points_earned",{"type":426,"tag":553,"props":28769,"children":28770},{"style":566},[28771],{"type":431,"value":982},{"type":426,"tag":553,"props":28773,"children":28774},{"style":572},[28775],{"type":431,"value":28776}," points for your purchase",{"type":426,"tag":553,"props":28778,"children":28779},{"style":566},[28780],{"type":431,"value":3661},{"type":426,"tag":553,"props":28782,"children":28783},{"style":572},[28784],{"type":431,"value":1250},{"type":426,"tag":553,"props":28786,"children":28787},{"class":555,"line":25003},[28788,28792,28797,28801,28806,28810,28814,28819,28823],{"type":426,"tag":553,"props":28789,"children":28790},{"style":795},[28791],{"type":431,"value":1216},{"type":426,"tag":553,"props":28793,"children":28794},{"style":572},[28795],{"type":431,"value":28796},"\"Total balance: *",{"type":426,"tag":553,"props":28798,"children":28799},{"style":566},[28800],{"type":431,"value":972},{"type":426,"tag":553,"props":28802,"children":28803},{"style":684},[28804],{"type":431,"value":28805},"total",{"type":426,"tag":553,"props":28807,"children":28808},{"style":795},[28809],{"type":431,"value":1468},{"type":426,"tag":553,"props":28811,"children":28812},{"style":566},[28813],{"type":431,"value":982},{"type":426,"tag":553,"props":28815,"children":28816},{"style":572},[28817],{"type":431,"value":28818}," points*",{"type":426,"tag":553,"props":28820,"children":28821},{"style":566},[28822],{"type":431,"value":3661},{"type":426,"tag":553,"props":28824,"children":28825},{"style":572},[28826],{"type":431,"value":1250},{"type":426,"tag":553,"props":28828,"children":28829},{"class":555,"line":25011},[28830,28834,28839,28843,28848,28852,28857,28861],{"type":426,"tag":553,"props":28831,"children":28832},{"style":795},[28833],{"type":431,"value":1216},{"type":426,"tag":553,"props":28835,"children":28836},{"style":572},[28837],{"type":431,"value":28838},"\"Tier: ",{"type":426,"tag":553,"props":28840,"children":28841},{"style":566},[28842],{"type":431,"value":972},{"type":426,"tag":553,"props":28844,"children":28845},{"style":684},[28846],{"type":431,"value":28847},"tier",{"type":426,"tag":553,"props":28849,"children":28850},{"style":566},[28851],{"type":431,"value":982},{"type":426,"tag":553,"props":28853,"children":28854},{"style":572},[28855],{"type":431,"value":28856}," Member",{"type":426,"tag":553,"props":28858,"children":28859},{"style":566},[28860],{"type":431,"value":1295},{"type":426,"tag":553,"props":28862,"children":28863},{"style":572},[28864],{"type":431,"value":1250},{"type":426,"tag":553,"props":28866,"children":28867},{"class":555,"line":25019},[28868,28872,28876,28880,28885,28889],{"type":426,"tag":553,"props":28869,"children":28870},{"style":795},[28871],{"type":431,"value":1216},{"type":426,"tag":553,"props":28873,"children":28874},{"style":572},[28875],{"type":431,"value":1527},{"type":426,"tag":553,"props":28877,"children":28878},{"style":566},[28879],{"type":431,"value":972},{"type":426,"tag":553,"props":28881,"children":28882},{"style":684},[28883],{"type":431,"value":28884},"next_tier_info",{"type":426,"tag":553,"props":28886,"children":28887},{"style":566},[28888],{"type":431,"value":1245},{"type":426,"tag":553,"props":28890,"children":28891},{"style":572},[28892],{"type":431,"value":1250},{"type":426,"tag":553,"props":28894,"children":28895},{"class":555,"line":25027},[28896,28900,28905,28909],{"type":426,"tag":553,"props":28897,"children":28898},{"style":795},[28899],{"type":431,"value":1216},{"type":426,"tag":553,"props":28901,"children":28902},{"style":572},[28903],{"type":431,"value":28904},"\"Check your balance: https:\u002F\u002Fyourstore.com\u002Floyalty",{"type":426,"tag":553,"props":28906,"children":28907},{"style":566},[28908],{"type":431,"value":3661},{"type":426,"tag":553,"props":28910,"children":28911},{"style":572},[28912],{"type":431,"value":1250},{"type":426,"tag":553,"props":28914,"children":28915},{"class":555,"line":25067},[28916,28920],{"type":426,"tag":553,"props":28917,"children":28918},{"style":795},[28919],{"type":431,"value":1216},{"type":426,"tag":553,"props":28921,"children":28922},{"style":572},[28923],{"type":431,"value":28924},"\"Reply REDEEM to use your points.\"\n",{"type":426,"tag":553,"props":28926,"children":28927},{"class":555,"line":25079},[28928],{"type":426,"tag":553,"props":28929,"children":28930},{"style":684},[28931],{"type":431,"value":1642},{"type":426,"tag":553,"props":28933,"children":28934},{"class":555,"line":25091},[28935],{"type":426,"tag":553,"props":28936,"children":28937},{"emptyLinePlaceholder":831},[28938],{"type":431,"value":834},{"type":426,"tag":553,"props":28940,"children":28941},{"class":555,"line":25135},[28942,28946,28951,28955,28959,28964,28968,28973,28977,28981,28985],{"type":426,"tag":553,"props":28943,"children":28944},{"style":795},[28945],{"type":431,"value":842},{"type":426,"tag":553,"props":28947,"children":28948},{"style":560},[28949],{"type":431,"value":28950}," build_tier_upgrade_message",{"type":426,"tag":553,"props":28952,"children":28953},{"style":684},[28954],{"type":431,"value":24313},{"type":426,"tag":553,"props":28956,"children":28957},{"style":566},[28958],{"type":431,"value":895},{"type":426,"tag":553,"props":28960,"children":28961},{"style":684},[28962],{"type":431,"value":28963},", new_tier: ",{"type":426,"tag":553,"props":28965,"children":28966},{"style":566},[28967],{"type":431,"value":895},{"type":426,"tag":553,"props":28969,"children":28970},{"style":684},[28971],{"type":431,"value":28972},", total: ",{"type":426,"tag":553,"props":28974,"children":28975},{"style":566},[28976],{"type":431,"value":885},{"type":426,"tag":553,"props":28978,"children":28979},{"style":684},[28980],{"type":431,"value":900},{"type":426,"tag":553,"props":28982,"children":28983},{"style":566},[28984],{"type":431,"value":895},{"type":426,"tag":553,"props":28986,"children":28987},{"style":684},[28988],{"type":431,"value":909},{"type":426,"tag":553,"props":28990,"children":28991},{"class":555,"line":25167},[28992],{"type":426,"tag":553,"props":28993,"children":28994},{"style":572},[28995],{"type":431,"value":28996},"    \"\"\"Build the tier upgrade congratulations message.\"\"\"\n",{"type":426,"tag":553,"props":28998,"children":29000},{"class":555,"line":28999},113,[29001,29006,29010],{"type":426,"tag":553,"props":29002,"children":29003},{"style":684},[29004],{"type":431,"value":29005},"    tier_benefits ",{"type":426,"tag":553,"props":29007,"children":29008},{"style":795},[29009],{"type":431,"value":957},{"type":426,"tag":553,"props":29011,"children":29012},{"style":684},[29013],{"type":431,"value":5458},{"type":426,"tag":553,"props":29015,"children":29017},{"class":555,"line":29016},114,[29018,29023,29027,29032],{"type":426,"tag":553,"props":29019,"children":29020},{"style":572},[29021],{"type":431,"value":29022},"        'Silver'",{"type":426,"tag":553,"props":29024,"children":29025},{"style":684},[29026],{"type":431,"value":700},{"type":426,"tag":553,"props":29028,"children":29029},{"style":572},[29030],{"type":431,"value":29031},"'1.5x points on every purchase + free returns'",{"type":426,"tag":553,"props":29033,"children":29034},{"style":684},[29035],{"type":431,"value":710},{"type":426,"tag":553,"props":29037,"children":29039},{"class":555,"line":29038},115,[29040,29045,29049,29054],{"type":426,"tag":553,"props":29041,"children":29042},{"style":572},[29043],{"type":431,"value":29044},"        'Gold'",{"type":426,"tag":553,"props":29046,"children":29047},{"style":684},[29048],{"type":431,"value":700},{"type":426,"tag":553,"props":29050,"children":29051},{"style":572},[29052],{"type":431,"value":29053},"'2x points + free shipping on all orders + early sale access'",{"type":426,"tag":553,"props":29055,"children":29056},{"style":684},[29057],{"type":431,"value":710},{"type":426,"tag":553,"props":29059,"children":29061},{"class":555,"line":29060},116,[29062,29067,29071],{"type":426,"tag":553,"props":29063,"children":29064},{"style":572},[29065],{"type":431,"value":29066},"        'Platinum'",{"type":426,"tag":553,"props":29068,"children":29069},{"style":684},[29070],{"type":431,"value":700},{"type":426,"tag":553,"props":29072,"children":29073},{"style":572},[29074],{"type":431,"value":29075},"'3x points + dedicated VIP support + monthly surprise gift'\n",{"type":426,"tag":553,"props":29077,"children":29079},{"class":555,"line":29078},117,[29080],{"type":426,"tag":553,"props":29081,"children":29082},{"style":684},[29083],{"type":431,"value":5546},{"type":426,"tag":553,"props":29085,"children":29087},{"class":555,"line":29086},118,[29088],{"type":426,"tag":553,"props":29089,"children":29090},{"style":684},[29091],{"type":431,"value":917},{"type":426,"tag":553,"props":29093,"children":29095},{"class":555,"line":29094},119,[29096,29100],{"type":426,"tag":553,"props":29097,"children":29098},{"style":795},[29099],{"type":431,"value":1659},{"type":426,"tag":553,"props":29101,"children":29102},{"style":684},[29103],{"type":431,"value":1207},{"type":426,"tag":553,"props":29105,"children":29107},{"class":555,"line":29106},120,[29108,29112,29117,29121],{"type":426,"tag":553,"props":29109,"children":29110},{"style":795},[29111],{"type":431,"value":1216},{"type":426,"tag":553,"props":29113,"children":29114},{"style":572},[29115],{"type":431,"value":29116},"\"🎉 Congratulations! You've been upgraded!",{"type":426,"tag":553,"props":29118,"children":29119},{"style":566},[29120],{"type":431,"value":1295},{"type":426,"tag":553,"props":29122,"children":29123},{"style":572},[29124],{"type":431,"value":1250},{"type":426,"tag":553,"props":29126,"children":29128},{"class":555,"line":29127},121,[29129,29133,29137,29141,29145,29149,29153,29157],{"type":426,"tag":553,"props":29130,"children":29131},{"style":795},[29132],{"type":431,"value":1216},{"type":426,"tag":553,"props":29134,"children":29135},{"style":572},[29136],{"type":431,"value":4625},{"type":426,"tag":553,"props":29138,"children":29139},{"style":566},[29140],{"type":431,"value":972},{"type":426,"tag":553,"props":29142,"children":29143},{"style":684},[29144],{"type":431,"value":24468},{"type":426,"tag":553,"props":29146,"children":29147},{"style":566},[29148],{"type":431,"value":982},{"type":426,"tag":553,"props":29150,"children":29151},{"style":572},[29152],{"type":431,"value":4651},{"type":426,"tag":553,"props":29154,"children":29155},{"style":566},[29156],{"type":431,"value":1295},{"type":426,"tag":553,"props":29158,"children":29159},{"style":572},[29160],{"type":431,"value":1250},{"type":426,"tag":553,"props":29162,"children":29164},{"class":555,"line":29163},122,[29165,29169,29174,29178,29183,29187,29192,29196],{"type":426,"tag":553,"props":29166,"children":29167},{"style":795},[29168],{"type":431,"value":1216},{"type":426,"tag":553,"props":29170,"children":29171},{"style":572},[29172],{"type":431,"value":29173},"\"You've reached *",{"type":426,"tag":553,"props":29175,"children":29176},{"style":566},[29177],{"type":431,"value":972},{"type":426,"tag":553,"props":29179,"children":29180},{"style":684},[29181],{"type":431,"value":29182},"new_tier",{"type":426,"tag":553,"props":29184,"children":29185},{"style":566},[29186],{"type":431,"value":982},{"type":426,"tag":553,"props":29188,"children":29189},{"style":572},[29190],{"type":431,"value":29191}," status* — amazing!",{"type":426,"tag":553,"props":29193,"children":29194},{"style":566},[29195],{"type":431,"value":3661},{"type":426,"tag":553,"props":29197,"children":29198},{"style":572},[29199],{"type":431,"value":1250},{"type":426,"tag":553,"props":29201,"children":29203},{"class":555,"line":29202},123,[29204,29208,29213,29217,29221,29225,29229],{"type":426,"tag":553,"props":29205,"children":29206},{"style":795},[29207],{"type":431,"value":1216},{"type":426,"tag":553,"props":29209,"children":29210},{"style":572},[29211],{"type":431,"value":29212},"\"Total points: ",{"type":426,"tag":553,"props":29214,"children":29215},{"style":566},[29216],{"type":431,"value":972},{"type":426,"tag":553,"props":29218,"children":29219},{"style":684},[29220],{"type":431,"value":28805},{"type":426,"tag":553,"props":29222,"children":29223},{"style":795},[29224],{"type":431,"value":1468},{"type":426,"tag":553,"props":29226,"children":29227},{"style":566},[29228],{"type":431,"value":1245},{"type":426,"tag":553,"props":29230,"children":29231},{"style":572},[29232],{"type":431,"value":1250},{"type":426,"tag":553,"props":29234,"children":29236},{"class":555,"line":29235},124,[29237,29241,29246,29250,29254,29258,29263,29267],{"type":426,"tag":553,"props":29238,"children":29239},{"style":795},[29240],{"type":431,"value":1216},{"type":426,"tag":553,"props":29242,"children":29243},{"style":572},[29244],{"type":431,"value":29245},"\"Your new ",{"type":426,"tag":553,"props":29247,"children":29248},{"style":566},[29249],{"type":431,"value":972},{"type":426,"tag":553,"props":29251,"children":29252},{"style":684},[29253],{"type":431,"value":29182},{"type":426,"tag":553,"props":29255,"children":29256},{"style":566},[29257],{"type":431,"value":982},{"type":426,"tag":553,"props":29259,"children":29260},{"style":572},[29261],{"type":431,"value":29262}," benefits:",{"type":426,"tag":553,"props":29264,"children":29265},{"style":566},[29266],{"type":431,"value":3661},{"type":426,"tag":553,"props":29268,"children":29269},{"style":572},[29270],{"type":431,"value":1250},{"type":426,"tag":553,"props":29272,"children":29274},{"class":555,"line":29273},125,[29275,29279,29284,29288,29293,29298,29302,29306],{"type":426,"tag":553,"props":29276,"children":29277},{"style":795},[29278],{"type":431,"value":1216},{"type":426,"tag":553,"props":29280,"children":29281},{"style":572},[29282],{"type":431,"value":29283},"\"✨ ",{"type":426,"tag":553,"props":29285,"children":29286},{"style":566},[29287],{"type":431,"value":972},{"type":426,"tag":553,"props":29289,"children":29290},{"style":684},[29291],{"type":431,"value":29292},"tier_benefits.get(new_tier, ",{"type":426,"tag":553,"props":29294,"children":29295},{"style":572},[29296],{"type":431,"value":29297},"'Premium member benefits'",{"type":426,"tag":553,"props":29299,"children":29300},{"style":684},[29301],{"type":431,"value":5736},{"type":426,"tag":553,"props":29303,"children":29304},{"style":566},[29305],{"type":431,"value":1245},{"type":426,"tag":553,"props":29307,"children":29308},{"style":572},[29309],{"type":431,"value":1250},{"type":426,"tag":553,"props":29311,"children":29313},{"class":555,"line":29312},126,[29314,29318,29323,29327],{"type":426,"tag":553,"props":29315,"children":29316},{"style":795},[29317],{"type":431,"value":1216},{"type":426,"tag":553,"props":29319,"children":29320},{"style":572},[29321],{"type":431,"value":29322},"\"Thank you for your loyalty! We truly appreciate you. 💛",{"type":426,"tag":553,"props":29324,"children":29325},{"style":566},[29326],{"type":431,"value":3661},{"type":426,"tag":553,"props":29328,"children":29329},{"style":572},[29330],{"type":431,"value":1250},{"type":426,"tag":553,"props":29332,"children":29334},{"class":555,"line":29333},127,[29335,29339],{"type":426,"tag":553,"props":29336,"children":29337},{"style":795},[29338],{"type":431,"value":1216},{"type":426,"tag":553,"props":29340,"children":29341},{"style":572},[29342],{"type":431,"value":29343},"\"→ https:\u002F\u002Fyourstore.com\u002Floyalty\u002Fbenefits\"\n",{"type":426,"tag":553,"props":29345,"children":29347},{"class":555,"line":29346},128,[29348],{"type":426,"tag":553,"props":29349,"children":29350},{"style":684},[29351],{"type":431,"value":1642},{"type":426,"tag":434,"props":29353,"children":29355},{"id":29354},"step-3-balance-check-via-whatsapp-conversational",[29356],{"type":431,"value":29357},"Step 3: Balance Check via WhatsApp (Conversational)",{"type":426,"tag":427,"props":29359,"children":29360},{},[29361],{"type":431,"value":29362},"Set up a webhook to handle balance check replies:",{"type":426,"tag":542,"props":29364,"children":29366},{"code":29365,"language":784,"meta":417,"className":785,"style":417},"def handle_loyalty_whatsapp_reply(phone: str, message: str) -> None:\n    \"\"\"Process incoming WhatsApp messages for the loyalty program.\"\"\"\n    message_upper = message.strip().upper()\n    \n    member = get_member_by_phone(phone)\n    if not member:\n        send_reply(phone, \"You're not enrolled in our loyalty program yet. Join at https:\u002F\u002Fyourstore.com\u002Floyalty\")\n        return\n    \n    if message_upper == 'BALANCE':\n        reply = (\n            f\"*Your Loyalty Balance* 🌟\\n\\n\"\n            f\"Name: {member['name']}\\n\"\n            f\"Points: *{member['total_points']:,}*\\n\"\n            f\"Tier: *{member['tier']} Member*\\n\\n\"\n            f\"Redeem: 100 points = $1 discount\\n\"\n            f\"Redeem at checkout: https:\u002F\u002Fyourstore.com\u002Floyalty\u002Fredeem\"\n        )\n    \n    elif message_upper == 'REDEEM':\n        if member['total_points'] >= 500:  # Minimum 500 points = $5\n            code = generate_redemption_code(member['customer_id'], member['total_points'])\n            reply = (\n                f\"Your Reward Code 🎁\\n\\n\"\n                f\"Code: *{code}*\\n\"\n                f\"Value: ${member['total_points'] \u002F\u002F 100} off your next order\\n\"\n                f\"Valid for 7 days\\n\\n\"\n                f\"Apply at checkout: https:\u002F\u002Fyourstore.com?reward={code}\"\n            )\n        else:\n            points_needed = 500 - member['total_points']\n            reply = f\"You need {points_needed} more points to redeem (minimum 500). Keep shopping to earn more! 🛍️\"\n    \n    else:\n        reply = (\n            f\"Hi {member['name']}! Reply with:\\n\\n\"\n            f\"*BALANCE* — check your points\\n\"\n            f\"*REDEEM* — get a reward code\"\n        )\n    \n    send_reply(phone, reply)\n\ndef send_reply(phone: str, message: str) -> None:\n    requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': phone, 'message': message}\n    )\n",[29367],{"type":426,"tag":549,"props":29368,"children":29369},{"__ignoreMap":417},[29370,29410,29418,29435,29442,29458,29473,29490,29498,29505,29530,29546,29566,29603,29651,29696,29716,29728,29735,29742,29766,29802,29837,29853,29874,29910,29961,29981,30009,30016,30027,30060,30098,30105,30116,30131,30175,30195,30207,30214,30221,30229,30236,30276,30284,30295,30338,30369],{"type":426,"tag":553,"props":29371,"children":29372},{"class":555,"line":556},[29373,29377,29382,29386,29390,29394,29398,29402,29406],{"type":426,"tag":553,"props":29374,"children":29375},{"style":795},[29376],{"type":431,"value":842},{"type":426,"tag":553,"props":29378,"children":29379},{"style":560},[29380],{"type":431,"value":29381}," handle_loyalty_whatsapp_reply",{"type":426,"tag":553,"props":29383,"children":29384},{"style":684},[29385],{"type":431,"value":7446},{"type":426,"tag":553,"props":29387,"children":29388},{"style":566},[29389],{"type":431,"value":895},{"type":426,"tag":553,"props":29391,"children":29392},{"style":684},[29393],{"type":431,"value":8713},{"type":426,"tag":553,"props":29395,"children":29396},{"style":566},[29397],{"type":431,"value":895},{"type":426,"tag":553,"props":29399,"children":29400},{"style":684},[29401],{"type":431,"value":900},{"type":426,"tag":553,"props":29403,"children":29404},{"style":566},[29405],{"type":431,"value":1840},{"type":426,"tag":553,"props":29407,"children":29408},{"style":684},[29409],{"type":431,"value":909},{"type":426,"tag":553,"props":29411,"children":29412},{"class":555,"line":588},[29413],{"type":426,"tag":553,"props":29414,"children":29415},{"style":572},[29416],{"type":431,"value":29417},"    \"\"\"Process incoming WhatsApp messages for the loyalty program.\"\"\"\n",{"type":426,"tag":553,"props":29419,"children":29420},{"class":555,"line":606},[29421,29426,29430],{"type":426,"tag":553,"props":29422,"children":29423},{"style":684},[29424],{"type":431,"value":29425},"    message_upper ",{"type":426,"tag":553,"props":29427,"children":29428},{"style":795},[29429],{"type":431,"value":957},{"type":426,"tag":553,"props":29431,"children":29432},{"style":684},[29433],{"type":431,"value":29434}," message.strip().upper()\n",{"type":426,"tag":553,"props":29436,"children":29437},{"class":555,"line":623},[29438],{"type":426,"tag":553,"props":29439,"children":29440},{"style":684},[29441],{"type":431,"value":917},{"type":426,"tag":553,"props":29443,"children":29444},{"class":555,"line":637},[29445,29449,29453],{"type":426,"tag":553,"props":29446,"children":29447},{"style":684},[29448],{"type":431,"value":27554},{"type":426,"tag":553,"props":29450,"children":29451},{"style":795},[29452],{"type":431,"value":957},{"type":426,"tag":553,"props":29454,"children":29455},{"style":684},[29456],{"type":431,"value":29457}," get_member_by_phone(phone)\n",{"type":426,"tag":553,"props":29459,"children":29460},{"class":555,"line":646},[29461,29465,29469],{"type":426,"tag":553,"props":29462,"children":29463},{"style":795},[29464],{"type":431,"value":925},{"type":426,"tag":553,"props":29466,"children":29467},{"style":795},[29468],{"type":431,"value":12110},{"type":426,"tag":553,"props":29470,"children":29471},{"style":684},[29472],{"type":431,"value":27621},{"type":426,"tag":553,"props":29474,"children":29475},{"class":555,"line":655},[29476,29481,29486],{"type":426,"tag":553,"props":29477,"children":29478},{"style":684},[29479],{"type":431,"value":29480},"        send_reply(phone, ",{"type":426,"tag":553,"props":29482,"children":29483},{"style":572},[29484],{"type":431,"value":29485},"\"You're not enrolled in our loyalty program yet. Join at https:\u002F\u002Fyourstore.com\u002Floyalty\"",{"type":426,"tag":553,"props":29487,"children":29488},{"style":684},[29489],{"type":431,"value":3262},{"type":426,"tag":553,"props":29491,"children":29492},{"class":555,"line":1036},[29493],{"type":426,"tag":553,"props":29494,"children":29495},{"style":795},[29496],{"type":431,"value":29497},"        return\n",{"type":426,"tag":553,"props":29499,"children":29500},{"class":555,"line":1054},[29501],{"type":426,"tag":553,"props":29502,"children":29503},{"style":684},[29504],{"type":431,"value":917},{"type":426,"tag":553,"props":29506,"children":29507},{"class":555,"line":1080},[29508,29512,29517,29521,29526],{"type":426,"tag":553,"props":29509,"children":29510},{"style":795},[29511],{"type":431,"value":925},{"type":426,"tag":553,"props":29513,"children":29514},{"style":684},[29515],{"type":431,"value":29516}," message_upper ",{"type":426,"tag":553,"props":29518,"children":29519},{"style":795},[29520],{"type":431,"value":1069},{"type":426,"tag":553,"props":29522,"children":29523},{"style":572},[29524],{"type":431,"value":29525}," 'BALANCE'",{"type":426,"tag":553,"props":29527,"children":29528},{"style":684},[29529],{"type":431,"value":909},{"type":426,"tag":553,"props":29531,"children":29532},{"class":555,"line":1097},[29533,29538,29542],{"type":426,"tag":553,"props":29534,"children":29535},{"style":684},[29536],{"type":431,"value":29537},"        reply ",{"type":426,"tag":553,"props":29539,"children":29540},{"style":795},[29541],{"type":431,"value":957},{"type":426,"tag":553,"props":29543,"children":29544},{"style":684},[29545],{"type":431,"value":1207},{"type":426,"tag":553,"props":29547,"children":29548},{"class":555,"line":1114},[29549,29553,29558,29562],{"type":426,"tag":553,"props":29550,"children":29551},{"style":795},[29552],{"type":431,"value":3740},{"type":426,"tag":553,"props":29554,"children":29555},{"style":572},[29556],{"type":431,"value":29557},"\"*Your Loyalty Balance* 🌟",{"type":426,"tag":553,"props":29559,"children":29560},{"style":566},[29561],{"type":431,"value":1295},{"type":426,"tag":553,"props":29563,"children":29564},{"style":572},[29565],{"type":431,"value":1250},{"type":426,"tag":553,"props":29567,"children":29568},{"class":555,"line":1127},[29569,29573,29578,29582,29587,29591,29595,29599],{"type":426,"tag":553,"props":29570,"children":29571},{"style":795},[29572],{"type":431,"value":3740},{"type":426,"tag":553,"props":29574,"children":29575},{"style":572},[29576],{"type":431,"value":29577},"\"Name: ",{"type":426,"tag":553,"props":29579,"children":29580},{"style":566},[29581],{"type":431,"value":972},{"type":426,"tag":553,"props":29583,"children":29584},{"style":684},[29585],{"type":431,"value":29586},"member[",{"type":426,"tag":553,"props":29588,"children":29589},{"style":572},[29590],{"type":431,"value":1277},{"type":426,"tag":553,"props":29592,"children":29593},{"style":684},[29594],{"type":431,"value":1240},{"type":426,"tag":553,"props":29596,"children":29597},{"style":566},[29598],{"type":431,"value":1407},{"type":426,"tag":553,"props":29600,"children":29601},{"style":572},[29602],{"type":431,"value":1250},{"type":426,"tag":553,"props":29604,"children":29605},{"class":555,"line":1167},[29606,29610,29615,29619,29623,29627,29631,29635,29639,29643,29647],{"type":426,"tag":553,"props":29607,"children":29608},{"style":795},[29609],{"type":431,"value":3740},{"type":426,"tag":553,"props":29611,"children":29612},{"style":572},[29613],{"type":431,"value":29614},"\"Points: *",{"type":426,"tag":553,"props":29616,"children":29617},{"style":566},[29618],{"type":431,"value":972},{"type":426,"tag":553,"props":29620,"children":29621},{"style":684},[29622],{"type":431,"value":29586},{"type":426,"tag":553,"props":29624,"children":29625},{"style":572},[29626],{"type":431,"value":27755},{"type":426,"tag":553,"props":29628,"children":29629},{"style":684},[29630],{"type":431,"value":1240},{"type":426,"tag":553,"props":29632,"children":29633},{"style":795},[29634],{"type":431,"value":1468},{"type":426,"tag":553,"props":29636,"children":29637},{"style":566},[29638],{"type":431,"value":982},{"type":426,"tag":553,"props":29640,"children":29641},{"style":572},[29642],{"type":431,"value":5801},{"type":426,"tag":553,"props":29644,"children":29645},{"style":566},[29646],{"type":431,"value":3661},{"type":426,"tag":553,"props":29648,"children":29649},{"style":572},[29650],{"type":431,"value":1250},{"type":426,"tag":553,"props":29652,"children":29653},{"class":555,"line":1184},[29654,29658,29663,29667,29671,29675,29679,29683,29688,29692],{"type":426,"tag":553,"props":29655,"children":29656},{"style":795},[29657],{"type":431,"value":3740},{"type":426,"tag":553,"props":29659,"children":29660},{"style":572},[29661],{"type":431,"value":29662},"\"Tier: *",{"type":426,"tag":553,"props":29664,"children":29665},{"style":566},[29666],{"type":431,"value":972},{"type":426,"tag":553,"props":29668,"children":29669},{"style":684},[29670],{"type":431,"value":29586},{"type":426,"tag":553,"props":29672,"children":29673},{"style":572},[29674],{"type":431,"value":27683},{"type":426,"tag":553,"props":29676,"children":29677},{"style":684},[29678],{"type":431,"value":1240},{"type":426,"tag":553,"props":29680,"children":29681},{"style":566},[29682],{"type":431,"value":982},{"type":426,"tag":553,"props":29684,"children":29685},{"style":572},[29686],{"type":431,"value":29687}," Member*",{"type":426,"tag":553,"props":29689,"children":29690},{"style":566},[29691],{"type":431,"value":1295},{"type":426,"tag":553,"props":29693,"children":29694},{"style":572},[29695],{"type":431,"value":1250},{"type":426,"tag":553,"props":29697,"children":29698},{"class":555,"line":1192},[29699,29703,29708,29712],{"type":426,"tag":553,"props":29700,"children":29701},{"style":795},[29702],{"type":431,"value":3740},{"type":426,"tag":553,"props":29704,"children":29705},{"style":572},[29706],{"type":431,"value":29707},"\"Redeem: 100 points = $1 discount",{"type":426,"tag":553,"props":29709,"children":29710},{"style":566},[29711],{"type":431,"value":3661},{"type":426,"tag":553,"props":29713,"children":29714},{"style":572},[29715],{"type":431,"value":1250},{"type":426,"tag":553,"props":29717,"children":29718},{"class":555,"line":1210},[29719,29723],{"type":426,"tag":553,"props":29720,"children":29721},{"style":795},[29722],{"type":431,"value":3740},{"type":426,"tag":553,"props":29724,"children":29725},{"style":572},[29726],{"type":431,"value":29727},"\"Redeem at checkout: https:\u002F\u002Fyourstore.com\u002Floyalty\u002Fredeem\"\n",{"type":426,"tag":553,"props":29729,"children":29730},{"class":555,"line":1253},[29731],{"type":426,"tag":553,"props":29732,"children":29733},{"style":684},[29734],{"type":431,"value":6037},{"type":426,"tag":553,"props":29736,"children":29737},{"class":555,"line":1302},[29738],{"type":426,"tag":553,"props":29739,"children":29740},{"style":684},[29741],{"type":431,"value":917},{"type":426,"tag":553,"props":29743,"children":29744},{"class":555,"line":1374},[29745,29749,29753,29757,29762],{"type":426,"tag":553,"props":29746,"children":29747},{"style":795},[29748],{"type":431,"value":1060},{"type":426,"tag":553,"props":29750,"children":29751},{"style":684},[29752],{"type":431,"value":29516},{"type":426,"tag":553,"props":29754,"children":29755},{"style":795},[29756],{"type":431,"value":1069},{"type":426,"tag":553,"props":29758,"children":29759},{"style":572},[29760],{"type":431,"value":29761}," 'REDEEM'",{"type":426,"tag":553,"props":29763,"children":29764},{"style":684},[29765],{"type":431,"value":909},{"type":426,"tag":553,"props":29767,"children":29768},{"class":555,"line":1414},[29769,29773,29777,29781,29785,29789,29793,29797],{"type":426,"tag":553,"props":29770,"children":29771},{"style":795},[29772],{"type":431,"value":2972},{"type":426,"tag":553,"props":29774,"children":29775},{"style":684},[29776],{"type":431,"value":27750},{"type":426,"tag":553,"props":29778,"children":29779},{"style":572},[29780],{"type":431,"value":27755},{"type":426,"tag":553,"props":29782,"children":29783},{"style":684},[29784],{"type":431,"value":2229},{"type":426,"tag":553,"props":29786,"children":29787},{"style":795},[29788],{"type":431,"value":9126},{"type":426,"tag":553,"props":29790,"children":29791},{"style":566},[29792],{"type":431,"value":9131},{"type":426,"tag":553,"props":29794,"children":29795},{"style":684},[29796],{"type":431,"value":24817},{"type":426,"tag":553,"props":29798,"children":29799},{"style":1975},[29800],{"type":431,"value":29801},"# Minimum 500 points = $5\n",{"type":426,"tag":553,"props":29803,"children":29804},{"class":555,"line":1479},[29805,29810,29814,29819,29824,29829,29833],{"type":426,"tag":553,"props":29806,"children":29807},{"style":684},[29808],{"type":431,"value":29809},"            code ",{"type":426,"tag":553,"props":29811,"children":29812},{"style":795},[29813],{"type":431,"value":957},{"type":426,"tag":553,"props":29815,"children":29816},{"style":684},[29817],{"type":431,"value":29818}," generate_redemption_code(member[",{"type":426,"tag":553,"props":29820,"children":29821},{"style":572},[29822],{"type":431,"value":29823},"'customer_id'",{"type":426,"tag":553,"props":29825,"children":29826},{"style":684},[29827],{"type":431,"value":29828},"], member[",{"type":426,"tag":553,"props":29830,"children":29831},{"style":572},[29832],{"type":431,"value":27755},{"type":426,"tag":553,"props":29834,"children":29835},{"style":684},[29836],{"type":431,"value":8061},{"type":426,"tag":553,"props":29838,"children":29839},{"class":555,"line":1517},[29840,29845,29849],{"type":426,"tag":553,"props":29841,"children":29842},{"style":684},[29843],{"type":431,"value":29844},"            reply ",{"type":426,"tag":553,"props":29846,"children":29847},{"style":795},[29848],{"type":431,"value":957},{"type":426,"tag":553,"props":29850,"children":29851},{"style":684},[29852],{"type":431,"value":1207},{"type":426,"tag":553,"props":29854,"children":29855},{"class":555,"line":1560},[29856,29861,29866,29870],{"type":426,"tag":553,"props":29857,"children":29858},{"style":795},[29859],{"type":431,"value":29860},"                f",{"type":426,"tag":553,"props":29862,"children":29863},{"style":572},[29864],{"type":431,"value":29865},"\"Your Reward Code 🎁",{"type":426,"tag":553,"props":29867,"children":29868},{"style":566},[29869],{"type":431,"value":1295},{"type":426,"tag":553,"props":29871,"children":29872},{"style":572},[29873],{"type":431,"value":1250},{"type":426,"tag":553,"props":29875,"children":29876},{"class":555,"line":1598},[29877,29881,29886,29890,29894,29898,29902,29906],{"type":426,"tag":553,"props":29878,"children":29879},{"style":795},[29880],{"type":431,"value":29860},{"type":426,"tag":553,"props":29882,"children":29883},{"style":572},[29884],{"type":431,"value":29885},"\"Code: *",{"type":426,"tag":553,"props":29887,"children":29888},{"style":566},[29889],{"type":431,"value":972},{"type":426,"tag":553,"props":29891,"children":29892},{"style":684},[29893],{"type":431,"value":549},{"type":426,"tag":553,"props":29895,"children":29896},{"style":566},[29897],{"type":431,"value":982},{"type":426,"tag":553,"props":29899,"children":29900},{"style":572},[29901],{"type":431,"value":5801},{"type":426,"tag":553,"props":29903,"children":29904},{"style":566},[29905],{"type":431,"value":3661},{"type":426,"tag":553,"props":29907,"children":29908},{"style":572},[29909],{"type":431,"value":1250},{"type":426,"tag":553,"props":29911,"children":29912},{"class":555,"line":1636},[29913,29917,29922,29926,29930,29934,29938,29943,29948,29953,29957],{"type":426,"tag":553,"props":29914,"children":29915},{"style":795},[29916],{"type":431,"value":29860},{"type":426,"tag":553,"props":29918,"children":29919},{"style":572},[29920],{"type":431,"value":29921},"\"Value: $",{"type":426,"tag":553,"props":29923,"children":29924},{"style":566},[29925],{"type":431,"value":972},{"type":426,"tag":553,"props":29927,"children":29928},{"style":684},[29929],{"type":431,"value":29586},{"type":426,"tag":553,"props":29931,"children":29932},{"style":572},[29933],{"type":431,"value":27755},{"type":426,"tag":553,"props":29935,"children":29936},{"style":684},[29937],{"type":431,"value":2229},{"type":426,"tag":553,"props":29939,"children":29940},{"style":795},[29941],{"type":431,"value":29942},"\u002F\u002F",{"type":426,"tag":553,"props":29944,"children":29945},{"style":566},[29946],{"type":431,"value":29947}," 100}",{"type":426,"tag":553,"props":29949,"children":29950},{"style":572},[29951],{"type":431,"value":29952}," off your next order",{"type":426,"tag":553,"props":29954,"children":29955},{"style":566},[29956],{"type":431,"value":3661},{"type":426,"tag":553,"props":29958,"children":29959},{"style":572},[29960],{"type":431,"value":1250},{"type":426,"tag":553,"props":29962,"children":29963},{"class":555,"line":1645},[29964,29968,29973,29977],{"type":426,"tag":553,"props":29965,"children":29966},{"style":795},[29967],{"type":431,"value":29860},{"type":426,"tag":553,"props":29969,"children":29970},{"style":572},[29971],{"type":431,"value":29972},"\"Valid for 7 days",{"type":426,"tag":553,"props":29974,"children":29975},{"style":566},[29976],{"type":431,"value":1295},{"type":426,"tag":553,"props":29978,"children":29979},{"style":572},[29980],{"type":431,"value":1250},{"type":426,"tag":553,"props":29982,"children":29983},{"class":555,"line":1653},[29984,29988,29993,29997,30001,30005],{"type":426,"tag":553,"props":29985,"children":29986},{"style":795},[29987],{"type":431,"value":29860},{"type":426,"tag":553,"props":29989,"children":29990},{"style":572},[29991],{"type":431,"value":29992},"\"Apply at checkout: https:\u002F\u002Fyourstore.com?reward=",{"type":426,"tag":553,"props":29994,"children":29995},{"style":566},[29996],{"type":431,"value":972},{"type":426,"tag":553,"props":29998,"children":29999},{"style":684},[30000],{"type":431,"value":549},{"type":426,"tag":553,"props":30002,"children":30003},{"style":566},[30004],{"type":431,"value":982},{"type":426,"tag":553,"props":30006,"children":30007},{"style":572},[30008],{"type":431,"value":1250},{"type":426,"tag":553,"props":30010,"children":30011},{"class":555,"line":1667},[30012],{"type":426,"tag":553,"props":30013,"children":30014},{"style":684},[30015],{"type":431,"value":2551},{"type":426,"tag":553,"props":30017,"children":30018},{"class":555,"line":1680},[30019,30023],{"type":426,"tag":553,"props":30020,"children":30021},{"style":795},[30022],{"type":431,"value":3034},{"type":426,"tag":553,"props":30024,"children":30025},{"style":684},[30026],{"type":431,"value":909},{"type":426,"tag":553,"props":30028,"children":30029},{"class":555,"line":1740},[30030,30035,30039,30043,30048,30052,30056],{"type":426,"tag":553,"props":30031,"children":30032},{"style":684},[30033],{"type":431,"value":30034},"            points_needed ",{"type":426,"tag":553,"props":30036,"children":30037},{"style":795},[30038],{"type":431,"value":957},{"type":426,"tag":553,"props":30040,"children":30041},{"style":566},[30042],{"type":431,"value":9131},{"type":426,"tag":553,"props":30044,"children":30045},{"style":795},[30046],{"type":431,"value":30047}," -",{"type":426,"tag":553,"props":30049,"children":30050},{"style":684},[30051],{"type":431,"value":27750},{"type":426,"tag":553,"props":30053,"children":30054},{"style":572},[30055],{"type":431,"value":27755},{"type":426,"tag":553,"props":30057,"children":30058},{"style":684},[30059],{"type":431,"value":16523},{"type":426,"tag":553,"props":30061,"children":30062},{"class":555,"line":1787},[30063,30067,30071,30075,30080,30084,30089,30093],{"type":426,"tag":553,"props":30064,"children":30065},{"style":684},[30066],{"type":431,"value":29844},{"type":426,"tag":553,"props":30068,"children":30069},{"style":795},[30070],{"type":431,"value":957},{"type":426,"tag":553,"props":30072,"children":30073},{"style":795},[30074],{"type":431,"value":962},{"type":426,"tag":553,"props":30076,"children":30077},{"style":572},[30078],{"type":431,"value":30079},"\"You need ",{"type":426,"tag":553,"props":30081,"children":30082},{"style":566},[30083],{"type":431,"value":972},{"type":426,"tag":553,"props":30085,"children":30086},{"style":684},[30087],{"type":431,"value":30088},"points_needed",{"type":426,"tag":553,"props":30090,"children":30091},{"style":566},[30092],{"type":431,"value":982},{"type":426,"tag":553,"props":30094,"children":30095},{"style":572},[30096],{"type":431,"value":30097}," more points to redeem (minimum 500). Keep shopping to earn more! 🛍️\"\n",{"type":426,"tag":553,"props":30099,"children":30100},{"class":555,"line":1796},[30101],{"type":426,"tag":553,"props":30102,"children":30103},{"style":684},[30104],{"type":431,"value":917},{"type":426,"tag":553,"props":30106,"children":30107},{"class":555,"line":1804},[30108,30112],{"type":426,"tag":553,"props":30109,"children":30110},{"style":795},[30111],{"type":431,"value":1120},{"type":426,"tag":553,"props":30113,"children":30114},{"style":684},[30115],{"type":431,"value":909},{"type":426,"tag":553,"props":30117,"children":30118},{"class":555,"line":1812},[30119,30123,30127],{"type":426,"tag":553,"props":30120,"children":30121},{"style":684},[30122],{"type":431,"value":29537},{"type":426,"tag":553,"props":30124,"children":30125},{"style":795},[30126],{"type":431,"value":957},{"type":426,"tag":553,"props":30128,"children":30129},{"style":684},[30130],{"type":431,"value":1207},{"type":426,"tag":553,"props":30132,"children":30133},{"class":555,"line":1847},[30134,30138,30142,30146,30150,30154,30158,30162,30167,30171],{"type":426,"tag":553,"props":30135,"children":30136},{"style":795},[30137],{"type":431,"value":3740},{"type":426,"tag":553,"props":30139,"children":30140},{"style":572},[30141],{"type":431,"value":4625},{"type":426,"tag":553,"props":30143,"children":30144},{"style":566},[30145],{"type":431,"value":972},{"type":426,"tag":553,"props":30147,"children":30148},{"style":684},[30149],{"type":431,"value":29586},{"type":426,"tag":553,"props":30151,"children":30152},{"style":572},[30153],{"type":431,"value":1277},{"type":426,"tag":553,"props":30155,"children":30156},{"style":684},[30157],{"type":431,"value":1240},{"type":426,"tag":553,"props":30159,"children":30160},{"style":566},[30161],{"type":431,"value":982},{"type":426,"tag":553,"props":30163,"children":30164},{"style":572},[30165],{"type":431,"value":30166},"! Reply with:",{"type":426,"tag":553,"props":30168,"children":30169},{"style":566},[30170],{"type":431,"value":1295},{"type":426,"tag":553,"props":30172,"children":30173},{"style":572},[30174],{"type":431,"value":1250},{"type":426,"tag":553,"props":30176,"children":30177},{"class":555,"line":1856},[30178,30182,30187,30191],{"type":426,"tag":553,"props":30179,"children":30180},{"style":795},[30181],{"type":431,"value":3740},{"type":426,"tag":553,"props":30183,"children":30184},{"style":572},[30185],{"type":431,"value":30186},"\"*BALANCE* — check your points",{"type":426,"tag":553,"props":30188,"children":30189},{"style":566},[30190],{"type":431,"value":3661},{"type":426,"tag":553,"props":30192,"children":30193},{"style":572},[30194],{"type":431,"value":1250},{"type":426,"tag":553,"props":30196,"children":30197},{"class":555,"line":1874},[30198,30202],{"type":426,"tag":553,"props":30199,"children":30200},{"style":795},[30201],{"type":431,"value":3740},{"type":426,"tag":553,"props":30203,"children":30204},{"style":572},[30205],{"type":431,"value":30206},"\"*REDEEM* — get a reward code\"\n",{"type":426,"tag":553,"props":30208,"children":30209},{"class":555,"line":1882},[30210],{"type":426,"tag":553,"props":30211,"children":30212},{"style":684},[30213],{"type":431,"value":6037},{"type":426,"tag":553,"props":30215,"children":30216},{"class":555,"line":1981},[30217],{"type":426,"tag":553,"props":30218,"children":30219},{"style":684},[30220],{"type":431,"value":917},{"type":426,"tag":553,"props":30222,"children":30223},{"class":555,"line":1989},[30224],{"type":426,"tag":553,"props":30225,"children":30226},{"style":684},[30227],{"type":431,"value":30228},"    send_reply(phone, reply)\n",{"type":426,"tag":553,"props":30230,"children":30231},{"class":555,"line":2013},[30232],{"type":426,"tag":553,"props":30233,"children":30234},{"emptyLinePlaceholder":831},[30235],{"type":431,"value":834},{"type":426,"tag":553,"props":30237,"children":30238},{"class":555,"line":2055},[30239,30243,30248,30252,30256,30260,30264,30268,30272],{"type":426,"tag":553,"props":30240,"children":30241},{"style":795},[30242],{"type":431,"value":842},{"type":426,"tag":553,"props":30244,"children":30245},{"style":560},[30246],{"type":431,"value":30247}," send_reply",{"type":426,"tag":553,"props":30249,"children":30250},{"style":684},[30251],{"type":431,"value":7446},{"type":426,"tag":553,"props":30253,"children":30254},{"style":566},[30255],{"type":431,"value":895},{"type":426,"tag":553,"props":30257,"children":30258},{"style":684},[30259],{"type":431,"value":8713},{"type":426,"tag":553,"props":30261,"children":30262},{"style":566},[30263],{"type":431,"value":895},{"type":426,"tag":553,"props":30265,"children":30266},{"style":684},[30267],{"type":431,"value":900},{"type":426,"tag":553,"props":30269,"children":30270},{"style":566},[30271],{"type":431,"value":1840},{"type":426,"tag":553,"props":30273,"children":30274},{"style":684},[30275],{"type":431,"value":909},{"type":426,"tag":553,"props":30277,"children":30278},{"class":555,"line":2064},[30279],{"type":426,"tag":553,"props":30280,"children":30281},{"style":684},[30282],{"type":431,"value":30283},"    requests.post(\n",{"type":426,"tag":553,"props":30285,"children":30286},{"class":555,"line":2087},[30287,30291],{"type":426,"tag":553,"props":30288,"children":30289},{"style":572},[30290],{"type":431,"value":1673},{"type":426,"tag":553,"props":30292,"children":30293},{"style":684},[30294],{"type":431,"value":710},{"type":426,"tag":553,"props":30296,"children":30297},{"class":555,"line":2096},[30298,30302,30306,30310,30314,30318,30322,30326,30330,30334],{"type":426,"tag":553,"props":30299,"children":30300},{"style":1684},[30301],{"type":431,"value":1687},{"type":426,"tag":553,"props":30303,"children":30304},{"style":795},[30305],{"type":431,"value":957},{"type":426,"tag":553,"props":30307,"children":30308},{"style":684},[30309],{"type":431,"value":972},{"type":426,"tag":553,"props":30311,"children":30312},{"style":572},[30313],{"type":431,"value":1700},{"type":426,"tag":553,"props":30315,"children":30316},{"style":684},[30317],{"type":431,"value":700},{"type":426,"tag":553,"props":30319,"children":30320},{"style":795},[30321],{"type":431,"value":1709},{"type":426,"tag":553,"props":30323,"children":30324},{"style":572},[30325],{"type":431,"value":1714},{"type":426,"tag":553,"props":30327,"children":30328},{"style":566},[30329],{"type":431,"value":20835},{"type":426,"tag":553,"props":30331,"children":30332},{"style":572},[30333],{"type":431,"value":1732},{"type":426,"tag":553,"props":30335,"children":30336},{"style":684},[30337],{"type":431,"value":1737},{"type":426,"tag":553,"props":30339,"children":30340},{"class":555,"line":2105},[30341,30345,30349,30353,30357,30361,30365],{"type":426,"tag":553,"props":30342,"children":30343},{"style":1684},[30344],{"type":431,"value":1746},{"type":426,"tag":553,"props":30346,"children":30347},{"style":795},[30348],{"type":431,"value":957},{"type":426,"tag":553,"props":30350,"children":30351},{"style":684},[30352],{"type":431,"value":972},{"type":426,"tag":553,"props":30354,"children":30355},{"style":572},[30356],{"type":431,"value":1759},{"type":426,"tag":553,"props":30358,"children":30359},{"style":684},[30360],{"type":431,"value":8931},{"type":426,"tag":553,"props":30362,"children":30363},{"style":572},[30364],{"type":431,"value":1779},{"type":426,"tag":553,"props":30366,"children":30367},{"style":684},[30368],{"type":431,"value":1784},{"type":426,"tag":553,"props":30370,"children":30371},{"class":555,"line":2114},[30372],{"type":426,"tag":553,"props":30373,"children":30374},{"style":684},[30375],{"type":431,"value":1642},{"type":426,"tag":434,"props":30377,"children":30379},{"id":30378},"step-4-automate-monthly-points-summary",[30380],{"type":431,"value":30381},"Step 4: Automate Monthly Points Summary",{"type":426,"tag":427,"props":30383,"children":30384},{},[30385],{"type":431,"value":30386},"Send a monthly summary to keep members engaged:",{"type":426,"tag":542,"props":30388,"children":30390},{"code":30389},"\"Hi Sarah! Your February loyalty summary 📊\n\nPoints earned: 350\nPoints redeemed: 200\nCurrent balance: *1,250 points* = $12.50 in rewards\n\nStatus: *Silver Member*\nProgress to Gold: 750 points needed\n\nTop tip: Double points week starts March 1!\n→ https:\u002F\u002Fyourstore.com\u002Floyalty\"\n",[30391],{"type":426,"tag":549,"props":30392,"children":30393},{"__ignoreMap":417},[30394],{"type":431,"value":30389},{"type":426,"tag":427,"props":30396,"children":30397},{},[30398],{"type":426,"tag":446,"props":30399,"children":30400},{},[30401],{"type":431,"value":30402},"Test cURL:",{"type":426,"tag":542,"props":30404,"children":30406},{"code":30405,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Points Earned! 🌟\\n\\nHi Sarah!\\n\\n+150 points for your purchase\\nTotal balance: *1,250 points*\\nTier: Silver Member\\n\\n750 more points to Gold status (2x earn rate!).\\n\\nCheck balance: yourstore.com\u002Floyalty\\nReply REDEEM to use points.\"\n  }'\n",[30407],{"type":426,"tag":549,"props":30408,"children":30409},{"__ignoreMap":417},[30410,30433,30448,30463,30474,30481,30489],{"type":426,"tag":553,"props":30411,"children":30412},{"class":555,"line":556},[30413,30417,30421,30425,30429],{"type":426,"tag":553,"props":30414,"children":30415},{"style":560},[30416],{"type":431,"value":563},{"type":426,"tag":553,"props":30418,"children":30419},{"style":566},[30420],{"type":431,"value":569},{"type":426,"tag":553,"props":30422,"children":30423},{"style":572},[30424],{"type":431,"value":575},{"type":426,"tag":553,"props":30426,"children":30427},{"style":572},[30428],{"type":431,"value":580},{"type":426,"tag":553,"props":30430,"children":30431},{"style":566},[30432],{"type":431,"value":585},{"type":426,"tag":553,"props":30434,"children":30435},{"class":555,"line":588},[30436,30440,30444],{"type":426,"tag":553,"props":30437,"children":30438},{"style":566},[30439],{"type":431,"value":594},{"type":426,"tag":553,"props":30441,"children":30442},{"style":572},[30443],{"type":431,"value":599},{"type":426,"tag":553,"props":30445,"children":30446},{"style":566},[30447],{"type":431,"value":585},{"type":426,"tag":553,"props":30449,"children":30450},{"class":555,"line":606},[30451,30455,30459],{"type":426,"tag":553,"props":30452,"children":30453},{"style":566},[30454],{"type":431,"value":594},{"type":426,"tag":553,"props":30456,"children":30457},{"style":572},[30458],{"type":431,"value":616},{"type":426,"tag":553,"props":30460,"children":30461},{"style":566},[30462],{"type":431,"value":585},{"type":426,"tag":553,"props":30464,"children":30465},{"class":555,"line":623},[30466,30470],{"type":426,"tag":553,"props":30467,"children":30468},{"style":566},[30469],{"type":431,"value":629},{"type":426,"tag":553,"props":30471,"children":30472},{"style":572},[30473],{"type":431,"value":634},{"type":426,"tag":553,"props":30475,"children":30476},{"class":555,"line":637},[30477],{"type":426,"tag":553,"props":30478,"children":30479},{"style":572},[30480],{"type":431,"value":643},{"type":426,"tag":553,"props":30482,"children":30483},{"class":555,"line":646},[30484],{"type":426,"tag":553,"props":30485,"children":30486},{"style":572},[30487],{"type":431,"value":30488},"    \"message\": \"Points Earned! 🌟\\n\\nHi Sarah!\\n\\n+150 points for your purchase\\nTotal balance: *1,250 points*\\nTier: Silver Member\\n\\n750 more points to Gold status (2x earn rate!).\\n\\nCheck balance: yourstore.com\u002Floyalty\\nReply REDEEM to use points.\"\n",{"type":426,"tag":553,"props":30490,"children":30491},{"class":555,"line":655},[30492],{"type":426,"tag":553,"props":30493,"children":30494},{"style":572},[30495],{"type":431,"value":661},{"type":426,"tag":434,"props":30497,"children":30498},{"id":4050},[30499],{"type":431,"value":4053},{"type":426,"tag":454,"props":30501,"children":30502},{},[30503,30513,30523,30533],{"type":426,"tag":458,"props":30504,"children":30505},{},[30506,30511],{"type":426,"tag":446,"props":30507,"children":30508},{},[30509],{"type":431,"value":30510},"25–35% higher repeat purchase rate",{"type":431,"value":30512}," for loyalty members vs non-members",{"type":426,"tag":458,"props":30514,"children":30515},{},[30516,30521],{"type":426,"tag":446,"props":30517,"children":30518},{},[30519],{"type":431,"value":30520},"3–5x higher engagement",{"type":431,"value":30522}," with WhatsApp loyalty updates vs email",{"type":426,"tag":458,"props":30524,"children":30525},{},[30526,30531],{"type":426,"tag":446,"props":30527,"children":30528},{},[30529],{"type":431,"value":30530},"15–20% increase",{"type":431,"value":30532}," in average order value (loyalty members spend more per order)",{"type":426,"tag":458,"props":30534,"children":30535},{},[30536,30541],{"type":426,"tag":446,"props":30537,"children":30538},{},[30539],{"type":431,"value":30540},"50% lower",{"type":431,"value":30542}," customer acquisition cost via loyalty-driven referrals",{"type":426,"tag":434,"props":30544,"children":30545},{"id":4109},[30546],{"type":431,"value":4112},{"type":426,"tag":427,"props":30548,"children":30549},{},[30550,30555],{"type":426,"tag":446,"props":30551,"children":30552},{},[30553],{"type":431,"value":30554},"Is there a ready-made loyalty program that integrates with Rapiwa?",{"type":431,"value":30556},"\nNot yet — a dedicated loyalty module is on Rapiwa's roadmap. For now, build with the database + Python pattern in this guide, or use n8n to connect your existing loyalty platform (like Smile.io or Yotpo) to Rapiwa.",{"type":426,"tag":427,"props":30558,"children":30559},{},[30560,30565],{"type":426,"tag":446,"props":30561,"children":30562},{},[30563],{"type":431,"value":30564},"Does Rapiwa charge per loyalty notification?",{"type":431,"value":30566},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":427,"props":30568,"children":30569},{},[30570,30575],{"type":426,"tag":446,"props":30571,"children":30572},{},[30573],{"type":431,"value":30574},"Can I use WhatsApp as the primary loyalty communication channel (replacing email)?",{"type":431,"value":30576},"\nYes. WhatsApp's 98% open rate makes it significantly more effective than email for loyalty communications. Collect WhatsApp opt-in at enrollment and use it as the primary channel.",{"type":426,"tag":427,"props":30578,"children":30579},{},[30580,30585],{"type":426,"tag":446,"props":30581,"children":30582},{},[30583],{"type":431,"value":30584},"How do I prevent points abuse (earning and immediately redeeming)?",{"type":431,"value":30586},"\nSet a minimum points balance before redemption (e.g., 500 points), require a minimum order value for earning, and flag suspicious activity (large orders followed by immediate redemption) for manual review.",{"type":426,"tag":427,"props":30588,"children":30589},{},[30590,30595],{"type":426,"tag":446,"props":30591,"children":30592},{},[30593],{"type":431,"value":30594},"Can this loyalty program handle thousands of members?",{"type":431,"value":30596},"\nYes. The database-backed design scales to any volume. Rapiwa sends one message per API call — use a job queue (Celery, Bull) for bulk notifications to thousands of members.",{"type":426,"tag":4164,"props":30598,"children":30599},{},[30600],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":30602},[30603,30604,30605,30606,30607,30608,30609,30610],{"id":26222,"depth":588,"text":26225},{"id":26275,"depth":588,"text":26278},{"id":11013,"depth":588,"text":11016},{"id":26954,"depth":588,"text":26957},{"id":29354,"depth":588,"text":29357},{"id":30378,"depth":588,"text":30381},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-loyalty-program-api-rapiwa.md","blog\u002Fwhatsapp-loyalty-program-api-rapiwa.md","blog\u002Fwhatsapp-loyalty-program-api-rapiwa",{"loc":36},{"_path":40,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":41,"description":42,"date":30616,"author":30617,"category":43,"_slug":30618,"image":30619,"body":30620,"_type":4187,"_id":33265,"_source":4189,"_file":33266,"_stem":33267,"_extension":4192,"sitemap":33268},"2026-03-22","Ismail","whatsapp-marketing-automation-strategies-2026","\u002Fimages\u002Fblog\u002Fwhatsapp-marketing-automation-strategies-2026.svg",{"type":423,"children":30621,"toc":33249},[30622,30627,30633,30749,30754,30760,30766,30776,30784,30792,30798,30807,31587,31593,31602,31610,31620,31633,31639,31648,31656,31664,32201,32207,32216,32224,32230,32239,32247,32253,32262,32964,32970,32979,32987,32993,33092,33098,33191,33195,33205,33215,33225,33235,33245],{"type":426,"tag":427,"props":30623,"children":30624},{},[30625],{"type":431,"value":30626},"WhatsApp marketing automation in 2026 involves sending targeted, personalized messages to customers via WhatsApp using an API — for promotions, drip campaigns, re-engagement, and loyalty programs. With a 98% open rate and no per-message fees using Rapiwa ($5\u002Fmonth), WhatsApp is the highest-ROI marketing channel for businesses in South Asia, Southeast Asia, MENA, and Latin America.",{"type":426,"tag":434,"props":30628,"children":30630},{"id":30629},"why-whatsapp-marketing-outperforms-email-in-2026",[30631],{"type":431,"value":30632},"Why WhatsApp Marketing Outperforms Email in 2026",{"type":426,"tag":10600,"props":30634,"children":30635},{},[30636,30656],{"type":426,"tag":10604,"props":30637,"children":30638},{},[30639],{"type":426,"tag":10608,"props":30640,"children":30641},{},[30642,30646,30651],{"type":426,"tag":10612,"props":30643,"children":30644},{},[30645],{"type":431,"value":22764},{"type":426,"tag":10612,"props":30647,"children":30648},{},[30649],{"type":431,"value":30650},"WhatsApp",{"type":426,"tag":10612,"props":30652,"children":30653},{},[30654],{"type":431,"value":30655},"Email",{"type":426,"tag":10623,"props":30657,"children":30658},{},[30659,30677,30695,30713,30731],{"type":426,"tag":10608,"props":30660,"children":30661},{},[30662,30667,30672],{"type":426,"tag":10630,"props":30663,"children":30664},{},[30665],{"type":431,"value":30666},"Open rate",{"type":426,"tag":10630,"props":30668,"children":30669},{},[30670],{"type":431,"value":30671},"98%",{"type":426,"tag":10630,"props":30673,"children":30674},{},[30675],{"type":431,"value":30676},"20%",{"type":426,"tag":10608,"props":30678,"children":30679},{},[30680,30685,30690],{"type":426,"tag":10630,"props":30681,"children":30682},{},[30683],{"type":431,"value":30684},"Click-through rate",{"type":426,"tag":10630,"props":30686,"children":30687},{},[30688],{"type":431,"value":30689},"45–60%",{"type":426,"tag":10630,"props":30691,"children":30692},{},[30693],{"type":431,"value":30694},"2–5%",{"type":426,"tag":10608,"props":30696,"children":30697},{},[30698,30703,30708],{"type":426,"tag":10630,"props":30699,"children":30700},{},[30701],{"type":431,"value":30702},"Response rate",{"type":426,"tag":10630,"props":30704,"children":30705},{},[30706],{"type":431,"value":30707},"40%",{"type":426,"tag":10630,"props":30709,"children":30710},{},[30711],{"type":431,"value":30712},"6%",{"type":426,"tag":10608,"props":30714,"children":30715},{},[30716,30721,30726],{"type":426,"tag":10630,"props":30717,"children":30718},{},[30719],{"type":431,"value":30720},"Time to open",{"type":426,"tag":10630,"props":30722,"children":30723},{},[30724],{"type":431,"value":30725},"\u003C 5 minutes",{"type":426,"tag":10630,"props":30727,"children":30728},{},[30729],{"type":431,"value":30730},"Hours\u002Fdays",{"type":426,"tag":10608,"props":30732,"children":30733},{},[30734,30739,30744],{"type":426,"tag":10630,"props":30735,"children":30736},{},[30737],{"type":431,"value":30738},"Unsubscribe rate",{"type":426,"tag":10630,"props":30740,"children":30741},{},[30742],{"type":431,"value":30743},"Low",{"type":426,"tag":10630,"props":30745,"children":30746},{},[30747],{"type":431,"value":30748},"1–5%",{"type":426,"tag":427,"props":30750,"children":30751},{},[30752],{"type":431,"value":30753},"These numbers explain why businesses that switch to WhatsApp marketing see immediate ROI improvements.",{"type":426,"tag":434,"props":30755,"children":30757},{"id":30756},"_8-proven-whatsapp-marketing-automation-strategies",[30758],{"type":431,"value":30759},"8 Proven WhatsApp Marketing Automation Strategies",{"type":426,"tag":515,"props":30761,"children":30763},{"id":30762},"_1-welcome-sequence-for-new-subscribers",[30764],{"type":431,"value":30765},"1. Welcome Sequence for New Subscribers",{"type":426,"tag":427,"props":30767,"children":30768},{},[30769,30774],{"type":426,"tag":446,"props":30770,"children":30771},{},[30772],{"type":431,"value":30773},"Goal",{"type":431,"value":30775},": Convert opt-ins into first-time buyers within 7 days.",{"type":426,"tag":427,"props":30777,"children":30778},{},[30779],{"type":426,"tag":446,"props":30780,"children":30781},{},[30782],{"type":431,"value":30783},"The sequence:",{"type":426,"tag":542,"props":30785,"children":30787},{"code":30786},"Day 0 (immediately):\n\"Welcome to [Brand]! 🎉\nHi {name}! You're now on our VIP WhatsApp list.\n\nAs a welcome gift — 15% off your first order:\n🎟️ Code: *WELCOME15*\nValid for 7 days: https:\u002F\u002Fyourstore.com?code=WELCOME15\n\nReply STOP at any time to unsubscribe.\"\n\nDay 2 (no purchase):\n\"Hi {name}! Still thinking it over? 😊\n\nHere's what our customers say:\n⭐ 'Best quality I've found!' — Sarah K.\n⭐ 'Fast shipping, exactly as described.' — James T.\n\nYour code WELCOME15 is still valid:\n→ https:\u002F\u002Fyourstore.com?code=WELCOME15\"\n\nDay 5 (still no purchase):\n\"Hi {name}! Last reminder ⏰\n\nYour 15% welcome discount expires in 2 days.\n\nMost popular right now:\n→ [Product 1]: [URL]\n→ [Product 2]: [URL]\n\nDon't miss out! 🎁\"\n",[30788],{"type":426,"tag":549,"props":30789,"children":30790},{"__ignoreMap":417},[30791],{"type":431,"value":30786},{"type":426,"tag":515,"props":30793,"children":30795},{"id":30794},"_2-abandoned-cart-recovery-sequence",[30796],{"type":431,"value":30797},"2. Abandoned Cart Recovery Sequence",{"type":426,"tag":427,"props":30799,"children":30800},{},[30801,30805],{"type":426,"tag":446,"props":30802,"children":30803},{},[30804],{"type":431,"value":30773},{"type":431,"value":30806},": Recover 15–25% of abandoned carts.",{"type":426,"tag":542,"props":30808,"children":30810},{"code":30809,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef run_cart_recovery_sequence(cart: dict, api_key: str) -> None:\n    \"\"\"\n    Send WhatsApp abandoned cart recovery messages.\n    Call this from your e-commerce platform's cart abandon webhook.\n    \"\"\"\n    phone = cart['customer_phone']\n    name = cart['customer_name']\n    product = cart['main_product_name']\n    cart_url = cart['recovery_url']\n    \n    # Message 1: Sent 1 hour after abandonment\n    message_1 = (\n        f\"Hi {name}! 👋 You left something behind!\\n\\n\"\n        f\"Your {product} is still in your cart:\\n\"\n        f\"→ {cart_url}\\n\\n\"\n        f\"Need help or have questions? Just reply!\"\n    )\n    \n    # Message 2: Sent 24 hours after (if no purchase)\n    message_2 = (\n        f\"Hi {name}! Still thinking about your {product}? 🛒\\n\\n\"\n        f\"Here's 10% off to help you decide:\\n\"\n        f\"🎟️ *CART10* — expires tonight\\n\"\n        f\"→ {cart_url}?discount=CART10\"\n    )\n    \n    # Send Message 1 now\n    requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': phone, 'message': message_1}\n    )\n    \n    # Schedule Message 2 for 24 hours later (if no purchase)\n    schedule_message(\n        phone=phone,\n        message=message_2,\n        send_at=datetime.now() + timedelta(hours=24),\n        cancel_if_field='order_placed',\n        cancel_check_id=cart['cart_id']\n    )\n",[30811],{"type":426,"tag":549,"props":30812,"children":30813},{"__ignoreMap":417},[30814,30825,30832,30873,30880,30888,30896,30903,30927,30950,30975,31000,31007,31015,31031,31067,31105,31134,31146,31153,31160,31168,31184,31237,31257,31277,31305,31312,31319,31327,31334,31345,31396,31428,31435,31442,31450,31458,31474,31491,31533,31554,31580],{"type":426,"tag":553,"props":30815,"children":30816},{"class":555,"line":556},[30817,30821],{"type":426,"tag":553,"props":30818,"children":30819},{"style":795},[30820],{"type":431,"value":798},{"type":426,"tag":553,"props":30822,"children":30823},{"style":684},[30824],{"type":431,"value":803},{"type":426,"tag":553,"props":30826,"children":30827},{"class":555,"line":588},[30828],{"type":426,"tag":553,"props":30829,"children":30830},{"emptyLinePlaceholder":831},[30831],{"type":431,"value":834},{"type":426,"tag":553,"props":30833,"children":30834},{"class":555,"line":606},[30835,30839,30844,30849,30853,30857,30861,30865,30869],{"type":426,"tag":553,"props":30836,"children":30837},{"style":795},[30838],{"type":431,"value":842},{"type":426,"tag":553,"props":30840,"children":30841},{"style":560},[30842],{"type":431,"value":30843}," run_cart_recovery_sequence",{"type":426,"tag":553,"props":30845,"children":30846},{"style":684},[30847],{"type":431,"value":30848},"(cart: ",{"type":426,"tag":553,"props":30850,"children":30851},{"style":566},[30852],{"type":431,"value":857},{"type":426,"tag":553,"props":30854,"children":30855},{"style":684},[30856],{"type":431,"value":890},{"type":426,"tag":553,"props":30858,"children":30859},{"style":566},[30860],{"type":431,"value":895},{"type":426,"tag":553,"props":30862,"children":30863},{"style":684},[30864],{"type":431,"value":900},{"type":426,"tag":553,"props":30866,"children":30867},{"style":566},[30868],{"type":431,"value":1840},{"type":426,"tag":553,"props":30870,"children":30871},{"style":684},[30872],{"type":431,"value":909},{"type":426,"tag":553,"props":30874,"children":30875},{"class":555,"line":623},[30876],{"type":426,"tag":553,"props":30877,"children":30878},{"style":572},[30879],{"type":431,"value":2673},{"type":426,"tag":553,"props":30881,"children":30882},{"class":555,"line":637},[30883],{"type":426,"tag":553,"props":30884,"children":30885},{"style":572},[30886],{"type":431,"value":30887},"    Send WhatsApp abandoned cart recovery messages.\n",{"type":426,"tag":553,"props":30889,"children":30890},{"class":555,"line":646},[30891],{"type":426,"tag":553,"props":30892,"children":30893},{"style":572},[30894],{"type":431,"value":30895},"    Call this from your e-commerce platform's cart abandon webhook.\n",{"type":426,"tag":553,"props":30897,"children":30898},{"class":555,"line":655},[30899],{"type":426,"tag":553,"props":30900,"children":30901},{"style":572},[30902],{"type":431,"value":2673},{"type":426,"tag":553,"props":30904,"children":30905},{"class":555,"line":1036},[30906,30910,30914,30919,30923],{"type":426,"tag":553,"props":30907,"children":30908},{"style":684},[30909],{"type":431,"value":20284},{"type":426,"tag":553,"props":30911,"children":30912},{"style":795},[30913],{"type":431,"value":957},{"type":426,"tag":553,"props":30915,"children":30916},{"style":684},[30917],{"type":431,"value":30918}," cart[",{"type":426,"tag":553,"props":30920,"children":30921},{"style":572},[30922],{"type":431,"value":21502},{"type":426,"tag":553,"props":30924,"children":30925},{"style":684},[30926],{"type":431,"value":16523},{"type":426,"tag":553,"props":30928,"children":30929},{"class":555,"line":1054},[30930,30934,30938,30942,30946],{"type":426,"tag":553,"props":30931,"children":30932},{"style":684},[30933],{"type":431,"value":23883},{"type":426,"tag":553,"props":30935,"children":30936},{"style":795},[30937],{"type":431,"value":957},{"type":426,"tag":553,"props":30939,"children":30940},{"style":684},[30941],{"type":431,"value":30918},{"type":426,"tag":553,"props":30943,"children":30944},{"style":572},[30945],{"type":431,"value":22493},{"type":426,"tag":553,"props":30947,"children":30948},{"style":684},[30949],{"type":431,"value":16523},{"type":426,"tag":553,"props":30951,"children":30952},{"class":555,"line":1080},[30953,30958,30962,30966,30971],{"type":426,"tag":553,"props":30954,"children":30955},{"style":684},[30956],{"type":431,"value":30957},"    product ",{"type":426,"tag":553,"props":30959,"children":30960},{"style":795},[30961],{"type":431,"value":957},{"type":426,"tag":553,"props":30963,"children":30964},{"style":684},[30965],{"type":431,"value":30918},{"type":426,"tag":553,"props":30967,"children":30968},{"style":572},[30969],{"type":431,"value":30970},"'main_product_name'",{"type":426,"tag":553,"props":30972,"children":30973},{"style":684},[30974],{"type":431,"value":16523},{"type":426,"tag":553,"props":30976,"children":30977},{"class":555,"line":1097},[30978,30983,30987,30991,30996],{"type":426,"tag":553,"props":30979,"children":30980},{"style":684},[30981],{"type":431,"value":30982},"    cart_url ",{"type":426,"tag":553,"props":30984,"children":30985},{"style":795},[30986],{"type":431,"value":957},{"type":426,"tag":553,"props":30988,"children":30989},{"style":684},[30990],{"type":431,"value":30918},{"type":426,"tag":553,"props":30992,"children":30993},{"style":572},[30994],{"type":431,"value":30995},"'recovery_url'",{"type":426,"tag":553,"props":30997,"children":30998},{"style":684},[30999],{"type":431,"value":16523},{"type":426,"tag":553,"props":31001,"children":31002},{"class":555,"line":1114},[31003],{"type":426,"tag":553,"props":31004,"children":31005},{"style":684},[31006],{"type":431,"value":917},{"type":426,"tag":553,"props":31008,"children":31009},{"class":555,"line":1127},[31010],{"type":426,"tag":553,"props":31011,"children":31012},{"style":1975},[31013],{"type":431,"value":31014},"    # Message 1: Sent 1 hour after abandonment\n",{"type":426,"tag":553,"props":31016,"children":31017},{"class":555,"line":1167},[31018,31023,31027],{"type":426,"tag":553,"props":31019,"children":31020},{"style":684},[31021],{"type":431,"value":31022},"    message_1 ",{"type":426,"tag":553,"props":31024,"children":31025},{"style":795},[31026],{"type":431,"value":957},{"type":426,"tag":553,"props":31028,"children":31029},{"style":684},[31030],{"type":431,"value":1207},{"type":426,"tag":553,"props":31032,"children":31033},{"class":555,"line":1184},[31034,31038,31042,31046,31050,31054,31059,31063],{"type":426,"tag":553,"props":31035,"children":31036},{"style":795},[31037],{"type":431,"value":1216},{"type":426,"tag":553,"props":31039,"children":31040},{"style":572},[31041],{"type":431,"value":4625},{"type":426,"tag":553,"props":31043,"children":31044},{"style":566},[31045],{"type":431,"value":972},{"type":426,"tag":553,"props":31047,"children":31048},{"style":684},[31049],{"type":431,"value":24468},{"type":426,"tag":553,"props":31051,"children":31052},{"style":566},[31053],{"type":431,"value":982},{"type":426,"tag":553,"props":31055,"children":31056},{"style":572},[31057],{"type":431,"value":31058},"! 👋 You left something behind!",{"type":426,"tag":553,"props":31060,"children":31061},{"style":566},[31062],{"type":431,"value":1295},{"type":426,"tag":553,"props":31064,"children":31065},{"style":572},[31066],{"type":431,"value":1250},{"type":426,"tag":553,"props":31068,"children":31069},{"class":555,"line":1192},[31070,31074,31079,31083,31088,31092,31097,31101],{"type":426,"tag":553,"props":31071,"children":31072},{"style":795},[31073],{"type":431,"value":1216},{"type":426,"tag":553,"props":31075,"children":31076},{"style":572},[31077],{"type":431,"value":31078},"\"Your ",{"type":426,"tag":553,"props":31080,"children":31081},{"style":566},[31082],{"type":431,"value":972},{"type":426,"tag":553,"props":31084,"children":31085},{"style":684},[31086],{"type":431,"value":31087},"product",{"type":426,"tag":553,"props":31089,"children":31090},{"style":566},[31091],{"type":431,"value":982},{"type":426,"tag":553,"props":31093,"children":31094},{"style":572},[31095],{"type":431,"value":31096}," is still in your cart:",{"type":426,"tag":553,"props":31098,"children":31099},{"style":566},[31100],{"type":431,"value":3661},{"type":426,"tag":553,"props":31102,"children":31103},{"style":572},[31104],{"type":431,"value":1250},{"type":426,"tag":553,"props":31106,"children":31107},{"class":555,"line":1210},[31108,31112,31117,31121,31126,31130],{"type":426,"tag":553,"props":31109,"children":31110},{"style":795},[31111],{"type":431,"value":1216},{"type":426,"tag":553,"props":31113,"children":31114},{"style":572},[31115],{"type":431,"value":31116},"\"→ ",{"type":426,"tag":553,"props":31118,"children":31119},{"style":566},[31120],{"type":431,"value":972},{"type":426,"tag":553,"props":31122,"children":31123},{"style":684},[31124],{"type":431,"value":31125},"cart_url",{"type":426,"tag":553,"props":31127,"children":31128},{"style":566},[31129],{"type":431,"value":1245},{"type":426,"tag":553,"props":31131,"children":31132},{"style":572},[31133],{"type":431,"value":1250},{"type":426,"tag":553,"props":31135,"children":31136},{"class":555,"line":1253},[31137,31141],{"type":426,"tag":553,"props":31138,"children":31139},{"style":795},[31140],{"type":431,"value":1216},{"type":426,"tag":553,"props":31142,"children":31143},{"style":572},[31144],{"type":431,"value":31145},"\"Need help or have questions? Just reply!\"\n",{"type":426,"tag":553,"props":31147,"children":31148},{"class":555,"line":1302},[31149],{"type":426,"tag":553,"props":31150,"children":31151},{"style":684},[31152],{"type":431,"value":1642},{"type":426,"tag":553,"props":31154,"children":31155},{"class":555,"line":1374},[31156],{"type":426,"tag":553,"props":31157,"children":31158},{"style":684},[31159],{"type":431,"value":917},{"type":426,"tag":553,"props":31161,"children":31162},{"class":555,"line":1414},[31163],{"type":426,"tag":553,"props":31164,"children":31165},{"style":1975},[31166],{"type":431,"value":31167},"    # Message 2: Sent 24 hours after (if no purchase)\n",{"type":426,"tag":553,"props":31169,"children":31170},{"class":555,"line":1479},[31171,31176,31180],{"type":426,"tag":553,"props":31172,"children":31173},{"style":684},[31174],{"type":431,"value":31175},"    message_2 ",{"type":426,"tag":553,"props":31177,"children":31178},{"style":795},[31179],{"type":431,"value":957},{"type":426,"tag":553,"props":31181,"children":31182},{"style":684},[31183],{"type":431,"value":1207},{"type":426,"tag":553,"props":31185,"children":31186},{"class":555,"line":1517},[31187,31191,31195,31199,31203,31207,31212,31216,31220,31224,31229,31233],{"type":426,"tag":553,"props":31188,"children":31189},{"style":795},[31190],{"type":431,"value":1216},{"type":426,"tag":553,"props":31192,"children":31193},{"style":572},[31194],{"type":431,"value":4625},{"type":426,"tag":553,"props":31196,"children":31197},{"style":566},[31198],{"type":431,"value":972},{"type":426,"tag":553,"props":31200,"children":31201},{"style":684},[31202],{"type":431,"value":24468},{"type":426,"tag":553,"props":31204,"children":31205},{"style":566},[31206],{"type":431,"value":982},{"type":426,"tag":553,"props":31208,"children":31209},{"style":572},[31210],{"type":431,"value":31211},"! Still thinking about your ",{"type":426,"tag":553,"props":31213,"children":31214},{"style":566},[31215],{"type":431,"value":972},{"type":426,"tag":553,"props":31217,"children":31218},{"style":684},[31219],{"type":431,"value":31087},{"type":426,"tag":553,"props":31221,"children":31222},{"style":566},[31223],{"type":431,"value":982},{"type":426,"tag":553,"props":31225,"children":31226},{"style":572},[31227],{"type":431,"value":31228},"? 🛒",{"type":426,"tag":553,"props":31230,"children":31231},{"style":566},[31232],{"type":431,"value":1295},{"type":426,"tag":553,"props":31234,"children":31235},{"style":572},[31236],{"type":431,"value":1250},{"type":426,"tag":553,"props":31238,"children":31239},{"class":555,"line":1560},[31240,31244,31249,31253],{"type":426,"tag":553,"props":31241,"children":31242},{"style":795},[31243],{"type":431,"value":1216},{"type":426,"tag":553,"props":31245,"children":31246},{"style":572},[31247],{"type":431,"value":31248},"\"Here's 10% off to help you decide:",{"type":426,"tag":553,"props":31250,"children":31251},{"style":566},[31252],{"type":431,"value":3661},{"type":426,"tag":553,"props":31254,"children":31255},{"style":572},[31256],{"type":431,"value":1250},{"type":426,"tag":553,"props":31258,"children":31259},{"class":555,"line":1598},[31260,31264,31269,31273],{"type":426,"tag":553,"props":31261,"children":31262},{"style":795},[31263],{"type":431,"value":1216},{"type":426,"tag":553,"props":31265,"children":31266},{"style":572},[31267],{"type":431,"value":31268},"\"🎟️ *CART10* — expires tonight",{"type":426,"tag":553,"props":31270,"children":31271},{"style":566},[31272],{"type":431,"value":3661},{"type":426,"tag":553,"props":31274,"children":31275},{"style":572},[31276],{"type":431,"value":1250},{"type":426,"tag":553,"props":31278,"children":31279},{"class":555,"line":1636},[31280,31284,31288,31292,31296,31300],{"type":426,"tag":553,"props":31281,"children":31282},{"style":795},[31283],{"type":431,"value":1216},{"type":426,"tag":553,"props":31285,"children":31286},{"style":572},[31287],{"type":431,"value":31116},{"type":426,"tag":553,"props":31289,"children":31290},{"style":566},[31291],{"type":431,"value":972},{"type":426,"tag":553,"props":31293,"children":31294},{"style":684},[31295],{"type":431,"value":31125},{"type":426,"tag":553,"props":31297,"children":31298},{"style":566},[31299],{"type":431,"value":982},{"type":426,"tag":553,"props":31301,"children":31302},{"style":572},[31303],{"type":431,"value":31304},"?discount=CART10\"\n",{"type":426,"tag":553,"props":31306,"children":31307},{"class":555,"line":1645},[31308],{"type":426,"tag":553,"props":31309,"children":31310},{"style":684},[31311],{"type":431,"value":1642},{"type":426,"tag":553,"props":31313,"children":31314},{"class":555,"line":1653},[31315],{"type":426,"tag":553,"props":31316,"children":31317},{"style":684},[31318],{"type":431,"value":917},{"type":426,"tag":553,"props":31320,"children":31321},{"class":555,"line":1667},[31322],{"type":426,"tag":553,"props":31323,"children":31324},{"style":1975},[31325],{"type":431,"value":31326},"    # Send Message 1 now\n",{"type":426,"tag":553,"props":31328,"children":31329},{"class":555,"line":1680},[31330],{"type":426,"tag":553,"props":31331,"children":31332},{"style":684},[31333],{"type":431,"value":30283},{"type":426,"tag":553,"props":31335,"children":31336},{"class":555,"line":1740},[31337,31341],{"type":426,"tag":553,"props":31338,"children":31339},{"style":572},[31340],{"type":431,"value":1673},{"type":426,"tag":553,"props":31342,"children":31343},{"style":684},[31344],{"type":431,"value":710},{"type":426,"tag":553,"props":31346,"children":31347},{"class":555,"line":1787},[31348,31352,31356,31360,31364,31368,31372,31376,31380,31384,31388,31392],{"type":426,"tag":553,"props":31349,"children":31350},{"style":1684},[31351],{"type":431,"value":1687},{"type":426,"tag":553,"props":31353,"children":31354},{"style":795},[31355],{"type":431,"value":957},{"type":426,"tag":553,"props":31357,"children":31358},{"style":684},[31359],{"type":431,"value":972},{"type":426,"tag":553,"props":31361,"children":31362},{"style":572},[31363],{"type":431,"value":1700},{"type":426,"tag":553,"props":31365,"children":31366},{"style":684},[31367],{"type":431,"value":700},{"type":426,"tag":553,"props":31369,"children":31370},{"style":795},[31371],{"type":431,"value":1709},{"type":426,"tag":553,"props":31373,"children":31374},{"style":572},[31375],{"type":431,"value":1714},{"type":426,"tag":553,"props":31377,"children":31378},{"style":566},[31379],{"type":431,"value":972},{"type":426,"tag":553,"props":31381,"children":31382},{"style":684},[31383],{"type":431,"value":1723},{"type":426,"tag":553,"props":31385,"children":31386},{"style":566},[31387],{"type":431,"value":982},{"type":426,"tag":553,"props":31389,"children":31390},{"style":572},[31391],{"type":431,"value":1732},{"type":426,"tag":553,"props":31393,"children":31394},{"style":684},[31395],{"type":431,"value":1737},{"type":426,"tag":553,"props":31397,"children":31398},{"class":555,"line":1796},[31399,31403,31407,31411,31415,31419,31423],{"type":426,"tag":553,"props":31400,"children":31401},{"style":1684},[31402],{"type":431,"value":1746},{"type":426,"tag":553,"props":31404,"children":31405},{"style":795},[31406],{"type":431,"value":957},{"type":426,"tag":553,"props":31408,"children":31409},{"style":684},[31410],{"type":431,"value":972},{"type":426,"tag":553,"props":31412,"children":31413},{"style":572},[31414],{"type":431,"value":1759},{"type":426,"tag":553,"props":31416,"children":31417},{"style":684},[31418],{"type":431,"value":8931},{"type":426,"tag":553,"props":31420,"children":31421},{"style":572},[31422],{"type":431,"value":1779},{"type":426,"tag":553,"props":31424,"children":31425},{"style":684},[31426],{"type":431,"value":31427},": message_1}\n",{"type":426,"tag":553,"props":31429,"children":31430},{"class":555,"line":1804},[31431],{"type":426,"tag":553,"props":31432,"children":31433},{"style":684},[31434],{"type":431,"value":1642},{"type":426,"tag":553,"props":31436,"children":31437},{"class":555,"line":1812},[31438],{"type":426,"tag":553,"props":31439,"children":31440},{"style":684},[31441],{"type":431,"value":917},{"type":426,"tag":553,"props":31443,"children":31444},{"class":555,"line":1847},[31445],{"type":426,"tag":553,"props":31446,"children":31447},{"style":1975},[31448],{"type":431,"value":31449},"    # Schedule Message 2 for 24 hours later (if no purchase)\n",{"type":426,"tag":553,"props":31451,"children":31452},{"class":555,"line":1856},[31453],{"type":426,"tag":553,"props":31454,"children":31455},{"style":684},[31456],{"type":431,"value":31457},"    schedule_message(\n",{"type":426,"tag":553,"props":31459,"children":31460},{"class":555,"line":1874},[31461,31466,31470],{"type":426,"tag":553,"props":31462,"children":31463},{"style":1684},[31464],{"type":431,"value":31465},"        phone",{"type":426,"tag":553,"props":31467,"children":31468},{"style":795},[31469],{"type":431,"value":957},{"type":426,"tag":553,"props":31471,"children":31472},{"style":684},[31473],{"type":431,"value":24202},{"type":426,"tag":553,"props":31475,"children":31476},{"class":555,"line":1882},[31477,31482,31486],{"type":426,"tag":553,"props":31478,"children":31479},{"style":1684},[31480],{"type":431,"value":31481},"        message",{"type":426,"tag":553,"props":31483,"children":31484},{"style":795},[31485],{"type":431,"value":957},{"type":426,"tag":553,"props":31487,"children":31488},{"style":684},[31489],{"type":431,"value":31490},"message_2,\n",{"type":426,"tag":553,"props":31492,"children":31493},{"class":555,"line":1981},[31494,31499,31503,31508,31512,31516,31520,31524,31529],{"type":426,"tag":553,"props":31495,"children":31496},{"style":1684},[31497],{"type":431,"value":31498},"        send_at",{"type":426,"tag":553,"props":31500,"children":31501},{"style":795},[31502],{"type":431,"value":957},{"type":426,"tag":553,"props":31504,"children":31505},{"style":684},[31506],{"type":431,"value":31507},"datetime.now() ",{"type":426,"tag":553,"props":31509,"children":31510},{"style":795},[31511],{"type":431,"value":2033},{"type":426,"tag":553,"props":31513,"children":31514},{"style":684},[31515],{"type":431,"value":2038},{"type":426,"tag":553,"props":31517,"children":31518},{"style":1684},[31519],{"type":431,"value":22291},{"type":426,"tag":553,"props":31521,"children":31522},{"style":795},[31523],{"type":431,"value":957},{"type":426,"tag":553,"props":31525,"children":31526},{"style":566},[31527],{"type":431,"value":31528},"24",{"type":426,"tag":553,"props":31530,"children":31531},{"style":684},[31532],{"type":431,"value":11615},{"type":426,"tag":553,"props":31534,"children":31535},{"class":555,"line":1989},[31536,31541,31545,31550],{"type":426,"tag":553,"props":31537,"children":31538},{"style":1684},[31539],{"type":431,"value":31540},"        cancel_if_field",{"type":426,"tag":553,"props":31542,"children":31543},{"style":795},[31544],{"type":431,"value":957},{"type":426,"tag":553,"props":31546,"children":31547},{"style":572},[31548],{"type":431,"value":31549},"'order_placed'",{"type":426,"tag":553,"props":31551,"children":31552},{"style":684},[31553],{"type":431,"value":710},{"type":426,"tag":553,"props":31555,"children":31556},{"class":555,"line":2013},[31557,31562,31566,31571,31576],{"type":426,"tag":553,"props":31558,"children":31559},{"style":1684},[31560],{"type":431,"value":31561},"        cancel_check_id",{"type":426,"tag":553,"props":31563,"children":31564},{"style":795},[31565],{"type":431,"value":957},{"type":426,"tag":553,"props":31567,"children":31568},{"style":684},[31569],{"type":431,"value":31570},"cart[",{"type":426,"tag":553,"props":31572,"children":31573},{"style":572},[31574],{"type":431,"value":31575},"'cart_id'",{"type":426,"tag":553,"props":31577,"children":31578},{"style":684},[31579],{"type":431,"value":16523},{"type":426,"tag":553,"props":31581,"children":31582},{"class":555,"line":2055},[31583],{"type":426,"tag":553,"props":31584,"children":31585},{"style":684},[31586],{"type":431,"value":1642},{"type":426,"tag":515,"props":31588,"children":31590},{"id":31589},"_3-flash-sale-announcement",[31591],{"type":431,"value":31592},"3. Flash Sale Announcement",{"type":426,"tag":427,"props":31594,"children":31595},{},[31596,31600],{"type":426,"tag":446,"props":31597,"children":31598},{},[31599],{"type":431,"value":30773},{"type":431,"value":31601},": Drive 3–5x higher open rates vs email for time-limited promotions.",{"type":426,"tag":542,"props":31603,"children":31605},{"code":31604},"\"⚡ FLASH SALE — 4 Hours Only!\n\nHi {name}! We're running a limited sale today only:\n\n*50% OFF everything* until midnight\nUse code: *FLASH50*\n\nShop now: https:\u002F\u002Fyourstore.com\u002Fsale\n\nOnly 100 items at this price — act fast! ⏰\"\n",[31606],{"type":426,"tag":549,"props":31607,"children":31608},{"__ignoreMap":417},[31609],{"type":431,"value":31604},{"type":426,"tag":427,"props":31611,"children":31612},{},[31613,31618],{"type":426,"tag":446,"props":31614,"children":31615},{},[31616],{"type":431,"value":31617},"Best practice",{"type":431,"value":31619},": Send flash sale announcements at:",{"type":426,"tag":454,"props":31621,"children":31622},{},[31623,31628],{"type":426,"tag":458,"props":31624,"children":31625},{},[31626],{"type":431,"value":31627},"9:00 AM local time (high engagement)",{"type":426,"tag":458,"props":31629,"children":31630},{},[31631],{"type":431,"value":31632},"Or 7:00 PM local time (evening shopping behavior)",{"type":426,"tag":515,"props":31634,"children":31636},{"id":31635},"_4-re-engagement-campaign-lapsed-customers",[31637],{"type":431,"value":31638},"4. Re-Engagement Campaign (Lapsed Customers)",{"type":426,"tag":427,"props":31640,"children":31641},{},[31642,31646],{"type":426,"tag":446,"props":31643,"children":31644},{},[31645],{"type":431,"value":30773},{"type":431,"value":31647},": Bring back customers who haven't purchased in 60+ days.",{"type":426,"tag":542,"props":31649,"children":31651},{"code":31650},"\"Hi {name}! We miss you! 😊\n\nYou haven't visited [Brand] in a while — so we have a special gift:\n\n*20% off your next order* — just for coming back:\n🎟️ Code: *COMEBACK20*\nValid for 7 days: https:\u002F\u002Fyourstore.com\n\nP.S. We've added new products since your last visit! 👀\"\n",[31652],{"type":426,"tag":549,"props":31653,"children":31654},{"__ignoreMap":417},[31655],{"type":431,"value":31650},{"type":426,"tag":427,"props":31657,"children":31658},{},[31659],{"type":426,"tag":446,"props":31660,"children":31661},{},[31662],{"type":431,"value":31663},"Python implementation — daily job:",{"type":426,"tag":542,"props":31665,"children":31667},{"code":31666,"language":784,"meta":417,"className":785,"style":417},"def run_reengagement_campaign(db, api_key: str) -> None:\n    \"\"\"Find lapsed customers and send re-engagement messages.\"\"\"\n    lapsed = db.query(\"\"\"\n        SELECT phone, name\n        FROM customers\n        WHERE last_purchase_date \u003C NOW() - INTERVAL '60 days'\n          AND reengagement_sent = FALSE\n          AND opted_in_whatsapp = TRUE\n          AND phone IS NOT NULL\n    \"\"\")\n    \n    for customer in lapsed:\n        message = (\n            f\"Hi {customer['name']}! We miss you! 😊\\n\\n\"\n            f\"Here's 20% off your next order:\\n\"\n            f\"🎟️ Code: COMEBACK20\\n\"\n            f\"→ https:\u002F\u002Fyourstore.com\\n\\n\"\n            f\"Valid for 7 days.\"\n        )\n        \n        result = requests.post(\n            'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n            headers={'Authorization': f'Bearer {api_key}'},\n            json={'number': customer['phone'], 'message': message}\n        ).json()\n        \n        if result.get('status') == 'success':\n            db.execute(\n                \"UPDATE customers SET reengagement_sent = TRUE WHERE phone = %s\",\n                [customer['phone']]\n            )\n        \n        time.sleep(1)  # Rate limit: 1 message per second\n",[31668],{"type":426,"tag":549,"props":31669,"children":31670},{"__ignoreMap":417},[31671,31703,31711,31731,31739,31747,31755,31763,31771,31779,31790,31797,31817,31832,31876,31896,31916,31936,31948,31955,31962,31977,31988,32039,32079,32086,32093,32124,32132,32152,32167,32174,32181],{"type":426,"tag":553,"props":31672,"children":31673},{"class":555,"line":556},[31674,31678,31683,31687,31691,31695,31699],{"type":426,"tag":553,"props":31675,"children":31676},{"style":795},[31677],{"type":431,"value":842},{"type":426,"tag":553,"props":31679,"children":31680},{"style":560},[31681],{"type":431,"value":31682}," run_reengagement_campaign",{"type":426,"tag":553,"props":31684,"children":31685},{"style":684},[31686],{"type":431,"value":1827},{"type":426,"tag":553,"props":31688,"children":31689},{"style":566},[31690],{"type":431,"value":895},{"type":426,"tag":553,"props":31692,"children":31693},{"style":684},[31694],{"type":431,"value":900},{"type":426,"tag":553,"props":31696,"children":31697},{"style":566},[31698],{"type":431,"value":1840},{"type":426,"tag":553,"props":31700,"children":31701},{"style":684},[31702],{"type":431,"value":909},{"type":426,"tag":553,"props":31704,"children":31705},{"class":555,"line":588},[31706],{"type":426,"tag":553,"props":31707,"children":31708},{"style":572},[31709],{"type":431,"value":31710},"    \"\"\"Find lapsed customers and send re-engagement messages.\"\"\"\n",{"type":426,"tag":553,"props":31712,"children":31713},{"class":555,"line":606},[31714,31719,31723,31727],{"type":426,"tag":553,"props":31715,"children":31716},{"style":684},[31717],{"type":431,"value":31718},"    lapsed ",{"type":426,"tag":553,"props":31720,"children":31721},{"style":795},[31722],{"type":431,"value":957},{"type":426,"tag":553,"props":31724,"children":31725},{"style":684},[31726],{"type":431,"value":2079},{"type":426,"tag":553,"props":31728,"children":31729},{"style":572},[31730],{"type":431,"value":2084},{"type":426,"tag":553,"props":31732,"children":31733},{"class":555,"line":623},[31734],{"type":426,"tag":553,"props":31735,"children":31736},{"style":572},[31737],{"type":431,"value":31738},"        SELECT phone, name\n",{"type":426,"tag":553,"props":31740,"children":31741},{"class":555,"line":637},[31742],{"type":426,"tag":553,"props":31743,"children":31744},{"style":572},[31745],{"type":431,"value":31746},"        FROM customers\n",{"type":426,"tag":553,"props":31748,"children":31749},{"class":555,"line":646},[31750],{"type":426,"tag":553,"props":31751,"children":31752},{"style":572},[31753],{"type":431,"value":31754},"        WHERE last_purchase_date \u003C NOW() - INTERVAL '60 days'\n",{"type":426,"tag":553,"props":31756,"children":31757},{"class":555,"line":655},[31758],{"type":426,"tag":553,"props":31759,"children":31760},{"style":572},[31761],{"type":431,"value":31762},"          AND reengagement_sent = FALSE\n",{"type":426,"tag":553,"props":31764,"children":31765},{"class":555,"line":1036},[31766],{"type":426,"tag":553,"props":31767,"children":31768},{"style":572},[31769],{"type":431,"value":31770},"          AND opted_in_whatsapp = TRUE\n",{"type":426,"tag":553,"props":31772,"children":31773},{"class":555,"line":1054},[31774],{"type":426,"tag":553,"props":31775,"children":31776},{"style":572},[31777],{"type":431,"value":31778},"          AND phone IS NOT NULL\n",{"type":426,"tag":553,"props":31780,"children":31781},{"class":555,"line":1080},[31782,31786],{"type":426,"tag":553,"props":31783,"children":31784},{"style":572},[31785],{"type":431,"value":15510},{"type":426,"tag":553,"props":31787,"children":31788},{"style":684},[31789],{"type":431,"value":3262},{"type":426,"tag":553,"props":31791,"children":31792},{"class":555,"line":1097},[31793],{"type":426,"tag":553,"props":31794,"children":31795},{"style":684},[31796],{"type":431,"value":917},{"type":426,"tag":553,"props":31798,"children":31799},{"class":555,"line":1114},[31800,31804,31808,31812],{"type":426,"tag":553,"props":31801,"children":31802},{"style":795},[31803],{"type":431,"value":1995},{"type":426,"tag":553,"props":31805,"children":31806},{"style":684},[31807],{"type":431,"value":25369},{"type":426,"tag":553,"props":31809,"children":31810},{"style":795},[31811],{"type":431,"value":2005},{"type":426,"tag":553,"props":31813,"children":31814},{"style":684},[31815],{"type":431,"value":31816}," lapsed:\n",{"type":426,"tag":553,"props":31818,"children":31819},{"class":555,"line":1127},[31820,31824,31828],{"type":426,"tag":553,"props":31821,"children":31822},{"style":684},[31823],{"type":431,"value":5864},{"type":426,"tag":553,"props":31825,"children":31826},{"style":795},[31827],{"type":431,"value":957},{"type":426,"tag":553,"props":31829,"children":31830},{"style":684},[31831],{"type":431,"value":1207},{"type":426,"tag":553,"props":31833,"children":31834},{"class":555,"line":1167},[31835,31839,31843,31847,31851,31855,31859,31863,31868,31872],{"type":426,"tag":553,"props":31836,"children":31837},{"style":795},[31838],{"type":431,"value":3740},{"type":426,"tag":553,"props":31840,"children":31841},{"style":572},[31842],{"type":431,"value":4625},{"type":426,"tag":553,"props":31844,"children":31845},{"style":566},[31846],{"type":431,"value":972},{"type":426,"tag":553,"props":31848,"children":31849},{"style":684},[31850],{"type":431,"value":25409},{"type":426,"tag":553,"props":31852,"children":31853},{"style":572},[31854],{"type":431,"value":1277},{"type":426,"tag":553,"props":31856,"children":31857},{"style":684},[31858],{"type":431,"value":1240},{"type":426,"tag":553,"props":31860,"children":31861},{"style":566},[31862],{"type":431,"value":982},{"type":426,"tag":553,"props":31864,"children":31865},{"style":572},[31866],{"type":431,"value":31867},"! We miss you! 😊",{"type":426,"tag":553,"props":31869,"children":31870},{"style":566},[31871],{"type":431,"value":1295},{"type":426,"tag":553,"props":31873,"children":31874},{"style":572},[31875],{"type":431,"value":1250},{"type":426,"tag":553,"props":31877,"children":31878},{"class":555,"line":1184},[31879,31883,31888,31892],{"type":426,"tag":553,"props":31880,"children":31881},{"style":795},[31882],{"type":431,"value":3740},{"type":426,"tag":553,"props":31884,"children":31885},{"style":572},[31886],{"type":431,"value":31887},"\"Here's 20% off your next order:",{"type":426,"tag":553,"props":31889,"children":31890},{"style":566},[31891],{"type":431,"value":3661},{"type":426,"tag":553,"props":31893,"children":31894},{"style":572},[31895],{"type":431,"value":1250},{"type":426,"tag":553,"props":31897,"children":31898},{"class":555,"line":1192},[31899,31903,31908,31912],{"type":426,"tag":553,"props":31900,"children":31901},{"style":795},[31902],{"type":431,"value":3740},{"type":426,"tag":553,"props":31904,"children":31905},{"style":572},[31906],{"type":431,"value":31907},"\"🎟️ Code: COMEBACK20",{"type":426,"tag":553,"props":31909,"children":31910},{"style":566},[31911],{"type":431,"value":3661},{"type":426,"tag":553,"props":31913,"children":31914},{"style":572},[31915],{"type":431,"value":1250},{"type":426,"tag":553,"props":31917,"children":31918},{"class":555,"line":1210},[31919,31923,31928,31932],{"type":426,"tag":553,"props":31920,"children":31921},{"style":795},[31922],{"type":431,"value":3740},{"type":426,"tag":553,"props":31924,"children":31925},{"style":572},[31926],{"type":431,"value":31927},"\"→ https:\u002F\u002Fyourstore.com",{"type":426,"tag":553,"props":31929,"children":31930},{"style":566},[31931],{"type":431,"value":1295},{"type":426,"tag":553,"props":31933,"children":31934},{"style":572},[31935],{"type":431,"value":1250},{"type":426,"tag":553,"props":31937,"children":31938},{"class":555,"line":1253},[31939,31943],{"type":426,"tag":553,"props":31940,"children":31941},{"style":795},[31942],{"type":431,"value":3740},{"type":426,"tag":553,"props":31944,"children":31945},{"style":572},[31946],{"type":431,"value":31947},"\"Valid for 7 days.\"\n",{"type":426,"tag":553,"props":31949,"children":31950},{"class":555,"line":1302},[31951],{"type":426,"tag":553,"props":31952,"children":31953},{"style":684},[31954],{"type":431,"value":6037},{"type":426,"tag":553,"props":31956,"children":31957},{"class":555,"line":1374},[31958],{"type":426,"tag":553,"props":31959,"children":31960},{"style":684},[31961],{"type":431,"value":2061},{"type":426,"tag":553,"props":31963,"children":31964},{"class":555,"line":1414},[31965,31969,31973],{"type":426,"tag":553,"props":31966,"children":31967},{"style":684},[31968],{"type":431,"value":2836},{"type":426,"tag":553,"props":31970,"children":31971},{"style":795},[31972],{"type":431,"value":957},{"type":426,"tag":553,"props":31974,"children":31975},{"style":684},[31976],{"type":431,"value":1664},{"type":426,"tag":553,"props":31978,"children":31979},{"class":555,"line":1479},[31980,31984],{"type":426,"tag":553,"props":31981,"children":31982},{"style":572},[31983],{"type":431,"value":2852},{"type":426,"tag":553,"props":31985,"children":31986},{"style":684},[31987],{"type":431,"value":710},{"type":426,"tag":553,"props":31989,"children":31990},{"class":555,"line":1517},[31991,31995,31999,32003,32007,32011,32015,32019,32023,32027,32031,32035],{"type":426,"tag":553,"props":31992,"children":31993},{"style":1684},[31994],{"type":431,"value":2864},{"type":426,"tag":553,"props":31996,"children":31997},{"style":795},[31998],{"type":431,"value":957},{"type":426,"tag":553,"props":32000,"children":32001},{"style":684},[32002],{"type":431,"value":972},{"type":426,"tag":553,"props":32004,"children":32005},{"style":572},[32006],{"type":431,"value":1700},{"type":426,"tag":553,"props":32008,"children":32009},{"style":684},[32010],{"type":431,"value":700},{"type":426,"tag":553,"props":32012,"children":32013},{"style":795},[32014],{"type":431,"value":1709},{"type":426,"tag":553,"props":32016,"children":32017},{"style":572},[32018],{"type":431,"value":1714},{"type":426,"tag":553,"props":32020,"children":32021},{"style":566},[32022],{"type":431,"value":972},{"type":426,"tag":553,"props":32024,"children":32025},{"style":684},[32026],{"type":431,"value":1723},{"type":426,"tag":553,"props":32028,"children":32029},{"style":566},[32030],{"type":431,"value":982},{"type":426,"tag":553,"props":32032,"children":32033},{"style":572},[32034],{"type":431,"value":1732},{"type":426,"tag":553,"props":32036,"children":32037},{"style":684},[32038],{"type":431,"value":1737},{"type":426,"tag":553,"props":32040,"children":32041},{"class":555,"line":1560},[32042,32046,32050,32054,32058,32063,32067,32071,32075],{"type":426,"tag":553,"props":32043,"children":32044},{"style":1684},[32045],{"type":431,"value":2916},{"type":426,"tag":553,"props":32047,"children":32048},{"style":795},[32049],{"type":431,"value":957},{"type":426,"tag":553,"props":32051,"children":32052},{"style":684},[32053],{"type":431,"value":972},{"type":426,"tag":553,"props":32055,"children":32056},{"style":572},[32057],{"type":431,"value":1759},{"type":426,"tag":553,"props":32059,"children":32060},{"style":684},[32061],{"type":431,"value":32062},": customer[",{"type":426,"tag":553,"props":32064,"children":32065},{"style":572},[32066],{"type":431,"value":1769},{"type":426,"tag":553,"props":32068,"children":32069},{"style":684},[32070],{"type":431,"value":1774},{"type":426,"tag":553,"props":32072,"children":32073},{"style":572},[32074],{"type":431,"value":1779},{"type":426,"tag":553,"props":32076,"children":32077},{"style":684},[32078],{"type":431,"value":1784},{"type":426,"tag":553,"props":32080,"children":32081},{"class":555,"line":1598},[32082],{"type":426,"tag":553,"props":32083,"children":32084},{"style":684},[32085],{"type":431,"value":2957},{"type":426,"tag":553,"props":32087,"children":32088},{"class":555,"line":1636},[32089],{"type":426,"tag":553,"props":32090,"children":32091},{"style":684},[32092],{"type":431,"value":2061},{"type":426,"tag":553,"props":32094,"children":32095},{"class":555,"line":1645},[32096,32100,32104,32108,32112,32116,32120],{"type":426,"tag":553,"props":32097,"children":32098},{"style":795},[32099],{"type":431,"value":2972},{"type":426,"tag":553,"props":32101,"children":32102},{"style":684},[32103],{"type":431,"value":2977},{"type":426,"tag":553,"props":32105,"children":32106},{"style":572},[32107],{"type":431,"value":2982},{"type":426,"tag":553,"props":32109,"children":32110},{"style":684},[32111],{"type":431,"value":2987},{"type":426,"tag":553,"props":32113,"children":32114},{"style":795},[32115],{"type":431,"value":1069},{"type":426,"tag":553,"props":32117,"children":32118},{"style":572},[32119],{"type":431,"value":2996},{"type":426,"tag":553,"props":32121,"children":32122},{"style":684},[32123],{"type":431,"value":909},{"type":426,"tag":553,"props":32125,"children":32126},{"class":555,"line":1653},[32127],{"type":426,"tag":553,"props":32128,"children":32129},{"style":684},[32130],{"type":431,"value":32131},"            db.execute(\n",{"type":426,"tag":553,"props":32133,"children":32134},{"class":555,"line":1667},[32135,32140,32144,32148],{"type":426,"tag":553,"props":32136,"children":32137},{"style":572},[32138],{"type":431,"value":32139},"                \"UPDATE customers SET reengagement_sent = TRUE WHERE phone = ",{"type":426,"tag":553,"props":32141,"children":32142},{"style":566},[32143],{"type":431,"value":2143},{"type":426,"tag":553,"props":32145,"children":32146},{"style":572},[32147],{"type":431,"value":1527},{"type":426,"tag":553,"props":32149,"children":32150},{"style":684},[32151],{"type":431,"value":710},{"type":426,"tag":553,"props":32153,"children":32154},{"class":555,"line":1680},[32155,32159,32163],{"type":426,"tag":553,"props":32156,"children":32157},{"style":684},[32158],{"type":431,"value":25617},{"type":426,"tag":553,"props":32160,"children":32161},{"style":572},[32162],{"type":431,"value":1769},{"type":426,"tag":553,"props":32164,"children":32165},{"style":684},[32166],{"type":431,"value":25626},{"type":426,"tag":553,"props":32168,"children":32169},{"class":555,"line":1740},[32170],{"type":426,"tag":553,"props":32171,"children":32172},{"style":684},[32173],{"type":431,"value":2551},{"type":426,"tag":553,"props":32175,"children":32176},{"class":555,"line":1787},[32177],{"type":426,"tag":553,"props":32178,"children":32179},{"style":684},[32180],{"type":431,"value":2061},{"type":426,"tag":553,"props":32182,"children":32183},{"class":555,"line":1796},[32184,32188,32192,32196],{"type":426,"tag":553,"props":32185,"children":32186},{"style":684},[32187],{"type":431,"value":3089},{"type":426,"tag":553,"props":32189,"children":32190},{"style":566},[32191],{"type":431,"value":1921},{"type":426,"tag":553,"props":32193,"children":32194},{"style":684},[32195],{"type":431,"value":3099},{"type":426,"tag":553,"props":32197,"children":32198},{"style":1975},[32199],{"type":431,"value":32200},"# Rate limit: 1 message per second\n",{"type":426,"tag":515,"props":32202,"children":32204},{"id":32203},"_5-loyalty-program-updates",[32205],{"type":431,"value":32206},"5. Loyalty Program Updates",{"type":426,"tag":427,"props":32208,"children":32209},{},[32210,32214],{"type":426,"tag":446,"props":32211,"children":32212},{},[32213],{"type":431,"value":30773},{"type":431,"value":32215},": Increase repeat purchases by keeping loyalty members engaged.",{"type":426,"tag":542,"props":32217,"children":32219},{"code":32218},"\"Hi {name}! 🌟 Your loyalty update:\n\nPoints balance: 1,250 points\nStatus: Gold Member\n\nYou're 250 points away from Platinum status (free shipping + 15% off every order)!\n\nEarn points: [Buy now →] (1 point per $1 spent)\nRedeem points: [Redeem →] (100 points = $1 discount)\n\nThank you for being a loyal customer! 💛\"\n",[32220],{"type":426,"tag":549,"props":32221,"children":32222},{"__ignoreMap":417},[32223],{"type":431,"value":32218},{"type":426,"tag":515,"props":32225,"children":32227},{"id":32226},"_6-product-education-drip-campaign",[32228],{"type":431,"value":32229},"6. Product Education Drip Campaign",{"type":426,"tag":427,"props":32231,"children":32232},{},[32233,32237],{"type":426,"tag":446,"props":32234,"children":32235},{},[32236],{"type":431,"value":30773},{"type":431,"value":32238},": Educate customers about product features to increase usage and reduce churn (especially for SaaS\u002Fsubscriptions).",{"type":426,"tag":542,"props":32240,"children":32242},{"code":32241},"Week 1: Basics\n\"Hi {name}! Quick Rapiwa tip 💡\nDid you know you can send WhatsApp messages in 8 languages using the same API endpoint?\nGuide: https:\u002F\u002Frapiwa.com\u002Fdocs\u002Flanguages\"\n\nWeek 2: Advanced feature\n\"Hi {name}! Advanced tip 🚀\nUse Rapiwa webhooks to receive incoming messages in real-time.\nSet up in 5 minutes: https:\u002F\u002Frapiwa.com\u002Fdocs\u002Fwebhooks\"\n\nWeek 3: Integration\n\"Hi {name}! Power user tip ⚡\nConnect Rapiwa with n8n to automate WhatsApp without code.\n1,300+ developers use our n8n template:\n→ https:\u002F\u002Fn8n.io\u002Fcreators\u002Frapiwa\"\n",[32243],{"type":426,"tag":549,"props":32244,"children":32245},{"__ignoreMap":417},[32246],{"type":431,"value":32241},{"type":426,"tag":515,"props":32248,"children":32250},{"id":32249},"_7-cross-sell-campaign-based-on-purchase-history",[32251],{"type":431,"value":32252},"7. Cross-Sell Campaign Based on Purchase History",{"type":426,"tag":427,"props":32254,"children":32255},{},[32256,32260],{"type":426,"tag":446,"props":32257,"children":32258},{},[32259],{"type":431,"value":30773},{"type":431,"value":32261},": Increase average order value with relevant product recommendations.",{"type":426,"tag":542,"props":32263,"children":32265},{"code":32264,"language":784,"meta":417,"className":785,"style":417},"def send_personalized_cross_sell(customer: dict, api_key: str) -> dict:\n    \"\"\"Send cross-sell based on purchased product category.\"\"\"\n    purchased_category = customer['last_purchase_category']\n    \n    cross_sell_map = {\n        'coffee-makers': {\n            'product': 'Premium Coffee Beans',\n            'url': 'https:\u002F\u002Fyourstore.com\u002Fcoffee-beans',\n            'reason': 'Perfect for your new coffee maker'\n        },\n        'running-shoes': {\n            'product': 'Running Socks (Pack of 3)',\n            'url': 'https:\u002F\u002Fyourstore.com\u002Frunning-socks',\n            'reason': 'Best match for your running shoes'\n        }\n    }\n    \n    cross_sell = cross_sell_map.get(purchased_category)\n    if not cross_sell:\n        return {}\n    \n    message = (\n        f\"Hi {customer['name']}! 👋\\n\\n\"\n        f\"Customers who bought your {customer['last_product']} also loved:\\n\\n\"\n        f\"*{cross_sell['product']}*\\n\"\n        f\"✅ {cross_sell['reason']}\\n\\n\"\n        f\"*10% off* with code *CROSS10*:\\n\"\n        f\"→ {cross_sell['url']}\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': customer['phone'], 'message': message}\n    ).json()\n",[32266],{"type":426,"tag":549,"props":32267,"children":32268},{"__ignoreMap":417},[32269,32310,32318,32344,32351,32367,32379,32400,32421,32438,32446,32458,32478,32498,32514,32521,32528,32535,32552,32568,32580,32587,32602,32646,32692,32738,32775,32795,32831,32838,32845,32856,32867,32918,32957],{"type":426,"tag":553,"props":32270,"children":32271},{"class":555,"line":556},[32272,32276,32281,32286,32290,32294,32298,32302,32306],{"type":426,"tag":553,"props":32273,"children":32274},{"style":795},[32275],{"type":431,"value":842},{"type":426,"tag":553,"props":32277,"children":32278},{"style":560},[32279],{"type":431,"value":32280}," send_personalized_cross_sell",{"type":426,"tag":553,"props":32282,"children":32283},{"style":684},[32284],{"type":431,"value":32285},"(customer: ",{"type":426,"tag":553,"props":32287,"children":32288},{"style":566},[32289],{"type":431,"value":857},{"type":426,"tag":553,"props":32291,"children":32292},{"style":684},[32293],{"type":431,"value":890},{"type":426,"tag":553,"props":32295,"children":32296},{"style":566},[32297],{"type":431,"value":895},{"type":426,"tag":553,"props":32299,"children":32300},{"style":684},[32301],{"type":431,"value":900},{"type":426,"tag":553,"props":32303,"children":32304},{"style":566},[32305],{"type":431,"value":857},{"type":426,"tag":553,"props":32307,"children":32308},{"style":684},[32309],{"type":431,"value":909},{"type":426,"tag":553,"props":32311,"children":32312},{"class":555,"line":588},[32313],{"type":426,"tag":553,"props":32314,"children":32315},{"style":572},[32316],{"type":431,"value":32317},"    \"\"\"Send cross-sell based on purchased product category.\"\"\"\n",{"type":426,"tag":553,"props":32319,"children":32320},{"class":555,"line":606},[32321,32326,32330,32335,32340],{"type":426,"tag":553,"props":32322,"children":32323},{"style":684},[32324],{"type":431,"value":32325},"    purchased_category ",{"type":426,"tag":553,"props":32327,"children":32328},{"style":795},[32329],{"type":431,"value":957},{"type":426,"tag":553,"props":32331,"children":32332},{"style":684},[32333],{"type":431,"value":32334}," customer[",{"type":426,"tag":553,"props":32336,"children":32337},{"style":572},[32338],{"type":431,"value":32339},"'last_purchase_category'",{"type":426,"tag":553,"props":32341,"children":32342},{"style":684},[32343],{"type":431,"value":16523},{"type":426,"tag":553,"props":32345,"children":32346},{"class":555,"line":623},[32347],{"type":426,"tag":553,"props":32348,"children":32349},{"style":684},[32350],{"type":431,"value":917},{"type":426,"tag":553,"props":32352,"children":32353},{"class":555,"line":637},[32354,32359,32363],{"type":426,"tag":553,"props":32355,"children":32356},{"style":684},[32357],{"type":431,"value":32358},"    cross_sell_map ",{"type":426,"tag":553,"props":32360,"children":32361},{"style":795},[32362],{"type":431,"value":957},{"type":426,"tag":553,"props":32364,"children":32365},{"style":684},[32366],{"type":431,"value":5458},{"type":426,"tag":553,"props":32368,"children":32369},{"class":555,"line":646},[32370,32375],{"type":426,"tag":553,"props":32371,"children":32372},{"style":572},[32373],{"type":431,"value":32374},"        'coffee-makers'",{"type":426,"tag":553,"props":32376,"children":32377},{"style":684},[32378],{"type":431,"value":17102},{"type":426,"tag":553,"props":32380,"children":32381},{"class":555,"line":655},[32382,32387,32391,32396],{"type":426,"tag":553,"props":32383,"children":32384},{"style":572},[32385],{"type":431,"value":32386},"            'product'",{"type":426,"tag":553,"props":32388,"children":32389},{"style":684},[32390],{"type":431,"value":700},{"type":426,"tag":553,"props":32392,"children":32393},{"style":572},[32394],{"type":431,"value":32395},"'Premium Coffee Beans'",{"type":426,"tag":553,"props":32397,"children":32398},{"style":684},[32399],{"type":431,"value":710},{"type":426,"tag":553,"props":32401,"children":32402},{"class":555,"line":1036},[32403,32408,32412,32417],{"type":426,"tag":553,"props":32404,"children":32405},{"style":572},[32406],{"type":431,"value":32407},"            'url'",{"type":426,"tag":553,"props":32409,"children":32410},{"style":684},[32411],{"type":431,"value":700},{"type":426,"tag":553,"props":32413,"children":32414},{"style":572},[32415],{"type":431,"value":32416},"'https:\u002F\u002Fyourstore.com\u002Fcoffee-beans'",{"type":426,"tag":553,"props":32418,"children":32419},{"style":684},[32420],{"type":431,"value":710},{"type":426,"tag":553,"props":32422,"children":32423},{"class":555,"line":1054},[32424,32429,32433],{"type":426,"tag":553,"props":32425,"children":32426},{"style":572},[32427],{"type":431,"value":32428},"            'reason'",{"type":426,"tag":553,"props":32430,"children":32431},{"style":684},[32432],{"type":431,"value":700},{"type":426,"tag":553,"props":32434,"children":32435},{"style":572},[32436],{"type":431,"value":32437},"'Perfect for your new coffee maker'\n",{"type":426,"tag":553,"props":32439,"children":32440},{"class":555,"line":1080},[32441],{"type":426,"tag":553,"props":32442,"children":32443},{"style":684},[32444],{"type":431,"value":32445},"        },\n",{"type":426,"tag":553,"props":32447,"children":32448},{"class":555,"line":1097},[32449,32454],{"type":426,"tag":553,"props":32450,"children":32451},{"style":572},[32452],{"type":431,"value":32453},"        'running-shoes'",{"type":426,"tag":553,"props":32455,"children":32456},{"style":684},[32457],{"type":431,"value":17102},{"type":426,"tag":553,"props":32459,"children":32460},{"class":555,"line":1114},[32461,32465,32469,32474],{"type":426,"tag":553,"props":32462,"children":32463},{"style":572},[32464],{"type":431,"value":32386},{"type":426,"tag":553,"props":32466,"children":32467},{"style":684},[32468],{"type":431,"value":700},{"type":426,"tag":553,"props":32470,"children":32471},{"style":572},[32472],{"type":431,"value":32473},"'Running Socks (Pack of 3)'",{"type":426,"tag":553,"props":32475,"children":32476},{"style":684},[32477],{"type":431,"value":710},{"type":426,"tag":553,"props":32479,"children":32480},{"class":555,"line":1127},[32481,32485,32489,32494],{"type":426,"tag":553,"props":32482,"children":32483},{"style":572},[32484],{"type":431,"value":32407},{"type":426,"tag":553,"props":32486,"children":32487},{"style":684},[32488],{"type":431,"value":700},{"type":426,"tag":553,"props":32490,"children":32491},{"style":572},[32492],{"type":431,"value":32493},"'https:\u002F\u002Fyourstore.com\u002Frunning-socks'",{"type":426,"tag":553,"props":32495,"children":32496},{"style":684},[32497],{"type":431,"value":710},{"type":426,"tag":553,"props":32499,"children":32500},{"class":555,"line":1167},[32501,32505,32509],{"type":426,"tag":553,"props":32502,"children":32503},{"style":572},[32504],{"type":431,"value":32428},{"type":426,"tag":553,"props":32506,"children":32507},{"style":684},[32508],{"type":431,"value":700},{"type":426,"tag":553,"props":32510,"children":32511},{"style":572},[32512],{"type":431,"value":32513},"'Best match for your running shoes'\n",{"type":426,"tag":553,"props":32515,"children":32516},{"class":555,"line":1184},[32517],{"type":426,"tag":553,"props":32518,"children":32519},{"style":684},[32520],{"type":431,"value":15075},{"type":426,"tag":553,"props":32522,"children":32523},{"class":555,"line":1192},[32524],{"type":426,"tag":553,"props":32525,"children":32526},{"style":684},[32527],{"type":431,"value":5546},{"type":426,"tag":553,"props":32529,"children":32530},{"class":555,"line":1210},[32531],{"type":426,"tag":553,"props":32532,"children":32533},{"style":684},[32534],{"type":431,"value":917},{"type":426,"tag":553,"props":32536,"children":32537},{"class":555,"line":1253},[32538,32543,32547],{"type":426,"tag":553,"props":32539,"children":32540},{"style":684},[32541],{"type":431,"value":32542},"    cross_sell ",{"type":426,"tag":553,"props":32544,"children":32545},{"style":795},[32546],{"type":431,"value":957},{"type":426,"tag":553,"props":32548,"children":32549},{"style":684},[32550],{"type":431,"value":32551}," cross_sell_map.get(purchased_category)\n",{"type":426,"tag":553,"props":32553,"children":32554},{"class":555,"line":1302},[32555,32559,32563],{"type":426,"tag":553,"props":32556,"children":32557},{"style":795},[32558],{"type":431,"value":925},{"type":426,"tag":553,"props":32560,"children":32561},{"style":795},[32562],{"type":431,"value":12110},{"type":426,"tag":553,"props":32564,"children":32565},{"style":684},[32566],{"type":431,"value":32567}," cross_sell:\n",{"type":426,"tag":553,"props":32569,"children":32570},{"class":555,"line":1374},[32571,32575],{"type":426,"tag":553,"props":32572,"children":32573},{"style":795},[32574],{"type":431,"value":8378},{"type":426,"tag":553,"props":32576,"children":32577},{"style":684},[32578],{"type":431,"value":32579}," {}\n",{"type":426,"tag":553,"props":32581,"children":32582},{"class":555,"line":1414},[32583],{"type":426,"tag":553,"props":32584,"children":32585},{"style":684},[32586],{"type":431,"value":917},{"type":426,"tag":553,"props":32588,"children":32589},{"class":555,"line":1479},[32590,32594,32598],{"type":426,"tag":553,"props":32591,"children":32592},{"style":684},[32593],{"type":431,"value":1198},{"type":426,"tag":553,"props":32595,"children":32596},{"style":795},[32597],{"type":431,"value":957},{"type":426,"tag":553,"props":32599,"children":32600},{"style":684},[32601],{"type":431,"value":1207},{"type":426,"tag":553,"props":32603,"children":32604},{"class":555,"line":1517},[32605,32609,32613,32617,32621,32625,32629,32633,32638,32642],{"type":426,"tag":553,"props":32606,"children":32607},{"style":795},[32608],{"type":431,"value":1216},{"type":426,"tag":553,"props":32610,"children":32611},{"style":572},[32612],{"type":431,"value":4625},{"type":426,"tag":553,"props":32614,"children":32615},{"style":566},[32616],{"type":431,"value":972},{"type":426,"tag":553,"props":32618,"children":32619},{"style":684},[32620],{"type":431,"value":25409},{"type":426,"tag":553,"props":32622,"children":32623},{"style":572},[32624],{"type":431,"value":1277},{"type":426,"tag":553,"props":32626,"children":32627},{"style":684},[32628],{"type":431,"value":1240},{"type":426,"tag":553,"props":32630,"children":32631},{"style":566},[32632],{"type":431,"value":982},{"type":426,"tag":553,"props":32634,"children":32635},{"style":572},[32636],{"type":431,"value":32637},"! 👋",{"type":426,"tag":553,"props":32639,"children":32640},{"style":566},[32641],{"type":431,"value":1295},{"type":426,"tag":553,"props":32643,"children":32644},{"style":572},[32645],{"type":431,"value":1250},{"type":426,"tag":553,"props":32647,"children":32648},{"class":555,"line":1560},[32649,32653,32658,32662,32666,32671,32675,32679,32684,32688],{"type":426,"tag":553,"props":32650,"children":32651},{"style":795},[32652],{"type":431,"value":1216},{"type":426,"tag":553,"props":32654,"children":32655},{"style":572},[32656],{"type":431,"value":32657},"\"Customers who bought your ",{"type":426,"tag":553,"props":32659,"children":32660},{"style":566},[32661],{"type":431,"value":972},{"type":426,"tag":553,"props":32663,"children":32664},{"style":684},[32665],{"type":431,"value":25409},{"type":426,"tag":553,"props":32667,"children":32668},{"style":572},[32669],{"type":431,"value":32670},"'last_product'",{"type":426,"tag":553,"props":32672,"children":32673},{"style":684},[32674],{"type":431,"value":1240},{"type":426,"tag":553,"props":32676,"children":32677},{"style":566},[32678],{"type":431,"value":982},{"type":426,"tag":553,"props":32680,"children":32681},{"style":572},[32682],{"type":431,"value":32683}," also loved:",{"type":426,"tag":553,"props":32685,"children":32686},{"style":566},[32687],{"type":431,"value":1295},{"type":426,"tag":553,"props":32689,"children":32690},{"style":572},[32691],{"type":431,"value":1250},{"type":426,"tag":553,"props":32693,"children":32694},{"class":555,"line":1598},[32695,32699,32704,32708,32713,32718,32722,32726,32730,32734],{"type":426,"tag":553,"props":32696,"children":32697},{"style":795},[32698],{"type":431,"value":1216},{"type":426,"tag":553,"props":32700,"children":32701},{"style":572},[32702],{"type":431,"value":32703},"\"*",{"type":426,"tag":553,"props":32705,"children":32706},{"style":566},[32707],{"type":431,"value":972},{"type":426,"tag":553,"props":32709,"children":32710},{"style":684},[32711],{"type":431,"value":32712},"cross_sell[",{"type":426,"tag":553,"props":32714,"children":32715},{"style":572},[32716],{"type":431,"value":32717},"'product'",{"type":426,"tag":553,"props":32719,"children":32720},{"style":684},[32721],{"type":431,"value":1240},{"type":426,"tag":553,"props":32723,"children":32724},{"style":566},[32725],{"type":431,"value":982},{"type":426,"tag":553,"props":32727,"children":32728},{"style":572},[32729],{"type":431,"value":5801},{"type":426,"tag":553,"props":32731,"children":32732},{"style":566},[32733],{"type":431,"value":3661},{"type":426,"tag":553,"props":32735,"children":32736},{"style":572},[32737],{"type":431,"value":1250},{"type":426,"tag":553,"props":32739,"children":32740},{"class":555,"line":1636},[32741,32745,32750,32754,32758,32763,32767,32771],{"type":426,"tag":553,"props":32742,"children":32743},{"style":795},[32744],{"type":431,"value":1216},{"type":426,"tag":553,"props":32746,"children":32747},{"style":572},[32748],{"type":431,"value":32749},"\"✅ ",{"type":426,"tag":553,"props":32751,"children":32752},{"style":566},[32753],{"type":431,"value":972},{"type":426,"tag":553,"props":32755,"children":32756},{"style":684},[32757],{"type":431,"value":32712},{"type":426,"tag":553,"props":32759,"children":32760},{"style":572},[32761],{"type":431,"value":32762},"'reason'",{"type":426,"tag":553,"props":32764,"children":32765},{"style":684},[32766],{"type":431,"value":1240},{"type":426,"tag":553,"props":32768,"children":32769},{"style":566},[32770],{"type":431,"value":1245},{"type":426,"tag":553,"props":32772,"children":32773},{"style":572},[32774],{"type":431,"value":1250},{"type":426,"tag":553,"props":32776,"children":32777},{"class":555,"line":1645},[32778,32782,32787,32791],{"type":426,"tag":553,"props":32779,"children":32780},{"style":795},[32781],{"type":431,"value":1216},{"type":426,"tag":553,"props":32783,"children":32784},{"style":572},[32785],{"type":431,"value":32786},"\"*10% off* with code *CROSS10*:",{"type":426,"tag":553,"props":32788,"children":32789},{"style":566},[32790],{"type":431,"value":3661},{"type":426,"tag":553,"props":32792,"children":32793},{"style":572},[32794],{"type":431,"value":1250},{"type":426,"tag":553,"props":32796,"children":32797},{"class":555,"line":1653},[32798,32802,32806,32810,32814,32819,32823,32827],{"type":426,"tag":553,"props":32799,"children":32800},{"style":795},[32801],{"type":431,"value":1216},{"type":426,"tag":553,"props":32803,"children":32804},{"style":572},[32805],{"type":431,"value":31116},{"type":426,"tag":553,"props":32807,"children":32808},{"style":566},[32809],{"type":431,"value":972},{"type":426,"tag":553,"props":32811,"children":32812},{"style":684},[32813],{"type":431,"value":32712},{"type":426,"tag":553,"props":32815,"children":32816},{"style":572},[32817],{"type":431,"value":32818},"'url'",{"type":426,"tag":553,"props":32820,"children":32821},{"style":684},[32822],{"type":431,"value":1240},{"type":426,"tag":553,"props":32824,"children":32825},{"style":566},[32826],{"type":431,"value":982},{"type":426,"tag":553,"props":32828,"children":32829},{"style":572},[32830],{"type":431,"value":1250},{"type":426,"tag":553,"props":32832,"children":32833},{"class":555,"line":1667},[32834],{"type":426,"tag":553,"props":32835,"children":32836},{"style":684},[32837],{"type":431,"value":1642},{"type":426,"tag":553,"props":32839,"children":32840},{"class":555,"line":1680},[32841],{"type":426,"tag":553,"props":32842,"children":32843},{"style":684},[32844],{"type":431,"value":917},{"type":426,"tag":553,"props":32846,"children":32847},{"class":555,"line":1740},[32848,32852],{"type":426,"tag":553,"props":32849,"children":32850},{"style":795},[32851],{"type":431,"value":1659},{"type":426,"tag":553,"props":32853,"children":32854},{"style":684},[32855],{"type":431,"value":1664},{"type":426,"tag":553,"props":32857,"children":32858},{"class":555,"line":1787},[32859,32863],{"type":426,"tag":553,"props":32860,"children":32861},{"style":572},[32862],{"type":431,"value":1673},{"type":426,"tag":553,"props":32864,"children":32865},{"style":684},[32866],{"type":431,"value":710},{"type":426,"tag":553,"props":32868,"children":32869},{"class":555,"line":1796},[32870,32874,32878,32882,32886,32890,32894,32898,32902,32906,32910,32914],{"type":426,"tag":553,"props":32871,"children":32872},{"style":1684},[32873],{"type":431,"value":1687},{"type":426,"tag":553,"props":32875,"children":32876},{"style":795},[32877],{"type":431,"value":957},{"type":426,"tag":553,"props":32879,"children":32880},{"style":684},[32881],{"type":431,"value":972},{"type":426,"tag":553,"props":32883,"children":32884},{"style":572},[32885],{"type":431,"value":1700},{"type":426,"tag":553,"props":32887,"children":32888},{"style":684},[32889],{"type":431,"value":700},{"type":426,"tag":553,"props":32891,"children":32892},{"style":795},[32893],{"type":431,"value":1709},{"type":426,"tag":553,"props":32895,"children":32896},{"style":572},[32897],{"type":431,"value":1714},{"type":426,"tag":553,"props":32899,"children":32900},{"style":566},[32901],{"type":431,"value":972},{"type":426,"tag":553,"props":32903,"children":32904},{"style":684},[32905],{"type":431,"value":1723},{"type":426,"tag":553,"props":32907,"children":32908},{"style":566},[32909],{"type":431,"value":982},{"type":426,"tag":553,"props":32911,"children":32912},{"style":572},[32913],{"type":431,"value":1732},{"type":426,"tag":553,"props":32915,"children":32916},{"style":684},[32917],{"type":431,"value":1737},{"type":426,"tag":553,"props":32919,"children":32920},{"class":555,"line":1804},[32921,32925,32929,32933,32937,32941,32945,32949,32953],{"type":426,"tag":553,"props":32922,"children":32923},{"style":1684},[32924],{"type":431,"value":1746},{"type":426,"tag":553,"props":32926,"children":32927},{"style":795},[32928],{"type":431,"value":957},{"type":426,"tag":553,"props":32930,"children":32931},{"style":684},[32932],{"type":431,"value":972},{"type":426,"tag":553,"props":32934,"children":32935},{"style":572},[32936],{"type":431,"value":1759},{"type":426,"tag":553,"props":32938,"children":32939},{"style":684},[32940],{"type":431,"value":32062},{"type":426,"tag":553,"props":32942,"children":32943},{"style":572},[32944],{"type":431,"value":1769},{"type":426,"tag":553,"props":32946,"children":32947},{"style":684},[32948],{"type":431,"value":1774},{"type":426,"tag":553,"props":32950,"children":32951},{"style":572},[32952],{"type":431,"value":1779},{"type":426,"tag":553,"props":32954,"children":32955},{"style":684},[32956],{"type":431,"value":1784},{"type":426,"tag":553,"props":32958,"children":32959},{"class":555,"line":1812},[32960],{"type":426,"tag":553,"props":32961,"children":32962},{"style":684},[32963],{"type":431,"value":1793},{"type":426,"tag":515,"props":32965,"children":32967},{"id":32966},"_8-seasonal-campaign-automation",[32968],{"type":431,"value":32969},"8. Seasonal Campaign Automation",{"type":426,"tag":427,"props":32971,"children":32972},{},[32973,32977],{"type":426,"tag":446,"props":32974,"children":32975},{},[32976],{"type":431,"value":30773},{"type":431,"value":32978},": Capitalize on seasonal events without manual messaging.",{"type":426,"tag":542,"props":32980,"children":32982},{"code":32981},"Eid\u002FHoliday campaign:\n\"Eid Mubarak to you and your family! 🌙🎉\n\nTo celebrate, we're offering *15% off everything* for 3 days:\n🎟️ Code: *EID15*\n\nShop now: https:\u002F\u002Fyourstore.com\u002Feid-sale\n\nOffer ends [DATE]. 🛍️\n— [Brand Name] Team\"\n",[32983],{"type":426,"tag":549,"props":32984,"children":32985},{"__ignoreMap":417},[32986],{"type":431,"value":32981},{"type":426,"tag":434,"props":32988,"children":32990},{"id":32989},"whatsapp-marketing-compliance-rules",[32991],{"type":431,"value":32992},"WhatsApp Marketing Compliance Rules",{"type":426,"tag":10600,"props":32994,"children":32995},{},[32996,33011],{"type":426,"tag":10604,"props":32997,"children":32998},{},[32999],{"type":426,"tag":10608,"props":33000,"children":33001},{},[33002,33007],{"type":426,"tag":10612,"props":33003,"children":33004},{},[33005],{"type":431,"value":33006},"Rule",{"type":426,"tag":10612,"props":33008,"children":33009},{},[33010],{"type":431,"value":31617},{"type":426,"tag":10623,"props":33012,"children":33013},{},[33014,33027,33040,33053,33066,33079],{"type":426,"tag":10608,"props":33015,"children":33016},{},[33017,33022],{"type":426,"tag":10630,"props":33018,"children":33019},{},[33020],{"type":431,"value":33021},"Opt-in required",{"type":426,"tag":10630,"props":33023,"children":33024},{},[33025],{"type":431,"value":33026},"Collect explicit WhatsApp consent at signup (checkbox with clear explanation)",{"type":426,"tag":10608,"props":33028,"children":33029},{},[33030,33035],{"type":426,"tag":10630,"props":33031,"children":33032},{},[33033],{"type":431,"value":33034},"Easy opt-out",{"type":426,"tag":10630,"props":33036,"children":33037},{},[33038],{"type":431,"value":33039},"Include \"Reply STOP to unsubscribe\" in every promotional message",{"type":426,"tag":10608,"props":33041,"children":33042},{},[33043,33048],{"type":426,"tag":10630,"props":33044,"children":33045},{},[33046],{"type":431,"value":33047},"No cold outreach",{"type":426,"tag":10630,"props":33049,"children":33050},{},[33051],{"type":431,"value":33052},"Only message contacts who opted in — never purchase lists",{"type":426,"tag":10608,"props":33054,"children":33055},{},[33056,33061],{"type":426,"tag":10630,"props":33057,"children":33058},{},[33059],{"type":431,"value":33060},"Message frequency",{"type":426,"tag":10630,"props":33062,"children":33063},{},[33064],{"type":431,"value":33065},"Maximum 2–3 WhatsApp messages per week per customer",{"type":426,"tag":10608,"props":33067,"children":33068},{},[33069,33074],{"type":426,"tag":10630,"props":33070,"children":33071},{},[33072],{"type":431,"value":33073},"Sender identification",{"type":426,"tag":10630,"props":33075,"children":33076},{},[33077],{"type":431,"value":33078},"Always identify your brand in the message or first sentence",{"type":426,"tag":10608,"props":33080,"children":33081},{},[33082,33087],{"type":426,"tag":10630,"props":33083,"children":33084},{},[33085],{"type":431,"value":33086},"Relevance",{"type":426,"tag":10630,"props":33088,"children":33089},{},[33090],{"type":431,"value":33091},"Only send offers relevant to the customer's purchase history",{"type":426,"tag":434,"props":33093,"children":33095},{"id":33094},"testing-curl-before-sending-campaigns",[33096],{"type":431,"value":33097},"Testing cURL Before Sending Campaigns",{"type":426,"tag":542,"props":33099,"children":33101},{"code":33100,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Test campaign message — 15% off today only! Code: TEST15 → yourstore.com\"\n  }'\n",[33102],{"type":426,"tag":549,"props":33103,"children":33104},{"__ignoreMap":417},[33105,33128,33143,33158,33169,33176,33184],{"type":426,"tag":553,"props":33106,"children":33107},{"class":555,"line":556},[33108,33112,33116,33120,33124],{"type":426,"tag":553,"props":33109,"children":33110},{"style":560},[33111],{"type":431,"value":563},{"type":426,"tag":553,"props":33113,"children":33114},{"style":566},[33115],{"type":431,"value":569},{"type":426,"tag":553,"props":33117,"children":33118},{"style":572},[33119],{"type":431,"value":575},{"type":426,"tag":553,"props":33121,"children":33122},{"style":572},[33123],{"type":431,"value":580},{"type":426,"tag":553,"props":33125,"children":33126},{"style":566},[33127],{"type":431,"value":585},{"type":426,"tag":553,"props":33129,"children":33130},{"class":555,"line":588},[33131,33135,33139],{"type":426,"tag":553,"props":33132,"children":33133},{"style":566},[33134],{"type":431,"value":594},{"type":426,"tag":553,"props":33136,"children":33137},{"style":572},[33138],{"type":431,"value":599},{"type":426,"tag":553,"props":33140,"children":33141},{"style":566},[33142],{"type":431,"value":585},{"type":426,"tag":553,"props":33144,"children":33145},{"class":555,"line":606},[33146,33150,33154],{"type":426,"tag":553,"props":33147,"children":33148},{"style":566},[33149],{"type":431,"value":594},{"type":426,"tag":553,"props":33151,"children":33152},{"style":572},[33153],{"type":431,"value":616},{"type":426,"tag":553,"props":33155,"children":33156},{"style":566},[33157],{"type":431,"value":585},{"type":426,"tag":553,"props":33159,"children":33160},{"class":555,"line":623},[33161,33165],{"type":426,"tag":553,"props":33162,"children":33163},{"style":566},[33164],{"type":431,"value":629},{"type":426,"tag":553,"props":33166,"children":33167},{"style":572},[33168],{"type":431,"value":634},{"type":426,"tag":553,"props":33170,"children":33171},{"class":555,"line":637},[33172],{"type":426,"tag":553,"props":33173,"children":33174},{"style":572},[33175],{"type":431,"value":643},{"type":426,"tag":553,"props":33177,"children":33178},{"class":555,"line":646},[33179],{"type":426,"tag":553,"props":33180,"children":33181},{"style":572},[33182],{"type":431,"value":33183},"    \"message\": \"Test campaign message — 15% off today only! Code: TEST15 → yourstore.com\"\n",{"type":426,"tag":553,"props":33185,"children":33186},{"class":555,"line":655},[33187],{"type":426,"tag":553,"props":33188,"children":33189},{"style":572},[33190],{"type":431,"value":661},{"type":426,"tag":434,"props":33192,"children":33193},{"id":4109},[33194],{"type":431,"value":4112},{"type":426,"tag":427,"props":33196,"children":33197},{},[33198,33203],{"type":426,"tag":446,"props":33199,"children":33200},{},[33201],{"type":431,"value":33202},"Does Rapiwa charge per WhatsApp marketing message?",{"type":431,"value":33204},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Run unlimited marketing campaigns at one fixed monthly cost.",{"type":426,"tag":427,"props":33206,"children":33207},{},[33208,33213],{"type":426,"tag":446,"props":33209,"children":33210},{},[33211],{"type":431,"value":33212},"What is the best time to send WhatsApp marketing messages?",{"type":431,"value":33214},"\n9:00 AM–11:00 AM and 7:00 PM–9:00 PM local time. Avoid early mornings, late nights, and weekends for promotional content.",{"type":426,"tag":427,"props":33216,"children":33217},{},[33218,33223],{"type":426,"tag":446,"props":33219,"children":33220},{},[33221],{"type":431,"value":33222},"How many WhatsApp messages per week can I send before customers opt out?",{"type":431,"value":33224},"\nIndustry data suggests 1–2 messages per week maintains high engagement without significant opt-outs. Beyond 3\u002Fweek, unsubscribe rates increase sharply.",{"type":426,"tag":427,"props":33226,"children":33227},{},[33228,33233],{"type":426,"tag":446,"props":33229,"children":33230},{},[33231],{"type":431,"value":33232},"Can I send WhatsApp marketing messages to customers who only gave their phone number?",{"type":431,"value":33234},"\nBest practice requires explicit WhatsApp opt-in. A phone number at checkout is not sufficient consent for WhatsApp marketing. Use a dedicated \"Send me offers via WhatsApp\" checkbox.",{"type":426,"tag":427,"props":33236,"children":33237},{},[33238,33243],{"type":426,"tag":446,"props":33239,"children":33240},{},[33241],{"type":431,"value":33242},"What is the cheapest WhatsApp API for marketing automation in 2026?",{"type":431,"value":33244},"\nRapiwa is the cheapest WhatsApp API at $5\u002Fmonth with no per-message fees and a 5.0\u002F5 Sourceforge rating — making it the most cost-effective choice for marketing automation.",{"type":426,"tag":4164,"props":33246,"children":33247},{},[33248],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":33250},[33251,33252,33262,33263,33264],{"id":30629,"depth":588,"text":30632},{"id":30756,"depth":588,"text":30759,"children":33253},[33254,33255,33256,33257,33258,33259,33260,33261],{"id":30762,"depth":606,"text":30765},{"id":30794,"depth":606,"text":30797},{"id":31589,"depth":606,"text":31592},{"id":31635,"depth":606,"text":31638},{"id":32203,"depth":606,"text":32206},{"id":32226,"depth":606,"text":32229},{"id":32249,"depth":606,"text":32252},{"id":32966,"depth":606,"text":32969},{"id":32989,"depth":588,"text":32992},{"id":33094,"depth":588,"text":33097},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-marketing-automation-strategies-2026.md","blog\u002Fwhatsapp-marketing-automation-strategies-2026.md","blog\u002Fwhatsapp-marketing-automation-strategies-2026",{"loc":40},{"_path":45,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":46,"description":47,"date":33270,"author":33271,"category":8,"_slug":33272,"image":33273,"body":33274,"_type":4187,"_id":36560,"_source":4189,"_file":36561,"_stem":36562,"_extension":4192,"sitemap":36563},"2026-03-20","Mahi","whatsapp-api-logistics-shipment-tracking","\u002Fimages\u002Fblog\u002Fwhatsapp-api-logistics-shipment-tracking.svg",{"type":423,"children":33275,"toc":36542},[33276,33281,33287,33299,33322,33332,33338,33344,33353,33362,33455,33462,33538,33544,33553,33562,34335,34341,34350,34359,34367,34375,34872,34878,34887,34896,34904,34910,34919,34928,35369,35375,35384,35393,35401,35407,35411,35421,35427,35432,35465,35471,36408,36412,36455,36459,36469,36479,36489,36528,36538],{"type":426,"tag":427,"props":33277,"children":33278},{},[33279],{"type":431,"value":33280},"WhatsApp API for logistics lets shipping companies, courier services, and 3PLs automatically send shipment tracking notifications, delivery windows, exception alerts, and proof of delivery confirmations to recipients via WhatsApp. Using Rapiwa API ($5\u002Fmonth, no per-message fees), logistics companies reduce \"where is my shipment?\" customer service calls by 50–70% and improve first-attempt delivery rates.",{"type":426,"tag":434,"props":33282,"children":33284},{"id":33283},"why-whatsapp-is-critical-for-logistics",[33285],{"type":431,"value":33286},"Why WhatsApp is Critical for Logistics",{"type":426,"tag":427,"props":33288,"children":33289},{},[33290,33292,33297],{"type":431,"value":33291},"Logistics has a ",{"type":426,"tag":446,"props":33293,"children":33294},{},[33295],{"type":431,"value":33296},"delivery failure problem",{"type":431,"value":33298},": 15–30% of deliveries fail on the first attempt because the recipient wasn't home. Every failed delivery attempt costs $3–$10 (courier time + reattempt). WhatsApp solves this by:",{"type":426,"tag":454,"props":33300,"children":33301},{},[33302,33307,33312,33317],{"type":426,"tag":458,"props":33303,"children":33304},{},[33305],{"type":431,"value":33306},"Sending delivery window alerts so recipients know when to be home",{"type":426,"tag":458,"props":33308,"children":33309},{},[33310],{"type":431,"value":33311},"Allowing recipients to reschedule via WhatsApp reply (no phone calls)",{"type":426,"tag":458,"props":33313,"children":33314},{},[33315],{"type":431,"value":33316},"Sending proof of delivery confirmation immediately",{"type":426,"tag":458,"props":33318,"children":33319},{},[33320],{"type":431,"value":33321},"Reducing \"where is my package?\" calls by up to 70%",{"type":426,"tag":427,"props":33323,"children":33324},{},[33325,33330],{"type":426,"tag":446,"props":33326,"children":33327},{},[33328],{"type":431,"value":33329},"Rapiwa is the cheapest WhatsApp API for logistics",{"type":431,"value":33331},": $5\u002Fmonth flat. Compare to SMS tracking notifications at $0.05–$0.10\u002Fmessage — for a courier with 500 daily shipments, that's $25–$50\u002Fday in SMS fees vs $5\u002Fmonth for Rapiwa.",{"type":426,"tag":434,"props":33333,"children":33335},{"id":33334},"top-6-whatsapp-automation-use-cases-for-logistics",[33336],{"type":431,"value":33337},"Top 6 WhatsApp Automation Use Cases for Logistics",{"type":426,"tag":515,"props":33339,"children":33341},{"id":33340},"_1-shipment-dispatched-notification",[33342],{"type":431,"value":33343},"1. Shipment Dispatched Notification",{"type":426,"tag":427,"props":33345,"children":33346},{},[33347,33351],{"type":426,"tag":446,"props":33348,"children":33349},{},[33350],{"type":431,"value":528},{"type":431,"value":33352},": Recipients don't know their shipment is on the way.",{"type":426,"tag":427,"props":33354,"children":33355},{},[33356,33360],{"type":426,"tag":446,"props":33357,"children":33358},{},[33359],{"type":431,"value":538},{"type":431,"value":33361},": WhatsApp notification when the shipment is dispatched.",{"type":426,"tag":542,"props":33363,"children":33365},{"code":33364,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Your shipment is on its way! 🚚\\n\\nTracking: SHP-2026-789\\nCarrier: DHL Express\\nEstimated delivery: July 13, 2026\\n\\nTrack live: https:\u002F\u002Ftrack.example.com\u002FSHP-2026-789\\n\\nQuestions? Reply here.\"\n  }'\n",[33366],{"type":426,"tag":549,"props":33367,"children":33368},{"__ignoreMap":417},[33369,33392,33407,33422,33433,33440,33448],{"type":426,"tag":553,"props":33370,"children":33371},{"class":555,"line":556},[33372,33376,33380,33384,33388],{"type":426,"tag":553,"props":33373,"children":33374},{"style":560},[33375],{"type":431,"value":563},{"type":426,"tag":553,"props":33377,"children":33378},{"style":566},[33379],{"type":431,"value":569},{"type":426,"tag":553,"props":33381,"children":33382},{"style":572},[33383],{"type":431,"value":575},{"type":426,"tag":553,"props":33385,"children":33386},{"style":572},[33387],{"type":431,"value":580},{"type":426,"tag":553,"props":33389,"children":33390},{"style":566},[33391],{"type":431,"value":585},{"type":426,"tag":553,"props":33393,"children":33394},{"class":555,"line":588},[33395,33399,33403],{"type":426,"tag":553,"props":33396,"children":33397},{"style":566},[33398],{"type":431,"value":594},{"type":426,"tag":553,"props":33400,"children":33401},{"style":572},[33402],{"type":431,"value":599},{"type":426,"tag":553,"props":33404,"children":33405},{"style":566},[33406],{"type":431,"value":585},{"type":426,"tag":553,"props":33408,"children":33409},{"class":555,"line":606},[33410,33414,33418],{"type":426,"tag":553,"props":33411,"children":33412},{"style":566},[33413],{"type":431,"value":594},{"type":426,"tag":553,"props":33415,"children":33416},{"style":572},[33417],{"type":431,"value":616},{"type":426,"tag":553,"props":33419,"children":33420},{"style":566},[33421],{"type":431,"value":585},{"type":426,"tag":553,"props":33423,"children":33424},{"class":555,"line":623},[33425,33429],{"type":426,"tag":553,"props":33426,"children":33427},{"style":566},[33428],{"type":431,"value":629},{"type":426,"tag":553,"props":33430,"children":33431},{"style":572},[33432],{"type":431,"value":634},{"type":426,"tag":553,"props":33434,"children":33435},{"class":555,"line":637},[33436],{"type":426,"tag":553,"props":33437,"children":33438},{"style":572},[33439],{"type":431,"value":643},{"type":426,"tag":553,"props":33441,"children":33442},{"class":555,"line":646},[33443],{"type":426,"tag":553,"props":33444,"children":33445},{"style":572},[33446],{"type":431,"value":33447},"    \"message\": \"Your shipment is on its way! 🚚\\n\\nTracking: SHP-2026-789\\nCarrier: DHL Express\\nEstimated delivery: July 13, 2026\\n\\nTrack live: https:\u002F\u002Ftrack.example.com\u002FSHP-2026-789\\n\\nQuestions? Reply here.\"\n",{"type":426,"tag":553,"props":33449,"children":33450},{"class":555,"line":655},[33451],{"type":426,"tag":553,"props":33452,"children":33453},{"style":572},[33454],{"type":431,"value":661},{"type":426,"tag":427,"props":33456,"children":33457},{},[33458],{"type":426,"tag":446,"props":33459,"children":33460},{},[33461],{"type":431,"value":669},{"type":426,"tag":542,"props":33463,"children":33465},{"code":33464,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_logistics_abc123\",\n  \"timestamp\": \"2026-07-11T10:30:00Z\"\n}\n",[33466],{"type":426,"tag":549,"props":33467,"children":33468},{"__ignoreMap":417},[33469,33476,33495,33515,33531],{"type":426,"tag":553,"props":33470,"children":33471},{"class":555,"line":556},[33472],{"type":426,"tag":553,"props":33473,"children":33474},{"style":684},[33475],{"type":431,"value":687},{"type":426,"tag":553,"props":33477,"children":33478},{"class":555,"line":588},[33479,33483,33487,33491],{"type":426,"tag":553,"props":33480,"children":33481},{"style":566},[33482],{"type":431,"value":695},{"type":426,"tag":553,"props":33484,"children":33485},{"style":684},[33486],{"type":431,"value":700},{"type":426,"tag":553,"props":33488,"children":33489},{"style":572},[33490],{"type":431,"value":705},{"type":426,"tag":553,"props":33492,"children":33493},{"style":684},[33494],{"type":431,"value":710},{"type":426,"tag":553,"props":33496,"children":33497},{"class":555,"line":606},[33498,33502,33506,33511],{"type":426,"tag":553,"props":33499,"children":33500},{"style":566},[33501],{"type":431,"value":718},{"type":426,"tag":553,"props":33503,"children":33504},{"style":684},[33505],{"type":431,"value":700},{"type":426,"tag":553,"props":33507,"children":33508},{"style":572},[33509],{"type":431,"value":33510},"\"msg_logistics_abc123\"",{"type":426,"tag":553,"props":33512,"children":33513},{"style":684},[33514],{"type":431,"value":710},{"type":426,"tag":553,"props":33516,"children":33517},{"class":555,"line":623},[33518,33522,33526],{"type":426,"tag":553,"props":33519,"children":33520},{"style":566},[33521],{"type":431,"value":739},{"type":426,"tag":553,"props":33523,"children":33524},{"style":684},[33525],{"type":431,"value":700},{"type":426,"tag":553,"props":33527,"children":33528},{"style":572},[33529],{"type":431,"value":33530},"\"2026-07-11T10:30:00Z\"\n",{"type":426,"tag":553,"props":33532,"children":33533},{"class":555,"line":637},[33534],{"type":426,"tag":553,"props":33535,"children":33536},{"style":684},[33537],{"type":431,"value":756},{"type":426,"tag":515,"props":33539,"children":33541},{"id":33540},"_2-delivery-window-alert-morning-of-delivery",[33542],{"type":431,"value":33543},"2. Delivery Window Alert (Morning of Delivery)",{"type":426,"tag":427,"props":33545,"children":33546},{},[33547,33551],{"type":426,"tag":446,"props":33548,"children":33549},{},[33550],{"type":431,"value":528},{"type":431,"value":33552},": Recipients miss deliveries because they don't know the delivery window.",{"type":426,"tag":427,"props":33554,"children":33555},{},[33556,33560],{"type":426,"tag":446,"props":33557,"children":33558},{},[33559],{"type":431,"value":538},{"type":431,"value":33561},": WhatsApp alert the morning of delivery with a 2-hour window.",{"type":426,"tag":542,"props":33563,"children":33565},{"code":33564,"language":784,"meta":417,"className":785,"style":417},"import requests\nfrom datetime import datetime\n\ndef send_delivery_window_alert(\n    recipient_phone: str,\n    recipient_name: str,\n    tracking_id: str,\n    delivery_window_start: str,\n    delivery_window_end: str,\n    driver_name: str,\n    api_key: str\n) -> dict:\n    \n    message = (\n        f\"Delivery Today! 📦\\n\\n\"\n        f\"Hi {recipient_name}!\\n\\n\"\n        f\"Your package will be delivered today:\\n\"\n        f\"⏰ Window: {delivery_window_start}–{delivery_window_end}\\n\"\n        f\"📦 Tracking: {tracking_id}\\n\"\n        f\"🚗 Driver: {driver_name}\\n\\n\"\n        f\"Not home? Reply:\\n\"\n        f\"• *SAFE* — leave in a safe place\\n\"\n        f\"• *NEIGHBOR* — leave with a neighbor\\n\"\n        f\"• *RESCHEDULE* — pick a new delivery date\\n\\n\"\n        f\"We'll be there soon! 🚚\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': recipient_phone, 'message': message}\n    ).json()\n\n# Usage\nsend_delivery_window_alert(\n    recipient_phone='8801234567890',\n    recipient_name='Sarah',\n    tracking_id='SHP-2026-789',\n    delivery_window_start='10:00 AM',\n    delivery_window_end='12:00 PM',\n    driver_name='Rahim',\n    api_key='YOUR_API_KEY'\n)\n",[33566],{"type":426,"tag":549,"props":33567,"children":33568},{"__ignoreMap":417},[33569,33580,33599,33606,33622,33638,33654,33670,33686,33702,33718,33729,33744,33751,33766,33786,33822,33842,33889,33918,33947,33967,33987,34007,34027,34039,34046,34053,34064,34075,34126,34158,34165,34172,34180,34188,34208,34229,34250,34271,34292,34313,34328],{"type":426,"tag":553,"props":33570,"children":33571},{"class":555,"line":556},[33572,33576],{"type":426,"tag":553,"props":33573,"children":33574},{"style":795},[33575],{"type":431,"value":798},{"type":426,"tag":553,"props":33577,"children":33578},{"style":684},[33579],{"type":431,"value":803},{"type":426,"tag":553,"props":33581,"children":33582},{"class":555,"line":588},[33583,33587,33591,33595],{"type":426,"tag":553,"props":33584,"children":33585},{"style":795},[33586],{"type":431,"value":811},{"type":426,"tag":553,"props":33588,"children":33589},{"style":684},[33590],{"type":431,"value":816},{"type":426,"tag":553,"props":33592,"children":33593},{"style":795},[33594],{"type":431,"value":798},{"type":426,"tag":553,"props":33596,"children":33597},{"style":684},[33598],{"type":431,"value":22230},{"type":426,"tag":553,"props":33600,"children":33601},{"class":555,"line":606},[33602],{"type":426,"tag":553,"props":33603,"children":33604},{"emptyLinePlaceholder":831},[33605],{"type":431,"value":834},{"type":426,"tag":553,"props":33607,"children":33608},{"class":555,"line":623},[33609,33613,33618],{"type":426,"tag":553,"props":33610,"children":33611},{"style":795},[33612],{"type":431,"value":842},{"type":426,"tag":553,"props":33614,"children":33615},{"style":560},[33616],{"type":431,"value":33617}," send_delivery_window_alert",{"type":426,"tag":553,"props":33619,"children":33620},{"style":684},[33621],{"type":431,"value":3172},{"type":426,"tag":553,"props":33623,"children":33624},{"class":555,"line":637},[33625,33630,33634],{"type":426,"tag":553,"props":33626,"children":33627},{"style":684},[33628],{"type":431,"value":33629},"    recipient_phone: ",{"type":426,"tag":553,"props":33631,"children":33632},{"style":566},[33633],{"type":431,"value":895},{"type":426,"tag":553,"props":33635,"children":33636},{"style":684},[33637],{"type":431,"value":710},{"type":426,"tag":553,"props":33639,"children":33640},{"class":555,"line":646},[33641,33646,33650],{"type":426,"tag":553,"props":33642,"children":33643},{"style":684},[33644],{"type":431,"value":33645},"    recipient_name: ",{"type":426,"tag":553,"props":33647,"children":33648},{"style":566},[33649],{"type":431,"value":895},{"type":426,"tag":553,"props":33651,"children":33652},{"style":684},[33653],{"type":431,"value":710},{"type":426,"tag":553,"props":33655,"children":33656},{"class":555,"line":655},[33657,33662,33666],{"type":426,"tag":553,"props":33658,"children":33659},{"style":684},[33660],{"type":431,"value":33661},"    tracking_id: ",{"type":426,"tag":553,"props":33663,"children":33664},{"style":566},[33665],{"type":431,"value":895},{"type":426,"tag":553,"props":33667,"children":33668},{"style":684},[33669],{"type":431,"value":710},{"type":426,"tag":553,"props":33671,"children":33672},{"class":555,"line":1036},[33673,33678,33682],{"type":426,"tag":553,"props":33674,"children":33675},{"style":684},[33676],{"type":431,"value":33677},"    delivery_window_start: ",{"type":426,"tag":553,"props":33679,"children":33680},{"style":566},[33681],{"type":431,"value":895},{"type":426,"tag":553,"props":33683,"children":33684},{"style":684},[33685],{"type":431,"value":710},{"type":426,"tag":553,"props":33687,"children":33688},{"class":555,"line":1054},[33689,33694,33698],{"type":426,"tag":553,"props":33690,"children":33691},{"style":684},[33692],{"type":431,"value":33693},"    delivery_window_end: ",{"type":426,"tag":553,"props":33695,"children":33696},{"style":566},[33697],{"type":431,"value":895},{"type":426,"tag":553,"props":33699,"children":33700},{"style":684},[33701],{"type":431,"value":710},{"type":426,"tag":553,"props":33703,"children":33704},{"class":555,"line":1080},[33705,33710,33714],{"type":426,"tag":553,"props":33706,"children":33707},{"style":684},[33708],{"type":431,"value":33709},"    driver_name: ",{"type":426,"tag":553,"props":33711,"children":33712},{"style":566},[33713],{"type":431,"value":895},{"type":426,"tag":553,"props":33715,"children":33716},{"style":684},[33717],{"type":431,"value":710},{"type":426,"tag":553,"props":33719,"children":33720},{"class":555,"line":1097},[33721,33725],{"type":426,"tag":553,"props":33722,"children":33723},{"style":684},[33724],{"type":431,"value":17478},{"type":426,"tag":553,"props":33726,"children":33727},{"style":566},[33728],{"type":431,"value":17470},{"type":426,"tag":553,"props":33730,"children":33731},{"class":555,"line":1114},[33732,33736,33740],{"type":426,"tag":553,"props":33733,"children":33734},{"style":684},[33735],{"type":431,"value":900},{"type":426,"tag":553,"props":33737,"children":33738},{"style":566},[33739],{"type":431,"value":857},{"type":426,"tag":553,"props":33741,"children":33742},{"style":684},[33743],{"type":431,"value":909},{"type":426,"tag":553,"props":33745,"children":33746},{"class":555,"line":1127},[33747],{"type":426,"tag":553,"props":33748,"children":33749},{"style":684},[33750],{"type":431,"value":917},{"type":426,"tag":553,"props":33752,"children":33753},{"class":555,"line":1167},[33754,33758,33762],{"type":426,"tag":553,"props":33755,"children":33756},{"style":684},[33757],{"type":431,"value":1198},{"type":426,"tag":553,"props":33759,"children":33760},{"style":795},[33761],{"type":431,"value":957},{"type":426,"tag":553,"props":33763,"children":33764},{"style":684},[33765],{"type":431,"value":1207},{"type":426,"tag":553,"props":33767,"children":33768},{"class":555,"line":1184},[33769,33773,33778,33782],{"type":426,"tag":553,"props":33770,"children":33771},{"style":795},[33772],{"type":431,"value":1216},{"type":426,"tag":553,"props":33774,"children":33775},{"style":572},[33776],{"type":431,"value":33777},"\"Delivery Today! 📦",{"type":426,"tag":553,"props":33779,"children":33780},{"style":566},[33781],{"type":431,"value":1295},{"type":426,"tag":553,"props":33783,"children":33784},{"style":572},[33785],{"type":431,"value":1250},{"type":426,"tag":553,"props":33787,"children":33788},{"class":555,"line":1192},[33789,33793,33797,33801,33806,33810,33814,33818],{"type":426,"tag":553,"props":33790,"children":33791},{"style":795},[33792],{"type":431,"value":1216},{"type":426,"tag":553,"props":33794,"children":33795},{"style":572},[33796],{"type":431,"value":4625},{"type":426,"tag":553,"props":33798,"children":33799},{"style":566},[33800],{"type":431,"value":972},{"type":426,"tag":553,"props":33802,"children":33803},{"style":684},[33804],{"type":431,"value":33805},"recipient_name",{"type":426,"tag":553,"props":33807,"children":33808},{"style":566},[33809],{"type":431,"value":982},{"type":426,"tag":553,"props":33811,"children":33812},{"style":572},[33813],{"type":431,"value":4651},{"type":426,"tag":553,"props":33815,"children":33816},{"style":566},[33817],{"type":431,"value":1295},{"type":426,"tag":553,"props":33819,"children":33820},{"style":572},[33821],{"type":431,"value":1250},{"type":426,"tag":553,"props":33823,"children":33824},{"class":555,"line":1210},[33825,33829,33834,33838],{"type":426,"tag":553,"props":33826,"children":33827},{"style":795},[33828],{"type":431,"value":1216},{"type":426,"tag":553,"props":33830,"children":33831},{"style":572},[33832],{"type":431,"value":33833},"\"Your package will be delivered today:",{"type":426,"tag":553,"props":33835,"children":33836},{"style":566},[33837],{"type":431,"value":3661},{"type":426,"tag":553,"props":33839,"children":33840},{"style":572},[33841],{"type":431,"value":1250},{"type":426,"tag":553,"props":33843,"children":33844},{"class":555,"line":1253},[33845,33849,33854,33858,33863,33867,33872,33876,33881,33885],{"type":426,"tag":553,"props":33846,"children":33847},{"style":795},[33848],{"type":431,"value":1216},{"type":426,"tag":553,"props":33850,"children":33851},{"style":572},[33852],{"type":431,"value":33853},"\"⏰ Window: ",{"type":426,"tag":553,"props":33855,"children":33856},{"style":566},[33857],{"type":431,"value":972},{"type":426,"tag":553,"props":33859,"children":33860},{"style":684},[33861],{"type":431,"value":33862},"delivery_window_start",{"type":426,"tag":553,"props":33864,"children":33865},{"style":566},[33866],{"type":431,"value":982},{"type":426,"tag":553,"props":33868,"children":33869},{"style":572},[33870],{"type":431,"value":33871},"–",{"type":426,"tag":553,"props":33873,"children":33874},{"style":566},[33875],{"type":431,"value":972},{"type":426,"tag":553,"props":33877,"children":33878},{"style":684},[33879],{"type":431,"value":33880},"delivery_window_end",{"type":426,"tag":553,"props":33882,"children":33883},{"style":566},[33884],{"type":431,"value":1407},{"type":426,"tag":553,"props":33886,"children":33887},{"style":572},[33888],{"type":431,"value":1250},{"type":426,"tag":553,"props":33890,"children":33891},{"class":555,"line":1302},[33892,33896,33901,33905,33910,33914],{"type":426,"tag":553,"props":33893,"children":33894},{"style":795},[33895],{"type":431,"value":1216},{"type":426,"tag":553,"props":33897,"children":33898},{"style":572},[33899],{"type":431,"value":33900},"\"📦 Tracking: ",{"type":426,"tag":553,"props":33902,"children":33903},{"style":566},[33904],{"type":431,"value":972},{"type":426,"tag":553,"props":33906,"children":33907},{"style":684},[33908],{"type":431,"value":33909},"tracking_id",{"type":426,"tag":553,"props":33911,"children":33912},{"style":566},[33913],{"type":431,"value":1407},{"type":426,"tag":553,"props":33915,"children":33916},{"style":572},[33917],{"type":431,"value":1250},{"type":426,"tag":553,"props":33919,"children":33920},{"class":555,"line":1374},[33921,33925,33930,33934,33939,33943],{"type":426,"tag":553,"props":33922,"children":33923},{"style":795},[33924],{"type":431,"value":1216},{"type":426,"tag":553,"props":33926,"children":33927},{"style":572},[33928],{"type":431,"value":33929},"\"🚗 Driver: ",{"type":426,"tag":553,"props":33931,"children":33932},{"style":566},[33933],{"type":431,"value":972},{"type":426,"tag":553,"props":33935,"children":33936},{"style":684},[33937],{"type":431,"value":33938},"driver_name",{"type":426,"tag":553,"props":33940,"children":33941},{"style":566},[33942],{"type":431,"value":1245},{"type":426,"tag":553,"props":33944,"children":33945},{"style":572},[33946],{"type":431,"value":1250},{"type":426,"tag":553,"props":33948,"children":33949},{"class":555,"line":1414},[33950,33954,33959,33963],{"type":426,"tag":553,"props":33951,"children":33952},{"style":795},[33953],{"type":431,"value":1216},{"type":426,"tag":553,"props":33955,"children":33956},{"style":572},[33957],{"type":431,"value":33958},"\"Not home? Reply:",{"type":426,"tag":553,"props":33960,"children":33961},{"style":566},[33962],{"type":431,"value":3661},{"type":426,"tag":553,"props":33964,"children":33965},{"style":572},[33966],{"type":431,"value":1250},{"type":426,"tag":553,"props":33968,"children":33969},{"class":555,"line":1479},[33970,33974,33979,33983],{"type":426,"tag":553,"props":33971,"children":33972},{"style":795},[33973],{"type":431,"value":1216},{"type":426,"tag":553,"props":33975,"children":33976},{"style":572},[33977],{"type":431,"value":33978},"\"• *SAFE* — leave in a safe place",{"type":426,"tag":553,"props":33980,"children":33981},{"style":566},[33982],{"type":431,"value":3661},{"type":426,"tag":553,"props":33984,"children":33985},{"style":572},[33986],{"type":431,"value":1250},{"type":426,"tag":553,"props":33988,"children":33989},{"class":555,"line":1517},[33990,33994,33999,34003],{"type":426,"tag":553,"props":33991,"children":33992},{"style":795},[33993],{"type":431,"value":1216},{"type":426,"tag":553,"props":33995,"children":33996},{"style":572},[33997],{"type":431,"value":33998},"\"• *NEIGHBOR* — leave with a neighbor",{"type":426,"tag":553,"props":34000,"children":34001},{"style":566},[34002],{"type":431,"value":3661},{"type":426,"tag":553,"props":34004,"children":34005},{"style":572},[34006],{"type":431,"value":1250},{"type":426,"tag":553,"props":34008,"children":34009},{"class":555,"line":1560},[34010,34014,34019,34023],{"type":426,"tag":553,"props":34011,"children":34012},{"style":795},[34013],{"type":431,"value":1216},{"type":426,"tag":553,"props":34015,"children":34016},{"style":572},[34017],{"type":431,"value":34018},"\"• *RESCHEDULE* — pick a new delivery date",{"type":426,"tag":553,"props":34020,"children":34021},{"style":566},[34022],{"type":431,"value":1295},{"type":426,"tag":553,"props":34024,"children":34025},{"style":572},[34026],{"type":431,"value":1250},{"type":426,"tag":553,"props":34028,"children":34029},{"class":555,"line":1598},[34030,34034],{"type":426,"tag":553,"props":34031,"children":34032},{"style":795},[34033],{"type":431,"value":1216},{"type":426,"tag":553,"props":34035,"children":34036},{"style":572},[34037],{"type":431,"value":34038},"\"We'll be there soon! 🚚\"\n",{"type":426,"tag":553,"props":34040,"children":34041},{"class":555,"line":1636},[34042],{"type":426,"tag":553,"props":34043,"children":34044},{"style":684},[34045],{"type":431,"value":1642},{"type":426,"tag":553,"props":34047,"children":34048},{"class":555,"line":1645},[34049],{"type":426,"tag":553,"props":34050,"children":34051},{"style":684},[34052],{"type":431,"value":917},{"type":426,"tag":553,"props":34054,"children":34055},{"class":555,"line":1653},[34056,34060],{"type":426,"tag":553,"props":34057,"children":34058},{"style":795},[34059],{"type":431,"value":1659},{"type":426,"tag":553,"props":34061,"children":34062},{"style":684},[34063],{"type":431,"value":1664},{"type":426,"tag":553,"props":34065,"children":34066},{"class":555,"line":1667},[34067,34071],{"type":426,"tag":553,"props":34068,"children":34069},{"style":572},[34070],{"type":431,"value":1673},{"type":426,"tag":553,"props":34072,"children":34073},{"style":684},[34074],{"type":431,"value":710},{"type":426,"tag":553,"props":34076,"children":34077},{"class":555,"line":1680},[34078,34082,34086,34090,34094,34098,34102,34106,34110,34114,34118,34122],{"type":426,"tag":553,"props":34079,"children":34080},{"style":1684},[34081],{"type":431,"value":1687},{"type":426,"tag":553,"props":34083,"children":34084},{"style":795},[34085],{"type":431,"value":957},{"type":426,"tag":553,"props":34087,"children":34088},{"style":684},[34089],{"type":431,"value":972},{"type":426,"tag":553,"props":34091,"children":34092},{"style":572},[34093],{"type":431,"value":1700},{"type":426,"tag":553,"props":34095,"children":34096},{"style":684},[34097],{"type":431,"value":700},{"type":426,"tag":553,"props":34099,"children":34100},{"style":795},[34101],{"type":431,"value":1709},{"type":426,"tag":553,"props":34103,"children":34104},{"style":572},[34105],{"type":431,"value":1714},{"type":426,"tag":553,"props":34107,"children":34108},{"style":566},[34109],{"type":431,"value":972},{"type":426,"tag":553,"props":34111,"children":34112},{"style":684},[34113],{"type":431,"value":1723},{"type":426,"tag":553,"props":34115,"children":34116},{"style":566},[34117],{"type":431,"value":982},{"type":426,"tag":553,"props":34119,"children":34120},{"style":572},[34121],{"type":431,"value":1732},{"type":426,"tag":553,"props":34123,"children":34124},{"style":684},[34125],{"type":431,"value":1737},{"type":426,"tag":553,"props":34127,"children":34128},{"class":555,"line":1740},[34129,34133,34137,34141,34145,34150,34154],{"type":426,"tag":553,"props":34130,"children":34131},{"style":1684},[34132],{"type":431,"value":1746},{"type":426,"tag":553,"props":34134,"children":34135},{"style":795},[34136],{"type":431,"value":957},{"type":426,"tag":553,"props":34138,"children":34139},{"style":684},[34140],{"type":431,"value":972},{"type":426,"tag":553,"props":34142,"children":34143},{"style":572},[34144],{"type":431,"value":1759},{"type":426,"tag":553,"props":34146,"children":34147},{"style":684},[34148],{"type":431,"value":34149},": recipient_phone, ",{"type":426,"tag":553,"props":34151,"children":34152},{"style":572},[34153],{"type":431,"value":1779},{"type":426,"tag":553,"props":34155,"children":34156},{"style":684},[34157],{"type":431,"value":1784},{"type":426,"tag":553,"props":34159,"children":34160},{"class":555,"line":1787},[34161],{"type":426,"tag":553,"props":34162,"children":34163},{"style":684},[34164],{"type":431,"value":1793},{"type":426,"tag":553,"props":34166,"children":34167},{"class":555,"line":1796},[34168],{"type":426,"tag":553,"props":34169,"children":34170},{"emptyLinePlaceholder":831},[34171],{"type":431,"value":834},{"type":426,"tag":553,"props":34173,"children":34174},{"class":555,"line":1804},[34175],{"type":426,"tag":553,"props":34176,"children":34177},{"style":1975},[34178],{"type":431,"value":34179},"# Usage\n",{"type":426,"tag":553,"props":34181,"children":34182},{"class":555,"line":1812},[34183],{"type":426,"tag":553,"props":34184,"children":34185},{"style":684},[34186],{"type":431,"value":34187},"send_delivery_window_alert(\n",{"type":426,"tag":553,"props":34189,"children":34190},{"class":555,"line":1847},[34191,34196,34200,34204],{"type":426,"tag":553,"props":34192,"children":34193},{"style":1684},[34194],{"type":431,"value":34195},"    recipient_phone",{"type":426,"tag":553,"props":34197,"children":34198},{"style":795},[34199],{"type":431,"value":957},{"type":426,"tag":553,"props":34201,"children":34202},{"style":572},[34203],{"type":431,"value":10197},{"type":426,"tag":553,"props":34205,"children":34206},{"style":684},[34207],{"type":431,"value":710},{"type":426,"tag":553,"props":34209,"children":34210},{"class":555,"line":1856},[34211,34216,34220,34225],{"type":426,"tag":553,"props":34212,"children":34213},{"style":1684},[34214],{"type":431,"value":34215},"    recipient_name",{"type":426,"tag":553,"props":34217,"children":34218},{"style":795},[34219],{"type":431,"value":957},{"type":426,"tag":553,"props":34221,"children":34222},{"style":572},[34223],{"type":431,"value":34224},"'Sarah'",{"type":426,"tag":553,"props":34226,"children":34227},{"style":684},[34228],{"type":431,"value":710},{"type":426,"tag":553,"props":34230,"children":34231},{"class":555,"line":1874},[34232,34237,34241,34246],{"type":426,"tag":553,"props":34233,"children":34234},{"style":1684},[34235],{"type":431,"value":34236},"    tracking_id",{"type":426,"tag":553,"props":34238,"children":34239},{"style":795},[34240],{"type":431,"value":957},{"type":426,"tag":553,"props":34242,"children":34243},{"style":572},[34244],{"type":431,"value":34245},"'SHP-2026-789'",{"type":426,"tag":553,"props":34247,"children":34248},{"style":684},[34249],{"type":431,"value":710},{"type":426,"tag":553,"props":34251,"children":34252},{"class":555,"line":1882},[34253,34258,34262,34267],{"type":426,"tag":553,"props":34254,"children":34255},{"style":1684},[34256],{"type":431,"value":34257},"    delivery_window_start",{"type":426,"tag":553,"props":34259,"children":34260},{"style":795},[34261],{"type":431,"value":957},{"type":426,"tag":553,"props":34263,"children":34264},{"style":572},[34265],{"type":431,"value":34266},"'10:00 AM'",{"type":426,"tag":553,"props":34268,"children":34269},{"style":684},[34270],{"type":431,"value":710},{"type":426,"tag":553,"props":34272,"children":34273},{"class":555,"line":1981},[34274,34279,34283,34288],{"type":426,"tag":553,"props":34275,"children":34276},{"style":1684},[34277],{"type":431,"value":34278},"    delivery_window_end",{"type":426,"tag":553,"props":34280,"children":34281},{"style":795},[34282],{"type":431,"value":957},{"type":426,"tag":553,"props":34284,"children":34285},{"style":572},[34286],{"type":431,"value":34287},"'12:00 PM'",{"type":426,"tag":553,"props":34289,"children":34290},{"style":684},[34291],{"type":431,"value":710},{"type":426,"tag":553,"props":34293,"children":34294},{"class":555,"line":1989},[34295,34300,34304,34309],{"type":426,"tag":553,"props":34296,"children":34297},{"style":1684},[34298],{"type":431,"value":34299},"    driver_name",{"type":426,"tag":553,"props":34301,"children":34302},{"style":795},[34303],{"type":431,"value":957},{"type":426,"tag":553,"props":34305,"children":34306},{"style":572},[34307],{"type":431,"value":34308},"'Rahim'",{"type":426,"tag":553,"props":34310,"children":34311},{"style":684},[34312],{"type":431,"value":710},{"type":426,"tag":553,"props":34314,"children":34315},{"class":555,"line":2013},[34316,34320,34324],{"type":426,"tag":553,"props":34317,"children":34318},{"style":1684},[34319],{"type":431,"value":3245},{"type":426,"tag":553,"props":34321,"children":34322},{"style":795},[34323],{"type":431,"value":957},{"type":426,"tag":553,"props":34325,"children":34326},{"style":572},[34327],{"type":431,"value":3254},{"type":426,"tag":553,"props":34329,"children":34330},{"class":555,"line":2055},[34331],{"type":426,"tag":553,"props":34332,"children":34333},{"style":684},[34334],{"type":431,"value":3262},{"type":426,"tag":515,"props":34336,"children":34338},{"id":34337},"_3-delivery-attempt-failed",[34339],{"type":431,"value":34340},"3. Delivery Attempt Failed",{"type":426,"tag":427,"props":34342,"children":34343},{},[34344,34348],{"type":426,"tag":446,"props":34345,"children":34346},{},[34347],{"type":431,"value":528},{"type":431,"value":34349},": Delivery fails, recipient doesn't know, shipment sits in the depot.",{"type":426,"tag":427,"props":34351,"children":34352},{},[34353,34357],{"type":426,"tag":446,"props":34354,"children":34355},{},[34356],{"type":431,"value":538},{"type":431,"value":34358},": Immediate WhatsApp alert with rescheduling link.",{"type":426,"tag":542,"props":34360,"children":34362},{"code":34361},"\"Hi Sarah! 📦 Delivery attempt: Missed\n\nOur driver tried to deliver your package (SHP-2026-789) today at 10:45 AM but no one was home.\n\nYour package is now at our depot:\n📍 City Depot, 45 Industrial Road\n\nOptions:\n1️⃣ Reply *RESCHEDULE* to pick a new delivery date\n2️⃣ Reply *PICKUP* to collect from our depot (Mon–Sat 9AM–6PM)\n3️⃣ Reply *SAFE* to authorize leaving at your door next time\n\nQuick response ensures faster redelivery! 🚚\"\n",[34363],{"type":426,"tag":549,"props":34364,"children":34365},{"__ignoreMap":417},[34366],{"type":431,"value":34361},{"type":426,"tag":427,"props":34368,"children":34369},{},[34370],{"type":426,"tag":446,"props":34371,"children":34372},{},[34373],{"type":431,"value":34374},"Processing replies via webhook:",{"type":426,"tag":542,"props":34376,"children":34378},{"code":34377,"language":784,"meta":417,"className":785,"style":417},"def handle_delivery_reply(phone: str, message: str, tracking_id: str, api_key: str) -> None:\n    \"\"\"Handle recipient replies for delivery instructions.\"\"\"\n    message_lower = message.strip().upper()\n    \n    if message_lower == 'RESCHEDULE':\n        booking_url = f\"https:\u002F\u002Ftrack.example.com\u002F{tracking_id}\u002Freschedule\"\n        reply = f\"Great! Choose a new delivery date here:\\n{booking_url}\"\n    \n    elif message_lower == 'PICKUP':\n        reply = (\n            \"Perfect! Your package will be held at our depot for 5 business days:\\n\\n\"\n            \"📍 City Depot, 45 Industrial Road\\n\"\n            \"🕐 Hours: Mon–Sat, 9AM–6PM\\n\"\n            \"📋 Bring: Your ID and tracking number SHP-2026-789\"\n        )\n    \n    elif message_lower == 'SAFE':\n        reply = \"Noted! We'll leave your package in a safe place next time. Please ensure the area is secure. ✅\"\n    \n    else:\n        reply = \"Thanks for your message! A customer service agent will be in touch shortly.\"\n    \n    requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': phone, 'message': reply}\n    )\n",[34379],{"type":426,"tag":549,"props":34380,"children":34381},{"__ignoreMap":417},[34382,34439,34447,34462,34469,34492,34530,34567,34574,34598,34613,34629,34645,34661,34669,34676,34683,34707,34723,34730,34741,34757,34764,34771,34782,34833,34865],{"type":426,"tag":553,"props":34383,"children":34384},{"class":555,"line":556},[34385,34389,34394,34398,34402,34406,34410,34415,34419,34423,34427,34431,34435],{"type":426,"tag":553,"props":34386,"children":34387},{"style":795},[34388],{"type":431,"value":842},{"type":426,"tag":553,"props":34390,"children":34391},{"style":560},[34392],{"type":431,"value":34393}," handle_delivery_reply",{"type":426,"tag":553,"props":34395,"children":34396},{"style":684},[34397],{"type":431,"value":7446},{"type":426,"tag":553,"props":34399,"children":34400},{"style":566},[34401],{"type":431,"value":895},{"type":426,"tag":553,"props":34403,"children":34404},{"style":684},[34405],{"type":431,"value":8713},{"type":426,"tag":553,"props":34407,"children":34408},{"style":566},[34409],{"type":431,"value":895},{"type":426,"tag":553,"props":34411,"children":34412},{"style":684},[34413],{"type":431,"value":34414},", tracking_id: ",{"type":426,"tag":553,"props":34416,"children":34417},{"style":566},[34418],{"type":431,"value":895},{"type":426,"tag":553,"props":34420,"children":34421},{"style":684},[34422],{"type":431,"value":890},{"type":426,"tag":553,"props":34424,"children":34425},{"style":566},[34426],{"type":431,"value":895},{"type":426,"tag":553,"props":34428,"children":34429},{"style":684},[34430],{"type":431,"value":900},{"type":426,"tag":553,"props":34432,"children":34433},{"style":566},[34434],{"type":431,"value":1840},{"type":426,"tag":553,"props":34436,"children":34437},{"style":684},[34438],{"type":431,"value":909},{"type":426,"tag":553,"props":34440,"children":34441},{"class":555,"line":588},[34442],{"type":426,"tag":553,"props":34443,"children":34444},{"style":572},[34445],{"type":431,"value":34446},"    \"\"\"Handle recipient replies for delivery instructions.\"\"\"\n",{"type":426,"tag":553,"props":34448,"children":34449},{"class":555,"line":606},[34450,34454,34458],{"type":426,"tag":553,"props":34451,"children":34452},{"style":684},[34453],{"type":431,"value":19724},{"type":426,"tag":553,"props":34455,"children":34456},{"style":795},[34457],{"type":431,"value":957},{"type":426,"tag":553,"props":34459,"children":34460},{"style":684},[34461],{"type":431,"value":29434},{"type":426,"tag":553,"props":34463,"children":34464},{"class":555,"line":623},[34465],{"type":426,"tag":553,"props":34466,"children":34467},{"style":684},[34468],{"type":431,"value":917},{"type":426,"tag":553,"props":34470,"children":34471},{"class":555,"line":637},[34472,34476,34480,34484,34488],{"type":426,"tag":553,"props":34473,"children":34474},{"style":795},[34475],{"type":431,"value":925},{"type":426,"tag":553,"props":34477,"children":34478},{"style":684},[34479],{"type":431,"value":19766},{"type":426,"tag":553,"props":34481,"children":34482},{"style":795},[34483],{"type":431,"value":1069},{"type":426,"tag":553,"props":34485,"children":34486},{"style":572},[34487],{"type":431,"value":3618},{"type":426,"tag":553,"props":34489,"children":34490},{"style":684},[34491],{"type":431,"value":909},{"type":426,"tag":553,"props":34493,"children":34494},{"class":555,"line":646},[34495,34500,34504,34508,34513,34517,34521,34525],{"type":426,"tag":553,"props":34496,"children":34497},{"style":684},[34498],{"type":431,"value":34499},"        booking_url ",{"type":426,"tag":553,"props":34501,"children":34502},{"style":795},[34503],{"type":431,"value":957},{"type":426,"tag":553,"props":34505,"children":34506},{"style":795},[34507],{"type":431,"value":962},{"type":426,"tag":553,"props":34509,"children":34510},{"style":572},[34511],{"type":431,"value":34512},"\"https:\u002F\u002Ftrack.example.com\u002F",{"type":426,"tag":553,"props":34514,"children":34515},{"style":566},[34516],{"type":431,"value":972},{"type":426,"tag":553,"props":34518,"children":34519},{"style":684},[34520],{"type":431,"value":33909},{"type":426,"tag":553,"props":34522,"children":34523},{"style":566},[34524],{"type":431,"value":982},{"type":426,"tag":553,"props":34526,"children":34527},{"style":572},[34528],{"type":431,"value":34529},"\u002Freschedule\"\n",{"type":426,"tag":553,"props":34531,"children":34532},{"class":555,"line":655},[34533,34537,34541,34545,34550,34554,34559,34563],{"type":426,"tag":553,"props":34534,"children":34535},{"style":684},[34536],{"type":431,"value":29537},{"type":426,"tag":553,"props":34538,"children":34539},{"style":795},[34540],{"type":431,"value":957},{"type":426,"tag":553,"props":34542,"children":34543},{"style":795},[34544],{"type":431,"value":962},{"type":426,"tag":553,"props":34546,"children":34547},{"style":572},[34548],{"type":431,"value":34549},"\"Great! Choose a new delivery date here:",{"type":426,"tag":553,"props":34551,"children":34552},{"style":566},[34553],{"type":431,"value":3750},{"type":426,"tag":553,"props":34555,"children":34556},{"style":684},[34557],{"type":431,"value":34558},"booking_url",{"type":426,"tag":553,"props":34560,"children":34561},{"style":566},[34562],{"type":431,"value":982},{"type":426,"tag":553,"props":34564,"children":34565},{"style":572},[34566],{"type":431,"value":1250},{"type":426,"tag":553,"props":34568,"children":34569},{"class":555,"line":1036},[34570],{"type":426,"tag":553,"props":34571,"children":34572},{"style":684},[34573],{"type":431,"value":917},{"type":426,"tag":553,"props":34575,"children":34576},{"class":555,"line":1054},[34577,34581,34585,34589,34594],{"type":426,"tag":553,"props":34578,"children":34579},{"style":795},[34580],{"type":431,"value":1060},{"type":426,"tag":553,"props":34582,"children":34583},{"style":684},[34584],{"type":431,"value":19766},{"type":426,"tag":553,"props":34586,"children":34587},{"style":795},[34588],{"type":431,"value":1069},{"type":426,"tag":553,"props":34590,"children":34591},{"style":572},[34592],{"type":431,"value":34593}," 'PICKUP'",{"type":426,"tag":553,"props":34595,"children":34596},{"style":684},[34597],{"type":431,"value":909},{"type":426,"tag":553,"props":34599,"children":34600},{"class":555,"line":1080},[34601,34605,34609],{"type":426,"tag":553,"props":34602,"children":34603},{"style":684},[34604],{"type":431,"value":29537},{"type":426,"tag":553,"props":34606,"children":34607},{"style":795},[34608],{"type":431,"value":957},{"type":426,"tag":553,"props":34610,"children":34611},{"style":684},[34612],{"type":431,"value":1207},{"type":426,"tag":553,"props":34614,"children":34615},{"class":555,"line":1097},[34616,34621,34625],{"type":426,"tag":553,"props":34617,"children":34618},{"style":572},[34619],{"type":431,"value":34620},"            \"Perfect! Your package will be held at our depot for 5 business days:",{"type":426,"tag":553,"props":34622,"children":34623},{"style":566},[34624],{"type":431,"value":1295},{"type":426,"tag":553,"props":34626,"children":34627},{"style":572},[34628],{"type":431,"value":1250},{"type":426,"tag":553,"props":34630,"children":34631},{"class":555,"line":1114},[34632,34637,34641],{"type":426,"tag":553,"props":34633,"children":34634},{"style":572},[34635],{"type":431,"value":34636},"            \"📍 City Depot, 45 Industrial Road",{"type":426,"tag":553,"props":34638,"children":34639},{"style":566},[34640],{"type":431,"value":3661},{"type":426,"tag":553,"props":34642,"children":34643},{"style":572},[34644],{"type":431,"value":1250},{"type":426,"tag":553,"props":34646,"children":34647},{"class":555,"line":1127},[34648,34653,34657],{"type":426,"tag":553,"props":34649,"children":34650},{"style":572},[34651],{"type":431,"value":34652},"            \"🕐 Hours: Mon–Sat, 9AM–6PM",{"type":426,"tag":553,"props":34654,"children":34655},{"style":566},[34656],{"type":431,"value":3661},{"type":426,"tag":553,"props":34658,"children":34659},{"style":572},[34660],{"type":431,"value":1250},{"type":426,"tag":553,"props":34662,"children":34663},{"class":555,"line":1167},[34664],{"type":426,"tag":553,"props":34665,"children":34666},{"style":572},[34667],{"type":431,"value":34668},"            \"📋 Bring: Your ID and tracking number SHP-2026-789\"\n",{"type":426,"tag":553,"props":34670,"children":34671},{"class":555,"line":1184},[34672],{"type":426,"tag":553,"props":34673,"children":34674},{"style":684},[34675],{"type":431,"value":6037},{"type":426,"tag":553,"props":34677,"children":34678},{"class":555,"line":1192},[34679],{"type":426,"tag":553,"props":34680,"children":34681},{"style":684},[34682],{"type":431,"value":917},{"type":426,"tag":553,"props":34684,"children":34685},{"class":555,"line":1210},[34686,34690,34694,34698,34703],{"type":426,"tag":553,"props":34687,"children":34688},{"style":795},[34689],{"type":431,"value":1060},{"type":426,"tag":553,"props":34691,"children":34692},{"style":684},[34693],{"type":431,"value":19766},{"type":426,"tag":553,"props":34695,"children":34696},{"style":795},[34697],{"type":431,"value":1069},{"type":426,"tag":553,"props":34699,"children":34700},{"style":572},[34701],{"type":431,"value":34702}," 'SAFE'",{"type":426,"tag":553,"props":34704,"children":34705},{"style":684},[34706],{"type":431,"value":909},{"type":426,"tag":553,"props":34708,"children":34709},{"class":555,"line":1253},[34710,34714,34718],{"type":426,"tag":553,"props":34711,"children":34712},{"style":684},[34713],{"type":431,"value":29537},{"type":426,"tag":553,"props":34715,"children":34716},{"style":795},[34717],{"type":431,"value":957},{"type":426,"tag":553,"props":34719,"children":34720},{"style":572},[34721],{"type":431,"value":34722}," \"Noted! We'll leave your package in a safe place next time. Please ensure the area is secure. ✅\"\n",{"type":426,"tag":553,"props":34724,"children":34725},{"class":555,"line":1302},[34726],{"type":426,"tag":553,"props":34727,"children":34728},{"style":684},[34729],{"type":431,"value":917},{"type":426,"tag":553,"props":34731,"children":34732},{"class":555,"line":1374},[34733,34737],{"type":426,"tag":553,"props":34734,"children":34735},{"style":795},[34736],{"type":431,"value":1120},{"type":426,"tag":553,"props":34738,"children":34739},{"style":684},[34740],{"type":431,"value":909},{"type":426,"tag":553,"props":34742,"children":34743},{"class":555,"line":1414},[34744,34748,34752],{"type":426,"tag":553,"props":34745,"children":34746},{"style":684},[34747],{"type":431,"value":29537},{"type":426,"tag":553,"props":34749,"children":34750},{"style":795},[34751],{"type":431,"value":957},{"type":426,"tag":553,"props":34753,"children":34754},{"style":572},[34755],{"type":431,"value":34756}," \"Thanks for your message! A customer service agent will be in touch shortly.\"\n",{"type":426,"tag":553,"props":34758,"children":34759},{"class":555,"line":1479},[34760],{"type":426,"tag":553,"props":34761,"children":34762},{"style":684},[34763],{"type":431,"value":917},{"type":426,"tag":553,"props":34765,"children":34766},{"class":555,"line":1517},[34767],{"type":426,"tag":553,"props":34768,"children":34769},{"style":684},[34770],{"type":431,"value":30283},{"type":426,"tag":553,"props":34772,"children":34773},{"class":555,"line":1560},[34774,34778],{"type":426,"tag":553,"props":34775,"children":34776},{"style":572},[34777],{"type":431,"value":1673},{"type":426,"tag":553,"props":34779,"children":34780},{"style":684},[34781],{"type":431,"value":710},{"type":426,"tag":553,"props":34783,"children":34784},{"class":555,"line":1598},[34785,34789,34793,34797,34801,34805,34809,34813,34817,34821,34825,34829],{"type":426,"tag":553,"props":34786,"children":34787},{"style":1684},[34788],{"type":431,"value":1687},{"type":426,"tag":553,"props":34790,"children":34791},{"style":795},[34792],{"type":431,"value":957},{"type":426,"tag":553,"props":34794,"children":34795},{"style":684},[34796],{"type":431,"value":972},{"type":426,"tag":553,"props":34798,"children":34799},{"style":572},[34800],{"type":431,"value":1700},{"type":426,"tag":553,"props":34802,"children":34803},{"style":684},[34804],{"type":431,"value":700},{"type":426,"tag":553,"props":34806,"children":34807},{"style":795},[34808],{"type":431,"value":1709},{"type":426,"tag":553,"props":34810,"children":34811},{"style":572},[34812],{"type":431,"value":1714},{"type":426,"tag":553,"props":34814,"children":34815},{"style":566},[34816],{"type":431,"value":972},{"type":426,"tag":553,"props":34818,"children":34819},{"style":684},[34820],{"type":431,"value":1723},{"type":426,"tag":553,"props":34822,"children":34823},{"style":566},[34824],{"type":431,"value":982},{"type":426,"tag":553,"props":34826,"children":34827},{"style":572},[34828],{"type":431,"value":1732},{"type":426,"tag":553,"props":34830,"children":34831},{"style":684},[34832],{"type":431,"value":1737},{"type":426,"tag":553,"props":34834,"children":34835},{"class":555,"line":1636},[34836,34840,34844,34848,34852,34856,34860],{"type":426,"tag":553,"props":34837,"children":34838},{"style":1684},[34839],{"type":431,"value":1746},{"type":426,"tag":553,"props":34841,"children":34842},{"style":795},[34843],{"type":431,"value":957},{"type":426,"tag":553,"props":34845,"children":34846},{"style":684},[34847],{"type":431,"value":972},{"type":426,"tag":553,"props":34849,"children":34850},{"style":572},[34851],{"type":431,"value":1759},{"type":426,"tag":553,"props":34853,"children":34854},{"style":684},[34855],{"type":431,"value":8931},{"type":426,"tag":553,"props":34857,"children":34858},{"style":572},[34859],{"type":431,"value":1779},{"type":426,"tag":553,"props":34861,"children":34862},{"style":684},[34863],{"type":431,"value":34864},": reply}\n",{"type":426,"tag":553,"props":34866,"children":34867},{"class":555,"line":1645},[34868],{"type":426,"tag":553,"props":34869,"children":34870},{"style":684},[34871],{"type":431,"value":1642},{"type":426,"tag":515,"props":34873,"children":34875},{"id":34874},"_4-proof-of-delivery",[34876],{"type":431,"value":34877},"4. Proof of Delivery",{"type":426,"tag":427,"props":34879,"children":34880},{},[34881,34885],{"type":426,"tag":446,"props":34882,"children":34883},{},[34884],{"type":431,"value":528},{"type":431,"value":34886},": Senders and recipients argue about whether a delivery was made.",{"type":426,"tag":427,"props":34888,"children":34889},{},[34890,34894],{"type":426,"tag":446,"props":34891,"children":34892},{},[34893],{"type":431,"value":538},{"type":431,"value":34895},": Instant WhatsApp proof of delivery with timestamp.",{"type":426,"tag":542,"props":34897,"children":34899},{"code":34898},"\"Package Delivered! ✅\n\nHi Sarah! Your package SHP-2026-789 was delivered:\n\n📅 Delivered: July 13, 2026 at 11:23 AM\n📍 Delivered to: Front door\n🖊️ Signed by: Self\n📷 Photo: https:\u002F\u002Ftrack.example.com\u002Fpod\u002FSHP-2026-789\n\nTrack your delivery history: https:\u002F\u002Ftrack.example.com\u002FSHP-2026-789\n\nAny issues? Reply here within 48 hours.\"\n",[34900],{"type":426,"tag":549,"props":34901,"children":34902},{"__ignoreMap":417},[34903],{"type":431,"value":34898},{"type":426,"tag":515,"props":34905,"children":34907},{"id":34906},"_5-exception-alert-delay-damage-customs-hold",[34908],{"type":431,"value":34909},"5. Exception Alert (Delay, Damage, Customs Hold)",{"type":426,"tag":427,"props":34911,"children":34912},{},[34913,34917],{"type":426,"tag":446,"props":34914,"children":34915},{},[34916],{"type":431,"value":528},{"type":431,"value":34918},": Shipments get delayed or held in customs — recipients find out when they call, not proactively.",{"type":426,"tag":427,"props":34920,"children":34921},{},[34922,34926],{"type":426,"tag":446,"props":34923,"children":34924},{},[34925],{"type":431,"value":538},{"type":431,"value":34927},": Immediate WhatsApp exception notification.",{"type":426,"tag":542,"props":34929,"children":34931},{"code":34930,"language":784,"meta":417,"className":785,"style":417},"EXCEPTION_MESSAGES = {\n    'delay': (\n        \"Delivery Update — Slight Delay ⚠️\\n\\n\"\n        \"Hi {name}, your package {tracking} has been delayed.\\n\\n\"\n        \"New estimated delivery: {new_date}\\n\"\n        \"Reason: {reason}\\n\\n\"\n        \"We apologize for the inconvenience. \"\n        \"Track live: {tracking_url}\"\n    ),\n    'customs': (\n        \"Customs Hold ⚠️\\n\\n\"\n        \"Hi {name}, your package {tracking} is being held at customs.\\n\\n\"\n        \"Required action: {action_required}\\n\\n\"\n        \"Contact customs directly:\\n\"\n        \"📞 {customs_phone}\\n\"\n        \"Reference: {customs_ref}\\n\\n\"\n        \"Estimated release: 2–5 business days after document submission.\"\n    ),\n    'damage': (\n        \"⚠️ Package Condition Alert\\n\\n\"\n        \"Hi {name}, your package {tracking} may have been damaged in transit.\\n\\n\"\n        \"Our driver noted visible damage before delivery.\\n\\n\"\n        \"Please inspect the package upon receipt and:\\n\"\n        \"• Accept and report any damage: Reply DAMAGED\\n\"\n        \"• Refuse delivery: Reply REFUSE\\n\\n\"\n        \"We'll open a claim immediately.\"\n    )\n}\n",[34932],{"type":426,"tag":549,"props":34933,"children":34934},{"__ignoreMap":417},[34935,34951,34963,34979,35015,35032,35049,35057,35074,35081,35093,35109,35141,35158,35174,35191,35208,35216,35223,35235,35251,35283,35299,35315,35331,35347,35355,35362],{"type":426,"tag":553,"props":34936,"children":34937},{"class":555,"line":556},[34938,34943,34947],{"type":426,"tag":553,"props":34939,"children":34940},{"style":566},[34941],{"type":431,"value":34942},"EXCEPTION_MESSAGES",{"type":426,"tag":553,"props":34944,"children":34945},{"style":795},[34946],{"type":431,"value":8739},{"type":426,"tag":553,"props":34948,"children":34949},{"style":684},[34950],{"type":431,"value":5458},{"type":426,"tag":553,"props":34952,"children":34953},{"class":555,"line":588},[34954,34959],{"type":426,"tag":553,"props":34955,"children":34956},{"style":572},[34957],{"type":431,"value":34958},"    'delay'",{"type":426,"tag":553,"props":34960,"children":34961},{"style":684},[34962],{"type":431,"value":19385},{"type":426,"tag":553,"props":34964,"children":34965},{"class":555,"line":606},[34966,34971,34975],{"type":426,"tag":553,"props":34967,"children":34968},{"style":572},[34969],{"type":431,"value":34970},"        \"Delivery Update — Slight Delay ⚠️",{"type":426,"tag":553,"props":34972,"children":34973},{"style":566},[34974],{"type":431,"value":1295},{"type":426,"tag":553,"props":34976,"children":34977},{"style":572},[34978],{"type":431,"value":1250},{"type":426,"tag":553,"props":34980,"children":34981},{"class":555,"line":623},[34982,34987,34992,34997,35002,35007,35011],{"type":426,"tag":553,"props":34983,"children":34984},{"style":572},[34985],{"type":431,"value":34986},"        \"Hi ",{"type":426,"tag":553,"props":34988,"children":34989},{"style":566},[34990],{"type":431,"value":34991},"{name}",{"type":426,"tag":553,"props":34993,"children":34994},{"style":572},[34995],{"type":431,"value":34996},", your package ",{"type":426,"tag":553,"props":34998,"children":34999},{"style":566},[35000],{"type":431,"value":35001},"{tracking}",{"type":426,"tag":553,"props":35003,"children":35004},{"style":572},[35005],{"type":431,"value":35006}," has been delayed.",{"type":426,"tag":553,"props":35008,"children":35009},{"style":566},[35010],{"type":431,"value":1295},{"type":426,"tag":553,"props":35012,"children":35013},{"style":572},[35014],{"type":431,"value":1250},{"type":426,"tag":553,"props":35016,"children":35017},{"class":555,"line":637},[35018,35023,35028],{"type":426,"tag":553,"props":35019,"children":35020},{"style":572},[35021],{"type":431,"value":35022},"        \"New estimated delivery: ",{"type":426,"tag":553,"props":35024,"children":35025},{"style":566},[35026],{"type":431,"value":35027},"{new_date}\\n",{"type":426,"tag":553,"props":35029,"children":35030},{"style":572},[35031],{"type":431,"value":1250},{"type":426,"tag":553,"props":35033,"children":35034},{"class":555,"line":646},[35035,35040,35045],{"type":426,"tag":553,"props":35036,"children":35037},{"style":572},[35038],{"type":431,"value":35039},"        \"Reason: ",{"type":426,"tag":553,"props":35041,"children":35042},{"style":566},[35043],{"type":431,"value":35044},"{reason}\\n\\n",{"type":426,"tag":553,"props":35046,"children":35047},{"style":572},[35048],{"type":431,"value":1250},{"type":426,"tag":553,"props":35050,"children":35051},{"class":555,"line":655},[35052],{"type":426,"tag":553,"props":35053,"children":35054},{"style":572},[35055],{"type":431,"value":35056},"        \"We apologize for the inconvenience. \"\n",{"type":426,"tag":553,"props":35058,"children":35059},{"class":555,"line":1036},[35060,35065,35070],{"type":426,"tag":553,"props":35061,"children":35062},{"style":572},[35063],{"type":431,"value":35064},"        \"Track live: ",{"type":426,"tag":553,"props":35066,"children":35067},{"style":566},[35068],{"type":431,"value":35069},"{tracking_url}",{"type":426,"tag":553,"props":35071,"children":35072},{"style":572},[35073],{"type":431,"value":1250},{"type":426,"tag":553,"props":35075,"children":35076},{"class":555,"line":1054},[35077],{"type":426,"tag":553,"props":35078,"children":35079},{"style":684},[35080],{"type":431,"value":3220},{"type":426,"tag":553,"props":35082,"children":35083},{"class":555,"line":1080},[35084,35089],{"type":426,"tag":553,"props":35085,"children":35086},{"style":572},[35087],{"type":431,"value":35088},"    'customs'",{"type":426,"tag":553,"props":35090,"children":35091},{"style":684},[35092],{"type":431,"value":19385},{"type":426,"tag":553,"props":35094,"children":35095},{"class":555,"line":1097},[35096,35101,35105],{"type":426,"tag":553,"props":35097,"children":35098},{"style":572},[35099],{"type":431,"value":35100},"        \"Customs Hold ⚠️",{"type":426,"tag":553,"props":35102,"children":35103},{"style":566},[35104],{"type":431,"value":1295},{"type":426,"tag":553,"props":35106,"children":35107},{"style":572},[35108],{"type":431,"value":1250},{"type":426,"tag":553,"props":35110,"children":35111},{"class":555,"line":1114},[35112,35116,35120,35124,35128,35133,35137],{"type":426,"tag":553,"props":35113,"children":35114},{"style":572},[35115],{"type":431,"value":34986},{"type":426,"tag":553,"props":35117,"children":35118},{"style":566},[35119],{"type":431,"value":34991},{"type":426,"tag":553,"props":35121,"children":35122},{"style":572},[35123],{"type":431,"value":34996},{"type":426,"tag":553,"props":35125,"children":35126},{"style":566},[35127],{"type":431,"value":35001},{"type":426,"tag":553,"props":35129,"children":35130},{"style":572},[35131],{"type":431,"value":35132}," is being held at customs.",{"type":426,"tag":553,"props":35134,"children":35135},{"style":566},[35136],{"type":431,"value":1295},{"type":426,"tag":553,"props":35138,"children":35139},{"style":572},[35140],{"type":431,"value":1250},{"type":426,"tag":553,"props":35142,"children":35143},{"class":555,"line":1127},[35144,35149,35154],{"type":426,"tag":553,"props":35145,"children":35146},{"style":572},[35147],{"type":431,"value":35148},"        \"Required action: ",{"type":426,"tag":553,"props":35150,"children":35151},{"style":566},[35152],{"type":431,"value":35153},"{action_required}\\n\\n",{"type":426,"tag":553,"props":35155,"children":35156},{"style":572},[35157],{"type":431,"value":1250},{"type":426,"tag":553,"props":35159,"children":35160},{"class":555,"line":1167},[35161,35166,35170],{"type":426,"tag":553,"props":35162,"children":35163},{"style":572},[35164],{"type":431,"value":35165},"        \"Contact customs directly:",{"type":426,"tag":553,"props":35167,"children":35168},{"style":566},[35169],{"type":431,"value":3661},{"type":426,"tag":553,"props":35171,"children":35172},{"style":572},[35173],{"type":431,"value":1250},{"type":426,"tag":553,"props":35175,"children":35176},{"class":555,"line":1184},[35177,35182,35187],{"type":426,"tag":553,"props":35178,"children":35179},{"style":572},[35180],{"type":431,"value":35181},"        \"📞 ",{"type":426,"tag":553,"props":35183,"children":35184},{"style":566},[35185],{"type":431,"value":35186},"{customs_phone}\\n",{"type":426,"tag":553,"props":35188,"children":35189},{"style":572},[35190],{"type":431,"value":1250},{"type":426,"tag":553,"props":35192,"children":35193},{"class":555,"line":1192},[35194,35199,35204],{"type":426,"tag":553,"props":35195,"children":35196},{"style":572},[35197],{"type":431,"value":35198},"        \"Reference: ",{"type":426,"tag":553,"props":35200,"children":35201},{"style":566},[35202],{"type":431,"value":35203},"{customs_ref}\\n\\n",{"type":426,"tag":553,"props":35205,"children":35206},{"style":572},[35207],{"type":431,"value":1250},{"type":426,"tag":553,"props":35209,"children":35210},{"class":555,"line":1210},[35211],{"type":426,"tag":553,"props":35212,"children":35213},{"style":572},[35214],{"type":431,"value":35215},"        \"Estimated release: 2–5 business days after document submission.\"\n",{"type":426,"tag":553,"props":35217,"children":35218},{"class":555,"line":1253},[35219],{"type":426,"tag":553,"props":35220,"children":35221},{"style":684},[35222],{"type":431,"value":3220},{"type":426,"tag":553,"props":35224,"children":35225},{"class":555,"line":1302},[35226,35231],{"type":426,"tag":553,"props":35227,"children":35228},{"style":572},[35229],{"type":431,"value":35230},"    'damage'",{"type":426,"tag":553,"props":35232,"children":35233},{"style":684},[35234],{"type":431,"value":19385},{"type":426,"tag":553,"props":35236,"children":35237},{"class":555,"line":1374},[35238,35243,35247],{"type":426,"tag":553,"props":35239,"children":35240},{"style":572},[35241],{"type":431,"value":35242},"        \"⚠️ Package Condition Alert",{"type":426,"tag":553,"props":35244,"children":35245},{"style":566},[35246],{"type":431,"value":1295},{"type":426,"tag":553,"props":35248,"children":35249},{"style":572},[35250],{"type":431,"value":1250},{"type":426,"tag":553,"props":35252,"children":35253},{"class":555,"line":1414},[35254,35258,35262,35266,35270,35275,35279],{"type":426,"tag":553,"props":35255,"children":35256},{"style":572},[35257],{"type":431,"value":34986},{"type":426,"tag":553,"props":35259,"children":35260},{"style":566},[35261],{"type":431,"value":34991},{"type":426,"tag":553,"props":35263,"children":35264},{"style":572},[35265],{"type":431,"value":34996},{"type":426,"tag":553,"props":35267,"children":35268},{"style":566},[35269],{"type":431,"value":35001},{"type":426,"tag":553,"props":35271,"children":35272},{"style":572},[35273],{"type":431,"value":35274}," may have been damaged in transit.",{"type":426,"tag":553,"props":35276,"children":35277},{"style":566},[35278],{"type":431,"value":1295},{"type":426,"tag":553,"props":35280,"children":35281},{"style":572},[35282],{"type":431,"value":1250},{"type":426,"tag":553,"props":35284,"children":35285},{"class":555,"line":1479},[35286,35291,35295],{"type":426,"tag":553,"props":35287,"children":35288},{"style":572},[35289],{"type":431,"value":35290},"        \"Our driver noted visible damage before delivery.",{"type":426,"tag":553,"props":35292,"children":35293},{"style":566},[35294],{"type":431,"value":1295},{"type":426,"tag":553,"props":35296,"children":35297},{"style":572},[35298],{"type":431,"value":1250},{"type":426,"tag":553,"props":35300,"children":35301},{"class":555,"line":1517},[35302,35307,35311],{"type":426,"tag":553,"props":35303,"children":35304},{"style":572},[35305],{"type":431,"value":35306},"        \"Please inspect the package upon receipt and:",{"type":426,"tag":553,"props":35308,"children":35309},{"style":566},[35310],{"type":431,"value":3661},{"type":426,"tag":553,"props":35312,"children":35313},{"style":572},[35314],{"type":431,"value":1250},{"type":426,"tag":553,"props":35316,"children":35317},{"class":555,"line":1560},[35318,35323,35327],{"type":426,"tag":553,"props":35319,"children":35320},{"style":572},[35321],{"type":431,"value":35322},"        \"• Accept and report any damage: Reply DAMAGED",{"type":426,"tag":553,"props":35324,"children":35325},{"style":566},[35326],{"type":431,"value":3661},{"type":426,"tag":553,"props":35328,"children":35329},{"style":572},[35330],{"type":431,"value":1250},{"type":426,"tag":553,"props":35332,"children":35333},{"class":555,"line":1598},[35334,35339,35343],{"type":426,"tag":553,"props":35335,"children":35336},{"style":572},[35337],{"type":431,"value":35338},"        \"• Refuse delivery: Reply REFUSE",{"type":426,"tag":553,"props":35340,"children":35341},{"style":566},[35342],{"type":431,"value":1295},{"type":426,"tag":553,"props":35344,"children":35345},{"style":572},[35346],{"type":431,"value":1250},{"type":426,"tag":553,"props":35348,"children":35349},{"class":555,"line":1636},[35350],{"type":426,"tag":553,"props":35351,"children":35352},{"style":572},[35353],{"type":431,"value":35354},"        \"We'll open a claim immediately.\"\n",{"type":426,"tag":553,"props":35356,"children":35357},{"class":555,"line":1645},[35358],{"type":426,"tag":553,"props":35359,"children":35360},{"style":684},[35361],{"type":431,"value":1642},{"type":426,"tag":553,"props":35363,"children":35364},{"class":555,"line":1653},[35365],{"type":426,"tag":553,"props":35366,"children":35367},{"style":684},[35368],{"type":431,"value":756},{"type":426,"tag":515,"props":35370,"children":35372},{"id":35371},"_6-return-shipment-updates",[35373],{"type":431,"value":35374},"6. Return Shipment Updates",{"type":426,"tag":427,"props":35376,"children":35377},{},[35378,35382],{"type":426,"tag":446,"props":35379,"children":35380},{},[35381],{"type":431,"value":528},{"type":431,"value":35383},": Customers initiating returns don't know if their return was received.",{"type":426,"tag":427,"props":35385,"children":35386},{},[35387,35391],{"type":426,"tag":446,"props":35388,"children":35389},{},[35390],{"type":431,"value":538},{"type":431,"value":35392},": WhatsApp notification at each stage of the return process.",{"type":426,"tag":542,"props":35394,"children":35396},{"code":35395},"Return initiated:\n\"Return Registered ✅\nHi Sarah! Your return for Order #12345 has been registered.\nReturn tracking: RTN-2026-456\nDrop off at any DHL location with this reference.\nTrack: https:\u002F\u002Ftrack.example.com\u002FRTN-2026-456\"\n\nReturn received at warehouse:\n\"Return Received! ✅\nYour return (RTN-2026-456) arrived at our warehouse on July 13.\nRefund will be processed within 3–5 business days.\nWe'll notify you when the refund is sent.\"\n",[35397],{"type":426,"tag":549,"props":35398,"children":35399},{"__ignoreMap":417},[35400],{"type":431,"value":35395},{"type":426,"tag":434,"props":35402,"children":35404},{"id":35403},"how-to-set-up-whatsapp-tracking-notifications-with-rapiwa",[35405],{"type":431,"value":35406},"How to Set Up WhatsApp Tracking Notifications with Rapiwa",{"type":426,"tag":515,"props":35408,"children":35409},{"id":3809},[35410],{"type":431,"value":3812},{"type":426,"tag":427,"props":35412,"children":35413},{},[35414,35415,35420],{"type":431,"value":3817},{"type":426,"tag":3819,"props":35416,"children":35418},{"href":3821,"rel":35417},[3823],[35419],{"type":431,"value":3826},{"type":431,"value":3828},{"type":426,"tag":515,"props":35422,"children":35424},{"id":35423},"step-2-connect-to-your-tms-or-wms",[35425],{"type":431,"value":35426},"Step 2: Connect to Your TMS or WMS",{"type":426,"tag":427,"props":35428,"children":35429},{},[35430],{"type":431,"value":35431},"If your Transport Management System (TMS) or Warehouse Management System (WMS) supports webhooks, use n8n to receive events and send WhatsApp messages:",{"type":426,"tag":6331,"props":35433,"children":35434},{},[35435,35445,35455],{"type":426,"tag":458,"props":35436,"children":35437},{},[35438,35443],{"type":426,"tag":446,"props":35439,"children":35440},{},[35441],{"type":431,"value":35442},"TMS webhook",{"type":431,"value":35444}," → n8n → Rapiwa: dispatch notification",{"type":426,"tag":458,"props":35446,"children":35447},{},[35448,35453],{"type":426,"tag":446,"props":35449,"children":35450},{},[35451],{"type":431,"value":35452},"GPS driver app event",{"type":431,"value":35454}," → n8n → Rapiwa: delivery window alert",{"type":426,"tag":458,"props":35456,"children":35457},{},[35458,35463],{"type":426,"tag":446,"props":35459,"children":35460},{},[35461],{"type":431,"value":35462},"Delivery scan event",{"type":431,"value":35464}," → n8n → Rapiwa: proof of delivery",{"type":426,"tag":515,"props":35466,"children":35468},{"id":35467},"step-3-build-the-notification-service",[35469],{"type":431,"value":35470},"Step 3: Build the Notification Service",{"type":426,"tag":542,"props":35472,"children":35474},{"code":35473,"language":784,"meta":417,"className":785,"style":417},"import requests\n\nclass LogisticsNotifier:\n    def __init__(self, api_key: str):\n        self.api_key = api_key\n        self.base_url = 'https:\u002F\u002Fapp.rapiwa.com'\n    \n    def notify(self, phone: str, event: str, shipment: dict) -> dict:\n        \"\"\"Send WhatsApp notification for a shipment event.\"\"\"\n        message_builders = {\n            'dispatched': self._build_dispatched_message,\n            'out_for_delivery': self._build_delivery_window_message,\n            'delivered': self._build_delivered_message,\n            'failed_attempt': self._build_failed_attempt_message,\n            'exception': self._build_exception_message,\n        }\n        \n        builder = message_builders.get(event)\n        if not builder:\n            return {'status': 'skipped', 'reason': 'unknown_event'}\n        \n        message = builder(shipment)\n        \n        return requests.post(\n            f'{self.base_url}\u002Fsend-message',\n            headers={'Authorization': f'Bearer {self.api_key}'},\n            json={'number': phone, 'message': message}\n        ).json()\n    \n    def _build_dispatched_message(self, s: dict) -> str:\n        return (\n            f\"Shipment Dispatched! 🚚\\n\\n\"\n            f\"Tracking: {s['tracking_id']}\\n\"\n            f\"ETA: {s['estimated_delivery']}\\n\\n\"\n            f\"Track: {s['tracking_url']}\"\n        )\n    \n    def _build_delivered_message(self, s: dict) -> str:\n        return (\n            f\"Delivered ✅\\n\\n\"\n            f\"Tracking: {s['tracking_id']}\\n\"\n            f\"Delivered: {s['delivery_timestamp']}\\n\"\n            f\"Signed by: {s.get('signed_by', 'Self')}\"\n        )\n",[35475],{"type":426,"tag":549,"props":35476,"children":35477},{"__ignoreMap":417},[35478,35489,35496,35512,35536,35557,35578,35585,35635,35643,35659,35681,35702,35723,35744,35765,35772,35779,35796,35812,35857,35864,35880,35887,35898,35932,35984,36015,36022,36029,36062,36073,36093,36131,36168,36205,36212,36219,36251,36262,36282,36317,36354,36401],{"type":426,"tag":553,"props":35479,"children":35480},{"class":555,"line":556},[35481,35485],{"type":426,"tag":553,"props":35482,"children":35483},{"style":795},[35484],{"type":431,"value":798},{"type":426,"tag":553,"props":35486,"children":35487},{"style":684},[35488],{"type":431,"value":803},{"type":426,"tag":553,"props":35490,"children":35491},{"class":555,"line":588},[35492],{"type":426,"tag":553,"props":35493,"children":35494},{"emptyLinePlaceholder":831},[35495],{"type":431,"value":834},{"type":426,"tag":553,"props":35497,"children":35498},{"class":555,"line":606},[35499,35503,35508],{"type":426,"tag":553,"props":35500,"children":35501},{"style":795},[35502],{"type":431,"value":11909},{"type":426,"tag":553,"props":35504,"children":35505},{"style":560},[35506],{"type":431,"value":35507}," LogisticsNotifier",{"type":426,"tag":553,"props":35509,"children":35510},{"style":684},[35511],{"type":431,"value":909},{"type":426,"tag":553,"props":35513,"children":35514},{"class":555,"line":623},[35515,35519,35523,35528,35532],{"type":426,"tag":553,"props":35516,"children":35517},{"style":795},[35518],{"type":431,"value":11926},{"type":426,"tag":553,"props":35520,"children":35521},{"style":566},[35522],{"type":431,"value":11931},{"type":426,"tag":553,"props":35524,"children":35525},{"style":684},[35526],{"type":431,"value":35527},"(self, api_key: ",{"type":426,"tag":553,"props":35529,"children":35530},{"style":566},[35531],{"type":431,"value":895},{"type":426,"tag":553,"props":35533,"children":35534},{"style":684},[35535],{"type":431,"value":8370},{"type":426,"tag":553,"props":35537,"children":35538},{"class":555,"line":637},[35539,35543,35548,35552],{"type":426,"tag":553,"props":35540,"children":35541},{"style":566},[35542],{"type":431,"value":11952},{"type":426,"tag":553,"props":35544,"children":35545},{"style":684},[35546],{"type":431,"value":35547},".api_key ",{"type":426,"tag":553,"props":35549,"children":35550},{"style":795},[35551],{"type":431,"value":957},{"type":426,"tag":553,"props":35553,"children":35554},{"style":684},[35555],{"type":431,"value":35556}," api_key\n",{"type":426,"tag":553,"props":35558,"children":35559},{"class":555,"line":646},[35560,35564,35569,35573],{"type":426,"tag":553,"props":35561,"children":35562},{"style":566},[35563],{"type":431,"value":11952},{"type":426,"tag":553,"props":35565,"children":35566},{"style":684},[35567],{"type":431,"value":35568},".base_url ",{"type":426,"tag":553,"props":35570,"children":35571},{"style":795},[35572],{"type":431,"value":957},{"type":426,"tag":553,"props":35574,"children":35575},{"style":572},[35576],{"type":431,"value":35577}," 'https:\u002F\u002Fapp.rapiwa.com'\n",{"type":426,"tag":553,"props":35579,"children":35580},{"class":555,"line":655},[35581],{"type":426,"tag":553,"props":35582,"children":35583},{"style":684},[35584],{"type":431,"value":917},{"type":426,"tag":553,"props":35586,"children":35587},{"class":555,"line":1036},[35588,35592,35597,35601,35605,35610,35614,35619,35623,35627,35631],{"type":426,"tag":553,"props":35589,"children":35590},{"style":795},[35591],{"type":431,"value":11926},{"type":426,"tag":553,"props":35593,"children":35594},{"style":560},[35595],{"type":431,"value":35596}," notify",{"type":426,"tag":553,"props":35598,"children":35599},{"style":684},[35600],{"type":431,"value":16783},{"type":426,"tag":553,"props":35602,"children":35603},{"style":566},[35604],{"type":431,"value":895},{"type":426,"tag":553,"props":35606,"children":35607},{"style":684},[35608],{"type":431,"value":35609},", event: ",{"type":426,"tag":553,"props":35611,"children":35612},{"style":566},[35613],{"type":431,"value":895},{"type":426,"tag":553,"props":35615,"children":35616},{"style":684},[35617],{"type":431,"value":35618},", shipment: ",{"type":426,"tag":553,"props":35620,"children":35621},{"style":566},[35622],{"type":431,"value":857},{"type":426,"tag":553,"props":35624,"children":35625},{"style":684},[35626],{"type":431,"value":900},{"type":426,"tag":553,"props":35628,"children":35629},{"style":566},[35630],{"type":431,"value":857},{"type":426,"tag":553,"props":35632,"children":35633},{"style":684},[35634],{"type":431,"value":909},{"type":426,"tag":553,"props":35636,"children":35637},{"class":555,"line":1054},[35638],{"type":426,"tag":553,"props":35639,"children":35640},{"style":572},[35641],{"type":431,"value":35642},"        \"\"\"Send WhatsApp notification for a shipment event.\"\"\"\n",{"type":426,"tag":553,"props":35644,"children":35645},{"class":555,"line":1080},[35646,35651,35655],{"type":426,"tag":553,"props":35647,"children":35648},{"style":684},[35649],{"type":431,"value":35650},"        message_builders ",{"type":426,"tag":553,"props":35652,"children":35653},{"style":795},[35654],{"type":431,"value":957},{"type":426,"tag":553,"props":35656,"children":35657},{"style":684},[35658],{"type":431,"value":5458},{"type":426,"tag":553,"props":35660,"children":35661},{"class":555,"line":1097},[35662,35667,35671,35676],{"type":426,"tag":553,"props":35663,"children":35664},{"style":572},[35665],{"type":431,"value":35666},"            'dispatched'",{"type":426,"tag":553,"props":35668,"children":35669},{"style":684},[35670],{"type":431,"value":700},{"type":426,"tag":553,"props":35672,"children":35673},{"style":566},[35674],{"type":431,"value":35675},"self",{"type":426,"tag":553,"props":35677,"children":35678},{"style":684},[35679],{"type":431,"value":35680},"._build_dispatched_message,\n",{"type":426,"tag":553,"props":35682,"children":35683},{"class":555,"line":1114},[35684,35689,35693,35697],{"type":426,"tag":553,"props":35685,"children":35686},{"style":572},[35687],{"type":431,"value":35688},"            'out_for_delivery'",{"type":426,"tag":553,"props":35690,"children":35691},{"style":684},[35692],{"type":431,"value":700},{"type":426,"tag":553,"props":35694,"children":35695},{"style":566},[35696],{"type":431,"value":35675},{"type":426,"tag":553,"props":35698,"children":35699},{"style":684},[35700],{"type":431,"value":35701},"._build_delivery_window_message,\n",{"type":426,"tag":553,"props":35703,"children":35704},{"class":555,"line":1127},[35705,35710,35714,35718],{"type":426,"tag":553,"props":35706,"children":35707},{"style":572},[35708],{"type":431,"value":35709},"            'delivered'",{"type":426,"tag":553,"props":35711,"children":35712},{"style":684},[35713],{"type":431,"value":700},{"type":426,"tag":553,"props":35715,"children":35716},{"style":566},[35717],{"type":431,"value":35675},{"type":426,"tag":553,"props":35719,"children":35720},{"style":684},[35721],{"type":431,"value":35722},"._build_delivered_message,\n",{"type":426,"tag":553,"props":35724,"children":35725},{"class":555,"line":1167},[35726,35731,35735,35739],{"type":426,"tag":553,"props":35727,"children":35728},{"style":572},[35729],{"type":431,"value":35730},"            'failed_attempt'",{"type":426,"tag":553,"props":35732,"children":35733},{"style":684},[35734],{"type":431,"value":700},{"type":426,"tag":553,"props":35736,"children":35737},{"style":566},[35738],{"type":431,"value":35675},{"type":426,"tag":553,"props":35740,"children":35741},{"style":684},[35742],{"type":431,"value":35743},"._build_failed_attempt_message,\n",{"type":426,"tag":553,"props":35745,"children":35746},{"class":555,"line":1184},[35747,35752,35756,35760],{"type":426,"tag":553,"props":35748,"children":35749},{"style":572},[35750],{"type":431,"value":35751},"            'exception'",{"type":426,"tag":553,"props":35753,"children":35754},{"style":684},[35755],{"type":431,"value":700},{"type":426,"tag":553,"props":35757,"children":35758},{"style":566},[35759],{"type":431,"value":35675},{"type":426,"tag":553,"props":35761,"children":35762},{"style":684},[35763],{"type":431,"value":35764},"._build_exception_message,\n",{"type":426,"tag":553,"props":35766,"children":35767},{"class":555,"line":1192},[35768],{"type":426,"tag":553,"props":35769,"children":35770},{"style":684},[35771],{"type":431,"value":15075},{"type":426,"tag":553,"props":35773,"children":35774},{"class":555,"line":1210},[35775],{"type":426,"tag":553,"props":35776,"children":35777},{"style":684},[35778],{"type":431,"value":2061},{"type":426,"tag":553,"props":35780,"children":35781},{"class":555,"line":1253},[35782,35787,35791],{"type":426,"tag":553,"props":35783,"children":35784},{"style":684},[35785],{"type":431,"value":35786},"        builder ",{"type":426,"tag":553,"props":35788,"children":35789},{"style":795},[35790],{"type":431,"value":957},{"type":426,"tag":553,"props":35792,"children":35793},{"style":684},[35794],{"type":431,"value":35795}," message_builders.get(event)\n",{"type":426,"tag":553,"props":35797,"children":35798},{"class":555,"line":1302},[35799,35803,35807],{"type":426,"tag":553,"props":35800,"children":35801},{"style":795},[35802],{"type":431,"value":2972},{"type":426,"tag":553,"props":35804,"children":35805},{"style":795},[35806],{"type":431,"value":12110},{"type":426,"tag":553,"props":35808,"children":35809},{"style":684},[35810],{"type":431,"value":35811}," builder:\n",{"type":426,"tag":553,"props":35813,"children":35814},{"class":555,"line":1374},[35815,35819,35823,35827,35831,35836,35840,35844,35848,35853],{"type":426,"tag":553,"props":35816,"children":35817},{"style":795},[35818],{"type":431,"value":9188},{"type":426,"tag":553,"props":35820,"children":35821},{"style":684},[35822],{"type":431,"value":1450},{"type":426,"tag":553,"props":35824,"children":35825},{"style":572},[35826],{"type":431,"value":2982},{"type":426,"tag":553,"props":35828,"children":35829},{"style":684},[35830],{"type":431,"value":700},{"type":426,"tag":553,"props":35832,"children":35833},{"style":572},[35834],{"type":431,"value":35835},"'skipped'",{"type":426,"tag":553,"props":35837,"children":35838},{"style":684},[35839],{"type":431,"value":1907},{"type":426,"tag":553,"props":35841,"children":35842},{"style":572},[35843],{"type":431,"value":32762},{"type":426,"tag":553,"props":35845,"children":35846},{"style":684},[35847],{"type":431,"value":700},{"type":426,"tag":553,"props":35849,"children":35850},{"style":572},[35851],{"type":431,"value":35852},"'unknown_event'",{"type":426,"tag":553,"props":35854,"children":35855},{"style":684},[35856],{"type":431,"value":756},{"type":426,"tag":553,"props":35858,"children":35859},{"class":555,"line":1414},[35860],{"type":426,"tag":553,"props":35861,"children":35862},{"style":684},[35863],{"type":431,"value":2061},{"type":426,"tag":553,"props":35865,"children":35866},{"class":555,"line":1479},[35867,35871,35875],{"type":426,"tag":553,"props":35868,"children":35869},{"style":684},[35870],{"type":431,"value":5864},{"type":426,"tag":553,"props":35872,"children":35873},{"style":795},[35874],{"type":431,"value":957},{"type":426,"tag":553,"props":35876,"children":35877},{"style":684},[35878],{"type":431,"value":35879}," builder(shipment)\n",{"type":426,"tag":553,"props":35881,"children":35882},{"class":555,"line":1517},[35883],{"type":426,"tag":553,"props":35884,"children":35885},{"style":684},[35886],{"type":431,"value":2061},{"type":426,"tag":553,"props":35888,"children":35889},{"class":555,"line":1560},[35890,35894],{"type":426,"tag":553,"props":35891,"children":35892},{"style":795},[35893],{"type":431,"value":8378},{"type":426,"tag":553,"props":35895,"children":35896},{"style":684},[35897],{"type":431,"value":1664},{"type":426,"tag":553,"props":35899,"children":35900},{"class":555,"line":1598},[35901,35905,35909,35914,35919,35923,35928],{"type":426,"tag":553,"props":35902,"children":35903},{"style":795},[35904],{"type":431,"value":3740},{"type":426,"tag":553,"props":35906,"children":35907},{"style":572},[35908],{"type":431,"value":1732},{"type":426,"tag":553,"props":35910,"children":35911},{"style":566},[35912],{"type":431,"value":35913},"{self",{"type":426,"tag":553,"props":35915,"children":35916},{"style":684},[35917],{"type":431,"value":35918},".base_url",{"type":426,"tag":553,"props":35920,"children":35921},{"style":566},[35922],{"type":431,"value":982},{"type":426,"tag":553,"props":35924,"children":35925},{"style":572},[35926],{"type":431,"value":35927},"\u002Fsend-message'",{"type":426,"tag":553,"props":35929,"children":35930},{"style":684},[35931],{"type":431,"value":710},{"type":426,"tag":553,"props":35933,"children":35934},{"class":555,"line":1636},[35935,35939,35943,35947,35951,35955,35959,35963,35967,35972,35976,35980],{"type":426,"tag":553,"props":35936,"children":35937},{"style":1684},[35938],{"type":431,"value":2864},{"type":426,"tag":553,"props":35940,"children":35941},{"style":795},[35942],{"type":431,"value":957},{"type":426,"tag":553,"props":35944,"children":35945},{"style":684},[35946],{"type":431,"value":972},{"type":426,"tag":553,"props":35948,"children":35949},{"style":572},[35950],{"type":431,"value":1700},{"type":426,"tag":553,"props":35952,"children":35953},{"style":684},[35954],{"type":431,"value":700},{"type":426,"tag":553,"props":35956,"children":35957},{"style":795},[35958],{"type":431,"value":1709},{"type":426,"tag":553,"props":35960,"children":35961},{"style":572},[35962],{"type":431,"value":1714},{"type":426,"tag":553,"props":35964,"children":35965},{"style":566},[35966],{"type":431,"value":35913},{"type":426,"tag":553,"props":35968,"children":35969},{"style":684},[35970],{"type":431,"value":35971},".api_key",{"type":426,"tag":553,"props":35973,"children":35974},{"style":566},[35975],{"type":431,"value":982},{"type":426,"tag":553,"props":35977,"children":35978},{"style":572},[35979],{"type":431,"value":1732},{"type":426,"tag":553,"props":35981,"children":35982},{"style":684},[35983],{"type":431,"value":1737},{"type":426,"tag":553,"props":35985,"children":35986},{"class":555,"line":1645},[35987,35991,35995,35999,36003,36007,36011],{"type":426,"tag":553,"props":35988,"children":35989},{"style":1684},[35990],{"type":431,"value":2916},{"type":426,"tag":553,"props":35992,"children":35993},{"style":795},[35994],{"type":431,"value":957},{"type":426,"tag":553,"props":35996,"children":35997},{"style":684},[35998],{"type":431,"value":972},{"type":426,"tag":553,"props":36000,"children":36001},{"style":572},[36002],{"type":431,"value":1759},{"type":426,"tag":553,"props":36004,"children":36005},{"style":684},[36006],{"type":431,"value":8931},{"type":426,"tag":553,"props":36008,"children":36009},{"style":572},[36010],{"type":431,"value":1779},{"type":426,"tag":553,"props":36012,"children":36013},{"style":684},[36014],{"type":431,"value":1784},{"type":426,"tag":553,"props":36016,"children":36017},{"class":555,"line":1653},[36018],{"type":426,"tag":553,"props":36019,"children":36020},{"style":684},[36021],{"type":431,"value":2957},{"type":426,"tag":553,"props":36023,"children":36024},{"class":555,"line":1667},[36025],{"type":426,"tag":553,"props":36026,"children":36027},{"style":684},[36028],{"type":431,"value":917},{"type":426,"tag":553,"props":36030,"children":36031},{"class":555,"line":1680},[36032,36036,36041,36046,36050,36054,36058],{"type":426,"tag":553,"props":36033,"children":36034},{"style":795},[36035],{"type":431,"value":11926},{"type":426,"tag":553,"props":36037,"children":36038},{"style":560},[36039],{"type":431,"value":36040}," _build_dispatched_message",{"type":426,"tag":553,"props":36042,"children":36043},{"style":684},[36044],{"type":431,"value":36045},"(self, s: ",{"type":426,"tag":553,"props":36047,"children":36048},{"style":566},[36049],{"type":431,"value":857},{"type":426,"tag":553,"props":36051,"children":36052},{"style":684},[36053],{"type":431,"value":900},{"type":426,"tag":553,"props":36055,"children":36056},{"style":566},[36057],{"type":431,"value":895},{"type":426,"tag":553,"props":36059,"children":36060},{"style":684},[36061],{"type":431,"value":909},{"type":426,"tag":553,"props":36063,"children":36064},{"class":555,"line":1740},[36065,36069],{"type":426,"tag":553,"props":36066,"children":36067},{"style":795},[36068],{"type":431,"value":8378},{"type":426,"tag":553,"props":36070,"children":36071},{"style":684},[36072],{"type":431,"value":1207},{"type":426,"tag":553,"props":36074,"children":36075},{"class":555,"line":1787},[36076,36080,36085,36089],{"type":426,"tag":553,"props":36077,"children":36078},{"style":795},[36079],{"type":431,"value":3740},{"type":426,"tag":553,"props":36081,"children":36082},{"style":572},[36083],{"type":431,"value":36084},"\"Shipment Dispatched! 🚚",{"type":426,"tag":553,"props":36086,"children":36087},{"style":566},[36088],{"type":431,"value":1295},{"type":426,"tag":553,"props":36090,"children":36091},{"style":572},[36092],{"type":431,"value":1250},{"type":426,"tag":553,"props":36094,"children":36095},{"class":555,"line":1796},[36096,36100,36105,36109,36114,36119,36123,36127],{"type":426,"tag":553,"props":36097,"children":36098},{"style":795},[36099],{"type":431,"value":3740},{"type":426,"tag":553,"props":36101,"children":36102},{"style":572},[36103],{"type":431,"value":36104},"\"Tracking: ",{"type":426,"tag":553,"props":36106,"children":36107},{"style":566},[36108],{"type":431,"value":972},{"type":426,"tag":553,"props":36110,"children":36111},{"style":684},[36112],{"type":431,"value":36113},"s[",{"type":426,"tag":553,"props":36115,"children":36116},{"style":572},[36117],{"type":431,"value":36118},"'tracking_id'",{"type":426,"tag":553,"props":36120,"children":36121},{"style":684},[36122],{"type":431,"value":1240},{"type":426,"tag":553,"props":36124,"children":36125},{"style":566},[36126],{"type":431,"value":1407},{"type":426,"tag":553,"props":36128,"children":36129},{"style":572},[36130],{"type":431,"value":1250},{"type":426,"tag":553,"props":36132,"children":36133},{"class":555,"line":1804},[36134,36138,36143,36147,36151,36156,36160,36164],{"type":426,"tag":553,"props":36135,"children":36136},{"style":795},[36137],{"type":431,"value":3740},{"type":426,"tag":553,"props":36139,"children":36140},{"style":572},[36141],{"type":431,"value":36142},"\"ETA: ",{"type":426,"tag":553,"props":36144,"children":36145},{"style":566},[36146],{"type":431,"value":972},{"type":426,"tag":553,"props":36148,"children":36149},{"style":684},[36150],{"type":431,"value":36113},{"type":426,"tag":553,"props":36152,"children":36153},{"style":572},[36154],{"type":431,"value":36155},"'estimated_delivery'",{"type":426,"tag":553,"props":36157,"children":36158},{"style":684},[36159],{"type":431,"value":1240},{"type":426,"tag":553,"props":36161,"children":36162},{"style":566},[36163],{"type":431,"value":1245},{"type":426,"tag":553,"props":36165,"children":36166},{"style":572},[36167],{"type":431,"value":1250},{"type":426,"tag":553,"props":36169,"children":36170},{"class":555,"line":1812},[36171,36175,36180,36184,36188,36193,36197,36201],{"type":426,"tag":553,"props":36172,"children":36173},{"style":795},[36174],{"type":431,"value":3740},{"type":426,"tag":553,"props":36176,"children":36177},{"style":572},[36178],{"type":431,"value":36179},"\"Track: ",{"type":426,"tag":553,"props":36181,"children":36182},{"style":566},[36183],{"type":431,"value":972},{"type":426,"tag":553,"props":36185,"children":36186},{"style":684},[36187],{"type":431,"value":36113},{"type":426,"tag":553,"props":36189,"children":36190},{"style":572},[36191],{"type":431,"value":36192},"'tracking_url'",{"type":426,"tag":553,"props":36194,"children":36195},{"style":684},[36196],{"type":431,"value":1240},{"type":426,"tag":553,"props":36198,"children":36199},{"style":566},[36200],{"type":431,"value":982},{"type":426,"tag":553,"props":36202,"children":36203},{"style":572},[36204],{"type":431,"value":1250},{"type":426,"tag":553,"props":36206,"children":36207},{"class":555,"line":1847},[36208],{"type":426,"tag":553,"props":36209,"children":36210},{"style":684},[36211],{"type":431,"value":6037},{"type":426,"tag":553,"props":36213,"children":36214},{"class":555,"line":1856},[36215],{"type":426,"tag":553,"props":36216,"children":36217},{"style":684},[36218],{"type":431,"value":917},{"type":426,"tag":553,"props":36220,"children":36221},{"class":555,"line":1874},[36222,36226,36231,36235,36239,36243,36247],{"type":426,"tag":553,"props":36223,"children":36224},{"style":795},[36225],{"type":431,"value":11926},{"type":426,"tag":553,"props":36227,"children":36228},{"style":560},[36229],{"type":431,"value":36230}," _build_delivered_message",{"type":426,"tag":553,"props":36232,"children":36233},{"style":684},[36234],{"type":431,"value":36045},{"type":426,"tag":553,"props":36236,"children":36237},{"style":566},[36238],{"type":431,"value":857},{"type":426,"tag":553,"props":36240,"children":36241},{"style":684},[36242],{"type":431,"value":900},{"type":426,"tag":553,"props":36244,"children":36245},{"style":566},[36246],{"type":431,"value":895},{"type":426,"tag":553,"props":36248,"children":36249},{"style":684},[36250],{"type":431,"value":909},{"type":426,"tag":553,"props":36252,"children":36253},{"class":555,"line":1882},[36254,36258],{"type":426,"tag":553,"props":36255,"children":36256},{"style":795},[36257],{"type":431,"value":8378},{"type":426,"tag":553,"props":36259,"children":36260},{"style":684},[36261],{"type":431,"value":1207},{"type":426,"tag":553,"props":36263,"children":36264},{"class":555,"line":1981},[36265,36269,36274,36278],{"type":426,"tag":553,"props":36266,"children":36267},{"style":795},[36268],{"type":431,"value":3740},{"type":426,"tag":553,"props":36270,"children":36271},{"style":572},[36272],{"type":431,"value":36273},"\"Delivered ✅",{"type":426,"tag":553,"props":36275,"children":36276},{"style":566},[36277],{"type":431,"value":1295},{"type":426,"tag":553,"props":36279,"children":36280},{"style":572},[36281],{"type":431,"value":1250},{"type":426,"tag":553,"props":36283,"children":36284},{"class":555,"line":1989},[36285,36289,36293,36297,36301,36305,36309,36313],{"type":426,"tag":553,"props":36286,"children":36287},{"style":795},[36288],{"type":431,"value":3740},{"type":426,"tag":553,"props":36290,"children":36291},{"style":572},[36292],{"type":431,"value":36104},{"type":426,"tag":553,"props":36294,"children":36295},{"style":566},[36296],{"type":431,"value":972},{"type":426,"tag":553,"props":36298,"children":36299},{"style":684},[36300],{"type":431,"value":36113},{"type":426,"tag":553,"props":36302,"children":36303},{"style":572},[36304],{"type":431,"value":36118},{"type":426,"tag":553,"props":36306,"children":36307},{"style":684},[36308],{"type":431,"value":1240},{"type":426,"tag":553,"props":36310,"children":36311},{"style":566},[36312],{"type":431,"value":1407},{"type":426,"tag":553,"props":36314,"children":36315},{"style":572},[36316],{"type":431,"value":1250},{"type":426,"tag":553,"props":36318,"children":36319},{"class":555,"line":2013},[36320,36324,36329,36333,36337,36342,36346,36350],{"type":426,"tag":553,"props":36321,"children":36322},{"style":795},[36323],{"type":431,"value":3740},{"type":426,"tag":553,"props":36325,"children":36326},{"style":572},[36327],{"type":431,"value":36328},"\"Delivered: ",{"type":426,"tag":553,"props":36330,"children":36331},{"style":566},[36332],{"type":431,"value":972},{"type":426,"tag":553,"props":36334,"children":36335},{"style":684},[36336],{"type":431,"value":36113},{"type":426,"tag":553,"props":36338,"children":36339},{"style":572},[36340],{"type":431,"value":36341},"'delivery_timestamp'",{"type":426,"tag":553,"props":36343,"children":36344},{"style":684},[36345],{"type":431,"value":1240},{"type":426,"tag":553,"props":36347,"children":36348},{"style":566},[36349],{"type":431,"value":1407},{"type":426,"tag":553,"props":36351,"children":36352},{"style":572},[36353],{"type":431,"value":1250},{"type":426,"tag":553,"props":36355,"children":36356},{"class":555,"line":2055},[36357,36361,36366,36370,36375,36380,36384,36389,36393,36397],{"type":426,"tag":553,"props":36358,"children":36359},{"style":795},[36360],{"type":431,"value":3740},{"type":426,"tag":553,"props":36362,"children":36363},{"style":572},[36364],{"type":431,"value":36365},"\"Signed by: ",{"type":426,"tag":553,"props":36367,"children":36368},{"style":566},[36369],{"type":431,"value":972},{"type":426,"tag":553,"props":36371,"children":36372},{"style":684},[36373],{"type":431,"value":36374},"s.get(",{"type":426,"tag":553,"props":36376,"children":36377},{"style":572},[36378],{"type":431,"value":36379},"'signed_by'",{"type":426,"tag":553,"props":36381,"children":36382},{"style":684},[36383],{"type":431,"value":1907},{"type":426,"tag":553,"props":36385,"children":36386},{"style":572},[36387],{"type":431,"value":36388},"'Self'",{"type":426,"tag":553,"props":36390,"children":36391},{"style":684},[36392],{"type":431,"value":5736},{"type":426,"tag":553,"props":36394,"children":36395},{"style":566},[36396],{"type":431,"value":982},{"type":426,"tag":553,"props":36398,"children":36399},{"style":572},[36400],{"type":431,"value":1250},{"type":426,"tag":553,"props":36402,"children":36403},{"class":555,"line":2064},[36404],{"type":426,"tag":553,"props":36405,"children":36406},{"style":684},[36407],{"type":431,"value":6037},{"type":426,"tag":434,"props":36409,"children":36410},{"id":4050},[36411],{"type":431,"value":4053},{"type":426,"tag":454,"props":36413,"children":36414},{},[36415,36425,36435,36445],{"type":426,"tag":458,"props":36416,"children":36417},{},[36418,36423],{"type":426,"tag":446,"props":36419,"children":36420},{},[36421],{"type":431,"value":36422},"50–70% reduction",{"type":431,"value":36424}," in \"where is my package?\" calls",{"type":426,"tag":458,"props":36426,"children":36427},{},[36428,36433],{"type":426,"tag":446,"props":36429,"children":36430},{},[36431],{"type":431,"value":36432},"20–30% improvement",{"type":431,"value":36434}," in first-attempt delivery rates",{"type":426,"tag":458,"props":36436,"children":36437},{},[36438,36443],{"type":426,"tag":446,"props":36439,"children":36440},{},[36441],{"type":431,"value":36442},"15–25% reduction",{"type":431,"value":36444}," in missed deliveries (delivery window alerts)",{"type":426,"tag":458,"props":36446,"children":36447},{},[36448,36453],{"type":426,"tag":446,"props":36449,"children":36450},{},[36451],{"type":431,"value":36452},"95%+ notification open rate",{"type":431,"value":36454}," (WhatsApp vs 20% for email tracking updates)",{"type":426,"tag":434,"props":36456,"children":36457},{"id":4109},[36458],{"type":431,"value":4112},{"type":426,"tag":427,"props":36460,"children":36461},{},[36462,36467],{"type":426,"tag":446,"props":36463,"children":36464},{},[36465],{"type":431,"value":36466},"Can I send WhatsApp tracking notifications for multiple carriers?",{"type":431,"value":36468},"\nYes. Rapiwa is carrier-agnostic — it sends WhatsApp messages. Integrate your TMS to trigger the Rapiwa API call regardless of which carrier is handling the shipment.",{"type":426,"tag":427,"props":36470,"children":36471},{},[36472,36477],{"type":426,"tag":446,"props":36473,"children":36474},{},[36475],{"type":431,"value":36476},"Does Rapiwa charge per shipment notification?",{"type":431,"value":36478},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. A logistics company sending 500 shipment notifications\u002Fday pays $5\u002Fmonth.",{"type":426,"tag":427,"props":36480,"children":36481},{},[36482,36487],{"type":426,"tag":446,"props":36483,"children":36484},{},[36485],{"type":431,"value":36486},"Can recipients reply to reschedule deliveries via WhatsApp?",{"type":431,"value":36488},"\nYes. Set up a Rapiwa webhook to receive incoming messages and process keywords (RESCHEDULE, PICKUP, SAFE) to update delivery instructions in your TMS.",{"type":426,"tag":427,"props":36490,"children":36491},{},[36492,36497,36499,36504,36506,36511,36513,36518,36520,36526],{"type":426,"tag":446,"props":36493,"children":36494},{},[36495],{"type":431,"value":36496},"What phone number format works for international shipments?",{"type":431,"value":36498},"\nInternational format without ",{"type":426,"tag":549,"props":36500,"children":36502},{"className":36501},[],[36503],{"type":431,"value":2033},{"type":431,"value":36505},": Bangladesh ",{"type":426,"tag":549,"props":36507,"children":36509},{"className":36508},[],[36510],{"type":431,"value":7237},{"type":431,"value":36512},", UK ",{"type":426,"tag":549,"props":36514,"children":36516},{"className":36515},[],[36517],{"type":431,"value":6779},{"type":431,"value":36519},", USA ",{"type":426,"tag":549,"props":36521,"children":36523},{"className":36522},[],[36524],{"type":431,"value":36525},"12125551234",{"type":431,"value":36527},". Validate and format all recipient phone numbers at the time of shipment creation.",{"type":426,"tag":427,"props":36529,"children":36530},{},[36531,36536],{"type":426,"tag":446,"props":36532,"children":36533},{},[36534],{"type":431,"value":36535},"Does this work for last-mile delivery startups?",{"type":431,"value":36537},"\nYes — especially well. At $5\u002Fmonth, even a small startup doing 50–100 deliveries\u002Fday can afford professional WhatsApp tracking notifications that compete with large courier brands.",{"type":426,"tag":4164,"props":36539,"children":36540},{},[36541],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":36543},[36544,36545,36553,36558,36559],{"id":33283,"depth":588,"text":33286},{"id":33334,"depth":588,"text":33337,"children":36546},[36547,36548,36549,36550,36551,36552],{"id":33340,"depth":606,"text":33343},{"id":33540,"depth":606,"text":33543},{"id":34337,"depth":606,"text":34340},{"id":34874,"depth":606,"text":34877},{"id":34906,"depth":606,"text":34909},{"id":35371,"depth":606,"text":35374},{"id":35403,"depth":588,"text":35406,"children":36554},[36555,36556,36557],{"id":3809,"depth":606,"text":3812},{"id":35423,"depth":606,"text":35426},{"id":35467,"depth":606,"text":35470},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-logistics-shipment-tracking.md","blog\u002Fwhatsapp-api-logistics-shipment-tracking.md","blog\u002Fwhatsapp-api-logistics-shipment-tracking",{"loc":45},{"_path":49,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":50,"description":51,"date":36565,"author":36566,"category":8,"_slug":36567,"image":36568,"body":36569,"_type":4187,"_id":38751,"_source":4189,"_file":38752,"_stem":38753,"_extension":4192,"sitemap":38754},"2026-03-19","Julfiker","whatsapp-api-hotels-guest-communication","\u002Fimages\u002Fblog\u002Fwhatsapp-api-hotels-guest-communication.svg",{"type":423,"children":36570,"toc":38732},[36571,36576,36582,36587,36629,36635,36639,36648,36657,36750,36757,36833,36839,36848,36857,37380,37386,37395,37404,37412,37418,37427,37436,37444,37452,37778,37784,37793,37802,37810,37820,37826,37835,37844,37852,37858,37867,37876,38297,38303,38307,38317,38323,38328,38346,38352,38616,38620,38661,38665,38688,38698,38708,38718,38728],{"type":426,"tag":427,"props":36572,"children":36573},{},[36574],{"type":431,"value":36575},"WhatsApp API for hotels lets properties automatically send booking confirmations, pre-arrival instructions, check-in details, concierge messages, and checkout reminders to guests via WhatsApp. Using Rapiwa API ($5\u002Fmonth, no per-message fees), hotels increase guest satisfaction scores, reduce front desk workload by 30–40%, and capture more direct bookings through WhatsApp-based pre-arrival upsells.",{"type":426,"tag":434,"props":36577,"children":36579},{"id":36578},"why-hotels-are-moving-to-whatsapp",[36580],{"type":431,"value":36581},"Why Hotels Are Moving to WhatsApp",{"type":426,"tag":427,"props":36583,"children":36584},{},[36585],{"type":431,"value":36586},"Hotel guests increasingly expect communication via messaging apps — not emails that get buried or phone calls that interrupt. WhatsApp is the dominant messaging platform in most of hotels' key source markets (South Asia, Southeast Asia, Middle East, Europe).",{"type":426,"tag":454,"props":36588,"children":36589},{},[36590,36600,36610,36620],{"type":426,"tag":458,"props":36591,"children":36592},{},[36593,36598],{"type":426,"tag":446,"props":36594,"children":36595},{},[36596],{"type":431,"value":36597},"98% message open rate",{"type":431,"value":36599}," vs 20% for email booking confirmations",{"type":426,"tag":458,"props":36601,"children":36602},{},[36603,36608],{"type":426,"tag":446,"props":36604,"children":36605},{},[36606],{"type":431,"value":36607},"Guests reply on WhatsApp",{"type":431,"value":36609}," — room upgrade requests, early check-in queries, and special requests come back via the same channel",{"type":426,"tag":458,"props":36611,"children":36612},{},[36613,36618],{"type":426,"tag":446,"props":36614,"children":36615},{},[36616],{"type":431,"value":36617},"No app download needed",{"type":431,"value":36619}," — guests already have WhatsApp",{"type":426,"tag":458,"props":36621,"children":36622},{},[36623,36627],{"type":426,"tag":446,"props":36624,"children":36625},{},[36626],{"type":431,"value":505},{"type":431,"value":36628},": $5\u002Fmonth flat (Rapiwa) — no per-message fees",{"type":426,"tag":434,"props":36630,"children":36632},{"id":36631},"top-7-whatsapp-automation-use-cases-for-hotels",[36633],{"type":431,"value":36634},"Top 7 WhatsApp Automation Use Cases for Hotels",{"type":426,"tag":515,"props":36636,"children":36637},{"id":4267},[36638],{"type":431,"value":4270},{"type":426,"tag":427,"props":36640,"children":36641},{},[36642,36646],{"type":426,"tag":446,"props":36643,"children":36644},{},[36645],{"type":431,"value":528},{"type":431,"value":36647},": Booking confirmation emails go to spam, causing \"I didn't get my confirmation\" calls.",{"type":426,"tag":427,"props":36649,"children":36650},{},[36651,36655],{"type":426,"tag":446,"props":36652,"children":36653},{},[36654],{"type":431,"value":538},{"type":431,"value":36656},": WhatsApp booking confirmation within 30 seconds of reservation.",{"type":426,"tag":542,"props":36658,"children":36660},{"code":36659,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Booking Confirmed! 🏨\\n\\nHi Sarah,\\n\\nYour reservation at The Grand Hotel is confirmed:\\n\\n🔖 Booking Ref: BK-2026-4521\\n🛏️ Room: Superior Double, Ocean View\\n📅 Check-in: July 15, 2026\\n📅 Check-out: July 18, 2026\\n👥 Guests: 2\\n💰 Total: $450\\n\\nNeed anything before your arrival? Just reply here!\\n\\nWe look forward to welcoming you. 🌟\"\n  }'\n",[36661],{"type":426,"tag":549,"props":36662,"children":36663},{"__ignoreMap":417},[36664,36687,36702,36717,36728,36735,36743],{"type":426,"tag":553,"props":36665,"children":36666},{"class":555,"line":556},[36667,36671,36675,36679,36683],{"type":426,"tag":553,"props":36668,"children":36669},{"style":560},[36670],{"type":431,"value":563},{"type":426,"tag":553,"props":36672,"children":36673},{"style":566},[36674],{"type":431,"value":569},{"type":426,"tag":553,"props":36676,"children":36677},{"style":572},[36678],{"type":431,"value":575},{"type":426,"tag":553,"props":36680,"children":36681},{"style":572},[36682],{"type":431,"value":580},{"type":426,"tag":553,"props":36684,"children":36685},{"style":566},[36686],{"type":431,"value":585},{"type":426,"tag":553,"props":36688,"children":36689},{"class":555,"line":588},[36690,36694,36698],{"type":426,"tag":553,"props":36691,"children":36692},{"style":566},[36693],{"type":431,"value":594},{"type":426,"tag":553,"props":36695,"children":36696},{"style":572},[36697],{"type":431,"value":599},{"type":426,"tag":553,"props":36699,"children":36700},{"style":566},[36701],{"type":431,"value":585},{"type":426,"tag":553,"props":36703,"children":36704},{"class":555,"line":606},[36705,36709,36713],{"type":426,"tag":553,"props":36706,"children":36707},{"style":566},[36708],{"type":431,"value":594},{"type":426,"tag":553,"props":36710,"children":36711},{"style":572},[36712],{"type":431,"value":616},{"type":426,"tag":553,"props":36714,"children":36715},{"style":566},[36716],{"type":431,"value":585},{"type":426,"tag":553,"props":36718,"children":36719},{"class":555,"line":623},[36720,36724],{"type":426,"tag":553,"props":36721,"children":36722},{"style":566},[36723],{"type":431,"value":629},{"type":426,"tag":553,"props":36725,"children":36726},{"style":572},[36727],{"type":431,"value":634},{"type":426,"tag":553,"props":36729,"children":36730},{"class":555,"line":637},[36731],{"type":426,"tag":553,"props":36732,"children":36733},{"style":572},[36734],{"type":431,"value":643},{"type":426,"tag":553,"props":36736,"children":36737},{"class":555,"line":646},[36738],{"type":426,"tag":553,"props":36739,"children":36740},{"style":572},[36741],{"type":431,"value":36742},"    \"message\": \"Booking Confirmed! 🏨\\n\\nHi Sarah,\\n\\nYour reservation at The Grand Hotel is confirmed:\\n\\n🔖 Booking Ref: BK-2026-4521\\n🛏️ Room: Superior Double, Ocean View\\n📅 Check-in: July 15, 2026\\n📅 Check-out: July 18, 2026\\n👥 Guests: 2\\n💰 Total: $450\\n\\nNeed anything before your arrival? Just reply here!\\n\\nWe look forward to welcoming you. 🌟\"\n",{"type":426,"tag":553,"props":36744,"children":36745},{"class":555,"line":655},[36746],{"type":426,"tag":553,"props":36747,"children":36748},{"style":572},[36749],{"type":431,"value":661},{"type":426,"tag":427,"props":36751,"children":36752},{},[36753],{"type":426,"tag":446,"props":36754,"children":36755},{},[36756],{"type":431,"value":669},{"type":426,"tag":542,"props":36758,"children":36760},{"code":36759,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_hotel_abc123\",\n  \"timestamp\": \"2026-07-10T10:30:00Z\"\n}\n",[36761],{"type":426,"tag":549,"props":36762,"children":36763},{"__ignoreMap":417},[36764,36771,36790,36810,36826],{"type":426,"tag":553,"props":36765,"children":36766},{"class":555,"line":556},[36767],{"type":426,"tag":553,"props":36768,"children":36769},{"style":684},[36770],{"type":431,"value":687},{"type":426,"tag":553,"props":36772,"children":36773},{"class":555,"line":588},[36774,36778,36782,36786],{"type":426,"tag":553,"props":36775,"children":36776},{"style":566},[36777],{"type":431,"value":695},{"type":426,"tag":553,"props":36779,"children":36780},{"style":684},[36781],{"type":431,"value":700},{"type":426,"tag":553,"props":36783,"children":36784},{"style":572},[36785],{"type":431,"value":705},{"type":426,"tag":553,"props":36787,"children":36788},{"style":684},[36789],{"type":431,"value":710},{"type":426,"tag":553,"props":36791,"children":36792},{"class":555,"line":606},[36793,36797,36801,36806],{"type":426,"tag":553,"props":36794,"children":36795},{"style":566},[36796],{"type":431,"value":718},{"type":426,"tag":553,"props":36798,"children":36799},{"style":684},[36800],{"type":431,"value":700},{"type":426,"tag":553,"props":36802,"children":36803},{"style":572},[36804],{"type":431,"value":36805},"\"msg_hotel_abc123\"",{"type":426,"tag":553,"props":36807,"children":36808},{"style":684},[36809],{"type":431,"value":710},{"type":426,"tag":553,"props":36811,"children":36812},{"class":555,"line":623},[36813,36817,36821],{"type":426,"tag":553,"props":36814,"children":36815},{"style":566},[36816],{"type":431,"value":739},{"type":426,"tag":553,"props":36818,"children":36819},{"style":684},[36820],{"type":431,"value":700},{"type":426,"tag":553,"props":36822,"children":36823},{"style":572},[36824],{"type":431,"value":36825},"\"2026-07-10T10:30:00Z\"\n",{"type":426,"tag":553,"props":36827,"children":36828},{"class":555,"line":637},[36829],{"type":426,"tag":553,"props":36830,"children":36831},{"style":684},[36832],{"type":431,"value":756},{"type":426,"tag":515,"props":36834,"children":36836},{"id":36835},"_2-pre-arrival-information-48-hours-before",[36837],{"type":431,"value":36838},"2. Pre-Arrival Information (48 Hours Before)",{"type":426,"tag":427,"props":36840,"children":36841},{},[36842,36846],{"type":426,"tag":446,"props":36843,"children":36844},{},[36845],{"type":431,"value":528},{"type":431,"value":36847},": Guests arrive unprepared — not knowing check-in time, parking, or what to bring.",{"type":426,"tag":427,"props":36849,"children":36850},{},[36851,36855],{"type":426,"tag":446,"props":36852,"children":36853},{},[36854],{"type":431,"value":538},{"type":431,"value":36856},": WhatsApp pre-arrival guide 48 hours before check-in.",{"type":426,"tag":542,"props":36858,"children":36860},{"code":36859,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef send_pre_arrival_message(guest: dict, api_key: str) -> dict:\n    message = (\n        f\"See you in 2 days, {guest['name']}! 🏨\\n\\n\"\n        f\"Here's everything you need for your stay at {guest['hotel_name']}:\\n\\n\"\n        f\"📅 Check-in: {guest['checkin_date']} from 3:00 PM\\n\"\n        f\"🔑 Early check-in: Available for $25 (reply EARLY to request)\\n\"\n        f\"🅿️ Parking: Free valet parking at the main entrance\\n\"\n        f\"📍 Address: {guest['hotel_address']}\\n\"\n        f\"🗺️ Directions: {guest['maps_url']}\\n\\n\"\n        f\"Special requests? Reply here and we'll arrange it!\\n\\n\"\n        f\"See you soon! — {guest['hotel_name']} Team\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': guest['phone'], 'message': message}\n    ).json()\n",[36861],{"type":426,"tag":549,"props":36862,"children":36863},{"__ignoreMap":417},[36864,36875,36882,36923,36938,36984,37029,37075,37095,37115,37152,37189,37209,37246,37253,37260,37271,37282,37333,37373],{"type":426,"tag":553,"props":36865,"children":36866},{"class":555,"line":556},[36867,36871],{"type":426,"tag":553,"props":36868,"children":36869},{"style":795},[36870],{"type":431,"value":798},{"type":426,"tag":553,"props":36872,"children":36873},{"style":684},[36874],{"type":431,"value":803},{"type":426,"tag":553,"props":36876,"children":36877},{"class":555,"line":588},[36878],{"type":426,"tag":553,"props":36879,"children":36880},{"emptyLinePlaceholder":831},[36881],{"type":431,"value":834},{"type":426,"tag":553,"props":36883,"children":36884},{"class":555,"line":606},[36885,36889,36894,36899,36903,36907,36911,36915,36919],{"type":426,"tag":553,"props":36886,"children":36887},{"style":795},[36888],{"type":431,"value":842},{"type":426,"tag":553,"props":36890,"children":36891},{"style":560},[36892],{"type":431,"value":36893}," send_pre_arrival_message",{"type":426,"tag":553,"props":36895,"children":36896},{"style":684},[36897],{"type":431,"value":36898},"(guest: ",{"type":426,"tag":553,"props":36900,"children":36901},{"style":566},[36902],{"type":431,"value":857},{"type":426,"tag":553,"props":36904,"children":36905},{"style":684},[36906],{"type":431,"value":890},{"type":426,"tag":553,"props":36908,"children":36909},{"style":566},[36910],{"type":431,"value":895},{"type":426,"tag":553,"props":36912,"children":36913},{"style":684},[36914],{"type":431,"value":900},{"type":426,"tag":553,"props":36916,"children":36917},{"style":566},[36918],{"type":431,"value":857},{"type":426,"tag":553,"props":36920,"children":36921},{"style":684},[36922],{"type":431,"value":909},{"type":426,"tag":553,"props":36924,"children":36925},{"class":555,"line":623},[36926,36930,36934],{"type":426,"tag":553,"props":36927,"children":36928},{"style":684},[36929],{"type":431,"value":1198},{"type":426,"tag":553,"props":36931,"children":36932},{"style":795},[36933],{"type":431,"value":957},{"type":426,"tag":553,"props":36935,"children":36936},{"style":684},[36937],{"type":431,"value":1207},{"type":426,"tag":553,"props":36939,"children":36940},{"class":555,"line":637},[36941,36945,36950,36954,36959,36963,36967,36971,36976,36980],{"type":426,"tag":553,"props":36942,"children":36943},{"style":795},[36944],{"type":431,"value":1216},{"type":426,"tag":553,"props":36946,"children":36947},{"style":572},[36948],{"type":431,"value":36949},"\"See you in 2 days, ",{"type":426,"tag":553,"props":36951,"children":36952},{"style":566},[36953],{"type":431,"value":972},{"type":426,"tag":553,"props":36955,"children":36956},{"style":684},[36957],{"type":431,"value":36958},"guest[",{"type":426,"tag":553,"props":36960,"children":36961},{"style":572},[36962],{"type":431,"value":1277},{"type":426,"tag":553,"props":36964,"children":36965},{"style":684},[36966],{"type":431,"value":1240},{"type":426,"tag":553,"props":36968,"children":36969},{"style":566},[36970],{"type":431,"value":982},{"type":426,"tag":553,"props":36972,"children":36973},{"style":572},[36974],{"type":431,"value":36975},"! 🏨",{"type":426,"tag":553,"props":36977,"children":36978},{"style":566},[36979],{"type":431,"value":1295},{"type":426,"tag":553,"props":36981,"children":36982},{"style":572},[36983],{"type":431,"value":1250},{"type":426,"tag":553,"props":36985,"children":36986},{"class":555,"line":646},[36987,36991,36996,37000,37004,37009,37013,37017,37021,37025],{"type":426,"tag":553,"props":36988,"children":36989},{"style":795},[36990],{"type":431,"value":1216},{"type":426,"tag":553,"props":36992,"children":36993},{"style":572},[36994],{"type":431,"value":36995},"\"Here's everything you need for your stay at ",{"type":426,"tag":553,"props":36997,"children":36998},{"style":566},[36999],{"type":431,"value":972},{"type":426,"tag":553,"props":37001,"children":37002},{"style":684},[37003],{"type":431,"value":36958},{"type":426,"tag":553,"props":37005,"children":37006},{"style":572},[37007],{"type":431,"value":37008},"'hotel_name'",{"type":426,"tag":553,"props":37010,"children":37011},{"style":684},[37012],{"type":431,"value":1240},{"type":426,"tag":553,"props":37014,"children":37015},{"style":566},[37016],{"type":431,"value":982},{"type":426,"tag":553,"props":37018,"children":37019},{"style":572},[37020],{"type":431,"value":19071},{"type":426,"tag":553,"props":37022,"children":37023},{"style":566},[37024],{"type":431,"value":1295},{"type":426,"tag":553,"props":37026,"children":37027},{"style":572},[37028],{"type":431,"value":1250},{"type":426,"tag":553,"props":37030,"children":37031},{"class":555,"line":655},[37032,37036,37041,37045,37049,37054,37058,37062,37067,37071],{"type":426,"tag":553,"props":37033,"children":37034},{"style":795},[37035],{"type":431,"value":1216},{"type":426,"tag":553,"props":37037,"children":37038},{"style":572},[37039],{"type":431,"value":37040},"\"📅 Check-in: ",{"type":426,"tag":553,"props":37042,"children":37043},{"style":566},[37044],{"type":431,"value":972},{"type":426,"tag":553,"props":37046,"children":37047},{"style":684},[37048],{"type":431,"value":36958},{"type":426,"tag":553,"props":37050,"children":37051},{"style":572},[37052],{"type":431,"value":37053},"'checkin_date'",{"type":426,"tag":553,"props":37055,"children":37056},{"style":684},[37057],{"type":431,"value":1240},{"type":426,"tag":553,"props":37059,"children":37060},{"style":566},[37061],{"type":431,"value":982},{"type":426,"tag":553,"props":37063,"children":37064},{"style":572},[37065],{"type":431,"value":37066}," from 3:00 PM",{"type":426,"tag":553,"props":37068,"children":37069},{"style":566},[37070],{"type":431,"value":3661},{"type":426,"tag":553,"props":37072,"children":37073},{"style":572},[37074],{"type":431,"value":1250},{"type":426,"tag":553,"props":37076,"children":37077},{"class":555,"line":1036},[37078,37082,37087,37091],{"type":426,"tag":553,"props":37079,"children":37080},{"style":795},[37081],{"type":431,"value":1216},{"type":426,"tag":553,"props":37083,"children":37084},{"style":572},[37085],{"type":431,"value":37086},"\"🔑 Early check-in: Available for $25 (reply EARLY to request)",{"type":426,"tag":553,"props":37088,"children":37089},{"style":566},[37090],{"type":431,"value":3661},{"type":426,"tag":553,"props":37092,"children":37093},{"style":572},[37094],{"type":431,"value":1250},{"type":426,"tag":553,"props":37096,"children":37097},{"class":555,"line":1054},[37098,37102,37107,37111],{"type":426,"tag":553,"props":37099,"children":37100},{"style":795},[37101],{"type":431,"value":1216},{"type":426,"tag":553,"props":37103,"children":37104},{"style":572},[37105],{"type":431,"value":37106},"\"🅿️ Parking: Free valet parking at the main entrance",{"type":426,"tag":553,"props":37108,"children":37109},{"style":566},[37110],{"type":431,"value":3661},{"type":426,"tag":553,"props":37112,"children":37113},{"style":572},[37114],{"type":431,"value":1250},{"type":426,"tag":553,"props":37116,"children":37117},{"class":555,"line":1080},[37118,37122,37127,37131,37135,37140,37144,37148],{"type":426,"tag":553,"props":37119,"children":37120},{"style":795},[37121],{"type":431,"value":1216},{"type":426,"tag":553,"props":37123,"children":37124},{"style":572},[37125],{"type":431,"value":37126},"\"📍 Address: ",{"type":426,"tag":553,"props":37128,"children":37129},{"style":566},[37130],{"type":431,"value":972},{"type":426,"tag":553,"props":37132,"children":37133},{"style":684},[37134],{"type":431,"value":36958},{"type":426,"tag":553,"props":37136,"children":37137},{"style":572},[37138],{"type":431,"value":37139},"'hotel_address'",{"type":426,"tag":553,"props":37141,"children":37142},{"style":684},[37143],{"type":431,"value":1240},{"type":426,"tag":553,"props":37145,"children":37146},{"style":566},[37147],{"type":431,"value":1407},{"type":426,"tag":553,"props":37149,"children":37150},{"style":572},[37151],{"type":431,"value":1250},{"type":426,"tag":553,"props":37153,"children":37154},{"class":555,"line":1097},[37155,37159,37164,37168,37172,37177,37181,37185],{"type":426,"tag":553,"props":37156,"children":37157},{"style":795},[37158],{"type":431,"value":1216},{"type":426,"tag":553,"props":37160,"children":37161},{"style":572},[37162],{"type":431,"value":37163},"\"🗺️ Directions: ",{"type":426,"tag":553,"props":37165,"children":37166},{"style":566},[37167],{"type":431,"value":972},{"type":426,"tag":553,"props":37169,"children":37170},{"style":684},[37171],{"type":431,"value":36958},{"type":426,"tag":553,"props":37173,"children":37174},{"style":572},[37175],{"type":431,"value":37176},"'maps_url'",{"type":426,"tag":553,"props":37178,"children":37179},{"style":684},[37180],{"type":431,"value":1240},{"type":426,"tag":553,"props":37182,"children":37183},{"style":566},[37184],{"type":431,"value":1245},{"type":426,"tag":553,"props":37186,"children":37187},{"style":572},[37188],{"type":431,"value":1250},{"type":426,"tag":553,"props":37190,"children":37191},{"class":555,"line":1114},[37192,37196,37201,37205],{"type":426,"tag":553,"props":37193,"children":37194},{"style":795},[37195],{"type":431,"value":1216},{"type":426,"tag":553,"props":37197,"children":37198},{"style":572},[37199],{"type":431,"value":37200},"\"Special requests? Reply here and we'll arrange it!",{"type":426,"tag":553,"props":37202,"children":37203},{"style":566},[37204],{"type":431,"value":1295},{"type":426,"tag":553,"props":37206,"children":37207},{"style":572},[37208],{"type":431,"value":1250},{"type":426,"tag":553,"props":37210,"children":37211},{"class":555,"line":1127},[37212,37216,37221,37225,37229,37233,37237,37241],{"type":426,"tag":553,"props":37213,"children":37214},{"style":795},[37215],{"type":431,"value":1216},{"type":426,"tag":553,"props":37217,"children":37218},{"style":572},[37219],{"type":431,"value":37220},"\"See you soon! — ",{"type":426,"tag":553,"props":37222,"children":37223},{"style":566},[37224],{"type":431,"value":972},{"type":426,"tag":553,"props":37226,"children":37227},{"style":684},[37228],{"type":431,"value":36958},{"type":426,"tag":553,"props":37230,"children":37231},{"style":572},[37232],{"type":431,"value":37008},{"type":426,"tag":553,"props":37234,"children":37235},{"style":684},[37236],{"type":431,"value":1240},{"type":426,"tag":553,"props":37238,"children":37239},{"style":566},[37240],{"type":431,"value":982},{"type":426,"tag":553,"props":37242,"children":37243},{"style":572},[37244],{"type":431,"value":37245}," Team\"\n",{"type":426,"tag":553,"props":37247,"children":37248},{"class":555,"line":1167},[37249],{"type":426,"tag":553,"props":37250,"children":37251},{"style":684},[37252],{"type":431,"value":1642},{"type":426,"tag":553,"props":37254,"children":37255},{"class":555,"line":1184},[37256],{"type":426,"tag":553,"props":37257,"children":37258},{"style":684},[37259],{"type":431,"value":917},{"type":426,"tag":553,"props":37261,"children":37262},{"class":555,"line":1192},[37263,37267],{"type":426,"tag":553,"props":37264,"children":37265},{"style":795},[37266],{"type":431,"value":1659},{"type":426,"tag":553,"props":37268,"children":37269},{"style":684},[37270],{"type":431,"value":1664},{"type":426,"tag":553,"props":37272,"children":37273},{"class":555,"line":1210},[37274,37278],{"type":426,"tag":553,"props":37275,"children":37276},{"style":572},[37277],{"type":431,"value":1673},{"type":426,"tag":553,"props":37279,"children":37280},{"style":684},[37281],{"type":431,"value":710},{"type":426,"tag":553,"props":37283,"children":37284},{"class":555,"line":1253},[37285,37289,37293,37297,37301,37305,37309,37313,37317,37321,37325,37329],{"type":426,"tag":553,"props":37286,"children":37287},{"style":1684},[37288],{"type":431,"value":1687},{"type":426,"tag":553,"props":37290,"children":37291},{"style":795},[37292],{"type":431,"value":957},{"type":426,"tag":553,"props":37294,"children":37295},{"style":684},[37296],{"type":431,"value":972},{"type":426,"tag":553,"props":37298,"children":37299},{"style":572},[37300],{"type":431,"value":1700},{"type":426,"tag":553,"props":37302,"children":37303},{"style":684},[37304],{"type":431,"value":700},{"type":426,"tag":553,"props":37306,"children":37307},{"style":795},[37308],{"type":431,"value":1709},{"type":426,"tag":553,"props":37310,"children":37311},{"style":572},[37312],{"type":431,"value":1714},{"type":426,"tag":553,"props":37314,"children":37315},{"style":566},[37316],{"type":431,"value":972},{"type":426,"tag":553,"props":37318,"children":37319},{"style":684},[37320],{"type":431,"value":1723},{"type":426,"tag":553,"props":37322,"children":37323},{"style":566},[37324],{"type":431,"value":982},{"type":426,"tag":553,"props":37326,"children":37327},{"style":572},[37328],{"type":431,"value":1732},{"type":426,"tag":553,"props":37330,"children":37331},{"style":684},[37332],{"type":431,"value":1737},{"type":426,"tag":553,"props":37334,"children":37335},{"class":555,"line":1302},[37336,37340,37344,37348,37352,37357,37361,37365,37369],{"type":426,"tag":553,"props":37337,"children":37338},{"style":1684},[37339],{"type":431,"value":1746},{"type":426,"tag":553,"props":37341,"children":37342},{"style":795},[37343],{"type":431,"value":957},{"type":426,"tag":553,"props":37345,"children":37346},{"style":684},[37347],{"type":431,"value":972},{"type":426,"tag":553,"props":37349,"children":37350},{"style":572},[37351],{"type":431,"value":1759},{"type":426,"tag":553,"props":37353,"children":37354},{"style":684},[37355],{"type":431,"value":37356},": guest[",{"type":426,"tag":553,"props":37358,"children":37359},{"style":572},[37360],{"type":431,"value":1769},{"type":426,"tag":553,"props":37362,"children":37363},{"style":684},[37364],{"type":431,"value":1774},{"type":426,"tag":553,"props":37366,"children":37367},{"style":572},[37368],{"type":431,"value":1779},{"type":426,"tag":553,"props":37370,"children":37371},{"style":684},[37372],{"type":431,"value":1784},{"type":426,"tag":553,"props":37374,"children":37375},{"class":555,"line":1374},[37376],{"type":426,"tag":553,"props":37377,"children":37378},{"style":684},[37379],{"type":431,"value":1793},{"type":426,"tag":515,"props":37381,"children":37383},{"id":37382},"_3-check-in-instructions-morning-of-arrival",[37384],{"type":431,"value":37385},"3. Check-In Instructions (Morning of Arrival)",{"type":426,"tag":427,"props":37387,"children":37388},{},[37389,37393],{"type":426,"tag":446,"props":37390,"children":37391},{},[37392],{"type":431,"value":528},{"type":431,"value":37394},": Guests ask the same check-in questions repeatedly — \"what time?\", \"where's parking?\", \"do I need ID?\"",{"type":426,"tag":427,"props":37396,"children":37397},{},[37398,37402],{"type":426,"tag":446,"props":37399,"children":37400},{},[37401],{"type":431,"value":538},{"type":431,"value":37403},": WhatsApp check-in instructions sent the morning of arrival.",{"type":426,"tag":542,"props":37405,"children":37407},{"code":37406},"\"Good morning, Sarah! 🌅 Check-in day is here!\n\nYour room will be ready from 3:00 PM. Here's how to find us:\n\n📍 The Grand Hotel, 12 Sea View Drive\n🗺️ Google Maps: https:\u002F\u002Fmaps.google.com\u002F...\n🅿️ Valet parking at the entrance — hand your keys to our team\n\nDocuments needed at check-in:\n📋 Your booking reference: BK-2026-4521\n🪪 A valid government-issued ID\n\nCan't make it by 9 PM? Let us know and we'll arrange late check-in.\n\nWe can't wait to welcome you! 🎉\"\n",[37408],{"type":426,"tag":549,"props":37409,"children":37410},{"__ignoreMap":417},[37411],{"type":431,"value":37406},{"type":426,"tag":515,"props":37413,"children":37415},{"id":37414},"_4-in-stay-concierge-requests",[37416],{"type":431,"value":37417},"4. In-Stay Concierge Requests",{"type":426,"tag":427,"props":37419,"children":37420},{},[37421,37425],{"type":426,"tag":446,"props":37422,"children":37423},{},[37424],{"type":431,"value":528},{"type":431,"value":37426},": Guests want to request room service, towels, or restaurant recommendations but don't want to call the front desk.",{"type":426,"tag":427,"props":37428,"children":37429},{},[37430,37434],{"type":426,"tag":446,"props":37431,"children":37432},{},[37433],{"type":431,"value":538},{"type":431,"value":37435},": Open a WhatsApp concierge channel during the stay.",{"type":426,"tag":542,"props":37437,"children":37439},{"code":37438},"(Sent on Day 1 of the stay)\n\"Welcome to The Grand Hotel, Sarah! 🏨\n\nYour room is ready — Room 412, 4th floor.\n\nFor anything during your stay, just message us here:\n🍽️ Room service\n🛎️ Extra towels, toiletries\n📞 Concierge recommendations\n🌅 Restaurant bookings\n🚗 Taxi arrangements\n\nWe're available 24\u002F7 — just send a message! 🙏\"\n",[37440],{"type":426,"tag":549,"props":37441,"children":37442},{"__ignoreMap":417},[37443],{"type":431,"value":37438},{"type":426,"tag":427,"props":37445,"children":37446},{},[37447],{"type":426,"tag":446,"props":37448,"children":37449},{},[37450],{"type":431,"value":37451},"Incoming webhook processing:",{"type":426,"tag":542,"props":37453,"children":37455},{"code":37454,"language":784,"meta":417,"className":785,"style":417},"def handle_concierge_request(phone: str, message: str, guest_name: str) -> None:\n    \"\"\"Process incoming guest requests via webhook.\"\"\"\n    # Forward to hotel operations team\n    notify_hotel_staff(\n        channel='concierge',\n        message=f\"Guest {guest_name} ({phone}) requests: {message}\"\n    )\n    \n    # Send acknowledgment to guest\n    requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer YOUR_API_KEY'},\n        json={\n            'number': phone,\n            'message': f\"Got it, {guest_name}! Our team will take care of it right away. 🙏\"\n        }\n    )\n",[37456],{"type":426,"tag":549,"props":37457,"children":37458},{"__ignoreMap":417},[37459,37508,37516,37524,37532,37553,37624,37631,37638,37646,37653,37664,37700,37715,37727,37764,37771],{"type":426,"tag":553,"props":37460,"children":37461},{"class":555,"line":556},[37462,37466,37471,37475,37479,37483,37487,37492,37496,37500,37504],{"type":426,"tag":553,"props":37463,"children":37464},{"style":795},[37465],{"type":431,"value":842},{"type":426,"tag":553,"props":37467,"children":37468},{"style":560},[37469],{"type":431,"value":37470}," handle_concierge_request",{"type":426,"tag":553,"props":37472,"children":37473},{"style":684},[37474],{"type":431,"value":7446},{"type":426,"tag":553,"props":37476,"children":37477},{"style":566},[37478],{"type":431,"value":895},{"type":426,"tag":553,"props":37480,"children":37481},{"style":684},[37482],{"type":431,"value":8713},{"type":426,"tag":553,"props":37484,"children":37485},{"style":566},[37486],{"type":431,"value":895},{"type":426,"tag":553,"props":37488,"children":37489},{"style":684},[37490],{"type":431,"value":37491},", guest_name: ",{"type":426,"tag":553,"props":37493,"children":37494},{"style":566},[37495],{"type":431,"value":895},{"type":426,"tag":553,"props":37497,"children":37498},{"style":684},[37499],{"type":431,"value":900},{"type":426,"tag":553,"props":37501,"children":37502},{"style":566},[37503],{"type":431,"value":1840},{"type":426,"tag":553,"props":37505,"children":37506},{"style":684},[37507],{"type":431,"value":909},{"type":426,"tag":553,"props":37509,"children":37510},{"class":555,"line":588},[37511],{"type":426,"tag":553,"props":37512,"children":37513},{"style":572},[37514],{"type":431,"value":37515},"    \"\"\"Process incoming guest requests via webhook.\"\"\"\n",{"type":426,"tag":553,"props":37517,"children":37518},{"class":555,"line":606},[37519],{"type":426,"tag":553,"props":37520,"children":37521},{"style":1975},[37522],{"type":431,"value":37523},"    # Forward to hotel operations team\n",{"type":426,"tag":553,"props":37525,"children":37526},{"class":555,"line":623},[37527],{"type":426,"tag":553,"props":37528,"children":37529},{"style":684},[37530],{"type":431,"value":37531},"    notify_hotel_staff(\n",{"type":426,"tag":553,"props":37533,"children":37534},{"class":555,"line":637},[37535,37540,37544,37549],{"type":426,"tag":553,"props":37536,"children":37537},{"style":1684},[37538],{"type":431,"value":37539},"        channel",{"type":426,"tag":553,"props":37541,"children":37542},{"style":795},[37543],{"type":431,"value":957},{"type":426,"tag":553,"props":37545,"children":37546},{"style":572},[37547],{"type":431,"value":37548},"'concierge'",{"type":426,"tag":553,"props":37550,"children":37551},{"style":684},[37552],{"type":431,"value":710},{"type":426,"tag":553,"props":37554,"children":37555},{"class":555,"line":646},[37556,37560,37564,37568,37573,37577,37582,37586,37590,37594,37599,37603,37608,37612,37616,37620],{"type":426,"tag":553,"props":37557,"children":37558},{"style":1684},[37559],{"type":431,"value":31481},{"type":426,"tag":553,"props":37561,"children":37562},{"style":795},[37563],{"type":431,"value":957},{"type":426,"tag":553,"props":37565,"children":37566},{"style":795},[37567],{"type":431,"value":1709},{"type":426,"tag":553,"props":37569,"children":37570},{"style":572},[37571],{"type":431,"value":37572},"\"Guest ",{"type":426,"tag":553,"props":37574,"children":37575},{"style":566},[37576],{"type":431,"value":972},{"type":426,"tag":553,"props":37578,"children":37579},{"style":684},[37580],{"type":431,"value":37581},"guest_name",{"type":426,"tag":553,"props":37583,"children":37584},{"style":566},[37585],{"type":431,"value":982},{"type":426,"tag":553,"props":37587,"children":37588},{"style":572},[37589],{"type":431,"value":5684},{"type":426,"tag":553,"props":37591,"children":37592},{"style":566},[37593],{"type":431,"value":972},{"type":426,"tag":553,"props":37595,"children":37596},{"style":684},[37597],{"type":431,"value":37598},"phone",{"type":426,"tag":553,"props":37600,"children":37601},{"style":566},[37602],{"type":431,"value":982},{"type":426,"tag":553,"props":37604,"children":37605},{"style":572},[37606],{"type":431,"value":37607},") requests: ",{"type":426,"tag":553,"props":37609,"children":37610},{"style":566},[37611],{"type":431,"value":972},{"type":426,"tag":553,"props":37613,"children":37614},{"style":684},[37615],{"type":431,"value":2734},{"type":426,"tag":553,"props":37617,"children":37618},{"style":566},[37619],{"type":431,"value":982},{"type":426,"tag":553,"props":37621,"children":37622},{"style":572},[37623],{"type":431,"value":1250},{"type":426,"tag":553,"props":37625,"children":37626},{"class":555,"line":655},[37627],{"type":426,"tag":553,"props":37628,"children":37629},{"style":684},[37630],{"type":431,"value":1642},{"type":426,"tag":553,"props":37632,"children":37633},{"class":555,"line":1036},[37634],{"type":426,"tag":553,"props":37635,"children":37636},{"style":684},[37637],{"type":431,"value":917},{"type":426,"tag":553,"props":37639,"children":37640},{"class":555,"line":1054},[37641],{"type":426,"tag":553,"props":37642,"children":37643},{"style":1975},[37644],{"type":431,"value":37645},"    # Send acknowledgment to guest\n",{"type":426,"tag":553,"props":37647,"children":37648},{"class":555,"line":1080},[37649],{"type":426,"tag":553,"props":37650,"children":37651},{"style":684},[37652],{"type":431,"value":30283},{"type":426,"tag":553,"props":37654,"children":37655},{"class":555,"line":1097},[37656,37660],{"type":426,"tag":553,"props":37657,"children":37658},{"style":572},[37659],{"type":431,"value":1673},{"type":426,"tag":553,"props":37661,"children":37662},{"style":684},[37663],{"type":431,"value":710},{"type":426,"tag":553,"props":37665,"children":37666},{"class":555,"line":1114},[37667,37671,37675,37679,37683,37687,37691,37696],{"type":426,"tag":553,"props":37668,"children":37669},{"style":1684},[37670],{"type":431,"value":1687},{"type":426,"tag":553,"props":37672,"children":37673},{"style":795},[37674],{"type":431,"value":957},{"type":426,"tag":553,"props":37676,"children":37677},{"style":684},[37678],{"type":431,"value":972},{"type":426,"tag":553,"props":37680,"children":37681},{"style":572},[37682],{"type":431,"value":1700},{"type":426,"tag":553,"props":37684,"children":37685},{"style":684},[37686],{"type":431,"value":700},{"type":426,"tag":553,"props":37688,"children":37689},{"style":795},[37690],{"type":431,"value":1709},{"type":426,"tag":553,"props":37692,"children":37693},{"style":572},[37694],{"type":431,"value":37695},"'Bearer YOUR_API_KEY'",{"type":426,"tag":553,"props":37697,"children":37698},{"style":684},[37699],{"type":431,"value":1737},{"type":426,"tag":553,"props":37701,"children":37702},{"class":555,"line":1127},[37703,37707,37711],{"type":426,"tag":553,"props":37704,"children":37705},{"style":1684},[37706],{"type":431,"value":1746},{"type":426,"tag":553,"props":37708,"children":37709},{"style":795},[37710],{"type":431,"value":957},{"type":426,"tag":553,"props":37712,"children":37713},{"style":684},[37714],{"type":431,"value":687},{"type":426,"tag":553,"props":37716,"children":37717},{"class":555,"line":1167},[37718,37722],{"type":426,"tag":553,"props":37719,"children":37720},{"style":572},[37721],{"type":431,"value":15045},{"type":426,"tag":553,"props":37723,"children":37724},{"style":684},[37725],{"type":431,"value":37726},": phone,\n",{"type":426,"tag":553,"props":37728,"children":37729},{"class":555,"line":1184},[37730,37734,37738,37742,37747,37751,37755,37759],{"type":426,"tag":553,"props":37731,"children":37732},{"style":572},[37733],{"type":431,"value":15058},{"type":426,"tag":553,"props":37735,"children":37736},{"style":684},[37737],{"type":431,"value":700},{"type":426,"tag":553,"props":37739,"children":37740},{"style":795},[37741],{"type":431,"value":1709},{"type":426,"tag":553,"props":37743,"children":37744},{"style":572},[37745],{"type":431,"value":37746},"\"Got it, ",{"type":426,"tag":553,"props":37748,"children":37749},{"style":566},[37750],{"type":431,"value":972},{"type":426,"tag":553,"props":37752,"children":37753},{"style":684},[37754],{"type":431,"value":37581},{"type":426,"tag":553,"props":37756,"children":37757},{"style":566},[37758],{"type":431,"value":982},{"type":426,"tag":553,"props":37760,"children":37761},{"style":572},[37762],{"type":431,"value":37763},"! Our team will take care of it right away. 🙏\"\n",{"type":426,"tag":553,"props":37765,"children":37766},{"class":555,"line":1192},[37767],{"type":426,"tag":553,"props":37768,"children":37769},{"style":684},[37770],{"type":431,"value":15075},{"type":426,"tag":553,"props":37772,"children":37773},{"class":555,"line":1210},[37774],{"type":426,"tag":553,"props":37775,"children":37776},{"style":684},[37777],{"type":431,"value":1642},{"type":426,"tag":515,"props":37779,"children":37781},{"id":37780},"_5-room-upgrade-offer-day-before-check-in",[37782],{"type":431,"value":37783},"5. Room Upgrade Offer (Day Before Check-In)",{"type":426,"tag":427,"props":37785,"children":37786},{},[37787,37791],{"type":426,"tag":446,"props":37788,"children":37789},{},[37790],{"type":431,"value":528},{"type":431,"value":37792},": Hotels have empty upgraded rooms but don't offer them systematically to guests who might upgrade.",{"type":426,"tag":427,"props":37794,"children":37795},{},[37796,37800],{"type":426,"tag":446,"props":37797,"children":37798},{},[37799],{"type":431,"value":538},{"type":431,"value":37801},": WhatsApp upgrade offer to selected guests the day before arrival.",{"type":426,"tag":542,"props":37803,"children":37805},{"code":37804},"\"Hi Sarah! Exclusive offer just for you 🌟\n\nWe have a limited availability upgrade for your stay:\n\nFrom: Superior Double, Ocean View\nTo: Deluxe Suite, Private Balcony + Ocean View\n\nUpgrade fee: Only $75 for your entire 3-night stay (vs $150 at check-in)\n\nInterested? Reply YES before 6:00 PM today and we'll upgrade your room!\"\n",[37806],{"type":426,"tag":549,"props":37807,"children":37808},{"__ignoreMap":417},[37809],{"type":431,"value":37804},{"type":426,"tag":427,"props":37811,"children":37812},{},[37813,37818],{"type":426,"tag":446,"props":37814,"children":37815},{},[37816],{"type":431,"value":37817},"Revenue impact",{"type":431,"value":37819},": Hotels typically achieve 20–35% upgrade conversion via WhatsApp vs 5–10% via email.",{"type":426,"tag":515,"props":37821,"children":37823},{"id":37822},"_6-checkout-reminder",[37824],{"type":431,"value":37825},"6. Checkout Reminder",{"type":426,"tag":427,"props":37827,"children":37828},{},[37829,37833],{"type":426,"tag":446,"props":37830,"children":37831},{},[37832],{"type":431,"value":528},{"type":431,"value":37834},": Guests miss checkout time, causing room turnaround delays.",{"type":426,"tag":427,"props":37836,"children":37837},{},[37838,37842],{"type":426,"tag":446,"props":37839,"children":37840},{},[37841],{"type":431,"value":538},{"type":431,"value":37843},": WhatsApp checkout reminder on the morning of departure.",{"type":426,"tag":542,"props":37845,"children":37847},{"code":37846},"\"Good morning, Sarah! 🌅\n\nToday is your checkout day (July 18, 2026).\n\nCheckout time: 11:00 AM\nLate checkout (12 PM): Available for $30 — reply LATE to add\n\nLuggage storage: We can hold your luggage until 6 PM — reply STORAGE to arrange\n\nTaxi to airport: We can arrange — reply TAXI for details\n\nIt's been a pleasure having you! 🙏\n— The Grand Hotel Team\"\n",[37848],{"type":426,"tag":549,"props":37849,"children":37850},{"__ignoreMap":417},[37851],{"type":431,"value":37846},{"type":426,"tag":515,"props":37853,"children":37855},{"id":37854},"_7-post-stay-review-request",[37856],{"type":431,"value":37857},"7. Post-Stay Review Request",{"type":426,"tag":427,"props":37859,"children":37860},{},[37861,37865],{"type":426,"tag":446,"props":37862,"children":37863},{},[37864],{"type":431,"value":528},{"type":431,"value":37866},": Only 5–10% of satisfied guests leave reviews without being asked.",{"type":426,"tag":427,"props":37868,"children":37869},{},[37870,37874],{"type":426,"tag":446,"props":37871,"children":37872},{},[37873],{"type":431,"value":538},{"type":431,"value":37875},": WhatsApp review request 24 hours after checkout.",{"type":426,"tag":542,"props":37877,"children":37879},{"code":37878,"language":784,"meta":417,"className":785,"style":417},"def send_post_stay_review_request(guest: dict, api_key: str) -> dict:\n    message = (\n        f\"Hi {guest['name']}! 🏨\\n\\n\"\n        f\"Thank you for staying at {guest['hotel_name']}! \"\n        f\"We hope you had a wonderful stay.\\n\\n\"\n        f\"Would you take 2 minutes to share your experience?\\n\\n\"\n        f\"⭐ TripAdvisor: {guest['tripadvisor_url']}\\n\"\n        f\"⭐ Google: {guest['google_url']}\\n\\n\"\n        f\"Your feedback means the world to us and helps future guests. 🙏\\n\\n\"\n        f\"We hope to welcome you back soon!\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': guest['phone'], 'message': message}\n    ).json()\n",[37880],{"type":426,"tag":549,"props":37881,"children":37882},{"__ignoreMap":417},[37883,37923,37938,37981,38018,38038,38058,38095,38132,38152,38164,38171,38178,38189,38200,38251,38290],{"type":426,"tag":553,"props":37884,"children":37885},{"class":555,"line":556},[37886,37890,37895,37899,37903,37907,37911,37915,37919],{"type":426,"tag":553,"props":37887,"children":37888},{"style":795},[37889],{"type":431,"value":842},{"type":426,"tag":553,"props":37891,"children":37892},{"style":560},[37893],{"type":431,"value":37894}," send_post_stay_review_request",{"type":426,"tag":553,"props":37896,"children":37897},{"style":684},[37898],{"type":431,"value":36898},{"type":426,"tag":553,"props":37900,"children":37901},{"style":566},[37902],{"type":431,"value":857},{"type":426,"tag":553,"props":37904,"children":37905},{"style":684},[37906],{"type":431,"value":890},{"type":426,"tag":553,"props":37908,"children":37909},{"style":566},[37910],{"type":431,"value":895},{"type":426,"tag":553,"props":37912,"children":37913},{"style":684},[37914],{"type":431,"value":900},{"type":426,"tag":553,"props":37916,"children":37917},{"style":566},[37918],{"type":431,"value":857},{"type":426,"tag":553,"props":37920,"children":37921},{"style":684},[37922],{"type":431,"value":909},{"type":426,"tag":553,"props":37924,"children":37925},{"class":555,"line":588},[37926,37930,37934],{"type":426,"tag":553,"props":37927,"children":37928},{"style":684},[37929],{"type":431,"value":1198},{"type":426,"tag":553,"props":37931,"children":37932},{"style":795},[37933],{"type":431,"value":957},{"type":426,"tag":553,"props":37935,"children":37936},{"style":684},[37937],{"type":431,"value":1207},{"type":426,"tag":553,"props":37939,"children":37940},{"class":555,"line":606},[37941,37945,37949,37953,37957,37961,37965,37969,37973,37977],{"type":426,"tag":553,"props":37942,"children":37943},{"style":795},[37944],{"type":431,"value":1216},{"type":426,"tag":553,"props":37946,"children":37947},{"style":572},[37948],{"type":431,"value":4625},{"type":426,"tag":553,"props":37950,"children":37951},{"style":566},[37952],{"type":431,"value":972},{"type":426,"tag":553,"props":37954,"children":37955},{"style":684},[37956],{"type":431,"value":36958},{"type":426,"tag":553,"props":37958,"children":37959},{"style":572},[37960],{"type":431,"value":1277},{"type":426,"tag":553,"props":37962,"children":37963},{"style":684},[37964],{"type":431,"value":1240},{"type":426,"tag":553,"props":37966,"children":37967},{"style":566},[37968],{"type":431,"value":982},{"type":426,"tag":553,"props":37970,"children":37971},{"style":572},[37972],{"type":431,"value":36975},{"type":426,"tag":553,"props":37974,"children":37975},{"style":566},[37976],{"type":431,"value":1295},{"type":426,"tag":553,"props":37978,"children":37979},{"style":572},[37980],{"type":431,"value":1250},{"type":426,"tag":553,"props":37982,"children":37983},{"class":555,"line":623},[37984,37988,37993,37997,38001,38005,38009,38013],{"type":426,"tag":553,"props":37985,"children":37986},{"style":795},[37987],{"type":431,"value":1216},{"type":426,"tag":553,"props":37989,"children":37990},{"style":572},[37991],{"type":431,"value":37992},"\"Thank you for staying at ",{"type":426,"tag":553,"props":37994,"children":37995},{"style":566},[37996],{"type":431,"value":972},{"type":426,"tag":553,"props":37998,"children":37999},{"style":684},[38000],{"type":431,"value":36958},{"type":426,"tag":553,"props":38002,"children":38003},{"style":572},[38004],{"type":431,"value":37008},{"type":426,"tag":553,"props":38006,"children":38007},{"style":684},[38008],{"type":431,"value":1240},{"type":426,"tag":553,"props":38010,"children":38011},{"style":566},[38012],{"type":431,"value":982},{"type":426,"tag":553,"props":38014,"children":38015},{"style":572},[38016],{"type":431,"value":38017},"! \"\n",{"type":426,"tag":553,"props":38019,"children":38020},{"class":555,"line":637},[38021,38025,38030,38034],{"type":426,"tag":553,"props":38022,"children":38023},{"style":795},[38024],{"type":431,"value":1216},{"type":426,"tag":553,"props":38026,"children":38027},{"style":572},[38028],{"type":431,"value":38029},"\"We hope you had a wonderful stay.",{"type":426,"tag":553,"props":38031,"children":38032},{"style":566},[38033],{"type":431,"value":1295},{"type":426,"tag":553,"props":38035,"children":38036},{"style":572},[38037],{"type":431,"value":1250},{"type":426,"tag":553,"props":38039,"children":38040},{"class":555,"line":646},[38041,38045,38050,38054],{"type":426,"tag":553,"props":38042,"children":38043},{"style":795},[38044],{"type":431,"value":1216},{"type":426,"tag":553,"props":38046,"children":38047},{"style":572},[38048],{"type":431,"value":38049},"\"Would you take 2 minutes to share your experience?",{"type":426,"tag":553,"props":38051,"children":38052},{"style":566},[38053],{"type":431,"value":1295},{"type":426,"tag":553,"props":38055,"children":38056},{"style":572},[38057],{"type":431,"value":1250},{"type":426,"tag":553,"props":38059,"children":38060},{"class":555,"line":655},[38061,38065,38070,38074,38078,38083,38087,38091],{"type":426,"tag":553,"props":38062,"children":38063},{"style":795},[38064],{"type":431,"value":1216},{"type":426,"tag":553,"props":38066,"children":38067},{"style":572},[38068],{"type":431,"value":38069},"\"⭐ TripAdvisor: ",{"type":426,"tag":553,"props":38071,"children":38072},{"style":566},[38073],{"type":431,"value":972},{"type":426,"tag":553,"props":38075,"children":38076},{"style":684},[38077],{"type":431,"value":36958},{"type":426,"tag":553,"props":38079,"children":38080},{"style":572},[38081],{"type":431,"value":38082},"'tripadvisor_url'",{"type":426,"tag":553,"props":38084,"children":38085},{"style":684},[38086],{"type":431,"value":1240},{"type":426,"tag":553,"props":38088,"children":38089},{"style":566},[38090],{"type":431,"value":1407},{"type":426,"tag":553,"props":38092,"children":38093},{"style":572},[38094],{"type":431,"value":1250},{"type":426,"tag":553,"props":38096,"children":38097},{"class":555,"line":1036},[38098,38102,38107,38111,38115,38120,38124,38128],{"type":426,"tag":553,"props":38099,"children":38100},{"style":795},[38101],{"type":431,"value":1216},{"type":426,"tag":553,"props":38103,"children":38104},{"style":572},[38105],{"type":431,"value":38106},"\"⭐ Google: ",{"type":426,"tag":553,"props":38108,"children":38109},{"style":566},[38110],{"type":431,"value":972},{"type":426,"tag":553,"props":38112,"children":38113},{"style":684},[38114],{"type":431,"value":36958},{"type":426,"tag":553,"props":38116,"children":38117},{"style":572},[38118],{"type":431,"value":38119},"'google_url'",{"type":426,"tag":553,"props":38121,"children":38122},{"style":684},[38123],{"type":431,"value":1240},{"type":426,"tag":553,"props":38125,"children":38126},{"style":566},[38127],{"type":431,"value":1245},{"type":426,"tag":553,"props":38129,"children":38130},{"style":572},[38131],{"type":431,"value":1250},{"type":426,"tag":553,"props":38133,"children":38134},{"class":555,"line":1054},[38135,38139,38144,38148],{"type":426,"tag":553,"props":38136,"children":38137},{"style":795},[38138],{"type":431,"value":1216},{"type":426,"tag":553,"props":38140,"children":38141},{"style":572},[38142],{"type":431,"value":38143},"\"Your feedback means the world to us and helps future guests. 🙏",{"type":426,"tag":553,"props":38145,"children":38146},{"style":566},[38147],{"type":431,"value":1295},{"type":426,"tag":553,"props":38149,"children":38150},{"style":572},[38151],{"type":431,"value":1250},{"type":426,"tag":553,"props":38153,"children":38154},{"class":555,"line":1080},[38155,38159],{"type":426,"tag":553,"props":38156,"children":38157},{"style":795},[38158],{"type":431,"value":1216},{"type":426,"tag":553,"props":38160,"children":38161},{"style":572},[38162],{"type":431,"value":38163},"\"We hope to welcome you back soon!\"\n",{"type":426,"tag":553,"props":38165,"children":38166},{"class":555,"line":1097},[38167],{"type":426,"tag":553,"props":38168,"children":38169},{"style":684},[38170],{"type":431,"value":1642},{"type":426,"tag":553,"props":38172,"children":38173},{"class":555,"line":1114},[38174],{"type":426,"tag":553,"props":38175,"children":38176},{"style":684},[38177],{"type":431,"value":917},{"type":426,"tag":553,"props":38179,"children":38180},{"class":555,"line":1127},[38181,38185],{"type":426,"tag":553,"props":38182,"children":38183},{"style":795},[38184],{"type":431,"value":1659},{"type":426,"tag":553,"props":38186,"children":38187},{"style":684},[38188],{"type":431,"value":1664},{"type":426,"tag":553,"props":38190,"children":38191},{"class":555,"line":1167},[38192,38196],{"type":426,"tag":553,"props":38193,"children":38194},{"style":572},[38195],{"type":431,"value":1673},{"type":426,"tag":553,"props":38197,"children":38198},{"style":684},[38199],{"type":431,"value":710},{"type":426,"tag":553,"props":38201,"children":38202},{"class":555,"line":1184},[38203,38207,38211,38215,38219,38223,38227,38231,38235,38239,38243,38247],{"type":426,"tag":553,"props":38204,"children":38205},{"style":1684},[38206],{"type":431,"value":1687},{"type":426,"tag":553,"props":38208,"children":38209},{"style":795},[38210],{"type":431,"value":957},{"type":426,"tag":553,"props":38212,"children":38213},{"style":684},[38214],{"type":431,"value":972},{"type":426,"tag":553,"props":38216,"children":38217},{"style":572},[38218],{"type":431,"value":1700},{"type":426,"tag":553,"props":38220,"children":38221},{"style":684},[38222],{"type":431,"value":700},{"type":426,"tag":553,"props":38224,"children":38225},{"style":795},[38226],{"type":431,"value":1709},{"type":426,"tag":553,"props":38228,"children":38229},{"style":572},[38230],{"type":431,"value":1714},{"type":426,"tag":553,"props":38232,"children":38233},{"style":566},[38234],{"type":431,"value":972},{"type":426,"tag":553,"props":38236,"children":38237},{"style":684},[38238],{"type":431,"value":1723},{"type":426,"tag":553,"props":38240,"children":38241},{"style":566},[38242],{"type":431,"value":982},{"type":426,"tag":553,"props":38244,"children":38245},{"style":572},[38246],{"type":431,"value":1732},{"type":426,"tag":553,"props":38248,"children":38249},{"style":684},[38250],{"type":431,"value":1737},{"type":426,"tag":553,"props":38252,"children":38253},{"class":555,"line":1192},[38254,38258,38262,38266,38270,38274,38278,38282,38286],{"type":426,"tag":553,"props":38255,"children":38256},{"style":1684},[38257],{"type":431,"value":1746},{"type":426,"tag":553,"props":38259,"children":38260},{"style":795},[38261],{"type":431,"value":957},{"type":426,"tag":553,"props":38263,"children":38264},{"style":684},[38265],{"type":431,"value":972},{"type":426,"tag":553,"props":38267,"children":38268},{"style":572},[38269],{"type":431,"value":1759},{"type":426,"tag":553,"props":38271,"children":38272},{"style":684},[38273],{"type":431,"value":37356},{"type":426,"tag":553,"props":38275,"children":38276},{"style":572},[38277],{"type":431,"value":1769},{"type":426,"tag":553,"props":38279,"children":38280},{"style":684},[38281],{"type":431,"value":1774},{"type":426,"tag":553,"props":38283,"children":38284},{"style":572},[38285],{"type":431,"value":1779},{"type":426,"tag":553,"props":38287,"children":38288},{"style":684},[38289],{"type":431,"value":1784},{"type":426,"tag":553,"props":38291,"children":38292},{"class":555,"line":1210},[38293],{"type":426,"tag":553,"props":38294,"children":38295},{"style":684},[38296],{"type":431,"value":1793},{"type":426,"tag":434,"props":38298,"children":38300},{"id":38299},"how-to-set-up-whatsapp-for-hotels-with-rapiwa",[38301],{"type":431,"value":38302},"How to Set Up WhatsApp for Hotels with Rapiwa",{"type":426,"tag":515,"props":38304,"children":38305},{"id":3809},[38306],{"type":431,"value":3812},{"type":426,"tag":427,"props":38308,"children":38309},{},[38310,38311,38316],{"type":431,"value":3817},{"type":426,"tag":3819,"props":38312,"children":38314},{"href":3821,"rel":38313},[3823],[38315],{"type":431,"value":3826},{"type":431,"value":3828},{"type":426,"tag":515,"props":38318,"children":38320},{"id":38319},"step-2-connect-your-pms-property-management-system",[38321],{"type":431,"value":38322},"Step 2: Connect Your PMS (Property Management System)",{"type":426,"tag":427,"props":38324,"children":38325},{},[38326],{"type":431,"value":38327},"Most PMS systems (Opera, Cloudbeds, Mews, Hotelogix) support webhooks or API exports. Use n8n to:",{"type":426,"tag":6331,"props":38329,"children":38330},{},[38331,38336,38341],{"type":426,"tag":458,"props":38332,"children":38333},{},[38334],{"type":431,"value":38335},"Trigger on new reservation → send booking confirmation",{"type":426,"tag":458,"props":38337,"children":38338},{},[38339],{"type":431,"value":38340},"Trigger on check-in date approach → send pre-arrival info",{"type":426,"tag":458,"props":38342,"children":38343},{},[38344],{"type":431,"value":38345},"Trigger on checkout date → send departure reminder",{"type":426,"tag":515,"props":38347,"children":38349},{"id":38348},"step-3-create-the-message-automation",[38350],{"type":431,"value":38351},"Step 3: Create the Message Automation",{"type":426,"tag":542,"props":38353,"children":38355},{"code":38354,"language":784,"meta":417,"className":785,"style":417},"import schedule\n\ndef run_hotel_whatsapp_automation():\n    today_arrivals = get_guests_arriving_today()\n    for guest in today_arrivals:\n        send_checkin_instructions(guest, api_key='YOUR_API_KEY')\n    \n    departures_tomorrow = get_guests_departing_tomorrow()\n    for guest in departures_tomorrow:\n        send_checkout_reminder(guest, api_key='YOUR_API_KEY')\n    \n    pre_arrival_48h = get_guests_arriving_in_48_hours()\n    for guest in pre_arrival_48h:\n        send_pre_arrival_message(guest, api_key='YOUR_API_KEY')\n\nschedule.every().day.at(\"08:00\").do(run_hotel_whatsapp_automation)\n",[38356],{"type":426,"tag":549,"props":38357,"children":38358},{"__ignoreMap":417},[38359,38370,38377,38393,38410,38431,38456,38463,38480,38500,38524,38531,38548,38568,38592,38599],{"type":426,"tag":553,"props":38360,"children":38361},{"class":555,"line":556},[38362,38366],{"type":426,"tag":553,"props":38363,"children":38364},{"style":795},[38365],{"type":431,"value":798},{"type":426,"tag":553,"props":38367,"children":38368},{"style":684},[38369],{"type":431,"value":6378},{"type":426,"tag":553,"props":38371,"children":38372},{"class":555,"line":588},[38373],{"type":426,"tag":553,"props":38374,"children":38375},{"emptyLinePlaceholder":831},[38376],{"type":431,"value":834},{"type":426,"tag":553,"props":38378,"children":38379},{"class":555,"line":606},[38380,38384,38389],{"type":426,"tag":553,"props":38381,"children":38382},{"style":795},[38383],{"type":431,"value":842},{"type":426,"tag":553,"props":38385,"children":38386},{"style":560},[38387],{"type":431,"value":38388}," run_hotel_whatsapp_automation",{"type":426,"tag":553,"props":38390,"children":38391},{"style":684},[38392],{"type":431,"value":6433},{"type":426,"tag":553,"props":38394,"children":38395},{"class":555,"line":623},[38396,38401,38405],{"type":426,"tag":553,"props":38397,"children":38398},{"style":684},[38399],{"type":431,"value":38400},"    today_arrivals ",{"type":426,"tag":553,"props":38402,"children":38403},{"style":795},[38404],{"type":431,"value":957},{"type":426,"tag":553,"props":38406,"children":38407},{"style":684},[38408],{"type":431,"value":38409}," get_guests_arriving_today()\n",{"type":426,"tag":553,"props":38411,"children":38412},{"class":555,"line":637},[38413,38417,38422,38426],{"type":426,"tag":553,"props":38414,"children":38415},{"style":795},[38416],{"type":431,"value":1995},{"type":426,"tag":553,"props":38418,"children":38419},{"style":684},[38420],{"type":431,"value":38421}," guest ",{"type":426,"tag":553,"props":38423,"children":38424},{"style":795},[38425],{"type":431,"value":2005},{"type":426,"tag":553,"props":38427,"children":38428},{"style":684},[38429],{"type":431,"value":38430}," today_arrivals:\n",{"type":426,"tag":553,"props":38432,"children":38433},{"class":555,"line":646},[38434,38439,38443,38447,38452],{"type":426,"tag":553,"props":38435,"children":38436},{"style":684},[38437],{"type":431,"value":38438},"        send_checkin_instructions(guest, ",{"type":426,"tag":553,"props":38440,"children":38441},{"style":1684},[38442],{"type":431,"value":1723},{"type":426,"tag":553,"props":38444,"children":38445},{"style":795},[38446],{"type":431,"value":957},{"type":426,"tag":553,"props":38448,"children":38449},{"style":572},[38450],{"type":431,"value":38451},"'YOUR_API_KEY'",{"type":426,"tag":553,"props":38453,"children":38454},{"style":684},[38455],{"type":431,"value":3262},{"type":426,"tag":553,"props":38457,"children":38458},{"class":555,"line":655},[38459],{"type":426,"tag":553,"props":38460,"children":38461},{"style":684},[38462],{"type":431,"value":917},{"type":426,"tag":553,"props":38464,"children":38465},{"class":555,"line":1036},[38466,38471,38475],{"type":426,"tag":553,"props":38467,"children":38468},{"style":684},[38469],{"type":431,"value":38470},"    departures_tomorrow ",{"type":426,"tag":553,"props":38472,"children":38473},{"style":795},[38474],{"type":431,"value":957},{"type":426,"tag":553,"props":38476,"children":38477},{"style":684},[38478],{"type":431,"value":38479}," get_guests_departing_tomorrow()\n",{"type":426,"tag":553,"props":38481,"children":38482},{"class":555,"line":1054},[38483,38487,38491,38495],{"type":426,"tag":553,"props":38484,"children":38485},{"style":795},[38486],{"type":431,"value":1995},{"type":426,"tag":553,"props":38488,"children":38489},{"style":684},[38490],{"type":431,"value":38421},{"type":426,"tag":553,"props":38492,"children":38493},{"style":795},[38494],{"type":431,"value":2005},{"type":426,"tag":553,"props":38496,"children":38497},{"style":684},[38498],{"type":431,"value":38499}," departures_tomorrow:\n",{"type":426,"tag":553,"props":38501,"children":38502},{"class":555,"line":1080},[38503,38508,38512,38516,38520],{"type":426,"tag":553,"props":38504,"children":38505},{"style":684},[38506],{"type":431,"value":38507},"        send_checkout_reminder(guest, ",{"type":426,"tag":553,"props":38509,"children":38510},{"style":1684},[38511],{"type":431,"value":1723},{"type":426,"tag":553,"props":38513,"children":38514},{"style":795},[38515],{"type":431,"value":957},{"type":426,"tag":553,"props":38517,"children":38518},{"style":572},[38519],{"type":431,"value":38451},{"type":426,"tag":553,"props":38521,"children":38522},{"style":684},[38523],{"type":431,"value":3262},{"type":426,"tag":553,"props":38525,"children":38526},{"class":555,"line":1097},[38527],{"type":426,"tag":553,"props":38528,"children":38529},{"style":684},[38530],{"type":431,"value":917},{"type":426,"tag":553,"props":38532,"children":38533},{"class":555,"line":1114},[38534,38539,38543],{"type":426,"tag":553,"props":38535,"children":38536},{"style":684},[38537],{"type":431,"value":38538},"    pre_arrival_48h ",{"type":426,"tag":553,"props":38540,"children":38541},{"style":795},[38542],{"type":431,"value":957},{"type":426,"tag":553,"props":38544,"children":38545},{"style":684},[38546],{"type":431,"value":38547}," get_guests_arriving_in_48_hours()\n",{"type":426,"tag":553,"props":38549,"children":38550},{"class":555,"line":1127},[38551,38555,38559,38563],{"type":426,"tag":553,"props":38552,"children":38553},{"style":795},[38554],{"type":431,"value":1995},{"type":426,"tag":553,"props":38556,"children":38557},{"style":684},[38558],{"type":431,"value":38421},{"type":426,"tag":553,"props":38560,"children":38561},{"style":795},[38562],{"type":431,"value":2005},{"type":426,"tag":553,"props":38564,"children":38565},{"style":684},[38566],{"type":431,"value":38567}," pre_arrival_48h:\n",{"type":426,"tag":553,"props":38569,"children":38570},{"class":555,"line":1167},[38571,38576,38580,38584,38588],{"type":426,"tag":553,"props":38572,"children":38573},{"style":684},[38574],{"type":431,"value":38575},"        send_pre_arrival_message(guest, ",{"type":426,"tag":553,"props":38577,"children":38578},{"style":1684},[38579],{"type":431,"value":1723},{"type":426,"tag":553,"props":38581,"children":38582},{"style":795},[38583],{"type":431,"value":957},{"type":426,"tag":553,"props":38585,"children":38586},{"style":572},[38587],{"type":431,"value":38451},{"type":426,"tag":553,"props":38589,"children":38590},{"style":684},[38591],{"type":431,"value":3262},{"type":426,"tag":553,"props":38593,"children":38594},{"class":555,"line":1184},[38595],{"type":426,"tag":553,"props":38596,"children":38597},{"emptyLinePlaceholder":831},[38598],{"type":431,"value":834},{"type":426,"tag":553,"props":38600,"children":38601},{"class":555,"line":1192},[38602,38606,38611],{"type":426,"tag":553,"props":38603,"children":38604},{"style":684},[38605],{"type":431,"value":6702},{"type":426,"tag":553,"props":38607,"children":38608},{"style":572},[38609],{"type":431,"value":38610},"\"08:00\"",{"type":426,"tag":553,"props":38612,"children":38613},{"style":684},[38614],{"type":431,"value":38615},").do(run_hotel_whatsapp_automation)\n",{"type":426,"tag":434,"props":38617,"children":38618},{"id":4050},[38619],{"type":431,"value":4053},{"type":426,"tag":454,"props":38621,"children":38622},{},[38623,38633,38643,38651],{"type":426,"tag":458,"props":38624,"children":38625},{},[38626,38631],{"type":426,"tag":446,"props":38627,"children":38628},{},[38629],{"type":431,"value":38630},"30–40% reduction",{"type":431,"value":38632}," in front desk calls (pre-arrival information WhatsApp)",{"type":426,"tag":458,"props":38634,"children":38635},{},[38636,38641],{"type":426,"tag":446,"props":38637,"children":38638},{},[38639],{"type":431,"value":38640},"20–35% upgrade conversion",{"type":431,"value":38642}," (WhatsApp upgrade offers vs 5–10% email)",{"type":426,"tag":458,"props":38644,"children":38645},{},[38646,38650],{"type":426,"tag":446,"props":38647,"children":38648},{},[38649],{"type":431,"value":6737},{"type":431,"value":6739},{"type":426,"tag":458,"props":38652,"children":38653},{},[38654,38659],{"type":426,"tag":446,"props":38655,"children":38656},{},[38657],{"type":431,"value":38658},"95%+ open rate",{"type":431,"value":38660}," on booking confirmations (vs 20% email)",{"type":426,"tag":434,"props":38662,"children":38663},{"id":4109},[38664],{"type":431,"value":4112},{"type":426,"tag":427,"props":38666,"children":38667},{},[38668,38673,38675,38680,38682,38687],{"type":426,"tag":446,"props":38669,"children":38670},{},[38671],{"type":431,"value":38672},"Does Rapiwa work with international guest phone numbers?",{"type":431,"value":38674},"\nYes. Rapiwa supports all international phone numbers in international format. Bangladesh guest: ",{"type":426,"tag":549,"props":38676,"children":38678},{"className":38677},[],[38679],{"type":431,"value":7237},{"type":431,"value":38681},". UK guest: ",{"type":426,"tag":549,"props":38683,"children":38685},{"className":38684},[],[38686],{"type":431,"value":6779},{"type":431,"value":6789},{"type":426,"tag":427,"props":38689,"children":38690},{},[38691,38696],{"type":426,"tag":446,"props":38692,"children":38693},{},[38694],{"type":431,"value":38695},"Does Rapiwa charge per guest message?",{"type":431,"value":38697},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. A hotel sending 500 messages\u002Fday (check-ins, check-outs, confirmations) pays $5\u002Fmonth total.",{"type":426,"tag":427,"props":38699,"children":38700},{},[38701,38706],{"type":426,"tag":446,"props":38702,"children":38703},{},[38704],{"type":431,"value":38705},"Can guests reply to WhatsApp messages and reach our team?",{"type":431,"value":38707},"\nYes. Set up a Rapiwa webhook to receive incoming messages. Route them to a shared WhatsApp Business inbox or your team's Slack channel via n8n.",{"type":426,"tag":427,"props":38709,"children":38710},{},[38711,38716],{"type":426,"tag":446,"props":38712,"children":38713},{},[38714],{"type":431,"value":38715},"What PMS systems work with this setup?",{"type":431,"value":38717},"\nAny PMS with API\u002Fwebhook support works: Cloudbeds, Mews, Opera PMS, Hotelogix, Hostaway (for vacation rentals), and more. n8n acts as middleware.",{"type":426,"tag":427,"props":38719,"children":38720},{},[38721,38726],{"type":426,"tag":446,"props":38722,"children":38723},{},[38724],{"type":431,"value":38725},"Is this suitable for small boutique hotels as well as large chains?",{"type":431,"value":38727},"\nYes. At $5\u002Fmonth flat, even a 10-room boutique hotel can afford professional WhatsApp guest communication. The ROI from a single upgrade upsell covers months of Rapiwa fees.",{"type":426,"tag":4164,"props":38729,"children":38730},{},[38731],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":38733},[38734,38735,38744,38749,38750],{"id":36578,"depth":588,"text":36581},{"id":36631,"depth":588,"text":36634,"children":38736},[38737,38738,38739,38740,38741,38742,38743],{"id":4267,"depth":606,"text":4270},{"id":36835,"depth":606,"text":36838},{"id":37382,"depth":606,"text":37385},{"id":37414,"depth":606,"text":37417},{"id":37780,"depth":606,"text":37783},{"id":37822,"depth":606,"text":37825},{"id":37854,"depth":606,"text":37857},{"id":38299,"depth":588,"text":38302,"children":38745},[38746,38747,38748],{"id":3809,"depth":606,"text":3812},{"id":38319,"depth":606,"text":38322},{"id":38348,"depth":606,"text":38351},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-hotels-guest-communication.md","blog\u002Fwhatsapp-api-hotels-guest-communication.md","blog\u002Fwhatsapp-api-hotels-guest-communication",{"loc":49},{"_path":53,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":54,"description":55,"date":38756,"author":419,"category":8,"_slug":38757,"image":38758,"body":38759,"_type":4187,"_id":41211,"_source":4189,"_file":41212,"_stem":41213,"_extension":4192,"sitemap":41214},"2026-03-18","whatsapp-api-saas-onboarding-alerts-churn","\u002Fimages\u002Fblog\u002Fwhatsapp-api-saas-onboarding-alerts-churn.svg",{"type":423,"children":38760,"toc":41193},[38761,38766,38772,38784,38825,38831,38837,38846,38855,39729,39735,39744,39753,39761,39769,39950,39956,39965,39974,39982,39988,39997,40006,40643,40649,40658,40667,40675,40681,40690,40699,40707,40713,40717,40727,40733,40738,40744,41089,41093,41135,41139,41149,41159,41169,41179,41189],{"type":426,"tag":427,"props":38762,"children":38763},{},[38764],{"type":431,"value":38765},"WhatsApp API for SaaS lets software companies automatically send onboarding guides, feature adoption nudges, usage alerts, and churn prevention messages to users via WhatsApp. Using Rapiwa API ($5\u002Fmonth, no per-message fees), SaaS companies achieve 2–3x higher onboarding completion rates and reduce churn by proactively engaging at-risk users before they cancel.",{"type":426,"tag":434,"props":38767,"children":38769},{"id":38768},"why-saas-companies-need-whatsapp-in-their-stack",[38770],{"type":431,"value":38771},"Why SaaS Companies Need WhatsApp in Their Stack",{"type":426,"tag":427,"props":38773,"children":38774},{},[38775,38777,38782],{"type":431,"value":38776},"SaaS email sequences have a ",{"type":426,"tag":446,"props":38778,"children":38779},{},[38780],{"type":431,"value":38781},"brutal reality",{"type":431,"value":38783},": 15–25% open rates, declining over time. Users who don't engage in the first 7 days rarely become paying customers. WhatsApp changes this equation:",{"type":426,"tag":454,"props":38785,"children":38786},{},[38787,38796,38806,38816],{"type":426,"tag":458,"props":38788,"children":38789},{},[38790,38794],{"type":426,"tag":446,"props":38791,"children":38792},{},[38793],{"type":431,"value":465},{"type":431,"value":38795}," — onboarding messages get read",{"type":426,"tag":458,"props":38797,"children":38798},{},[38799,38804],{"type":426,"tag":446,"props":38800,"children":38801},{},[38802],{"type":431,"value":38803},"Conversational feel",{"type":431,"value":38805}," — users can ask questions and get answers",{"type":426,"tag":458,"props":38807,"children":38808},{},[38809,38814],{"type":426,"tag":446,"props":38810,"children":38811},{},[38812],{"type":431,"value":38813},"Reaches users outside the product",{"type":431,"value":38815}," — even when they haven't logged in",{"type":426,"tag":458,"props":38817,"children":38818},{},[38819,38823],{"type":426,"tag":446,"props":38820,"children":38821},{},[38822],{"type":431,"value":505},{"type":431,"value":38824},": $5\u002Fmonth (Rapiwa) vs $200–$500\u002Fmonth for tools like Intercom or Drip",{"type":426,"tag":434,"props":38826,"children":38828},{"id":38827},"top-6-whatsapp-automation-use-cases-for-saas",[38829],{"type":431,"value":38830},"Top 6 WhatsApp Automation Use Cases for SaaS",{"type":426,"tag":515,"props":38832,"children":38834},{"id":38833},"_1-trial-user-onboarding-sequence",[38835],{"type":431,"value":38836},"1. Trial User Onboarding Sequence",{"type":426,"tag":427,"props":38838,"children":38839},{},[38840,38844],{"type":426,"tag":446,"props":38841,"children":38842},{},[38843],{"type":431,"value":528},{"type":431,"value":38845},": 60–80% of SaaS trial users never complete onboarding, so they never see the product's value.",{"type":426,"tag":427,"props":38847,"children":38848},{},[38849,38853],{"type":426,"tag":446,"props":38850,"children":38851},{},[38852],{"type":431,"value":538},{"type":431,"value":38854},": WhatsApp onboarding messages at Day 1, Day 3, and Day 7 of the trial.",{"type":426,"tag":542,"props":38856,"children":38858},{"code":38857,"language":784,"meta":417,"className":785,"style":417},"import requests\nfrom datetime import datetime, timedelta\n\nRAPIWA_API_KEY = 'YOUR_API_KEY'\n\nONBOARDING_MESSAGES = {\n    1: {\n        'message': (\n            \"Welcome to Rapiwa, {name}! 🎉\\n\\n\"\n            \"You've just unlocked the cheapest WhatsApp API — $5\u002Fmonth with no per-message fees.\\n\\n\"\n            \"Your first step: connect your WhatsApp number (takes 2 minutes)\\n\"\n            \"→ https:\u002F\u002Fapp.rapiwa.com\u002Fdevices\\n\\n\"\n            \"Any questions? Just reply here!\"\n        )\n    },\n    3: {\n        'message': (\n            \"Hi {name}! 🚀 Day 3 of your Rapiwa trial.\\n\\n\"\n            \"Have you sent your first WhatsApp message via API yet?\\n\\n\"\n            \"Here's a quick cURL command to try:\\n\"\n            \"```\\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\\\\n\"\n            \"  -H 'Authorization: Bearer YOUR_KEY' \\\\\\n\"\n            \"  -d '{{\\\"number\\\":\\\"YOUR_PHONE\\\",\\\"message\\\":\\\"Hello from API!\\\"}}'\\n```\\n\\n\"\n            \"Reply TEST and I'll walk you through it! 💪\"\n        )\n    },\n    7: {\n        'message': (\n            \"Hi {name}! Your 7-day Rapiwa trial ends in 3 days.\\n\\n\"\n            \"👋 Rapiwa: $5\u002Fmonth, unlimited messages, no per-message fees.\\n\\n\"\n            \"Compare that to alternatives:\\n\"\n            \"• Twilio WhatsApp: $0.005–$0.10\u002Fmessage (expensive!)\\n\"\n            \"• WasenderAPI: $6\u002Fmonth\\n\\n\"\n            \"Upgrade now: https:\u002F\u002Fapp.rapiwa.com\u002Fupgrade\\n\\n\"\n            \"Any questions before deciding? Just reply!\"\n        )\n    }\n}\n\ndef send_onboarding_message(user: dict, day: int) -> dict:\n    \"\"\"Send a day-specific onboarding WhatsApp message.\"\"\"\n    template = ONBOARDING_MESSAGES.get(day)\n    if not template:\n        return {}\n    \n    message = template['message'].format(name=user['first_name'])\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': user['phone'], 'message': message}\n    ).json()\n",[38859],{"type":426,"tag":549,"props":38860,"children":38861},{"__ignoreMap":417},[38862,38873,38892,38899,38914,38921,38937,38949,38961,38986,39002,39018,39034,39042,39049,39056,39068,39079,39104,39120,39136,39162,39178,39273,39281,39288,39295,39307,39318,39342,39358,39374,39390,39406,39422,39430,39437,39444,39451,39458,39500,39508,39530,39545,39556,39563,39610,39617,39628,39639,39682,39722],{"type":426,"tag":553,"props":38863,"children":38864},{"class":555,"line":556},[38865,38869],{"type":426,"tag":553,"props":38866,"children":38867},{"style":795},[38868],{"type":431,"value":798},{"type":426,"tag":553,"props":38870,"children":38871},{"style":684},[38872],{"type":431,"value":803},{"type":426,"tag":553,"props":38874,"children":38875},{"class":555,"line":588},[38876,38880,38884,38888],{"type":426,"tag":553,"props":38877,"children":38878},{"style":795},[38879],{"type":431,"value":811},{"type":426,"tag":553,"props":38881,"children":38882},{"style":684},[38883],{"type":431,"value":816},{"type":426,"tag":553,"props":38885,"children":38886},{"style":795},[38887],{"type":431,"value":798},{"type":426,"tag":553,"props":38889,"children":38890},{"style":684},[38891],{"type":431,"value":6409},{"type":426,"tag":553,"props":38893,"children":38894},{"class":555,"line":606},[38895],{"type":426,"tag":553,"props":38896,"children":38897},{"emptyLinePlaceholder":831},[38898],{"type":431,"value":834},{"type":426,"tag":553,"props":38900,"children":38901},{"class":555,"line":623},[38902,38906,38910],{"type":426,"tag":553,"props":38903,"children":38904},{"style":566},[38905],{"type":431,"value":7156},{"type":426,"tag":553,"props":38907,"children":38908},{"style":795},[38909],{"type":431,"value":8739},{"type":426,"tag":553,"props":38911,"children":38912},{"style":572},[38913],{"type":431,"value":23292},{"type":426,"tag":553,"props":38915,"children":38916},{"class":555,"line":637},[38917],{"type":426,"tag":553,"props":38918,"children":38919},{"emptyLinePlaceholder":831},[38920],{"type":431,"value":834},{"type":426,"tag":553,"props":38922,"children":38923},{"class":555,"line":646},[38924,38929,38933],{"type":426,"tag":553,"props":38925,"children":38926},{"style":566},[38927],{"type":431,"value":38928},"ONBOARDING_MESSAGES",{"type":426,"tag":553,"props":38930,"children":38931},{"style":795},[38932],{"type":431,"value":8739},{"type":426,"tag":553,"props":38934,"children":38935},{"style":684},[38936],{"type":431,"value":5458},{"type":426,"tag":553,"props":38938,"children":38939},{"class":555,"line":655},[38940,38945],{"type":426,"tag":553,"props":38941,"children":38942},{"style":566},[38943],{"type":431,"value":38944},"    1",{"type":426,"tag":553,"props":38946,"children":38947},{"style":684},[38948],{"type":431,"value":17102},{"type":426,"tag":553,"props":38950,"children":38951},{"class":555,"line":1036},[38952,38957],{"type":426,"tag":553,"props":38953,"children":38954},{"style":572},[38955],{"type":431,"value":38956},"        'message'",{"type":426,"tag":553,"props":38958,"children":38959},{"style":684},[38960],{"type":431,"value":19385},{"type":426,"tag":553,"props":38962,"children":38963},{"class":555,"line":1054},[38964,38969,38973,38978,38982],{"type":426,"tag":553,"props":38965,"children":38966},{"style":572},[38967],{"type":431,"value":38968},"            \"Welcome to Rapiwa, ",{"type":426,"tag":553,"props":38970,"children":38971},{"style":566},[38972],{"type":431,"value":34991},{"type":426,"tag":553,"props":38974,"children":38975},{"style":572},[38976],{"type":431,"value":38977},"! 🎉",{"type":426,"tag":553,"props":38979,"children":38980},{"style":566},[38981],{"type":431,"value":1295},{"type":426,"tag":553,"props":38983,"children":38984},{"style":572},[38985],{"type":431,"value":1250},{"type":426,"tag":553,"props":38987,"children":38988},{"class":555,"line":1080},[38989,38994,38998],{"type":426,"tag":553,"props":38990,"children":38991},{"style":572},[38992],{"type":431,"value":38993},"            \"You've just unlocked the cheapest WhatsApp API — $5\u002Fmonth with no per-message fees.",{"type":426,"tag":553,"props":38995,"children":38996},{"style":566},[38997],{"type":431,"value":1295},{"type":426,"tag":553,"props":38999,"children":39000},{"style":572},[39001],{"type":431,"value":1250},{"type":426,"tag":553,"props":39003,"children":39004},{"class":555,"line":1097},[39005,39010,39014],{"type":426,"tag":553,"props":39006,"children":39007},{"style":572},[39008],{"type":431,"value":39009},"            \"Your first step: connect your WhatsApp number (takes 2 minutes)",{"type":426,"tag":553,"props":39011,"children":39012},{"style":566},[39013],{"type":431,"value":3661},{"type":426,"tag":553,"props":39015,"children":39016},{"style":572},[39017],{"type":431,"value":1250},{"type":426,"tag":553,"props":39019,"children":39020},{"class":555,"line":1114},[39021,39026,39030],{"type":426,"tag":553,"props":39022,"children":39023},{"style":572},[39024],{"type":431,"value":39025},"            \"→ https:\u002F\u002Fapp.rapiwa.com\u002Fdevices",{"type":426,"tag":553,"props":39027,"children":39028},{"style":566},[39029],{"type":431,"value":1295},{"type":426,"tag":553,"props":39031,"children":39032},{"style":572},[39033],{"type":431,"value":1250},{"type":426,"tag":553,"props":39035,"children":39036},{"class":555,"line":1127},[39037],{"type":426,"tag":553,"props":39038,"children":39039},{"style":572},[39040],{"type":431,"value":39041},"            \"Any questions? Just reply here!\"\n",{"type":426,"tag":553,"props":39043,"children":39044},{"class":555,"line":1167},[39045],{"type":426,"tag":553,"props":39046,"children":39047},{"style":684},[39048],{"type":431,"value":6037},{"type":426,"tag":553,"props":39050,"children":39051},{"class":555,"line":1184},[39052],{"type":426,"tag":553,"props":39053,"children":39054},{"style":684},[39055],{"type":431,"value":17203},{"type":426,"tag":553,"props":39057,"children":39058},{"class":555,"line":1192},[39059,39064],{"type":426,"tag":553,"props":39060,"children":39061},{"style":566},[39062],{"type":431,"value":39063},"    3",{"type":426,"tag":553,"props":39065,"children":39066},{"style":684},[39067],{"type":431,"value":17102},{"type":426,"tag":553,"props":39069,"children":39070},{"class":555,"line":1210},[39071,39075],{"type":426,"tag":553,"props":39072,"children":39073},{"style":572},[39074],{"type":431,"value":38956},{"type":426,"tag":553,"props":39076,"children":39077},{"style":684},[39078],{"type":431,"value":19385},{"type":426,"tag":553,"props":39080,"children":39081},{"class":555,"line":1253},[39082,39087,39091,39096,39100],{"type":426,"tag":553,"props":39083,"children":39084},{"style":572},[39085],{"type":431,"value":39086},"            \"Hi ",{"type":426,"tag":553,"props":39088,"children":39089},{"style":566},[39090],{"type":431,"value":34991},{"type":426,"tag":553,"props":39092,"children":39093},{"style":572},[39094],{"type":431,"value":39095},"! 🚀 Day 3 of your Rapiwa trial.",{"type":426,"tag":553,"props":39097,"children":39098},{"style":566},[39099],{"type":431,"value":1295},{"type":426,"tag":553,"props":39101,"children":39102},{"style":572},[39103],{"type":431,"value":1250},{"type":426,"tag":553,"props":39105,"children":39106},{"class":555,"line":1302},[39107,39112,39116],{"type":426,"tag":553,"props":39108,"children":39109},{"style":572},[39110],{"type":431,"value":39111},"            \"Have you sent your first WhatsApp message via API yet?",{"type":426,"tag":553,"props":39113,"children":39114},{"style":566},[39115],{"type":431,"value":1295},{"type":426,"tag":553,"props":39117,"children":39118},{"style":572},[39119],{"type":431,"value":1250},{"type":426,"tag":553,"props":39121,"children":39122},{"class":555,"line":1374},[39123,39128,39132],{"type":426,"tag":553,"props":39124,"children":39125},{"style":572},[39126],{"type":431,"value":39127},"            \"Here's a quick cURL command to try:",{"type":426,"tag":553,"props":39129,"children":39130},{"style":566},[39131],{"type":431,"value":3661},{"type":426,"tag":553,"props":39133,"children":39134},{"style":572},[39135],{"type":431,"value":1250},{"type":426,"tag":553,"props":39137,"children":39138},{"class":555,"line":1414},[39139,39144,39148,39153,39158],{"type":426,"tag":553,"props":39140,"children":39141},{"style":572},[39142],{"type":431,"value":39143},"            \"```",{"type":426,"tag":553,"props":39145,"children":39146},{"style":566},[39147],{"type":431,"value":3661},{"type":426,"tag":553,"props":39149,"children":39150},{"style":572},[39151],{"type":431,"value":39152},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message ",{"type":426,"tag":553,"props":39154,"children":39155},{"style":566},[39156],{"type":431,"value":39157},"\\\\\\n",{"type":426,"tag":553,"props":39159,"children":39160},{"style":572},[39161],{"type":431,"value":1250},{"type":426,"tag":553,"props":39163,"children":39164},{"class":555,"line":1479},[39165,39170,39174],{"type":426,"tag":553,"props":39166,"children":39167},{"style":572},[39168],{"type":431,"value":39169},"            \"  -H 'Authorization: Bearer YOUR_KEY' ",{"type":426,"tag":553,"props":39171,"children":39172},{"style":566},[39173],{"type":431,"value":39157},{"type":426,"tag":553,"props":39175,"children":39176},{"style":572},[39177],{"type":431,"value":1250},{"type":426,"tag":553,"props":39179,"children":39180},{"class":555,"line":1517},[39181,39186,39191,39196,39201,39205,39209,39214,39218,39222,39226,39230,39234,39238,39242,39247,39252,39256,39260,39265,39269],{"type":426,"tag":553,"props":39182,"children":39183},{"style":572},[39184],{"type":431,"value":39185},"            \"  -d '",{"type":426,"tag":553,"props":39187,"children":39188},{"style":566},[39189],{"type":431,"value":39190},"{{\\\"",{"type":426,"tag":553,"props":39192,"children":39193},{"style":572},[39194],{"type":431,"value":39195},"number",{"type":426,"tag":553,"props":39197,"children":39198},{"style":566},[39199],{"type":431,"value":39200},"\\\"",{"type":426,"tag":553,"props":39202,"children":39203},{"style":572},[39204],{"type":431,"value":19071},{"type":426,"tag":553,"props":39206,"children":39207},{"style":566},[39208],{"type":431,"value":39200},{"type":426,"tag":553,"props":39210,"children":39211},{"style":572},[39212],{"type":431,"value":39213},"YOUR_PHONE",{"type":426,"tag":553,"props":39215,"children":39216},{"style":566},[39217],{"type":431,"value":39200},{"type":426,"tag":553,"props":39219,"children":39220},{"style":572},[39221],{"type":431,"value":1290},{"type":426,"tag":553,"props":39223,"children":39224},{"style":566},[39225],{"type":431,"value":39200},{"type":426,"tag":553,"props":39227,"children":39228},{"style":572},[39229],{"type":431,"value":2734},{"type":426,"tag":553,"props":39231,"children":39232},{"style":566},[39233],{"type":431,"value":39200},{"type":426,"tag":553,"props":39235,"children":39236},{"style":572},[39237],{"type":431,"value":19071},{"type":426,"tag":553,"props":39239,"children":39240},{"style":566},[39241],{"type":431,"value":39200},{"type":426,"tag":553,"props":39243,"children":39244},{"style":572},[39245],{"type":431,"value":39246},"Hello from API!",{"type":426,"tag":553,"props":39248,"children":39249},{"style":566},[39250],{"type":431,"value":39251},"\\\"}}",{"type":426,"tag":553,"props":39253,"children":39254},{"style":572},[39255],{"type":431,"value":1732},{"type":426,"tag":553,"props":39257,"children":39258},{"style":566},[39259],{"type":431,"value":3661},{"type":426,"tag":553,"props":39261,"children":39262},{"style":572},[39263],{"type":431,"value":39264},"```",{"type":426,"tag":553,"props":39266,"children":39267},{"style":566},[39268],{"type":431,"value":1295},{"type":426,"tag":553,"props":39270,"children":39271},{"style":572},[39272],{"type":431,"value":1250},{"type":426,"tag":553,"props":39274,"children":39275},{"class":555,"line":1560},[39276],{"type":426,"tag":553,"props":39277,"children":39278},{"style":572},[39279],{"type":431,"value":39280},"            \"Reply TEST and I'll walk you through it! 💪\"\n",{"type":426,"tag":553,"props":39282,"children":39283},{"class":555,"line":1598},[39284],{"type":426,"tag":553,"props":39285,"children":39286},{"style":684},[39287],{"type":431,"value":6037},{"type":426,"tag":553,"props":39289,"children":39290},{"class":555,"line":1636},[39291],{"type":426,"tag":553,"props":39292,"children":39293},{"style":684},[39294],{"type":431,"value":17203},{"type":426,"tag":553,"props":39296,"children":39297},{"class":555,"line":1645},[39298,39303],{"type":426,"tag":553,"props":39299,"children":39300},{"style":566},[39301],{"type":431,"value":39302},"    7",{"type":426,"tag":553,"props":39304,"children":39305},{"style":684},[39306],{"type":431,"value":17102},{"type":426,"tag":553,"props":39308,"children":39309},{"class":555,"line":1653},[39310,39314],{"type":426,"tag":553,"props":39311,"children":39312},{"style":572},[39313],{"type":431,"value":38956},{"type":426,"tag":553,"props":39315,"children":39316},{"style":684},[39317],{"type":431,"value":19385},{"type":426,"tag":553,"props":39319,"children":39320},{"class":555,"line":1667},[39321,39325,39329,39334,39338],{"type":426,"tag":553,"props":39322,"children":39323},{"style":572},[39324],{"type":431,"value":39086},{"type":426,"tag":553,"props":39326,"children":39327},{"style":566},[39328],{"type":431,"value":34991},{"type":426,"tag":553,"props":39330,"children":39331},{"style":572},[39332],{"type":431,"value":39333},"! Your 7-day Rapiwa trial ends in 3 days.",{"type":426,"tag":553,"props":39335,"children":39336},{"style":566},[39337],{"type":431,"value":1295},{"type":426,"tag":553,"props":39339,"children":39340},{"style":572},[39341],{"type":431,"value":1250},{"type":426,"tag":553,"props":39343,"children":39344},{"class":555,"line":1680},[39345,39350,39354],{"type":426,"tag":553,"props":39346,"children":39347},{"style":572},[39348],{"type":431,"value":39349},"            \"👋 Rapiwa: $5\u002Fmonth, unlimited messages, no per-message fees.",{"type":426,"tag":553,"props":39351,"children":39352},{"style":566},[39353],{"type":431,"value":1295},{"type":426,"tag":553,"props":39355,"children":39356},{"style":572},[39357],{"type":431,"value":1250},{"type":426,"tag":553,"props":39359,"children":39360},{"class":555,"line":1740},[39361,39366,39370],{"type":426,"tag":553,"props":39362,"children":39363},{"style":572},[39364],{"type":431,"value":39365},"            \"Compare that to alternatives:",{"type":426,"tag":553,"props":39367,"children":39368},{"style":566},[39369],{"type":431,"value":3661},{"type":426,"tag":553,"props":39371,"children":39372},{"style":572},[39373],{"type":431,"value":1250},{"type":426,"tag":553,"props":39375,"children":39376},{"class":555,"line":1787},[39377,39382,39386],{"type":426,"tag":553,"props":39378,"children":39379},{"style":572},[39380],{"type":431,"value":39381},"            \"• Twilio WhatsApp: $0.005–$0.10\u002Fmessage (expensive!)",{"type":426,"tag":553,"props":39383,"children":39384},{"style":566},[39385],{"type":431,"value":3661},{"type":426,"tag":553,"props":39387,"children":39388},{"style":572},[39389],{"type":431,"value":1250},{"type":426,"tag":553,"props":39391,"children":39392},{"class":555,"line":1796},[39393,39398,39402],{"type":426,"tag":553,"props":39394,"children":39395},{"style":572},[39396],{"type":431,"value":39397},"            \"• WasenderAPI: $6\u002Fmonth",{"type":426,"tag":553,"props":39399,"children":39400},{"style":566},[39401],{"type":431,"value":1295},{"type":426,"tag":553,"props":39403,"children":39404},{"style":572},[39405],{"type":431,"value":1250},{"type":426,"tag":553,"props":39407,"children":39408},{"class":555,"line":1804},[39409,39414,39418],{"type":426,"tag":553,"props":39410,"children":39411},{"style":572},[39412],{"type":431,"value":39413},"            \"Upgrade now: https:\u002F\u002Fapp.rapiwa.com\u002Fupgrade",{"type":426,"tag":553,"props":39415,"children":39416},{"style":566},[39417],{"type":431,"value":1295},{"type":426,"tag":553,"props":39419,"children":39420},{"style":572},[39421],{"type":431,"value":1250},{"type":426,"tag":553,"props":39423,"children":39424},{"class":555,"line":1812},[39425],{"type":426,"tag":553,"props":39426,"children":39427},{"style":572},[39428],{"type":431,"value":39429},"            \"Any questions before deciding? Just reply!\"\n",{"type":426,"tag":553,"props":39431,"children":39432},{"class":555,"line":1847},[39433],{"type":426,"tag":553,"props":39434,"children":39435},{"style":684},[39436],{"type":431,"value":6037},{"type":426,"tag":553,"props":39438,"children":39439},{"class":555,"line":1856},[39440],{"type":426,"tag":553,"props":39441,"children":39442},{"style":684},[39443],{"type":431,"value":5546},{"type":426,"tag":553,"props":39445,"children":39446},{"class":555,"line":1874},[39447],{"type":426,"tag":553,"props":39448,"children":39449},{"style":684},[39450],{"type":431,"value":756},{"type":426,"tag":553,"props":39452,"children":39453},{"class":555,"line":1882},[39454],{"type":426,"tag":553,"props":39455,"children":39456},{"emptyLinePlaceholder":831},[39457],{"type":431,"value":834},{"type":426,"tag":553,"props":39459,"children":39460},{"class":555,"line":1981},[39461,39465,39470,39475,39479,39484,39488,39492,39496],{"type":426,"tag":553,"props":39462,"children":39463},{"style":795},[39464],{"type":431,"value":842},{"type":426,"tag":553,"props":39466,"children":39467},{"style":560},[39468],{"type":431,"value":39469}," send_onboarding_message",{"type":426,"tag":553,"props":39471,"children":39472},{"style":684},[39473],{"type":431,"value":39474},"(user: ",{"type":426,"tag":553,"props":39476,"children":39477},{"style":566},[39478],{"type":431,"value":857},{"type":426,"tag":553,"props":39480,"children":39481},{"style":684},[39482],{"type":431,"value":39483},", day: ",{"type":426,"tag":553,"props":39485,"children":39486},{"style":566},[39487],{"type":431,"value":885},{"type":426,"tag":553,"props":39489,"children":39490},{"style":684},[39491],{"type":431,"value":900},{"type":426,"tag":553,"props":39493,"children":39494},{"style":566},[39495],{"type":431,"value":857},{"type":426,"tag":553,"props":39497,"children":39498},{"style":684},[39499],{"type":431,"value":909},{"type":426,"tag":553,"props":39501,"children":39502},{"class":555,"line":1989},[39503],{"type":426,"tag":553,"props":39504,"children":39505},{"style":572},[39506],{"type":431,"value":39507},"    \"\"\"Send a day-specific onboarding WhatsApp message.\"\"\"\n",{"type":426,"tag":553,"props":39509,"children":39510},{"class":555,"line":2013},[39511,39516,39520,39525],{"type":426,"tag":553,"props":39512,"children":39513},{"style":684},[39514],{"type":431,"value":39515},"    template ",{"type":426,"tag":553,"props":39517,"children":39518},{"style":795},[39519],{"type":431,"value":957},{"type":426,"tag":553,"props":39521,"children":39522},{"style":566},[39523],{"type":431,"value":39524}," ONBOARDING_MESSAGES",{"type":426,"tag":553,"props":39526,"children":39527},{"style":684},[39528],{"type":431,"value":39529},".get(day)\n",{"type":426,"tag":553,"props":39531,"children":39532},{"class":555,"line":2055},[39533,39537,39541],{"type":426,"tag":553,"props":39534,"children":39535},{"style":795},[39536],{"type":431,"value":925},{"type":426,"tag":553,"props":39538,"children":39539},{"style":795},[39540],{"type":431,"value":12110},{"type":426,"tag":553,"props":39542,"children":39543},{"style":684},[39544],{"type":431,"value":16649},{"type":426,"tag":553,"props":39546,"children":39547},{"class":555,"line":2064},[39548,39552],{"type":426,"tag":553,"props":39549,"children":39550},{"style":795},[39551],{"type":431,"value":8378},{"type":426,"tag":553,"props":39553,"children":39554},{"style":684},[39555],{"type":431,"value":32579},{"type":426,"tag":553,"props":39557,"children":39558},{"class":555,"line":2087},[39559],{"type":426,"tag":553,"props":39560,"children":39561},{"style":684},[39562],{"type":431,"value":917},{"type":426,"tag":553,"props":39564,"children":39565},{"class":555,"line":2096},[39566,39570,39574,39579,39583,39588,39592,39596,39601,39606],{"type":426,"tag":553,"props":39567,"children":39568},{"style":684},[39569],{"type":431,"value":1198},{"type":426,"tag":553,"props":39571,"children":39572},{"style":795},[39573],{"type":431,"value":957},{"type":426,"tag":553,"props":39575,"children":39576},{"style":684},[39577],{"type":431,"value":39578}," template[",{"type":426,"tag":553,"props":39580,"children":39581},{"style":572},[39582],{"type":431,"value":1779},{"type":426,"tag":553,"props":39584,"children":39585},{"style":684},[39586],{"type":431,"value":39587},"].format(",{"type":426,"tag":553,"props":39589,"children":39590},{"style":1684},[39591],{"type":431,"value":24468},{"type":426,"tag":553,"props":39593,"children":39594},{"style":795},[39595],{"type":431,"value":957},{"type":426,"tag":553,"props":39597,"children":39598},{"style":684},[39599],{"type":431,"value":39600},"user[",{"type":426,"tag":553,"props":39602,"children":39603},{"style":572},[39604],{"type":431,"value":39605},"'first_name'",{"type":426,"tag":553,"props":39607,"children":39608},{"style":684},[39609],{"type":431,"value":8061},{"type":426,"tag":553,"props":39611,"children":39612},{"class":555,"line":2105},[39613],{"type":426,"tag":553,"props":39614,"children":39615},{"style":684},[39616],{"type":431,"value":917},{"type":426,"tag":553,"props":39618,"children":39619},{"class":555,"line":2114},[39620,39624],{"type":426,"tag":553,"props":39621,"children":39622},{"style":795},[39623],{"type":431,"value":1659},{"type":426,"tag":553,"props":39625,"children":39626},{"style":684},[39627],{"type":431,"value":1664},{"type":426,"tag":553,"props":39629,"children":39630},{"class":555,"line":2123},[39631,39635],{"type":426,"tag":553,"props":39632,"children":39633},{"style":572},[39634],{"type":431,"value":1673},{"type":426,"tag":553,"props":39636,"children":39637},{"style":684},[39638],{"type":431,"value":710},{"type":426,"tag":553,"props":39640,"children":39641},{"class":555,"line":2132},[39642,39646,39650,39654,39658,39662,39666,39670,39674,39678],{"type":426,"tag":553,"props":39643,"children":39644},{"style":1684},[39645],{"type":431,"value":1687},{"type":426,"tag":553,"props":39647,"children":39648},{"style":795},[39649],{"type":431,"value":957},{"type":426,"tag":553,"props":39651,"children":39652},{"style":684},[39653],{"type":431,"value":972},{"type":426,"tag":553,"props":39655,"children":39656},{"style":572},[39657],{"type":431,"value":1700},{"type":426,"tag":553,"props":39659,"children":39660},{"style":684},[39661],{"type":431,"value":700},{"type":426,"tag":553,"props":39663,"children":39664},{"style":795},[39665],{"type":431,"value":1709},{"type":426,"tag":553,"props":39667,"children":39668},{"style":572},[39669],{"type":431,"value":1714},{"type":426,"tag":553,"props":39671,"children":39672},{"style":566},[39673],{"type":431,"value":20835},{"type":426,"tag":553,"props":39675,"children":39676},{"style":572},[39677],{"type":431,"value":1732},{"type":426,"tag":553,"props":39679,"children":39680},{"style":684},[39681],{"type":431,"value":1737},{"type":426,"tag":553,"props":39683,"children":39684},{"class":555,"line":2151},[39685,39689,39693,39697,39701,39706,39710,39714,39718],{"type":426,"tag":553,"props":39686,"children":39687},{"style":1684},[39688],{"type":431,"value":1746},{"type":426,"tag":553,"props":39690,"children":39691},{"style":795},[39692],{"type":431,"value":957},{"type":426,"tag":553,"props":39694,"children":39695},{"style":684},[39696],{"type":431,"value":972},{"type":426,"tag":553,"props":39698,"children":39699},{"style":572},[39700],{"type":431,"value":1759},{"type":426,"tag":553,"props":39702,"children":39703},{"style":684},[39704],{"type":431,"value":39705},": user[",{"type":426,"tag":553,"props":39707,"children":39708},{"style":572},[39709],{"type":431,"value":1769},{"type":426,"tag":553,"props":39711,"children":39712},{"style":684},[39713],{"type":431,"value":1774},{"type":426,"tag":553,"props":39715,"children":39716},{"style":572},[39717],{"type":431,"value":1779},{"type":426,"tag":553,"props":39719,"children":39720},{"style":684},[39721],{"type":431,"value":1784},{"type":426,"tag":553,"props":39723,"children":39724},{"class":555,"line":2160},[39725],{"type":426,"tag":553,"props":39726,"children":39727},{"style":684},[39728],{"type":431,"value":1793},{"type":426,"tag":515,"props":39730,"children":39732},{"id":39731},"_2-feature-adoption-nudge",[39733],{"type":431,"value":39734},"2. Feature Adoption Nudge",{"type":426,"tag":427,"props":39736,"children":39737},{},[39738,39742],{"type":426,"tag":446,"props":39739,"children":39740},{},[39741],{"type":431,"value":528},{"type":431,"value":39743},": Users sign up but only use 20% of the product features — reducing perceived value and increasing churn.",{"type":426,"tag":427,"props":39745,"children":39746},{},[39747,39751],{"type":426,"tag":446,"props":39748,"children":39749},{},[39750],{"type":431,"value":538},{"type":431,"value":39752},": Trigger WhatsApp messages when a user hasn't used a key feature after X days.",{"type":426,"tag":542,"props":39754,"children":39756},{"code":39755},"\"Hi Sarah! 💡 Did you know about Rapiwa's webhook feature?\n\nYou've been sending messages manually — but you can automate everything!\n\n➡️ Connect your app to Rapiwa webhooks and receive incoming messages automatically:\nhttps:\u002F\u002Fapp.rapiwa.com\u002Fdocs\u002Fwebhooks\n\nTakes 10 minutes to set up. Reply HELP if you'd like a walkthrough!\"\n",[39757],{"type":426,"tag":549,"props":39758,"children":39759},{"__ignoreMap":417},[39760],{"type":431,"value":39755},{"type":426,"tag":427,"props":39762,"children":39763},{},[39764],{"type":426,"tag":446,"props":39765,"children":39766},{},[39767],{"type":431,"value":39768},"Implementation:",{"type":426,"tag":542,"props":39770,"children":39772},{"code":39771,"language":784,"meta":417,"className":785,"style":417},"def check_feature_adoption(user_id: str, feature: str, days_inactive: int, api_key: str):\n    \"\"\"Send a feature adoption nudge if user hasn't used a feature.\"\"\"\n    user = get_user(user_id)\n    last_used = get_feature_last_used(user_id, feature)\n    \n    if last_used is None or (datetime.now() - last_used).days >= days_inactive:\n        send_feature_nudge(user['phone'], user['name'], feature, api_key)\n",[39773],{"type":426,"tag":549,"props":39774,"children":39775},{"__ignoreMap":417},[39776,39827,39835,39852,39869,39876,39924],{"type":426,"tag":553,"props":39777,"children":39778},{"class":555,"line":556},[39779,39783,39788,39793,39797,39802,39806,39811,39815,39819,39823],{"type":426,"tag":553,"props":39780,"children":39781},{"style":795},[39782],{"type":431,"value":842},{"type":426,"tag":553,"props":39784,"children":39785},{"style":560},[39786],{"type":431,"value":39787}," check_feature_adoption",{"type":426,"tag":553,"props":39789,"children":39790},{"style":684},[39791],{"type":431,"value":39792},"(user_id: ",{"type":426,"tag":553,"props":39794,"children":39795},{"style":566},[39796],{"type":431,"value":895},{"type":426,"tag":553,"props":39798,"children":39799},{"style":684},[39800],{"type":431,"value":39801},", feature: ",{"type":426,"tag":553,"props":39803,"children":39804},{"style":566},[39805],{"type":431,"value":895},{"type":426,"tag":553,"props":39807,"children":39808},{"style":684},[39809],{"type":431,"value":39810},", days_inactive: ",{"type":426,"tag":553,"props":39812,"children":39813},{"style":566},[39814],{"type":431,"value":885},{"type":426,"tag":553,"props":39816,"children":39817},{"style":684},[39818],{"type":431,"value":890},{"type":426,"tag":553,"props":39820,"children":39821},{"style":566},[39822],{"type":431,"value":895},{"type":426,"tag":553,"props":39824,"children":39825},{"style":684},[39826],{"type":431,"value":8370},{"type":426,"tag":553,"props":39828,"children":39829},{"class":555,"line":588},[39830],{"type":426,"tag":553,"props":39831,"children":39832},{"style":572},[39833],{"type":431,"value":39834},"    \"\"\"Send a feature adoption nudge if user hasn't used a feature.\"\"\"\n",{"type":426,"tag":553,"props":39836,"children":39837},{"class":555,"line":606},[39838,39843,39847],{"type":426,"tag":553,"props":39839,"children":39840},{"style":684},[39841],{"type":431,"value":39842},"    user ",{"type":426,"tag":553,"props":39844,"children":39845},{"style":795},[39846],{"type":431,"value":957},{"type":426,"tag":553,"props":39848,"children":39849},{"style":684},[39850],{"type":431,"value":39851}," get_user(user_id)\n",{"type":426,"tag":553,"props":39853,"children":39854},{"class":555,"line":623},[39855,39860,39864],{"type":426,"tag":553,"props":39856,"children":39857},{"style":684},[39858],{"type":431,"value":39859},"    last_used ",{"type":426,"tag":553,"props":39861,"children":39862},{"style":795},[39863],{"type":431,"value":957},{"type":426,"tag":553,"props":39865,"children":39866},{"style":684},[39867],{"type":431,"value":39868}," get_feature_last_used(user_id, feature)\n",{"type":426,"tag":553,"props":39870,"children":39871},{"class":555,"line":637},[39872],{"type":426,"tag":553,"props":39873,"children":39874},{"style":684},[39875],{"type":431,"value":917},{"type":426,"tag":553,"props":39877,"children":39878},{"class":555,"line":646},[39879,39883,39888,39892,39897,39901,39906,39910,39915,39919],{"type":426,"tag":553,"props":39880,"children":39881},{"style":795},[39882],{"type":431,"value":925},{"type":426,"tag":553,"props":39884,"children":39885},{"style":684},[39886],{"type":431,"value":39887}," last_used ",{"type":426,"tag":553,"props":39889,"children":39890},{"style":795},[39891],{"type":431,"value":16744},{"type":426,"tag":553,"props":39893,"children":39894},{"style":566},[39895],{"type":431,"value":39896}," None",{"type":426,"tag":553,"props":39898,"children":39899},{"style":795},[39900],{"type":431,"value":20490},{"type":426,"tag":553,"props":39902,"children":39903},{"style":684},[39904],{"type":431,"value":39905}," (datetime.now() ",{"type":426,"tag":553,"props":39907,"children":39908},{"style":795},[39909],{"type":431,"value":1939},{"type":426,"tag":553,"props":39911,"children":39912},{"style":684},[39913],{"type":431,"value":39914}," last_used).days ",{"type":426,"tag":553,"props":39916,"children":39917},{"style":795},[39918],{"type":431,"value":9126},{"type":426,"tag":553,"props":39920,"children":39921},{"style":684},[39922],{"type":431,"value":39923}," days_inactive:\n",{"type":426,"tag":553,"props":39925,"children":39926},{"class":555,"line":655},[39927,39932,39936,39941,39945],{"type":426,"tag":553,"props":39928,"children":39929},{"style":684},[39930],{"type":431,"value":39931},"        send_feature_nudge(user[",{"type":426,"tag":553,"props":39933,"children":39934},{"style":572},[39935],{"type":431,"value":1769},{"type":426,"tag":553,"props":39937,"children":39938},{"style":684},[39939],{"type":431,"value":39940},"], user[",{"type":426,"tag":553,"props":39942,"children":39943},{"style":572},[39944],{"type":431,"value":1277},{"type":426,"tag":553,"props":39946,"children":39947},{"style":684},[39948],{"type":431,"value":39949},"], feature, api_key)\n",{"type":426,"tag":515,"props":39951,"children":39953},{"id":39952},"_3-usage-limit-warning",[39954],{"type":431,"value":39955},"3. Usage Limit Warning",{"type":426,"tag":427,"props":39957,"children":39958},{},[39959,39963],{"type":426,"tag":446,"props":39960,"children":39961},{},[39962],{"type":431,"value":528},{"type":431,"value":39964},": Users hit plan limits and churn because the upgrade experience is not proactive.",{"type":426,"tag":427,"props":39966,"children":39967},{},[39968,39972],{"type":426,"tag":446,"props":39969,"children":39970},{},[39971],{"type":431,"value":538},{"type":431,"value":39973},": WhatsApp warning at 80% and 100% of usage limits.",{"type":426,"tag":542,"props":39975,"children":39977},{"code":39976},"At 80% of message limit:\n\"Hi Sarah! ⚠️ Quick heads up — you've used 80% of your monthly message limit.\n\nCurrent plan: Starter (1,000 messages\u002Fmonth)\nUsed: 800 | Remaining: 200\n\nTo avoid interruption, consider upgrading:\n→ Professional plan: 5,000 messages\u002Fmonth — $15\u002Fmonth\nhttps:\u002F\u002Fapp.rapiwa.com\u002Fupgrade\n\nNeed help choosing? Just reply!\"\n\nAt 100% (limit reached):\n\"Hi Sarah! 🚫 You've hit your monthly message limit.\n\nYour WhatsApp messages are temporarily paused.\n\nUpgrade now to continue instantly:\n→ https:\u002F\u002Fapp.rapiwa.com\u002Fupgrade\n\nNo data lost — messages resume immediately after upgrade.\"\n",[39978],{"type":426,"tag":549,"props":39979,"children":39980},{"__ignoreMap":417},[39981],{"type":431,"value":39976},{"type":426,"tag":515,"props":39983,"children":39985},{"id":39984},"_4-churn-risk-detection-intervention",[39986],{"type":431,"value":39987},"4. Churn Risk Detection + Intervention",{"type":426,"tag":427,"props":39989,"children":39990},{},[39991,39995],{"type":426,"tag":446,"props":39992,"children":39993},{},[39994],{"type":431,"value":528},{"type":431,"value":39996},": Users go quiet (low login frequency) — silent churn is coming.",{"type":426,"tag":427,"props":39998,"children":39999},{},[40000,40004],{"type":426,"tag":446,"props":40001,"children":40002},{},[40003],{"type":431,"value":538},{"type":431,"value":40005},": Detect at-risk users and send a WhatsApp check-in.",{"type":426,"tag":542,"props":40007,"children":40009},{"code":40008,"language":784,"meta":417,"className":785,"style":417},"def identify_at_risk_users(db) -> list:\n    \"\"\"Find users who haven't logged in for 7+ days on a paid plan.\"\"\"\n    return db.query(\"\"\"\n        SELECT user_id, phone, name, plan, last_login_at\n        FROM users\n        WHERE plan != 'free'\n          AND last_login_at \u003C NOW() - INTERVAL '7 days'\n          AND churned = FALSE\n          AND churn_intervention_sent = FALSE\n    \"\"\")\n\ndef send_churn_intervention(user: dict, api_key: str) -> dict:\n    days_inactive = (datetime.now() - user['last_login_at']).days\n    \n    message = (\n        f\"Hi {user['name']}! 👋 We miss you!\\n\\n\"\n        f\"You haven't logged in to Rapiwa for {days_inactive} days.\\n\\n\"\n        f\"Is everything okay? Is there anything we can help with?\\n\\n\"\n        f\"• Having trouble with the API?\\n\"\n        f\"• Need help with a specific integration?\\n\"\n        f\"• Or just really busy? 😄\\n\\n\"\n        f\"Just reply and I'll personally help you get the most out of Rapiwa.\"\n    )\n    \n    result = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': user['phone'], 'message': message}\n    ).json()\n    \n    if result.get('status') == 'success':\n        db.execute(\n            \"UPDATE users SET churn_intervention_sent = TRUE WHERE user_id = %s\",\n            [user['user_id']]\n        )\n    \n    return result\n",[40010],{"type":426,"tag":549,"props":40011,"children":40012},{"__ignoreMap":417},[40013,40038,40046,40061,40069,40077,40085,40093,40101,40109,40120,40127,40167,40202,40209,40224,40268,40306,40326,40346,40366,40386,40398,40405,40412,40427,40438,40489,40528,40535,40542,40573,40581,40601,40618,40625,40632],{"type":426,"tag":553,"props":40014,"children":40015},{"class":555,"line":556},[40016,40020,40025,40030,40034],{"type":426,"tag":553,"props":40017,"children":40018},{"style":795},[40019],{"type":431,"value":842},{"type":426,"tag":553,"props":40021,"children":40022},{"style":560},[40023],{"type":431,"value":40024}," identify_at_risk_users",{"type":426,"tag":553,"props":40026,"children":40027},{"style":684},[40028],{"type":431,"value":40029},"(db) -> ",{"type":426,"tag":553,"props":40031,"children":40032},{"style":566},[40033],{"type":431,"value":2645},{"type":426,"tag":553,"props":40035,"children":40036},{"style":684},[40037],{"type":431,"value":909},{"type":426,"tag":553,"props":40039,"children":40040},{"class":555,"line":588},[40041],{"type":426,"tag":553,"props":40042,"children":40043},{"style":572},[40044],{"type":431,"value":40045},"    \"\"\"Find users who haven't logged in for 7+ days on a paid plan.\"\"\"\n",{"type":426,"tag":553,"props":40047,"children":40048},{"class":555,"line":606},[40049,40053,40057],{"type":426,"tag":553,"props":40050,"children":40051},{"style":795},[40052],{"type":431,"value":1659},{"type":426,"tag":553,"props":40054,"children":40055},{"style":684},[40056],{"type":431,"value":2079},{"type":426,"tag":553,"props":40058,"children":40059},{"style":572},[40060],{"type":431,"value":2084},{"type":426,"tag":553,"props":40062,"children":40063},{"class":555,"line":623},[40064],{"type":426,"tag":553,"props":40065,"children":40066},{"style":572},[40067],{"type":431,"value":40068},"        SELECT user_id, phone, name, plan, last_login_at\n",{"type":426,"tag":553,"props":40070,"children":40071},{"class":555,"line":637},[40072],{"type":426,"tag":553,"props":40073,"children":40074},{"style":572},[40075],{"type":431,"value":40076},"        FROM users\n",{"type":426,"tag":553,"props":40078,"children":40079},{"class":555,"line":646},[40080],{"type":426,"tag":553,"props":40081,"children":40082},{"style":572},[40083],{"type":431,"value":40084},"        WHERE plan != 'free'\n",{"type":426,"tag":553,"props":40086,"children":40087},{"class":555,"line":655},[40088],{"type":426,"tag":553,"props":40089,"children":40090},{"style":572},[40091],{"type":431,"value":40092},"          AND last_login_at \u003C NOW() - INTERVAL '7 days'\n",{"type":426,"tag":553,"props":40094,"children":40095},{"class":555,"line":1036},[40096],{"type":426,"tag":553,"props":40097,"children":40098},{"style":572},[40099],{"type":431,"value":40100},"          AND churned = FALSE\n",{"type":426,"tag":553,"props":40102,"children":40103},{"class":555,"line":1054},[40104],{"type":426,"tag":553,"props":40105,"children":40106},{"style":572},[40107],{"type":431,"value":40108},"          AND churn_intervention_sent = FALSE\n",{"type":426,"tag":553,"props":40110,"children":40111},{"class":555,"line":1080},[40112,40116],{"type":426,"tag":553,"props":40113,"children":40114},{"style":572},[40115],{"type":431,"value":15510},{"type":426,"tag":553,"props":40117,"children":40118},{"style":684},[40119],{"type":431,"value":3262},{"type":426,"tag":553,"props":40121,"children":40122},{"class":555,"line":1097},[40123],{"type":426,"tag":553,"props":40124,"children":40125},{"emptyLinePlaceholder":831},[40126],{"type":431,"value":834},{"type":426,"tag":553,"props":40128,"children":40129},{"class":555,"line":1114},[40130,40134,40139,40143,40147,40151,40155,40159,40163],{"type":426,"tag":553,"props":40131,"children":40132},{"style":795},[40133],{"type":431,"value":842},{"type":426,"tag":553,"props":40135,"children":40136},{"style":560},[40137],{"type":431,"value":40138}," send_churn_intervention",{"type":426,"tag":553,"props":40140,"children":40141},{"style":684},[40142],{"type":431,"value":39474},{"type":426,"tag":553,"props":40144,"children":40145},{"style":566},[40146],{"type":431,"value":857},{"type":426,"tag":553,"props":40148,"children":40149},{"style":684},[40150],{"type":431,"value":890},{"type":426,"tag":553,"props":40152,"children":40153},{"style":566},[40154],{"type":431,"value":895},{"type":426,"tag":553,"props":40156,"children":40157},{"style":684},[40158],{"type":431,"value":900},{"type":426,"tag":553,"props":40160,"children":40161},{"style":566},[40162],{"type":431,"value":857},{"type":426,"tag":553,"props":40164,"children":40165},{"style":684},[40166],{"type":431,"value":909},{"type":426,"tag":553,"props":40168,"children":40169},{"class":555,"line":1127},[40170,40175,40179,40183,40187,40192,40197],{"type":426,"tag":553,"props":40171,"children":40172},{"style":684},[40173],{"type":431,"value":40174},"    days_inactive ",{"type":426,"tag":553,"props":40176,"children":40177},{"style":795},[40178],{"type":431,"value":957},{"type":426,"tag":553,"props":40180,"children":40181},{"style":684},[40182],{"type":431,"value":39905},{"type":426,"tag":553,"props":40184,"children":40185},{"style":795},[40186],{"type":431,"value":1939},{"type":426,"tag":553,"props":40188,"children":40189},{"style":684},[40190],{"type":431,"value":40191}," user[",{"type":426,"tag":553,"props":40193,"children":40194},{"style":572},[40195],{"type":431,"value":40196},"'last_login_at'",{"type":426,"tag":553,"props":40198,"children":40199},{"style":684},[40200],{"type":431,"value":40201},"]).days\n",{"type":426,"tag":553,"props":40203,"children":40204},{"class":555,"line":1167},[40205],{"type":426,"tag":553,"props":40206,"children":40207},{"style":684},[40208],{"type":431,"value":917},{"type":426,"tag":553,"props":40210,"children":40211},{"class":555,"line":1184},[40212,40216,40220],{"type":426,"tag":553,"props":40213,"children":40214},{"style":684},[40215],{"type":431,"value":1198},{"type":426,"tag":553,"props":40217,"children":40218},{"style":795},[40219],{"type":431,"value":957},{"type":426,"tag":553,"props":40221,"children":40222},{"style":684},[40223],{"type":431,"value":1207},{"type":426,"tag":553,"props":40225,"children":40226},{"class":555,"line":1192},[40227,40231,40235,40239,40243,40247,40251,40255,40260,40264],{"type":426,"tag":553,"props":40228,"children":40229},{"style":795},[40230],{"type":431,"value":1216},{"type":426,"tag":553,"props":40232,"children":40233},{"style":572},[40234],{"type":431,"value":4625},{"type":426,"tag":553,"props":40236,"children":40237},{"style":566},[40238],{"type":431,"value":972},{"type":426,"tag":553,"props":40240,"children":40241},{"style":684},[40242],{"type":431,"value":39600},{"type":426,"tag":553,"props":40244,"children":40245},{"style":572},[40246],{"type":431,"value":1277},{"type":426,"tag":553,"props":40248,"children":40249},{"style":684},[40250],{"type":431,"value":1240},{"type":426,"tag":553,"props":40252,"children":40253},{"style":566},[40254],{"type":431,"value":982},{"type":426,"tag":553,"props":40256,"children":40257},{"style":572},[40258],{"type":431,"value":40259},"! 👋 We miss you!",{"type":426,"tag":553,"props":40261,"children":40262},{"style":566},[40263],{"type":431,"value":1295},{"type":426,"tag":553,"props":40265,"children":40266},{"style":572},[40267],{"type":431,"value":1250},{"type":426,"tag":553,"props":40269,"children":40270},{"class":555,"line":1210},[40271,40275,40280,40284,40289,40293,40298,40302],{"type":426,"tag":553,"props":40272,"children":40273},{"style":795},[40274],{"type":431,"value":1216},{"type":426,"tag":553,"props":40276,"children":40277},{"style":572},[40278],{"type":431,"value":40279},"\"You haven't logged in to Rapiwa for ",{"type":426,"tag":553,"props":40281,"children":40282},{"style":566},[40283],{"type":431,"value":972},{"type":426,"tag":553,"props":40285,"children":40286},{"style":684},[40287],{"type":431,"value":40288},"days_inactive",{"type":426,"tag":553,"props":40290,"children":40291},{"style":566},[40292],{"type":431,"value":982},{"type":426,"tag":553,"props":40294,"children":40295},{"style":572},[40296],{"type":431,"value":40297}," days.",{"type":426,"tag":553,"props":40299,"children":40300},{"style":566},[40301],{"type":431,"value":1295},{"type":426,"tag":553,"props":40303,"children":40304},{"style":572},[40305],{"type":431,"value":1250},{"type":426,"tag":553,"props":40307,"children":40308},{"class":555,"line":1253},[40309,40313,40318,40322],{"type":426,"tag":553,"props":40310,"children":40311},{"style":795},[40312],{"type":431,"value":1216},{"type":426,"tag":553,"props":40314,"children":40315},{"style":572},[40316],{"type":431,"value":40317},"\"Is everything okay? Is there anything we can help with?",{"type":426,"tag":553,"props":40319,"children":40320},{"style":566},[40321],{"type":431,"value":1295},{"type":426,"tag":553,"props":40323,"children":40324},{"style":572},[40325],{"type":431,"value":1250},{"type":426,"tag":553,"props":40327,"children":40328},{"class":555,"line":1302},[40329,40333,40338,40342],{"type":426,"tag":553,"props":40330,"children":40331},{"style":795},[40332],{"type":431,"value":1216},{"type":426,"tag":553,"props":40334,"children":40335},{"style":572},[40336],{"type":431,"value":40337},"\"• Having trouble with the API?",{"type":426,"tag":553,"props":40339,"children":40340},{"style":566},[40341],{"type":431,"value":3661},{"type":426,"tag":553,"props":40343,"children":40344},{"style":572},[40345],{"type":431,"value":1250},{"type":426,"tag":553,"props":40347,"children":40348},{"class":555,"line":1374},[40349,40353,40358,40362],{"type":426,"tag":553,"props":40350,"children":40351},{"style":795},[40352],{"type":431,"value":1216},{"type":426,"tag":553,"props":40354,"children":40355},{"style":572},[40356],{"type":431,"value":40357},"\"• Need help with a specific integration?",{"type":426,"tag":553,"props":40359,"children":40360},{"style":566},[40361],{"type":431,"value":3661},{"type":426,"tag":553,"props":40363,"children":40364},{"style":572},[40365],{"type":431,"value":1250},{"type":426,"tag":553,"props":40367,"children":40368},{"class":555,"line":1414},[40369,40373,40378,40382],{"type":426,"tag":553,"props":40370,"children":40371},{"style":795},[40372],{"type":431,"value":1216},{"type":426,"tag":553,"props":40374,"children":40375},{"style":572},[40376],{"type":431,"value":40377},"\"• Or just really busy? 😄",{"type":426,"tag":553,"props":40379,"children":40380},{"style":566},[40381],{"type":431,"value":1295},{"type":426,"tag":553,"props":40383,"children":40384},{"style":572},[40385],{"type":431,"value":1250},{"type":426,"tag":553,"props":40387,"children":40388},{"class":555,"line":1479},[40389,40393],{"type":426,"tag":553,"props":40390,"children":40391},{"style":795},[40392],{"type":431,"value":1216},{"type":426,"tag":553,"props":40394,"children":40395},{"style":572},[40396],{"type":431,"value":40397},"\"Just reply and I'll personally help you get the most out of Rapiwa.\"\n",{"type":426,"tag":553,"props":40399,"children":40400},{"class":555,"line":1517},[40401],{"type":426,"tag":553,"props":40402,"children":40403},{"style":684},[40404],{"type":431,"value":1642},{"type":426,"tag":553,"props":40406,"children":40407},{"class":555,"line":1560},[40408],{"type":426,"tag":553,"props":40409,"children":40410},{"style":684},[40411],{"type":431,"value":917},{"type":426,"tag":553,"props":40413,"children":40414},{"class":555,"line":1598},[40415,40419,40423],{"type":426,"tag":553,"props":40416,"children":40417},{"style":684},[40418],{"type":431,"value":21488},{"type":426,"tag":553,"props":40420,"children":40421},{"style":795},[40422],{"type":431,"value":957},{"type":426,"tag":553,"props":40424,"children":40425},{"style":684},[40426],{"type":431,"value":1664},{"type":426,"tag":553,"props":40428,"children":40429},{"class":555,"line":1636},[40430,40434],{"type":426,"tag":553,"props":40431,"children":40432},{"style":572},[40433],{"type":431,"value":1673},{"type":426,"tag":553,"props":40435,"children":40436},{"style":684},[40437],{"type":431,"value":710},{"type":426,"tag":553,"props":40439,"children":40440},{"class":555,"line":1645},[40441,40445,40449,40453,40457,40461,40465,40469,40473,40477,40481,40485],{"type":426,"tag":553,"props":40442,"children":40443},{"style":1684},[40444],{"type":431,"value":1687},{"type":426,"tag":553,"props":40446,"children":40447},{"style":795},[40448],{"type":431,"value":957},{"type":426,"tag":553,"props":40450,"children":40451},{"style":684},[40452],{"type":431,"value":972},{"type":426,"tag":553,"props":40454,"children":40455},{"style":572},[40456],{"type":431,"value":1700},{"type":426,"tag":553,"props":40458,"children":40459},{"style":684},[40460],{"type":431,"value":700},{"type":426,"tag":553,"props":40462,"children":40463},{"style":795},[40464],{"type":431,"value":1709},{"type":426,"tag":553,"props":40466,"children":40467},{"style":572},[40468],{"type":431,"value":1714},{"type":426,"tag":553,"props":40470,"children":40471},{"style":566},[40472],{"type":431,"value":972},{"type":426,"tag":553,"props":40474,"children":40475},{"style":684},[40476],{"type":431,"value":1723},{"type":426,"tag":553,"props":40478,"children":40479},{"style":566},[40480],{"type":431,"value":982},{"type":426,"tag":553,"props":40482,"children":40483},{"style":572},[40484],{"type":431,"value":1732},{"type":426,"tag":553,"props":40486,"children":40487},{"style":684},[40488],{"type":431,"value":1737},{"type":426,"tag":553,"props":40490,"children":40491},{"class":555,"line":1653},[40492,40496,40500,40504,40508,40512,40516,40520,40524],{"type":426,"tag":553,"props":40493,"children":40494},{"style":1684},[40495],{"type":431,"value":1746},{"type":426,"tag":553,"props":40497,"children":40498},{"style":795},[40499],{"type":431,"value":957},{"type":426,"tag":553,"props":40501,"children":40502},{"style":684},[40503],{"type":431,"value":972},{"type":426,"tag":553,"props":40505,"children":40506},{"style":572},[40507],{"type":431,"value":1759},{"type":426,"tag":553,"props":40509,"children":40510},{"style":684},[40511],{"type":431,"value":39705},{"type":426,"tag":553,"props":40513,"children":40514},{"style":572},[40515],{"type":431,"value":1769},{"type":426,"tag":553,"props":40517,"children":40518},{"style":684},[40519],{"type":431,"value":1774},{"type":426,"tag":553,"props":40521,"children":40522},{"style":572},[40523],{"type":431,"value":1779},{"type":426,"tag":553,"props":40525,"children":40526},{"style":684},[40527],{"type":431,"value":1784},{"type":426,"tag":553,"props":40529,"children":40530},{"class":555,"line":1667},[40531],{"type":426,"tag":553,"props":40532,"children":40533},{"style":684},[40534],{"type":431,"value":1793},{"type":426,"tag":553,"props":40536,"children":40537},{"class":555,"line":1680},[40538],{"type":426,"tag":553,"props":40539,"children":40540},{"style":684},[40541],{"type":431,"value":917},{"type":426,"tag":553,"props":40543,"children":40544},{"class":555,"line":1740},[40545,40549,40553,40557,40561,40565,40569],{"type":426,"tag":553,"props":40546,"children":40547},{"style":795},[40548],{"type":431,"value":925},{"type":426,"tag":553,"props":40550,"children":40551},{"style":684},[40552],{"type":431,"value":2977},{"type":426,"tag":553,"props":40554,"children":40555},{"style":572},[40556],{"type":431,"value":2982},{"type":426,"tag":553,"props":40558,"children":40559},{"style":684},[40560],{"type":431,"value":2987},{"type":426,"tag":553,"props":40562,"children":40563},{"style":795},[40564],{"type":431,"value":1069},{"type":426,"tag":553,"props":40566,"children":40567},{"style":572},[40568],{"type":431,"value":2996},{"type":426,"tag":553,"props":40570,"children":40571},{"style":684},[40572],{"type":431,"value":909},{"type":426,"tag":553,"props":40574,"children":40575},{"class":555,"line":1787},[40576],{"type":426,"tag":553,"props":40577,"children":40578},{"style":684},[40579],{"type":431,"value":40580},"        db.execute(\n",{"type":426,"tag":553,"props":40582,"children":40583},{"class":555,"line":1796},[40584,40589,40593,40597],{"type":426,"tag":553,"props":40585,"children":40586},{"style":572},[40587],{"type":431,"value":40588},"            \"UPDATE users SET churn_intervention_sent = TRUE WHERE user_id = ",{"type":426,"tag":553,"props":40590,"children":40591},{"style":566},[40592],{"type":431,"value":2143},{"type":426,"tag":553,"props":40594,"children":40595},{"style":572},[40596],{"type":431,"value":1527},{"type":426,"tag":553,"props":40598,"children":40599},{"style":684},[40600],{"type":431,"value":710},{"type":426,"tag":553,"props":40602,"children":40603},{"class":555,"line":1804},[40604,40609,40614],{"type":426,"tag":553,"props":40605,"children":40606},{"style":684},[40607],{"type":431,"value":40608},"            [user[",{"type":426,"tag":553,"props":40610,"children":40611},{"style":572},[40612],{"type":431,"value":40613},"'user_id'",{"type":426,"tag":553,"props":40615,"children":40616},{"style":684},[40617],{"type":431,"value":25626},{"type":426,"tag":553,"props":40619,"children":40620},{"class":555,"line":1812},[40621],{"type":426,"tag":553,"props":40622,"children":40623},{"style":684},[40624],{"type":431,"value":6037},{"type":426,"tag":553,"props":40626,"children":40627},{"class":555,"line":1847},[40628],{"type":426,"tag":553,"props":40629,"children":40630},{"style":684},[40631],{"type":431,"value":917},{"type":426,"tag":553,"props":40633,"children":40634},{"class":555,"line":1856},[40635,40639],{"type":426,"tag":553,"props":40636,"children":40637},{"style":795},[40638],{"type":431,"value":1659},{"type":426,"tag":553,"props":40640,"children":40641},{"style":684},[40642],{"type":431,"value":13022},{"type":426,"tag":515,"props":40644,"children":40646},{"id":40645},"_5-billing-and-invoice-alerts",[40647],{"type":431,"value":40648},"5. Billing and Invoice Alerts",{"type":426,"tag":427,"props":40650,"children":40651},{},[40652,40656],{"type":426,"tag":446,"props":40653,"children":40654},{},[40655],{"type":431,"value":528},{"type":431,"value":40657},": Failed payment emails are ignored — involuntary churn from payment failures.",{"type":426,"tag":427,"props":40659,"children":40660},{},[40661,40665],{"type":426,"tag":446,"props":40662,"children":40663},{},[40664],{"type":431,"value":538},{"type":431,"value":40666},": WhatsApp alert for failed charges and upcoming renewals.",{"type":426,"tag":542,"props":40668,"children":40670},{"code":40669},"Payment failure:\n\"Hi Sarah! ⚠️ We couldn't charge your card for your Rapiwa subscription.\n\nDon't worry — your account stays active for 7 days while you update your payment method.\n\nUpdate your card: https:\u002F\u002Fapp.rapiwa.com\u002Fbilling\n\nNeed help? Just reply here!\"\n\nRenewal reminder (3 days before):\n\"Hi Sarah! 🔔 Reminder: Your Rapiwa Professional plan renews on July 12, 2026 ($15\u002Fmonth).\n\nNo action needed if everything looks good!\nManage subscription: https:\u002F\u002Fapp.rapiwa.com\u002Fbilling\"\n",[40671],{"type":426,"tag":549,"props":40672,"children":40673},{"__ignoreMap":417},[40674],{"type":431,"value":40669},{"type":426,"tag":515,"props":40676,"children":40678},{"id":40677},"_6-new-feature-announcement",[40679],{"type":431,"value":40680},"6. New Feature Announcement",{"type":426,"tag":427,"props":40682,"children":40683},{},[40684,40688],{"type":426,"tag":446,"props":40685,"children":40686},{},[40687],{"type":431,"value":528},{"type":431,"value":40689},": Email product announcements have 15% open rates — most users miss new features.",{"type":426,"tag":427,"props":40691,"children":40692},{},[40693,40697],{"type":426,"tag":446,"props":40694,"children":40695},{},[40696],{"type":431,"value":538},{"type":431,"value":40698},": WhatsApp announcements for major releases.",{"type":426,"tag":542,"props":40700,"children":40702},{"code":40701},"\"Hi Sarah! 🚀 Big news from Rapiwa!\n\nWe just launched *webhook support* — receive incoming WhatsApp messages in real-time!\n\nThis means you can now:\n✅ Build two-way chatbots\n✅ Receive and respond to customer messages automatically\n✅ Log incoming messages to your CRM\n\nSee the announcement: https:\u002F\u002Frapiwa.com\u002Fblog\u002Fwebhook-launch\n\nP.S. It's available on all plans starting today 🎉\"\n",[40703],{"type":426,"tag":549,"props":40704,"children":40705},{"__ignoreMap":417},[40706],{"type":431,"value":40701},{"type":426,"tag":434,"props":40708,"children":40710},{"id":40709},"how-to-set-up-whatsapp-for-saas-with-rapiwa",[40711],{"type":431,"value":40712},"How to Set Up WhatsApp for SaaS with Rapiwa",{"type":426,"tag":515,"props":40714,"children":40715},{"id":3809},[40716],{"type":431,"value":3812},{"type":426,"tag":427,"props":40718,"children":40719},{},[40720,40721,40726],{"type":431,"value":3817},{"type":426,"tag":3819,"props":40722,"children":40724},{"href":3821,"rel":40723},[3823],[40725],{"type":431,"value":3826},{"type":431,"value":3828},{"type":426,"tag":515,"props":40728,"children":40730},{"id":40729},"step-2-collect-phone-numbers-at-signup",[40731],{"type":431,"value":40732},"Step 2: Collect Phone Numbers at Signup",{"type":426,"tag":427,"props":40734,"children":40735},{},[40736],{"type":431,"value":40737},"Add phone number to your signup form. Communicate the value: \"We'll send you important account alerts and product tips via WhatsApp — no spam.\"",{"type":426,"tag":515,"props":40739,"children":40741},{"id":40740},"step-3-integrate-with-your-database",[40742],{"type":431,"value":40743},"Step 3: Integrate with Your Database",{"type":426,"tag":542,"props":40745,"children":40747},{"code":40746,"language":784,"meta":417,"className":785,"style":417},"import requests\nimport psycopg2\nfrom datetime import datetime, timedelta\n\ndef run_daily_saas_whatsapp():\n    \"\"\"Run daily SaaS WhatsApp automation jobs.\"\"\"\n    conn = psycopg2.connect(\"postgresql:\u002F\u002F...\")\n    api_key = \"YOUR_API_KEY\"\n    \n    # 1. Send Day 1 onboarding to users who signed up yesterday\n    new_users = get_users_signed_up_on(datetime.now() - timedelta(days=1), conn)\n    for user in new_users:\n        send_onboarding_message(user, day=1, api_key=api_key)\n    \n    # 2. Send Day 3 and Day 7 messages\n    # ... similar logic for other days\n    \n    # 3. Send churn interventions\n    at_risk = identify_at_risk_users(conn)\n    for user in at_risk:\n        send_churn_intervention(user, api_key=api_key)\n    \n    conn.close()\n",[40748],{"type":426,"tag":549,"props":40749,"children":40750},{"__ignoreMap":417},[40751,40762,40773,40792,40799,40815,40823,40848,40864,40871,40879,40921,40942,40980,40987,40995,41003,41010,41018,41035,41055,41075,41082],{"type":426,"tag":553,"props":40752,"children":40753},{"class":555,"line":556},[40754,40758],{"type":426,"tag":553,"props":40755,"children":40756},{"style":795},[40757],{"type":431,"value":798},{"type":426,"tag":553,"props":40759,"children":40760},{"style":684},[40761],{"type":431,"value":803},{"type":426,"tag":553,"props":40763,"children":40764},{"class":555,"line":588},[40765,40769],{"type":426,"tag":553,"props":40766,"children":40767},{"style":795},[40768],{"type":431,"value":798},{"type":426,"tag":553,"props":40770,"children":40771},{"style":684},[40772],{"type":431,"value":11840},{"type":426,"tag":553,"props":40774,"children":40775},{"class":555,"line":606},[40776,40780,40784,40788],{"type":426,"tag":553,"props":40777,"children":40778},{"style":795},[40779],{"type":431,"value":811},{"type":426,"tag":553,"props":40781,"children":40782},{"style":684},[40783],{"type":431,"value":816},{"type":426,"tag":553,"props":40785,"children":40786},{"style":795},[40787],{"type":431,"value":798},{"type":426,"tag":553,"props":40789,"children":40790},{"style":684},[40791],{"type":431,"value":6409},{"type":426,"tag":553,"props":40793,"children":40794},{"class":555,"line":623},[40795],{"type":426,"tag":553,"props":40796,"children":40797},{"emptyLinePlaceholder":831},[40798],{"type":431,"value":834},{"type":426,"tag":553,"props":40800,"children":40801},{"class":555,"line":637},[40802,40806,40811],{"type":426,"tag":553,"props":40803,"children":40804},{"style":795},[40805],{"type":431,"value":842},{"type":426,"tag":553,"props":40807,"children":40808},{"style":560},[40809],{"type":431,"value":40810}," run_daily_saas_whatsapp",{"type":426,"tag":553,"props":40812,"children":40813},{"style":684},[40814],{"type":431,"value":6433},{"type":426,"tag":553,"props":40816,"children":40817},{"class":555,"line":646},[40818],{"type":426,"tag":553,"props":40819,"children":40820},{"style":572},[40821],{"type":431,"value":40822},"    \"\"\"Run daily SaaS WhatsApp automation jobs.\"\"\"\n",{"type":426,"tag":553,"props":40824,"children":40825},{"class":555,"line":655},[40826,40830,40834,40839,40844],{"type":426,"tag":553,"props":40827,"children":40828},{"style":684},[40829],{"type":431,"value":25253},{"type":426,"tag":553,"props":40831,"children":40832},{"style":795},[40833],{"type":431,"value":957},{"type":426,"tag":553,"props":40835,"children":40836},{"style":684},[40837],{"type":431,"value":40838}," psycopg2.connect(",{"type":426,"tag":553,"props":40840,"children":40841},{"style":572},[40842],{"type":431,"value":40843},"\"postgresql:\u002F\u002F...\"",{"type":426,"tag":553,"props":40845,"children":40846},{"style":684},[40847],{"type":431,"value":3262},{"type":426,"tag":553,"props":40849,"children":40850},{"class":555,"line":1036},[40851,40855,40859],{"type":426,"tag":553,"props":40852,"children":40853},{"style":684},[40854],{"type":431,"value":14888},{"type":426,"tag":553,"props":40856,"children":40857},{"style":795},[40858],{"type":431,"value":957},{"type":426,"tag":553,"props":40860,"children":40861},{"style":572},[40862],{"type":431,"value":40863}," \"YOUR_API_KEY\"\n",{"type":426,"tag":553,"props":40865,"children":40866},{"class":555,"line":1054},[40867],{"type":426,"tag":553,"props":40868,"children":40869},{"style":684},[40870],{"type":431,"value":917},{"type":426,"tag":553,"props":40872,"children":40873},{"class":555,"line":1080},[40874],{"type":426,"tag":553,"props":40875,"children":40876},{"style":1975},[40877],{"type":431,"value":40878},"    # 1. Send Day 1 onboarding to users who signed up yesterday\n",{"type":426,"tag":553,"props":40880,"children":40881},{"class":555,"line":1097},[40882,40887,40891,40896,40900,40904,40908,40912,40916],{"type":426,"tag":553,"props":40883,"children":40884},{"style":684},[40885],{"type":431,"value":40886},"    new_users ",{"type":426,"tag":553,"props":40888,"children":40889},{"style":795},[40890],{"type":431,"value":957},{"type":426,"tag":553,"props":40892,"children":40893},{"style":684},[40894],{"type":431,"value":40895}," get_users_signed_up_on(datetime.now() ",{"type":426,"tag":553,"props":40897,"children":40898},{"style":795},[40899],{"type":431,"value":1939},{"type":426,"tag":553,"props":40901,"children":40902},{"style":684},[40903],{"type":431,"value":2038},{"type":426,"tag":553,"props":40905,"children":40906},{"style":1684},[40907],{"type":431,"value":2043},{"type":426,"tag":553,"props":40909,"children":40910},{"style":795},[40911],{"type":431,"value":957},{"type":426,"tag":553,"props":40913,"children":40914},{"style":566},[40915],{"type":431,"value":1921},{"type":426,"tag":553,"props":40917,"children":40918},{"style":684},[40919],{"type":431,"value":40920},"), conn)\n",{"type":426,"tag":553,"props":40922,"children":40923},{"class":555,"line":1114},[40924,40928,40933,40937],{"type":426,"tag":553,"props":40925,"children":40926},{"style":795},[40927],{"type":431,"value":1995},{"type":426,"tag":553,"props":40929,"children":40930},{"style":684},[40931],{"type":431,"value":40932}," user ",{"type":426,"tag":553,"props":40934,"children":40935},{"style":795},[40936],{"type":431,"value":2005},{"type":426,"tag":553,"props":40938,"children":40939},{"style":684},[40940],{"type":431,"value":40941}," new_users:\n",{"type":426,"tag":553,"props":40943,"children":40944},{"class":555,"line":1127},[40945,40950,40955,40959,40963,40967,40971,40975],{"type":426,"tag":553,"props":40946,"children":40947},{"style":684},[40948],{"type":431,"value":40949},"        send_onboarding_message(user, ",{"type":426,"tag":553,"props":40951,"children":40952},{"style":1684},[40953],{"type":431,"value":40954},"day",{"type":426,"tag":553,"props":40956,"children":40957},{"style":795},[40958],{"type":431,"value":957},{"type":426,"tag":553,"props":40960,"children":40961},{"style":566},[40962],{"type":431,"value":1921},{"type":426,"tag":553,"props":40964,"children":40965},{"style":684},[40966],{"type":431,"value":1907},{"type":426,"tag":553,"props":40968,"children":40969},{"style":1684},[40970],{"type":431,"value":1723},{"type":426,"tag":553,"props":40972,"children":40973},{"style":795},[40974],{"type":431,"value":957},{"type":426,"tag":553,"props":40976,"children":40977},{"style":684},[40978],{"type":431,"value":40979},"api_key)\n",{"type":426,"tag":553,"props":40981,"children":40982},{"class":555,"line":1167},[40983],{"type":426,"tag":553,"props":40984,"children":40985},{"style":684},[40986],{"type":431,"value":917},{"type":426,"tag":553,"props":40988,"children":40989},{"class":555,"line":1184},[40990],{"type":426,"tag":553,"props":40991,"children":40992},{"style":1975},[40993],{"type":431,"value":40994},"    # 2. Send Day 3 and Day 7 messages\n",{"type":426,"tag":553,"props":40996,"children":40997},{"class":555,"line":1192},[40998],{"type":426,"tag":553,"props":40999,"children":41000},{"style":1975},[41001],{"type":431,"value":41002},"    # ... similar logic for other days\n",{"type":426,"tag":553,"props":41004,"children":41005},{"class":555,"line":1210},[41006],{"type":426,"tag":553,"props":41007,"children":41008},{"style":684},[41009],{"type":431,"value":917},{"type":426,"tag":553,"props":41011,"children":41012},{"class":555,"line":1253},[41013],{"type":426,"tag":553,"props":41014,"children":41015},{"style":1975},[41016],{"type":431,"value":41017},"    # 3. Send churn interventions\n",{"type":426,"tag":553,"props":41019,"children":41020},{"class":555,"line":1302},[41021,41026,41030],{"type":426,"tag":553,"props":41022,"children":41023},{"style":684},[41024],{"type":431,"value":41025},"    at_risk ",{"type":426,"tag":553,"props":41027,"children":41028},{"style":795},[41029],{"type":431,"value":957},{"type":426,"tag":553,"props":41031,"children":41032},{"style":684},[41033],{"type":431,"value":41034}," identify_at_risk_users(conn)\n",{"type":426,"tag":553,"props":41036,"children":41037},{"class":555,"line":1374},[41038,41042,41046,41050],{"type":426,"tag":553,"props":41039,"children":41040},{"style":795},[41041],{"type":431,"value":1995},{"type":426,"tag":553,"props":41043,"children":41044},{"style":684},[41045],{"type":431,"value":40932},{"type":426,"tag":553,"props":41047,"children":41048},{"style":795},[41049],{"type":431,"value":2005},{"type":426,"tag":553,"props":41051,"children":41052},{"style":684},[41053],{"type":431,"value":41054}," at_risk:\n",{"type":426,"tag":553,"props":41056,"children":41057},{"class":555,"line":1414},[41058,41063,41067,41071],{"type":426,"tag":553,"props":41059,"children":41060},{"style":684},[41061],{"type":431,"value":41062},"        send_churn_intervention(user, ",{"type":426,"tag":553,"props":41064,"children":41065},{"style":1684},[41066],{"type":431,"value":1723},{"type":426,"tag":553,"props":41068,"children":41069},{"style":795},[41070],{"type":431,"value":957},{"type":426,"tag":553,"props":41072,"children":41073},{"style":684},[41074],{"type":431,"value":40979},{"type":426,"tag":553,"props":41076,"children":41077},{"class":555,"line":1479},[41078],{"type":426,"tag":553,"props":41079,"children":41080},{"style":684},[41081],{"type":431,"value":917},{"type":426,"tag":553,"props":41083,"children":41084},{"class":555,"line":1517},[41085],{"type":426,"tag":553,"props":41086,"children":41087},{"style":684},[41088],{"type":431,"value":25648},{"type":426,"tag":434,"props":41090,"children":41091},{"id":4050},[41092],{"type":431,"value":4053},{"type":426,"tag":454,"props":41094,"children":41095},{},[41096,41106,41116,41125],{"type":426,"tag":458,"props":41097,"children":41098},{},[41099,41104],{"type":426,"tag":446,"props":41100,"children":41101},{},[41102],{"type":431,"value":41103},"2–3x higher",{"type":431,"value":41105}," trial-to-paid conversion with WhatsApp onboarding",{"type":426,"tag":458,"props":41107,"children":41108},{},[41109,41114],{"type":426,"tag":446,"props":41110,"children":41111},{},[41112],{"type":431,"value":41113},"50% higher",{"type":431,"value":41115}," feature adoption rate (WhatsApp nudges vs email)",{"type":426,"tag":458,"props":41117,"children":41118},{},[41119,41123],{"type":426,"tag":446,"props":41120,"children":41121},{},[41122],{"type":431,"value":38630},{"type":431,"value":41124}," in involuntary churn (payment failure WhatsApp alerts)",{"type":426,"tag":458,"props":41126,"children":41127},{},[41128,41133],{"type":426,"tag":446,"props":41129,"children":41130},{},[41131],{"type":431,"value":41132},"15–20% fewer",{"type":431,"value":41134}," at-risk users churning when proactively contacted",{"type":426,"tag":434,"props":41136,"children":41137},{"id":4109},[41138],{"type":431,"value":4112},{"type":426,"tag":427,"props":41140,"children":41141},{},[41142,41147],{"type":426,"tag":446,"props":41143,"children":41144},{},[41145],{"type":431,"value":41146},"Can I use WhatsApp for SaaS without a phone number at signup?",{"type":431,"value":41148},"\nYou can make phone optional — WhatsApp then only works for users who provide it. Make it more likely by adding value (\"Get instant alerts and onboarding tips on WhatsApp\").",{"type":426,"tag":427,"props":41150,"children":41151},{},[41152,41157],{"type":426,"tag":446,"props":41153,"children":41154},{},[41155],{"type":431,"value":41156},"Does Rapiwa charge per SaaS notification?",{"type":431,"value":41158},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. A SaaS company sending 10,000 WhatsApp messages\u002Fmonth pays $5.",{"type":426,"tag":427,"props":41160,"children":41161},{},[41162,41167],{"type":426,"tag":446,"props":41163,"children":41164},{},[41165],{"type":431,"value":41166},"Can I build a two-way WhatsApp support channel for my SaaS?",{"type":431,"value":41168},"\nYes. Use Rapiwa webhooks to receive incoming user messages and route them to your support tool (Intercom, Zendesk, or Slack channel) as new conversations.",{"type":426,"tag":427,"props":41170,"children":41171},{},[41172,41177],{"type":426,"tag":446,"props":41173,"children":41174},{},[41175],{"type":431,"value":41176},"What WhatsApp message types are most effective for SaaS onboarding?",{"type":431,"value":41178},"\nShort, action-oriented messages with a single clear CTA perform best. Avoid long messages — WhatsApp users expect concise, chat-style communication.",{"type":426,"tag":427,"props":41180,"children":41181},{},[41182,41187],{"type":426,"tag":446,"props":41183,"children":41184},{},[41185],{"type":431,"value":41186},"Does this work for B2B SaaS with business phone numbers?",{"type":431,"value":41188},"\nYes. WhatsApp Business numbers are supported by Rapiwa. Many business users in Southeast Asia, South Asia, and MENA actively use WhatsApp for business communication.",{"type":426,"tag":4164,"props":41190,"children":41191},{},[41192],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":41194},[41195,41196,41204,41209,41210],{"id":38768,"depth":588,"text":38771},{"id":38827,"depth":588,"text":38830,"children":41197},[41198,41199,41200,41201,41202,41203],{"id":38833,"depth":606,"text":38836},{"id":39731,"depth":606,"text":39734},{"id":39952,"depth":606,"text":39955},{"id":39984,"depth":606,"text":39987},{"id":40645,"depth":606,"text":40648},{"id":40677,"depth":606,"text":40680},{"id":40709,"depth":588,"text":40712,"children":41205},[41206,41207,41208],{"id":3809,"depth":606,"text":3812},{"id":40729,"depth":606,"text":40732},{"id":40740,"depth":606,"text":40743},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-saas-onboarding-alerts-churn.md","blog\u002Fwhatsapp-api-saas-onboarding-alerts-churn.md","blog\u002Fwhatsapp-api-saas-onboarding-alerts-churn",{"loc":53},{"_path":57,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":58,"description":59,"date":41216,"author":18999,"category":8,"_slug":41217,"image":41218,"body":41219,"_type":4187,"_id":43283,"_source":4189,"_file":43284,"_stem":43285,"_extension":4192,"sitemap":43286},"2026-03-17","whatsapp-api-healthcare-appointment-reminders","\u002Fimages\u002Fblog\u002Fwhatsapp-api-healthcare-appointment-reminders.svg",{"type":423,"children":41220,"toc":43265},[41221,41226,41232,41244,41249,41289,41303,41309,41315,41324,41333,41426,41433,41509,41515,41524,41533,42121,42127,42136,42145,42153,42159,42168,42177,42634,42640,42649,42658,42666,42672,42681,42690,42698,42704,42708,42718,42724,42729,42742,42748,43160,43164,43207,43211,43221,43231,43241,43251,43261],{"type":426,"tag":427,"props":41222,"children":41223},{},[41224],{"type":431,"value":41225},"WhatsApp API for healthcare lets clinics, hospitals, and health apps automatically send appointment reminders, lab result notifications, prescription refill alerts, and health tips to patients. Using Rapiwa API ($5\u002Fmonth, no per-message fees), healthcare providers reduce no-show rates by 40–60% and save hours of manual phone calling every day.",{"type":426,"tag":434,"props":41227,"children":41229},{"id":41228},"why-healthcare-needs-whatsapp-automation",[41230],{"type":431,"value":41231},"Why Healthcare Needs WhatsApp Automation",{"type":426,"tag":427,"props":41233,"children":41234},{},[41235,41237,41242],{"type":431,"value":41236},"Healthcare has a ",{"type":426,"tag":446,"props":41238,"children":41239},{},[41240],{"type":431,"value":41241},"no-show problem",{"type":431,"value":41243},": 15–30% of appointments are missed, costing clinics $150–$300 per empty slot. Email reminders are read by 20% of patients. Phone call reminders are time-consuming and often missed.",{"type":426,"tag":427,"props":41245,"children":41246},{},[41247],{"type":431,"value":41248},"WhatsApp solves this:",{"type":426,"tag":454,"props":41250,"children":41251},{},[41252,41261,41271,41280],{"type":426,"tag":458,"props":41253,"children":41254},{},[41255,41259],{"type":426,"tag":446,"props":41256,"children":41257},{},[41258],{"type":431,"value":465},{"type":431,"value":41260}," — patients read your reminder within minutes",{"type":426,"tag":458,"props":41262,"children":41263},{},[41264,41269],{"type":426,"tag":446,"props":41265,"children":41266},{},[41267],{"type":431,"value":41268},"Patients already use WhatsApp",{"type":431,"value":41270}," — 2 billion active users globally",{"type":426,"tag":458,"props":41272,"children":41273},{},[41274,41278],{"type":426,"tag":446,"props":41275,"children":41276},{},[41277],{"type":431,"value":485},{"type":431,"value":41279}," — patients can confirm, cancel, or reschedule by replying",{"type":426,"tag":458,"props":41281,"children":41282},{},[41283,41287],{"type":426,"tag":446,"props":41284,"children":41285},{},[41286],{"type":431,"value":505},{"type":431,"value":41288},": $5\u002Fmonth (Rapiwa) vs $0.10\u002FSMS × 1,000 messages = $100\u002Fmonth",{"type":426,"tag":41290,"props":41291,"children":41292},"blockquote",{},[41293],{"type":426,"tag":427,"props":41294,"children":41295},{},[41296,41301],{"type":426,"tag":446,"props":41297,"children":41298},{},[41299],{"type":431,"value":41300},"Important",{"type":431,"value":41302},": Consult your local healthcare data privacy regulations (HIPAA in the US, GDPR in Europe, PDPA in Bangladesh\u002FSoutheast Asia) before implementing WhatsApp communications for patient data.",{"type":426,"tag":434,"props":41304,"children":41306},{"id":41305},"top-6-whatsapp-automation-use-cases-for-healthcare",[41307],{"type":431,"value":41308},"Top 6 WhatsApp Automation Use Cases for Healthcare",{"type":426,"tag":515,"props":41310,"children":41312},{"id":41311},"_1-appointment-reminder-24-hours-before",[41313],{"type":431,"value":41314},"1. Appointment Reminder (24 Hours Before)",{"type":426,"tag":427,"props":41316,"children":41317},{},[41318,41322],{"type":426,"tag":446,"props":41319,"children":41320},{},[41321],{"type":431,"value":528},{"type":431,"value":41323},": Patients forget appointments scheduled weeks in advance.",{"type":426,"tag":427,"props":41325,"children":41326},{},[41327,41331],{"type":426,"tag":446,"props":41328,"children":41329},{},[41330],{"type":431,"value":538},{"type":431,"value":41332},": WhatsApp reminder 24 hours and 2 hours before appointment.",{"type":426,"tag":542,"props":41334,"children":41336},{"code":41335,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! 📅 Appointment Reminder\\n\\nYou have an appointment tomorrow:\\n\\n👨‍⚕️ Doctor: Dr. Rahman\\n🏥 Clinic: City Health Centre\\n📅 Date: July 9, 2026\\n⏰ Time: 10:30 AM\\n📍 Address: 45 Medical Road, Dhaka\\n\\nReply *CONFIRM* to confirm or *CANCEL* to cancel.\\n\\nQuestions? Call: +880 1234 567890\"\n  }'\n",[41337],{"type":426,"tag":549,"props":41338,"children":41339},{"__ignoreMap":417},[41340,41363,41378,41393,41404,41411,41419],{"type":426,"tag":553,"props":41341,"children":41342},{"class":555,"line":556},[41343,41347,41351,41355,41359],{"type":426,"tag":553,"props":41344,"children":41345},{"style":560},[41346],{"type":431,"value":563},{"type":426,"tag":553,"props":41348,"children":41349},{"style":566},[41350],{"type":431,"value":569},{"type":426,"tag":553,"props":41352,"children":41353},{"style":572},[41354],{"type":431,"value":575},{"type":426,"tag":553,"props":41356,"children":41357},{"style":572},[41358],{"type":431,"value":580},{"type":426,"tag":553,"props":41360,"children":41361},{"style":566},[41362],{"type":431,"value":585},{"type":426,"tag":553,"props":41364,"children":41365},{"class":555,"line":588},[41366,41370,41374],{"type":426,"tag":553,"props":41367,"children":41368},{"style":566},[41369],{"type":431,"value":594},{"type":426,"tag":553,"props":41371,"children":41372},{"style":572},[41373],{"type":431,"value":599},{"type":426,"tag":553,"props":41375,"children":41376},{"style":566},[41377],{"type":431,"value":585},{"type":426,"tag":553,"props":41379,"children":41380},{"class":555,"line":606},[41381,41385,41389],{"type":426,"tag":553,"props":41382,"children":41383},{"style":566},[41384],{"type":431,"value":594},{"type":426,"tag":553,"props":41386,"children":41387},{"style":572},[41388],{"type":431,"value":616},{"type":426,"tag":553,"props":41390,"children":41391},{"style":566},[41392],{"type":431,"value":585},{"type":426,"tag":553,"props":41394,"children":41395},{"class":555,"line":623},[41396,41400],{"type":426,"tag":553,"props":41397,"children":41398},{"style":566},[41399],{"type":431,"value":629},{"type":426,"tag":553,"props":41401,"children":41402},{"style":572},[41403],{"type":431,"value":634},{"type":426,"tag":553,"props":41405,"children":41406},{"class":555,"line":637},[41407],{"type":426,"tag":553,"props":41408,"children":41409},{"style":572},[41410],{"type":431,"value":643},{"type":426,"tag":553,"props":41412,"children":41413},{"class":555,"line":646},[41414],{"type":426,"tag":553,"props":41415,"children":41416},{"style":572},[41417],{"type":431,"value":41418},"    \"message\": \"Hi Sarah! 📅 Appointment Reminder\\n\\nYou have an appointment tomorrow:\\n\\n👨‍⚕️ Doctor: Dr. Rahman\\n🏥 Clinic: City Health Centre\\n📅 Date: July 9, 2026\\n⏰ Time: 10:30 AM\\n📍 Address: 45 Medical Road, Dhaka\\n\\nReply *CONFIRM* to confirm or *CANCEL* to cancel.\\n\\nQuestions? Call: +880 1234 567890\"\n",{"type":426,"tag":553,"props":41420,"children":41421},{"class":555,"line":655},[41422],{"type":426,"tag":553,"props":41423,"children":41424},{"style":572},[41425],{"type":431,"value":661},{"type":426,"tag":427,"props":41427,"children":41428},{},[41429],{"type":426,"tag":446,"props":41430,"children":41431},{},[41432],{"type":431,"value":669},{"type":426,"tag":542,"props":41434,"children":41436},{"code":41435,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_health_abc123\",\n  \"timestamp\": \"2026-07-08T10:30:00Z\"\n}\n",[41437],{"type":426,"tag":549,"props":41438,"children":41439},{"__ignoreMap":417},[41440,41447,41466,41486,41502],{"type":426,"tag":553,"props":41441,"children":41442},{"class":555,"line":556},[41443],{"type":426,"tag":553,"props":41444,"children":41445},{"style":684},[41446],{"type":431,"value":687},{"type":426,"tag":553,"props":41448,"children":41449},{"class":555,"line":588},[41450,41454,41458,41462],{"type":426,"tag":553,"props":41451,"children":41452},{"style":566},[41453],{"type":431,"value":695},{"type":426,"tag":553,"props":41455,"children":41456},{"style":684},[41457],{"type":431,"value":700},{"type":426,"tag":553,"props":41459,"children":41460},{"style":572},[41461],{"type":431,"value":705},{"type":426,"tag":553,"props":41463,"children":41464},{"style":684},[41465],{"type":431,"value":710},{"type":426,"tag":553,"props":41467,"children":41468},{"class":555,"line":606},[41469,41473,41477,41482],{"type":426,"tag":553,"props":41470,"children":41471},{"style":566},[41472],{"type":431,"value":718},{"type":426,"tag":553,"props":41474,"children":41475},{"style":684},[41476],{"type":431,"value":700},{"type":426,"tag":553,"props":41478,"children":41479},{"style":572},[41480],{"type":431,"value":41481},"\"msg_health_abc123\"",{"type":426,"tag":553,"props":41483,"children":41484},{"style":684},[41485],{"type":431,"value":710},{"type":426,"tag":553,"props":41487,"children":41488},{"class":555,"line":623},[41489,41493,41497],{"type":426,"tag":553,"props":41490,"children":41491},{"style":566},[41492],{"type":431,"value":739},{"type":426,"tag":553,"props":41494,"children":41495},{"style":684},[41496],{"type":431,"value":700},{"type":426,"tag":553,"props":41498,"children":41499},{"style":572},[41500],{"type":431,"value":41501},"\"2026-07-08T10:30:00Z\"\n",{"type":426,"tag":553,"props":41503,"children":41504},{"class":555,"line":637},[41505],{"type":426,"tag":553,"props":41506,"children":41507},{"style":684},[41508],{"type":431,"value":756},{"type":426,"tag":515,"props":41510,"children":41512},{"id":41511},"_2-appointment-booking-confirmation",[41513],{"type":431,"value":41514},"2. Appointment Booking Confirmation",{"type":426,"tag":427,"props":41516,"children":41517},{},[41518,41522],{"type":426,"tag":446,"props":41519,"children":41520},{},[41521],{"type":431,"value":528},{"type":431,"value":41523},": Patients wonder if their booking was successful after scheduling online.",{"type":426,"tag":427,"props":41525,"children":41526},{},[41527,41531],{"type":426,"tag":446,"props":41528,"children":41529},{},[41530],{"type":431,"value":538},{"type":431,"value":41532},": Immediate WhatsApp confirmation when an appointment is booked.",{"type":426,"tag":542,"props":41534,"children":41536},{"code":41535,"language":784,"meta":417,"className":785,"style":417},"import requests\nfrom datetime import datetime\n\ndef send_appointment_confirmation(\n    phone: str,\n    patient_name: str,\n    doctor: str,\n    clinic: str,\n    appointment_time: datetime,\n    appointment_id: str,\n    api_key: str\n) -> dict:\n    \n    formatted_time = appointment_time.strftime('%B %d, %Y at %I:%M %p')\n    \n    message = (\n        f\"Appointment Confirmed ✅\\n\\n\"\n        f\"Hi {patient_name}!\\n\\n\"\n        f\"Your appointment has been booked:\\n\"\n        f\"👨‍⚕️ Doctor: {doctor}\\n\"\n        f\"🏥 Clinic: {clinic}\\n\"\n        f\"📅 {formatted_time}\\n\"\n        f\"🔖 Ref: {appointment_id}\\n\\n\"\n        f\"We will send you a reminder 24 hours before.\\n\"\n        f\"To cancel or reschedule, reply CANCEL.\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': phone, 'message': message}\n    ).json()\n",[41537],{"type":426,"tag":549,"props":41538,"children":41539},{"__ignoreMap":417},[41540,41551,41570,41577,41593,41609,41625,41641,41657,41665,41681,41692,41707,41714,41750,41757,41772,41792,41828,41848,41877,41906,41935,41964,41984,41996,42003,42010,42021,42032,42083,42114],{"type":426,"tag":553,"props":41541,"children":41542},{"class":555,"line":556},[41543,41547],{"type":426,"tag":553,"props":41544,"children":41545},{"style":795},[41546],{"type":431,"value":798},{"type":426,"tag":553,"props":41548,"children":41549},{"style":684},[41550],{"type":431,"value":803},{"type":426,"tag":553,"props":41552,"children":41553},{"class":555,"line":588},[41554,41558,41562,41566],{"type":426,"tag":553,"props":41555,"children":41556},{"style":795},[41557],{"type":431,"value":811},{"type":426,"tag":553,"props":41559,"children":41560},{"style":684},[41561],{"type":431,"value":816},{"type":426,"tag":553,"props":41563,"children":41564},{"style":795},[41565],{"type":431,"value":798},{"type":426,"tag":553,"props":41567,"children":41568},{"style":684},[41569],{"type":431,"value":22230},{"type":426,"tag":553,"props":41571,"children":41572},{"class":555,"line":606},[41573],{"type":426,"tag":553,"props":41574,"children":41575},{"emptyLinePlaceholder":831},[41576],{"type":431,"value":834},{"type":426,"tag":553,"props":41578,"children":41579},{"class":555,"line":623},[41580,41584,41589],{"type":426,"tag":553,"props":41581,"children":41582},{"style":795},[41583],{"type":431,"value":842},{"type":426,"tag":553,"props":41585,"children":41586},{"style":560},[41587],{"type":431,"value":41588}," send_appointment_confirmation",{"type":426,"tag":553,"props":41590,"children":41591},{"style":684},[41592],{"type":431,"value":3172},{"type":426,"tag":553,"props":41594,"children":41595},{"class":555,"line":637},[41596,41601,41605],{"type":426,"tag":553,"props":41597,"children":41598},{"style":684},[41599],{"type":431,"value":41600},"    phone: ",{"type":426,"tag":553,"props":41602,"children":41603},{"style":566},[41604],{"type":431,"value":895},{"type":426,"tag":553,"props":41606,"children":41607},{"style":684},[41608],{"type":431,"value":710},{"type":426,"tag":553,"props":41610,"children":41611},{"class":555,"line":646},[41612,41617,41621],{"type":426,"tag":553,"props":41613,"children":41614},{"style":684},[41615],{"type":431,"value":41616},"    patient_name: ",{"type":426,"tag":553,"props":41618,"children":41619},{"style":566},[41620],{"type":431,"value":895},{"type":426,"tag":553,"props":41622,"children":41623},{"style":684},[41624],{"type":431,"value":710},{"type":426,"tag":553,"props":41626,"children":41627},{"class":555,"line":655},[41628,41633,41637],{"type":426,"tag":553,"props":41629,"children":41630},{"style":684},[41631],{"type":431,"value":41632},"    doctor: ",{"type":426,"tag":553,"props":41634,"children":41635},{"style":566},[41636],{"type":431,"value":895},{"type":426,"tag":553,"props":41638,"children":41639},{"style":684},[41640],{"type":431,"value":710},{"type":426,"tag":553,"props":41642,"children":41643},{"class":555,"line":1036},[41644,41649,41653],{"type":426,"tag":553,"props":41645,"children":41646},{"style":684},[41647],{"type":431,"value":41648},"    clinic: ",{"type":426,"tag":553,"props":41650,"children":41651},{"style":566},[41652],{"type":431,"value":895},{"type":426,"tag":553,"props":41654,"children":41655},{"style":684},[41656],{"type":431,"value":710},{"type":426,"tag":553,"props":41658,"children":41659},{"class":555,"line":1054},[41660],{"type":426,"tag":553,"props":41661,"children":41662},{"style":684},[41663],{"type":431,"value":41664},"    appointment_time: datetime,\n",{"type":426,"tag":553,"props":41666,"children":41667},{"class":555,"line":1080},[41668,41673,41677],{"type":426,"tag":553,"props":41669,"children":41670},{"style":684},[41671],{"type":431,"value":41672},"    appointment_id: ",{"type":426,"tag":553,"props":41674,"children":41675},{"style":566},[41676],{"type":431,"value":895},{"type":426,"tag":553,"props":41678,"children":41679},{"style":684},[41680],{"type":431,"value":710},{"type":426,"tag":553,"props":41682,"children":41683},{"class":555,"line":1097},[41684,41688],{"type":426,"tag":553,"props":41685,"children":41686},{"style":684},[41687],{"type":431,"value":17478},{"type":426,"tag":553,"props":41689,"children":41690},{"style":566},[41691],{"type":431,"value":17470},{"type":426,"tag":553,"props":41693,"children":41694},{"class":555,"line":1114},[41695,41699,41703],{"type":426,"tag":553,"props":41696,"children":41697},{"style":684},[41698],{"type":431,"value":900},{"type":426,"tag":553,"props":41700,"children":41701},{"style":566},[41702],{"type":431,"value":857},{"type":426,"tag":553,"props":41704,"children":41705},{"style":684},[41706],{"type":431,"value":909},{"type":426,"tag":553,"props":41708,"children":41709},{"class":555,"line":1127},[41710],{"type":426,"tag":553,"props":41711,"children":41712},{"style":684},[41713],{"type":431,"value":917},{"type":426,"tag":553,"props":41715,"children":41716},{"class":555,"line":1167},[41717,41722,41726,41731,41736,41741,41746],{"type":426,"tag":553,"props":41718,"children":41719},{"style":684},[41720],{"type":431,"value":41721},"    formatted_time ",{"type":426,"tag":553,"props":41723,"children":41724},{"style":795},[41725],{"type":431,"value":957},{"type":426,"tag":553,"props":41727,"children":41728},{"style":684},[41729],{"type":431,"value":41730}," appointment_time.strftime(",{"type":426,"tag":553,"props":41732,"children":41733},{"style":572},[41734],{"type":431,"value":41735},"'%B ",{"type":426,"tag":553,"props":41737,"children":41738},{"style":566},[41739],{"type":431,"value":41740},"%d",{"type":426,"tag":553,"props":41742,"children":41743},{"style":572},[41744],{"type":431,"value":41745},", %Y at %I:%M %p'",{"type":426,"tag":553,"props":41747,"children":41748},{"style":684},[41749],{"type":431,"value":3262},{"type":426,"tag":553,"props":41751,"children":41752},{"class":555,"line":1184},[41753],{"type":426,"tag":553,"props":41754,"children":41755},{"style":684},[41756],{"type":431,"value":917},{"type":426,"tag":553,"props":41758,"children":41759},{"class":555,"line":1192},[41760,41764,41768],{"type":426,"tag":553,"props":41761,"children":41762},{"style":684},[41763],{"type":431,"value":1198},{"type":426,"tag":553,"props":41765,"children":41766},{"style":795},[41767],{"type":431,"value":957},{"type":426,"tag":553,"props":41769,"children":41770},{"style":684},[41771],{"type":431,"value":1207},{"type":426,"tag":553,"props":41773,"children":41774},{"class":555,"line":1210},[41775,41779,41784,41788],{"type":426,"tag":553,"props":41776,"children":41777},{"style":795},[41778],{"type":431,"value":1216},{"type":426,"tag":553,"props":41780,"children":41781},{"style":572},[41782],{"type":431,"value":41783},"\"Appointment Confirmed ✅",{"type":426,"tag":553,"props":41785,"children":41786},{"style":566},[41787],{"type":431,"value":1295},{"type":426,"tag":553,"props":41789,"children":41790},{"style":572},[41791],{"type":431,"value":1250},{"type":426,"tag":553,"props":41793,"children":41794},{"class":555,"line":1253},[41795,41799,41803,41807,41812,41816,41820,41824],{"type":426,"tag":553,"props":41796,"children":41797},{"style":795},[41798],{"type":431,"value":1216},{"type":426,"tag":553,"props":41800,"children":41801},{"style":572},[41802],{"type":431,"value":4625},{"type":426,"tag":553,"props":41804,"children":41805},{"style":566},[41806],{"type":431,"value":972},{"type":426,"tag":553,"props":41808,"children":41809},{"style":684},[41810],{"type":431,"value":41811},"patient_name",{"type":426,"tag":553,"props":41813,"children":41814},{"style":566},[41815],{"type":431,"value":982},{"type":426,"tag":553,"props":41817,"children":41818},{"style":572},[41819],{"type":431,"value":4651},{"type":426,"tag":553,"props":41821,"children":41822},{"style":566},[41823],{"type":431,"value":1295},{"type":426,"tag":553,"props":41825,"children":41826},{"style":572},[41827],{"type":431,"value":1250},{"type":426,"tag":553,"props":41829,"children":41830},{"class":555,"line":1302},[41831,41835,41840,41844],{"type":426,"tag":553,"props":41832,"children":41833},{"style":795},[41834],{"type":431,"value":1216},{"type":426,"tag":553,"props":41836,"children":41837},{"style":572},[41838],{"type":431,"value":41839},"\"Your appointment has been booked:",{"type":426,"tag":553,"props":41841,"children":41842},{"style":566},[41843],{"type":431,"value":3661},{"type":426,"tag":553,"props":41845,"children":41846},{"style":572},[41847],{"type":431,"value":1250},{"type":426,"tag":553,"props":41849,"children":41850},{"class":555,"line":1374},[41851,41855,41860,41864,41869,41873],{"type":426,"tag":553,"props":41852,"children":41853},{"style":795},[41854],{"type":431,"value":1216},{"type":426,"tag":553,"props":41856,"children":41857},{"style":572},[41858],{"type":431,"value":41859},"\"👨‍⚕️ Doctor: ",{"type":426,"tag":553,"props":41861,"children":41862},{"style":566},[41863],{"type":431,"value":972},{"type":426,"tag":553,"props":41865,"children":41866},{"style":684},[41867],{"type":431,"value":41868},"doctor",{"type":426,"tag":553,"props":41870,"children":41871},{"style":566},[41872],{"type":431,"value":1407},{"type":426,"tag":553,"props":41874,"children":41875},{"style":572},[41876],{"type":431,"value":1250},{"type":426,"tag":553,"props":41878,"children":41879},{"class":555,"line":1414},[41880,41884,41889,41893,41898,41902],{"type":426,"tag":553,"props":41881,"children":41882},{"style":795},[41883],{"type":431,"value":1216},{"type":426,"tag":553,"props":41885,"children":41886},{"style":572},[41887],{"type":431,"value":41888},"\"🏥 Clinic: ",{"type":426,"tag":553,"props":41890,"children":41891},{"style":566},[41892],{"type":431,"value":972},{"type":426,"tag":553,"props":41894,"children":41895},{"style":684},[41896],{"type":431,"value":41897},"clinic",{"type":426,"tag":553,"props":41899,"children":41900},{"style":566},[41901],{"type":431,"value":1407},{"type":426,"tag":553,"props":41903,"children":41904},{"style":572},[41905],{"type":431,"value":1250},{"type":426,"tag":553,"props":41907,"children":41908},{"class":555,"line":1479},[41909,41913,41918,41922,41927,41931],{"type":426,"tag":553,"props":41910,"children":41911},{"style":795},[41912],{"type":431,"value":1216},{"type":426,"tag":553,"props":41914,"children":41915},{"style":572},[41916],{"type":431,"value":41917},"\"📅 ",{"type":426,"tag":553,"props":41919,"children":41920},{"style":566},[41921],{"type":431,"value":972},{"type":426,"tag":553,"props":41923,"children":41924},{"style":684},[41925],{"type":431,"value":41926},"formatted_time",{"type":426,"tag":553,"props":41928,"children":41929},{"style":566},[41930],{"type":431,"value":1407},{"type":426,"tag":553,"props":41932,"children":41933},{"style":572},[41934],{"type":431,"value":1250},{"type":426,"tag":553,"props":41936,"children":41937},{"class":555,"line":1517},[41938,41942,41947,41951,41956,41960],{"type":426,"tag":553,"props":41939,"children":41940},{"style":795},[41941],{"type":431,"value":1216},{"type":426,"tag":553,"props":41943,"children":41944},{"style":572},[41945],{"type":431,"value":41946},"\"🔖 Ref: ",{"type":426,"tag":553,"props":41948,"children":41949},{"style":566},[41950],{"type":431,"value":972},{"type":426,"tag":553,"props":41952,"children":41953},{"style":684},[41954],{"type":431,"value":41955},"appointment_id",{"type":426,"tag":553,"props":41957,"children":41958},{"style":566},[41959],{"type":431,"value":1245},{"type":426,"tag":553,"props":41961,"children":41962},{"style":572},[41963],{"type":431,"value":1250},{"type":426,"tag":553,"props":41965,"children":41966},{"class":555,"line":1560},[41967,41971,41976,41980],{"type":426,"tag":553,"props":41968,"children":41969},{"style":795},[41970],{"type":431,"value":1216},{"type":426,"tag":553,"props":41972,"children":41973},{"style":572},[41974],{"type":431,"value":41975},"\"We will send you a reminder 24 hours before.",{"type":426,"tag":553,"props":41977,"children":41978},{"style":566},[41979],{"type":431,"value":3661},{"type":426,"tag":553,"props":41981,"children":41982},{"style":572},[41983],{"type":431,"value":1250},{"type":426,"tag":553,"props":41985,"children":41986},{"class":555,"line":1598},[41987,41991],{"type":426,"tag":553,"props":41988,"children":41989},{"style":795},[41990],{"type":431,"value":1216},{"type":426,"tag":553,"props":41992,"children":41993},{"style":572},[41994],{"type":431,"value":41995},"\"To cancel or reschedule, reply CANCEL.\"\n",{"type":426,"tag":553,"props":41997,"children":41998},{"class":555,"line":1636},[41999],{"type":426,"tag":553,"props":42000,"children":42001},{"style":684},[42002],{"type":431,"value":1642},{"type":426,"tag":553,"props":42004,"children":42005},{"class":555,"line":1645},[42006],{"type":426,"tag":553,"props":42007,"children":42008},{"style":684},[42009],{"type":431,"value":917},{"type":426,"tag":553,"props":42011,"children":42012},{"class":555,"line":1653},[42013,42017],{"type":426,"tag":553,"props":42014,"children":42015},{"style":795},[42016],{"type":431,"value":1659},{"type":426,"tag":553,"props":42018,"children":42019},{"style":684},[42020],{"type":431,"value":1664},{"type":426,"tag":553,"props":42022,"children":42023},{"class":555,"line":1667},[42024,42028],{"type":426,"tag":553,"props":42025,"children":42026},{"style":572},[42027],{"type":431,"value":1673},{"type":426,"tag":553,"props":42029,"children":42030},{"style":684},[42031],{"type":431,"value":710},{"type":426,"tag":553,"props":42033,"children":42034},{"class":555,"line":1680},[42035,42039,42043,42047,42051,42055,42059,42063,42067,42071,42075,42079],{"type":426,"tag":553,"props":42036,"children":42037},{"style":1684},[42038],{"type":431,"value":1687},{"type":426,"tag":553,"props":42040,"children":42041},{"style":795},[42042],{"type":431,"value":957},{"type":426,"tag":553,"props":42044,"children":42045},{"style":684},[42046],{"type":431,"value":972},{"type":426,"tag":553,"props":42048,"children":42049},{"style":572},[42050],{"type":431,"value":1700},{"type":426,"tag":553,"props":42052,"children":42053},{"style":684},[42054],{"type":431,"value":700},{"type":426,"tag":553,"props":42056,"children":42057},{"style":795},[42058],{"type":431,"value":1709},{"type":426,"tag":553,"props":42060,"children":42061},{"style":572},[42062],{"type":431,"value":1714},{"type":426,"tag":553,"props":42064,"children":42065},{"style":566},[42066],{"type":431,"value":972},{"type":426,"tag":553,"props":42068,"children":42069},{"style":684},[42070],{"type":431,"value":1723},{"type":426,"tag":553,"props":42072,"children":42073},{"style":566},[42074],{"type":431,"value":982},{"type":426,"tag":553,"props":42076,"children":42077},{"style":572},[42078],{"type":431,"value":1732},{"type":426,"tag":553,"props":42080,"children":42081},{"style":684},[42082],{"type":431,"value":1737},{"type":426,"tag":553,"props":42084,"children":42085},{"class":555,"line":1740},[42086,42090,42094,42098,42102,42106,42110],{"type":426,"tag":553,"props":42087,"children":42088},{"style":1684},[42089],{"type":431,"value":1746},{"type":426,"tag":553,"props":42091,"children":42092},{"style":795},[42093],{"type":431,"value":957},{"type":426,"tag":553,"props":42095,"children":42096},{"style":684},[42097],{"type":431,"value":972},{"type":426,"tag":553,"props":42099,"children":42100},{"style":572},[42101],{"type":431,"value":1759},{"type":426,"tag":553,"props":42103,"children":42104},{"style":684},[42105],{"type":431,"value":8931},{"type":426,"tag":553,"props":42107,"children":42108},{"style":572},[42109],{"type":431,"value":1779},{"type":426,"tag":553,"props":42111,"children":42112},{"style":684},[42113],{"type":431,"value":1784},{"type":426,"tag":553,"props":42115,"children":42116},{"class":555,"line":1787},[42117],{"type":426,"tag":553,"props":42118,"children":42119},{"style":684},[42120],{"type":431,"value":1793},{"type":426,"tag":515,"props":42122,"children":42124},{"id":42123},"_3-lab-result-ready-notification",[42125],{"type":431,"value":42126},"3. Lab Result Ready Notification",{"type":426,"tag":427,"props":42128,"children":42129},{},[42130,42134],{"type":426,"tag":446,"props":42131,"children":42132},{},[42133],{"type":431,"value":528},{"type":431,"value":42135},": Patients call the clinic repeatedly to ask if their test results are ready.",{"type":426,"tag":427,"props":42137,"children":42138},{},[42139,42143],{"type":426,"tag":446,"props":42140,"children":42141},{},[42142],{"type":431,"value":538},{"type":431,"value":42144},": WhatsApp notification the moment results are available.",{"type":426,"tag":542,"props":42146,"children":42148},{"code":42147},"\"Hi Sarah! 🔬 Your lab results are ready.\n\nYour test results from July 8, 2026 are available in your patient portal:\n🔗 https:\u002F\u002Fportal.cityhealthcentre.com\u002Fresults\u002FABC123\n\nLog in to view them securely.\nIf you'd prefer a phone consultation to discuss the results, reply CALL and we'll arrange one.\n\n- City Health Centre Team\"\n",[42149],{"type":426,"tag":549,"props":42150,"children":42151},{"__ignoreMap":417},[42152],{"type":431,"value":42147},{"type":426,"tag":515,"props":42154,"children":42156},{"id":42155},"_4-prescription-refill-reminder",[42157],{"type":431,"value":42158},"4. Prescription Refill Reminder",{"type":426,"tag":427,"props":42160,"children":42161},{},[42162,42166],{"type":426,"tag":446,"props":42163,"children":42164},{},[42165],{"type":431,"value":528},{"type":431,"value":42167},": Patients forget to refill prescriptions and run out of medication.",{"type":426,"tag":427,"props":42169,"children":42170},{},[42171,42175],{"type":426,"tag":446,"props":42172,"children":42173},{},[42174],{"type":431,"value":538},{"type":431,"value":42176},": WhatsApp reminder 7 days before the estimated end of a prescription.",{"type":426,"tag":542,"props":42178,"children":42180},{"code":42179,"language":784,"meta":417,"className":785,"style":417},"def send_prescription_reminder(\n    phone: str,\n    patient_name: str,\n    medication: str,\n    refill_date: str,\n    pharmacy_url: str,\n    api_key: str\n) -> dict:\n    \n    message = (\n        f\"Prescription Reminder 💊\\n\\n\"\n        f\"Hi {patient_name}!\\n\\n\"\n        f\"Your prescription for *{medication}* is running low.\\n\\n\"\n        f\"Estimated refill date: {refill_date}\\n\\n\"\n        f\"Order your refill now to avoid a gap:\\n\"\n        f\"🔗 {pharmacy_url}\\n\\n\"\n        f\"Or visit our clinic pharmacy — open Mon–Sat, 9AM–6PM.\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': phone, 'message': message}\n    ).json()\n",[42181],{"type":426,"tag":549,"props":42182,"children":42183},{"__ignoreMap":417},[42184,42200,42215,42230,42246,42262,42278,42289,42304,42311,42326,42346,42381,42419,42448,42468,42497,42509,42516,42523,42534,42545,42596,42627],{"type":426,"tag":553,"props":42185,"children":42186},{"class":555,"line":556},[42187,42191,42196],{"type":426,"tag":553,"props":42188,"children":42189},{"style":795},[42190],{"type":431,"value":842},{"type":426,"tag":553,"props":42192,"children":42193},{"style":560},[42194],{"type":431,"value":42195}," send_prescription_reminder",{"type":426,"tag":553,"props":42197,"children":42198},{"style":684},[42199],{"type":431,"value":3172},{"type":426,"tag":553,"props":42201,"children":42202},{"class":555,"line":588},[42203,42207,42211],{"type":426,"tag":553,"props":42204,"children":42205},{"style":684},[42206],{"type":431,"value":41600},{"type":426,"tag":553,"props":42208,"children":42209},{"style":566},[42210],{"type":431,"value":895},{"type":426,"tag":553,"props":42212,"children":42213},{"style":684},[42214],{"type":431,"value":710},{"type":426,"tag":553,"props":42216,"children":42217},{"class":555,"line":606},[42218,42222,42226],{"type":426,"tag":553,"props":42219,"children":42220},{"style":684},[42221],{"type":431,"value":41616},{"type":426,"tag":553,"props":42223,"children":42224},{"style":566},[42225],{"type":431,"value":895},{"type":426,"tag":553,"props":42227,"children":42228},{"style":684},[42229],{"type":431,"value":710},{"type":426,"tag":553,"props":42231,"children":42232},{"class":555,"line":623},[42233,42238,42242],{"type":426,"tag":553,"props":42234,"children":42235},{"style":684},[42236],{"type":431,"value":42237},"    medication: ",{"type":426,"tag":553,"props":42239,"children":42240},{"style":566},[42241],{"type":431,"value":895},{"type":426,"tag":553,"props":42243,"children":42244},{"style":684},[42245],{"type":431,"value":710},{"type":426,"tag":553,"props":42247,"children":42248},{"class":555,"line":637},[42249,42254,42258],{"type":426,"tag":553,"props":42250,"children":42251},{"style":684},[42252],{"type":431,"value":42253},"    refill_date: ",{"type":426,"tag":553,"props":42255,"children":42256},{"style":566},[42257],{"type":431,"value":895},{"type":426,"tag":553,"props":42259,"children":42260},{"style":684},[42261],{"type":431,"value":710},{"type":426,"tag":553,"props":42263,"children":42264},{"class":555,"line":646},[42265,42270,42274],{"type":426,"tag":553,"props":42266,"children":42267},{"style":684},[42268],{"type":431,"value":42269},"    pharmacy_url: ",{"type":426,"tag":553,"props":42271,"children":42272},{"style":566},[42273],{"type":431,"value":895},{"type":426,"tag":553,"props":42275,"children":42276},{"style":684},[42277],{"type":431,"value":710},{"type":426,"tag":553,"props":42279,"children":42280},{"class":555,"line":655},[42281,42285],{"type":426,"tag":553,"props":42282,"children":42283},{"style":684},[42284],{"type":431,"value":17478},{"type":426,"tag":553,"props":42286,"children":42287},{"style":566},[42288],{"type":431,"value":17470},{"type":426,"tag":553,"props":42290,"children":42291},{"class":555,"line":1036},[42292,42296,42300],{"type":426,"tag":553,"props":42293,"children":42294},{"style":684},[42295],{"type":431,"value":900},{"type":426,"tag":553,"props":42297,"children":42298},{"style":566},[42299],{"type":431,"value":857},{"type":426,"tag":553,"props":42301,"children":42302},{"style":684},[42303],{"type":431,"value":909},{"type":426,"tag":553,"props":42305,"children":42306},{"class":555,"line":1054},[42307],{"type":426,"tag":553,"props":42308,"children":42309},{"style":684},[42310],{"type":431,"value":917},{"type":426,"tag":553,"props":42312,"children":42313},{"class":555,"line":1080},[42314,42318,42322],{"type":426,"tag":553,"props":42315,"children":42316},{"style":684},[42317],{"type":431,"value":1198},{"type":426,"tag":553,"props":42319,"children":42320},{"style":795},[42321],{"type":431,"value":957},{"type":426,"tag":553,"props":42323,"children":42324},{"style":684},[42325],{"type":431,"value":1207},{"type":426,"tag":553,"props":42327,"children":42328},{"class":555,"line":1097},[42329,42333,42338,42342],{"type":426,"tag":553,"props":42330,"children":42331},{"style":795},[42332],{"type":431,"value":1216},{"type":426,"tag":553,"props":42334,"children":42335},{"style":572},[42336],{"type":431,"value":42337},"\"Prescription Reminder 💊",{"type":426,"tag":553,"props":42339,"children":42340},{"style":566},[42341],{"type":431,"value":1295},{"type":426,"tag":553,"props":42343,"children":42344},{"style":572},[42345],{"type":431,"value":1250},{"type":426,"tag":553,"props":42347,"children":42348},{"class":555,"line":1114},[42349,42353,42357,42361,42365,42369,42373,42377],{"type":426,"tag":553,"props":42350,"children":42351},{"style":795},[42352],{"type":431,"value":1216},{"type":426,"tag":553,"props":42354,"children":42355},{"style":572},[42356],{"type":431,"value":4625},{"type":426,"tag":553,"props":42358,"children":42359},{"style":566},[42360],{"type":431,"value":972},{"type":426,"tag":553,"props":42362,"children":42363},{"style":684},[42364],{"type":431,"value":41811},{"type":426,"tag":553,"props":42366,"children":42367},{"style":566},[42368],{"type":431,"value":982},{"type":426,"tag":553,"props":42370,"children":42371},{"style":572},[42372],{"type":431,"value":4651},{"type":426,"tag":553,"props":42374,"children":42375},{"style":566},[42376],{"type":431,"value":1295},{"type":426,"tag":553,"props":42378,"children":42379},{"style":572},[42380],{"type":431,"value":1250},{"type":426,"tag":553,"props":42382,"children":42383},{"class":555,"line":1127},[42384,42388,42393,42397,42402,42406,42411,42415],{"type":426,"tag":553,"props":42385,"children":42386},{"style":795},[42387],{"type":431,"value":1216},{"type":426,"tag":553,"props":42389,"children":42390},{"style":572},[42391],{"type":431,"value":42392},"\"Your prescription for *",{"type":426,"tag":553,"props":42394,"children":42395},{"style":566},[42396],{"type":431,"value":972},{"type":426,"tag":553,"props":42398,"children":42399},{"style":684},[42400],{"type":431,"value":42401},"medication",{"type":426,"tag":553,"props":42403,"children":42404},{"style":566},[42405],{"type":431,"value":982},{"type":426,"tag":553,"props":42407,"children":42408},{"style":572},[42409],{"type":431,"value":42410},"* is running low.",{"type":426,"tag":553,"props":42412,"children":42413},{"style":566},[42414],{"type":431,"value":1295},{"type":426,"tag":553,"props":42416,"children":42417},{"style":572},[42418],{"type":431,"value":1250},{"type":426,"tag":553,"props":42420,"children":42421},{"class":555,"line":1167},[42422,42426,42431,42435,42440,42444],{"type":426,"tag":553,"props":42423,"children":42424},{"style":795},[42425],{"type":431,"value":1216},{"type":426,"tag":553,"props":42427,"children":42428},{"style":572},[42429],{"type":431,"value":42430},"\"Estimated refill date: ",{"type":426,"tag":553,"props":42432,"children":42433},{"style":566},[42434],{"type":431,"value":972},{"type":426,"tag":553,"props":42436,"children":42437},{"style":684},[42438],{"type":431,"value":42439},"refill_date",{"type":426,"tag":553,"props":42441,"children":42442},{"style":566},[42443],{"type":431,"value":1245},{"type":426,"tag":553,"props":42445,"children":42446},{"style":572},[42447],{"type":431,"value":1250},{"type":426,"tag":553,"props":42449,"children":42450},{"class":555,"line":1184},[42451,42455,42460,42464],{"type":426,"tag":553,"props":42452,"children":42453},{"style":795},[42454],{"type":431,"value":1216},{"type":426,"tag":553,"props":42456,"children":42457},{"style":572},[42458],{"type":431,"value":42459},"\"Order your refill now to avoid a gap:",{"type":426,"tag":553,"props":42461,"children":42462},{"style":566},[42463],{"type":431,"value":3661},{"type":426,"tag":553,"props":42465,"children":42466},{"style":572},[42467],{"type":431,"value":1250},{"type":426,"tag":553,"props":42469,"children":42470},{"class":555,"line":1192},[42471,42475,42480,42484,42489,42493],{"type":426,"tag":553,"props":42472,"children":42473},{"style":795},[42474],{"type":431,"value":1216},{"type":426,"tag":553,"props":42476,"children":42477},{"style":572},[42478],{"type":431,"value":42479},"\"🔗 ",{"type":426,"tag":553,"props":42481,"children":42482},{"style":566},[42483],{"type":431,"value":972},{"type":426,"tag":553,"props":42485,"children":42486},{"style":684},[42487],{"type":431,"value":42488},"pharmacy_url",{"type":426,"tag":553,"props":42490,"children":42491},{"style":566},[42492],{"type":431,"value":1245},{"type":426,"tag":553,"props":42494,"children":42495},{"style":572},[42496],{"type":431,"value":1250},{"type":426,"tag":553,"props":42498,"children":42499},{"class":555,"line":1210},[42500,42504],{"type":426,"tag":553,"props":42501,"children":42502},{"style":795},[42503],{"type":431,"value":1216},{"type":426,"tag":553,"props":42505,"children":42506},{"style":572},[42507],{"type":431,"value":42508},"\"Or visit our clinic pharmacy — open Mon–Sat, 9AM–6PM.\"\n",{"type":426,"tag":553,"props":42510,"children":42511},{"class":555,"line":1253},[42512],{"type":426,"tag":553,"props":42513,"children":42514},{"style":684},[42515],{"type":431,"value":1642},{"type":426,"tag":553,"props":42517,"children":42518},{"class":555,"line":1302},[42519],{"type":426,"tag":553,"props":42520,"children":42521},{"style":684},[42522],{"type":431,"value":917},{"type":426,"tag":553,"props":42524,"children":42525},{"class":555,"line":1374},[42526,42530],{"type":426,"tag":553,"props":42527,"children":42528},{"style":795},[42529],{"type":431,"value":1659},{"type":426,"tag":553,"props":42531,"children":42532},{"style":684},[42533],{"type":431,"value":1664},{"type":426,"tag":553,"props":42535,"children":42536},{"class":555,"line":1414},[42537,42541],{"type":426,"tag":553,"props":42538,"children":42539},{"style":572},[42540],{"type":431,"value":1673},{"type":426,"tag":553,"props":42542,"children":42543},{"style":684},[42544],{"type":431,"value":710},{"type":426,"tag":553,"props":42546,"children":42547},{"class":555,"line":1479},[42548,42552,42556,42560,42564,42568,42572,42576,42580,42584,42588,42592],{"type":426,"tag":553,"props":42549,"children":42550},{"style":1684},[42551],{"type":431,"value":1687},{"type":426,"tag":553,"props":42553,"children":42554},{"style":795},[42555],{"type":431,"value":957},{"type":426,"tag":553,"props":42557,"children":42558},{"style":684},[42559],{"type":431,"value":972},{"type":426,"tag":553,"props":42561,"children":42562},{"style":572},[42563],{"type":431,"value":1700},{"type":426,"tag":553,"props":42565,"children":42566},{"style":684},[42567],{"type":431,"value":700},{"type":426,"tag":553,"props":42569,"children":42570},{"style":795},[42571],{"type":431,"value":1709},{"type":426,"tag":553,"props":42573,"children":42574},{"style":572},[42575],{"type":431,"value":1714},{"type":426,"tag":553,"props":42577,"children":42578},{"style":566},[42579],{"type":431,"value":972},{"type":426,"tag":553,"props":42581,"children":42582},{"style":684},[42583],{"type":431,"value":1723},{"type":426,"tag":553,"props":42585,"children":42586},{"style":566},[42587],{"type":431,"value":982},{"type":426,"tag":553,"props":42589,"children":42590},{"style":572},[42591],{"type":431,"value":1732},{"type":426,"tag":553,"props":42593,"children":42594},{"style":684},[42595],{"type":431,"value":1737},{"type":426,"tag":553,"props":42597,"children":42598},{"class":555,"line":1517},[42599,42603,42607,42611,42615,42619,42623],{"type":426,"tag":553,"props":42600,"children":42601},{"style":1684},[42602],{"type":431,"value":1746},{"type":426,"tag":553,"props":42604,"children":42605},{"style":795},[42606],{"type":431,"value":957},{"type":426,"tag":553,"props":42608,"children":42609},{"style":684},[42610],{"type":431,"value":972},{"type":426,"tag":553,"props":42612,"children":42613},{"style":572},[42614],{"type":431,"value":1759},{"type":426,"tag":553,"props":42616,"children":42617},{"style":684},[42618],{"type":431,"value":8931},{"type":426,"tag":553,"props":42620,"children":42621},{"style":572},[42622],{"type":431,"value":1779},{"type":426,"tag":553,"props":42624,"children":42625},{"style":684},[42626],{"type":431,"value":1784},{"type":426,"tag":553,"props":42628,"children":42629},{"class":555,"line":1560},[42630],{"type":426,"tag":553,"props":42631,"children":42632},{"style":684},[42633],{"type":431,"value":1793},{"type":426,"tag":515,"props":42635,"children":42637},{"id":42636},"_5-vaccination-and-preventive-care-reminders",[42638],{"type":431,"value":42639},"5. Vaccination and Preventive Care Reminders",{"type":426,"tag":427,"props":42641,"children":42642},{},[42643,42647],{"type":426,"tag":446,"props":42644,"children":42645},{},[42646],{"type":431,"value":528},{"type":431,"value":42648},": Patients miss annual check-ups, flu shots, and preventive screenings.",{"type":426,"tag":427,"props":42650,"children":42651},{},[42652,42656],{"type":426,"tag":446,"props":42653,"children":42654},{},[42655],{"type":431,"value":538},{"type":431,"value":42657},": Automated WhatsApp reminders based on patient health records.",{"type":426,"tag":542,"props":42659,"children":42661},{"code":42660},"\"Hi Sarah! 💉 Annual Reminder\n\nIt's time for your annual health check-up! You're due for:\n✅ Blood pressure check\n✅ Blood glucose test\n✅ Flu vaccine (flu season starts next month)\n\nBook your appointment: https:\u002F\u002Fportal.cityhealthcentre.com\u002Fbook\n\nIt takes just 20 minutes and keeps you ahead of health issues. See you soon! 🏥\"\n",[42662],{"type":426,"tag":549,"props":42663,"children":42664},{"__ignoreMap":417},[42665],{"type":431,"value":42660},{"type":426,"tag":515,"props":42667,"children":42669},{"id":42668},"_6-post-discharge-follow-up",[42670],{"type":431,"value":42671},"6. Post-Discharge Follow-Up",{"type":426,"tag":427,"props":42673,"children":42674},{},[42675,42679],{"type":426,"tag":446,"props":42676,"children":42677},{},[42678],{"type":431,"value":528},{"type":431,"value":42680},": Patients are discharged without clear follow-up instructions and don't comply with medication schedules.",{"type":426,"tag":427,"props":42682,"children":42683},{},[42684,42688],{"type":426,"tag":446,"props":42685,"children":42686},{},[42687],{"type":431,"value":538},{"type":431,"value":42689},": Automated WhatsApp check-in 24 hours and 7 days after discharge.",{"type":426,"tag":542,"props":42691,"children":42693},{"code":42692},"Day 1 after discharge:\n\"Hi Sarah! 👋 We hope you're recovering well at home.\n\nA reminder about your medications:\n💊 Amoxicillin: 1 tablet, 3x daily (with food)\n💊 Ibuprofen: 1 tablet when needed for pain\n\nAny concerns? Reply here or call: +880 1234 567890\n\nFeel better soon! — City Health Centre\"\n\nDay 7 follow-up:\n\"Hi Sarah! 🏥 7-day check-in\n\nHow are you feeling after your procedure last week?\n\nPlease reply:\n1️⃣ Recovering well\n2️⃣ Some discomfort but okay\n3️⃣ Not feeling well — need to speak with a doctor\n\nYour response helps us ensure you're getting the right care.\"\n",[42694],{"type":426,"tag":549,"props":42695,"children":42696},{"__ignoreMap":417},[42697],{"type":431,"value":42692},{"type":426,"tag":434,"props":42699,"children":42701},{"id":42700},"how-to-set-up-whatsapp-for-healthcare-with-rapiwa",[42702],{"type":431,"value":42703},"How to Set Up WhatsApp for Healthcare with Rapiwa",{"type":426,"tag":515,"props":42705,"children":42706},{"id":3809},[42707],{"type":431,"value":3812},{"type":426,"tag":427,"props":42709,"children":42710},{},[42711,42712,42717],{"type":431,"value":3817},{"type":426,"tag":3819,"props":42713,"children":42715},{"href":3821,"rel":42714},[3823],[42716],{"type":431,"value":3826},{"type":431,"value":3828},{"type":426,"tag":515,"props":42719,"children":42721},{"id":42720},"step-2-connect-to-your-healthcare-system",[42722],{"type":431,"value":42723},"Step 2: Connect to Your Healthcare System",{"type":426,"tag":427,"props":42725,"children":42726},{},[42727],{"type":431,"value":42728},"Most practice management systems (Zoho, Calendly, Acuity, ClinicSense) support webhooks or API access. Use n8n to:",{"type":426,"tag":6331,"props":42730,"children":42731},{},[42732,42737],{"type":426,"tag":458,"props":42733,"children":42734},{},[42735],{"type":431,"value":42736},"Receive events from your booking system",{"type":426,"tag":458,"props":42738,"children":42739},{},[42740],{"type":431,"value":42741},"Send reminders via Rapiwa at the right time",{"type":426,"tag":515,"props":42743,"children":42745},{"id":42744},"step-3-build-the-reminder-schedule",[42746],{"type":431,"value":42747},"Step 3: Build the Reminder Schedule",{"type":426,"tag":542,"props":42749,"children":42751},{"code":42750,"language":784,"meta":417,"className":785,"style":417},"import schedule\nimport time\n\ndef schedule_appointment_reminders():\n    \"\"\"Check for upcoming appointments and send reminders.\"\"\"\n    appointments = get_appointments_in_next_24_hours()  # Your DB query\n    \n    for apt in appointments:\n        if not apt['reminder_24h_sent']:\n            send_appointment_reminder(\n                phone=apt['patient_phone'],\n                patient_name=apt['patient_name'],\n                doctor=apt['doctor_name'],\n                clinic=apt['clinic_name'],\n                appointment_time=apt['scheduled_time'],\n                appointment_id=apt['id'],\n                api_key='YOUR_API_KEY'\n            )\n            mark_reminder_sent(apt['id'], '24h')\n\n# Run every hour\nschedule.every().hour.do(schedule_appointment_reminders)\n\nwhile True:\n    schedule.run_pending()\n    time.sleep(60)\n",[42752],{"type":426,"tag":549,"props":42753,"children":42754},{"__ignoreMap":417},[42755,42766,42777,42784,42800,42808,42830,42837,42858,42883,42891,42917,42942,42967,42992,43017,43041,43056,43063,43088,43095,43103,43111,43118,43135,43143],{"type":426,"tag":553,"props":42756,"children":42757},{"class":555,"line":556},[42758,42762],{"type":426,"tag":553,"props":42759,"children":42760},{"style":795},[42761],{"type":431,"value":798},{"type":426,"tag":553,"props":42763,"children":42764},{"style":684},[42765],{"type":431,"value":6378},{"type":426,"tag":553,"props":42767,"children":42768},{"class":555,"line":588},[42769,42773],{"type":426,"tag":553,"props":42770,"children":42771},{"style":795},[42772],{"type":431,"value":798},{"type":426,"tag":553,"props":42774,"children":42775},{"style":684},[42776],{"type":431,"value":3081},{"type":426,"tag":553,"props":42778,"children":42779},{"class":555,"line":606},[42780],{"type":426,"tag":553,"props":42781,"children":42782},{"emptyLinePlaceholder":831},[42783],{"type":431,"value":834},{"type":426,"tag":553,"props":42785,"children":42786},{"class":555,"line":623},[42787,42791,42796],{"type":426,"tag":553,"props":42788,"children":42789},{"style":795},[42790],{"type":431,"value":842},{"type":426,"tag":553,"props":42792,"children":42793},{"style":560},[42794],{"type":431,"value":42795}," schedule_appointment_reminders",{"type":426,"tag":553,"props":42797,"children":42798},{"style":684},[42799],{"type":431,"value":6433},{"type":426,"tag":553,"props":42801,"children":42802},{"class":555,"line":637},[42803],{"type":426,"tag":553,"props":42804,"children":42805},{"style":572},[42806],{"type":431,"value":42807},"    \"\"\"Check for upcoming appointments and send reminders.\"\"\"\n",{"type":426,"tag":553,"props":42809,"children":42810},{"class":555,"line":646},[42811,42816,42820,42825],{"type":426,"tag":553,"props":42812,"children":42813},{"style":684},[42814],{"type":431,"value":42815},"    appointments ",{"type":426,"tag":553,"props":42817,"children":42818},{"style":795},[42819],{"type":431,"value":957},{"type":426,"tag":553,"props":42821,"children":42822},{"style":684},[42823],{"type":431,"value":42824}," get_appointments_in_next_24_hours()  ",{"type":426,"tag":553,"props":42826,"children":42827},{"style":1975},[42828],{"type":431,"value":42829},"# Your DB query\n",{"type":426,"tag":553,"props":42831,"children":42832},{"class":555,"line":655},[42833],{"type":426,"tag":553,"props":42834,"children":42835},{"style":684},[42836],{"type":431,"value":917},{"type":426,"tag":553,"props":42838,"children":42839},{"class":555,"line":1036},[42840,42844,42849,42853],{"type":426,"tag":553,"props":42841,"children":42842},{"style":795},[42843],{"type":431,"value":1995},{"type":426,"tag":553,"props":42845,"children":42846},{"style":684},[42847],{"type":431,"value":42848}," apt ",{"type":426,"tag":553,"props":42850,"children":42851},{"style":795},[42852],{"type":431,"value":2005},{"type":426,"tag":553,"props":42854,"children":42855},{"style":684},[42856],{"type":431,"value":42857}," appointments:\n",{"type":426,"tag":553,"props":42859,"children":42860},{"class":555,"line":1054},[42861,42865,42869,42874,42879],{"type":426,"tag":553,"props":42862,"children":42863},{"style":795},[42864],{"type":431,"value":2972},{"type":426,"tag":553,"props":42866,"children":42867},{"style":795},[42868],{"type":431,"value":12110},{"type":426,"tag":553,"props":42870,"children":42871},{"style":684},[42872],{"type":431,"value":42873}," apt[",{"type":426,"tag":553,"props":42875,"children":42876},{"style":572},[42877],{"type":431,"value":42878},"'reminder_24h_sent'",{"type":426,"tag":553,"props":42880,"children":42881},{"style":684},[42882],{"type":431,"value":12008},{"type":426,"tag":553,"props":42884,"children":42885},{"class":555,"line":1080},[42886],{"type":426,"tag":553,"props":42887,"children":42888},{"style":684},[42889],{"type":431,"value":42890},"            send_appointment_reminder(\n",{"type":426,"tag":553,"props":42892,"children":42893},{"class":555,"line":1097},[42894,42899,42903,42908,42913],{"type":426,"tag":553,"props":42895,"children":42896},{"style":1684},[42897],{"type":431,"value":42898},"                phone",{"type":426,"tag":553,"props":42900,"children":42901},{"style":795},[42902],{"type":431,"value":957},{"type":426,"tag":553,"props":42904,"children":42905},{"style":684},[42906],{"type":431,"value":42907},"apt[",{"type":426,"tag":553,"props":42909,"children":42910},{"style":572},[42911],{"type":431,"value":42912},"'patient_phone'",{"type":426,"tag":553,"props":42914,"children":42915},{"style":684},[42916],{"type":431,"value":12804},{"type":426,"tag":553,"props":42918,"children":42919},{"class":555,"line":1114},[42920,42925,42929,42933,42938],{"type":426,"tag":553,"props":42921,"children":42922},{"style":1684},[42923],{"type":431,"value":42924},"                patient_name",{"type":426,"tag":553,"props":42926,"children":42927},{"style":795},[42928],{"type":431,"value":957},{"type":426,"tag":553,"props":42930,"children":42931},{"style":684},[42932],{"type":431,"value":42907},{"type":426,"tag":553,"props":42934,"children":42935},{"style":572},[42936],{"type":431,"value":42937},"'patient_name'",{"type":426,"tag":553,"props":42939,"children":42940},{"style":684},[42941],{"type":431,"value":12804},{"type":426,"tag":553,"props":42943,"children":42944},{"class":555,"line":1127},[42945,42950,42954,42958,42963],{"type":426,"tag":553,"props":42946,"children":42947},{"style":1684},[42948],{"type":431,"value":42949},"                doctor",{"type":426,"tag":553,"props":42951,"children":42952},{"style":795},[42953],{"type":431,"value":957},{"type":426,"tag":553,"props":42955,"children":42956},{"style":684},[42957],{"type":431,"value":42907},{"type":426,"tag":553,"props":42959,"children":42960},{"style":572},[42961],{"type":431,"value":42962},"'doctor_name'",{"type":426,"tag":553,"props":42964,"children":42965},{"style":684},[42966],{"type":431,"value":12804},{"type":426,"tag":553,"props":42968,"children":42969},{"class":555,"line":1167},[42970,42975,42979,42983,42988],{"type":426,"tag":553,"props":42971,"children":42972},{"style":1684},[42973],{"type":431,"value":42974},"                clinic",{"type":426,"tag":553,"props":42976,"children":42977},{"style":795},[42978],{"type":431,"value":957},{"type":426,"tag":553,"props":42980,"children":42981},{"style":684},[42982],{"type":431,"value":42907},{"type":426,"tag":553,"props":42984,"children":42985},{"style":572},[42986],{"type":431,"value":42987},"'clinic_name'",{"type":426,"tag":553,"props":42989,"children":42990},{"style":684},[42991],{"type":431,"value":12804},{"type":426,"tag":553,"props":42993,"children":42994},{"class":555,"line":1184},[42995,43000,43004,43008,43013],{"type":426,"tag":553,"props":42996,"children":42997},{"style":1684},[42998],{"type":431,"value":42999},"                appointment_time",{"type":426,"tag":553,"props":43001,"children":43002},{"style":795},[43003],{"type":431,"value":957},{"type":426,"tag":553,"props":43005,"children":43006},{"style":684},[43007],{"type":431,"value":42907},{"type":426,"tag":553,"props":43009,"children":43010},{"style":572},[43011],{"type":431,"value":43012},"'scheduled_time'",{"type":426,"tag":553,"props":43014,"children":43015},{"style":684},[43016],{"type":431,"value":12804},{"type":426,"tag":553,"props":43018,"children":43019},{"class":555,"line":1192},[43020,43025,43029,43033,43037],{"type":426,"tag":553,"props":43021,"children":43022},{"style":1684},[43023],{"type":431,"value":43024},"                appointment_id",{"type":426,"tag":553,"props":43026,"children":43027},{"style":795},[43028],{"type":431,"value":957},{"type":426,"tag":553,"props":43030,"children":43031},{"style":684},[43032],{"type":431,"value":42907},{"type":426,"tag":553,"props":43034,"children":43035},{"style":572},[43036],{"type":431,"value":12142},{"type":426,"tag":553,"props":43038,"children":43039},{"style":684},[43040],{"type":431,"value":12804},{"type":426,"tag":553,"props":43042,"children":43043},{"class":555,"line":1210},[43044,43048,43052],{"type":426,"tag":553,"props":43045,"children":43046},{"style":1684},[43047],{"type":431,"value":2533},{"type":426,"tag":553,"props":43049,"children":43050},{"style":795},[43051],{"type":431,"value":957},{"type":426,"tag":553,"props":43053,"children":43054},{"style":572},[43055],{"type":431,"value":3254},{"type":426,"tag":553,"props":43057,"children":43058},{"class":555,"line":1253},[43059],{"type":426,"tag":553,"props":43060,"children":43061},{"style":684},[43062],{"type":431,"value":2551},{"type":426,"tag":553,"props":43064,"children":43065},{"class":555,"line":1302},[43066,43071,43075,43079,43084],{"type":426,"tag":553,"props":43067,"children":43068},{"style":684},[43069],{"type":431,"value":43070},"            mark_reminder_sent(apt[",{"type":426,"tag":553,"props":43072,"children":43073},{"style":572},[43074],{"type":431,"value":12142},{"type":426,"tag":553,"props":43076,"children":43077},{"style":684},[43078],{"type":431,"value":1774},{"type":426,"tag":553,"props":43080,"children":43081},{"style":572},[43082],{"type":431,"value":43083},"'24h'",{"type":426,"tag":553,"props":43085,"children":43086},{"style":684},[43087],{"type":431,"value":3262},{"type":426,"tag":553,"props":43089,"children":43090},{"class":555,"line":1374},[43091],{"type":426,"tag":553,"props":43092,"children":43093},{"emptyLinePlaceholder":831},[43094],{"type":431,"value":834},{"type":426,"tag":553,"props":43096,"children":43097},{"class":555,"line":1414},[43098],{"type":426,"tag":553,"props":43099,"children":43100},{"style":1975},[43101],{"type":431,"value":43102},"# Run every hour\n",{"type":426,"tag":553,"props":43104,"children":43105},{"class":555,"line":1479},[43106],{"type":426,"tag":553,"props":43107,"children":43108},{"style":684},[43109],{"type":431,"value":43110},"schedule.every().hour.do(schedule_appointment_reminders)\n",{"type":426,"tag":553,"props":43112,"children":43113},{"class":555,"line":1517},[43114],{"type":426,"tag":553,"props":43115,"children":43116},{"emptyLinePlaceholder":831},[43117],{"type":431,"value":834},{"type":426,"tag":553,"props":43119,"children":43120},{"class":555,"line":1560},[43121,43126,43131],{"type":426,"tag":553,"props":43122,"children":43123},{"style":795},[43124],{"type":431,"value":43125},"while",{"type":426,"tag":553,"props":43127,"children":43128},{"style":566},[43129],{"type":431,"value":43130}," True",{"type":426,"tag":553,"props":43132,"children":43133},{"style":684},[43134],{"type":431,"value":909},{"type":426,"tag":553,"props":43136,"children":43137},{"class":555,"line":1598},[43138],{"type":426,"tag":553,"props":43139,"children":43140},{"style":684},[43141],{"type":431,"value":43142},"    schedule.run_pending()\n",{"type":426,"tag":553,"props":43144,"children":43145},{"class":555,"line":1636},[43146,43151,43156],{"type":426,"tag":553,"props":43147,"children":43148},{"style":684},[43149],{"type":431,"value":43150},"    time.sleep(",{"type":426,"tag":553,"props":43152,"children":43153},{"style":566},[43154],{"type":431,"value":43155},"60",{"type":426,"tag":553,"props":43157,"children":43158},{"style":684},[43159],{"type":431,"value":3262},{"type":426,"tag":434,"props":43161,"children":43162},{"id":4050},[43163],{"type":431,"value":4053},{"type":426,"tag":454,"props":43165,"children":43166},{},[43167,43177,43187,43197],{"type":426,"tag":458,"props":43168,"children":43169},{},[43170,43175],{"type":426,"tag":446,"props":43171,"children":43172},{},[43173],{"type":431,"value":43174},"40–60% reduction",{"type":431,"value":43176}," in no-show rates (WhatsApp reminders vs phone calls)",{"type":426,"tag":458,"props":43178,"children":43179},{},[43180,43185],{"type":426,"tag":446,"props":43181,"children":43182},{},[43183],{"type":431,"value":43184},"30% reduction",{"type":431,"value":43186}," in \"are my results ready?\" phone calls (proactive notification)",{"type":426,"tag":458,"props":43188,"children":43189},{},[43190,43195],{"type":426,"tag":446,"props":43191,"children":43192},{},[43193],{"type":431,"value":43194},"25% improvement",{"type":431,"value":43196}," in medication adherence (prescription refill reminders)",{"type":426,"tag":458,"props":43198,"children":43199},{},[43200,43205],{"type":426,"tag":446,"props":43201,"children":43202},{},[43203],{"type":431,"value":43204},"2–3 hours saved per day",{"type":431,"value":43206}," per clinic on manual reminder calls",{"type":426,"tag":434,"props":43208,"children":43209},{"id":4109},[43210],{"type":431,"value":4112},{"type":426,"tag":427,"props":43212,"children":43213},{},[43214,43219],{"type":426,"tag":446,"props":43215,"children":43216},{},[43217],{"type":431,"value":43218},"Is WhatsApp HIPAA compliant for patient data?",{"type":431,"value":43220},"\nWhatsApp itself is not HIPAA compliant. Do not send protected health information (PHI) such as diagnoses or specific lab values via WhatsApp. Limit messages to appointment logistics and use a patient portal link for sensitive results.",{"type":426,"tag":427,"props":43222,"children":43223},{},[43224,43229],{"type":426,"tag":446,"props":43225,"children":43226},{},[43227],{"type":431,"value":43228},"Does Rapiwa charge per patient message?",{"type":431,"value":43230},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. A clinic sending 500 appointment reminders\u002Fday pays $5\u002Fmonth total.",{"type":426,"tag":427,"props":43232,"children":43233},{},[43234,43239],{"type":426,"tag":446,"props":43235,"children":43236},{},[43237],{"type":431,"value":43238},"Can patients reply to confirm or cancel their appointments?",{"type":431,"value":43240},"\nYes. Set up a Rapiwa webhook to receive incoming replies. When a patient replies \"CANCEL\", the webhook triggers a cancellation in your booking system and a notification to your front desk.",{"type":426,"tag":427,"props":43242,"children":43243},{},[43244,43249],{"type":426,"tag":446,"props":43245,"children":43246},{},[43247],{"type":431,"value":43248},"What if a patient doesn't have WhatsApp?",{"type":431,"value":43250},"\nCheck if the patient's number is a WhatsApp number before sending. Non-WhatsApp numbers can be handled with an SMS fallback (different provider) or a phone call trigger in n8n.",{"type":426,"tag":427,"props":43252,"children":43253},{},[43254,43259],{"type":426,"tag":446,"props":43255,"children":43256},{},[43257],{"type":431,"value":43258},"What is the best WhatsApp API for healthcare appointment reminders?",{"type":431,"value":43260},"\nRapiwa is the most cost-effective option at $5\u002Fmonth flat with no per-message fees, a 5.0\u002F5 Sourceforge rating, and no official WhatsApp Business verification required.",{"type":426,"tag":4164,"props":43262,"children":43263},{},[43264],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":43266},[43267,43268,43276,43281,43282],{"id":41228,"depth":588,"text":41231},{"id":41305,"depth":588,"text":41308,"children":43269},[43270,43271,43272,43273,43274,43275],{"id":41311,"depth":606,"text":41314},{"id":41511,"depth":606,"text":41514},{"id":42123,"depth":606,"text":42126},{"id":42155,"depth":606,"text":42158},{"id":42636,"depth":606,"text":42639},{"id":42668,"depth":606,"text":42671},{"id":42700,"depth":588,"text":42703,"children":43277},[43278,43279,43280],{"id":3809,"depth":606,"text":3812},{"id":42720,"depth":606,"text":42723},{"id":42744,"depth":606,"text":42747},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-healthcare-appointment-reminders.md","blog\u002Fwhatsapp-api-healthcare-appointment-reminders.md","blog\u002Fwhatsapp-api-healthcare-appointment-reminders",{"loc":57},{"_path":61,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":62,"description":63,"date":43288,"author":10935,"category":8,"_slug":43289,"image":43290,"body":43291,"_type":4187,"_id":45524,"_source":4189,"_file":45525,"_stem":45526,"_extension":4192,"sitemap":45527},"2026-03-15","whatsapp-api-real-estate-lead-follow-up","\u002Fimages\u002Fblog\u002Fwhatsapp-api-real-estate-lead-follow-up.svg",{"type":423,"children":43292,"toc":45506},[43293,43298,43304,43316,43320,43352,43358,43364,43373,43382,43475,43485,43491,43496,44287,44293,44302,44311,44319,44325,44334,44343,44831,44837,44846,44855,44863,44869,44878,44887,44895,44901,44905,44915,44921,44926,44952,44957,44963,45394,45398,45441,45445,45455,45465,45482,45492,45502],{"type":426,"tag":427,"props":43294,"children":43295},{},[43296],{"type":431,"value":43297},"WhatsApp API for real estate lets agents and agencies automatically follow up with new leads, confirm property viewings, send property listings, and alert buyers about price drops. Using Rapiwa API ($5\u002Fmonth, no per-message fees), real estate businesses can contact leads within 5 minutes of inquiry — increasing appointment booking rates by 30–50% compared to callback-only approaches.",{"type":426,"tag":434,"props":43299,"children":43301},{"id":43300},"why-real-estate-needs-whatsapp-automation",[43302],{"type":431,"value":43303},"Why Real Estate Needs WhatsApp Automation",{"type":426,"tag":427,"props":43305,"children":43306},{},[43307,43309,43314],{"type":431,"value":43308},"Real estate has a ",{"type":426,"tag":446,"props":43310,"children":43311},{},[43312],{"type":431,"value":43313},"speed-to-lead",{"type":431,"value":43315}," problem: the first agent to respond wins the deal. Studies show that leads contacted within 5 minutes convert at 9x the rate of leads contacted after 30 minutes. Yet most real estate agents respond to web inquiries 47 minutes after they arrive — usually by email, which has a 20% open rate.",{"type":426,"tag":427,"props":43317,"children":43318},{},[43319],{"type":431,"value":41248},{"type":426,"tag":454,"props":43321,"children":43322},{},[43323,43332,43342],{"type":426,"tag":458,"props":43324,"children":43325},{},[43326,43330],{"type":426,"tag":446,"props":43327,"children":43328},{},[43329],{"type":431,"value":465},{"type":431,"value":43331}," — prospects read your message within minutes",{"type":426,"tag":458,"props":43333,"children":43334},{},[43335,43340],{"type":426,"tag":446,"props":43336,"children":43337},{},[43338],{"type":431,"value":43339},"Instant contact",{"type":431,"value":43341}," — automated reply fires within seconds of form submission",{"type":426,"tag":458,"props":43343,"children":43344},{},[43345,43350],{"type":426,"tag":446,"props":43346,"children":43347},{},[43348],{"type":431,"value":43349},"Personal feel",{"type":431,"value":43351}," — WhatsApp feels like a personal message, not a mass email",{"type":426,"tag":434,"props":43353,"children":43355},{"id":43354},"top-6-whatsapp-automation-use-cases-for-real-estate",[43356],{"type":431,"value":43357},"Top 6 WhatsApp Automation Use Cases for Real Estate",{"type":426,"tag":515,"props":43359,"children":43361},{"id":43360},"_1-lead-inquiry-instant-response",[43362],{"type":431,"value":43363},"1. Lead Inquiry Instant Response",{"type":426,"tag":427,"props":43365,"children":43366},{},[43367,43371],{"type":426,"tag":446,"props":43368,"children":43369},{},[43370],{"type":431,"value":528},{"type":431,"value":43372},": Lead fills an enquiry form, waits hours for a callback that never comes.",{"type":426,"tag":427,"props":43374,"children":43375},{},[43376,43380],{"type":426,"tag":446,"props":43377,"children":43378},{},[43379],{"type":431,"value":538},{"type":431,"value":43381},": WhatsApp message arrives within 30 seconds of form submission.",{"type":426,"tag":542,"props":43383,"children":43385},{"code":43384,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! 👋 I am Alex from Prime Properties.\\n\\nThanks for your enquiry about 3-bedroom apartments in Gulshan.\\n\\nI have 4 properties matching your criteria. Would you like me to send details?\\n\\nReply YES and I will share them right now!\"\n  }'\n",[43386],{"type":426,"tag":549,"props":43387,"children":43388},{"__ignoreMap":417},[43389,43412,43427,43442,43453,43460,43468],{"type":426,"tag":553,"props":43390,"children":43391},{"class":555,"line":556},[43392,43396,43400,43404,43408],{"type":426,"tag":553,"props":43393,"children":43394},{"style":560},[43395],{"type":431,"value":563},{"type":426,"tag":553,"props":43397,"children":43398},{"style":566},[43399],{"type":431,"value":569},{"type":426,"tag":553,"props":43401,"children":43402},{"style":572},[43403],{"type":431,"value":575},{"type":426,"tag":553,"props":43405,"children":43406},{"style":572},[43407],{"type":431,"value":580},{"type":426,"tag":553,"props":43409,"children":43410},{"style":566},[43411],{"type":431,"value":585},{"type":426,"tag":553,"props":43413,"children":43414},{"class":555,"line":588},[43415,43419,43423],{"type":426,"tag":553,"props":43416,"children":43417},{"style":566},[43418],{"type":431,"value":594},{"type":426,"tag":553,"props":43420,"children":43421},{"style":572},[43422],{"type":431,"value":599},{"type":426,"tag":553,"props":43424,"children":43425},{"style":566},[43426],{"type":431,"value":585},{"type":426,"tag":553,"props":43428,"children":43429},{"class":555,"line":606},[43430,43434,43438],{"type":426,"tag":553,"props":43431,"children":43432},{"style":566},[43433],{"type":431,"value":594},{"type":426,"tag":553,"props":43435,"children":43436},{"style":572},[43437],{"type":431,"value":616},{"type":426,"tag":553,"props":43439,"children":43440},{"style":566},[43441],{"type":431,"value":585},{"type":426,"tag":553,"props":43443,"children":43444},{"class":555,"line":623},[43445,43449],{"type":426,"tag":553,"props":43446,"children":43447},{"style":566},[43448],{"type":431,"value":629},{"type":426,"tag":553,"props":43450,"children":43451},{"style":572},[43452],{"type":431,"value":634},{"type":426,"tag":553,"props":43454,"children":43455},{"class":555,"line":637},[43456],{"type":426,"tag":553,"props":43457,"children":43458},{"style":572},[43459],{"type":431,"value":643},{"type":426,"tag":553,"props":43461,"children":43462},{"class":555,"line":646},[43463],{"type":426,"tag":553,"props":43464,"children":43465},{"style":572},[43466],{"type":431,"value":43467},"    \"message\": \"Hi Sarah! 👋 I am Alex from Prime Properties.\\n\\nThanks for your enquiry about 3-bedroom apartments in Gulshan.\\n\\nI have 4 properties matching your criteria. Would you like me to send details?\\n\\nReply YES and I will share them right now!\"\n",{"type":426,"tag":553,"props":43469,"children":43470},{"class":555,"line":655},[43471],{"type":426,"tag":553,"props":43472,"children":43473},{"style":572},[43474],{"type":431,"value":661},{"type":426,"tag":427,"props":43476,"children":43477},{},[43478,43483],{"type":426,"tag":446,"props":43479,"children":43480},{},[43481],{"type":431,"value":43482},"Result",{"type":431,"value":43484},": 50% higher response rate when the initial contact is on WhatsApp (vs phone callback).",{"type":426,"tag":515,"props":43486,"children":43488},{"id":43487},"_2-property-listings-with-images",[43489],{"type":431,"value":43490},"2. Property Listings with Images",{"type":426,"tag":427,"props":43492,"children":43493},{},[43494],{"type":431,"value":43495},"Send property photos directly on WhatsApp for instant visual impact:",{"type":426,"tag":542,"props":43497,"children":43499},{"code":43498,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef send_property_listing(phone: str, agent_name: str, listing: dict, api_key: str) -> dict:\n    \"\"\"Send a property listing with image via WhatsApp.\"\"\"\n    \n    # Send image first\n    image_response = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={\n            'number': phone,\n            'imageUrl': listing['main_image_url'],\n            'caption': (\n                f\"🏠 {listing['title']}\\n\\n\"\n                f\"📍 {listing['location']}\\n\"\n                f\"💰 {listing['price']}\\n\"\n                f\"🛏️ {listing['bedrooms']} bed | 🚿 {listing['bathrooms']} bath | 📐 {listing['area']}\\n\\n\"\n                f\"View full listing: {listing['url']}\"\n            )\n        }\n    )\n    \n    return image_response.json()\n\n# Usage\nsend_property_listing(\n    phone='8801234567890',\n    agent_name='Alex',\n    listing={\n        'title': 'Luxury 3-Bed Apartment, Gulshan 2',\n        'location': 'Gulshan 2, Dhaka',\n        'price': 'BDT 95 Lakh',\n        'bedrooms': 3,\n        'bathrooms': 2,\n        'area': '1,450 sq ft',\n        'main_image_url': 'https:\u002F\u002Fyourcrm.com\u002Fproperties\u002F123\u002Fmain.jpg',\n        'url': 'https:\u002F\u002Fyourcrm.com\u002Fproperties\u002F123'\n    },\n    api_key='YOUR_API_KEY'\n)\n",[43500],{"type":426,"tag":549,"props":43501,"children":43502},{"__ignoreMap":417},[43503,43514,43521,43579,43587,43594,43602,43618,43630,43681,43696,43707,43729,43741,43779,43816,43852,43941,43977,43984,43991,43998,44005,44017,44024,44031,44039,44059,44080,44096,44117,44138,44159,44179,44199,44220,44241,44258,44265,44280],{"type":426,"tag":553,"props":43504,"children":43505},{"class":555,"line":556},[43506,43510],{"type":426,"tag":553,"props":43507,"children":43508},{"style":795},[43509],{"type":431,"value":798},{"type":426,"tag":553,"props":43511,"children":43512},{"style":684},[43513],{"type":431,"value":803},{"type":426,"tag":553,"props":43515,"children":43516},{"class":555,"line":588},[43517],{"type":426,"tag":553,"props":43518,"children":43519},{"emptyLinePlaceholder":831},[43520],{"type":431,"value":834},{"type":426,"tag":553,"props":43522,"children":43523},{"class":555,"line":606},[43524,43528,43533,43537,43541,43546,43550,43555,43559,43563,43567,43571,43575],{"type":426,"tag":553,"props":43525,"children":43526},{"style":795},[43527],{"type":431,"value":842},{"type":426,"tag":553,"props":43529,"children":43530},{"style":560},[43531],{"type":431,"value":43532}," send_property_listing",{"type":426,"tag":553,"props":43534,"children":43535},{"style":684},[43536],{"type":431,"value":7446},{"type":426,"tag":553,"props":43538,"children":43539},{"style":566},[43540],{"type":431,"value":895},{"type":426,"tag":553,"props":43542,"children":43543},{"style":684},[43544],{"type":431,"value":43545},", agent_name: ",{"type":426,"tag":553,"props":43547,"children":43548},{"style":566},[43549],{"type":431,"value":895},{"type":426,"tag":553,"props":43551,"children":43552},{"style":684},[43553],{"type":431,"value":43554},", listing: ",{"type":426,"tag":553,"props":43556,"children":43557},{"style":566},[43558],{"type":431,"value":857},{"type":426,"tag":553,"props":43560,"children":43561},{"style":684},[43562],{"type":431,"value":890},{"type":426,"tag":553,"props":43564,"children":43565},{"style":566},[43566],{"type":431,"value":895},{"type":426,"tag":553,"props":43568,"children":43569},{"style":684},[43570],{"type":431,"value":900},{"type":426,"tag":553,"props":43572,"children":43573},{"style":566},[43574],{"type":431,"value":857},{"type":426,"tag":553,"props":43576,"children":43577},{"style":684},[43578],{"type":431,"value":909},{"type":426,"tag":553,"props":43580,"children":43581},{"class":555,"line":623},[43582],{"type":426,"tag":553,"props":43583,"children":43584},{"style":572},[43585],{"type":431,"value":43586},"    \"\"\"Send a property listing with image via WhatsApp.\"\"\"\n",{"type":426,"tag":553,"props":43588,"children":43589},{"class":555,"line":637},[43590],{"type":426,"tag":553,"props":43591,"children":43592},{"style":684},[43593],{"type":431,"value":917},{"type":426,"tag":553,"props":43595,"children":43596},{"class":555,"line":646},[43597],{"type":426,"tag":553,"props":43598,"children":43599},{"style":1975},[43600],{"type":431,"value":43601},"    # Send image first\n",{"type":426,"tag":553,"props":43603,"children":43604},{"class":555,"line":655},[43605,43610,43614],{"type":426,"tag":553,"props":43606,"children":43607},{"style":684},[43608],{"type":431,"value":43609},"    image_response ",{"type":426,"tag":553,"props":43611,"children":43612},{"style":795},[43613],{"type":431,"value":957},{"type":426,"tag":553,"props":43615,"children":43616},{"style":684},[43617],{"type":431,"value":1664},{"type":426,"tag":553,"props":43619,"children":43620},{"class":555,"line":1036},[43621,43626],{"type":426,"tag":553,"props":43622,"children":43623},{"style":572},[43624],{"type":431,"value":43625},"        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image'",{"type":426,"tag":553,"props":43627,"children":43628},{"style":684},[43629],{"type":431,"value":710},{"type":426,"tag":553,"props":43631,"children":43632},{"class":555,"line":1054},[43633,43637,43641,43645,43649,43653,43657,43661,43665,43669,43673,43677],{"type":426,"tag":553,"props":43634,"children":43635},{"style":1684},[43636],{"type":431,"value":1687},{"type":426,"tag":553,"props":43638,"children":43639},{"style":795},[43640],{"type":431,"value":957},{"type":426,"tag":553,"props":43642,"children":43643},{"style":684},[43644],{"type":431,"value":972},{"type":426,"tag":553,"props":43646,"children":43647},{"style":572},[43648],{"type":431,"value":1700},{"type":426,"tag":553,"props":43650,"children":43651},{"style":684},[43652],{"type":431,"value":700},{"type":426,"tag":553,"props":43654,"children":43655},{"style":795},[43656],{"type":431,"value":1709},{"type":426,"tag":553,"props":43658,"children":43659},{"style":572},[43660],{"type":431,"value":1714},{"type":426,"tag":553,"props":43662,"children":43663},{"style":566},[43664],{"type":431,"value":972},{"type":426,"tag":553,"props":43666,"children":43667},{"style":684},[43668],{"type":431,"value":1723},{"type":426,"tag":553,"props":43670,"children":43671},{"style":566},[43672],{"type":431,"value":982},{"type":426,"tag":553,"props":43674,"children":43675},{"style":572},[43676],{"type":431,"value":1732},{"type":426,"tag":553,"props":43678,"children":43679},{"style":684},[43680],{"type":431,"value":1737},{"type":426,"tag":553,"props":43682,"children":43683},{"class":555,"line":1080},[43684,43688,43692],{"type":426,"tag":553,"props":43685,"children":43686},{"style":1684},[43687],{"type":431,"value":1746},{"type":426,"tag":553,"props":43689,"children":43690},{"style":795},[43691],{"type":431,"value":957},{"type":426,"tag":553,"props":43693,"children":43694},{"style":684},[43695],{"type":431,"value":687},{"type":426,"tag":553,"props":43697,"children":43698},{"class":555,"line":1097},[43699,43703],{"type":426,"tag":553,"props":43700,"children":43701},{"style":572},[43702],{"type":431,"value":15045},{"type":426,"tag":553,"props":43704,"children":43705},{"style":684},[43706],{"type":431,"value":37726},{"type":426,"tag":553,"props":43708,"children":43709},{"class":555,"line":1114},[43710,43715,43720,43725],{"type":426,"tag":553,"props":43711,"children":43712},{"style":572},[43713],{"type":431,"value":43714},"            'imageUrl'",{"type":426,"tag":553,"props":43716,"children":43717},{"style":684},[43718],{"type":431,"value":43719},": listing[",{"type":426,"tag":553,"props":43721,"children":43722},{"style":572},[43723],{"type":431,"value":43724},"'main_image_url'",{"type":426,"tag":553,"props":43726,"children":43727},{"style":684},[43728],{"type":431,"value":12804},{"type":426,"tag":553,"props":43730,"children":43731},{"class":555,"line":1127},[43732,43737],{"type":426,"tag":553,"props":43733,"children":43734},{"style":572},[43735],{"type":431,"value":43736},"            'caption'",{"type":426,"tag":553,"props":43738,"children":43739},{"style":684},[43740],{"type":431,"value":19385},{"type":426,"tag":553,"props":43742,"children":43743},{"class":555,"line":1167},[43744,43748,43753,43757,43762,43767,43771,43775],{"type":426,"tag":553,"props":43745,"children":43746},{"style":795},[43747],{"type":431,"value":29860},{"type":426,"tag":553,"props":43749,"children":43750},{"style":572},[43751],{"type":431,"value":43752},"\"🏠 ",{"type":426,"tag":553,"props":43754,"children":43755},{"style":566},[43756],{"type":431,"value":972},{"type":426,"tag":553,"props":43758,"children":43759},{"style":684},[43760],{"type":431,"value":43761},"listing[",{"type":426,"tag":553,"props":43763,"children":43764},{"style":572},[43765],{"type":431,"value":43766},"'title'",{"type":426,"tag":553,"props":43768,"children":43769},{"style":684},[43770],{"type":431,"value":1240},{"type":426,"tag":553,"props":43772,"children":43773},{"style":566},[43774],{"type":431,"value":1245},{"type":426,"tag":553,"props":43776,"children":43777},{"style":572},[43778],{"type":431,"value":1250},{"type":426,"tag":553,"props":43780,"children":43781},{"class":555,"line":1184},[43782,43786,43791,43795,43799,43804,43808,43812],{"type":426,"tag":553,"props":43783,"children":43784},{"style":795},[43785],{"type":431,"value":29860},{"type":426,"tag":553,"props":43787,"children":43788},{"style":572},[43789],{"type":431,"value":43790},"\"📍 ",{"type":426,"tag":553,"props":43792,"children":43793},{"style":566},[43794],{"type":431,"value":972},{"type":426,"tag":553,"props":43796,"children":43797},{"style":684},[43798],{"type":431,"value":43761},{"type":426,"tag":553,"props":43800,"children":43801},{"style":572},[43802],{"type":431,"value":43803},"'location'",{"type":426,"tag":553,"props":43805,"children":43806},{"style":684},[43807],{"type":431,"value":1240},{"type":426,"tag":553,"props":43809,"children":43810},{"style":566},[43811],{"type":431,"value":1407},{"type":426,"tag":553,"props":43813,"children":43814},{"style":572},[43815],{"type":431,"value":1250},{"type":426,"tag":553,"props":43817,"children":43818},{"class":555,"line":1192},[43819,43823,43828,43832,43836,43840,43844,43848],{"type":426,"tag":553,"props":43820,"children":43821},{"style":795},[43822],{"type":431,"value":29860},{"type":426,"tag":553,"props":43824,"children":43825},{"style":572},[43826],{"type":431,"value":43827},"\"💰 ",{"type":426,"tag":553,"props":43829,"children":43830},{"style":566},[43831],{"type":431,"value":972},{"type":426,"tag":553,"props":43833,"children":43834},{"style":684},[43835],{"type":431,"value":43761},{"type":426,"tag":553,"props":43837,"children":43838},{"style":572},[43839],{"type":431,"value":19954},{"type":426,"tag":553,"props":43841,"children":43842},{"style":684},[43843],{"type":431,"value":1240},{"type":426,"tag":553,"props":43845,"children":43846},{"style":566},[43847],{"type":431,"value":1407},{"type":426,"tag":553,"props":43849,"children":43850},{"style":572},[43851],{"type":431,"value":1250},{"type":426,"tag":553,"props":43853,"children":43854},{"class":555,"line":1210},[43855,43859,43864,43868,43872,43877,43881,43885,43890,43894,43898,43903,43907,43911,43916,43920,43924,43929,43933,43937],{"type":426,"tag":553,"props":43856,"children":43857},{"style":795},[43858],{"type":431,"value":29860},{"type":426,"tag":553,"props":43860,"children":43861},{"style":572},[43862],{"type":431,"value":43863},"\"🛏️ ",{"type":426,"tag":553,"props":43865,"children":43866},{"style":566},[43867],{"type":431,"value":972},{"type":426,"tag":553,"props":43869,"children":43870},{"style":684},[43871],{"type":431,"value":43761},{"type":426,"tag":553,"props":43873,"children":43874},{"style":572},[43875],{"type":431,"value":43876},"'bedrooms'",{"type":426,"tag":553,"props":43878,"children":43879},{"style":684},[43880],{"type":431,"value":1240},{"type":426,"tag":553,"props":43882,"children":43883},{"style":566},[43884],{"type":431,"value":982},{"type":426,"tag":553,"props":43886,"children":43887},{"style":572},[43888],{"type":431,"value":43889}," bed | 🚿 ",{"type":426,"tag":553,"props":43891,"children":43892},{"style":566},[43893],{"type":431,"value":972},{"type":426,"tag":553,"props":43895,"children":43896},{"style":684},[43897],{"type":431,"value":43761},{"type":426,"tag":553,"props":43899,"children":43900},{"style":572},[43901],{"type":431,"value":43902},"'bathrooms'",{"type":426,"tag":553,"props":43904,"children":43905},{"style":684},[43906],{"type":431,"value":1240},{"type":426,"tag":553,"props":43908,"children":43909},{"style":566},[43910],{"type":431,"value":982},{"type":426,"tag":553,"props":43912,"children":43913},{"style":572},[43914],{"type":431,"value":43915}," bath | 📐 ",{"type":426,"tag":553,"props":43917,"children":43918},{"style":566},[43919],{"type":431,"value":972},{"type":426,"tag":553,"props":43921,"children":43922},{"style":684},[43923],{"type":431,"value":43761},{"type":426,"tag":553,"props":43925,"children":43926},{"style":572},[43927],{"type":431,"value":43928},"'area'",{"type":426,"tag":553,"props":43930,"children":43931},{"style":684},[43932],{"type":431,"value":1240},{"type":426,"tag":553,"props":43934,"children":43935},{"style":566},[43936],{"type":431,"value":1245},{"type":426,"tag":553,"props":43938,"children":43939},{"style":572},[43940],{"type":431,"value":1250},{"type":426,"tag":553,"props":43942,"children":43943},{"class":555,"line":1253},[43944,43948,43953,43957,43961,43965,43969,43973],{"type":426,"tag":553,"props":43945,"children":43946},{"style":795},[43947],{"type":431,"value":29860},{"type":426,"tag":553,"props":43949,"children":43950},{"style":572},[43951],{"type":431,"value":43952},"\"View full listing: ",{"type":426,"tag":553,"props":43954,"children":43955},{"style":566},[43956],{"type":431,"value":972},{"type":426,"tag":553,"props":43958,"children":43959},{"style":684},[43960],{"type":431,"value":43761},{"type":426,"tag":553,"props":43962,"children":43963},{"style":572},[43964],{"type":431,"value":32818},{"type":426,"tag":553,"props":43966,"children":43967},{"style":684},[43968],{"type":431,"value":1240},{"type":426,"tag":553,"props":43970,"children":43971},{"style":566},[43972],{"type":431,"value":982},{"type":426,"tag":553,"props":43974,"children":43975},{"style":572},[43976],{"type":431,"value":1250},{"type":426,"tag":553,"props":43978,"children":43979},{"class":555,"line":1302},[43980],{"type":426,"tag":553,"props":43981,"children":43982},{"style":684},[43983],{"type":431,"value":2551},{"type":426,"tag":553,"props":43985,"children":43986},{"class":555,"line":1374},[43987],{"type":426,"tag":553,"props":43988,"children":43989},{"style":684},[43990],{"type":431,"value":15075},{"type":426,"tag":553,"props":43992,"children":43993},{"class":555,"line":1414},[43994],{"type":426,"tag":553,"props":43995,"children":43996},{"style":684},[43997],{"type":431,"value":1642},{"type":426,"tag":553,"props":43999,"children":44000},{"class":555,"line":1479},[44001],{"type":426,"tag":553,"props":44002,"children":44003},{"style":684},[44004],{"type":431,"value":917},{"type":426,"tag":553,"props":44006,"children":44007},{"class":555,"line":1517},[44008,44012],{"type":426,"tag":553,"props":44009,"children":44010},{"style":795},[44011],{"type":431,"value":1659},{"type":426,"tag":553,"props":44013,"children":44014},{"style":684},[44015],{"type":431,"value":44016}," image_response.json()\n",{"type":426,"tag":553,"props":44018,"children":44019},{"class":555,"line":1560},[44020],{"type":426,"tag":553,"props":44021,"children":44022},{"emptyLinePlaceholder":831},[44023],{"type":431,"value":834},{"type":426,"tag":553,"props":44025,"children":44026},{"class":555,"line":1598},[44027],{"type":426,"tag":553,"props":44028,"children":44029},{"style":1975},[44030],{"type":431,"value":34179},{"type":426,"tag":553,"props":44032,"children":44033},{"class":555,"line":1636},[44034],{"type":426,"tag":553,"props":44035,"children":44036},{"style":684},[44037],{"type":431,"value":44038},"send_property_listing(\n",{"type":426,"tag":553,"props":44040,"children":44041},{"class":555,"line":1645},[44042,44047,44051,44055],{"type":426,"tag":553,"props":44043,"children":44044},{"style":1684},[44045],{"type":431,"value":44046},"    phone",{"type":426,"tag":553,"props":44048,"children":44049},{"style":795},[44050],{"type":431,"value":957},{"type":426,"tag":553,"props":44052,"children":44053},{"style":572},[44054],{"type":431,"value":10197},{"type":426,"tag":553,"props":44056,"children":44057},{"style":684},[44058],{"type":431,"value":710},{"type":426,"tag":553,"props":44060,"children":44061},{"class":555,"line":1653},[44062,44067,44071,44076],{"type":426,"tag":553,"props":44063,"children":44064},{"style":1684},[44065],{"type":431,"value":44066},"    agent_name",{"type":426,"tag":553,"props":44068,"children":44069},{"style":795},[44070],{"type":431,"value":957},{"type":426,"tag":553,"props":44072,"children":44073},{"style":572},[44074],{"type":431,"value":44075},"'Alex'",{"type":426,"tag":553,"props":44077,"children":44078},{"style":684},[44079],{"type":431,"value":710},{"type":426,"tag":553,"props":44081,"children":44082},{"class":555,"line":1667},[44083,44088,44092],{"type":426,"tag":553,"props":44084,"children":44085},{"style":1684},[44086],{"type":431,"value":44087},"    listing",{"type":426,"tag":553,"props":44089,"children":44090},{"style":795},[44091],{"type":431,"value":957},{"type":426,"tag":553,"props":44093,"children":44094},{"style":684},[44095],{"type":431,"value":687},{"type":426,"tag":553,"props":44097,"children":44098},{"class":555,"line":1680},[44099,44104,44108,44113],{"type":426,"tag":553,"props":44100,"children":44101},{"style":572},[44102],{"type":431,"value":44103},"        'title'",{"type":426,"tag":553,"props":44105,"children":44106},{"style":684},[44107],{"type":431,"value":700},{"type":426,"tag":553,"props":44109,"children":44110},{"style":572},[44111],{"type":431,"value":44112},"'Luxury 3-Bed Apartment, Gulshan 2'",{"type":426,"tag":553,"props":44114,"children":44115},{"style":684},[44116],{"type":431,"value":710},{"type":426,"tag":553,"props":44118,"children":44119},{"class":555,"line":1740},[44120,44125,44129,44134],{"type":426,"tag":553,"props":44121,"children":44122},{"style":572},[44123],{"type":431,"value":44124},"        'location'",{"type":426,"tag":553,"props":44126,"children":44127},{"style":684},[44128],{"type":431,"value":700},{"type":426,"tag":553,"props":44130,"children":44131},{"style":572},[44132],{"type":431,"value":44133},"'Gulshan 2, Dhaka'",{"type":426,"tag":553,"props":44135,"children":44136},{"style":684},[44137],{"type":431,"value":710},{"type":426,"tag":553,"props":44139,"children":44140},{"class":555,"line":1787},[44141,44146,44150,44155],{"type":426,"tag":553,"props":44142,"children":44143},{"style":572},[44144],{"type":431,"value":44145},"        'price'",{"type":426,"tag":553,"props":44147,"children":44148},{"style":684},[44149],{"type":431,"value":700},{"type":426,"tag":553,"props":44151,"children":44152},{"style":572},[44153],{"type":431,"value":44154},"'BDT 95 Lakh'",{"type":426,"tag":553,"props":44156,"children":44157},{"style":684},[44158],{"type":431,"value":710},{"type":426,"tag":553,"props":44160,"children":44161},{"class":555,"line":1796},[44162,44167,44171,44175],{"type":426,"tag":553,"props":44163,"children":44164},{"style":572},[44165],{"type":431,"value":44166},"        'bedrooms'",{"type":426,"tag":553,"props":44168,"children":44169},{"style":684},[44170],{"type":431,"value":700},{"type":426,"tag":553,"props":44172,"children":44173},{"style":566},[44174],{"type":431,"value":1912},{"type":426,"tag":553,"props":44176,"children":44177},{"style":684},[44178],{"type":431,"value":710},{"type":426,"tag":553,"props":44180,"children":44181},{"class":555,"line":1804},[44182,44187,44191,44195],{"type":426,"tag":553,"props":44183,"children":44184},{"style":572},[44185],{"type":431,"value":44186},"        'bathrooms'",{"type":426,"tag":553,"props":44188,"children":44189},{"style":684},[44190],{"type":431,"value":700},{"type":426,"tag":553,"props":44192,"children":44193},{"style":566},[44194],{"type":431,"value":6533},{"type":426,"tag":553,"props":44196,"children":44197},{"style":684},[44198],{"type":431,"value":710},{"type":426,"tag":553,"props":44200,"children":44201},{"class":555,"line":1812},[44202,44207,44211,44216],{"type":426,"tag":553,"props":44203,"children":44204},{"style":572},[44205],{"type":431,"value":44206},"        'area'",{"type":426,"tag":553,"props":44208,"children":44209},{"style":684},[44210],{"type":431,"value":700},{"type":426,"tag":553,"props":44212,"children":44213},{"style":572},[44214],{"type":431,"value":44215},"'1,450 sq ft'",{"type":426,"tag":553,"props":44217,"children":44218},{"style":684},[44219],{"type":431,"value":710},{"type":426,"tag":553,"props":44221,"children":44222},{"class":555,"line":1847},[44223,44228,44232,44237],{"type":426,"tag":553,"props":44224,"children":44225},{"style":572},[44226],{"type":431,"value":44227},"        'main_image_url'",{"type":426,"tag":553,"props":44229,"children":44230},{"style":684},[44231],{"type":431,"value":700},{"type":426,"tag":553,"props":44233,"children":44234},{"style":572},[44235],{"type":431,"value":44236},"'https:\u002F\u002Fyourcrm.com\u002Fproperties\u002F123\u002Fmain.jpg'",{"type":426,"tag":553,"props":44238,"children":44239},{"style":684},[44240],{"type":431,"value":710},{"type":426,"tag":553,"props":44242,"children":44243},{"class":555,"line":1856},[44244,44249,44253],{"type":426,"tag":553,"props":44245,"children":44246},{"style":572},[44247],{"type":431,"value":44248},"        'url'",{"type":426,"tag":553,"props":44250,"children":44251},{"style":684},[44252],{"type":431,"value":700},{"type":426,"tag":553,"props":44254,"children":44255},{"style":572},[44256],{"type":431,"value":44257},"'https:\u002F\u002Fyourcrm.com\u002Fproperties\u002F123'\n",{"type":426,"tag":553,"props":44259,"children":44260},{"class":555,"line":1874},[44261],{"type":426,"tag":553,"props":44262,"children":44263},{"style":684},[44264],{"type":431,"value":17203},{"type":426,"tag":553,"props":44266,"children":44267},{"class":555,"line":1882},[44268,44272,44276],{"type":426,"tag":553,"props":44269,"children":44270},{"style":1684},[44271],{"type":431,"value":3245},{"type":426,"tag":553,"props":44273,"children":44274},{"style":795},[44275],{"type":431,"value":957},{"type":426,"tag":553,"props":44277,"children":44278},{"style":572},[44279],{"type":431,"value":3254},{"type":426,"tag":553,"props":44281,"children":44282},{"class":555,"line":1981},[44283],{"type":426,"tag":553,"props":44284,"children":44285},{"style":684},[44286],{"type":431,"value":3262},{"type":426,"tag":515,"props":44288,"children":44290},{"id":44289},"_3-viewing-appointment-confirmation",[44291],{"type":431,"value":44292},"3. Viewing Appointment Confirmation",{"type":426,"tag":427,"props":44294,"children":44295},{},[44296,44300],{"type":426,"tag":446,"props":44297,"children":44298},{},[44299],{"type":431,"value":528},{"type":431,"value":44301},": Prospects forget viewings scheduled by phone or email.",{"type":426,"tag":427,"props":44303,"children":44304},{},[44305,44309],{"type":426,"tag":446,"props":44306,"children":44307},{},[44308],{"type":431,"value":538},{"type":431,"value":44310},": WhatsApp confirmation with all viewing details and a reminder.",{"type":426,"tag":542,"props":44312,"children":44314},{"code":44313},"Message 1 (immediately after booking):\n\"Hi Sarah! Your property viewing is confirmed ✅\n\n📅 Date: Thursday, July 10, 2026\n⏰ Time: 2:00 PM\n📍 Address: House 45, Road 12, Gulshan 2, Dhaka\n🏠 Property: 3-bed apartment (Listing #123)\n👤 Agent: Alex Rahman — +880 1234 567890\n\nReply CANCEL if you need to reschedule.\"\n\nMessage 2 (24 hours before):\n\"Reminder 🔔 Your property viewing is tomorrow at 2:00 PM!\n\nAddress: House 45, Road 12, Gulshan 2\nGoogle Maps: https:\u002F\u002Fmaps.google.com\u002F...\n\nSee you then! — Alex\"\n",[44315],{"type":426,"tag":549,"props":44316,"children":44317},{"__ignoreMap":417},[44318],{"type":431,"value":44313},{"type":426,"tag":515,"props":44320,"children":44322},{"id":44321},"_4-price-drop-alert",[44323],{"type":431,"value":44324},"4. Price Drop Alert",{"type":426,"tag":427,"props":44326,"children":44327},{},[44328,44332],{"type":426,"tag":446,"props":44329,"children":44330},{},[44331],{"type":431,"value":528},{"type":431,"value":44333},": Buyers who can't afford a property today become buyers tomorrow if the price drops — but they forget to check.",{"type":426,"tag":427,"props":44335,"children":44336},{},[44337,44341],{"type":426,"tag":446,"props":44338,"children":44339},{},[44340],{"type":431,"value":538},{"type":431,"value":44342},": Register buyers' budgets and send WhatsApp alerts when matching properties drop in price.",{"type":426,"tag":542,"props":44344,"children":44346},{"code":44345,"language":784,"meta":417,"className":785,"style":417},"def send_price_drop_alert(phone: str, name: str, property_: dict, api_key: str) -> dict:\n    message = (\n        f\"Price drop alert! 📉\\n\\n\"\n        f\"Hi {name}, a property you saved just reduced in price:\\n\\n\"\n        f\"🏠 {property_['title']}\\n\"\n        f\"📍 {property_['location']}\\n\"\n        f\"💰 New price: {property_['new_price']} (was {property_['old_price']})\\n\"\n        f\"📉 Reduced by: {property_['reduction']}\\n\\n\"\n        f\"View property: {property_['url']}\\n\\n\"\n        f\"Interested? Reply YES and I will schedule a viewing!\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': phone, 'message': message}\n    ).json()\n",[44347],{"type":426,"tag":549,"props":44348,"children":44349},{"__ignoreMap":417},[44350,44408,44423,44443,44479,44515,44550,44621,44658,44694,44706,44713,44720,44731,44742,44793,44824],{"type":426,"tag":553,"props":44351,"children":44352},{"class":555,"line":556},[44353,44357,44362,44366,44370,44375,44379,44384,44388,44392,44396,44400,44404],{"type":426,"tag":553,"props":44354,"children":44355},{"style":795},[44356],{"type":431,"value":842},{"type":426,"tag":553,"props":44358,"children":44359},{"style":560},[44360],{"type":431,"value":44361}," send_price_drop_alert",{"type":426,"tag":553,"props":44363,"children":44364},{"style":684},[44365],{"type":431,"value":7446},{"type":426,"tag":553,"props":44367,"children":44368},{"style":566},[44369],{"type":431,"value":895},{"type":426,"tag":553,"props":44371,"children":44372},{"style":684},[44373],{"type":431,"value":44374},", name: ",{"type":426,"tag":553,"props":44376,"children":44377},{"style":566},[44378],{"type":431,"value":895},{"type":426,"tag":553,"props":44380,"children":44381},{"style":684},[44382],{"type":431,"value":44383},", property_: ",{"type":426,"tag":553,"props":44385,"children":44386},{"style":566},[44387],{"type":431,"value":857},{"type":426,"tag":553,"props":44389,"children":44390},{"style":684},[44391],{"type":431,"value":890},{"type":426,"tag":553,"props":44393,"children":44394},{"style":566},[44395],{"type":431,"value":895},{"type":426,"tag":553,"props":44397,"children":44398},{"style":684},[44399],{"type":431,"value":900},{"type":426,"tag":553,"props":44401,"children":44402},{"style":566},[44403],{"type":431,"value":857},{"type":426,"tag":553,"props":44405,"children":44406},{"style":684},[44407],{"type":431,"value":909},{"type":426,"tag":553,"props":44409,"children":44410},{"class":555,"line":588},[44411,44415,44419],{"type":426,"tag":553,"props":44412,"children":44413},{"style":684},[44414],{"type":431,"value":1198},{"type":426,"tag":553,"props":44416,"children":44417},{"style":795},[44418],{"type":431,"value":957},{"type":426,"tag":553,"props":44420,"children":44421},{"style":684},[44422],{"type":431,"value":1207},{"type":426,"tag":553,"props":44424,"children":44425},{"class":555,"line":606},[44426,44430,44435,44439],{"type":426,"tag":553,"props":44427,"children":44428},{"style":795},[44429],{"type":431,"value":1216},{"type":426,"tag":553,"props":44431,"children":44432},{"style":572},[44433],{"type":431,"value":44434},"\"Price drop alert! 📉",{"type":426,"tag":553,"props":44436,"children":44437},{"style":566},[44438],{"type":431,"value":1295},{"type":426,"tag":553,"props":44440,"children":44441},{"style":572},[44442],{"type":431,"value":1250},{"type":426,"tag":553,"props":44444,"children":44445},{"class":555,"line":623},[44446,44450,44454,44458,44462,44466,44471,44475],{"type":426,"tag":553,"props":44447,"children":44448},{"style":795},[44449],{"type":431,"value":1216},{"type":426,"tag":553,"props":44451,"children":44452},{"style":572},[44453],{"type":431,"value":4625},{"type":426,"tag":553,"props":44455,"children":44456},{"style":566},[44457],{"type":431,"value":972},{"type":426,"tag":553,"props":44459,"children":44460},{"style":684},[44461],{"type":431,"value":24468},{"type":426,"tag":553,"props":44463,"children":44464},{"style":566},[44465],{"type":431,"value":982},{"type":426,"tag":553,"props":44467,"children":44468},{"style":572},[44469],{"type":431,"value":44470},", a property you saved just reduced in price:",{"type":426,"tag":553,"props":44472,"children":44473},{"style":566},[44474],{"type":431,"value":1295},{"type":426,"tag":553,"props":44476,"children":44477},{"style":572},[44478],{"type":431,"value":1250},{"type":426,"tag":553,"props":44480,"children":44481},{"class":555,"line":637},[44482,44486,44490,44494,44499,44503,44507,44511],{"type":426,"tag":553,"props":44483,"children":44484},{"style":795},[44485],{"type":431,"value":1216},{"type":426,"tag":553,"props":44487,"children":44488},{"style":572},[44489],{"type":431,"value":43752},{"type":426,"tag":553,"props":44491,"children":44492},{"style":566},[44493],{"type":431,"value":972},{"type":426,"tag":553,"props":44495,"children":44496},{"style":684},[44497],{"type":431,"value":44498},"property_[",{"type":426,"tag":553,"props":44500,"children":44501},{"style":572},[44502],{"type":431,"value":43766},{"type":426,"tag":553,"props":44504,"children":44505},{"style":684},[44506],{"type":431,"value":1240},{"type":426,"tag":553,"props":44508,"children":44509},{"style":566},[44510],{"type":431,"value":1407},{"type":426,"tag":553,"props":44512,"children":44513},{"style":572},[44514],{"type":431,"value":1250},{"type":426,"tag":553,"props":44516,"children":44517},{"class":555,"line":646},[44518,44522,44526,44530,44534,44538,44542,44546],{"type":426,"tag":553,"props":44519,"children":44520},{"style":795},[44521],{"type":431,"value":1216},{"type":426,"tag":553,"props":44523,"children":44524},{"style":572},[44525],{"type":431,"value":43790},{"type":426,"tag":553,"props":44527,"children":44528},{"style":566},[44529],{"type":431,"value":972},{"type":426,"tag":553,"props":44531,"children":44532},{"style":684},[44533],{"type":431,"value":44498},{"type":426,"tag":553,"props":44535,"children":44536},{"style":572},[44537],{"type":431,"value":43803},{"type":426,"tag":553,"props":44539,"children":44540},{"style":684},[44541],{"type":431,"value":1240},{"type":426,"tag":553,"props":44543,"children":44544},{"style":566},[44545],{"type":431,"value":1407},{"type":426,"tag":553,"props":44547,"children":44548},{"style":572},[44549],{"type":431,"value":1250},{"type":426,"tag":553,"props":44551,"children":44552},{"class":555,"line":655},[44553,44557,44562,44566,44570,44575,44579,44583,44588,44592,44596,44601,44605,44609,44613,44617],{"type":426,"tag":553,"props":44554,"children":44555},{"style":795},[44556],{"type":431,"value":1216},{"type":426,"tag":553,"props":44558,"children":44559},{"style":572},[44560],{"type":431,"value":44561},"\"💰 New price: ",{"type":426,"tag":553,"props":44563,"children":44564},{"style":566},[44565],{"type":431,"value":972},{"type":426,"tag":553,"props":44567,"children":44568},{"style":684},[44569],{"type":431,"value":44498},{"type":426,"tag":553,"props":44571,"children":44572},{"style":572},[44573],{"type":431,"value":44574},"'new_price'",{"type":426,"tag":553,"props":44576,"children":44577},{"style":684},[44578],{"type":431,"value":1240},{"type":426,"tag":553,"props":44580,"children":44581},{"style":566},[44582],{"type":431,"value":982},{"type":426,"tag":553,"props":44584,"children":44585},{"style":572},[44586],{"type":431,"value":44587}," (was ",{"type":426,"tag":553,"props":44589,"children":44590},{"style":566},[44591],{"type":431,"value":972},{"type":426,"tag":553,"props":44593,"children":44594},{"style":684},[44595],{"type":431,"value":44498},{"type":426,"tag":553,"props":44597,"children":44598},{"style":572},[44599],{"type":431,"value":44600},"'old_price'",{"type":426,"tag":553,"props":44602,"children":44603},{"style":684},[44604],{"type":431,"value":1240},{"type":426,"tag":553,"props":44606,"children":44607},{"style":566},[44608],{"type":431,"value":982},{"type":426,"tag":553,"props":44610,"children":44611},{"style":572},[44612],{"type":431,"value":5736},{"type":426,"tag":553,"props":44614,"children":44615},{"style":566},[44616],{"type":431,"value":3661},{"type":426,"tag":553,"props":44618,"children":44619},{"style":572},[44620],{"type":431,"value":1250},{"type":426,"tag":553,"props":44622,"children":44623},{"class":555,"line":1036},[44624,44628,44633,44637,44641,44646,44650,44654],{"type":426,"tag":553,"props":44625,"children":44626},{"style":795},[44627],{"type":431,"value":1216},{"type":426,"tag":553,"props":44629,"children":44630},{"style":572},[44631],{"type":431,"value":44632},"\"📉 Reduced by: ",{"type":426,"tag":553,"props":44634,"children":44635},{"style":566},[44636],{"type":431,"value":972},{"type":426,"tag":553,"props":44638,"children":44639},{"style":684},[44640],{"type":431,"value":44498},{"type":426,"tag":553,"props":44642,"children":44643},{"style":572},[44644],{"type":431,"value":44645},"'reduction'",{"type":426,"tag":553,"props":44647,"children":44648},{"style":684},[44649],{"type":431,"value":1240},{"type":426,"tag":553,"props":44651,"children":44652},{"style":566},[44653],{"type":431,"value":1245},{"type":426,"tag":553,"props":44655,"children":44656},{"style":572},[44657],{"type":431,"value":1250},{"type":426,"tag":553,"props":44659,"children":44660},{"class":555,"line":1054},[44661,44665,44670,44674,44678,44682,44686,44690],{"type":426,"tag":553,"props":44662,"children":44663},{"style":795},[44664],{"type":431,"value":1216},{"type":426,"tag":553,"props":44666,"children":44667},{"style":572},[44668],{"type":431,"value":44669},"\"View property: ",{"type":426,"tag":553,"props":44671,"children":44672},{"style":566},[44673],{"type":431,"value":972},{"type":426,"tag":553,"props":44675,"children":44676},{"style":684},[44677],{"type":431,"value":44498},{"type":426,"tag":553,"props":44679,"children":44680},{"style":572},[44681],{"type":431,"value":32818},{"type":426,"tag":553,"props":44683,"children":44684},{"style":684},[44685],{"type":431,"value":1240},{"type":426,"tag":553,"props":44687,"children":44688},{"style":566},[44689],{"type":431,"value":1245},{"type":426,"tag":553,"props":44691,"children":44692},{"style":572},[44693],{"type":431,"value":1250},{"type":426,"tag":553,"props":44695,"children":44696},{"class":555,"line":1080},[44697,44701],{"type":426,"tag":553,"props":44698,"children":44699},{"style":795},[44700],{"type":431,"value":1216},{"type":426,"tag":553,"props":44702,"children":44703},{"style":572},[44704],{"type":431,"value":44705},"\"Interested? Reply YES and I will schedule a viewing!\"\n",{"type":426,"tag":553,"props":44707,"children":44708},{"class":555,"line":1097},[44709],{"type":426,"tag":553,"props":44710,"children":44711},{"style":684},[44712],{"type":431,"value":1642},{"type":426,"tag":553,"props":44714,"children":44715},{"class":555,"line":1114},[44716],{"type":426,"tag":553,"props":44717,"children":44718},{"style":684},[44719],{"type":431,"value":917},{"type":426,"tag":553,"props":44721,"children":44722},{"class":555,"line":1127},[44723,44727],{"type":426,"tag":553,"props":44724,"children":44725},{"style":795},[44726],{"type":431,"value":1659},{"type":426,"tag":553,"props":44728,"children":44729},{"style":684},[44730],{"type":431,"value":1664},{"type":426,"tag":553,"props":44732,"children":44733},{"class":555,"line":1167},[44734,44738],{"type":426,"tag":553,"props":44735,"children":44736},{"style":572},[44737],{"type":431,"value":1673},{"type":426,"tag":553,"props":44739,"children":44740},{"style":684},[44741],{"type":431,"value":710},{"type":426,"tag":553,"props":44743,"children":44744},{"class":555,"line":1184},[44745,44749,44753,44757,44761,44765,44769,44773,44777,44781,44785,44789],{"type":426,"tag":553,"props":44746,"children":44747},{"style":1684},[44748],{"type":431,"value":1687},{"type":426,"tag":553,"props":44750,"children":44751},{"style":795},[44752],{"type":431,"value":957},{"type":426,"tag":553,"props":44754,"children":44755},{"style":684},[44756],{"type":431,"value":972},{"type":426,"tag":553,"props":44758,"children":44759},{"style":572},[44760],{"type":431,"value":1700},{"type":426,"tag":553,"props":44762,"children":44763},{"style":684},[44764],{"type":431,"value":700},{"type":426,"tag":553,"props":44766,"children":44767},{"style":795},[44768],{"type":431,"value":1709},{"type":426,"tag":553,"props":44770,"children":44771},{"style":572},[44772],{"type":431,"value":1714},{"type":426,"tag":553,"props":44774,"children":44775},{"style":566},[44776],{"type":431,"value":972},{"type":426,"tag":553,"props":44778,"children":44779},{"style":684},[44780],{"type":431,"value":1723},{"type":426,"tag":553,"props":44782,"children":44783},{"style":566},[44784],{"type":431,"value":982},{"type":426,"tag":553,"props":44786,"children":44787},{"style":572},[44788],{"type":431,"value":1732},{"type":426,"tag":553,"props":44790,"children":44791},{"style":684},[44792],{"type":431,"value":1737},{"type":426,"tag":553,"props":44794,"children":44795},{"class":555,"line":1192},[44796,44800,44804,44808,44812,44816,44820],{"type":426,"tag":553,"props":44797,"children":44798},{"style":1684},[44799],{"type":431,"value":1746},{"type":426,"tag":553,"props":44801,"children":44802},{"style":795},[44803],{"type":431,"value":957},{"type":426,"tag":553,"props":44805,"children":44806},{"style":684},[44807],{"type":431,"value":972},{"type":426,"tag":553,"props":44809,"children":44810},{"style":572},[44811],{"type":431,"value":1759},{"type":426,"tag":553,"props":44813,"children":44814},{"style":684},[44815],{"type":431,"value":8931},{"type":426,"tag":553,"props":44817,"children":44818},{"style":572},[44819],{"type":431,"value":1779},{"type":426,"tag":553,"props":44821,"children":44822},{"style":684},[44823],{"type":431,"value":1784},{"type":426,"tag":553,"props":44825,"children":44826},{"class":555,"line":1210},[44827],{"type":426,"tag":553,"props":44828,"children":44829},{"style":684},[44830],{"type":431,"value":1793},{"type":426,"tag":515,"props":44832,"children":44834},{"id":44833},"_5-after-viewing-follow-up",[44835],{"type":431,"value":44836},"5. After-Viewing Follow-Up",{"type":426,"tag":427,"props":44838,"children":44839},{},[44840,44844],{"type":426,"tag":446,"props":44841,"children":44842},{},[44843],{"type":431,"value":528},{"type":431,"value":44845},": After showing a property, agents forget to follow up consistently.",{"type":426,"tag":427,"props":44847,"children":44848},{},[44849,44853],{"type":426,"tag":446,"props":44850,"children":44851},{},[44852],{"type":431,"value":538},{"type":431,"value":44854},": Automated WhatsApp follow-up 2 hours after each viewing.",{"type":426,"tag":542,"props":44856,"children":44858},{"code":44857},"\"Hi Sarah! Hope you enjoyed viewing the Gulshan 2 apartment this afternoon 🏠\n\nI would love to hear your thoughts. A few quick questions:\n1. What did you think?\n2. Would you like to see similar properties?\n3. Ready to make an offer, or shall I show you more options?\n\nJust reply and I will get back to you right away! — Alex\"\n",[44859],{"type":426,"tag":549,"props":44860,"children":44861},{"__ignoreMap":417},[44862],{"type":431,"value":44857},{"type":426,"tag":515,"props":44864,"children":44866},{"id":44865},"_6-document-and-contract-reminders",[44867],{"type":431,"value":44868},"6. Document and Contract Reminders",{"type":426,"tag":427,"props":44870,"children":44871},{},[44872,44876],{"type":426,"tag":446,"props":44873,"children":44874},{},[44875],{"type":431,"value":528},{"type":431,"value":44877},": Deals stall when buyers delay submitting documents.",{"type":426,"tag":427,"props":44879,"children":44880},{},[44881,44885],{"type":426,"tag":446,"props":44882,"children":44883},{},[44884],{"type":431,"value":538},{"type":431,"value":44886},": Friendly WhatsApp reminders for outstanding items.",{"type":426,"tag":542,"props":44888,"children":44890},{"code":44889},"\"Hi Sarah! Just a quick reminder 📄\n\nYour sale agreement still needs:\n☐ Copy of NID (front and back)\n☐ Bank statement (last 3 months)\n☐ Signed page 7 of the agreement\n\nReply when you've sent them to my email and I will confirm receipt!\n\nDeadline: Friday, July 12 to keep the property reserved. — Alex\"\n",[44891],{"type":426,"tag":549,"props":44892,"children":44893},{"__ignoreMap":417},[44894],{"type":431,"value":44889},{"type":426,"tag":434,"props":44896,"children":44898},{"id":44897},"how-to-set-up-whatsapp-automation-for-real-estate-with-rapiwa",[44899],{"type":431,"value":44900},"How to Set Up WhatsApp Automation for Real Estate with Rapiwa",{"type":426,"tag":515,"props":44902,"children":44903},{"id":3809},[44904],{"type":431,"value":3812},{"type":426,"tag":427,"props":44906,"children":44907},{},[44908,44909,44914],{"type":431,"value":3817},{"type":426,"tag":3819,"props":44910,"children":44912},{"href":3821,"rel":44911},[3823],[44913],{"type":431,"value":3826},{"type":431,"value":3828},{"type":426,"tag":515,"props":44916,"children":44918},{"id":44917},"step-2-connect-to-your-crm-via-n8n",[44919],{"type":431,"value":44920},"Step 2: Connect to Your CRM via n8n",{"type":426,"tag":427,"props":44922,"children":44923},{},[44924],{"type":431,"value":44925},"If your CRM supports webhooks (HubSpot, Salesforce, Pipedrive, Follow Up Boss):",{"type":426,"tag":6331,"props":44927,"children":44928},{},[44929,44941],{"type":426,"tag":458,"props":44930,"children":44931},{},[44932,44934,44939],{"type":431,"value":44933},"n8n ",{"type":426,"tag":446,"props":44935,"children":44936},{},[44937],{"type":431,"value":44938},"Webhook Trigger",{"type":431,"value":44940}," ← receive new lead events",{"type":426,"tag":458,"props":44942,"children":44943},{},[44944,44945,44950],{"type":431,"value":44933},{"type":426,"tag":446,"props":44946,"children":44947},{},[44948],{"type":431,"value":44949},"HTTP Request",{"type":431,"value":44951}," → Rapiwa API (send WhatsApp)",{"type":426,"tag":427,"props":44953,"children":44954},{},[44955],{"type":431,"value":44956},"Or use Make.com with your CRM's native integration.",{"type":426,"tag":515,"props":44958,"children":44960},{"id":44959},"step-3-send-your-first-message",[44961],{"type":431,"value":44962},"Step 3: Send Your First Message",{"type":426,"tag":542,"props":44964,"children":44966},{"code":44965,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef instant_lead_response(phone: str, lead_name: str, search_criteria: str, api_key: str) -> dict:\n    message = (\n        f\"Hi {lead_name}! 👋 I am from Prime Properties.\\n\\n\"\n        f\"Thanks for your enquiry about {search_criteria}.\\n\\n\"\n        f\"I have properties matching your criteria. \"\n        f\"Would you like me to send details? Reply YES!\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={\"Authorization\": f\"Bearer {api_key}\"},\n        json={\"number\": phone, \"message\": message}\n    ).json()\n\nresult = instant_lead_response(\n    phone=\"8801234567890\",\n    lead_name=\"Sarah\",\n    search_criteria=\"3-bedroom apartments in Gulshan under BDT 1 crore\",\n    api_key=\"YOUR_API_KEY\"\n)\n",[44967],{"type":426,"tag":549,"props":44968,"children":44969},{"__ignoreMap":417},[44970,44981,44988,45046,45061,45098,45135,45147,45159,45166,45173,45184,45195,45247,45280,45287,45294,45310,45329,45350,45371,45387],{"type":426,"tag":553,"props":44971,"children":44972},{"class":555,"line":556},[44973,44977],{"type":426,"tag":553,"props":44974,"children":44975},{"style":795},[44976],{"type":431,"value":798},{"type":426,"tag":553,"props":44978,"children":44979},{"style":684},[44980],{"type":431,"value":803},{"type":426,"tag":553,"props":44982,"children":44983},{"class":555,"line":588},[44984],{"type":426,"tag":553,"props":44985,"children":44986},{"emptyLinePlaceholder":831},[44987],{"type":431,"value":834},{"type":426,"tag":553,"props":44989,"children":44990},{"class":555,"line":606},[44991,44995,45000,45004,45008,45013,45017,45022,45026,45030,45034,45038,45042],{"type":426,"tag":553,"props":44992,"children":44993},{"style":795},[44994],{"type":431,"value":842},{"type":426,"tag":553,"props":44996,"children":44997},{"style":560},[44998],{"type":431,"value":44999}," instant_lead_response",{"type":426,"tag":553,"props":45001,"children":45002},{"style":684},[45003],{"type":431,"value":7446},{"type":426,"tag":553,"props":45005,"children":45006},{"style":566},[45007],{"type":431,"value":895},{"type":426,"tag":553,"props":45009,"children":45010},{"style":684},[45011],{"type":431,"value":45012},", lead_name: ",{"type":426,"tag":553,"props":45014,"children":45015},{"style":566},[45016],{"type":431,"value":895},{"type":426,"tag":553,"props":45018,"children":45019},{"style":684},[45020],{"type":431,"value":45021},", search_criteria: ",{"type":426,"tag":553,"props":45023,"children":45024},{"style":566},[45025],{"type":431,"value":895},{"type":426,"tag":553,"props":45027,"children":45028},{"style":684},[45029],{"type":431,"value":890},{"type":426,"tag":553,"props":45031,"children":45032},{"style":566},[45033],{"type":431,"value":895},{"type":426,"tag":553,"props":45035,"children":45036},{"style":684},[45037],{"type":431,"value":900},{"type":426,"tag":553,"props":45039,"children":45040},{"style":566},[45041],{"type":431,"value":857},{"type":426,"tag":553,"props":45043,"children":45044},{"style":684},[45045],{"type":431,"value":909},{"type":426,"tag":553,"props":45047,"children":45048},{"class":555,"line":623},[45049,45053,45057],{"type":426,"tag":553,"props":45050,"children":45051},{"style":684},[45052],{"type":431,"value":1198},{"type":426,"tag":553,"props":45054,"children":45055},{"style":795},[45056],{"type":431,"value":957},{"type":426,"tag":553,"props":45058,"children":45059},{"style":684},[45060],{"type":431,"value":1207},{"type":426,"tag":553,"props":45062,"children":45063},{"class":555,"line":637},[45064,45068,45072,45076,45081,45085,45090,45094],{"type":426,"tag":553,"props":45065,"children":45066},{"style":795},[45067],{"type":431,"value":1216},{"type":426,"tag":553,"props":45069,"children":45070},{"style":572},[45071],{"type":431,"value":4625},{"type":426,"tag":553,"props":45073,"children":45074},{"style":566},[45075],{"type":431,"value":972},{"type":426,"tag":553,"props":45077,"children":45078},{"style":684},[45079],{"type":431,"value":45080},"lead_name",{"type":426,"tag":553,"props":45082,"children":45083},{"style":566},[45084],{"type":431,"value":982},{"type":426,"tag":553,"props":45086,"children":45087},{"style":572},[45088],{"type":431,"value":45089},"! 👋 I am from Prime Properties.",{"type":426,"tag":553,"props":45091,"children":45092},{"style":566},[45093],{"type":431,"value":1295},{"type":426,"tag":553,"props":45095,"children":45096},{"style":572},[45097],{"type":431,"value":1250},{"type":426,"tag":553,"props":45099,"children":45100},{"class":555,"line":646},[45101,45105,45110,45114,45119,45123,45127,45131],{"type":426,"tag":553,"props":45102,"children":45103},{"style":795},[45104],{"type":431,"value":1216},{"type":426,"tag":553,"props":45106,"children":45107},{"style":572},[45108],{"type":431,"value":45109},"\"Thanks for your enquiry about ",{"type":426,"tag":553,"props":45111,"children":45112},{"style":566},[45113],{"type":431,"value":972},{"type":426,"tag":553,"props":45115,"children":45116},{"style":684},[45117],{"type":431,"value":45118},"search_criteria",{"type":426,"tag":553,"props":45120,"children":45121},{"style":566},[45122],{"type":431,"value":982},{"type":426,"tag":553,"props":45124,"children":45125},{"style":572},[45126],{"type":431,"value":6789},{"type":426,"tag":553,"props":45128,"children":45129},{"style":566},[45130],{"type":431,"value":1295},{"type":426,"tag":553,"props":45132,"children":45133},{"style":572},[45134],{"type":431,"value":1250},{"type":426,"tag":553,"props":45136,"children":45137},{"class":555,"line":655},[45138,45142],{"type":426,"tag":553,"props":45139,"children":45140},{"style":795},[45141],{"type":431,"value":1216},{"type":426,"tag":553,"props":45143,"children":45144},{"style":572},[45145],{"type":431,"value":45146},"\"I have properties matching your criteria. \"\n",{"type":426,"tag":553,"props":45148,"children":45149},{"class":555,"line":1036},[45150,45154],{"type":426,"tag":553,"props":45151,"children":45152},{"style":795},[45153],{"type":431,"value":1216},{"type":426,"tag":553,"props":45155,"children":45156},{"style":572},[45157],{"type":431,"value":45158},"\"Would you like me to send details? Reply YES!\"\n",{"type":426,"tag":553,"props":45160,"children":45161},{"class":555,"line":1054},[45162],{"type":426,"tag":553,"props":45163,"children":45164},{"style":684},[45165],{"type":431,"value":1642},{"type":426,"tag":553,"props":45167,"children":45168},{"class":555,"line":1080},[45169],{"type":426,"tag":553,"props":45170,"children":45171},{"style":684},[45172],{"type":431,"value":917},{"type":426,"tag":553,"props":45174,"children":45175},{"class":555,"line":1097},[45176,45180],{"type":426,"tag":553,"props":45177,"children":45178},{"style":795},[45179],{"type":431,"value":1659},{"type":426,"tag":553,"props":45181,"children":45182},{"style":684},[45183],{"type":431,"value":1664},{"type":426,"tag":553,"props":45185,"children":45186},{"class":555,"line":1114},[45187,45191],{"type":426,"tag":553,"props":45188,"children":45189},{"style":572},[45190],{"type":431,"value":1673},{"type":426,"tag":553,"props":45192,"children":45193},{"style":684},[45194],{"type":431,"value":710},{"type":426,"tag":553,"props":45196,"children":45197},{"class":555,"line":1127},[45198,45202,45206,45210,45215,45219,45223,45227,45231,45235,45239,45243],{"type":426,"tag":553,"props":45199,"children":45200},{"style":1684},[45201],{"type":431,"value":1687},{"type":426,"tag":553,"props":45203,"children":45204},{"style":795},[45205],{"type":431,"value":957},{"type":426,"tag":553,"props":45207,"children":45208},{"style":684},[45209],{"type":431,"value":972},{"type":426,"tag":553,"props":45211,"children":45212},{"style":572},[45213],{"type":431,"value":45214},"\"Authorization\"",{"type":426,"tag":553,"props":45216,"children":45217},{"style":684},[45218],{"type":431,"value":700},{"type":426,"tag":553,"props":45220,"children":45221},{"style":795},[45222],{"type":431,"value":1709},{"type":426,"tag":553,"props":45224,"children":45225},{"style":572},[45226],{"type":431,"value":12608},{"type":426,"tag":553,"props":45228,"children":45229},{"style":566},[45230],{"type":431,"value":972},{"type":426,"tag":553,"props":45232,"children":45233},{"style":684},[45234],{"type":431,"value":1723},{"type":426,"tag":553,"props":45236,"children":45237},{"style":566},[45238],{"type":431,"value":982},{"type":426,"tag":553,"props":45240,"children":45241},{"style":572},[45242],{"type":431,"value":1527},{"type":426,"tag":553,"props":45244,"children":45245},{"style":684},[45246],{"type":431,"value":1737},{"type":426,"tag":553,"props":45248,"children":45249},{"class":555,"line":1167},[45250,45254,45258,45262,45267,45271,45276],{"type":426,"tag":553,"props":45251,"children":45252},{"style":1684},[45253],{"type":431,"value":1746},{"type":426,"tag":553,"props":45255,"children":45256},{"style":795},[45257],{"type":431,"value":957},{"type":426,"tag":553,"props":45259,"children":45260},{"style":684},[45261],{"type":431,"value":972},{"type":426,"tag":553,"props":45263,"children":45264},{"style":572},[45265],{"type":431,"value":45266},"\"number\"",{"type":426,"tag":553,"props":45268,"children":45269},{"style":684},[45270],{"type":431,"value":8931},{"type":426,"tag":553,"props":45272,"children":45273},{"style":572},[45274],{"type":431,"value":45275},"\"message\"",{"type":426,"tag":553,"props":45277,"children":45278},{"style":684},[45279],{"type":431,"value":1784},{"type":426,"tag":553,"props":45281,"children":45282},{"class":555,"line":1184},[45283],{"type":426,"tag":553,"props":45284,"children":45285},{"style":684},[45286],{"type":431,"value":1793},{"type":426,"tag":553,"props":45288,"children":45289},{"class":555,"line":1192},[45290],{"type":426,"tag":553,"props":45291,"children":45292},{"emptyLinePlaceholder":831},[45293],{"type":431,"value":834},{"type":426,"tag":553,"props":45295,"children":45296},{"class":555,"line":1210},[45297,45301,45305],{"type":426,"tag":553,"props":45298,"children":45299},{"style":684},[45300],{"type":431,"value":3146},{"type":426,"tag":553,"props":45302,"children":45303},{"style":795},[45304],{"type":431,"value":957},{"type":426,"tag":553,"props":45306,"children":45307},{"style":684},[45308],{"type":431,"value":45309}," instant_lead_response(\n",{"type":426,"tag":553,"props":45311,"children":45312},{"class":555,"line":1253},[45313,45317,45321,45325],{"type":426,"tag":553,"props":45314,"children":45315},{"style":1684},[45316],{"type":431,"value":44046},{"type":426,"tag":553,"props":45318,"children":45319},{"style":795},[45320],{"type":431,"value":957},{"type":426,"tag":553,"props":45322,"children":45323},{"style":572},[45324],{"type":431,"value":7286},{"type":426,"tag":553,"props":45326,"children":45327},{"style":684},[45328],{"type":431,"value":710},{"type":426,"tag":553,"props":45330,"children":45331},{"class":555,"line":1302},[45332,45337,45341,45346],{"type":426,"tag":553,"props":45333,"children":45334},{"style":1684},[45335],{"type":431,"value":45336},"    lead_name",{"type":426,"tag":553,"props":45338,"children":45339},{"style":795},[45340],{"type":431,"value":957},{"type":426,"tag":553,"props":45342,"children":45343},{"style":572},[45344],{"type":431,"value":45345},"\"Sarah\"",{"type":426,"tag":553,"props":45347,"children":45348},{"style":684},[45349],{"type":431,"value":710},{"type":426,"tag":553,"props":45351,"children":45352},{"class":555,"line":1374},[45353,45358,45362,45367],{"type":426,"tag":553,"props":45354,"children":45355},{"style":1684},[45356],{"type":431,"value":45357},"    search_criteria",{"type":426,"tag":553,"props":45359,"children":45360},{"style":795},[45361],{"type":431,"value":957},{"type":426,"tag":553,"props":45363,"children":45364},{"style":572},[45365],{"type":431,"value":45366},"\"3-bedroom apartments in Gulshan under BDT 1 crore\"",{"type":426,"tag":553,"props":45368,"children":45369},{"style":684},[45370],{"type":431,"value":710},{"type":426,"tag":553,"props":45372,"children":45373},{"class":555,"line":1414},[45374,45378,45382],{"type":426,"tag":553,"props":45375,"children":45376},{"style":1684},[45377],{"type":431,"value":3245},{"type":426,"tag":553,"props":45379,"children":45380},{"style":795},[45381],{"type":431,"value":957},{"type":426,"tag":553,"props":45383,"children":45384},{"style":572},[45385],{"type":431,"value":45386},"\"YOUR_API_KEY\"\n",{"type":426,"tag":553,"props":45388,"children":45389},{"class":555,"line":1479},[45390],{"type":426,"tag":553,"props":45391,"children":45392},{"style":684},[45393],{"type":431,"value":3262},{"type":426,"tag":434,"props":45395,"children":45396},{"id":4050},[45397],{"type":431,"value":4053},{"type":426,"tag":454,"props":45399,"children":45400},{},[45401,45411,45421,45431],{"type":426,"tag":458,"props":45402,"children":45403},{},[45404,45409],{"type":426,"tag":446,"props":45405,"children":45406},{},[45407],{"type":431,"value":45408},"30–50% higher",{"type":431,"value":45410}," viewing booking rate (instant WhatsApp vs delayed callback)",{"type":426,"tag":458,"props":45412,"children":45413},{},[45414,45419],{"type":426,"tag":446,"props":45415,"children":45416},{},[45417],{"type":431,"value":45418},"9x higher conversion",{"type":431,"value":45420}," when leads are contacted within 5 minutes",{"type":426,"tag":458,"props":45422,"children":45423},{},[45424,45429],{"type":426,"tag":446,"props":45425,"children":45426},{},[45427],{"type":431,"value":45428},"40% fewer missed viewings",{"type":431,"value":45430}," (WhatsApp reminders read vs email reminders buried)",{"type":426,"tag":458,"props":45432,"children":45433},{},[45434,45439],{"type":426,"tag":446,"props":45435,"children":45436},{},[45437],{"type":431,"value":45438},"2–3x faster",{"type":431,"value":45440}," document collection (WhatsApp reminders responded to faster)",{"type":426,"tag":434,"props":45442,"children":45443},{"id":4109},[45444],{"type":431,"value":4112},{"type":426,"tag":427,"props":45446,"children":45447},{},[45448,45453],{"type":426,"tag":446,"props":45449,"children":45450},{},[45451],{"type":431,"value":45452},"Is WhatsApp legal for real estate lead follow-up?",{"type":431,"value":45454},"\nYes. When a prospect submits an enquiry form, they're consenting to be contacted. Include a clear WhatsApp consent checkbox on your inquiry forms.",{"type":426,"tag":427,"props":45456,"children":45457},{},[45458,45463],{"type":426,"tag":446,"props":45459,"children":45460},{},[45461],{"type":431,"value":45462},"Does Rapiwa charge per real estate message?",{"type":431,"value":45464},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. An agent sending 200 messages\u002Fday pays $5\u002Fmonth total.",{"type":426,"tag":427,"props":45466,"children":45467},{},[45468,45473,45475,45480],{"type":426,"tag":446,"props":45469,"children":45470},{},[45471],{"type":431,"value":45472},"Can I connect Rapiwa to Pipedrive or HubSpot CRM?",{"type":431,"value":45474},"\nYes. Use n8n or Make.com as middleware between your CRM and Rapiwa's API. See our ",{"type":426,"tag":3819,"props":45476,"children":45477},{"href":149},[45478],{"type":431,"value":45479},"HubSpot integration guide",{"type":431,"value":45481}," for step-by-step instructions.",{"type":426,"tag":427,"props":45483,"children":45484},{},[45485,45490],{"type":426,"tag":446,"props":45486,"children":45487},{},[45488],{"type":431,"value":45489},"What if a prospect replies on WhatsApp?",{"type":431,"value":45491},"\nSet up a Rapiwa webhook to receive incoming messages in n8n and create a task in your CRM, or send a Slack\u002Femail notification to the responsible agent.",{"type":426,"tag":427,"props":45493,"children":45494},{},[45495,45500],{"type":426,"tag":446,"props":45496,"children":45497},{},[45498],{"type":431,"value":45499},"Can multiple agents use the same Rapiwa WhatsApp number?",{"type":431,"value":45501},"\nYes — messages are sent from one WhatsApp number. Routing incoming replies to the correct agent requires logic in n8n or your CRM. For multi-agent setups, use separate Rapiwa numbers per agent.",{"type":426,"tag":4164,"props":45503,"children":45504},{},[45505],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":45507},[45508,45509,45517,45522,45523],{"id":43300,"depth":588,"text":43303},{"id":43354,"depth":588,"text":43357,"children":45510},[45511,45512,45513,45514,45515,45516],{"id":43360,"depth":606,"text":43363},{"id":43487,"depth":606,"text":43490},{"id":44289,"depth":606,"text":44292},{"id":44321,"depth":606,"text":44324},{"id":44833,"depth":606,"text":44836},{"id":44865,"depth":606,"text":44868},{"id":44897,"depth":588,"text":44900,"children":45518},[45519,45520,45521],{"id":3809,"depth":606,"text":3812},{"id":44917,"depth":606,"text":44920},{"id":44959,"depth":606,"text":44962},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-real-estate-lead-follow-up.md","blog\u002Fwhatsapp-api-real-estate-lead-follow-up.md","blog\u002Fwhatsapp-api-real-estate-lead-follow-up",{"loc":61},{"_path":65,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":66,"description":67,"date":45529,"author":10935,"category":8,"_slug":45530,"image":45531,"body":45532,"_type":4187,"_id":47532,"_source":4189,"_file":47533,"_stem":47534,"_extension":4192,"sitemap":47535},"2026-03-14","whatsapp-automation-ecommerce-order-cart-tracking","\u002Fimages\u002Fblog\u002Fwhatsapp-automation-ecommerce-order-cart-tracking.svg",{"type":423,"children":45533,"toc":47512},[45534,45539,45545,45556,45579,45589,45595,45601,45610,45619,45627,45720,45729,45735,45744,45753,45761,45769,45787,45793,45802,45811,45904,45913,45919,45928,45937,45945,45951,45960,45969,46507,46513,46522,46531,46539,46545,46554,46563,46571,46579,46913,46919,46923,46934,46940,46945,46951,47050,47056,47408,47412,47454,47458,47468,47478,47488,47498,47508],{"type":426,"tag":427,"props":45535,"children":45536},{},[45537],{"type":431,"value":45538},"WhatsApp automation for e-commerce lets online stores automatically send order confirmations, abandoned cart reminders, shipping updates, and delivery alerts to customers via WhatsApp. Using Rapiwa API ($5\u002Fmonth, no per-message fees), e-commerce stores reduce customer support tickets by 40–60% and recover 15–25% of abandoned carts — at a fraction of the cost of SMS or email marketing.",{"type":426,"tag":434,"props":45540,"children":45542},{"id":45541},"why-whatsapp-beats-email-for-e-commerce",[45543],{"type":431,"value":45544},"Why WhatsApp Beats Email for E-Commerce",{"type":426,"tag":427,"props":45546,"children":45547},{},[45548,45550,45554],{"type":431,"value":45549},"WhatsApp has a ",{"type":426,"tag":446,"props":45551,"children":45552},{},[45553],{"type":431,"value":465},{"type":431,"value":45555}," versus 20% for email. For time-sensitive e-commerce messages (order confirmation, shipping updates), this means:",{"type":426,"tag":454,"props":45557,"children":45558},{},[45559,45564,45569,45574],{"type":426,"tag":458,"props":45560,"children":45561},{},[45562],{"type":431,"value":45563},"Customers see their order confirmation within 5 minutes (not buried in spam)",{"type":426,"tag":458,"props":45565,"children":45566},{},[45567],{"type":431,"value":45568},"Shipping notifications are read — customers know when to be home",{"type":426,"tag":458,"props":45570,"children":45571},{},[45572],{"type":431,"value":45573},"Abandoned cart reminders have 3–5x higher conversion vs email",{"type":426,"tag":458,"props":45575,"children":45576},{},[45577],{"type":431,"value":45578},"Payment reminder messages are seen and acted on faster",{"type":426,"tag":427,"props":45580,"children":45581},{},[45582,45587],{"type":426,"tag":446,"props":45583,"children":45584},{},[45585],{"type":431,"value":45586},"Rapiwa is the cheapest WhatsApp API for e-commerce",{"type":431,"value":45588},": $5\u002Fmonth flat. No per-message fees. Send 1,000 order notifications and 500 abandoned cart messages in a month — still $5.",{"type":426,"tag":434,"props":45590,"children":45592},{"id":45591},"top-7-whatsapp-automation-use-cases-for-e-commerce",[45593],{"type":431,"value":45594},"Top 7 WhatsApp Automation Use Cases for E-Commerce",{"type":426,"tag":515,"props":45596,"children":45598},{"id":45597},"_1-order-confirmation",[45599],{"type":431,"value":45600},"1. Order Confirmation",{"type":426,"tag":427,"props":45602,"children":45603},{},[45604,45608],{"type":426,"tag":446,"props":45605,"children":45606},{},[45607],{"type":431,"value":528},{"type":431,"value":45609},": Customers anxiously check their email for an order confirmation, often missing it in spam.",{"type":426,"tag":427,"props":45611,"children":45612},{},[45613,45617],{"type":426,"tag":446,"props":45614,"children":45615},{},[45616],{"type":431,"value":538},{"type":431,"value":45618},": Send a WhatsApp order confirmation within 30 seconds of purchase.",{"type":426,"tag":427,"props":45620,"children":45621},{},[45622],{"type":426,"tag":446,"props":45623,"children":45624},{},[45625],{"type":431,"value":45626},"Sample API call:",{"type":426,"tag":542,"props":45628,"children":45630},{"code":45629,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! ✅ Order Confirmed!\\n\\nOrder #12345\\nItems: Coffee Maker (x1)\\nTotal: $49.99\\nDelivery: 3–5 business days\\n\\nTrack your order: https:\u002F\u002Fyourstore.com\u002Ftrack\u002F12345\\n\\nThank you for shopping with us!\"\n  }'\n",[45631],{"type":426,"tag":549,"props":45632,"children":45633},{"__ignoreMap":417},[45634,45657,45672,45687,45698,45705,45713],{"type":426,"tag":553,"props":45635,"children":45636},{"class":555,"line":556},[45637,45641,45645,45649,45653],{"type":426,"tag":553,"props":45638,"children":45639},{"style":560},[45640],{"type":431,"value":563},{"type":426,"tag":553,"props":45642,"children":45643},{"style":566},[45644],{"type":431,"value":569},{"type":426,"tag":553,"props":45646,"children":45647},{"style":572},[45648],{"type":431,"value":575},{"type":426,"tag":553,"props":45650,"children":45651},{"style":572},[45652],{"type":431,"value":580},{"type":426,"tag":553,"props":45654,"children":45655},{"style":566},[45656],{"type":431,"value":585},{"type":426,"tag":553,"props":45658,"children":45659},{"class":555,"line":588},[45660,45664,45668],{"type":426,"tag":553,"props":45661,"children":45662},{"style":566},[45663],{"type":431,"value":594},{"type":426,"tag":553,"props":45665,"children":45666},{"style":572},[45667],{"type":431,"value":599},{"type":426,"tag":553,"props":45669,"children":45670},{"style":566},[45671],{"type":431,"value":585},{"type":426,"tag":553,"props":45673,"children":45674},{"class":555,"line":606},[45675,45679,45683],{"type":426,"tag":553,"props":45676,"children":45677},{"style":566},[45678],{"type":431,"value":594},{"type":426,"tag":553,"props":45680,"children":45681},{"style":572},[45682],{"type":431,"value":616},{"type":426,"tag":553,"props":45684,"children":45685},{"style":566},[45686],{"type":431,"value":585},{"type":426,"tag":553,"props":45688,"children":45689},{"class":555,"line":623},[45690,45694],{"type":426,"tag":553,"props":45691,"children":45692},{"style":566},[45693],{"type":431,"value":629},{"type":426,"tag":553,"props":45695,"children":45696},{"style":572},[45697],{"type":431,"value":634},{"type":426,"tag":553,"props":45699,"children":45700},{"class":555,"line":637},[45701],{"type":426,"tag":553,"props":45702,"children":45703},{"style":572},[45704],{"type":431,"value":643},{"type":426,"tag":553,"props":45706,"children":45707},{"class":555,"line":646},[45708],{"type":426,"tag":553,"props":45709,"children":45710},{"style":572},[45711],{"type":431,"value":45712},"    \"message\": \"Hi Sarah! ✅ Order Confirmed!\\n\\nOrder #12345\\nItems: Coffee Maker (x1)\\nTotal: $49.99\\nDelivery: 3–5 business days\\n\\nTrack your order: https:\u002F\u002Fyourstore.com\u002Ftrack\u002F12345\\n\\nThank you for shopping with us!\"\n",{"type":426,"tag":553,"props":45714,"children":45715},{"class":555,"line":655},[45716],{"type":426,"tag":553,"props":45717,"children":45718},{"style":572},[45719],{"type":431,"value":661},{"type":426,"tag":427,"props":45721,"children":45722},{},[45723,45727],{"type":426,"tag":446,"props":45724,"children":45725},{},[45726],{"type":431,"value":43482},{"type":431,"value":45728},": 40% reduction in \"did my order go through?\" support tickets.",{"type":426,"tag":515,"props":45730,"children":45732},{"id":45731},"_2-abandoned-cart-recovery",[45733],{"type":431,"value":45734},"2. Abandoned Cart Recovery",{"type":426,"tag":427,"props":45736,"children":45737},{},[45738,45742],{"type":426,"tag":446,"props":45739,"children":45740},{},[45741],{"type":431,"value":528},{"type":431,"value":45743},": 70% of e-commerce carts are abandoned. Email recovery sequences convert at 3–5%.",{"type":426,"tag":427,"props":45745,"children":45746},{},[45747,45751],{"type":426,"tag":446,"props":45748,"children":45749},{},[45750],{"type":431,"value":538},{"type":431,"value":45752},": Send a WhatsApp message 1 hour after cart abandonment. WhatsApp recovery converts at 10–20%.",{"type":426,"tag":427,"props":45754,"children":45755},{},[45756],{"type":426,"tag":446,"props":45757,"children":45758},{},[45759],{"type":431,"value":45760},"Message sequence:",{"type":426,"tag":542,"props":45762,"children":45764},{"code":45763},"Hour 1:\n\"Hi Sarah! 👋 You left something in your cart!\n\nYour Coffee Maker is waiting: https:\u002F\u002Fyourstore.com\u002Fcart\u002Fresume\n\nStill thinking it over? Let us know if you have questions!\"\n\nHour 24 (if no purchase):\n\"Hi Sarah! Your Coffee Maker is still in your cart — and we're running low on stock.\n\nSave 10% today: https:\u002F\u002Fyourstore.com\u002Fcart\u002Fresume?code=CART10\nCode CART10 expires tonight at midnight. ⏰\"\n",[45765],{"type":426,"tag":549,"props":45766,"children":45767},{"__ignoreMap":417},[45768],{"type":431,"value":45763},{"type":426,"tag":427,"props":45770,"children":45771},{},[45772,45777,45779,45785],{"type":426,"tag":446,"props":45773,"children":45774},{},[45775],{"type":431,"value":45776},"How to detect cart abandonment",{"type":431,"value":45778},": Use your e-commerce platform's webhook for ",{"type":426,"tag":549,"props":45780,"children":45782},{"className":45781},[],[45783],{"type":431,"value":45784},"cart.abandoned",{"type":431,"value":45786}," (Shopify) or a custom event (WooCommerce plugin) to trigger the n8n\u002FMake.com workflow.",{"type":426,"tag":515,"props":45788,"children":45790},{"id":45789},"_3-shipping-notification",[45791],{"type":431,"value":45792},"3. Shipping Notification",{"type":426,"tag":427,"props":45794,"children":45795},{},[45796,45800],{"type":426,"tag":446,"props":45797,"children":45798},{},[45799],{"type":431,"value":528},{"type":431,"value":45801},": Customers contact support to ask \"Has my order shipped yet?\" — high-volume, low-value tickets.",{"type":426,"tag":427,"props":45803,"children":45804},{},[45805,45809],{"type":426,"tag":446,"props":45806,"children":45807},{},[45808],{"type":431,"value":538},{"type":431,"value":45810},": Proactively send a WhatsApp message the moment an order ships.",{"type":426,"tag":542,"props":45812,"children":45814},{"code":45813,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Your order #12345 has shipped! 🚚\\n\\nCarrier: DHL Express\\nTracking: TRK123456789\\n\\nTrack here: https:\u002F\u002Fdhl.com\u002Ftrack\u002FTRK123456789\\n\\nExpected delivery: July 10, 2026\"\n  }'\n",[45815],{"type":426,"tag":549,"props":45816,"children":45817},{"__ignoreMap":417},[45818,45841,45856,45871,45882,45889,45897],{"type":426,"tag":553,"props":45819,"children":45820},{"class":555,"line":556},[45821,45825,45829,45833,45837],{"type":426,"tag":553,"props":45822,"children":45823},{"style":560},[45824],{"type":431,"value":563},{"type":426,"tag":553,"props":45826,"children":45827},{"style":566},[45828],{"type":431,"value":569},{"type":426,"tag":553,"props":45830,"children":45831},{"style":572},[45832],{"type":431,"value":575},{"type":426,"tag":553,"props":45834,"children":45835},{"style":572},[45836],{"type":431,"value":580},{"type":426,"tag":553,"props":45838,"children":45839},{"style":566},[45840],{"type":431,"value":585},{"type":426,"tag":553,"props":45842,"children":45843},{"class":555,"line":588},[45844,45848,45852],{"type":426,"tag":553,"props":45845,"children":45846},{"style":566},[45847],{"type":431,"value":594},{"type":426,"tag":553,"props":45849,"children":45850},{"style":572},[45851],{"type":431,"value":599},{"type":426,"tag":553,"props":45853,"children":45854},{"style":566},[45855],{"type":431,"value":585},{"type":426,"tag":553,"props":45857,"children":45858},{"class":555,"line":606},[45859,45863,45867],{"type":426,"tag":553,"props":45860,"children":45861},{"style":566},[45862],{"type":431,"value":594},{"type":426,"tag":553,"props":45864,"children":45865},{"style":572},[45866],{"type":431,"value":616},{"type":426,"tag":553,"props":45868,"children":45869},{"style":566},[45870],{"type":431,"value":585},{"type":426,"tag":553,"props":45872,"children":45873},{"class":555,"line":623},[45874,45878],{"type":426,"tag":553,"props":45875,"children":45876},{"style":566},[45877],{"type":431,"value":629},{"type":426,"tag":553,"props":45879,"children":45880},{"style":572},[45881],{"type":431,"value":634},{"type":426,"tag":553,"props":45883,"children":45884},{"class":555,"line":637},[45885],{"type":426,"tag":553,"props":45886,"children":45887},{"style":572},[45888],{"type":431,"value":643},{"type":426,"tag":553,"props":45890,"children":45891},{"class":555,"line":646},[45892],{"type":426,"tag":553,"props":45893,"children":45894},{"style":572},[45895],{"type":431,"value":45896},"    \"message\": \"Your order #12345 has shipped! 🚚\\n\\nCarrier: DHL Express\\nTracking: TRK123456789\\n\\nTrack here: https:\u002F\u002Fdhl.com\u002Ftrack\u002FTRK123456789\\n\\nExpected delivery: July 10, 2026\"\n",{"type":426,"tag":553,"props":45898,"children":45899},{"class":555,"line":655},[45900],{"type":426,"tag":553,"props":45901,"children":45902},{"style":572},[45903],{"type":431,"value":661},{"type":426,"tag":427,"props":45905,"children":45906},{},[45907,45911],{"type":426,"tag":446,"props":45908,"children":45909},{},[45910],{"type":431,"value":43482},{"type":431,"value":45912},": 60% reduction in \"where is my order?\" tickets.",{"type":426,"tag":515,"props":45914,"children":45916},{"id":45915},"_4-delivery-confirmation-review-request",[45917],{"type":431,"value":45918},"4. Delivery Confirmation + Review Request",{"type":426,"tag":427,"props":45920,"children":45921},{},[45922,45926],{"type":426,"tag":446,"props":45923,"children":45924},{},[45925],{"type":431,"value":528},{"type":431,"value":45927},": Customers often don't notice when a parcel is delivered, leading to missed deliveries and failed returns.",{"type":426,"tag":427,"props":45929,"children":45930},{},[45931,45935],{"type":426,"tag":446,"props":45932,"children":45933},{},[45934],{"type":431,"value":538},{"type":431,"value":45936},": Send a WhatsApp delivery alert and, 3 days later, a review request.",{"type":426,"tag":542,"props":45938,"children":45940},{"code":45939},"Day 0 (delivered):\n\"Your order #12345 has been delivered! 📦\n\nHope you love your Coffee Maker ☕\nReply if anything is missing or damaged.\"\n\nDay 3:\n\"Hi Sarah! Hope you're loving your Coffee Maker!\n\nWould you take 2 minutes to leave a review? It helps other shoppers:\n⭐ Leave review: https:\u002F\u002Fyourstore.com\u002Fproducts\u002Fcoffee-maker\u002F#reviews\"\n",[45941],{"type":426,"tag":549,"props":45942,"children":45943},{"__ignoreMap":417},[45944],{"type":431,"value":45939},{"type":426,"tag":515,"props":45946,"children":45948},{"id":45947},"_5-back-in-stock-alert",[45949],{"type":431,"value":45950},"5. Back-in-Stock Alert",{"type":426,"tag":427,"props":45952,"children":45953},{},[45954,45958],{"type":426,"tag":446,"props":45955,"children":45956},{},[45957],{"type":431,"value":528},{"type":431,"value":45959},": Customers check back manually for out-of-stock products — most never return.",{"type":426,"tag":427,"props":45961,"children":45962},{},[45963,45967],{"type":426,"tag":446,"props":45964,"children":45965},{},[45966],{"type":431,"value":538},{"type":431,"value":45968},": Capture \"notify me\" sign-ups and send a WhatsApp alert when the product is restocked.",{"type":426,"tag":542,"props":45970,"children":45972},{"code":45971,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef notify_back_in_stock(waitlist: list, product_name: str, product_url: str, api_key: str):\n    \"\"\"Send WhatsApp back-in-stock alerts to waitlist subscribers.\"\"\"\n    for subscriber in waitlist:\n        message = (\n            f\"Great news, {subscriber['name']}! 🎉\\n\\n\"\n            f\"*{product_name}* is back in stock!\\n\\n\"\n            f\"Grab yours before it sells out again:\\n\"\n            f\"{product_url}\\n\\n\"\n            f\"Limited quantity available — order now!\"\n        )\n        \n        requests.post(\n            'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n            headers={'Authorization': f'Bearer {api_key}'},\n            json={'number': subscriber['phone'], 'message': message}\n        )\n\n# Usage\nnotify_back_in_stock(\n    waitlist=[{'phone': '8801234567890', 'name': 'Sarah'}, ...],\n    product_name='Sony WH-1000XM5 Headphones',\n    product_url='https:\u002F\u002Fyourstore.com\u002Fsony-headphones',\n    api_key='YOUR_API_KEY'\n)\n",[45973],{"type":426,"tag":549,"props":45974,"children":45975},{"__ignoreMap":417},[45976,45987,45994,46045,46053,46074,46089,46134,46171,46191,46219,46231,46238,46245,46253,46264,46315,46355,46362,46369,46376,46384,46443,46464,46485,46500],{"type":426,"tag":553,"props":45977,"children":45978},{"class":555,"line":556},[45979,45983],{"type":426,"tag":553,"props":45980,"children":45981},{"style":795},[45982],{"type":431,"value":798},{"type":426,"tag":553,"props":45984,"children":45985},{"style":684},[45986],{"type":431,"value":803},{"type":426,"tag":553,"props":45988,"children":45989},{"class":555,"line":588},[45990],{"type":426,"tag":553,"props":45991,"children":45992},{"emptyLinePlaceholder":831},[45993],{"type":431,"value":834},{"type":426,"tag":553,"props":45995,"children":45996},{"class":555,"line":606},[45997,46001,46006,46011,46015,46020,46024,46029,46033,46037,46041],{"type":426,"tag":553,"props":45998,"children":45999},{"style":795},[46000],{"type":431,"value":842},{"type":426,"tag":553,"props":46002,"children":46003},{"style":560},[46004],{"type":431,"value":46005}," notify_back_in_stock",{"type":426,"tag":553,"props":46007,"children":46008},{"style":684},[46009],{"type":431,"value":46010},"(waitlist: ",{"type":426,"tag":553,"props":46012,"children":46013},{"style":566},[46014],{"type":431,"value":2645},{"type":426,"tag":553,"props":46016,"children":46017},{"style":684},[46018],{"type":431,"value":46019},", product_name: ",{"type":426,"tag":553,"props":46021,"children":46022},{"style":566},[46023],{"type":431,"value":895},{"type":426,"tag":553,"props":46025,"children":46026},{"style":684},[46027],{"type":431,"value":46028},", product_url: ",{"type":426,"tag":553,"props":46030,"children":46031},{"style":566},[46032],{"type":431,"value":895},{"type":426,"tag":553,"props":46034,"children":46035},{"style":684},[46036],{"type":431,"value":890},{"type":426,"tag":553,"props":46038,"children":46039},{"style":566},[46040],{"type":431,"value":895},{"type":426,"tag":553,"props":46042,"children":46043},{"style":684},[46044],{"type":431,"value":8370},{"type":426,"tag":553,"props":46046,"children":46047},{"class":555,"line":623},[46048],{"type":426,"tag":553,"props":46049,"children":46050},{"style":572},[46051],{"type":431,"value":46052},"    \"\"\"Send WhatsApp back-in-stock alerts to waitlist subscribers.\"\"\"\n",{"type":426,"tag":553,"props":46054,"children":46055},{"class":555,"line":637},[46056,46060,46065,46069],{"type":426,"tag":553,"props":46057,"children":46058},{"style":795},[46059],{"type":431,"value":1995},{"type":426,"tag":553,"props":46061,"children":46062},{"style":684},[46063],{"type":431,"value":46064}," subscriber ",{"type":426,"tag":553,"props":46066,"children":46067},{"style":795},[46068],{"type":431,"value":2005},{"type":426,"tag":553,"props":46070,"children":46071},{"style":684},[46072],{"type":431,"value":46073}," waitlist:\n",{"type":426,"tag":553,"props":46075,"children":46076},{"class":555,"line":646},[46077,46081,46085],{"type":426,"tag":553,"props":46078,"children":46079},{"style":684},[46080],{"type":431,"value":5864},{"type":426,"tag":553,"props":46082,"children":46083},{"style":795},[46084],{"type":431,"value":957},{"type":426,"tag":553,"props":46086,"children":46087},{"style":684},[46088],{"type":431,"value":1207},{"type":426,"tag":553,"props":46090,"children":46091},{"class":555,"line":655},[46092,46096,46101,46105,46110,46114,46118,46122,46126,46130],{"type":426,"tag":553,"props":46093,"children":46094},{"style":795},[46095],{"type":431,"value":3740},{"type":426,"tag":553,"props":46097,"children":46098},{"style":572},[46099],{"type":431,"value":46100},"\"Great news, ",{"type":426,"tag":553,"props":46102,"children":46103},{"style":566},[46104],{"type":431,"value":972},{"type":426,"tag":553,"props":46106,"children":46107},{"style":684},[46108],{"type":431,"value":46109},"subscriber[",{"type":426,"tag":553,"props":46111,"children":46112},{"style":572},[46113],{"type":431,"value":1277},{"type":426,"tag":553,"props":46115,"children":46116},{"style":684},[46117],{"type":431,"value":1240},{"type":426,"tag":553,"props":46119,"children":46120},{"style":566},[46121],{"type":431,"value":982},{"type":426,"tag":553,"props":46123,"children":46124},{"style":572},[46125],{"type":431,"value":38977},{"type":426,"tag":553,"props":46127,"children":46128},{"style":566},[46129],{"type":431,"value":1295},{"type":426,"tag":553,"props":46131,"children":46132},{"style":572},[46133],{"type":431,"value":1250},{"type":426,"tag":553,"props":46135,"children":46136},{"class":555,"line":1036},[46137,46141,46145,46149,46154,46158,46163,46167],{"type":426,"tag":553,"props":46138,"children":46139},{"style":795},[46140],{"type":431,"value":3740},{"type":426,"tag":553,"props":46142,"children":46143},{"style":572},[46144],{"type":431,"value":32703},{"type":426,"tag":553,"props":46146,"children":46147},{"style":566},[46148],{"type":431,"value":972},{"type":426,"tag":553,"props":46150,"children":46151},{"style":684},[46152],{"type":431,"value":46153},"product_name",{"type":426,"tag":553,"props":46155,"children":46156},{"style":566},[46157],{"type":431,"value":982},{"type":426,"tag":553,"props":46159,"children":46160},{"style":572},[46161],{"type":431,"value":46162},"* is back in stock!",{"type":426,"tag":553,"props":46164,"children":46165},{"style":566},[46166],{"type":431,"value":1295},{"type":426,"tag":553,"props":46168,"children":46169},{"style":572},[46170],{"type":431,"value":1250},{"type":426,"tag":553,"props":46172,"children":46173},{"class":555,"line":1054},[46174,46178,46183,46187],{"type":426,"tag":553,"props":46175,"children":46176},{"style":795},[46177],{"type":431,"value":3740},{"type":426,"tag":553,"props":46179,"children":46180},{"style":572},[46181],{"type":431,"value":46182},"\"Grab yours before it sells out again:",{"type":426,"tag":553,"props":46184,"children":46185},{"style":566},[46186],{"type":431,"value":3661},{"type":426,"tag":553,"props":46188,"children":46189},{"style":572},[46190],{"type":431,"value":1250},{"type":426,"tag":553,"props":46192,"children":46193},{"class":555,"line":1080},[46194,46198,46202,46206,46211,46215],{"type":426,"tag":553,"props":46195,"children":46196},{"style":795},[46197],{"type":431,"value":3740},{"type":426,"tag":553,"props":46199,"children":46200},{"style":572},[46201],{"type":431,"value":1527},{"type":426,"tag":553,"props":46203,"children":46204},{"style":566},[46205],{"type":431,"value":972},{"type":426,"tag":553,"props":46207,"children":46208},{"style":684},[46209],{"type":431,"value":46210},"product_url",{"type":426,"tag":553,"props":46212,"children":46213},{"style":566},[46214],{"type":431,"value":1245},{"type":426,"tag":553,"props":46216,"children":46217},{"style":572},[46218],{"type":431,"value":1250},{"type":426,"tag":553,"props":46220,"children":46221},{"class":555,"line":1097},[46222,46226],{"type":426,"tag":553,"props":46223,"children":46224},{"style":795},[46225],{"type":431,"value":3740},{"type":426,"tag":553,"props":46227,"children":46228},{"style":572},[46229],{"type":431,"value":46230},"\"Limited quantity available — order now!\"\n",{"type":426,"tag":553,"props":46232,"children":46233},{"class":555,"line":1114},[46234],{"type":426,"tag":553,"props":46235,"children":46236},{"style":684},[46237],{"type":431,"value":6037},{"type":426,"tag":553,"props":46239,"children":46240},{"class":555,"line":1127},[46241],{"type":426,"tag":553,"props":46242,"children":46243},{"style":684},[46244],{"type":431,"value":2061},{"type":426,"tag":553,"props":46246,"children":46247},{"class":555,"line":1167},[46248],{"type":426,"tag":553,"props":46249,"children":46250},{"style":684},[46251],{"type":431,"value":46252},"        requests.post(\n",{"type":426,"tag":553,"props":46254,"children":46255},{"class":555,"line":1184},[46256,46260],{"type":426,"tag":553,"props":46257,"children":46258},{"style":572},[46259],{"type":431,"value":2852},{"type":426,"tag":553,"props":46261,"children":46262},{"style":684},[46263],{"type":431,"value":710},{"type":426,"tag":553,"props":46265,"children":46266},{"class":555,"line":1192},[46267,46271,46275,46279,46283,46287,46291,46295,46299,46303,46307,46311],{"type":426,"tag":553,"props":46268,"children":46269},{"style":1684},[46270],{"type":431,"value":2864},{"type":426,"tag":553,"props":46272,"children":46273},{"style":795},[46274],{"type":431,"value":957},{"type":426,"tag":553,"props":46276,"children":46277},{"style":684},[46278],{"type":431,"value":972},{"type":426,"tag":553,"props":46280,"children":46281},{"style":572},[46282],{"type":431,"value":1700},{"type":426,"tag":553,"props":46284,"children":46285},{"style":684},[46286],{"type":431,"value":700},{"type":426,"tag":553,"props":46288,"children":46289},{"style":795},[46290],{"type":431,"value":1709},{"type":426,"tag":553,"props":46292,"children":46293},{"style":572},[46294],{"type":431,"value":1714},{"type":426,"tag":553,"props":46296,"children":46297},{"style":566},[46298],{"type":431,"value":972},{"type":426,"tag":553,"props":46300,"children":46301},{"style":684},[46302],{"type":431,"value":1723},{"type":426,"tag":553,"props":46304,"children":46305},{"style":566},[46306],{"type":431,"value":982},{"type":426,"tag":553,"props":46308,"children":46309},{"style":572},[46310],{"type":431,"value":1732},{"type":426,"tag":553,"props":46312,"children":46313},{"style":684},[46314],{"type":431,"value":1737},{"type":426,"tag":553,"props":46316,"children":46317},{"class":555,"line":1210},[46318,46322,46326,46330,46334,46339,46343,46347,46351],{"type":426,"tag":553,"props":46319,"children":46320},{"style":1684},[46321],{"type":431,"value":2916},{"type":426,"tag":553,"props":46323,"children":46324},{"style":795},[46325],{"type":431,"value":957},{"type":426,"tag":553,"props":46327,"children":46328},{"style":684},[46329],{"type":431,"value":972},{"type":426,"tag":553,"props":46331,"children":46332},{"style":572},[46333],{"type":431,"value":1759},{"type":426,"tag":553,"props":46335,"children":46336},{"style":684},[46337],{"type":431,"value":46338},": subscriber[",{"type":426,"tag":553,"props":46340,"children":46341},{"style":572},[46342],{"type":431,"value":1769},{"type":426,"tag":553,"props":46344,"children":46345},{"style":684},[46346],{"type":431,"value":1774},{"type":426,"tag":553,"props":46348,"children":46349},{"style":572},[46350],{"type":431,"value":1779},{"type":426,"tag":553,"props":46352,"children":46353},{"style":684},[46354],{"type":431,"value":1784},{"type":426,"tag":553,"props":46356,"children":46357},{"class":555,"line":1253},[46358],{"type":426,"tag":553,"props":46359,"children":46360},{"style":684},[46361],{"type":431,"value":6037},{"type":426,"tag":553,"props":46363,"children":46364},{"class":555,"line":1302},[46365],{"type":426,"tag":553,"props":46366,"children":46367},{"emptyLinePlaceholder":831},[46368],{"type":431,"value":834},{"type":426,"tag":553,"props":46370,"children":46371},{"class":555,"line":1374},[46372],{"type":426,"tag":553,"props":46373,"children":46374},{"style":1975},[46375],{"type":431,"value":34179},{"type":426,"tag":553,"props":46377,"children":46378},{"class":555,"line":1414},[46379],{"type":426,"tag":553,"props":46380,"children":46381},{"style":684},[46382],{"type":431,"value":46383},"notify_back_in_stock(\n",{"type":426,"tag":553,"props":46385,"children":46386},{"class":555,"line":1479},[46387,46392,46396,46401,46405,46409,46413,46417,46421,46425,46429,46434,46439],{"type":426,"tag":553,"props":46388,"children":46389},{"style":1684},[46390],{"type":431,"value":46391},"    waitlist",{"type":426,"tag":553,"props":46393,"children":46394},{"style":795},[46395],{"type":431,"value":957},{"type":426,"tag":553,"props":46397,"children":46398},{"style":684},[46399],{"type":431,"value":46400},"[{",{"type":426,"tag":553,"props":46402,"children":46403},{"style":572},[46404],{"type":431,"value":1769},{"type":426,"tag":553,"props":46406,"children":46407},{"style":684},[46408],{"type":431,"value":700},{"type":426,"tag":553,"props":46410,"children":46411},{"style":572},[46412],{"type":431,"value":10197},{"type":426,"tag":553,"props":46414,"children":46415},{"style":684},[46416],{"type":431,"value":1907},{"type":426,"tag":553,"props":46418,"children":46419},{"style":572},[46420],{"type":431,"value":1277},{"type":426,"tag":553,"props":46422,"children":46423},{"style":684},[46424],{"type":431,"value":700},{"type":426,"tag":553,"props":46426,"children":46427},{"style":572},[46428],{"type":431,"value":34224},{"type":426,"tag":553,"props":46430,"children":46431},{"style":684},[46432],{"type":431,"value":46433},"}, ",{"type":426,"tag":553,"props":46435,"children":46436},{"style":566},[46437],{"type":431,"value":46438},"...",{"type":426,"tag":553,"props":46440,"children":46441},{"style":684},[46442],{"type":431,"value":12804},{"type":426,"tag":553,"props":46444,"children":46445},{"class":555,"line":1517},[46446,46451,46455,46460],{"type":426,"tag":553,"props":46447,"children":46448},{"style":1684},[46449],{"type":431,"value":46450},"    product_name",{"type":426,"tag":553,"props":46452,"children":46453},{"style":795},[46454],{"type":431,"value":957},{"type":426,"tag":553,"props":46456,"children":46457},{"style":572},[46458],{"type":431,"value":46459},"'Sony WH-1000XM5 Headphones'",{"type":426,"tag":553,"props":46461,"children":46462},{"style":684},[46463],{"type":431,"value":710},{"type":426,"tag":553,"props":46465,"children":46466},{"class":555,"line":1560},[46467,46472,46476,46481],{"type":426,"tag":553,"props":46468,"children":46469},{"style":1684},[46470],{"type":431,"value":46471},"    product_url",{"type":426,"tag":553,"props":46473,"children":46474},{"style":795},[46475],{"type":431,"value":957},{"type":426,"tag":553,"props":46477,"children":46478},{"style":572},[46479],{"type":431,"value":46480},"'https:\u002F\u002Fyourstore.com\u002Fsony-headphones'",{"type":426,"tag":553,"props":46482,"children":46483},{"style":684},[46484],{"type":431,"value":710},{"type":426,"tag":553,"props":46486,"children":46487},{"class":555,"line":1598},[46488,46492,46496],{"type":426,"tag":553,"props":46489,"children":46490},{"style":1684},[46491],{"type":431,"value":3245},{"type":426,"tag":553,"props":46493,"children":46494},{"style":795},[46495],{"type":431,"value":957},{"type":426,"tag":553,"props":46497,"children":46498},{"style":572},[46499],{"type":431,"value":3254},{"type":426,"tag":553,"props":46501,"children":46502},{"class":555,"line":1636},[46503],{"type":426,"tag":553,"props":46504,"children":46505},{"style":684},[46506],{"type":431,"value":3262},{"type":426,"tag":515,"props":46508,"children":46510},{"id":46509},"_6-post-purchase-upsell-cross-sell",[46511],{"type":431,"value":46512},"6. Post-Purchase Upsell \u002F Cross-Sell",{"type":426,"tag":427,"props":46514,"children":46515},{},[46516,46520],{"type":426,"tag":446,"props":46517,"children":46518},{},[46519],{"type":431,"value":528},{"type":431,"value":46521},": Post-purchase email sequences have low open rates and are easily ignored.",{"type":426,"tag":427,"props":46523,"children":46524},{},[46525,46529],{"type":426,"tag":446,"props":46526,"children":46527},{},[46528],{"type":431,"value":538},{"type":431,"value":46530},": 24 hours after delivery, send a WhatsApp upsell for a related product.",{"type":426,"tag":542,"props":46532,"children":46534},{"code":46533},"\"Hi Sarah! Hope your Coffee Maker is treating you well ☕\n\nBased on what you bought, you might love our Premium Coffee Beans:\n→ Freshly roasted, ships in 24 hours\n→ Compatible with all coffee makers\n\n*10% off for you today*: https:\u002F\u002Fyourstore.com\u002Fcoffee-beans?code=LOYAL10\nCode expires in 48 hours! ⏰\"\n",[46535],{"type":426,"tag":549,"props":46536,"children":46537},{"__ignoreMap":417},[46538],{"type":431,"value":46533},{"type":426,"tag":515,"props":46540,"children":46542},{"id":46541},"_7-payment-failure-recovery",[46543],{"type":431,"value":46544},"7. Payment Failure Recovery",{"type":426,"tag":427,"props":46546,"children":46547},{},[46548,46552],{"type":426,"tag":446,"props":46549,"children":46550},{},[46551],{"type":431,"value":528},{"type":431,"value":46553},": Failed payment emails have low open rates — stores lose revenue when customers don't update their card.",{"type":426,"tag":427,"props":46555,"children":46556},{},[46557,46561],{"type":426,"tag":446,"props":46558,"children":46559},{},[46560],{"type":431,"value":538},{"type":431,"value":46562},": Immediate WhatsApp alert for failed payments.",{"type":426,"tag":542,"props":46564,"children":46566},{"code":46565},"\"Hi Sarah! ⚠️ We couldn't process your payment for order #12345.\n\nDon't worry — your order is saved. Please update your payment method:\n💳 https:\u002F\u002Fyourstore.com\u002Forders\u002F12345\u002Fpayment\n\nNeed help? Just reply here!\"\n",[46567],{"type":426,"tag":549,"props":46568,"children":46569},{"__ignoreMap":417},[46570],{"type":431,"value":46565},{"type":426,"tag":427,"props":46572,"children":46573},{},[46574],{"type":426,"tag":446,"props":46575,"children":46576},{},[46577],{"type":431,"value":46578},"Python implementation:",{"type":426,"tag":542,"props":46580,"children":46582},{"code":46581,"language":784,"meta":417,"className":785,"style":417},"def send_payment_failure_alert(phone: str, name: str, order_id: str, \n                               update_url: str, api_key: str) -> dict:\n    message = (\n        f\"Hi {name}! ⚠️ Payment failed for order #{order_id}.\\n\\n\"\n        f\"Your order is saved — please update your payment:\\n\"\n        f\"💳 {update_url}\\n\\n\"\n        f\"Questions? Just reply here — we'll sort it out!\"\n    )\n    \n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={'number': phone, 'message': message}\n    ).json()\n",[46583],{"type":426,"tag":549,"props":46584,"children":46585},{"__ignoreMap":417},[46586,46627,46659,46674,46727,46747,46776,46788,46795,46802,46813,46824,46875,46906],{"type":426,"tag":553,"props":46587,"children":46588},{"class":555,"line":556},[46589,46593,46598,46602,46606,46610,46614,46619,46623],{"type":426,"tag":553,"props":46590,"children":46591},{"style":795},[46592],{"type":431,"value":842},{"type":426,"tag":553,"props":46594,"children":46595},{"style":560},[46596],{"type":431,"value":46597}," send_payment_failure_alert",{"type":426,"tag":553,"props":46599,"children":46600},{"style":684},[46601],{"type":431,"value":7446},{"type":426,"tag":553,"props":46603,"children":46604},{"style":566},[46605],{"type":431,"value":895},{"type":426,"tag":553,"props":46607,"children":46608},{"style":684},[46609],{"type":431,"value":44374},{"type":426,"tag":553,"props":46611,"children":46612},{"style":566},[46613],{"type":431,"value":895},{"type":426,"tag":553,"props":46615,"children":46616},{"style":684},[46617],{"type":431,"value":46618},", order_id: ",{"type":426,"tag":553,"props":46620,"children":46621},{"style":566},[46622],{"type":431,"value":895},{"type":426,"tag":553,"props":46624,"children":46625},{"style":684},[46626],{"type":431,"value":17901},{"type":426,"tag":553,"props":46628,"children":46629},{"class":555,"line":588},[46630,46635,46639,46643,46647,46651,46655],{"type":426,"tag":553,"props":46631,"children":46632},{"style":684},[46633],{"type":431,"value":46634},"                               update_url: ",{"type":426,"tag":553,"props":46636,"children":46637},{"style":566},[46638],{"type":431,"value":895},{"type":426,"tag":553,"props":46640,"children":46641},{"style":684},[46642],{"type":431,"value":890},{"type":426,"tag":553,"props":46644,"children":46645},{"style":566},[46646],{"type":431,"value":895},{"type":426,"tag":553,"props":46648,"children":46649},{"style":684},[46650],{"type":431,"value":900},{"type":426,"tag":553,"props":46652,"children":46653},{"style":566},[46654],{"type":431,"value":857},{"type":426,"tag":553,"props":46656,"children":46657},{"style":684},[46658],{"type":431,"value":909},{"type":426,"tag":553,"props":46660,"children":46661},{"class":555,"line":606},[46662,46666,46670],{"type":426,"tag":553,"props":46663,"children":46664},{"style":684},[46665],{"type":431,"value":1198},{"type":426,"tag":553,"props":46667,"children":46668},{"style":795},[46669],{"type":431,"value":957},{"type":426,"tag":553,"props":46671,"children":46672},{"style":684},[46673],{"type":431,"value":1207},{"type":426,"tag":553,"props":46675,"children":46676},{"class":555,"line":623},[46677,46681,46685,46689,46693,46697,46702,46706,46711,46715,46719,46723],{"type":426,"tag":553,"props":46678,"children":46679},{"style":795},[46680],{"type":431,"value":1216},{"type":426,"tag":553,"props":46682,"children":46683},{"style":572},[46684],{"type":431,"value":4625},{"type":426,"tag":553,"props":46686,"children":46687},{"style":566},[46688],{"type":431,"value":972},{"type":426,"tag":553,"props":46690,"children":46691},{"style":684},[46692],{"type":431,"value":24468},{"type":426,"tag":553,"props":46694,"children":46695},{"style":566},[46696],{"type":431,"value":982},{"type":426,"tag":553,"props":46698,"children":46699},{"style":572},[46700],{"type":431,"value":46701},"! ⚠️ Payment failed for order #",{"type":426,"tag":553,"props":46703,"children":46704},{"style":566},[46705],{"type":431,"value":972},{"type":426,"tag":553,"props":46707,"children":46708},{"style":684},[46709],{"type":431,"value":46710},"order_id",{"type":426,"tag":553,"props":46712,"children":46713},{"style":566},[46714],{"type":431,"value":982},{"type":426,"tag":553,"props":46716,"children":46717},{"style":572},[46718],{"type":431,"value":6789},{"type":426,"tag":553,"props":46720,"children":46721},{"style":566},[46722],{"type":431,"value":1295},{"type":426,"tag":553,"props":46724,"children":46725},{"style":572},[46726],{"type":431,"value":1250},{"type":426,"tag":553,"props":46728,"children":46729},{"class":555,"line":637},[46730,46734,46739,46743],{"type":426,"tag":553,"props":46731,"children":46732},{"style":795},[46733],{"type":431,"value":1216},{"type":426,"tag":553,"props":46735,"children":46736},{"style":572},[46737],{"type":431,"value":46738},"\"Your order is saved — please update your payment:",{"type":426,"tag":553,"props":46740,"children":46741},{"style":566},[46742],{"type":431,"value":3661},{"type":426,"tag":553,"props":46744,"children":46745},{"style":572},[46746],{"type":431,"value":1250},{"type":426,"tag":553,"props":46748,"children":46749},{"class":555,"line":646},[46750,46754,46759,46763,46768,46772],{"type":426,"tag":553,"props":46751,"children":46752},{"style":795},[46753],{"type":431,"value":1216},{"type":426,"tag":553,"props":46755,"children":46756},{"style":572},[46757],{"type":431,"value":46758},"\"💳 ",{"type":426,"tag":553,"props":46760,"children":46761},{"style":566},[46762],{"type":431,"value":972},{"type":426,"tag":553,"props":46764,"children":46765},{"style":684},[46766],{"type":431,"value":46767},"update_url",{"type":426,"tag":553,"props":46769,"children":46770},{"style":566},[46771],{"type":431,"value":1245},{"type":426,"tag":553,"props":46773,"children":46774},{"style":572},[46775],{"type":431,"value":1250},{"type":426,"tag":553,"props":46777,"children":46778},{"class":555,"line":655},[46779,46783],{"type":426,"tag":553,"props":46780,"children":46781},{"style":795},[46782],{"type":431,"value":1216},{"type":426,"tag":553,"props":46784,"children":46785},{"style":572},[46786],{"type":431,"value":46787},"\"Questions? Just reply here — we'll sort it out!\"\n",{"type":426,"tag":553,"props":46789,"children":46790},{"class":555,"line":1036},[46791],{"type":426,"tag":553,"props":46792,"children":46793},{"style":684},[46794],{"type":431,"value":1642},{"type":426,"tag":553,"props":46796,"children":46797},{"class":555,"line":1054},[46798],{"type":426,"tag":553,"props":46799,"children":46800},{"style":684},[46801],{"type":431,"value":917},{"type":426,"tag":553,"props":46803,"children":46804},{"class":555,"line":1080},[46805,46809],{"type":426,"tag":553,"props":46806,"children":46807},{"style":795},[46808],{"type":431,"value":1659},{"type":426,"tag":553,"props":46810,"children":46811},{"style":684},[46812],{"type":431,"value":1664},{"type":426,"tag":553,"props":46814,"children":46815},{"class":555,"line":1097},[46816,46820],{"type":426,"tag":553,"props":46817,"children":46818},{"style":572},[46819],{"type":431,"value":1673},{"type":426,"tag":553,"props":46821,"children":46822},{"style":684},[46823],{"type":431,"value":710},{"type":426,"tag":553,"props":46825,"children":46826},{"class":555,"line":1114},[46827,46831,46835,46839,46843,46847,46851,46855,46859,46863,46867,46871],{"type":426,"tag":553,"props":46828,"children":46829},{"style":1684},[46830],{"type":431,"value":1687},{"type":426,"tag":553,"props":46832,"children":46833},{"style":795},[46834],{"type":431,"value":957},{"type":426,"tag":553,"props":46836,"children":46837},{"style":684},[46838],{"type":431,"value":972},{"type":426,"tag":553,"props":46840,"children":46841},{"style":572},[46842],{"type":431,"value":1700},{"type":426,"tag":553,"props":46844,"children":46845},{"style":684},[46846],{"type":431,"value":700},{"type":426,"tag":553,"props":46848,"children":46849},{"style":795},[46850],{"type":431,"value":1709},{"type":426,"tag":553,"props":46852,"children":46853},{"style":572},[46854],{"type":431,"value":1714},{"type":426,"tag":553,"props":46856,"children":46857},{"style":566},[46858],{"type":431,"value":972},{"type":426,"tag":553,"props":46860,"children":46861},{"style":684},[46862],{"type":431,"value":1723},{"type":426,"tag":553,"props":46864,"children":46865},{"style":566},[46866],{"type":431,"value":982},{"type":426,"tag":553,"props":46868,"children":46869},{"style":572},[46870],{"type":431,"value":1732},{"type":426,"tag":553,"props":46872,"children":46873},{"style":684},[46874],{"type":431,"value":1737},{"type":426,"tag":553,"props":46876,"children":46877},{"class":555,"line":1127},[46878,46882,46886,46890,46894,46898,46902],{"type":426,"tag":553,"props":46879,"children":46880},{"style":1684},[46881],{"type":431,"value":1746},{"type":426,"tag":553,"props":46883,"children":46884},{"style":795},[46885],{"type":431,"value":957},{"type":426,"tag":553,"props":46887,"children":46888},{"style":684},[46889],{"type":431,"value":972},{"type":426,"tag":553,"props":46891,"children":46892},{"style":572},[46893],{"type":431,"value":1759},{"type":426,"tag":553,"props":46895,"children":46896},{"style":684},[46897],{"type":431,"value":8931},{"type":426,"tag":553,"props":46899,"children":46900},{"style":572},[46901],{"type":431,"value":1779},{"type":426,"tag":553,"props":46903,"children":46904},{"style":684},[46905],{"type":431,"value":1784},{"type":426,"tag":553,"props":46907,"children":46908},{"class":555,"line":1167},[46909],{"type":426,"tag":553,"props":46910,"children":46911},{"style":684},[46912],{"type":431,"value":1793},{"type":426,"tag":434,"props":46914,"children":46916},{"id":46915},"how-to-set-up-whatsapp-automation-for-e-commerce-with-rapiwa",[46917],{"type":431,"value":46918},"How to Set Up WhatsApp Automation for E-Commerce with Rapiwa",{"type":426,"tag":515,"props":46920,"children":46921},{"id":3809},[46922],{"type":431,"value":3812},{"type":426,"tag":427,"props":46924,"children":46925},{},[46926,46927,46932],{"type":431,"value":3817},{"type":426,"tag":3819,"props":46928,"children":46930},{"href":3821,"rel":46929},[3823],[46931],{"type":431,"value":3826},{"type":431,"value":46933}," (3-day free trial, no credit card).\nConnect your WhatsApp number by scanning the QR code in the dashboard.",{"type":426,"tag":515,"props":46935,"children":46937},{"id":46936},"step-2-get-your-api-key",[46938],{"type":431,"value":46939},"Step 2: Get Your API Key",{"type":426,"tag":427,"props":46941,"children":46942},{},[46943],{"type":431,"value":46944},"Navigate to Dashboard → API Keys → Generate Key. Copy the key for use in your automation tool.",{"type":426,"tag":515,"props":46946,"children":46948},{"id":46947},"step-3-choose-your-integration-method",[46949],{"type":431,"value":46950},"Step 3: Choose Your Integration Method",{"type":426,"tag":10600,"props":46952,"children":46953},{},[46954,46975],{"type":426,"tag":10604,"props":46955,"children":46956},{},[46957],{"type":426,"tag":10608,"props":46958,"children":46959},{},[46960,46965,46970],{"type":426,"tag":10612,"props":46961,"children":46962},{},[46963],{"type":431,"value":46964},"Method",{"type":426,"tag":10612,"props":46966,"children":46967},{},[46968],{"type":431,"value":46969},"Best for",{"type":426,"tag":10612,"props":46971,"children":46972},{},[46973],{"type":431,"value":46974},"Effort",{"type":426,"tag":10623,"props":46976,"children":46977},{},[46978,46996,47014,47032],{"type":426,"tag":10608,"props":46979,"children":46980},{},[46981,46986,46991],{"type":426,"tag":10630,"props":46982,"children":46983},{},[46984],{"type":431,"value":46985},"Rapiwa WooCommerce Plugin",{"type":426,"tag":10630,"props":46987,"children":46988},{},[46989],{"type":431,"value":46990},"WooCommerce store owners",{"type":426,"tag":10630,"props":46992,"children":46993},{},[46994],{"type":431,"value":46995},"5 minutes",{"type":426,"tag":10608,"props":46997,"children":46998},{},[46999,47004,47009],{"type":426,"tag":10630,"props":47000,"children":47001},{},[47002],{"type":431,"value":47003},"n8n workflow templates",{"type":426,"tag":10630,"props":47005,"children":47006},{},[47007],{"type":431,"value":47008},"Technical users, custom logic",{"type":426,"tag":10630,"props":47010,"children":47011},{},[47012],{"type":431,"value":47013},"30 minutes",{"type":426,"tag":10608,"props":47015,"children":47016},{},[47017,47022,47027],{"type":426,"tag":10630,"props":47018,"children":47019},{},[47020],{"type":431,"value":47021},"Direct API calls",{"type":426,"tag":10630,"props":47023,"children":47024},{},[47025],{"type":431,"value":47026},"Developers",{"type":426,"tag":10630,"props":47028,"children":47029},{},[47030],{"type":431,"value":47031},"1–2 hours",{"type":426,"tag":10608,"props":47033,"children":47034},{},[47035,47040,47045],{"type":426,"tag":10630,"props":47036,"children":47037},{},[47038],{"type":431,"value":47039},"Make.com \u002F Zapier",{"type":426,"tag":10630,"props":47041,"children":47042},{},[47043],{"type":431,"value":47044},"Non-technical users",{"type":426,"tag":10630,"props":47046,"children":47047},{},[47048],{"type":431,"value":47049},"15 minutes",{"type":426,"tag":515,"props":47051,"children":47053},{"id":47052},"step-4-send-your-first-automated-message",[47054],{"type":431,"value":47055},"Step 4: Send Your First Automated Message",{"type":426,"tag":542,"props":47057,"children":47059},{"code":47058,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef send_order_confirmation(customer_phone, order_id, total, delivery_days, tracking_url):\n    api_key = \"YOUR_RAPIWA_API_KEY\"\n    message = (\n        f\"Order #{order_id} confirmed! ✅\\n\"\n        f\"Total: ${total}\\n\"\n        f\"Delivery: {delivery_days} business days\\n\"\n        f\"Track: {tracking_url}\"\n    )\n    \n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {api_key}\"},\n        json={\"number\": customer_phone, \"message\": message}\n    )\n    \n    return response.json()\n",[47060],{"type":426,"tag":549,"props":47061,"children":47062},{"__ignoreMap":417},[47063,47074,47081,47098,47114,47129,47166,47194,47232,47260,47267,47274,47289,47301,47352,47383,47390,47397],{"type":426,"tag":553,"props":47064,"children":47065},{"class":555,"line":556},[47066,47070],{"type":426,"tag":553,"props":47067,"children":47068},{"style":795},[47069],{"type":431,"value":798},{"type":426,"tag":553,"props":47071,"children":47072},{"style":684},[47073],{"type":431,"value":803},{"type":426,"tag":553,"props":47075,"children":47076},{"class":555,"line":588},[47077],{"type":426,"tag":553,"props":47078,"children":47079},{"emptyLinePlaceholder":831},[47080],{"type":431,"value":834},{"type":426,"tag":553,"props":47082,"children":47083},{"class":555,"line":606},[47084,47088,47093],{"type":426,"tag":553,"props":47085,"children":47086},{"style":795},[47087],{"type":431,"value":842},{"type":426,"tag":553,"props":47089,"children":47090},{"style":560},[47091],{"type":431,"value":47092}," send_order_confirmation",{"type":426,"tag":553,"props":47094,"children":47095},{"style":684},[47096],{"type":431,"value":47097},"(customer_phone, order_id, total, delivery_days, tracking_url):\n",{"type":426,"tag":553,"props":47099,"children":47100},{"class":555,"line":623},[47101,47105,47109],{"type":426,"tag":553,"props":47102,"children":47103},{"style":684},[47104],{"type":431,"value":14888},{"type":426,"tag":553,"props":47106,"children":47107},{"style":795},[47108],{"type":431,"value":957},{"type":426,"tag":553,"props":47110,"children":47111},{"style":572},[47112],{"type":431,"value":47113}," \"YOUR_RAPIWA_API_KEY\"\n",{"type":426,"tag":553,"props":47115,"children":47116},{"class":555,"line":637},[47117,47121,47125],{"type":426,"tag":553,"props":47118,"children":47119},{"style":684},[47120],{"type":431,"value":1198},{"type":426,"tag":553,"props":47122,"children":47123},{"style":795},[47124],{"type":431,"value":957},{"type":426,"tag":553,"props":47126,"children":47127},{"style":684},[47128],{"type":431,"value":1207},{"type":426,"tag":553,"props":47130,"children":47131},{"class":555,"line":646},[47132,47136,47141,47145,47149,47153,47158,47162],{"type":426,"tag":553,"props":47133,"children":47134},{"style":795},[47135],{"type":431,"value":1216},{"type":426,"tag":553,"props":47137,"children":47138},{"style":572},[47139],{"type":431,"value":47140},"\"Order #",{"type":426,"tag":553,"props":47142,"children":47143},{"style":566},[47144],{"type":431,"value":972},{"type":426,"tag":553,"props":47146,"children":47147},{"style":684},[47148],{"type":431,"value":46710},{"type":426,"tag":553,"props":47150,"children":47151},{"style":566},[47152],{"type":431,"value":982},{"type":426,"tag":553,"props":47154,"children":47155},{"style":572},[47156],{"type":431,"value":47157}," confirmed! ✅",{"type":426,"tag":553,"props":47159,"children":47160},{"style":566},[47161],{"type":431,"value":3661},{"type":426,"tag":553,"props":47163,"children":47164},{"style":572},[47165],{"type":431,"value":1250},{"type":426,"tag":553,"props":47167,"children":47168},{"class":555,"line":655},[47169,47173,47178,47182,47186,47190],{"type":426,"tag":553,"props":47170,"children":47171},{"style":795},[47172],{"type":431,"value":1216},{"type":426,"tag":553,"props":47174,"children":47175},{"style":572},[47176],{"type":431,"value":47177},"\"Total: $",{"type":426,"tag":553,"props":47179,"children":47180},{"style":566},[47181],{"type":431,"value":972},{"type":426,"tag":553,"props":47183,"children":47184},{"style":684},[47185],{"type":431,"value":28805},{"type":426,"tag":553,"props":47187,"children":47188},{"style":566},[47189],{"type":431,"value":1407},{"type":426,"tag":553,"props":47191,"children":47192},{"style":572},[47193],{"type":431,"value":1250},{"type":426,"tag":553,"props":47195,"children":47196},{"class":555,"line":1036},[47197,47201,47206,47210,47215,47219,47224,47228],{"type":426,"tag":553,"props":47198,"children":47199},{"style":795},[47200],{"type":431,"value":1216},{"type":426,"tag":553,"props":47202,"children":47203},{"style":572},[47204],{"type":431,"value":47205},"\"Delivery: ",{"type":426,"tag":553,"props":47207,"children":47208},{"style":566},[47209],{"type":431,"value":972},{"type":426,"tag":553,"props":47211,"children":47212},{"style":684},[47213],{"type":431,"value":47214},"delivery_days",{"type":426,"tag":553,"props":47216,"children":47217},{"style":566},[47218],{"type":431,"value":982},{"type":426,"tag":553,"props":47220,"children":47221},{"style":572},[47222],{"type":431,"value":47223}," business days",{"type":426,"tag":553,"props":47225,"children":47226},{"style":566},[47227],{"type":431,"value":3661},{"type":426,"tag":553,"props":47229,"children":47230},{"style":572},[47231],{"type":431,"value":1250},{"type":426,"tag":553,"props":47233,"children":47234},{"class":555,"line":1054},[47235,47239,47243,47247,47252,47256],{"type":426,"tag":553,"props":47236,"children":47237},{"style":795},[47238],{"type":431,"value":1216},{"type":426,"tag":553,"props":47240,"children":47241},{"style":572},[47242],{"type":431,"value":36179},{"type":426,"tag":553,"props":47244,"children":47245},{"style":566},[47246],{"type":431,"value":972},{"type":426,"tag":553,"props":47248,"children":47249},{"style":684},[47250],{"type":431,"value":47251},"tracking_url",{"type":426,"tag":553,"props":47253,"children":47254},{"style":566},[47255],{"type":431,"value":982},{"type":426,"tag":553,"props":47257,"children":47258},{"style":572},[47259],{"type":431,"value":1250},{"type":426,"tag":553,"props":47261,"children":47262},{"class":555,"line":1080},[47263],{"type":426,"tag":553,"props":47264,"children":47265},{"style":684},[47266],{"type":431,"value":1642},{"type":426,"tag":553,"props":47268,"children":47269},{"class":555,"line":1097},[47270],{"type":426,"tag":553,"props":47271,"children":47272},{"style":684},[47273],{"type":431,"value":917},{"type":426,"tag":553,"props":47275,"children":47276},{"class":555,"line":1114},[47277,47281,47285],{"type":426,"tag":553,"props":47278,"children":47279},{"style":684},[47280],{"type":431,"value":8117},{"type":426,"tag":553,"props":47282,"children":47283},{"style":795},[47284],{"type":431,"value":957},{"type":426,"tag":553,"props":47286,"children":47287},{"style":684},[47288],{"type":431,"value":1664},{"type":426,"tag":553,"props":47290,"children":47291},{"class":555,"line":1127},[47292,47297],{"type":426,"tag":553,"props":47293,"children":47294},{"style":572},[47295],{"type":431,"value":47296},"        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"",{"type":426,"tag":553,"props":47298,"children":47299},{"style":684},[47300],{"type":431,"value":710},{"type":426,"tag":553,"props":47302,"children":47303},{"class":555,"line":1167},[47304,47308,47312,47316,47320,47324,47328,47332,47336,47340,47344,47348],{"type":426,"tag":553,"props":47305,"children":47306},{"style":1684},[47307],{"type":431,"value":1687},{"type":426,"tag":553,"props":47309,"children":47310},{"style":795},[47311],{"type":431,"value":957},{"type":426,"tag":553,"props":47313,"children":47314},{"style":684},[47315],{"type":431,"value":972},{"type":426,"tag":553,"props":47317,"children":47318},{"style":572},[47319],{"type":431,"value":45214},{"type":426,"tag":553,"props":47321,"children":47322},{"style":684},[47323],{"type":431,"value":700},{"type":426,"tag":553,"props":47325,"children":47326},{"style":795},[47327],{"type":431,"value":1709},{"type":426,"tag":553,"props":47329,"children":47330},{"style":572},[47331],{"type":431,"value":12608},{"type":426,"tag":553,"props":47333,"children":47334},{"style":566},[47335],{"type":431,"value":972},{"type":426,"tag":553,"props":47337,"children":47338},{"style":684},[47339],{"type":431,"value":1723},{"type":426,"tag":553,"props":47341,"children":47342},{"style":566},[47343],{"type":431,"value":982},{"type":426,"tag":553,"props":47345,"children":47346},{"style":572},[47347],{"type":431,"value":1527},{"type":426,"tag":553,"props":47349,"children":47350},{"style":684},[47351],{"type":431,"value":1737},{"type":426,"tag":553,"props":47353,"children":47354},{"class":555,"line":1184},[47355,47359,47363,47367,47371,47375,47379],{"type":426,"tag":553,"props":47356,"children":47357},{"style":1684},[47358],{"type":431,"value":1746},{"type":426,"tag":553,"props":47360,"children":47361},{"style":795},[47362],{"type":431,"value":957},{"type":426,"tag":553,"props":47364,"children":47365},{"style":684},[47366],{"type":431,"value":972},{"type":426,"tag":553,"props":47368,"children":47369},{"style":572},[47370],{"type":431,"value":45266},{"type":426,"tag":553,"props":47372,"children":47373},{"style":684},[47374],{"type":431,"value":21204},{"type":426,"tag":553,"props":47376,"children":47377},{"style":572},[47378],{"type":431,"value":45275},{"type":426,"tag":553,"props":47380,"children":47381},{"style":684},[47382],{"type":431,"value":1784},{"type":426,"tag":553,"props":47384,"children":47385},{"class":555,"line":1192},[47386],{"type":426,"tag":553,"props":47387,"children":47388},{"style":684},[47389],{"type":431,"value":1642},{"type":426,"tag":553,"props":47391,"children":47392},{"class":555,"line":1210},[47393],{"type":426,"tag":553,"props":47394,"children":47395},{"style":684},[47396],{"type":431,"value":917},{"type":426,"tag":553,"props":47398,"children":47399},{"class":555,"line":1253},[47400,47404],{"type":426,"tag":553,"props":47401,"children":47402},{"style":795},[47403],{"type":431,"value":1659},{"type":426,"tag":553,"props":47405,"children":47406},{"style":684},[47407],{"type":431,"value":9193},{"type":426,"tag":434,"props":47409,"children":47410},{"id":4050},[47411],{"type":431,"value":4053},{"type":426,"tag":454,"props":47413,"children":47414},{},[47415,47425,47435,47445],{"type":426,"tag":458,"props":47416,"children":47417},{},[47418,47423],{"type":426,"tag":446,"props":47419,"children":47420},{},[47421],{"type":431,"value":47422},"40–60%",{"type":431,"value":47424}," reduction in \"where is my order?\" support tickets (shipping notifications)",{"type":426,"tag":458,"props":47426,"children":47427},{},[47428,47433],{"type":426,"tag":446,"props":47429,"children":47430},{},[47431],{"type":431,"value":47432},"15–25%",{"type":431,"value":47434}," abandoned cart recovery rate (WhatsApp vs 3–5% for email)",{"type":426,"tag":458,"props":47436,"children":47437},{},[47438,47443],{"type":426,"tag":446,"props":47439,"children":47440},{},[47441],{"type":431,"value":47442},"3–5x",{"type":431,"value":47444}," higher review submission rate (WhatsApp review requests)",{"type":426,"tag":458,"props":47446,"children":47447},{},[47448,47452],{"type":426,"tag":446,"props":47449,"children":47450},{},[47451],{"type":431,"value":36597},{"type":431,"value":47453}," — customers actually see your messages",{"type":426,"tag":434,"props":47455,"children":47456},{"id":4109},[47457],{"type":431,"value":4112},{"type":426,"tag":427,"props":47459,"children":47460},{},[47461,47466],{"type":426,"tag":446,"props":47462,"children":47463},{},[47464],{"type":431,"value":47465},"Does Rapiwa integrate directly with WooCommerce?",{"type":431,"value":47467},"\nYes. Rapiwa has a WooCommerce plugin that adds WhatsApp notification settings directly to your WooCommerce admin. Install it from the WordPress plugin directory.",{"type":426,"tag":427,"props":47469,"children":47470},{},[47471,47476],{"type":426,"tag":446,"props":47472,"children":47473},{},[47474],{"type":431,"value":47475},"Can I send WhatsApp messages from Shopify?",{"type":431,"value":47477},"\nYes. Use n8n with the Shopify trigger + Rapiwa HTTP Request, or use Zapier's Shopify trigger + Webhooks by Zapier to call Rapiwa's API.",{"type":426,"tag":427,"props":47479,"children":47480},{},[47481,47486],{"type":426,"tag":446,"props":47482,"children":47483},{},[47484],{"type":431,"value":47485},"Does Rapiwa charge per e-commerce notification?",{"type":431,"value":47487},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Send 100 or 10,000 order notifications at the same price.",{"type":426,"tag":427,"props":47489,"children":47490},{},[47491,47496],{"type":426,"tag":446,"props":47492,"children":47493},{},[47494],{"type":431,"value":47495},"Is WhatsApp automation allowed for e-commerce?",{"type":431,"value":47497},"\nYes. Customers who provide their WhatsApp number during checkout have consented to order-related communication. Ensure you offer an opt-out option.",{"type":426,"tag":427,"props":47499,"children":47500},{},[47501,47506],{"type":426,"tag":446,"props":47502,"children":47503},{},[47504],{"type":431,"value":47505},"What is the best WhatsApp API for WooCommerce?",{"type":431,"value":47507},"\nRapiwa is the best value WhatsApp API for WooCommerce at $5\u002Fmonth with a dedicated WooCommerce plugin, n8n workflow templates with 1,300+ installs, and a 5.0\u002F5 Sourceforge rating.",{"type":426,"tag":4164,"props":47509,"children":47510},{},[47511],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":47513},[47514,47515,47524,47530,47531],{"id":45541,"depth":588,"text":45544},{"id":45591,"depth":588,"text":45594,"children":47516},[47517,47518,47519,47520,47521,47522,47523],{"id":45597,"depth":606,"text":45600},{"id":45731,"depth":606,"text":45734},{"id":45789,"depth":606,"text":45792},{"id":45915,"depth":606,"text":45918},{"id":45947,"depth":606,"text":45950},{"id":46509,"depth":606,"text":46512},{"id":46541,"depth":606,"text":46544},{"id":46915,"depth":588,"text":46918,"children":47525},[47526,47527,47528,47529],{"id":3809,"depth":606,"text":3812},{"id":46936,"depth":606,"text":46939},{"id":46947,"depth":606,"text":46950},{"id":47052,"depth":606,"text":47055},{"id":4050,"depth":588,"text":4053},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-automation-ecommerce-order-cart-tracking.md","blog\u002Fwhatsapp-automation-ecommerce-order-cart-tracking.md","blog\u002Fwhatsapp-automation-ecommerce-order-cart-tracking",{"loc":65},{"_path":69,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":70,"description":71,"date":47537,"author":47538,"category":43,"_slug":47539,"image":47540,"body":47541,"_type":4187,"_id":48752,"_source":4189,"_file":48753,"_stem":48754,"_extension":4192,"sitemap":48755},"2026-03-13","Ashik","shopify-cancellation-whatsapp-upsell-rapiwa","\u002Fimages\u002Fblog\u002Fshopify-cancellation-whatsapp-upsell-rapiwa.svg",{"type":423,"children":47542,"toc":48738},[47543,47548,47554,47559,47587,47596,47622,47628,47676,47682,47687,47695,47795,47805,47833,47839,47943,47949,47977,47983,47991,48020,48028,48055,48061,48072,48123,48180,48188,48281,48288,48364,48370,48375,48383,48391,48444,48450,48455,48540,48545,48551,48596,48600,48666,48670,48688,48698,48707,48717,48734],{"type":426,"tag":427,"props":47544,"children":47545},{},[47546],{"type":431,"value":47547},"This n8n workflow automatically sends a personalized upsell WhatsApp message to Shopify customers when they cancel an order. Using Rapiwa API ($5\u002Fmonth, no per-message fees) and a Google Sheet to track previous offers, the message suggests a better-fitting product or a discounted alternative. Over 56 developers use this workflow to recover revenue from cancellations.",{"type":426,"tag":434,"props":47549,"children":47551},{"id":47550},"what-this-workflow-does",[47552],{"type":431,"value":47553},"What This Workflow Does",{"type":426,"tag":427,"props":47555,"children":47556},{},[47557],{"type":431,"value":47558},"When a Shopify order is cancelled:",{"type":426,"tag":6331,"props":47560,"children":47561},{},[47562,47567,47572,47577,47582],{"type":426,"tag":458,"props":47563,"children":47564},{},[47565],{"type":431,"value":47566},"n8n detects the cancellation via Shopify webhook",{"type":426,"tag":458,"props":47568,"children":47569},{},[47570],{"type":431,"value":47571},"Looks up the customer's purchase history in a Google Sheet",{"type":426,"tag":458,"props":47573,"children":47574},{},[47575],{"type":431,"value":47576},"Selects the most relevant upsell product based on what was cancelled",{"type":426,"tag":458,"props":47578,"children":47579},{},[47580],{"type":431,"value":47581},"Sends a personalized WhatsApp message offering the alternative product",{"type":426,"tag":458,"props":47583,"children":47584},{},[47585],{"type":431,"value":47586},"Logs the upsell offer to the Google Sheet to prevent duplicate sends",{"type":426,"tag":427,"props":47588,"children":47589},{},[47590,47594],{"type":426,"tag":446,"props":47591,"children":47592},{},[47593],{"type":431,"value":43482},{"type":431,"value":47595},": 8–15% of customers who receive a relevant upsell after cancellation make a new purchase within 48 hours.",{"type":426,"tag":41290,"props":47597,"children":47598},{},[47599],{"type":426,"tag":427,"props":47600,"children":47601},{},[47602,47607,47609,47616],{"type":426,"tag":446,"props":47603,"children":47604},{},[47605],{"type":431,"value":47606},"Ready-made template",{"type":431,"value":47608},": Import with one click:\n",{"type":426,"tag":3819,"props":47610,"children":47613},{"href":47611,"rel":47612},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10790-automated-whatsapp-upsell-messages-for-shopify-cancellations-with-rapiwa-and-sheet\u002F",[3823],[47614],{"type":431,"value":47615},"Automated WhatsApp upsell messages for Shopify cancellations with Rapiwa & Sheet →",{"type":426,"tag":47617,"props":47618,"children":47619},"em",{},[47620],{"type":431,"value":47621},"(56 installs)",{"type":426,"tag":434,"props":47623,"children":47625},{"id":47624},"prerequisites",[47626],{"type":431,"value":47627},"Prerequisites",{"type":426,"tag":454,"props":47629,"children":47630},{},[47631,47646,47656,47666],{"type":426,"tag":458,"props":47632,"children":47633},{},[47634,47639,47640],{"type":426,"tag":446,"props":47635,"children":47636},{},[47637],{"type":431,"value":47638},"Rapiwa account",{"type":431,"value":22506},{"type":426,"tag":3819,"props":47641,"children":47643},{"href":3821,"rel":47642},[3823],[47644],{"type":431,"value":47645},"Start free 3-day trial →",{"type":426,"tag":458,"props":47647,"children":47648},{},[47649,47654],{"type":426,"tag":446,"props":47650,"children":47651},{},[47652],{"type":431,"value":47653},"n8n",{"type":431,"value":47655}," — Cloud free tier or self-hosted",{"type":426,"tag":458,"props":47657,"children":47658},{},[47659,47664],{"type":426,"tag":446,"props":47660,"children":47661},{},[47662],{"type":431,"value":47663},"Shopify store",{"type":431,"value":47665}," — Admin API access token",{"type":426,"tag":458,"props":47667,"children":47668},{},[47669,47674],{"type":426,"tag":446,"props":47670,"children":47671},{},[47672],{"type":431,"value":47673},"Google Sheets",{"type":431,"value":47675}," — for upsell product mapping and logging",{"type":426,"tag":434,"props":47677,"children":47679},{"id":47678},"step-1-set-up-the-upsell-product-mapping-sheet",[47680],{"type":431,"value":47681},"Step 1: Set Up the Upsell Product Mapping Sheet",{"type":426,"tag":427,"props":47683,"children":47684},{},[47685],{"type":431,"value":47686},"Create a Google Sheet with two tabs:",{"type":426,"tag":427,"props":47688,"children":47689},{},[47690],{"type":426,"tag":446,"props":47691,"children":47692},{},[47693],{"type":431,"value":47694},"Tab 1: Product Mappings",{"type":426,"tag":10600,"props":47696,"children":47697},{},[47698,47724],{"type":426,"tag":10604,"props":47699,"children":47700},{},[47701],{"type":426,"tag":10608,"props":47702,"children":47703},{},[47704,47709,47714,47719],{"type":426,"tag":10612,"props":47705,"children":47706},{},[47707],{"type":431,"value":47708},"Cancelled SKU",{"type":426,"tag":10612,"props":47710,"children":47711},{},[47712],{"type":431,"value":47713},"Upsell Product",{"type":426,"tag":10612,"props":47715,"children":47716},{},[47717],{"type":431,"value":47718},"Upsell URL",{"type":426,"tag":10612,"props":47720,"children":47721},{},[47722],{"type":431,"value":47723},"Discount Code",{"type":426,"tag":10623,"props":47725,"children":47726},{},[47727,47750,47772],{"type":426,"tag":10608,"props":47728,"children":47729},{},[47730,47735,47740,47745],{"type":426,"tag":10630,"props":47731,"children":47732},{},[47733],{"type":431,"value":47734},"LAPTOP-PRO",{"type":426,"tag":10630,"props":47736,"children":47737},{},[47738],{"type":431,"value":47739},"LAPTOP-STANDARD",{"type":426,"tag":10630,"props":47741,"children":47742},{},[47743],{"type":431,"value":47744},"yourstore.com\u002Flaptop-standard",{"type":426,"tag":10630,"props":47746,"children":47747},{},[47748],{"type":431,"value":47749},"CANCEL10",{"type":426,"tag":10608,"props":47751,"children":47752},{},[47753,47758,47763,47768],{"type":426,"tag":10630,"props":47754,"children":47755},{},[47756],{"type":431,"value":47757},"SHOES-XL",{"type":426,"tag":10630,"props":47759,"children":47760},{},[47761],{"type":431,"value":47762},"SHOES-L",{"type":426,"tag":10630,"props":47764,"children":47765},{},[47766],{"type":431,"value":47767},"yourstore.com\u002Fshoes-l",{"type":426,"tag":10630,"props":47769,"children":47770},{},[47771],{"type":431,"value":47749},{"type":426,"tag":10608,"props":47773,"children":47774},{},[47775,47780,47785,47790],{"type":426,"tag":10630,"props":47776,"children":47777},{},[47778],{"type":431,"value":47779},"COFFEE-PREMIUM",{"type":426,"tag":10630,"props":47781,"children":47782},{},[47783],{"type":431,"value":47784},"COFFEE-REGULAR",{"type":426,"tag":10630,"props":47786,"children":47787},{},[47788],{"type":431,"value":47789},"yourstore.com\u002Fcoffee-regular",{"type":426,"tag":10630,"props":47791,"children":47792},{},[47793],{"type":431,"value":47794},"CANCEL15",{"type":426,"tag":427,"props":47796,"children":47797},{},[47798,47803],{"type":426,"tag":446,"props":47799,"children":47800},{},[47801],{"type":431,"value":47802},"Tab 2: Upsell Log",{"type":431,"value":47804}," (to prevent duplicate messages)",{"type":426,"tag":10600,"props":47806,"children":47807},{},[47808],{"type":426,"tag":10604,"props":47809,"children":47810},{},[47811],{"type":426,"tag":10608,"props":47812,"children":47813},{},[47814,47818,47823,47828],{"type":426,"tag":10612,"props":47815,"children":47816},{},[47817],{"type":431,"value":46710},{"type":426,"tag":10612,"props":47819,"children":47820},{},[47821],{"type":431,"value":47822},"customer_phone",{"type":426,"tag":10612,"props":47824,"children":47825},{},[47826],{"type":431,"value":47827},"upsell_sent",{"type":426,"tag":10612,"props":47829,"children":47830},{},[47831],{"type":431,"value":47832},"sent_at",{"type":426,"tag":434,"props":47834,"children":47836},{"id":47835},"step-2-import-the-n8n-template",[47837],{"type":431,"value":47838},"Step 2: Import the n8n Template",{"type":426,"tag":6331,"props":47840,"children":47841},{},[47842,47853,47863],{"type":426,"tag":458,"props":47843,"children":47844},{},[47845,47847],{"type":431,"value":47846},"Go to ",{"type":426,"tag":3819,"props":47848,"children":47850},{"href":47611,"rel":47849},[3823],[47851],{"type":431,"value":47852},"n8n.io\u002Fworkflows\u002F10790",{"type":426,"tag":458,"props":47854,"children":47855},{},[47856,47858],{"type":431,"value":47857},"Click ",{"type":426,"tag":446,"props":47859,"children":47860},{},[47861],{"type":431,"value":47862},"Use this workflow",{"type":426,"tag":458,"props":47864,"children":47865},{},[47866,47868],{"type":431,"value":47867},"The workflow nodes:\n",{"type":426,"tag":454,"props":47869,"children":47870},{},[47871,47886,47895,47904,47914,47924,47934],{"type":426,"tag":458,"props":47872,"children":47873},{},[47874,47879,47880],{"type":426,"tag":446,"props":47875,"children":47876},{},[47877],{"type":431,"value":47878},"Shopify Trigger",{"type":431,"value":5710},{"type":426,"tag":549,"props":47881,"children":47883},{"className":47882},[],[47884],{"type":431,"value":47885},"orders\u002Fcancelled",{"type":426,"tag":458,"props":47887,"children":47888},{},[47889,47893],{"type":426,"tag":446,"props":47890,"children":47891},{},[47892],{"type":431,"value":47673},{"type":431,"value":47894}," → check if upsell already sent",{"type":426,"tag":458,"props":47896,"children":47897},{},[47898,47902],{"type":426,"tag":446,"props":47899,"children":47900},{},[47901],{"type":431,"value":47673},{"type":431,"value":47903}," → fetch upsell product for cancelled SKU",{"type":426,"tag":458,"props":47905,"children":47906},{},[47907,47912],{"type":426,"tag":446,"props":47908,"children":47909},{},[47910],{"type":431,"value":47911},"IF node",{"type":431,"value":47913}," → skip if no upsell mapping found",{"type":426,"tag":458,"props":47915,"children":47916},{},[47917,47922],{"type":426,"tag":446,"props":47918,"children":47919},{},[47920],{"type":431,"value":47921},"Set node",{"type":431,"value":47923}," → build upsell message",{"type":426,"tag":458,"props":47925,"children":47926},{},[47927,47932],{"type":426,"tag":446,"props":47928,"children":47929},{},[47930],{"type":431,"value":47931},"HTTP Request (Rapiwa)",{"type":431,"value":47933}," → send WhatsApp",{"type":426,"tag":458,"props":47935,"children":47936},{},[47937,47941],{"type":426,"tag":446,"props":47938,"children":47939},{},[47940],{"type":431,"value":47673},{"type":431,"value":47942}," → log the sent upsell",{"type":426,"tag":434,"props":47944,"children":47946},{"id":47945},"step-3-configure-shopify-trigger",[47947],{"type":431,"value":47948},"Step 3: Configure Shopify Trigger",{"type":426,"tag":6331,"props":47950,"children":47951},{},[47952,47962,47967],{"type":426,"tag":458,"props":47953,"children":47954},{},[47955,47956,47960],{"type":431,"value":47857},{"type":426,"tag":446,"props":47957,"children":47958},{},[47959],{"type":431,"value":47878},{"type":431,"value":47961}," node",{"type":426,"tag":458,"props":47963,"children":47964},{},[47965],{"type":431,"value":47966},"Credentials: enter store URL + Admin API token",{"type":426,"tag":458,"props":47968,"children":47969},{},[47970,47972],{"type":431,"value":47971},"Topic: ",{"type":426,"tag":549,"props":47973,"children":47975},{"className":47974},[],[47976],{"type":431,"value":47885},{"type":426,"tag":434,"props":47978,"children":47980},{"id":47979},"step-4-configure-the-google-sheets-lookup",[47981],{"type":431,"value":47982},"Step 4: Configure the Google Sheets Lookup",{"type":426,"tag":427,"props":47984,"children":47985},{},[47986],{"type":426,"tag":446,"props":47987,"children":47988},{},[47989],{"type":431,"value":47990},"Lookup node: check if upsell already sent",{"type":426,"tag":454,"props":47992,"children":47993},{},[47994,47999,48004,48009],{"type":426,"tag":458,"props":47995,"children":47996},{},[47997],{"type":431,"value":47998},"Operation: Lookup Row",{"type":426,"tag":458,"props":48000,"children":48001},{},[48002],{"type":431,"value":48003},"Sheet: Upsell Log",{"type":426,"tag":458,"props":48005,"children":48006},{},[48007],{"type":431,"value":48008},"Lookup Column: order_id",{"type":426,"tag":458,"props":48010,"children":48011},{},[48012,48014],{"type":431,"value":48013},"Lookup Value: ",{"type":426,"tag":549,"props":48015,"children":48017},{"className":48016},[],[48018],{"type":431,"value":48019},"{{ $json.id }}",{"type":426,"tag":427,"props":48021,"children":48022},{},[48023],{"type":426,"tag":446,"props":48024,"children":48025},{},[48026],{"type":431,"value":48027},"Lookup node: fetch upsell product",{"type":426,"tag":454,"props":48029,"children":48030},{},[48031,48035,48040,48045],{"type":426,"tag":458,"props":48032,"children":48033},{},[48034],{"type":431,"value":47998},{"type":426,"tag":458,"props":48036,"children":48037},{},[48038],{"type":431,"value":48039},"Sheet: Product Mappings",{"type":426,"tag":458,"props":48041,"children":48042},{},[48043],{"type":431,"value":48044},"Lookup Column: Cancelled SKU",{"type":426,"tag":458,"props":48046,"children":48047},{},[48048,48049],{"type":431,"value":48013},{"type":426,"tag":549,"props":48050,"children":48052},{"className":48051},[],[48053],{"type":431,"value":48054},"{{ $('Shopify Trigger').item.json.line_items[0].sku }}",{"type":426,"tag":434,"props":48056,"children":48058},{"id":48057},"step-5-configure-the-rapiwa-send-node",[48059],{"type":431,"value":48060},"Step 5: Configure the Rapiwa Send Node",{"type":426,"tag":427,"props":48062,"children":48063},{},[48064,48066,48070],{"type":431,"value":48065},"Find the ",{"type":426,"tag":446,"props":48067,"children":48068},{},[48069],{"type":431,"value":44949},{"type":431,"value":48071}," node \"Send WhatsApp Upsell\":",{"type":426,"tag":454,"props":48073,"children":48074},{},[48075,48084,48099,48114],{"type":426,"tag":458,"props":48076,"children":48077},{},[48078,48082],{"type":426,"tag":446,"props":48079,"children":48080},{},[48081],{"type":431,"value":46964},{"type":431,"value":48083},": POST",{"type":426,"tag":458,"props":48085,"children":48086},{},[48087,48092,48093],{"type":426,"tag":446,"props":48088,"children":48089},{},[48090],{"type":431,"value":48091},"URL",{"type":431,"value":700},{"type":426,"tag":549,"props":48094,"children":48096},{"className":48095},[],[48097],{"type":431,"value":48098},"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message",{"type":426,"tag":458,"props":48100,"children":48101},{},[48102,48107,48108],{"type":426,"tag":446,"props":48103,"children":48104},{},[48105],{"type":431,"value":48106},"Authorization",{"type":431,"value":700},{"type":426,"tag":549,"props":48109,"children":48111},{"className":48110},[],[48112],{"type":431,"value":48113},"Bearer YOUR_API_KEY",{"type":426,"tag":458,"props":48115,"children":48116},{},[48117,48122],{"type":426,"tag":446,"props":48118,"children":48119},{},[48120],{"type":431,"value":48121},"Body",{"type":431,"value":19071},{"type":426,"tag":542,"props":48124,"children":48126},{"code":48125,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $json.customer_phone }}\",\n  \"message\": \"={{ $json.upsell_message }}\"\n}\n",[48127],{"type":426,"tag":549,"props":48128,"children":48129},{"__ignoreMap":417},[48130,48137,48157,48173],{"type":426,"tag":553,"props":48131,"children":48132},{"class":555,"line":556},[48133],{"type":426,"tag":553,"props":48134,"children":48135},{"style":684},[48136],{"type":431,"value":687},{"type":426,"tag":553,"props":48138,"children":48139},{"class":555,"line":588},[48140,48144,48148,48153],{"type":426,"tag":553,"props":48141,"children":48142},{"style":566},[48143],{"type":431,"value":7277},{"type":426,"tag":553,"props":48145,"children":48146},{"style":684},[48147],{"type":431,"value":700},{"type":426,"tag":553,"props":48149,"children":48150},{"style":572},[48151],{"type":431,"value":48152},"\"={{ $json.customer_phone }}\"",{"type":426,"tag":553,"props":48154,"children":48155},{"style":684},[48156],{"type":431,"value":710},{"type":426,"tag":553,"props":48158,"children":48159},{"class":555,"line":606},[48160,48164,48168],{"type":426,"tag":553,"props":48161,"children":48162},{"style":566},[48163],{"type":431,"value":7298},{"type":426,"tag":553,"props":48165,"children":48166},{"style":684},[48167],{"type":431,"value":700},{"type":426,"tag":553,"props":48169,"children":48170},{"style":572},[48171],{"type":431,"value":48172},"\"={{ $json.upsell_message }}\"\n",{"type":426,"tag":553,"props":48174,"children":48175},{"class":555,"line":623},[48176],{"type":426,"tag":553,"props":48177,"children":48178},{"style":684},[48179],{"type":431,"value":756},{"type":426,"tag":427,"props":48181,"children":48182},{},[48183],{"type":426,"tag":446,"props":48184,"children":48185},{},[48186],{"type":431,"value":48187},"Working cURL test:",{"type":426,"tag":542,"props":48189,"children":48191},{"code":48190,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! We noticed you cancelled your order for the Laptop Pro.\\n\\nMaybe our Laptop Standard is a better fit? Same quality, lower price:\\n\\nhttps:\u002F\u002Fyourstore.com\u002Flaptop-standard\\n\\nUse code *CANCEL10* for 10% off — valid for 48 hours! 🎁\"\n  }'\n",[48192],{"type":426,"tag":549,"props":48193,"children":48194},{"__ignoreMap":417},[48195,48218,48233,48248,48259,48266,48274],{"type":426,"tag":553,"props":48196,"children":48197},{"class":555,"line":556},[48198,48202,48206,48210,48214],{"type":426,"tag":553,"props":48199,"children":48200},{"style":560},[48201],{"type":431,"value":563},{"type":426,"tag":553,"props":48203,"children":48204},{"style":566},[48205],{"type":431,"value":569},{"type":426,"tag":553,"props":48207,"children":48208},{"style":572},[48209],{"type":431,"value":575},{"type":426,"tag":553,"props":48211,"children":48212},{"style":572},[48213],{"type":431,"value":580},{"type":426,"tag":553,"props":48215,"children":48216},{"style":566},[48217],{"type":431,"value":585},{"type":426,"tag":553,"props":48219,"children":48220},{"class":555,"line":588},[48221,48225,48229],{"type":426,"tag":553,"props":48222,"children":48223},{"style":566},[48224],{"type":431,"value":594},{"type":426,"tag":553,"props":48226,"children":48227},{"style":572},[48228],{"type":431,"value":599},{"type":426,"tag":553,"props":48230,"children":48231},{"style":566},[48232],{"type":431,"value":585},{"type":426,"tag":553,"props":48234,"children":48235},{"class":555,"line":606},[48236,48240,48244],{"type":426,"tag":553,"props":48237,"children":48238},{"style":566},[48239],{"type":431,"value":594},{"type":426,"tag":553,"props":48241,"children":48242},{"style":572},[48243],{"type":431,"value":616},{"type":426,"tag":553,"props":48245,"children":48246},{"style":566},[48247],{"type":431,"value":585},{"type":426,"tag":553,"props":48249,"children":48250},{"class":555,"line":623},[48251,48255],{"type":426,"tag":553,"props":48252,"children":48253},{"style":566},[48254],{"type":431,"value":629},{"type":426,"tag":553,"props":48256,"children":48257},{"style":572},[48258],{"type":431,"value":634},{"type":426,"tag":553,"props":48260,"children":48261},{"class":555,"line":637},[48262],{"type":426,"tag":553,"props":48263,"children":48264},{"style":572},[48265],{"type":431,"value":643},{"type":426,"tag":553,"props":48267,"children":48268},{"class":555,"line":646},[48269],{"type":426,"tag":553,"props":48270,"children":48271},{"style":572},[48272],{"type":431,"value":48273},"    \"message\": \"Hi Sarah! We noticed you cancelled your order for the Laptop Pro.\\n\\nMaybe our Laptop Standard is a better fit? Same quality, lower price:\\n\\nhttps:\u002F\u002Fyourstore.com\u002Flaptop-standard\\n\\nUse code *CANCEL10* for 10% off — valid for 48 hours! 🎁\"\n",{"type":426,"tag":553,"props":48275,"children":48276},{"class":555,"line":655},[48277],{"type":426,"tag":553,"props":48278,"children":48279},{"style":572},[48280],{"type":431,"value":661},{"type":426,"tag":427,"props":48282,"children":48283},{},[48284],{"type":426,"tag":446,"props":48285,"children":48286},{},[48287],{"type":431,"value":669},{"type":426,"tag":542,"props":48289,"children":48291},{"code":48290,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_upsell_abc123\",\n  \"timestamp\": \"2026-07-05T10:30:00Z\"\n}\n",[48292],{"type":426,"tag":549,"props":48293,"children":48294},{"__ignoreMap":417},[48295,48302,48321,48341,48357],{"type":426,"tag":553,"props":48296,"children":48297},{"class":555,"line":556},[48298],{"type":426,"tag":553,"props":48299,"children":48300},{"style":684},[48301],{"type":431,"value":687},{"type":426,"tag":553,"props":48303,"children":48304},{"class":555,"line":588},[48305,48309,48313,48317],{"type":426,"tag":553,"props":48306,"children":48307},{"style":566},[48308],{"type":431,"value":695},{"type":426,"tag":553,"props":48310,"children":48311},{"style":684},[48312],{"type":431,"value":700},{"type":426,"tag":553,"props":48314,"children":48315},{"style":572},[48316],{"type":431,"value":705},{"type":426,"tag":553,"props":48318,"children":48319},{"style":684},[48320],{"type":431,"value":710},{"type":426,"tag":553,"props":48322,"children":48323},{"class":555,"line":606},[48324,48328,48332,48337],{"type":426,"tag":553,"props":48325,"children":48326},{"style":566},[48327],{"type":431,"value":718},{"type":426,"tag":553,"props":48329,"children":48330},{"style":684},[48331],{"type":431,"value":700},{"type":426,"tag":553,"props":48333,"children":48334},{"style":572},[48335],{"type":431,"value":48336},"\"msg_upsell_abc123\"",{"type":426,"tag":553,"props":48338,"children":48339},{"style":684},[48340],{"type":431,"value":710},{"type":426,"tag":553,"props":48342,"children":48343},{"class":555,"line":623},[48344,48348,48352],{"type":426,"tag":553,"props":48345,"children":48346},{"style":566},[48347],{"type":431,"value":739},{"type":426,"tag":553,"props":48349,"children":48350},{"style":684},[48351],{"type":431,"value":700},{"type":426,"tag":553,"props":48353,"children":48354},{"style":572},[48355],{"type":431,"value":48356},"\"2026-07-05T10:30:00Z\"\n",{"type":426,"tag":553,"props":48358,"children":48359},{"class":555,"line":637},[48360],{"type":426,"tag":553,"props":48361,"children":48362},{"style":684},[48363],{"type":431,"value":756},{"type":426,"tag":434,"props":48365,"children":48367},{"id":48366},"step-6-craft-effective-upsell-messages",[48368],{"type":431,"value":48369},"Step 6: Craft Effective Upsell Messages",{"type":426,"tag":427,"props":48371,"children":48372},{},[48373],{"type":431,"value":48374},"The upsell message template:",{"type":426,"tag":542,"props":48376,"children":48378},{"code":48377},"Hi {{ $json.customer_first_name }}! 👋\n\nWe noticed you cancelled your order for *{{ $json.cancelled_product_name }}*.\n\nNo problem — but before you go, have you considered *{{ $json.upsell_product_name }}*?\n\nIt might be a better fit for you:\n✅ {{ $json.upsell_benefit_1 }}\n✅ {{ $json.upsell_benefit_2 }}\n💰 Price: {{ $json.upsell_price }}\n\n🎁 Special offer: Use code *{{ $json.discount_code }}* for 10% off.\nValid for 48 hours only.\n\nView product: {{ $json.upsell_url }}\n\nNo pressure — just wanted you to know! 😊\n",[48379],{"type":426,"tag":549,"props":48380,"children":48381},{"__ignoreMap":417},[48382],{"type":431,"value":48377},{"type":426,"tag":427,"props":48384,"children":48385},{},[48386],{"type":426,"tag":446,"props":48387,"children":48388},{},[48389],{"type":431,"value":48390},"What makes an effective upsell after cancellation:",{"type":426,"tag":6331,"props":48392,"children":48393},{},[48394,48404,48414,48424,48434],{"type":426,"tag":458,"props":48395,"children":48396},{},[48397,48402],{"type":426,"tag":446,"props":48398,"children":48399},{},[48400],{"type":431,"value":48401},"Acknowledge the cancellation",{"type":431,"value":48403}," — don't pretend it didn't happen",{"type":426,"tag":458,"props":48405,"children":48406},{},[48407,48412],{"type":426,"tag":446,"props":48408,"children":48409},{},[48410],{"type":431,"value":48411},"Suggest a real alternative",{"type":431,"value":48413}," — not just any product, but one that's relevant to what they cancelled",{"type":426,"tag":458,"props":48415,"children":48416},{},[48417,48422],{"type":426,"tag":446,"props":48418,"children":48419},{},[48420],{"type":431,"value":48421},"Explain why it's better",{"type":431,"value":48423}," — 2–3 bullet points of specific benefits",{"type":426,"tag":458,"props":48425,"children":48426},{},[48427,48432],{"type":426,"tag":446,"props":48428,"children":48429},{},[48430],{"type":431,"value":48431},"Add a time-limited discount",{"type":431,"value":48433}," — 10–15% discount with 48-hour expiry",{"type":426,"tag":458,"props":48435,"children":48436},{},[48437,48442],{"type":426,"tag":446,"props":48438,"children":48439},{},[48440],{"type":431,"value":48441},"Keep the tone friendly",{"type":431,"value":48443}," — low pressure, high value",{"type":426,"tag":434,"props":48445,"children":48447},{"id":48446},"step-7-log-the-upsell-and-avoid-duplicates",[48448],{"type":431,"value":48449},"Step 7: Log the Upsell and Avoid Duplicates",{"type":426,"tag":427,"props":48451,"children":48452},{},[48453],{"type":431,"value":48454},"After sending, add a row to the Upsell Log sheet:",{"type":426,"tag":10600,"props":48456,"children":48457},{},[48458,48473],{"type":426,"tag":10604,"props":48459,"children":48460},{},[48461],{"type":426,"tag":10608,"props":48462,"children":48463},{},[48464,48469],{"type":426,"tag":10612,"props":48465,"children":48466},{},[48467],{"type":431,"value":48468},"Field",{"type":426,"tag":10612,"props":48470,"children":48471},{},[48472],{"type":431,"value":10621},{"type":426,"tag":10623,"props":48474,"children":48475},{},[48476,48492,48508,48524],{"type":426,"tag":10608,"props":48477,"children":48478},{},[48479,48483],{"type":426,"tag":10630,"props":48480,"children":48481},{},[48482],{"type":431,"value":46710},{"type":426,"tag":10630,"props":48484,"children":48485},{},[48486],{"type":426,"tag":549,"props":48487,"children":48489},{"className":48488},[],[48490],{"type":431,"value":48491},"{{ $('Shopify Trigger').item.json.id }}",{"type":426,"tag":10608,"props":48493,"children":48494},{},[48495,48499],{"type":426,"tag":10630,"props":48496,"children":48497},{},[48498],{"type":431,"value":47822},{"type":426,"tag":10630,"props":48500,"children":48501},{},[48502],{"type":426,"tag":549,"props":48503,"children":48505},{"className":48504},[],[48506],{"type":431,"value":48507},"{{ $json.customer_phone }}",{"type":426,"tag":10608,"props":48509,"children":48510},{},[48511,48515],{"type":426,"tag":10630,"props":48512,"children":48513},{},[48514],{"type":431,"value":47827},{"type":426,"tag":10630,"props":48516,"children":48517},{},[48518],{"type":426,"tag":549,"props":48519,"children":48521},{"className":48520},[],[48522],{"type":431,"value":48523},"true",{"type":426,"tag":10608,"props":48525,"children":48526},{},[48527,48531],{"type":426,"tag":10630,"props":48528,"children":48529},{},[48530],{"type":431,"value":47832},{"type":426,"tag":10630,"props":48532,"children":48533},{},[48534],{"type":426,"tag":549,"props":48535,"children":48537},{"className":48536},[],[48538],{"type":431,"value":48539},"{{ $now.toISO() }}",{"type":426,"tag":427,"props":48541,"children":48542},{},[48543],{"type":431,"value":48544},"The duplicate-check node at the start will find this row and skip future runs for the same order.",{"type":426,"tag":434,"props":48546,"children":48548},{"id":48547},"real-world-results",[48549],{"type":431,"value":48550},"Real-World Results",{"type":426,"tag":454,"props":48552,"children":48553},{},[48554,48564,48574,48586],{"type":426,"tag":458,"props":48555,"children":48556},{},[48557,48562],{"type":426,"tag":446,"props":48558,"children":48559},{},[48560],{"type":431,"value":48561},"56 Shopify stores",{"type":431,"value":48563}," already use this workflow",{"type":426,"tag":458,"props":48565,"children":48566},{},[48567,48572],{"type":426,"tag":446,"props":48568,"children":48569},{},[48570],{"type":431,"value":48571},"8–15%",{"type":431,"value":48573}," of customers who receive a relevant WhatsApp upsell make a new purchase",{"type":426,"tag":458,"props":48575,"children":48576},{},[48577,48579,48584],{"type":431,"value":48578},"Upsell conversion is ",{"type":426,"tag":446,"props":48580,"children":48581},{},[48582],{"type":431,"value":48583},"3–4x higher via WhatsApp",{"type":431,"value":48585}," than email for cancelled orders",{"type":426,"tag":458,"props":48587,"children":48588},{},[48589,48591],{"type":431,"value":48590},"Personalized upsells (based on the cancelled product) outperform generic discount codes by ",{"type":426,"tag":446,"props":48592,"children":48593},{},[48594],{"type":431,"value":48595},"2x",{"type":426,"tag":434,"props":48597,"children":48598},{"id":18886},[48599],{"type":431,"value":18889},{"type":426,"tag":454,"props":48601,"children":48602},{},[48603,48613,48639,48657],{"type":426,"tag":458,"props":48604,"children":48605},{},[48606,48611],{"type":426,"tag":446,"props":48607,"children":48608},{},[48609],{"type":431,"value":48610},"No upsell mapping found",{"type":431,"value":48612},": Not every product has a mapped upsell. The IF node should check for empty lookup results and skip gracefully.",{"type":426,"tag":458,"props":48614,"children":48615},{},[48616,48621,48623,48629,48631,48637],{"type":426,"tag":446,"props":48617,"children":48618},{},[48619],{"type":431,"value":48620},"Phone not available",{"type":431,"value":48622},": Shopify may not store customer phone numbers. Check ",{"type":426,"tag":549,"props":48624,"children":48626},{"className":48625},[],[48627],{"type":431,"value":48628},"order.billing_address.phone",{"type":431,"value":48630}," and ",{"type":426,"tag":549,"props":48632,"children":48634},{"className":48633},[],[48635],{"type":431,"value":48636},"order.customer.phone",{"type":431,"value":48638}," — use whichever is populated.",{"type":426,"tag":458,"props":48640,"children":48641},{},[48642,48647,48649,48655],{"type":426,"tag":446,"props":48643,"children":48644},{},[48645],{"type":431,"value":48646},"Customer-requested cancellations",{"type":431,"value":48648},": If the cancellation reason is ",{"type":426,"tag":549,"props":48650,"children":48652},{"className":48651},[],[48653],{"type":431,"value":48654},"customer",{"type":431,"value":48656},", the upsell message is still appropriate — the customer changed their mind, so they may respond to an alternative.",{"type":426,"tag":458,"props":48658,"children":48659},{},[48660,48664],{"type":426,"tag":446,"props":48661,"children":48662},{},[48663],{"type":431,"value":26117},{"type":431,"value":48665},": Regenerate API key in Dashboard → API Keys.",{"type":426,"tag":434,"props":48667,"children":48668},{"id":4109},[48669],{"type":431,"value":4112},{"type":426,"tag":427,"props":48671,"children":48672},{},[48673,48678,48680,48686],{"type":426,"tag":446,"props":48674,"children":48675},{},[48676],{"type":431,"value":48677},"What cancellation reasons should trigger an upsell?",{"type":431,"value":48679},"\nAll cancellation types except ",{"type":426,"tag":549,"props":48681,"children":48683},{"className":48682},[],[48684],{"type":431,"value":48685},"fraud",{"type":431,"value":48687},". For customer-requested, inventory, and payment-declined cancellations, an upsell makes sense. For fraud, don't send any follow-up messages.",{"type":426,"tag":427,"props":48689,"children":48690},{},[48691,48696],{"type":426,"tag":446,"props":48692,"children":48693},{},[48694],{"type":431,"value":48695},"How long after cancellation should I send the upsell?",{"type":431,"value":48697},"\nSend within 30 minutes — while the purchase intent is still warm. A 24+ hour delay drastically reduces conversion.",{"type":426,"tag":427,"props":48699,"children":48700},{},[48701,48706],{"type":426,"tag":446,"props":48702,"children":48703},{},[48704],{"type":431,"value":48705},"Does Rapiwa charge per upsell message?",{"type":431,"value":30566},{"type":426,"tag":427,"props":48708,"children":48709},{},[48710,48715],{"type":426,"tag":446,"props":48711,"children":48712},{},[48713],{"type":431,"value":48714},"Can I A\u002FB test different upsell messages?",{"type":431,"value":48716},"\nYes. Add a Random node in n8n to assign customers to variant A or B, send different messages, and track redemption by discount code in Shopify.",{"type":426,"tag":427,"props":48718,"children":48719},{},[48720,48725,48727,48732],{"type":426,"tag":446,"props":48721,"children":48722},{},[48723],{"type":431,"value":48724},"What if the customer doesn't have a mapped upsell product?",{"type":431,"value":48726},"\nThe IF node routes these cases to a generic message: \"We noticed you cancelled — here's 10% off your next order: ",{"type":426,"tag":553,"props":48728,"children":48729},{},[48730],{"type":431,"value":48731},"store URL",{"type":431,"value":48733}," with code WELCOME10.\" It's less targeted but still recovers some revenue.",{"type":426,"tag":4164,"props":48735,"children":48736},{},[48737],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":48739},[48740,48741,48742,48743,48744,48745,48746,48747,48748,48749,48750,48751],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":47678,"depth":588,"text":47681},{"id":47835,"depth":588,"text":47838},{"id":47945,"depth":588,"text":47948},{"id":47979,"depth":588,"text":47982},{"id":48057,"depth":588,"text":48060},{"id":48366,"depth":588,"text":48369},{"id":48446,"depth":588,"text":48449},{"id":48547,"depth":588,"text":48550},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:shopify-cancellation-whatsapp-upsell-rapiwa.md","blog\u002Fshopify-cancellation-whatsapp-upsell-rapiwa.md","blog\u002Fshopify-cancellation-whatsapp-upsell-rapiwa",{"loc":69},{"_path":73,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":74,"description":75,"date":48757,"author":10935,"category":22,"_slug":48758,"image":48759,"body":48760,"_type":4187,"_id":54664,"_source":4189,"_file":54665,"_stem":54666,"_extension":4192,"sitemap":54667},"2026-03-12","send-qr-code-whatsapp-api-rapiwa","\u002Fimages\u002Fblog\u002Fsend-qr-code-whatsapp-api-rapiwa.svg",{"type":423,"children":48761,"toc":54655},[48762,48774,48780,48785,48808,48817,48821,48851,48857,48897,52071,52077,52111,53734,53742,53844,53850,53855,54506,54510,54575,54579,54597,54613,54623,54641,54651],{"type":426,"tag":427,"props":48763,"children":48764},{},[48765,48767,48772],{"type":431,"value":48766},"You can send QR code event tickets via WhatsApp by generating a QR code image, hosting it at a public URL, and sending it with Rapiwa's ",{"type":426,"tag":549,"props":48768,"children":48770},{"className":48769},[],[48771],{"type":431,"value":7833},{"type":431,"value":48773}," endpoint. When a customer buys a ticket, your system generates a unique QR code, uploads it to S3 or a CDN, and delivers it to the customer's WhatsApp within seconds. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":48775,"children":48777},{"id":48776},"what-youll-build",[48778],{"type":431,"value":48779},"What You'll Build",{"type":426,"tag":427,"props":48781,"children":48782},{},[48783],{"type":431,"value":48784},"An automated ticketing system that:",{"type":426,"tag":6331,"props":48786,"children":48787},{},[48788,48793,48798,48803],{"type":426,"tag":458,"props":48789,"children":48790},{},[48791],{"type":431,"value":48792},"Generates a unique QR code for each ticket purchase",{"type":426,"tag":458,"props":48794,"children":48795},{},[48796],{"type":431,"value":48797},"Uploads the QR code to cloud storage",{"type":426,"tag":458,"props":48799,"children":48800},{},[48801],{"type":431,"value":48802},"Sends the QR code image to the customer via WhatsApp",{"type":426,"tag":458,"props":48804,"children":48805},{},[48806],{"type":431,"value":48807},"Includes ticket details in the caption (event name, date, seat, reference)",{"type":426,"tag":427,"props":48809,"children":48810},{},[48811,48815],{"type":426,"tag":446,"props":48812,"children":48813},{},[48814],{"type":431,"value":43482},{"type":431,"value":48816},": Customers receive their QR code ticket on WhatsApp seconds after purchase — 98% open rate vs 20% for email.",{"type":426,"tag":434,"props":48818,"children":48819},{"id":47624},[48820],{"type":431,"value":47627},{"type":426,"tag":454,"props":48822,"children":48823},{},[48824,48836,48841,48846],{"type":426,"tag":458,"props":48825,"children":48826},{},[48827,48829,48835],{"type":431,"value":48828},"Rapiwa account (",{"type":426,"tag":3819,"props":48830,"children":48832},{"href":3821,"rel":48831},[3823],[48833],{"type":431,"value":48834},"free 3-day trial at rapiwa.com",{"type":431,"value":5736},{"type":426,"tag":458,"props":48837,"children":48838},{},[48839],{"type":431,"value":48840},"Your Rapiwa API key (Dashboard → API Keys)",{"type":426,"tag":458,"props":48842,"children":48843},{},[48844],{"type":431,"value":48845},"Python 3.10+ or Node.js 18+",{"type":426,"tag":458,"props":48847,"children":48848},{},[48849],{"type":431,"value":48850},"AWS S3 or Cloudflare R2 for hosting QR images (or any CDN)",{"type":426,"tag":434,"props":48852,"children":48854},{"id":48853},"step-1-generate-a-qr-code-in-python",[48855],{"type":431,"value":48856},"Step 1: Generate a QR Code in Python",{"type":426,"tag":542,"props":48858,"children":48860},{"className":546,"code":48859,"language":545,"meta":417,"style":417},"pip install qrcode[pil] boto3 requests Pillow\n",[48861],{"type":426,"tag":549,"props":48862,"children":48863},{"__ignoreMap":417},[48864],{"type":426,"tag":553,"props":48865,"children":48866},{"class":555,"line":556},[48867,48872,48877,48882,48887,48892],{"type":426,"tag":553,"props":48868,"children":48869},{"style":560},[48870],{"type":431,"value":48871},"pip",{"type":426,"tag":553,"props":48873,"children":48874},{"style":572},[48875],{"type":431,"value":48876}," install",{"type":426,"tag":553,"props":48878,"children":48879},{"style":572},[48880],{"type":431,"value":48881}," qrcode[pil]",{"type":426,"tag":553,"props":48883,"children":48884},{"style":572},[48885],{"type":431,"value":48886}," boto3",{"type":426,"tag":553,"props":48888,"children":48889},{"style":572},[48890],{"type":431,"value":48891}," requests",{"type":426,"tag":553,"props":48893,"children":48894},{"style":572},[48895],{"type":431,"value":48896}," Pillow\n",{"type":426,"tag":542,"props":48898,"children":48900},{"className":785,"code":48899,"language":784,"meta":417,"style":417},"import qrcode\nimport io\nimport boto3\nimport requests\nimport uuid\nfrom PIL import Image, ImageDraw, ImageFont\n\ndef generate_ticket_qr(\n    ticket_id: str,\n    event_name: str,\n    customer_name: str,\n    event_date: str,\n    seat: str = None\n) -> bytes:\n    \"\"\"\n    Generate a QR code image for an event ticket.\n    Returns the image as PNG bytes.\n    \"\"\"\n    # QR code data — what the scanner reads\n    qr_data = f\"TICKET:{ticket_id}|EVENT:{event_name}|DATE:{event_date}\"\n    if seat:\n        qr_data += f\"|SEAT:{seat}\"\n    \n    # Generate QR code\n    qr = qrcode.QRCode(\n        version=1,\n        error_correction=qrcode.constants.ERROR_CORRECT_H,  # High error correction\n        box_size=10,\n        border=4\n    )\n    qr.add_data(qr_data)\n    qr.make(fit=True)\n    \n    # Create QR code image with white background\n    qr_img = qr.make_image(fill_color=\"black\", back_color=\"white\")\n    qr_img = qr_img.convert('RGB')\n    \n    # Add ticket information below the QR code\n    width, height = qr_img.size\n    new_height = height + 120  # Add space for text\n    final_img = Image.new('RGB', (width, new_height), 'white')\n    final_img.paste(qr_img, (0, 0))\n    \n    # Add text (optional — requires a font file)\n    draw = ImageDraw.Draw(final_img)\n    draw.text((10, height + 10), f\"Event: {event_name}\", fill='black')\n    draw.text((10, height + 35), f\"Date: {event_date}\", fill='black')\n    draw.text((10, height + 60), f\"Ref: {ticket_id}\", fill='gray')\n    if seat:\n        draw.text((10, height + 85), f\"Seat: {seat}\", fill='black')\n    \n    # Convert to bytes\n    buffer = io.BytesIO()\n    final_img.save(buffer, format='PNG', optimize=True)\n    return buffer.getvalue()\n\n\ndef upload_to_s3(image_bytes: bytes, ticket_id: str) -> str:\n    \"\"\"\n    Upload QR code image to S3 and return a public URL.\n    Bucket must have public read access configured.\n    \"\"\"\n    s3 = boto3.client('s3',\n        aws_access_key_id='YOUR_AWS_KEY',\n        aws_secret_access_key='YOUR_AWS_SECRET',\n        region_name='us-east-1'\n    )\n    \n    bucket_name = 'your-ticket-bucket'\n    key = f'tickets\u002F{ticket_id}.png'\n    \n    s3.put_object(\n        Bucket=bucket_name,\n        Key=key,\n        Body=image_bytes,\n        ContentType='image\u002Fpng',\n        ACL='public-read'\n    )\n    \n    return f'https:\u002F\u002F{bucket_name}.s3.amazonaws.com\u002F{key}'\n\n\ndef send_ticket_via_whatsapp(\n    phone: str,\n    customer_name: str,\n    event_name: str,\n    event_date: str,\n    event_location: str,\n    ticket_id: str,\n    image_url: str,\n    api_key: str\n) -> dict:\n    \"\"\"\n    Send the QR code ticket via WhatsApp using Rapiwa API.\n    \"\"\"\n    caption = (\n        f\"🎫 Your Ticket is Confirmed!\\n\\n\"\n        f\"Hi {customer_name}!\\n\\n\"\n        f\"📅 *{event_name}*\\n\"\n        f\"🗓️ Date: {event_date}\\n\"\n        f\"📍 Location: {event_location}\\n\"\n        f\"🎟️ Ticket Ref: {ticket_id}\\n\\n\"\n        f\"Show this QR code at the entrance.\\n\"\n        f\"See you there! 🎉\"\n    )\n    \n    response = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image',\n        headers={'Authorization': f'Bearer {api_key}'},\n        json={\n            'number': phone,\n            'imageUrl': image_url,\n            'caption': caption\n        },\n        timeout=30\n    )\n    \n    return response.json()\n\n\ndef process_ticket_purchase(purchase: dict, api_key: str) -> dict:\n    \"\"\"\n    Full pipeline: generate QR → upload → send WhatsApp ticket.\n    Call this when a ticket purchase is confirmed.\n    \"\"\"\n    ticket_id = purchase.get('ticket_id') or str(uuid.uuid4())[:8].upper()\n    \n    # 1. Generate QR code image\n    qr_bytes = generate_ticket_qr(\n        ticket_id=ticket_id,\n        event_name=purchase['event_name'],\n        customer_name=purchase['customer_name'],\n        event_date=purchase['event_date'],\n        seat=purchase.get('seat')\n    )\n    \n    # 2. Upload to S3\n    image_url = upload_to_s3(qr_bytes, ticket_id)\n    \n    # 3. Send via WhatsApp\n    result = send_ticket_via_whatsapp(\n        phone=purchase['phone'],\n        customer_name=purchase['customer_name'],\n        event_name=purchase['event_name'],\n        event_date=purchase['event_date'],\n        event_location=purchase['event_location'],\n        ticket_id=ticket_id,\n        image_url=image_url,\n        api_key=api_key\n    )\n    \n    return {\n        'ticket_id': ticket_id,\n        'image_url': image_url,\n        'whatsapp_result': result\n    }\n\n\n# Example usage\nif __name__ == '__main__':\n    purchase = {\n        'ticket_id': 'TKT-2026-001',\n        'customer_name': 'Sarah Johnson',\n        'phone': '8801234567890',\n        'event_name': 'TechConf 2026',\n        'event_date': 'July 15, 2026 at 9:00 AM',\n        'event_location': 'Dhaka Convention Centre',\n        'seat': 'A-42'\n    }\n    \n    result = process_ticket_purchase(purchase, api_key='YOUR_API_KEY')\n    print(f\"Ticket sent! ID: {result['ticket_id']}\")\n    print(f\"WhatsApp status: {result['whatsapp_result']['status']}\")\n",[48901],{"type":426,"tag":549,"props":48902,"children":48903},{"__ignoreMap":417},[48904,48916,48928,48940,48951,48962,48984,48991,49007,49023,49039,49055,49071,49091,49107,49114,49122,49130,49137,49145,49218,49230,49268,49275,49283,49300,49320,49351,49371,49388,49395,49403,49428,49435,49443,49496,49521,49528,49536,49553,49584,49619,49643,49650,49658,49675,49753,49826,49900,49911,49985,49992,50000,50017,50060,50072,50079,50086,50127,50134,50142,50150,50157,50183,50204,50225,50242,50249,50256,50273,50311,50318,50326,50343,50360,50377,50398,50415,50422,50429,50481,50488,50495,50511,50526,50541,50556,50571,50587,50602,50618,50629,50644,50651,50659,50666,50682,50702,50737,50773,50801,50830,50858,50878,50890,50897,50904,50919,50930,50981,50996,51007,51019,51031,51038,51055,51062,51069,51080,51087,51094,51135,51142,51150,51158,51165,51214,51221,51229,51247,51265,51292,51317,51343,51370,51378,51386,51395,51413,51421,51430,51447,51471,51495,51519,51543,51569,51585,51603,51620,51628,51636,51648,51662,51675,51689,51697,51705,51713,51722,51749,51766,51787,51809,51830,51852,51874,51896,51914,51922,51930,51963,52013],{"type":426,"tag":553,"props":48905,"children":48906},{"class":555,"line":556},[48907,48911],{"type":426,"tag":553,"props":48908,"children":48909},{"style":795},[48910],{"type":431,"value":798},{"type":426,"tag":553,"props":48912,"children":48913},{"style":684},[48914],{"type":431,"value":48915}," qrcode\n",{"type":426,"tag":553,"props":48917,"children":48918},{"class":555,"line":588},[48919,48923],{"type":426,"tag":553,"props":48920,"children":48921},{"style":795},[48922],{"type":431,"value":798},{"type":426,"tag":553,"props":48924,"children":48925},{"style":684},[48926],{"type":431,"value":48927}," io\n",{"type":426,"tag":553,"props":48929,"children":48930},{"class":555,"line":606},[48931,48935],{"type":426,"tag":553,"props":48932,"children":48933},{"style":795},[48934],{"type":431,"value":798},{"type":426,"tag":553,"props":48936,"children":48937},{"style":684},[48938],{"type":431,"value":48939}," boto3\n",{"type":426,"tag":553,"props":48941,"children":48942},{"class":555,"line":623},[48943,48947],{"type":426,"tag":553,"props":48944,"children":48945},{"style":795},[48946],{"type":431,"value":798},{"type":426,"tag":553,"props":48948,"children":48949},{"style":684},[48950],{"type":431,"value":803},{"type":426,"tag":553,"props":48952,"children":48953},{"class":555,"line":637},[48954,48958],{"type":426,"tag":553,"props":48955,"children":48956},{"style":795},[48957],{"type":431,"value":798},{"type":426,"tag":553,"props":48959,"children":48960},{"style":684},[48961],{"type":431,"value":11894},{"type":426,"tag":553,"props":48963,"children":48964},{"class":555,"line":646},[48965,48969,48974,48979],{"type":426,"tag":553,"props":48966,"children":48967},{"style":795},[48968],{"type":431,"value":811},{"type":426,"tag":553,"props":48970,"children":48971},{"style":566},[48972],{"type":431,"value":48973}," PIL",{"type":426,"tag":553,"props":48975,"children":48976},{"style":795},[48977],{"type":431,"value":48978}," import",{"type":426,"tag":553,"props":48980,"children":48981},{"style":684},[48982],{"type":431,"value":48983}," Image, ImageDraw, ImageFont\n",{"type":426,"tag":553,"props":48985,"children":48986},{"class":555,"line":655},[48987],{"type":426,"tag":553,"props":48988,"children":48989},{"emptyLinePlaceholder":831},[48990],{"type":431,"value":834},{"type":426,"tag":553,"props":48992,"children":48993},{"class":555,"line":1036},[48994,48998,49003],{"type":426,"tag":553,"props":48995,"children":48996},{"style":795},[48997],{"type":431,"value":842},{"type":426,"tag":553,"props":48999,"children":49000},{"style":560},[49001],{"type":431,"value":49002}," generate_ticket_qr",{"type":426,"tag":553,"props":49004,"children":49005},{"style":684},[49006],{"type":431,"value":3172},{"type":426,"tag":553,"props":49008,"children":49009},{"class":555,"line":1054},[49010,49015,49019],{"type":426,"tag":553,"props":49011,"children":49012},{"style":684},[49013],{"type":431,"value":49014},"    ticket_id: ",{"type":426,"tag":553,"props":49016,"children":49017},{"style":566},[49018],{"type":431,"value":895},{"type":426,"tag":553,"props":49020,"children":49021},{"style":684},[49022],{"type":431,"value":710},{"type":426,"tag":553,"props":49024,"children":49025},{"class":555,"line":1080},[49026,49031,49035],{"type":426,"tag":553,"props":49027,"children":49028},{"style":684},[49029],{"type":431,"value":49030},"    event_name: ",{"type":426,"tag":553,"props":49032,"children":49033},{"style":566},[49034],{"type":431,"value":895},{"type":426,"tag":553,"props":49036,"children":49037},{"style":684},[49038],{"type":431,"value":710},{"type":426,"tag":553,"props":49040,"children":49041},{"class":555,"line":1097},[49042,49047,49051],{"type":426,"tag":553,"props":49043,"children":49044},{"style":684},[49045],{"type":431,"value":49046},"    customer_name: ",{"type":426,"tag":553,"props":49048,"children":49049},{"style":566},[49050],{"type":431,"value":895},{"type":426,"tag":553,"props":49052,"children":49053},{"style":684},[49054],{"type":431,"value":710},{"type":426,"tag":553,"props":49056,"children":49057},{"class":555,"line":1114},[49058,49063,49067],{"type":426,"tag":553,"props":49059,"children":49060},{"style":684},[49061],{"type":431,"value":49062},"    event_date: ",{"type":426,"tag":553,"props":49064,"children":49065},{"style":566},[49066],{"type":431,"value":895},{"type":426,"tag":553,"props":49068,"children":49069},{"style":684},[49070],{"type":431,"value":710},{"type":426,"tag":553,"props":49072,"children":49073},{"class":555,"line":1127},[49074,49079,49083,49087],{"type":426,"tag":553,"props":49075,"children":49076},{"style":684},[49077],{"type":431,"value":49078},"    seat: ",{"type":426,"tag":553,"props":49080,"children":49081},{"style":566},[49082],{"type":431,"value":895},{"type":426,"tag":553,"props":49084,"children":49085},{"style":795},[49086],{"type":431,"value":8739},{"type":426,"tag":553,"props":49088,"children":49089},{"style":566},[49090],{"type":431,"value":8781},{"type":426,"tag":553,"props":49092,"children":49093},{"class":555,"line":1167},[49094,49098,49103],{"type":426,"tag":553,"props":49095,"children":49096},{"style":684},[49097],{"type":431,"value":900},{"type":426,"tag":553,"props":49099,"children":49100},{"style":566},[49101],{"type":431,"value":49102},"bytes",{"type":426,"tag":553,"props":49104,"children":49105},{"style":684},[49106],{"type":431,"value":909},{"type":426,"tag":553,"props":49108,"children":49109},{"class":555,"line":1184},[49110],{"type":426,"tag":553,"props":49111,"children":49112},{"style":572},[49113],{"type":431,"value":2673},{"type":426,"tag":553,"props":49115,"children":49116},{"class":555,"line":1192},[49117],{"type":426,"tag":553,"props":49118,"children":49119},{"style":572},[49120],{"type":431,"value":49121},"    Generate a QR code image for an event ticket.\n",{"type":426,"tag":553,"props":49123,"children":49124},{"class":555,"line":1210},[49125],{"type":426,"tag":553,"props":49126,"children":49127},{"style":572},[49128],{"type":431,"value":49129},"    Returns the image as PNG bytes.\n",{"type":426,"tag":553,"props":49131,"children":49132},{"class":555,"line":1253},[49133],{"type":426,"tag":553,"props":49134,"children":49135},{"style":572},[49136],{"type":431,"value":2673},{"type":426,"tag":553,"props":49138,"children":49139},{"class":555,"line":1302},[49140],{"type":426,"tag":553,"props":49141,"children":49142},{"style":1975},[49143],{"type":431,"value":49144},"    # QR code data — what the scanner reads\n",{"type":426,"tag":553,"props":49146,"children":49147},{"class":555,"line":1374},[49148,49153,49157,49161,49166,49170,49174,49178,49183,49187,49192,49196,49201,49205,49210,49214],{"type":426,"tag":553,"props":49149,"children":49150},{"style":684},[49151],{"type":431,"value":49152},"    qr_data ",{"type":426,"tag":553,"props":49154,"children":49155},{"style":795},[49156],{"type":431,"value":957},{"type":426,"tag":553,"props":49158,"children":49159},{"style":795},[49160],{"type":431,"value":962},{"type":426,"tag":553,"props":49162,"children":49163},{"style":572},[49164],{"type":431,"value":49165},"\"TICKET:",{"type":426,"tag":553,"props":49167,"children":49168},{"style":566},[49169],{"type":431,"value":972},{"type":426,"tag":553,"props":49171,"children":49172},{"style":684},[49173],{"type":431,"value":20605},{"type":426,"tag":553,"props":49175,"children":49176},{"style":566},[49177],{"type":431,"value":982},{"type":426,"tag":553,"props":49179,"children":49180},{"style":572},[49181],{"type":431,"value":49182},"|EVENT:",{"type":426,"tag":553,"props":49184,"children":49185},{"style":566},[49186],{"type":431,"value":972},{"type":426,"tag":553,"props":49188,"children":49189},{"style":684},[49190],{"type":431,"value":49191},"event_name",{"type":426,"tag":553,"props":49193,"children":49194},{"style":566},[49195],{"type":431,"value":982},{"type":426,"tag":553,"props":49197,"children":49198},{"style":572},[49199],{"type":431,"value":49200},"|DATE:",{"type":426,"tag":553,"props":49202,"children":49203},{"style":566},[49204],{"type":431,"value":972},{"type":426,"tag":553,"props":49206,"children":49207},{"style":684},[49208],{"type":431,"value":49209},"event_date",{"type":426,"tag":553,"props":49211,"children":49212},{"style":566},[49213],{"type":431,"value":982},{"type":426,"tag":553,"props":49215,"children":49216},{"style":572},[49217],{"type":431,"value":1250},{"type":426,"tag":553,"props":49219,"children":49220},{"class":555,"line":1414},[49221,49225],{"type":426,"tag":553,"props":49222,"children":49223},{"style":795},[49224],{"type":431,"value":925},{"type":426,"tag":553,"props":49226,"children":49227},{"style":684},[49228],{"type":431,"value":49229}," seat:\n",{"type":426,"tag":553,"props":49231,"children":49232},{"class":555,"line":1479},[49233,49238,49242,49246,49251,49255,49260,49264],{"type":426,"tag":553,"props":49234,"children":49235},{"style":684},[49236],{"type":431,"value":49237},"        qr_data ",{"type":426,"tag":553,"props":49239,"children":49240},{"style":795},[49241],{"type":431,"value":3021},{"type":426,"tag":553,"props":49243,"children":49244},{"style":795},[49245],{"type":431,"value":962},{"type":426,"tag":553,"props":49247,"children":49248},{"style":572},[49249],{"type":431,"value":49250},"\"|SEAT:",{"type":426,"tag":553,"props":49252,"children":49253},{"style":566},[49254],{"type":431,"value":972},{"type":426,"tag":553,"props":49256,"children":49257},{"style":684},[49258],{"type":431,"value":49259},"seat",{"type":426,"tag":553,"props":49261,"children":49262},{"style":566},[49263],{"type":431,"value":982},{"type":426,"tag":553,"props":49265,"children":49266},{"style":572},[49267],{"type":431,"value":1250},{"type":426,"tag":553,"props":49269,"children":49270},{"class":555,"line":1517},[49271],{"type":426,"tag":553,"props":49272,"children":49273},{"style":684},[49274],{"type":431,"value":917},{"type":426,"tag":553,"props":49276,"children":49277},{"class":555,"line":1560},[49278],{"type":426,"tag":553,"props":49279,"children":49280},{"style":1975},[49281],{"type":431,"value":49282},"    # Generate QR code\n",{"type":426,"tag":553,"props":49284,"children":49285},{"class":555,"line":1598},[49286,49291,49295],{"type":426,"tag":553,"props":49287,"children":49288},{"style":684},[49289],{"type":431,"value":49290},"    qr ",{"type":426,"tag":553,"props":49292,"children":49293},{"style":795},[49294],{"type":431,"value":957},{"type":426,"tag":553,"props":49296,"children":49297},{"style":684},[49298],{"type":431,"value":49299}," qrcode.QRCode(\n",{"type":426,"tag":553,"props":49301,"children":49302},{"class":555,"line":1636},[49303,49308,49312,49316],{"type":426,"tag":553,"props":49304,"children":49305},{"style":1684},[49306],{"type":431,"value":49307},"        version",{"type":426,"tag":553,"props":49309,"children":49310},{"style":795},[49311],{"type":431,"value":957},{"type":426,"tag":553,"props":49313,"children":49314},{"style":566},[49315],{"type":431,"value":1921},{"type":426,"tag":553,"props":49317,"children":49318},{"style":684},[49319],{"type":431,"value":710},{"type":426,"tag":553,"props":49321,"children":49322},{"class":555,"line":1645},[49323,49328,49332,49337,49342,49346],{"type":426,"tag":553,"props":49324,"children":49325},{"style":1684},[49326],{"type":431,"value":49327},"        error_correction",{"type":426,"tag":553,"props":49329,"children":49330},{"style":795},[49331],{"type":431,"value":957},{"type":426,"tag":553,"props":49333,"children":49334},{"style":684},[49335],{"type":431,"value":49336},"qrcode.constants.",{"type":426,"tag":553,"props":49338,"children":49339},{"style":566},[49340],{"type":431,"value":49341},"ERROR_CORRECT_H",{"type":426,"tag":553,"props":49343,"children":49344},{"style":684},[49345],{"type":431,"value":11654},{"type":426,"tag":553,"props":49347,"children":49348},{"style":1975},[49349],{"type":431,"value":49350},"# High error correction\n",{"type":426,"tag":553,"props":49352,"children":49353},{"class":555,"line":1653},[49354,49359,49363,49367],{"type":426,"tag":553,"props":49355,"children":49356},{"style":1684},[49357],{"type":431,"value":49358},"        box_size",{"type":426,"tag":553,"props":49360,"children":49361},{"style":795},[49362],{"type":431,"value":957},{"type":426,"tag":553,"props":49364,"children":49365},{"style":566},[49366],{"type":431,"value":11479},{"type":426,"tag":553,"props":49368,"children":49369},{"style":684},[49370],{"type":431,"value":710},{"type":426,"tag":553,"props":49372,"children":49373},{"class":555,"line":1667},[49374,49379,49383],{"type":426,"tag":553,"props":49375,"children":49376},{"style":1684},[49377],{"type":431,"value":49378},"        border",{"type":426,"tag":553,"props":49380,"children":49381},{"style":795},[49382],{"type":431,"value":957},{"type":426,"tag":553,"props":49384,"children":49385},{"style":566},[49386],{"type":431,"value":49387},"4\n",{"type":426,"tag":553,"props":49389,"children":49390},{"class":555,"line":1680},[49391],{"type":426,"tag":553,"props":49392,"children":49393},{"style":684},[49394],{"type":431,"value":1642},{"type":426,"tag":553,"props":49396,"children":49397},{"class":555,"line":1740},[49398],{"type":426,"tag":553,"props":49399,"children":49400},{"style":684},[49401],{"type":431,"value":49402},"    qr.add_data(qr_data)\n",{"type":426,"tag":553,"props":49404,"children":49405},{"class":555,"line":1787},[49406,49411,49416,49420,49424],{"type":426,"tag":553,"props":49407,"children":49408},{"style":684},[49409],{"type":431,"value":49410},"    qr.make(",{"type":426,"tag":553,"props":49412,"children":49413},{"style":1684},[49414],{"type":431,"value":49415},"fit",{"type":426,"tag":553,"props":49417,"children":49418},{"style":795},[49419],{"type":431,"value":957},{"type":426,"tag":553,"props":49421,"children":49422},{"style":566},[49423],{"type":431,"value":21167},{"type":426,"tag":553,"props":49425,"children":49426},{"style":684},[49427],{"type":431,"value":3262},{"type":426,"tag":553,"props":49429,"children":49430},{"class":555,"line":1796},[49431],{"type":426,"tag":553,"props":49432,"children":49433},{"style":684},[49434],{"type":431,"value":917},{"type":426,"tag":553,"props":49436,"children":49437},{"class":555,"line":1804},[49438],{"type":426,"tag":553,"props":49439,"children":49440},{"style":1975},[49441],{"type":431,"value":49442},"    # Create QR code image with white background\n",{"type":426,"tag":553,"props":49444,"children":49445},{"class":555,"line":1812},[49446,49451,49455,49460,49465,49469,49474,49478,49483,49487,49492],{"type":426,"tag":553,"props":49447,"children":49448},{"style":684},[49449],{"type":431,"value":49450},"    qr_img ",{"type":426,"tag":553,"props":49452,"children":49453},{"style":795},[49454],{"type":431,"value":957},{"type":426,"tag":553,"props":49456,"children":49457},{"style":684},[49458],{"type":431,"value":49459}," qr.make_image(",{"type":426,"tag":553,"props":49461,"children":49462},{"style":1684},[49463],{"type":431,"value":49464},"fill_color",{"type":426,"tag":553,"props":49466,"children":49467},{"style":795},[49468],{"type":431,"value":957},{"type":426,"tag":553,"props":49470,"children":49471},{"style":572},[49472],{"type":431,"value":49473},"\"black\"",{"type":426,"tag":553,"props":49475,"children":49476},{"style":684},[49477],{"type":431,"value":1907},{"type":426,"tag":553,"props":49479,"children":49480},{"style":1684},[49481],{"type":431,"value":49482},"back_color",{"type":426,"tag":553,"props":49484,"children":49485},{"style":795},[49486],{"type":431,"value":957},{"type":426,"tag":553,"props":49488,"children":49489},{"style":572},[49490],{"type":431,"value":49491},"\"white\"",{"type":426,"tag":553,"props":49493,"children":49494},{"style":684},[49495],{"type":431,"value":3262},{"type":426,"tag":553,"props":49497,"children":49498},{"class":555,"line":1847},[49499,49503,49507,49512,49517],{"type":426,"tag":553,"props":49500,"children":49501},{"style":684},[49502],{"type":431,"value":49450},{"type":426,"tag":553,"props":49504,"children":49505},{"style":795},[49506],{"type":431,"value":957},{"type":426,"tag":553,"props":49508,"children":49509},{"style":684},[49510],{"type":431,"value":49511}," qr_img.convert(",{"type":426,"tag":553,"props":49513,"children":49514},{"style":572},[49515],{"type":431,"value":49516},"'RGB'",{"type":426,"tag":553,"props":49518,"children":49519},{"style":684},[49520],{"type":431,"value":3262},{"type":426,"tag":553,"props":49522,"children":49523},{"class":555,"line":1856},[49524],{"type":426,"tag":553,"props":49525,"children":49526},{"style":684},[49527],{"type":431,"value":917},{"type":426,"tag":553,"props":49529,"children":49530},{"class":555,"line":1874},[49531],{"type":426,"tag":553,"props":49532,"children":49533},{"style":1975},[49534],{"type":431,"value":49535},"    # Add ticket information below the QR code\n",{"type":426,"tag":553,"props":49537,"children":49538},{"class":555,"line":1882},[49539,49544,49548],{"type":426,"tag":553,"props":49540,"children":49541},{"style":684},[49542],{"type":431,"value":49543},"    width, height ",{"type":426,"tag":553,"props":49545,"children":49546},{"style":795},[49547],{"type":431,"value":957},{"type":426,"tag":553,"props":49549,"children":49550},{"style":684},[49551],{"type":431,"value":49552}," qr_img.size\n",{"type":426,"tag":553,"props":49554,"children":49555},{"class":555,"line":1981},[49556,49561,49565,49570,49574,49579],{"type":426,"tag":553,"props":49557,"children":49558},{"style":684},[49559],{"type":431,"value":49560},"    new_height ",{"type":426,"tag":553,"props":49562,"children":49563},{"style":795},[49564],{"type":431,"value":957},{"type":426,"tag":553,"props":49566,"children":49567},{"style":684},[49568],{"type":431,"value":49569}," height ",{"type":426,"tag":553,"props":49571,"children":49572},{"style":795},[49573],{"type":431,"value":2033},{"type":426,"tag":553,"props":49575,"children":49576},{"style":566},[49577],{"type":431,"value":49578}," 120",{"type":426,"tag":553,"props":49580,"children":49581},{"style":1975},[49582],{"type":431,"value":49583},"  # Add space for text\n",{"type":426,"tag":553,"props":49585,"children":49586},{"class":555,"line":1989},[49587,49592,49596,49601,49605,49610,49615],{"type":426,"tag":553,"props":49588,"children":49589},{"style":684},[49590],{"type":431,"value":49591},"    final_img ",{"type":426,"tag":553,"props":49593,"children":49594},{"style":795},[49595],{"type":431,"value":957},{"type":426,"tag":553,"props":49597,"children":49598},{"style":684},[49599],{"type":431,"value":49600}," Image.new(",{"type":426,"tag":553,"props":49602,"children":49603},{"style":572},[49604],{"type":431,"value":49516},{"type":426,"tag":553,"props":49606,"children":49607},{"style":684},[49608],{"type":431,"value":49609},", (width, new_height), ",{"type":426,"tag":553,"props":49611,"children":49612},{"style":572},[49613],{"type":431,"value":49614},"'white'",{"type":426,"tag":553,"props":49616,"children":49617},{"style":684},[49618],{"type":431,"value":3262},{"type":426,"tag":553,"props":49620,"children":49621},{"class":555,"line":2013},[49622,49627,49631,49635,49639],{"type":426,"tag":553,"props":49623,"children":49624},{"style":684},[49625],{"type":431,"value":49626},"    final_img.paste(qr_img, (",{"type":426,"tag":553,"props":49628,"children":49629},{"style":566},[49630],{"type":431,"value":1930},{"type":426,"tag":553,"props":49632,"children":49633},{"style":684},[49634],{"type":431,"value":1907},{"type":426,"tag":553,"props":49636,"children":49637},{"style":566},[49638],{"type":431,"value":1930},{"type":426,"tag":553,"props":49640,"children":49641},{"style":684},[49642],{"type":431,"value":6538},{"type":426,"tag":553,"props":49644,"children":49645},{"class":555,"line":2055},[49646],{"type":426,"tag":553,"props":49647,"children":49648},{"style":684},[49649],{"type":431,"value":917},{"type":426,"tag":553,"props":49651,"children":49652},{"class":555,"line":2064},[49653],{"type":426,"tag":553,"props":49654,"children":49655},{"style":1975},[49656],{"type":431,"value":49657},"    # Add text (optional — requires a font file)\n",{"type":426,"tag":553,"props":49659,"children":49660},{"class":555,"line":2087},[49661,49666,49670],{"type":426,"tag":553,"props":49662,"children":49663},{"style":684},[49664],{"type":431,"value":49665},"    draw ",{"type":426,"tag":553,"props":49667,"children":49668},{"style":795},[49669],{"type":431,"value":957},{"type":426,"tag":553,"props":49671,"children":49672},{"style":684},[49673],{"type":431,"value":49674}," ImageDraw.Draw(final_img)\n",{"type":426,"tag":553,"props":49676,"children":49677},{"class":555,"line":2096},[49678,49683,49687,49692,49696,49701,49706,49710,49715,49719,49723,49727,49731,49735,49740,49744,49749],{"type":426,"tag":553,"props":49679,"children":49680},{"style":684},[49681],{"type":431,"value":49682},"    draw.text((",{"type":426,"tag":553,"props":49684,"children":49685},{"style":566},[49686],{"type":431,"value":11479},{"type":426,"tag":553,"props":49688,"children":49689},{"style":684},[49690],{"type":431,"value":49691},", height ",{"type":426,"tag":553,"props":49693,"children":49694},{"style":795},[49695],{"type":431,"value":2033},{"type":426,"tag":553,"props":49697,"children":49698},{"style":566},[49699],{"type":431,"value":49700}," 10",{"type":426,"tag":553,"props":49702,"children":49703},{"style":684},[49704],{"type":431,"value":49705},"), ",{"type":426,"tag":553,"props":49707,"children":49708},{"style":795},[49709],{"type":431,"value":1709},{"type":426,"tag":553,"props":49711,"children":49712},{"style":572},[49713],{"type":431,"value":49714},"\"Event: ",{"type":426,"tag":553,"props":49716,"children":49717},{"style":566},[49718],{"type":431,"value":972},{"type":426,"tag":553,"props":49720,"children":49721},{"style":684},[49722],{"type":431,"value":49191},{"type":426,"tag":553,"props":49724,"children":49725},{"style":566},[49726],{"type":431,"value":982},{"type":426,"tag":553,"props":49728,"children":49729},{"style":572},[49730],{"type":431,"value":1527},{"type":426,"tag":553,"props":49732,"children":49733},{"style":684},[49734],{"type":431,"value":1907},{"type":426,"tag":553,"props":49736,"children":49737},{"style":1684},[49738],{"type":431,"value":49739},"fill",{"type":426,"tag":553,"props":49741,"children":49742},{"style":795},[49743],{"type":431,"value":957},{"type":426,"tag":553,"props":49745,"children":49746},{"style":572},[49747],{"type":431,"value":49748},"'black'",{"type":426,"tag":553,"props":49750,"children":49751},{"style":684},[49752],{"type":431,"value":3262},{"type":426,"tag":553,"props":49754,"children":49755},{"class":555,"line":2105},[49756,49760,49764,49768,49772,49777,49781,49785,49790,49794,49798,49802,49806,49810,49814,49818,49822],{"type":426,"tag":553,"props":49757,"children":49758},{"style":684},[49759],{"type":431,"value":49682},{"type":426,"tag":553,"props":49761,"children":49762},{"style":566},[49763],{"type":431,"value":11479},{"type":426,"tag":553,"props":49765,"children":49766},{"style":684},[49767],{"type":431,"value":49691},{"type":426,"tag":553,"props":49769,"children":49770},{"style":795},[49771],{"type":431,"value":2033},{"type":426,"tag":553,"props":49773,"children":49774},{"style":566},[49775],{"type":431,"value":49776}," 35",{"type":426,"tag":553,"props":49778,"children":49779},{"style":684},[49780],{"type":431,"value":49705},{"type":426,"tag":553,"props":49782,"children":49783},{"style":795},[49784],{"type":431,"value":1709},{"type":426,"tag":553,"props":49786,"children":49787},{"style":572},[49788],{"type":431,"value":49789},"\"Date: ",{"type":426,"tag":553,"props":49791,"children":49792},{"style":566},[49793],{"type":431,"value":972},{"type":426,"tag":553,"props":49795,"children":49796},{"style":684},[49797],{"type":431,"value":49209},{"type":426,"tag":553,"props":49799,"children":49800},{"style":566},[49801],{"type":431,"value":982},{"type":426,"tag":553,"props":49803,"children":49804},{"style":572},[49805],{"type":431,"value":1527},{"type":426,"tag":553,"props":49807,"children":49808},{"style":684},[49809],{"type":431,"value":1907},{"type":426,"tag":553,"props":49811,"children":49812},{"style":1684},[49813],{"type":431,"value":49739},{"type":426,"tag":553,"props":49815,"children":49816},{"style":795},[49817],{"type":431,"value":957},{"type":426,"tag":553,"props":49819,"children":49820},{"style":572},[49821],{"type":431,"value":49748},{"type":426,"tag":553,"props":49823,"children":49824},{"style":684},[49825],{"type":431,"value":3262},{"type":426,"tag":553,"props":49827,"children":49828},{"class":555,"line":2114},[49829,49833,49837,49841,49845,49850,49854,49858,49863,49867,49871,49875,49879,49883,49887,49891,49896],{"type":426,"tag":553,"props":49830,"children":49831},{"style":684},[49832],{"type":431,"value":49682},{"type":426,"tag":553,"props":49834,"children":49835},{"style":566},[49836],{"type":431,"value":11479},{"type":426,"tag":553,"props":49838,"children":49839},{"style":684},[49840],{"type":431,"value":49691},{"type":426,"tag":553,"props":49842,"children":49843},{"style":795},[49844],{"type":431,"value":2033},{"type":426,"tag":553,"props":49846,"children":49847},{"style":566},[49848],{"type":431,"value":49849}," 60",{"type":426,"tag":553,"props":49851,"children":49852},{"style":684},[49853],{"type":431,"value":49705},{"type":426,"tag":553,"props":49855,"children":49856},{"style":795},[49857],{"type":431,"value":1709},{"type":426,"tag":553,"props":49859,"children":49860},{"style":572},[49861],{"type":431,"value":49862},"\"Ref: ",{"type":426,"tag":553,"props":49864,"children":49865},{"style":566},[49866],{"type":431,"value":972},{"type":426,"tag":553,"props":49868,"children":49869},{"style":684},[49870],{"type":431,"value":20605},{"type":426,"tag":553,"props":49872,"children":49873},{"style":566},[49874],{"type":431,"value":982},{"type":426,"tag":553,"props":49876,"children":49877},{"style":572},[49878],{"type":431,"value":1527},{"type":426,"tag":553,"props":49880,"children":49881},{"style":684},[49882],{"type":431,"value":1907},{"type":426,"tag":553,"props":49884,"children":49885},{"style":1684},[49886],{"type":431,"value":49739},{"type":426,"tag":553,"props":49888,"children":49889},{"style":795},[49890],{"type":431,"value":957},{"type":426,"tag":553,"props":49892,"children":49893},{"style":572},[49894],{"type":431,"value":49895},"'gray'",{"type":426,"tag":553,"props":49897,"children":49898},{"style":684},[49899],{"type":431,"value":3262},{"type":426,"tag":553,"props":49901,"children":49902},{"class":555,"line":2123},[49903,49907],{"type":426,"tag":553,"props":49904,"children":49905},{"style":795},[49906],{"type":431,"value":925},{"type":426,"tag":553,"props":49908,"children":49909},{"style":684},[49910],{"type":431,"value":49229},{"type":426,"tag":553,"props":49912,"children":49913},{"class":555,"line":2132},[49914,49919,49923,49927,49931,49936,49940,49944,49949,49953,49957,49961,49965,49969,49973,49977,49981],{"type":426,"tag":553,"props":49915,"children":49916},{"style":684},[49917],{"type":431,"value":49918},"        draw.text((",{"type":426,"tag":553,"props":49920,"children":49921},{"style":566},[49922],{"type":431,"value":11479},{"type":426,"tag":553,"props":49924,"children":49925},{"style":684},[49926],{"type":431,"value":49691},{"type":426,"tag":553,"props":49928,"children":49929},{"style":795},[49930],{"type":431,"value":2033},{"type":426,"tag":553,"props":49932,"children":49933},{"style":566},[49934],{"type":431,"value":49935}," 85",{"type":426,"tag":553,"props":49937,"children":49938},{"style":684},[49939],{"type":431,"value":49705},{"type":426,"tag":553,"props":49941,"children":49942},{"style":795},[49943],{"type":431,"value":1709},{"type":426,"tag":553,"props":49945,"children":49946},{"style":572},[49947],{"type":431,"value":49948},"\"Seat: ",{"type":426,"tag":553,"props":49950,"children":49951},{"style":566},[49952],{"type":431,"value":972},{"type":426,"tag":553,"props":49954,"children":49955},{"style":684},[49956],{"type":431,"value":49259},{"type":426,"tag":553,"props":49958,"children":49959},{"style":566},[49960],{"type":431,"value":982},{"type":426,"tag":553,"props":49962,"children":49963},{"style":572},[49964],{"type":431,"value":1527},{"type":426,"tag":553,"props":49966,"children":49967},{"style":684},[49968],{"type":431,"value":1907},{"type":426,"tag":553,"props":49970,"children":49971},{"style":1684},[49972],{"type":431,"value":49739},{"type":426,"tag":553,"props":49974,"children":49975},{"style":795},[49976],{"type":431,"value":957},{"type":426,"tag":553,"props":49978,"children":49979},{"style":572},[49980],{"type":431,"value":49748},{"type":426,"tag":553,"props":49982,"children":49983},{"style":684},[49984],{"type":431,"value":3262},{"type":426,"tag":553,"props":49986,"children":49987},{"class":555,"line":2151},[49988],{"type":426,"tag":553,"props":49989,"children":49990},{"style":684},[49991],{"type":431,"value":917},{"type":426,"tag":553,"props":49993,"children":49994},{"class":555,"line":2160},[49995],{"type":426,"tag":553,"props":49996,"children":49997},{"style":1975},[49998],{"type":431,"value":49999},"    # Convert to bytes\n",{"type":426,"tag":553,"props":50001,"children":50002},{"class":555,"line":2174},[50003,50008,50012],{"type":426,"tag":553,"props":50004,"children":50005},{"style":684},[50006],{"type":431,"value":50007},"    buffer ",{"type":426,"tag":553,"props":50009,"children":50010},{"style":795},[50011],{"type":431,"value":957},{"type":426,"tag":553,"props":50013,"children":50014},{"style":684},[50015],{"type":431,"value":50016}," io.BytesIO()\n",{"type":426,"tag":553,"props":50018,"children":50019},{"class":555,"line":2182},[50020,50025,50030,50034,50039,50043,50048,50052,50056],{"type":426,"tag":553,"props":50021,"children":50022},{"style":684},[50023],{"type":431,"value":50024},"    final_img.save(buffer, ",{"type":426,"tag":553,"props":50026,"children":50027},{"style":1684},[50028],{"type":431,"value":50029},"format",{"type":426,"tag":553,"props":50031,"children":50032},{"style":795},[50033],{"type":431,"value":957},{"type":426,"tag":553,"props":50035,"children":50036},{"style":572},[50037],{"type":431,"value":50038},"'PNG'",{"type":426,"tag":553,"props":50040,"children":50041},{"style":684},[50042],{"type":431,"value":1907},{"type":426,"tag":553,"props":50044,"children":50045},{"style":1684},[50046],{"type":431,"value":50047},"optimize",{"type":426,"tag":553,"props":50049,"children":50050},{"style":795},[50051],{"type":431,"value":957},{"type":426,"tag":553,"props":50053,"children":50054},{"style":566},[50055],{"type":431,"value":21167},{"type":426,"tag":553,"props":50057,"children":50058},{"style":684},[50059],{"type":431,"value":3262},{"type":426,"tag":553,"props":50061,"children":50062},{"class":555,"line":2205},[50063,50067],{"type":426,"tag":553,"props":50064,"children":50065},{"style":795},[50066],{"type":431,"value":1659},{"type":426,"tag":553,"props":50068,"children":50069},{"style":684},[50070],{"type":431,"value":50071}," buffer.getvalue()\n",{"type":426,"tag":553,"props":50073,"children":50074},{"class":555,"line":2241},[50075],{"type":426,"tag":553,"props":50076,"children":50077},{"emptyLinePlaceholder":831},[50078],{"type":431,"value":834},{"type":426,"tag":553,"props":50080,"children":50081},{"class":555,"line":2250},[50082],{"type":426,"tag":553,"props":50083,"children":50084},{"emptyLinePlaceholder":831},[50085],{"type":431,"value":834},{"type":426,"tag":553,"props":50087,"children":50088},{"class":555,"line":2302},[50089,50093,50098,50103,50107,50111,50115,50119,50123],{"type":426,"tag":553,"props":50090,"children":50091},{"style":795},[50092],{"type":431,"value":842},{"type":426,"tag":553,"props":50094,"children":50095},{"style":560},[50096],{"type":431,"value":50097}," upload_to_s3",{"type":426,"tag":553,"props":50099,"children":50100},{"style":684},[50101],{"type":431,"value":50102},"(image_bytes: ",{"type":426,"tag":553,"props":50104,"children":50105},{"style":566},[50106],{"type":431,"value":49102},{"type":426,"tag":553,"props":50108,"children":50109},{"style":684},[50110],{"type":431,"value":21649},{"type":426,"tag":553,"props":50112,"children":50113},{"style":566},[50114],{"type":431,"value":895},{"type":426,"tag":553,"props":50116,"children":50117},{"style":684},[50118],{"type":431,"value":900},{"type":426,"tag":553,"props":50120,"children":50121},{"style":566},[50122],{"type":431,"value":895},{"type":426,"tag":553,"props":50124,"children":50125},{"style":684},[50126],{"type":431,"value":909},{"type":426,"tag":553,"props":50128,"children":50129},{"class":555,"line":2353},[50130],{"type":426,"tag":553,"props":50131,"children":50132},{"style":572},[50133],{"type":431,"value":2673},{"type":426,"tag":553,"props":50135,"children":50136},{"class":555,"line":2390},[50137],{"type":426,"tag":553,"props":50138,"children":50139},{"style":572},[50140],{"type":431,"value":50141},"    Upload QR code image to S3 and return a public URL.\n",{"type":426,"tag":553,"props":50143,"children":50144},{"class":555,"line":2440},[50145],{"type":426,"tag":553,"props":50146,"children":50147},{"style":572},[50148],{"type":431,"value":50149},"    Bucket must have public read access configured.\n",{"type":426,"tag":553,"props":50151,"children":50152},{"class":555,"line":2488},[50153],{"type":426,"tag":553,"props":50154,"children":50155},{"style":572},[50156],{"type":431,"value":2673},{"type":426,"tag":553,"props":50158,"children":50159},{"class":555,"line":2509},[50160,50165,50169,50174,50179],{"type":426,"tag":553,"props":50161,"children":50162},{"style":684},[50163],{"type":431,"value":50164},"    s3 ",{"type":426,"tag":553,"props":50166,"children":50167},{"style":795},[50168],{"type":431,"value":957},{"type":426,"tag":553,"props":50170,"children":50171},{"style":684},[50172],{"type":431,"value":50173}," boto3.client(",{"type":426,"tag":553,"props":50175,"children":50176},{"style":572},[50177],{"type":431,"value":50178},"'s3'",{"type":426,"tag":553,"props":50180,"children":50181},{"style":684},[50182],{"type":431,"value":710},{"type":426,"tag":553,"props":50184,"children":50185},{"class":555,"line":2527},[50186,50191,50195,50200],{"type":426,"tag":553,"props":50187,"children":50188},{"style":1684},[50189],{"type":431,"value":50190},"        aws_access_key_id",{"type":426,"tag":553,"props":50192,"children":50193},{"style":795},[50194],{"type":431,"value":957},{"type":426,"tag":553,"props":50196,"children":50197},{"style":572},[50198],{"type":431,"value":50199},"'YOUR_AWS_KEY'",{"type":426,"tag":553,"props":50201,"children":50202},{"style":684},[50203],{"type":431,"value":710},{"type":426,"tag":553,"props":50205,"children":50206},{"class":555,"line":2545},[50207,50212,50216,50221],{"type":426,"tag":553,"props":50208,"children":50209},{"style":1684},[50210],{"type":431,"value":50211},"        aws_secret_access_key",{"type":426,"tag":553,"props":50213,"children":50214},{"style":795},[50215],{"type":431,"value":957},{"type":426,"tag":553,"props":50217,"children":50218},{"style":572},[50219],{"type":431,"value":50220},"'YOUR_AWS_SECRET'",{"type":426,"tag":553,"props":50222,"children":50223},{"style":684},[50224],{"type":431,"value":710},{"type":426,"tag":553,"props":50226,"children":50227},{"class":555,"line":12991},[50228,50233,50237],{"type":426,"tag":553,"props":50229,"children":50230},{"style":1684},[50231],{"type":431,"value":50232},"        region_name",{"type":426,"tag":553,"props":50234,"children":50235},{"style":795},[50236],{"type":431,"value":957},{"type":426,"tag":553,"props":50238,"children":50239},{"style":572},[50240],{"type":431,"value":50241},"'us-east-1'\n",{"type":426,"tag":553,"props":50243,"children":50244},{"class":555,"line":13004},[50245],{"type":426,"tag":553,"props":50246,"children":50247},{"style":684},[50248],{"type":431,"value":1642},{"type":426,"tag":553,"props":50250,"children":50251},{"class":555,"line":13012},[50252],{"type":426,"tag":553,"props":50253,"children":50254},{"style":684},[50255],{"type":431,"value":917},{"type":426,"tag":553,"props":50257,"children":50258},{"class":555,"line":13025},[50259,50264,50268],{"type":426,"tag":553,"props":50260,"children":50261},{"style":684},[50262],{"type":431,"value":50263},"    bucket_name ",{"type":426,"tag":553,"props":50265,"children":50266},{"style":795},[50267],{"type":431,"value":957},{"type":426,"tag":553,"props":50269,"children":50270},{"style":572},[50271],{"type":431,"value":50272}," 'your-ticket-bucket'\n",{"type":426,"tag":553,"props":50274,"children":50275},{"class":555,"line":13033},[50276,50281,50285,50289,50294,50298,50302,50306],{"type":426,"tag":553,"props":50277,"children":50278},{"style":684},[50279],{"type":431,"value":50280},"    key ",{"type":426,"tag":553,"props":50282,"children":50283},{"style":795},[50284],{"type":431,"value":957},{"type":426,"tag":553,"props":50286,"children":50287},{"style":795},[50288],{"type":431,"value":962},{"type":426,"tag":553,"props":50290,"children":50291},{"style":572},[50292],{"type":431,"value":50293},"'tickets\u002F",{"type":426,"tag":553,"props":50295,"children":50296},{"style":566},[50297],{"type":431,"value":972},{"type":426,"tag":553,"props":50299,"children":50300},{"style":684},[50301],{"type":431,"value":20605},{"type":426,"tag":553,"props":50303,"children":50304},{"style":566},[50305],{"type":431,"value":982},{"type":426,"tag":553,"props":50307,"children":50308},{"style":572},[50309],{"type":431,"value":50310},".png'\n",{"type":426,"tag":553,"props":50312,"children":50313},{"class":555,"line":13069},[50314],{"type":426,"tag":553,"props":50315,"children":50316},{"style":684},[50317],{"type":431,"value":917},{"type":426,"tag":553,"props":50319,"children":50320},{"class":555,"line":13089},[50321],{"type":426,"tag":553,"props":50322,"children":50323},{"style":684},[50324],{"type":431,"value":50325},"    s3.put_object(\n",{"type":426,"tag":553,"props":50327,"children":50328},{"class":555,"line":13102},[50329,50334,50338],{"type":426,"tag":553,"props":50330,"children":50331},{"style":1684},[50332],{"type":431,"value":50333},"        Bucket",{"type":426,"tag":553,"props":50335,"children":50336},{"style":795},[50337],{"type":431,"value":957},{"type":426,"tag":553,"props":50339,"children":50340},{"style":684},[50341],{"type":431,"value":50342},"bucket_name,\n",{"type":426,"tag":553,"props":50344,"children":50345},{"class":555,"line":13111},[50346,50351,50355],{"type":426,"tag":553,"props":50347,"children":50348},{"style":1684},[50349],{"type":431,"value":50350},"        Key",{"type":426,"tag":553,"props":50352,"children":50353},{"style":795},[50354],{"type":431,"value":957},{"type":426,"tag":553,"props":50356,"children":50357},{"style":684},[50358],{"type":431,"value":50359},"key,\n",{"type":426,"tag":553,"props":50361,"children":50362},{"class":555,"line":13120},[50363,50368,50372],{"type":426,"tag":553,"props":50364,"children":50365},{"style":1684},[50366],{"type":431,"value":50367},"        Body",{"type":426,"tag":553,"props":50369,"children":50370},{"style":795},[50371],{"type":431,"value":957},{"type":426,"tag":553,"props":50373,"children":50374},{"style":684},[50375],{"type":431,"value":50376},"image_bytes,\n",{"type":426,"tag":553,"props":50378,"children":50379},{"class":555,"line":13129},[50380,50385,50389,50394],{"type":426,"tag":553,"props":50381,"children":50382},{"style":1684},[50383],{"type":431,"value":50384},"        ContentType",{"type":426,"tag":553,"props":50386,"children":50387},{"style":795},[50388],{"type":431,"value":957},{"type":426,"tag":553,"props":50390,"children":50391},{"style":572},[50392],{"type":431,"value":50393},"'image\u002Fpng'",{"type":426,"tag":553,"props":50395,"children":50396},{"style":684},[50397],{"type":431,"value":710},{"type":426,"tag":553,"props":50399,"children":50400},{"class":555,"line":13174},[50401,50406,50410],{"type":426,"tag":553,"props":50402,"children":50403},{"style":1684},[50404],{"type":431,"value":50405},"        ACL",{"type":426,"tag":553,"props":50407,"children":50408},{"style":795},[50409],{"type":431,"value":957},{"type":426,"tag":553,"props":50411,"children":50412},{"style":572},[50413],{"type":431,"value":50414},"'public-read'\n",{"type":426,"tag":553,"props":50416,"children":50417},{"class":555,"line":13205},[50418],{"type":426,"tag":553,"props":50419,"children":50420},{"style":684},[50421],{"type":431,"value":1642},{"type":426,"tag":553,"props":50423,"children":50424},{"class":555,"line":13218},[50425],{"type":426,"tag":553,"props":50426,"children":50427},{"style":684},[50428],{"type":431,"value":917},{"type":426,"tag":553,"props":50430,"children":50431},{"class":555,"line":20616},[50432,50436,50440,50445,50449,50454,50458,50463,50467,50472,50476],{"type":426,"tag":553,"props":50433,"children":50434},{"style":795},[50435],{"type":431,"value":1659},{"type":426,"tag":553,"props":50437,"children":50438},{"style":795},[50439],{"type":431,"value":962},{"type":426,"tag":553,"props":50441,"children":50442},{"style":572},[50443],{"type":431,"value":50444},"'https:\u002F\u002F",{"type":426,"tag":553,"props":50446,"children":50447},{"style":566},[50448],{"type":431,"value":972},{"type":426,"tag":553,"props":50450,"children":50451},{"style":684},[50452],{"type":431,"value":50453},"bucket_name",{"type":426,"tag":553,"props":50455,"children":50456},{"style":566},[50457],{"type":431,"value":982},{"type":426,"tag":553,"props":50459,"children":50460},{"style":572},[50461],{"type":431,"value":50462},".s3.amazonaws.com\u002F",{"type":426,"tag":553,"props":50464,"children":50465},{"style":566},[50466],{"type":431,"value":972},{"type":426,"tag":553,"props":50468,"children":50469},{"style":684},[50470],{"type":431,"value":50471},"key",{"type":426,"tag":553,"props":50473,"children":50474},{"style":566},[50475],{"type":431,"value":982},{"type":426,"tag":553,"props":50477,"children":50478},{"style":572},[50479],{"type":431,"value":50480},"'\n",{"type":426,"tag":553,"props":50482,"children":50483},{"class":555,"line":20637},[50484],{"type":426,"tag":553,"props":50485,"children":50486},{"emptyLinePlaceholder":831},[50487],{"type":431,"value":834},{"type":426,"tag":553,"props":50489,"children":50490},{"class":555,"line":20650},[50491],{"type":426,"tag":553,"props":50492,"children":50493},{"emptyLinePlaceholder":831},[50494],{"type":431,"value":834},{"type":426,"tag":553,"props":50496,"children":50497},{"class":555,"line":20658},[50498,50502,50507],{"type":426,"tag":553,"props":50499,"children":50500},{"style":795},[50501],{"type":431,"value":842},{"type":426,"tag":553,"props":50503,"children":50504},{"style":560},[50505],{"type":431,"value":50506}," send_ticket_via_whatsapp",{"type":426,"tag":553,"props":50508,"children":50509},{"style":684},[50510],{"type":431,"value":3172},{"type":426,"tag":553,"props":50512,"children":50513},{"class":555,"line":20666},[50514,50518,50522],{"type":426,"tag":553,"props":50515,"children":50516},{"style":684},[50517],{"type":431,"value":41600},{"type":426,"tag":553,"props":50519,"children":50520},{"style":566},[50521],{"type":431,"value":895},{"type":426,"tag":553,"props":50523,"children":50524},{"style":684},[50525],{"type":431,"value":710},{"type":426,"tag":553,"props":50527,"children":50528},{"class":555,"line":20675},[50529,50533,50537],{"type":426,"tag":553,"props":50530,"children":50531},{"style":684},[50532],{"type":431,"value":49046},{"type":426,"tag":553,"props":50534,"children":50535},{"style":566},[50536],{"type":431,"value":895},{"type":426,"tag":553,"props":50538,"children":50539},{"style":684},[50540],{"type":431,"value":710},{"type":426,"tag":553,"props":50542,"children":50543},{"class":555,"line":20684},[50544,50548,50552],{"type":426,"tag":553,"props":50545,"children":50546},{"style":684},[50547],{"type":431,"value":49030},{"type":426,"tag":553,"props":50549,"children":50550},{"style":566},[50551],{"type":431,"value":895},{"type":426,"tag":553,"props":50553,"children":50554},{"style":684},[50555],{"type":431,"value":710},{"type":426,"tag":553,"props":50557,"children":50558},{"class":555,"line":20692},[50559,50563,50567],{"type":426,"tag":553,"props":50560,"children":50561},{"style":684},[50562],{"type":431,"value":49062},{"type":426,"tag":553,"props":50564,"children":50565},{"style":566},[50566],{"type":431,"value":895},{"type":426,"tag":553,"props":50568,"children":50569},{"style":684},[50570],{"type":431,"value":710},{"type":426,"tag":553,"props":50572,"children":50573},{"class":555,"line":20720},[50574,50579,50583],{"type":426,"tag":553,"props":50575,"children":50576},{"style":684},[50577],{"type":431,"value":50578},"    event_location: ",{"type":426,"tag":553,"props":50580,"children":50581},{"style":566},[50582],{"type":431,"value":895},{"type":426,"tag":553,"props":50584,"children":50585},{"style":684},[50586],{"type":431,"value":710},{"type":426,"tag":553,"props":50588,"children":50589},{"class":555,"line":20728},[50590,50594,50598],{"type":426,"tag":553,"props":50591,"children":50592},{"style":684},[50593],{"type":431,"value":49014},{"type":426,"tag":553,"props":50595,"children":50596},{"style":566},[50597],{"type":431,"value":895},{"type":426,"tag":553,"props":50599,"children":50600},{"style":684},[50601],{"type":431,"value":710},{"type":426,"tag":553,"props":50603,"children":50604},{"class":555,"line":20736},[50605,50610,50614],{"type":426,"tag":553,"props":50606,"children":50607},{"style":684},[50608],{"type":431,"value":50609},"    image_url: ",{"type":426,"tag":553,"props":50611,"children":50612},{"style":566},[50613],{"type":431,"value":895},{"type":426,"tag":553,"props":50615,"children":50616},{"style":684},[50617],{"type":431,"value":710},{"type":426,"tag":553,"props":50619,"children":50620},{"class":555,"line":20777},[50621,50625],{"type":426,"tag":553,"props":50622,"children":50623},{"style":684},[50624],{"type":431,"value":17478},{"type":426,"tag":553,"props":50626,"children":50627},{"style":566},[50628],{"type":431,"value":17470},{"type":426,"tag":553,"props":50630,"children":50631},{"class":555,"line":20789},[50632,50636,50640],{"type":426,"tag":553,"props":50633,"children":50634},{"style":684},[50635],{"type":431,"value":900},{"type":426,"tag":553,"props":50637,"children":50638},{"style":566},[50639],{"type":431,"value":857},{"type":426,"tag":553,"props":50641,"children":50642},{"style":684},[50643],{"type":431,"value":909},{"type":426,"tag":553,"props":50645,"children":50646},{"class":555,"line":20801},[50647],{"type":426,"tag":553,"props":50648,"children":50649},{"style":572},[50650],{"type":431,"value":2673},{"type":426,"tag":553,"props":50652,"children":50653},{"class":555,"line":20846},[50654],{"type":426,"tag":553,"props":50655,"children":50656},{"style":572},[50657],{"type":431,"value":50658},"    Send the QR code ticket via WhatsApp using Rapiwa API.\n",{"type":426,"tag":553,"props":50660,"children":50661},{"class":555,"line":20878},[50662],{"type":426,"tag":553,"props":50663,"children":50664},{"style":572},[50665],{"type":431,"value":2673},{"type":426,"tag":553,"props":50667,"children":50668},{"class":555,"line":24807},[50669,50674,50678],{"type":426,"tag":553,"props":50670,"children":50671},{"style":684},[50672],{"type":431,"value":50673},"    caption ",{"type":426,"tag":553,"props":50675,"children":50676},{"style":795},[50677],{"type":431,"value":957},{"type":426,"tag":553,"props":50679,"children":50680},{"style":684},[50681],{"type":431,"value":1207},{"type":426,"tag":553,"props":50683,"children":50684},{"class":555,"line":24825},[50685,50689,50694,50698],{"type":426,"tag":553,"props":50686,"children":50687},{"style":795},[50688],{"type":431,"value":1216},{"type":426,"tag":553,"props":50690,"children":50691},{"style":572},[50692],{"type":431,"value":50693},"\"🎫 Your Ticket is Confirmed!",{"type":426,"tag":553,"props":50695,"children":50696},{"style":566},[50697],{"type":431,"value":1295},{"type":426,"tag":553,"props":50699,"children":50700},{"style":572},[50701],{"type":431,"value":1250},{"type":426,"tag":553,"props":50703,"children":50704},{"class":555,"line":24837},[50705,50709,50713,50717,50721,50725,50729,50733],{"type":426,"tag":553,"props":50706,"children":50707},{"style":795},[50708],{"type":431,"value":1216},{"type":426,"tag":553,"props":50710,"children":50711},{"style":572},[50712],{"type":431,"value":4625},{"type":426,"tag":553,"props":50714,"children":50715},{"style":566},[50716],{"type":431,"value":972},{"type":426,"tag":553,"props":50718,"children":50719},{"style":684},[50720],{"type":431,"value":21708},{"type":426,"tag":553,"props":50722,"children":50723},{"style":566},[50724],{"type":431,"value":982},{"type":426,"tag":553,"props":50726,"children":50727},{"style":572},[50728],{"type":431,"value":4651},{"type":426,"tag":553,"props":50730,"children":50731},{"style":566},[50732],{"type":431,"value":1295},{"type":426,"tag":553,"props":50734,"children":50735},{"style":572},[50736],{"type":431,"value":1250},{"type":426,"tag":553,"props":50738,"children":50739},{"class":555,"line":24858},[50740,50744,50749,50753,50757,50761,50765,50769],{"type":426,"tag":553,"props":50741,"children":50742},{"style":795},[50743],{"type":431,"value":1216},{"type":426,"tag":553,"props":50745,"children":50746},{"style":572},[50747],{"type":431,"value":50748},"\"📅 *",{"type":426,"tag":553,"props":50750,"children":50751},{"style":566},[50752],{"type":431,"value":972},{"type":426,"tag":553,"props":50754,"children":50755},{"style":684},[50756],{"type":431,"value":49191},{"type":426,"tag":553,"props":50758,"children":50759},{"style":566},[50760],{"type":431,"value":982},{"type":426,"tag":553,"props":50762,"children":50763},{"style":572},[50764],{"type":431,"value":5801},{"type":426,"tag":553,"props":50766,"children":50767},{"style":566},[50768],{"type":431,"value":3661},{"type":426,"tag":553,"props":50770,"children":50771},{"style":572},[50772],{"type":431,"value":1250},{"type":426,"tag":553,"props":50774,"children":50775},{"class":555,"line":24895},[50776,50780,50785,50789,50793,50797],{"type":426,"tag":553,"props":50777,"children":50778},{"style":795},[50779],{"type":431,"value":1216},{"type":426,"tag":553,"props":50781,"children":50782},{"style":572},[50783],{"type":431,"value":50784},"\"🗓️ Date: ",{"type":426,"tag":553,"props":50786,"children":50787},{"style":566},[50788],{"type":431,"value":972},{"type":426,"tag":553,"props":50790,"children":50791},{"style":684},[50792],{"type":431,"value":49209},{"type":426,"tag":553,"props":50794,"children":50795},{"style":566},[50796],{"type":431,"value":1407},{"type":426,"tag":553,"props":50798,"children":50799},{"style":572},[50800],{"type":431,"value":1250},{"type":426,"tag":553,"props":50802,"children":50803},{"class":555,"line":24940},[50804,50808,50813,50817,50822,50826],{"type":426,"tag":553,"props":50805,"children":50806},{"style":795},[50807],{"type":431,"value":1216},{"type":426,"tag":553,"props":50809,"children":50810},{"style":572},[50811],{"type":431,"value":50812},"\"📍 Location: ",{"type":426,"tag":553,"props":50814,"children":50815},{"style":566},[50816],{"type":431,"value":972},{"type":426,"tag":553,"props":50818,"children":50819},{"style":684},[50820],{"type":431,"value":50821},"event_location",{"type":426,"tag":553,"props":50823,"children":50824},{"style":566},[50825],{"type":431,"value":1407},{"type":426,"tag":553,"props":50827,"children":50828},{"style":572},[50829],{"type":431,"value":1250},{"type":426,"tag":553,"props":50831,"children":50832},{"class":555,"line":24961},[50833,50837,50842,50846,50850,50854],{"type":426,"tag":553,"props":50834,"children":50835},{"style":795},[50836],{"type":431,"value":1216},{"type":426,"tag":553,"props":50838,"children":50839},{"style":572},[50840],{"type":431,"value":50841},"\"🎟️ Ticket Ref: ",{"type":426,"tag":553,"props":50843,"children":50844},{"style":566},[50845],{"type":431,"value":972},{"type":426,"tag":553,"props":50847,"children":50848},{"style":684},[50849],{"type":431,"value":20605},{"type":426,"tag":553,"props":50851,"children":50852},{"style":566},[50853],{"type":431,"value":1245},{"type":426,"tag":553,"props":50855,"children":50856},{"style":572},[50857],{"type":431,"value":1250},{"type":426,"tag":553,"props":50859,"children":50860},{"class":555,"line":24990},[50861,50865,50870,50874],{"type":426,"tag":553,"props":50862,"children":50863},{"style":795},[50864],{"type":431,"value":1216},{"type":426,"tag":553,"props":50866,"children":50867},{"style":572},[50868],{"type":431,"value":50869},"\"Show this QR code at the entrance.",{"type":426,"tag":553,"props":50871,"children":50872},{"style":566},[50873],{"type":431,"value":3661},{"type":426,"tag":553,"props":50875,"children":50876},{"style":572},[50877],{"type":431,"value":1250},{"type":426,"tag":553,"props":50879,"children":50880},{"class":555,"line":25003},[50881,50885],{"type":426,"tag":553,"props":50882,"children":50883},{"style":795},[50884],{"type":431,"value":1216},{"type":426,"tag":553,"props":50886,"children":50887},{"style":572},[50888],{"type":431,"value":50889},"\"See you there! 🎉\"\n",{"type":426,"tag":553,"props":50891,"children":50892},{"class":555,"line":25011},[50893],{"type":426,"tag":553,"props":50894,"children":50895},{"style":684},[50896],{"type":431,"value":1642},{"type":426,"tag":553,"props":50898,"children":50899},{"class":555,"line":25019},[50900],{"type":426,"tag":553,"props":50901,"children":50902},{"style":684},[50903],{"type":431,"value":917},{"type":426,"tag":553,"props":50905,"children":50906},{"class":555,"line":25027},[50907,50911,50915],{"type":426,"tag":553,"props":50908,"children":50909},{"style":684},[50910],{"type":431,"value":8117},{"type":426,"tag":553,"props":50912,"children":50913},{"style":795},[50914],{"type":431,"value":957},{"type":426,"tag":553,"props":50916,"children":50917},{"style":684},[50918],{"type":431,"value":1664},{"type":426,"tag":553,"props":50920,"children":50921},{"class":555,"line":25067},[50922,50926],{"type":426,"tag":553,"props":50923,"children":50924},{"style":572},[50925],{"type":431,"value":43625},{"type":426,"tag":553,"props":50927,"children":50928},{"style":684},[50929],{"type":431,"value":710},{"type":426,"tag":553,"props":50931,"children":50932},{"class":555,"line":25079},[50933,50937,50941,50945,50949,50953,50957,50961,50965,50969,50973,50977],{"type":426,"tag":553,"props":50934,"children":50935},{"style":1684},[50936],{"type":431,"value":1687},{"type":426,"tag":553,"props":50938,"children":50939},{"style":795},[50940],{"type":431,"value":957},{"type":426,"tag":553,"props":50942,"children":50943},{"style":684},[50944],{"type":431,"value":972},{"type":426,"tag":553,"props":50946,"children":50947},{"style":572},[50948],{"type":431,"value":1700},{"type":426,"tag":553,"props":50950,"children":50951},{"style":684},[50952],{"type":431,"value":700},{"type":426,"tag":553,"props":50954,"children":50955},{"style":795},[50956],{"type":431,"value":1709},{"type":426,"tag":553,"props":50958,"children":50959},{"style":572},[50960],{"type":431,"value":1714},{"type":426,"tag":553,"props":50962,"children":50963},{"style":566},[50964],{"type":431,"value":972},{"type":426,"tag":553,"props":50966,"children":50967},{"style":684},[50968],{"type":431,"value":1723},{"type":426,"tag":553,"props":50970,"children":50971},{"style":566},[50972],{"type":431,"value":982},{"type":426,"tag":553,"props":50974,"children":50975},{"style":572},[50976],{"type":431,"value":1732},{"type":426,"tag":553,"props":50978,"children":50979},{"style":684},[50980],{"type":431,"value":1737},{"type":426,"tag":553,"props":50982,"children":50983},{"class":555,"line":25091},[50984,50988,50992],{"type":426,"tag":553,"props":50985,"children":50986},{"style":1684},[50987],{"type":431,"value":1746},{"type":426,"tag":553,"props":50989,"children":50990},{"style":795},[50991],{"type":431,"value":957},{"type":426,"tag":553,"props":50993,"children":50994},{"style":684},[50995],{"type":431,"value":687},{"type":426,"tag":553,"props":50997,"children":50998},{"class":555,"line":25135},[50999,51003],{"type":426,"tag":553,"props":51000,"children":51001},{"style":572},[51002],{"type":431,"value":15045},{"type":426,"tag":553,"props":51004,"children":51005},{"style":684},[51006],{"type":431,"value":37726},{"type":426,"tag":553,"props":51008,"children":51009},{"class":555,"line":25167},[51010,51014],{"type":426,"tag":553,"props":51011,"children":51012},{"style":572},[51013],{"type":431,"value":43714},{"type":426,"tag":553,"props":51015,"children":51016},{"style":684},[51017],{"type":431,"value":51018},": image_url,\n",{"type":426,"tag":553,"props":51020,"children":51021},{"class":555,"line":28999},[51022,51026],{"type":426,"tag":553,"props":51023,"children":51024},{"style":572},[51025],{"type":431,"value":43736},{"type":426,"tag":553,"props":51027,"children":51028},{"style":684},[51029],{"type":431,"value":51030},": caption\n",{"type":426,"tag":553,"props":51032,"children":51033},{"class":555,"line":29016},[51034],{"type":426,"tag":553,"props":51035,"children":51036},{"style":684},[51037],{"type":431,"value":32445},{"type":426,"tag":553,"props":51039,"children":51040},{"class":555,"line":29038},[51041,51046,51050],{"type":426,"tag":553,"props":51042,"children":51043},{"style":1684},[51044],{"type":431,"value":51045},"        timeout",{"type":426,"tag":553,"props":51047,"children":51048},{"style":795},[51049],{"type":431,"value":957},{"type":426,"tag":553,"props":51051,"children":51052},{"style":566},[51053],{"type":431,"value":51054},"30\n",{"type":426,"tag":553,"props":51056,"children":51057},{"class":555,"line":29060},[51058],{"type":426,"tag":553,"props":51059,"children":51060},{"style":684},[51061],{"type":431,"value":1642},{"type":426,"tag":553,"props":51063,"children":51064},{"class":555,"line":29078},[51065],{"type":426,"tag":553,"props":51066,"children":51067},{"style":684},[51068],{"type":431,"value":917},{"type":426,"tag":553,"props":51070,"children":51071},{"class":555,"line":29086},[51072,51076],{"type":426,"tag":553,"props":51073,"children":51074},{"style":795},[51075],{"type":431,"value":1659},{"type":426,"tag":553,"props":51077,"children":51078},{"style":684},[51079],{"type":431,"value":9193},{"type":426,"tag":553,"props":51081,"children":51082},{"class":555,"line":29094},[51083],{"type":426,"tag":553,"props":51084,"children":51085},{"emptyLinePlaceholder":831},[51086],{"type":431,"value":834},{"type":426,"tag":553,"props":51088,"children":51089},{"class":555,"line":29106},[51090],{"type":426,"tag":553,"props":51091,"children":51092},{"emptyLinePlaceholder":831},[51093],{"type":431,"value":834},{"type":426,"tag":553,"props":51095,"children":51096},{"class":555,"line":29127},[51097,51101,51106,51111,51115,51119,51123,51127,51131],{"type":426,"tag":553,"props":51098,"children":51099},{"style":795},[51100],{"type":431,"value":842},{"type":426,"tag":553,"props":51102,"children":51103},{"style":560},[51104],{"type":431,"value":51105}," process_ticket_purchase",{"type":426,"tag":553,"props":51107,"children":51108},{"style":684},[51109],{"type":431,"value":51110},"(purchase: ",{"type":426,"tag":553,"props":51112,"children":51113},{"style":566},[51114],{"type":431,"value":857},{"type":426,"tag":553,"props":51116,"children":51117},{"style":684},[51118],{"type":431,"value":890},{"type":426,"tag":553,"props":51120,"children":51121},{"style":566},[51122],{"type":431,"value":895},{"type":426,"tag":553,"props":51124,"children":51125},{"style":684},[51126],{"type":431,"value":900},{"type":426,"tag":553,"props":51128,"children":51129},{"style":566},[51130],{"type":431,"value":857},{"type":426,"tag":553,"props":51132,"children":51133},{"style":684},[51134],{"type":431,"value":909},{"type":426,"tag":553,"props":51136,"children":51137},{"class":555,"line":29163},[51138],{"type":426,"tag":553,"props":51139,"children":51140},{"style":572},[51141],{"type":431,"value":2673},{"type":426,"tag":553,"props":51143,"children":51144},{"class":555,"line":29202},[51145],{"type":426,"tag":553,"props":51146,"children":51147},{"style":572},[51148],{"type":431,"value":51149},"    Full pipeline: generate QR → upload → send WhatsApp ticket.\n",{"type":426,"tag":553,"props":51151,"children":51152},{"class":555,"line":29235},[51153],{"type":426,"tag":553,"props":51154,"children":51155},{"style":572},[51156],{"type":431,"value":51157},"    Call this when a ticket purchase is confirmed.\n",{"type":426,"tag":553,"props":51159,"children":51160},{"class":555,"line":29273},[51161],{"type":426,"tag":553,"props":51162,"children":51163},{"style":572},[51164],{"type":431,"value":2673},{"type":426,"tag":553,"props":51166,"children":51167},{"class":555,"line":29312},[51168,51173,51177,51182,51186,51190,51194,51199,51204,51209],{"type":426,"tag":553,"props":51169,"children":51170},{"style":684},[51171],{"type":431,"value":51172},"    ticket_id ",{"type":426,"tag":553,"props":51174,"children":51175},{"style":795},[51176],{"type":431,"value":957},{"type":426,"tag":553,"props":51178,"children":51179},{"style":684},[51180],{"type":431,"value":51181}," purchase.get(",{"type":426,"tag":553,"props":51183,"children":51184},{"style":572},[51185],{"type":431,"value":22456},{"type":426,"tag":553,"props":51187,"children":51188},{"style":684},[51189],{"type":431,"value":2987},{"type":426,"tag":553,"props":51191,"children":51192},{"style":795},[51193],{"type":431,"value":13816},{"type":426,"tag":553,"props":51195,"children":51196},{"style":566},[51197],{"type":431,"value":51198}," str",{"type":426,"tag":553,"props":51200,"children":51201},{"style":684},[51202],{"type":431,"value":51203},"(uuid.uuid4())[:",{"type":426,"tag":553,"props":51205,"children":51206},{"style":566},[51207],{"type":431,"value":51208},"8",{"type":426,"tag":553,"props":51210,"children":51211},{"style":684},[51212],{"type":431,"value":51213},"].upper()\n",{"type":426,"tag":553,"props":51215,"children":51216},{"class":555,"line":29333},[51217],{"type":426,"tag":553,"props":51218,"children":51219},{"style":684},[51220],{"type":431,"value":917},{"type":426,"tag":553,"props":51222,"children":51223},{"class":555,"line":29346},[51224],{"type":426,"tag":553,"props":51225,"children":51226},{"style":1975},[51227],{"type":431,"value":51228},"    # 1. Generate QR code image\n",{"type":426,"tag":553,"props":51230,"children":51232},{"class":555,"line":51231},129,[51233,51238,51242],{"type":426,"tag":553,"props":51234,"children":51235},{"style":684},[51236],{"type":431,"value":51237},"    qr_bytes ",{"type":426,"tag":553,"props":51239,"children":51240},{"style":795},[51241],{"type":431,"value":957},{"type":426,"tag":553,"props":51243,"children":51244},{"style":684},[51245],{"type":431,"value":51246}," generate_ticket_qr(\n",{"type":426,"tag":553,"props":51248,"children":51250},{"class":555,"line":51249},130,[51251,51256,51260],{"type":426,"tag":553,"props":51252,"children":51253},{"style":1684},[51254],{"type":431,"value":51255},"        ticket_id",{"type":426,"tag":553,"props":51257,"children":51258},{"style":795},[51259],{"type":431,"value":957},{"type":426,"tag":553,"props":51261,"children":51262},{"style":684},[51263],{"type":431,"value":51264},"ticket_id,\n",{"type":426,"tag":553,"props":51266,"children":51268},{"class":555,"line":51267},131,[51269,51274,51278,51283,51288],{"type":426,"tag":553,"props":51270,"children":51271},{"style":1684},[51272],{"type":431,"value":51273},"        event_name",{"type":426,"tag":553,"props":51275,"children":51276},{"style":795},[51277],{"type":431,"value":957},{"type":426,"tag":553,"props":51279,"children":51280},{"style":684},[51281],{"type":431,"value":51282},"purchase[",{"type":426,"tag":553,"props":51284,"children":51285},{"style":572},[51286],{"type":431,"value":51287},"'event_name'",{"type":426,"tag":553,"props":51289,"children":51290},{"style":684},[51291],{"type":431,"value":12804},{"type":426,"tag":553,"props":51293,"children":51295},{"class":555,"line":51294},132,[51296,51301,51305,51309,51313],{"type":426,"tag":553,"props":51297,"children":51298},{"style":1684},[51299],{"type":431,"value":51300},"        customer_name",{"type":426,"tag":553,"props":51302,"children":51303},{"style":795},[51304],{"type":431,"value":957},{"type":426,"tag":553,"props":51306,"children":51307},{"style":684},[51308],{"type":431,"value":51282},{"type":426,"tag":553,"props":51310,"children":51311},{"style":572},[51312],{"type":431,"value":22493},{"type":426,"tag":553,"props":51314,"children":51315},{"style":684},[51316],{"type":431,"value":12804},{"type":426,"tag":553,"props":51318,"children":51320},{"class":555,"line":51319},133,[51321,51326,51330,51334,51339],{"type":426,"tag":553,"props":51322,"children":51323},{"style":1684},[51324],{"type":431,"value":51325},"        event_date",{"type":426,"tag":553,"props":51327,"children":51328},{"style":795},[51329],{"type":431,"value":957},{"type":426,"tag":553,"props":51331,"children":51332},{"style":684},[51333],{"type":431,"value":51282},{"type":426,"tag":553,"props":51335,"children":51336},{"style":572},[51337],{"type":431,"value":51338},"'event_date'",{"type":426,"tag":553,"props":51340,"children":51341},{"style":684},[51342],{"type":431,"value":12804},{"type":426,"tag":553,"props":51344,"children":51346},{"class":555,"line":51345},134,[51347,51352,51356,51361,51366],{"type":426,"tag":553,"props":51348,"children":51349},{"style":1684},[51350],{"type":431,"value":51351},"        seat",{"type":426,"tag":553,"props":51353,"children":51354},{"style":795},[51355],{"type":431,"value":957},{"type":426,"tag":553,"props":51357,"children":51358},{"style":684},[51359],{"type":431,"value":51360},"purchase.get(",{"type":426,"tag":553,"props":51362,"children":51363},{"style":572},[51364],{"type":431,"value":51365},"'seat'",{"type":426,"tag":553,"props":51367,"children":51368},{"style":684},[51369],{"type":431,"value":3262},{"type":426,"tag":553,"props":51371,"children":51373},{"class":555,"line":51372},135,[51374],{"type":426,"tag":553,"props":51375,"children":51376},{"style":684},[51377],{"type":431,"value":1642},{"type":426,"tag":553,"props":51379,"children":51381},{"class":555,"line":51380},136,[51382],{"type":426,"tag":553,"props":51383,"children":51384},{"style":684},[51385],{"type":431,"value":917},{"type":426,"tag":553,"props":51387,"children":51389},{"class":555,"line":51388},137,[51390],{"type":426,"tag":553,"props":51391,"children":51392},{"style":1975},[51393],{"type":431,"value":51394},"    # 2. Upload to S3\n",{"type":426,"tag":553,"props":51396,"children":51398},{"class":555,"line":51397},138,[51399,51404,51408],{"type":426,"tag":553,"props":51400,"children":51401},{"style":684},[51402],{"type":431,"value":51403},"    image_url ",{"type":426,"tag":553,"props":51405,"children":51406},{"style":795},[51407],{"type":431,"value":957},{"type":426,"tag":553,"props":51409,"children":51410},{"style":684},[51411],{"type":431,"value":51412}," upload_to_s3(qr_bytes, ticket_id)\n",{"type":426,"tag":553,"props":51414,"children":51416},{"class":555,"line":51415},139,[51417],{"type":426,"tag":553,"props":51418,"children":51419},{"style":684},[51420],{"type":431,"value":917},{"type":426,"tag":553,"props":51422,"children":51424},{"class":555,"line":51423},140,[51425],{"type":426,"tag":553,"props":51426,"children":51427},{"style":1975},[51428],{"type":431,"value":51429},"    # 3. Send via WhatsApp\n",{"type":426,"tag":553,"props":51431,"children":51433},{"class":555,"line":51432},141,[51434,51438,51442],{"type":426,"tag":553,"props":51435,"children":51436},{"style":684},[51437],{"type":431,"value":21488},{"type":426,"tag":553,"props":51439,"children":51440},{"style":795},[51441],{"type":431,"value":957},{"type":426,"tag":553,"props":51443,"children":51444},{"style":684},[51445],{"type":431,"value":51446}," send_ticket_via_whatsapp(\n",{"type":426,"tag":553,"props":51448,"children":51450},{"class":555,"line":51449},142,[51451,51455,51459,51463,51467],{"type":426,"tag":553,"props":51452,"children":51453},{"style":1684},[51454],{"type":431,"value":31465},{"type":426,"tag":553,"props":51456,"children":51457},{"style":795},[51458],{"type":431,"value":957},{"type":426,"tag":553,"props":51460,"children":51461},{"style":684},[51462],{"type":431,"value":51282},{"type":426,"tag":553,"props":51464,"children":51465},{"style":572},[51466],{"type":431,"value":1769},{"type":426,"tag":553,"props":51468,"children":51469},{"style":684},[51470],{"type":431,"value":12804},{"type":426,"tag":553,"props":51472,"children":51474},{"class":555,"line":51473},143,[51475,51479,51483,51487,51491],{"type":426,"tag":553,"props":51476,"children":51477},{"style":1684},[51478],{"type":431,"value":51300},{"type":426,"tag":553,"props":51480,"children":51481},{"style":795},[51482],{"type":431,"value":957},{"type":426,"tag":553,"props":51484,"children":51485},{"style":684},[51486],{"type":431,"value":51282},{"type":426,"tag":553,"props":51488,"children":51489},{"style":572},[51490],{"type":431,"value":22493},{"type":426,"tag":553,"props":51492,"children":51493},{"style":684},[51494],{"type":431,"value":12804},{"type":426,"tag":553,"props":51496,"children":51498},{"class":555,"line":51497},144,[51499,51503,51507,51511,51515],{"type":426,"tag":553,"props":51500,"children":51501},{"style":1684},[51502],{"type":431,"value":51273},{"type":426,"tag":553,"props":51504,"children":51505},{"style":795},[51506],{"type":431,"value":957},{"type":426,"tag":553,"props":51508,"children":51509},{"style":684},[51510],{"type":431,"value":51282},{"type":426,"tag":553,"props":51512,"children":51513},{"style":572},[51514],{"type":431,"value":51287},{"type":426,"tag":553,"props":51516,"children":51517},{"style":684},[51518],{"type":431,"value":12804},{"type":426,"tag":553,"props":51520,"children":51522},{"class":555,"line":51521},145,[51523,51527,51531,51535,51539],{"type":426,"tag":553,"props":51524,"children":51525},{"style":1684},[51526],{"type":431,"value":51325},{"type":426,"tag":553,"props":51528,"children":51529},{"style":795},[51530],{"type":431,"value":957},{"type":426,"tag":553,"props":51532,"children":51533},{"style":684},[51534],{"type":431,"value":51282},{"type":426,"tag":553,"props":51536,"children":51537},{"style":572},[51538],{"type":431,"value":51338},{"type":426,"tag":553,"props":51540,"children":51541},{"style":684},[51542],{"type":431,"value":12804},{"type":426,"tag":553,"props":51544,"children":51546},{"class":555,"line":51545},146,[51547,51552,51556,51560,51565],{"type":426,"tag":553,"props":51548,"children":51549},{"style":1684},[51550],{"type":431,"value":51551},"        event_location",{"type":426,"tag":553,"props":51553,"children":51554},{"style":795},[51555],{"type":431,"value":957},{"type":426,"tag":553,"props":51557,"children":51558},{"style":684},[51559],{"type":431,"value":51282},{"type":426,"tag":553,"props":51561,"children":51562},{"style":572},[51563],{"type":431,"value":51564},"'event_location'",{"type":426,"tag":553,"props":51566,"children":51567},{"style":684},[51568],{"type":431,"value":12804},{"type":426,"tag":553,"props":51570,"children":51572},{"class":555,"line":51571},147,[51573,51577,51581],{"type":426,"tag":553,"props":51574,"children":51575},{"style":1684},[51576],{"type":431,"value":51255},{"type":426,"tag":553,"props":51578,"children":51579},{"style":795},[51580],{"type":431,"value":957},{"type":426,"tag":553,"props":51582,"children":51583},{"style":684},[51584],{"type":431,"value":51264},{"type":426,"tag":553,"props":51586,"children":51588},{"class":555,"line":51587},148,[51589,51594,51598],{"type":426,"tag":553,"props":51590,"children":51591},{"style":1684},[51592],{"type":431,"value":51593},"        image_url",{"type":426,"tag":553,"props":51595,"children":51596},{"style":795},[51597],{"type":431,"value":957},{"type":426,"tag":553,"props":51599,"children":51600},{"style":684},[51601],{"type":431,"value":51602},"image_url,\n",{"type":426,"tag":553,"props":51604,"children":51606},{"class":555,"line":51605},149,[51607,51612,51616],{"type":426,"tag":553,"props":51608,"children":51609},{"style":1684},[51610],{"type":431,"value":51611},"        api_key",{"type":426,"tag":553,"props":51613,"children":51614},{"style":795},[51615],{"type":431,"value":957},{"type":426,"tag":553,"props":51617,"children":51618},{"style":684},[51619],{"type":431,"value":2542},{"type":426,"tag":553,"props":51621,"children":51623},{"class":555,"line":51622},150,[51624],{"type":426,"tag":553,"props":51625,"children":51626},{"style":684},[51627],{"type":431,"value":1642},{"type":426,"tag":553,"props":51629,"children":51631},{"class":555,"line":51630},151,[51632],{"type":426,"tag":553,"props":51633,"children":51634},{"style":684},[51635],{"type":431,"value":917},{"type":426,"tag":553,"props":51637,"children":51639},{"class":555,"line":51638},152,[51640,51644],{"type":426,"tag":553,"props":51641,"children":51642},{"style":795},[51643],{"type":431,"value":1659},{"type":426,"tag":553,"props":51645,"children":51646},{"style":684},[51647],{"type":431,"value":5458},{"type":426,"tag":553,"props":51649,"children":51651},{"class":555,"line":51650},153,[51652,51657],{"type":426,"tag":553,"props":51653,"children":51654},{"style":572},[51655],{"type":431,"value":51656},"        'ticket_id'",{"type":426,"tag":553,"props":51658,"children":51659},{"style":684},[51660],{"type":431,"value":51661},": ticket_id,\n",{"type":426,"tag":553,"props":51663,"children":51665},{"class":555,"line":51664},154,[51666,51671],{"type":426,"tag":553,"props":51667,"children":51668},{"style":572},[51669],{"type":431,"value":51670},"        'image_url'",{"type":426,"tag":553,"props":51672,"children":51673},{"style":684},[51674],{"type":431,"value":51018},{"type":426,"tag":553,"props":51676,"children":51678},{"class":555,"line":51677},155,[51679,51684],{"type":426,"tag":553,"props":51680,"children":51681},{"style":572},[51682],{"type":431,"value":51683},"        'whatsapp_result'",{"type":426,"tag":553,"props":51685,"children":51686},{"style":684},[51687],{"type":431,"value":51688},": result\n",{"type":426,"tag":553,"props":51690,"children":51692},{"class":555,"line":51691},156,[51693],{"type":426,"tag":553,"props":51694,"children":51695},{"style":684},[51696],{"type":431,"value":5546},{"type":426,"tag":553,"props":51698,"children":51700},{"class":555,"line":51699},157,[51701],{"type":426,"tag":553,"props":51702,"children":51703},{"emptyLinePlaceholder":831},[51704],{"type":431,"value":834},{"type":426,"tag":553,"props":51706,"children":51708},{"class":555,"line":51707},158,[51709],{"type":426,"tag":553,"props":51710,"children":51711},{"emptyLinePlaceholder":831},[51712],{"type":431,"value":834},{"type":426,"tag":553,"props":51714,"children":51716},{"class":555,"line":51715},159,[51717],{"type":426,"tag":553,"props":51718,"children":51719},{"style":1975},[51720],{"type":431,"value":51721},"# Example usage\n",{"type":426,"tag":553,"props":51723,"children":51725},{"class":555,"line":51724},160,[51726,51730,51735,51740,51745],{"type":426,"tag":553,"props":51727,"children":51728},{"style":795},[51729],{"type":431,"value":7510},{"type":426,"tag":553,"props":51731,"children":51732},{"style":566},[51733],{"type":431,"value":51734}," __name__",{"type":426,"tag":553,"props":51736,"children":51737},{"style":795},[51738],{"type":431,"value":51739}," ==",{"type":426,"tag":553,"props":51741,"children":51742},{"style":572},[51743],{"type":431,"value":51744}," '__main__'",{"type":426,"tag":553,"props":51746,"children":51747},{"style":684},[51748],{"type":431,"value":909},{"type":426,"tag":553,"props":51750,"children":51752},{"class":555,"line":51751},161,[51753,51758,51762],{"type":426,"tag":553,"props":51754,"children":51755},{"style":684},[51756],{"type":431,"value":51757},"    purchase ",{"type":426,"tag":553,"props":51759,"children":51760},{"style":795},[51761],{"type":431,"value":957},{"type":426,"tag":553,"props":51763,"children":51764},{"style":684},[51765],{"type":431,"value":5458},{"type":426,"tag":553,"props":51767,"children":51769},{"class":555,"line":51768},162,[51770,51774,51778,51783],{"type":426,"tag":553,"props":51771,"children":51772},{"style":572},[51773],{"type":431,"value":51656},{"type":426,"tag":553,"props":51775,"children":51776},{"style":684},[51777],{"type":431,"value":700},{"type":426,"tag":553,"props":51779,"children":51780},{"style":572},[51781],{"type":431,"value":51782},"'TKT-2026-001'",{"type":426,"tag":553,"props":51784,"children":51785},{"style":684},[51786],{"type":431,"value":710},{"type":426,"tag":553,"props":51788,"children":51790},{"class":555,"line":51789},163,[51791,51796,51800,51805],{"type":426,"tag":553,"props":51792,"children":51793},{"style":572},[51794],{"type":431,"value":51795},"        'customer_name'",{"type":426,"tag":553,"props":51797,"children":51798},{"style":684},[51799],{"type":431,"value":700},{"type":426,"tag":553,"props":51801,"children":51802},{"style":572},[51803],{"type":431,"value":51804},"'Sarah Johnson'",{"type":426,"tag":553,"props":51806,"children":51807},{"style":684},[51808],{"type":431,"value":710},{"type":426,"tag":553,"props":51810,"children":51812},{"class":555,"line":51811},164,[51813,51818,51822,51826],{"type":426,"tag":553,"props":51814,"children":51815},{"style":572},[51816],{"type":431,"value":51817},"        'phone'",{"type":426,"tag":553,"props":51819,"children":51820},{"style":684},[51821],{"type":431,"value":700},{"type":426,"tag":553,"props":51823,"children":51824},{"style":572},[51825],{"type":431,"value":10197},{"type":426,"tag":553,"props":51827,"children":51828},{"style":684},[51829],{"type":431,"value":710},{"type":426,"tag":553,"props":51831,"children":51833},{"class":555,"line":51832},165,[51834,51839,51843,51848],{"type":426,"tag":553,"props":51835,"children":51836},{"style":572},[51837],{"type":431,"value":51838},"        'event_name'",{"type":426,"tag":553,"props":51840,"children":51841},{"style":684},[51842],{"type":431,"value":700},{"type":426,"tag":553,"props":51844,"children":51845},{"style":572},[51846],{"type":431,"value":51847},"'TechConf 2026'",{"type":426,"tag":553,"props":51849,"children":51850},{"style":684},[51851],{"type":431,"value":710},{"type":426,"tag":553,"props":51853,"children":51855},{"class":555,"line":51854},166,[51856,51861,51865,51870],{"type":426,"tag":553,"props":51857,"children":51858},{"style":572},[51859],{"type":431,"value":51860},"        'event_date'",{"type":426,"tag":553,"props":51862,"children":51863},{"style":684},[51864],{"type":431,"value":700},{"type":426,"tag":553,"props":51866,"children":51867},{"style":572},[51868],{"type":431,"value":51869},"'July 15, 2026 at 9:00 AM'",{"type":426,"tag":553,"props":51871,"children":51872},{"style":684},[51873],{"type":431,"value":710},{"type":426,"tag":553,"props":51875,"children":51877},{"class":555,"line":51876},167,[51878,51883,51887,51892],{"type":426,"tag":553,"props":51879,"children":51880},{"style":572},[51881],{"type":431,"value":51882},"        'event_location'",{"type":426,"tag":553,"props":51884,"children":51885},{"style":684},[51886],{"type":431,"value":700},{"type":426,"tag":553,"props":51888,"children":51889},{"style":572},[51890],{"type":431,"value":51891},"'Dhaka Convention Centre'",{"type":426,"tag":553,"props":51893,"children":51894},{"style":684},[51895],{"type":431,"value":710},{"type":426,"tag":553,"props":51897,"children":51899},{"class":555,"line":51898},168,[51900,51905,51909],{"type":426,"tag":553,"props":51901,"children":51902},{"style":572},[51903],{"type":431,"value":51904},"        'seat'",{"type":426,"tag":553,"props":51906,"children":51907},{"style":684},[51908],{"type":431,"value":700},{"type":426,"tag":553,"props":51910,"children":51911},{"style":572},[51912],{"type":431,"value":51913},"'A-42'\n",{"type":426,"tag":553,"props":51915,"children":51917},{"class":555,"line":51916},169,[51918],{"type":426,"tag":553,"props":51919,"children":51920},{"style":684},[51921],{"type":431,"value":5546},{"type":426,"tag":553,"props":51923,"children":51925},{"class":555,"line":51924},170,[51926],{"type":426,"tag":553,"props":51927,"children":51928},{"style":684},[51929],{"type":431,"value":917},{"type":426,"tag":553,"props":51931,"children":51933},{"class":555,"line":51932},171,[51934,51938,51942,51947,51951,51955,51959],{"type":426,"tag":553,"props":51935,"children":51936},{"style":684},[51937],{"type":431,"value":21488},{"type":426,"tag":553,"props":51939,"children":51940},{"style":795},[51941],{"type":431,"value":957},{"type":426,"tag":553,"props":51943,"children":51944},{"style":684},[51945],{"type":431,"value":51946}," process_ticket_purchase(purchase, ",{"type":426,"tag":553,"props":51948,"children":51949},{"style":1684},[51950],{"type":431,"value":1723},{"type":426,"tag":553,"props":51952,"children":51953},{"style":795},[51954],{"type":431,"value":957},{"type":426,"tag":553,"props":51956,"children":51957},{"style":572},[51958],{"type":431,"value":38451},{"type":426,"tag":553,"props":51960,"children":51961},{"style":684},[51962],{"type":431,"value":3262},{"type":426,"tag":553,"props":51964,"children":51966},{"class":555,"line":51965},172,[51967,51972,51976,51980,51985,51989,51993,51997,52001,52005,52009],{"type":426,"tag":553,"props":51968,"children":51969},{"style":566},[51970],{"type":431,"value":51971},"    print",{"type":426,"tag":553,"props":51973,"children":51974},{"style":684},[51975],{"type":431,"value":3275},{"type":426,"tag":553,"props":51977,"children":51978},{"style":795},[51979],{"type":431,"value":1709},{"type":426,"tag":553,"props":51981,"children":51982},{"style":572},[51983],{"type":431,"value":51984},"\"Ticket sent! ID: ",{"type":426,"tag":553,"props":51986,"children":51987},{"style":566},[51988],{"type":431,"value":972},{"type":426,"tag":553,"props":51990,"children":51991},{"style":684},[51992],{"type":431,"value":3293},{"type":426,"tag":553,"props":51994,"children":51995},{"style":572},[51996],{"type":431,"value":22456},{"type":426,"tag":553,"props":51998,"children":51999},{"style":684},[52000],{"type":431,"value":1240},{"type":426,"tag":553,"props":52002,"children":52003},{"style":566},[52004],{"type":431,"value":982},{"type":426,"tag":553,"props":52006,"children":52007},{"style":572},[52008],{"type":431,"value":1527},{"type":426,"tag":553,"props":52010,"children":52011},{"style":684},[52012],{"type":431,"value":3262},{"type":426,"tag":553,"props":52014,"children":52016},{"class":555,"line":52015},173,[52017,52021,52025,52029,52034,52038,52042,52047,52051,52055,52059,52063,52067],{"type":426,"tag":553,"props":52018,"children":52019},{"style":566},[52020],{"type":431,"value":51971},{"type":426,"tag":553,"props":52022,"children":52023},{"style":684},[52024],{"type":431,"value":3275},{"type":426,"tag":553,"props":52026,"children":52027},{"style":795},[52028],{"type":431,"value":1709},{"type":426,"tag":553,"props":52030,"children":52031},{"style":572},[52032],{"type":431,"value":52033},"\"WhatsApp status: ",{"type":426,"tag":553,"props":52035,"children":52036},{"style":566},[52037],{"type":431,"value":972},{"type":426,"tag":553,"props":52039,"children":52040},{"style":684},[52041],{"type":431,"value":3293},{"type":426,"tag":553,"props":52043,"children":52044},{"style":572},[52045],{"type":431,"value":52046},"'whatsapp_result'",{"type":426,"tag":553,"props":52048,"children":52049},{"style":684},[52050],{"type":431,"value":23587},{"type":426,"tag":553,"props":52052,"children":52053},{"style":572},[52054],{"type":431,"value":2982},{"type":426,"tag":553,"props":52056,"children":52057},{"style":684},[52058],{"type":431,"value":1240},{"type":426,"tag":553,"props":52060,"children":52061},{"style":566},[52062],{"type":431,"value":982},{"type":426,"tag":553,"props":52064,"children":52065},{"style":572},[52066],{"type":431,"value":1527},{"type":426,"tag":553,"props":52068,"children":52069},{"style":684},[52070],{"type":431,"value":3262},{"type":426,"tag":434,"props":52072,"children":52074},{"id":52073},"step-2-nodejs-implementation",[52075],{"type":431,"value":52076},"Step 2: Node.js Implementation",{"type":426,"tag":542,"props":52078,"children":52080},{"className":546,"code":52079,"language":545,"meta":417,"style":417},"npm install qrcode axios @aws-sdk\u002Fclient-s3\n",[52081],{"type":426,"tag":549,"props":52082,"children":52083},{"__ignoreMap":417},[52084],{"type":426,"tag":553,"props":52085,"children":52086},{"class":555,"line":556},[52087,52092,52096,52101,52106],{"type":426,"tag":553,"props":52088,"children":52089},{"style":560},[52090],{"type":431,"value":52091},"npm",{"type":426,"tag":553,"props":52093,"children":52094},{"style":572},[52095],{"type":431,"value":48876},{"type":426,"tag":553,"props":52097,"children":52098},{"style":572},[52099],{"type":431,"value":52100}," qrcode",{"type":426,"tag":553,"props":52102,"children":52103},{"style":572},[52104],{"type":431,"value":52105}," axios",{"type":426,"tag":553,"props":52107,"children":52108},{"style":572},[52109],{"type":431,"value":52110}," @aws-sdk\u002Fclient-s3\n",{"type":426,"tag":542,"props":52112,"children":52116},{"className":52113,"code":52114,"language":52115,"meta":417,"style":417},"language-javascript shiki shiki-themes github-dark","\u002F\u002F ticketing.js\nconst QRCode = require('qrcode');\nconst { S3Client, PutObjectCommand } = require('@aws-sdk\u002Fclient-s3');\nconst fetch = require('node-fetch');\n\nconst s3 = new S3Client({ region: 'us-east-1' });\nconst RAPIWA_API_KEY = 'YOUR_API_KEY';\nconst BUCKET_NAME = 'your-ticket-bucket';\n\nasync function generateQRCodeBuffer(ticketData) {\n  return QRCode.toBuffer(ticketData, {\n    errorCorrectionLevel: 'H',\n    type: 'png',\n    width: 400,\n    margin: 2\n  });\n}\n\nasync function uploadToS3(buffer, ticketId) {\n  const key = `tickets\u002F${ticketId}.png`;\n  \n  await s3.send(new PutObjectCommand({\n    Bucket: BUCKET_NAME,\n    Key: key,\n    Body: buffer,\n    ContentType: 'image\u002Fpng',\n    ACL: 'public-read'\n  }));\n  \n  return `https:\u002F\u002F${BUCKET_NAME}.s3.amazonaws.com\u002F${key}`;\n}\n\nasync function sendTicketWhatsApp(ticket) {\n  const { phone, customerName, eventName, eventDate, location, ticketId, imageUrl } = ticket;\n  \n  const caption = `🎫 Ticket Confirmed!\\n\\n` +\n    `Hi ${customerName}!\\n\\n` +\n    `📅 *${eventName}*\\n` +\n    `🗓️ ${eventDate}\\n` +\n    `📍 ${location}\\n` +\n    `🎟️ Ref: ${ticketId}\\n\\n` +\n    `Show this QR code at the entrance. See you there! 🎉`;\n  \n  const response = await fetch('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image', {\n    method: 'POST',\n    headers: {\n      'Authorization': `Bearer ${RAPIWA_API_KEY}`,\n      'Content-Type': 'application\u002Fjson'\n    },\n    body: JSON.stringify({ number: phone, imageUrl, caption })\n  });\n  \n  return response.json();\n}\n\nasync function processTicketPurchase(purchase) {\n  const ticketId = purchase.ticketId || Math.random().toString(36).slice(2, 10).toUpperCase();\n  const qrData = `TICKET:${ticketId}|EVENT:${purchase.eventName}|DATE:${purchase.eventDate}`;\n  \n  const qrBuffer = await generateQRCodeBuffer(qrData);\n  const imageUrl = await uploadToS3(qrBuffer, ticketId);\n  const result = await sendTicketWhatsApp({ ...purchase, ticketId, imageUrl });\n  \n  return { ticketId, imageUrl, whatsappResult: result };\n}\n\n\u002F\u002F Usage\nprocessTicketPurchase({\n  ticketId: 'TKT-001',\n  phone: '8801234567890',\n  customerName: 'Sarah Johnson',\n  eventName: 'TechConf 2026',\n  eventDate: 'July 15, 2026',\n  location: 'Dhaka Convention Centre'\n}).then(result => console.log('Ticket sent:', result));\n","javascript",[52117],{"type":426,"tag":549,"props":52118,"children":52119},{"__ignoreMap":417},[52120,52128,52163,52215,52248,52255,52296,52322,52347,52354,52386,52409,52426,52443,52460,52473,52481,52488,52495,52533,52568,52576,52613,52630,52638,52646,52662,52674,52682,52689,52723,52730,52737,52766,52847,52854,52889,52918,52947,52975,53003,53031,53043,53050,53089,53105,53113,53142,53159,53166,53193,53200,53207,53228,53235,53242,53271,53365,53432,53439,53468,53497,53535,53542,53554,53561,53568,53576,53588,53605,53621,53637,53653,53670,53683],{"type":426,"tag":553,"props":52121,"children":52122},{"class":555,"line":556},[52123],{"type":426,"tag":553,"props":52124,"children":52125},{"style":1975},[52126],{"type":431,"value":52127},"\u002F\u002F ticketing.js\n",{"type":426,"tag":553,"props":52129,"children":52130},{"class":555,"line":588},[52131,52136,52141,52145,52150,52154,52159],{"type":426,"tag":553,"props":52132,"children":52133},{"style":795},[52134],{"type":431,"value":52135},"const",{"type":426,"tag":553,"props":52137,"children":52138},{"style":566},[52139],{"type":431,"value":52140}," QRCode",{"type":426,"tag":553,"props":52142,"children":52143},{"style":795},[52144],{"type":431,"value":8739},{"type":426,"tag":553,"props":52146,"children":52147},{"style":560},[52148],{"type":431,"value":52149}," require",{"type":426,"tag":553,"props":52151,"children":52152},{"style":684},[52153],{"type":431,"value":3275},{"type":426,"tag":553,"props":52155,"children":52156},{"style":572},[52157],{"type":431,"value":52158},"'qrcode'",{"type":426,"tag":553,"props":52160,"children":52161},{"style":684},[52162],{"type":431,"value":11379},{"type":426,"tag":553,"props":52164,"children":52165},{"class":555,"line":606},[52166,52170,52175,52180,52184,52189,52194,52198,52202,52206,52211],{"type":426,"tag":553,"props":52167,"children":52168},{"style":795},[52169],{"type":431,"value":52135},{"type":426,"tag":553,"props":52171,"children":52172},{"style":684},[52173],{"type":431,"value":52174}," { ",{"type":426,"tag":553,"props":52176,"children":52177},{"style":566},[52178],{"type":431,"value":52179},"S3Client",{"type":426,"tag":553,"props":52181,"children":52182},{"style":684},[52183],{"type":431,"value":1907},{"type":426,"tag":553,"props":52185,"children":52186},{"style":566},[52187],{"type":431,"value":52188},"PutObjectCommand",{"type":426,"tag":553,"props":52190,"children":52191},{"style":684},[52192],{"type":431,"value":52193}," } ",{"type":426,"tag":553,"props":52195,"children":52196},{"style":795},[52197],{"type":431,"value":957},{"type":426,"tag":553,"props":52199,"children":52200},{"style":560},[52201],{"type":431,"value":52149},{"type":426,"tag":553,"props":52203,"children":52204},{"style":684},[52205],{"type":431,"value":3275},{"type":426,"tag":553,"props":52207,"children":52208},{"style":572},[52209],{"type":431,"value":52210},"'@aws-sdk\u002Fclient-s3'",{"type":426,"tag":553,"props":52212,"children":52213},{"style":684},[52214],{"type":431,"value":11379},{"type":426,"tag":553,"props":52216,"children":52217},{"class":555,"line":623},[52218,52222,52227,52231,52235,52239,52244],{"type":426,"tag":553,"props":52219,"children":52220},{"style":795},[52221],{"type":431,"value":52135},{"type":426,"tag":553,"props":52223,"children":52224},{"style":566},[52225],{"type":431,"value":52226}," fetch",{"type":426,"tag":553,"props":52228,"children":52229},{"style":795},[52230],{"type":431,"value":8739},{"type":426,"tag":553,"props":52232,"children":52233},{"style":560},[52234],{"type":431,"value":52149},{"type":426,"tag":553,"props":52236,"children":52237},{"style":684},[52238],{"type":431,"value":3275},{"type":426,"tag":553,"props":52240,"children":52241},{"style":572},[52242],{"type":431,"value":52243},"'node-fetch'",{"type":426,"tag":553,"props":52245,"children":52246},{"style":684},[52247],{"type":431,"value":11379},{"type":426,"tag":553,"props":52249,"children":52250},{"class":555,"line":637},[52251],{"type":426,"tag":553,"props":52252,"children":52253},{"emptyLinePlaceholder":831},[52254],{"type":431,"value":834},{"type":426,"tag":553,"props":52256,"children":52257},{"class":555,"line":646},[52258,52262,52267,52271,52276,52281,52286,52291],{"type":426,"tag":553,"props":52259,"children":52260},{"style":795},[52261],{"type":431,"value":52135},{"type":426,"tag":553,"props":52263,"children":52264},{"style":566},[52265],{"type":431,"value":52266}," s3",{"type":426,"tag":553,"props":52268,"children":52269},{"style":795},[52270],{"type":431,"value":8739},{"type":426,"tag":553,"props":52272,"children":52273},{"style":795},[52274],{"type":431,"value":52275}," new",{"type":426,"tag":553,"props":52277,"children":52278},{"style":560},[52279],{"type":431,"value":52280}," S3Client",{"type":426,"tag":553,"props":52282,"children":52283},{"style":684},[52284],{"type":431,"value":52285},"({ region: ",{"type":426,"tag":553,"props":52287,"children":52288},{"style":572},[52289],{"type":431,"value":52290},"'us-east-1'",{"type":426,"tag":553,"props":52292,"children":52293},{"style":684},[52294],{"type":431,"value":52295}," });\n",{"type":426,"tag":553,"props":52297,"children":52298},{"class":555,"line":655},[52299,52303,52308,52312,52317],{"type":426,"tag":553,"props":52300,"children":52301},{"style":795},[52302],{"type":431,"value":52135},{"type":426,"tag":553,"props":52304,"children":52305},{"style":566},[52306],{"type":431,"value":52307}," RAPIWA_API_KEY",{"type":426,"tag":553,"props":52309,"children":52310},{"style":795},[52311],{"type":431,"value":8739},{"type":426,"tag":553,"props":52313,"children":52314},{"style":572},[52315],{"type":431,"value":52316}," 'YOUR_API_KEY'",{"type":426,"tag":553,"props":52318,"children":52319},{"style":684},[52320],{"type":431,"value":52321},";\n",{"type":426,"tag":553,"props":52323,"children":52324},{"class":555,"line":1036},[52325,52329,52334,52338,52343],{"type":426,"tag":553,"props":52326,"children":52327},{"style":795},[52328],{"type":431,"value":52135},{"type":426,"tag":553,"props":52330,"children":52331},{"style":566},[52332],{"type":431,"value":52333}," BUCKET_NAME",{"type":426,"tag":553,"props":52335,"children":52336},{"style":795},[52337],{"type":431,"value":8739},{"type":426,"tag":553,"props":52339,"children":52340},{"style":572},[52341],{"type":431,"value":52342}," 'your-ticket-bucket'",{"type":426,"tag":553,"props":52344,"children":52345},{"style":684},[52346],{"type":431,"value":52321},{"type":426,"tag":553,"props":52348,"children":52349},{"class":555,"line":1054},[52350],{"type":426,"tag":553,"props":52351,"children":52352},{"emptyLinePlaceholder":831},[52353],{"type":431,"value":834},{"type":426,"tag":553,"props":52355,"children":52356},{"class":555,"line":1080},[52357,52362,52367,52372,52376,52381],{"type":426,"tag":553,"props":52358,"children":52359},{"style":795},[52360],{"type":431,"value":52361},"async",{"type":426,"tag":553,"props":52363,"children":52364},{"style":795},[52365],{"type":431,"value":52366}," function",{"type":426,"tag":553,"props":52368,"children":52369},{"style":560},[52370],{"type":431,"value":52371}," generateQRCodeBuffer",{"type":426,"tag":553,"props":52373,"children":52374},{"style":684},[52375],{"type":431,"value":3275},{"type":426,"tag":553,"props":52377,"children":52378},{"style":1684},[52379],{"type":431,"value":52380},"ticketData",{"type":426,"tag":553,"props":52382,"children":52383},{"style":684},[52384],{"type":431,"value":52385},") {\n",{"type":426,"tag":553,"props":52387,"children":52388},{"class":555,"line":1097},[52389,52394,52399,52404],{"type":426,"tag":553,"props":52390,"children":52391},{"style":795},[52392],{"type":431,"value":52393},"  return",{"type":426,"tag":553,"props":52395,"children":52396},{"style":684},[52397],{"type":431,"value":52398}," QRCode.",{"type":426,"tag":553,"props":52400,"children":52401},{"style":560},[52402],{"type":431,"value":52403},"toBuffer",{"type":426,"tag":553,"props":52405,"children":52406},{"style":684},[52407],{"type":431,"value":52408},"(ticketData, {\n",{"type":426,"tag":553,"props":52410,"children":52411},{"class":555,"line":1114},[52412,52417,52422],{"type":426,"tag":553,"props":52413,"children":52414},{"style":684},[52415],{"type":431,"value":52416},"    errorCorrectionLevel: ",{"type":426,"tag":553,"props":52418,"children":52419},{"style":572},[52420],{"type":431,"value":52421},"'H'",{"type":426,"tag":553,"props":52423,"children":52424},{"style":684},[52425],{"type":431,"value":710},{"type":426,"tag":553,"props":52427,"children":52428},{"class":555,"line":1127},[52429,52434,52439],{"type":426,"tag":553,"props":52430,"children":52431},{"style":684},[52432],{"type":431,"value":52433},"    type: ",{"type":426,"tag":553,"props":52435,"children":52436},{"style":572},[52437],{"type":431,"value":52438},"'png'",{"type":426,"tag":553,"props":52440,"children":52441},{"style":684},[52442],{"type":431,"value":710},{"type":426,"tag":553,"props":52444,"children":52445},{"class":555,"line":1167},[52446,52451,52456],{"type":426,"tag":553,"props":52447,"children":52448},{"style":684},[52449],{"type":431,"value":52450},"    width: ",{"type":426,"tag":553,"props":52452,"children":52453},{"style":566},[52454],{"type":431,"value":52455},"400",{"type":426,"tag":553,"props":52457,"children":52458},{"style":684},[52459],{"type":431,"value":710},{"type":426,"tag":553,"props":52461,"children":52462},{"class":555,"line":1184},[52463,52468],{"type":426,"tag":553,"props":52464,"children":52465},{"style":684},[52466],{"type":431,"value":52467},"    margin: ",{"type":426,"tag":553,"props":52469,"children":52470},{"style":566},[52471],{"type":431,"value":52472},"2\n",{"type":426,"tag":553,"props":52474,"children":52475},{"class":555,"line":1192},[52476],{"type":426,"tag":553,"props":52477,"children":52478},{"style":684},[52479],{"type":431,"value":52480},"  });\n",{"type":426,"tag":553,"props":52482,"children":52483},{"class":555,"line":1210},[52484],{"type":426,"tag":553,"props":52485,"children":52486},{"style":684},[52487],{"type":431,"value":756},{"type":426,"tag":553,"props":52489,"children":52490},{"class":555,"line":1253},[52491],{"type":426,"tag":553,"props":52492,"children":52493},{"emptyLinePlaceholder":831},[52494],{"type":431,"value":834},{"type":426,"tag":553,"props":52496,"children":52497},{"class":555,"line":1302},[52498,52502,52506,52511,52515,52520,52524,52529],{"type":426,"tag":553,"props":52499,"children":52500},{"style":795},[52501],{"type":431,"value":52361},{"type":426,"tag":553,"props":52503,"children":52504},{"style":795},[52505],{"type":431,"value":52366},{"type":426,"tag":553,"props":52507,"children":52508},{"style":560},[52509],{"type":431,"value":52510}," uploadToS3",{"type":426,"tag":553,"props":52512,"children":52513},{"style":684},[52514],{"type":431,"value":3275},{"type":426,"tag":553,"props":52516,"children":52517},{"style":1684},[52518],{"type":431,"value":52519},"buffer",{"type":426,"tag":553,"props":52521,"children":52522},{"style":684},[52523],{"type":431,"value":1907},{"type":426,"tag":553,"props":52525,"children":52526},{"style":1684},[52527],{"type":431,"value":52528},"ticketId",{"type":426,"tag":553,"props":52530,"children":52531},{"style":684},[52532],{"type":431,"value":52385},{"type":426,"tag":553,"props":52534,"children":52535},{"class":555,"line":1374},[52536,52541,52546,52550,52555,52559,52564],{"type":426,"tag":553,"props":52537,"children":52538},{"style":795},[52539],{"type":431,"value":52540},"  const",{"type":426,"tag":553,"props":52542,"children":52543},{"style":566},[52544],{"type":431,"value":52545}," key",{"type":426,"tag":553,"props":52547,"children":52548},{"style":795},[52549],{"type":431,"value":8739},{"type":426,"tag":553,"props":52551,"children":52552},{"style":572},[52553],{"type":431,"value":52554}," `tickets\u002F${",{"type":426,"tag":553,"props":52556,"children":52557},{"style":684},[52558],{"type":431,"value":52528},{"type":426,"tag":553,"props":52560,"children":52561},{"style":572},[52562],{"type":431,"value":52563},"}.png`",{"type":426,"tag":553,"props":52565,"children":52566},{"style":684},[52567],{"type":431,"value":52321},{"type":426,"tag":553,"props":52569,"children":52570},{"class":555,"line":1414},[52571],{"type":426,"tag":553,"props":52572,"children":52573},{"style":684},[52574],{"type":431,"value":52575},"  \n",{"type":426,"tag":553,"props":52577,"children":52578},{"class":555,"line":1479},[52579,52584,52589,52594,52598,52603,52608],{"type":426,"tag":553,"props":52580,"children":52581},{"style":795},[52582],{"type":431,"value":52583},"  await",{"type":426,"tag":553,"props":52585,"children":52586},{"style":684},[52587],{"type":431,"value":52588}," s3.",{"type":426,"tag":553,"props":52590,"children":52591},{"style":560},[52592],{"type":431,"value":52593},"send",{"type":426,"tag":553,"props":52595,"children":52596},{"style":684},[52597],{"type":431,"value":3275},{"type":426,"tag":553,"props":52599,"children":52600},{"style":795},[52601],{"type":431,"value":52602},"new",{"type":426,"tag":553,"props":52604,"children":52605},{"style":560},[52606],{"type":431,"value":52607}," PutObjectCommand",{"type":426,"tag":553,"props":52609,"children":52610},{"style":684},[52611],{"type":431,"value":52612},"({\n",{"type":426,"tag":553,"props":52614,"children":52615},{"class":555,"line":1517},[52616,52621,52626],{"type":426,"tag":553,"props":52617,"children":52618},{"style":684},[52619],{"type":431,"value":52620},"    Bucket: ",{"type":426,"tag":553,"props":52622,"children":52623},{"style":566},[52624],{"type":431,"value":52625},"BUCKET_NAME",{"type":426,"tag":553,"props":52627,"children":52628},{"style":684},[52629],{"type":431,"value":710},{"type":426,"tag":553,"props":52631,"children":52632},{"class":555,"line":1560},[52633],{"type":426,"tag":553,"props":52634,"children":52635},{"style":684},[52636],{"type":431,"value":52637},"    Key: key,\n",{"type":426,"tag":553,"props":52639,"children":52640},{"class":555,"line":1598},[52641],{"type":426,"tag":553,"props":52642,"children":52643},{"style":684},[52644],{"type":431,"value":52645},"    Body: buffer,\n",{"type":426,"tag":553,"props":52647,"children":52648},{"class":555,"line":1636},[52649,52654,52658],{"type":426,"tag":553,"props":52650,"children":52651},{"style":684},[52652],{"type":431,"value":52653},"    ContentType: ",{"type":426,"tag":553,"props":52655,"children":52656},{"style":572},[52657],{"type":431,"value":50393},{"type":426,"tag":553,"props":52659,"children":52660},{"style":684},[52661],{"type":431,"value":710},{"type":426,"tag":553,"props":52663,"children":52664},{"class":555,"line":1645},[52665,52670],{"type":426,"tag":553,"props":52666,"children":52667},{"style":684},[52668],{"type":431,"value":52669},"    ACL: ",{"type":426,"tag":553,"props":52671,"children":52672},{"style":572},[52673],{"type":431,"value":50414},{"type":426,"tag":553,"props":52675,"children":52676},{"class":555,"line":1653},[52677],{"type":426,"tag":553,"props":52678,"children":52679},{"style":684},[52680],{"type":431,"value":52681},"  }));\n",{"type":426,"tag":553,"props":52683,"children":52684},{"class":555,"line":1667},[52685],{"type":426,"tag":553,"props":52686,"children":52687},{"style":684},[52688],{"type":431,"value":52575},{"type":426,"tag":553,"props":52690,"children":52691},{"class":555,"line":1680},[52692,52696,52701,52705,52710,52714,52719],{"type":426,"tag":553,"props":52693,"children":52694},{"style":795},[52695],{"type":431,"value":52393},{"type":426,"tag":553,"props":52697,"children":52698},{"style":572},[52699],{"type":431,"value":52700}," `https:\u002F\u002F${",{"type":426,"tag":553,"props":52702,"children":52703},{"style":566},[52704],{"type":431,"value":52625},{"type":426,"tag":553,"props":52706,"children":52707},{"style":572},[52708],{"type":431,"value":52709},"}.s3.amazonaws.com\u002F${",{"type":426,"tag":553,"props":52711,"children":52712},{"style":684},[52713],{"type":431,"value":50471},{"type":426,"tag":553,"props":52715,"children":52716},{"style":572},[52717],{"type":431,"value":52718},"}`",{"type":426,"tag":553,"props":52720,"children":52721},{"style":684},[52722],{"type":431,"value":52321},{"type":426,"tag":553,"props":52724,"children":52725},{"class":555,"line":1740},[52726],{"type":426,"tag":553,"props":52727,"children":52728},{"style":684},[52729],{"type":431,"value":756},{"type":426,"tag":553,"props":52731,"children":52732},{"class":555,"line":1787},[52733],{"type":426,"tag":553,"props":52734,"children":52735},{"emptyLinePlaceholder":831},[52736],{"type":431,"value":834},{"type":426,"tag":553,"props":52738,"children":52739},{"class":555,"line":1796},[52740,52744,52748,52753,52757,52762],{"type":426,"tag":553,"props":52741,"children":52742},{"style":795},[52743],{"type":431,"value":52361},{"type":426,"tag":553,"props":52745,"children":52746},{"style":795},[52747],{"type":431,"value":52366},{"type":426,"tag":553,"props":52749,"children":52750},{"style":560},[52751],{"type":431,"value":52752}," sendTicketWhatsApp",{"type":426,"tag":553,"props":52754,"children":52755},{"style":684},[52756],{"type":431,"value":3275},{"type":426,"tag":553,"props":52758,"children":52759},{"style":1684},[52760],{"type":431,"value":52761},"ticket",{"type":426,"tag":553,"props":52763,"children":52764},{"style":684},[52765],{"type":431,"value":52385},{"type":426,"tag":553,"props":52767,"children":52768},{"class":555,"line":1804},[52769,52773,52777,52781,52785,52790,52794,52799,52803,52808,52812,52817,52821,52825,52829,52834,52838,52842],{"type":426,"tag":553,"props":52770,"children":52771},{"style":795},[52772],{"type":431,"value":52540},{"type":426,"tag":553,"props":52774,"children":52775},{"style":684},[52776],{"type":431,"value":52174},{"type":426,"tag":553,"props":52778,"children":52779},{"style":566},[52780],{"type":431,"value":37598},{"type":426,"tag":553,"props":52782,"children":52783},{"style":684},[52784],{"type":431,"value":1907},{"type":426,"tag":553,"props":52786,"children":52787},{"style":566},[52788],{"type":431,"value":52789},"customerName",{"type":426,"tag":553,"props":52791,"children":52792},{"style":684},[52793],{"type":431,"value":1907},{"type":426,"tag":553,"props":52795,"children":52796},{"style":566},[52797],{"type":431,"value":52798},"eventName",{"type":426,"tag":553,"props":52800,"children":52801},{"style":684},[52802],{"type":431,"value":1907},{"type":426,"tag":553,"props":52804,"children":52805},{"style":566},[52806],{"type":431,"value":52807},"eventDate",{"type":426,"tag":553,"props":52809,"children":52810},{"style":684},[52811],{"type":431,"value":1907},{"type":426,"tag":553,"props":52813,"children":52814},{"style":566},[52815],{"type":431,"value":52816},"location",{"type":426,"tag":553,"props":52818,"children":52819},{"style":684},[52820],{"type":431,"value":1907},{"type":426,"tag":553,"props":52822,"children":52823},{"style":566},[52824],{"type":431,"value":52528},{"type":426,"tag":553,"props":52826,"children":52827},{"style":684},[52828],{"type":431,"value":1907},{"type":426,"tag":553,"props":52830,"children":52831},{"style":566},[52832],{"type":431,"value":52833},"imageUrl",{"type":426,"tag":553,"props":52835,"children":52836},{"style":684},[52837],{"type":431,"value":52193},{"type":426,"tag":553,"props":52839,"children":52840},{"style":795},[52841],{"type":431,"value":957},{"type":426,"tag":553,"props":52843,"children":52844},{"style":684},[52845],{"type":431,"value":52846}," ticket;\n",{"type":426,"tag":553,"props":52848,"children":52849},{"class":555,"line":1812},[52850],{"type":426,"tag":553,"props":52851,"children":52852},{"style":684},[52853],{"type":431,"value":52575},{"type":426,"tag":553,"props":52855,"children":52856},{"class":555,"line":1847},[52857,52861,52866,52870,52875,52879,52884],{"type":426,"tag":553,"props":52858,"children":52859},{"style":795},[52860],{"type":431,"value":52540},{"type":426,"tag":553,"props":52862,"children":52863},{"style":566},[52864],{"type":431,"value":52865}," caption",{"type":426,"tag":553,"props":52867,"children":52868},{"style":795},[52869],{"type":431,"value":8739},{"type":426,"tag":553,"props":52871,"children":52872},{"style":572},[52873],{"type":431,"value":52874}," `🎫 Ticket Confirmed!",{"type":426,"tag":553,"props":52876,"children":52877},{"style":566},[52878],{"type":431,"value":1295},{"type":426,"tag":553,"props":52880,"children":52881},{"style":572},[52882],{"type":431,"value":52883},"`",{"type":426,"tag":553,"props":52885,"children":52886},{"style":795},[52887],{"type":431,"value":52888}," +\n",{"type":426,"tag":553,"props":52890,"children":52891},{"class":555,"line":1856},[52892,52897,52901,52906,52910,52914],{"type":426,"tag":553,"props":52893,"children":52894},{"style":572},[52895],{"type":431,"value":52896},"    `Hi ${",{"type":426,"tag":553,"props":52898,"children":52899},{"style":684},[52900],{"type":431,"value":52789},{"type":426,"tag":553,"props":52902,"children":52903},{"style":572},[52904],{"type":431,"value":52905},"}!",{"type":426,"tag":553,"props":52907,"children":52908},{"style":566},[52909],{"type":431,"value":1295},{"type":426,"tag":553,"props":52911,"children":52912},{"style":572},[52913],{"type":431,"value":52883},{"type":426,"tag":553,"props":52915,"children":52916},{"style":795},[52917],{"type":431,"value":52888},{"type":426,"tag":553,"props":52919,"children":52920},{"class":555,"line":1874},[52921,52926,52930,52935,52939,52943],{"type":426,"tag":553,"props":52922,"children":52923},{"style":572},[52924],{"type":431,"value":52925},"    `📅 *${",{"type":426,"tag":553,"props":52927,"children":52928},{"style":684},[52929],{"type":431,"value":52798},{"type":426,"tag":553,"props":52931,"children":52932},{"style":572},[52933],{"type":431,"value":52934},"}*",{"type":426,"tag":553,"props":52936,"children":52937},{"style":566},[52938],{"type":431,"value":3661},{"type":426,"tag":553,"props":52940,"children":52941},{"style":572},[52942],{"type":431,"value":52883},{"type":426,"tag":553,"props":52944,"children":52945},{"style":795},[52946],{"type":431,"value":52888},{"type":426,"tag":553,"props":52948,"children":52949},{"class":555,"line":1882},[52950,52955,52959,52963,52967,52971],{"type":426,"tag":553,"props":52951,"children":52952},{"style":572},[52953],{"type":431,"value":52954},"    `🗓️ ${",{"type":426,"tag":553,"props":52956,"children":52957},{"style":684},[52958],{"type":431,"value":52807},{"type":426,"tag":553,"props":52960,"children":52961},{"style":572},[52962],{"type":431,"value":982},{"type":426,"tag":553,"props":52964,"children":52965},{"style":566},[52966],{"type":431,"value":3661},{"type":426,"tag":553,"props":52968,"children":52969},{"style":572},[52970],{"type":431,"value":52883},{"type":426,"tag":553,"props":52972,"children":52973},{"style":795},[52974],{"type":431,"value":52888},{"type":426,"tag":553,"props":52976,"children":52977},{"class":555,"line":1981},[52978,52983,52987,52991,52995,52999],{"type":426,"tag":553,"props":52979,"children":52980},{"style":572},[52981],{"type":431,"value":52982},"    `📍 ${",{"type":426,"tag":553,"props":52984,"children":52985},{"style":684},[52986],{"type":431,"value":52816},{"type":426,"tag":553,"props":52988,"children":52989},{"style":572},[52990],{"type":431,"value":982},{"type":426,"tag":553,"props":52992,"children":52993},{"style":566},[52994],{"type":431,"value":3661},{"type":426,"tag":553,"props":52996,"children":52997},{"style":572},[52998],{"type":431,"value":52883},{"type":426,"tag":553,"props":53000,"children":53001},{"style":795},[53002],{"type":431,"value":52888},{"type":426,"tag":553,"props":53004,"children":53005},{"class":555,"line":1989},[53006,53011,53015,53019,53023,53027],{"type":426,"tag":553,"props":53007,"children":53008},{"style":572},[53009],{"type":431,"value":53010},"    `🎟️ Ref: ${",{"type":426,"tag":553,"props":53012,"children":53013},{"style":684},[53014],{"type":431,"value":52528},{"type":426,"tag":553,"props":53016,"children":53017},{"style":572},[53018],{"type":431,"value":982},{"type":426,"tag":553,"props":53020,"children":53021},{"style":566},[53022],{"type":431,"value":1295},{"type":426,"tag":553,"props":53024,"children":53025},{"style":572},[53026],{"type":431,"value":52883},{"type":426,"tag":553,"props":53028,"children":53029},{"style":795},[53030],{"type":431,"value":52888},{"type":426,"tag":553,"props":53032,"children":53033},{"class":555,"line":2013},[53034,53039],{"type":426,"tag":553,"props":53035,"children":53036},{"style":572},[53037],{"type":431,"value":53038},"    `Show this QR code at the entrance. See you there! 🎉`",{"type":426,"tag":553,"props":53040,"children":53041},{"style":684},[53042],{"type":431,"value":52321},{"type":426,"tag":553,"props":53044,"children":53045},{"class":555,"line":2055},[53046],{"type":426,"tag":553,"props":53047,"children":53048},{"style":684},[53049],{"type":431,"value":52575},{"type":426,"tag":553,"props":53051,"children":53052},{"class":555,"line":2064},[53053,53057,53062,53066,53071,53075,53079,53084],{"type":426,"tag":553,"props":53054,"children":53055},{"style":795},[53056],{"type":431,"value":52540},{"type":426,"tag":553,"props":53058,"children":53059},{"style":566},[53060],{"type":431,"value":53061}," response",{"type":426,"tag":553,"props":53063,"children":53064},{"style":795},[53065],{"type":431,"value":8739},{"type":426,"tag":553,"props":53067,"children":53068},{"style":795},[53069],{"type":431,"value":53070}," await",{"type":426,"tag":553,"props":53072,"children":53073},{"style":560},[53074],{"type":431,"value":52226},{"type":426,"tag":553,"props":53076,"children":53077},{"style":684},[53078],{"type":431,"value":3275},{"type":426,"tag":553,"props":53080,"children":53081},{"style":572},[53082],{"type":431,"value":53083},"'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image'",{"type":426,"tag":553,"props":53085,"children":53086},{"style":684},[53087],{"type":431,"value":53088},", {\n",{"type":426,"tag":553,"props":53090,"children":53091},{"class":555,"line":2087},[53092,53097,53101],{"type":426,"tag":553,"props":53093,"children":53094},{"style":684},[53095],{"type":431,"value":53096},"    method: ",{"type":426,"tag":553,"props":53098,"children":53099},{"style":572},[53100],{"type":431,"value":8056},{"type":426,"tag":553,"props":53102,"children":53103},{"style":684},[53104],{"type":431,"value":710},{"type":426,"tag":553,"props":53106,"children":53107},{"class":555,"line":2096},[53108],{"type":426,"tag":553,"props":53109,"children":53110},{"style":684},[53111],{"type":431,"value":53112},"    headers: {\n",{"type":426,"tag":553,"props":53114,"children":53115},{"class":555,"line":2105},[53116,53121,53125,53130,53134,53138],{"type":426,"tag":553,"props":53117,"children":53118},{"style":572},[53119],{"type":431,"value":53120},"      'Authorization'",{"type":426,"tag":553,"props":53122,"children":53123},{"style":684},[53124],{"type":431,"value":700},{"type":426,"tag":553,"props":53126,"children":53127},{"style":572},[53128],{"type":431,"value":53129},"`Bearer ${",{"type":426,"tag":553,"props":53131,"children":53132},{"style":566},[53133],{"type":431,"value":7156},{"type":426,"tag":553,"props":53135,"children":53136},{"style":572},[53137],{"type":431,"value":52718},{"type":426,"tag":553,"props":53139,"children":53140},{"style":684},[53141],{"type":431,"value":710},{"type":426,"tag":553,"props":53143,"children":53144},{"class":555,"line":2114},[53145,53150,53154],{"type":426,"tag":553,"props":53146,"children":53147},{"style":572},[53148],{"type":431,"value":53149},"      'Content-Type'",{"type":426,"tag":553,"props":53151,"children":53152},{"style":684},[53153],{"type":431,"value":700},{"type":426,"tag":553,"props":53155,"children":53156},{"style":572},[53157],{"type":431,"value":53158},"'application\u002Fjson'\n",{"type":426,"tag":553,"props":53160,"children":53161},{"class":555,"line":2123},[53162],{"type":426,"tag":553,"props":53163,"children":53164},{"style":684},[53165],{"type":431,"value":17203},{"type":426,"tag":553,"props":53167,"children":53168},{"class":555,"line":2132},[53169,53174,53179,53183,53188],{"type":426,"tag":553,"props":53170,"children":53171},{"style":684},[53172],{"type":431,"value":53173},"    body: ",{"type":426,"tag":553,"props":53175,"children":53176},{"style":566},[53177],{"type":431,"value":53178},"JSON",{"type":426,"tag":553,"props":53180,"children":53181},{"style":684},[53182],{"type":431,"value":6789},{"type":426,"tag":553,"props":53184,"children":53185},{"style":560},[53186],{"type":431,"value":53187},"stringify",{"type":426,"tag":553,"props":53189,"children":53190},{"style":684},[53191],{"type":431,"value":53192},"({ number: phone, imageUrl, caption })\n",{"type":426,"tag":553,"props":53194,"children":53195},{"class":555,"line":2151},[53196],{"type":426,"tag":553,"props":53197,"children":53198},{"style":684},[53199],{"type":431,"value":52480},{"type":426,"tag":553,"props":53201,"children":53202},{"class":555,"line":2160},[53203],{"type":426,"tag":553,"props":53204,"children":53205},{"style":684},[53206],{"type":431,"value":52575},{"type":426,"tag":553,"props":53208,"children":53209},{"class":555,"line":2174},[53210,53214,53219,53223],{"type":426,"tag":553,"props":53211,"children":53212},{"style":795},[53213],{"type":431,"value":52393},{"type":426,"tag":553,"props":53215,"children":53216},{"style":684},[53217],{"type":431,"value":53218}," response.",{"type":426,"tag":553,"props":53220,"children":53221},{"style":560},[53222],{"type":431,"value":673},{"type":426,"tag":553,"props":53224,"children":53225},{"style":684},[53226],{"type":431,"value":53227},"();\n",{"type":426,"tag":553,"props":53229,"children":53230},{"class":555,"line":2182},[53231],{"type":426,"tag":553,"props":53232,"children":53233},{"style":684},[53234],{"type":431,"value":756},{"type":426,"tag":553,"props":53236,"children":53237},{"class":555,"line":2205},[53238],{"type":426,"tag":553,"props":53239,"children":53240},{"emptyLinePlaceholder":831},[53241],{"type":431,"value":834},{"type":426,"tag":553,"props":53243,"children":53244},{"class":555,"line":2241},[53245,53249,53253,53258,53262,53267],{"type":426,"tag":553,"props":53246,"children":53247},{"style":795},[53248],{"type":431,"value":52361},{"type":426,"tag":553,"props":53250,"children":53251},{"style":795},[53252],{"type":431,"value":52366},{"type":426,"tag":553,"props":53254,"children":53255},{"style":560},[53256],{"type":431,"value":53257}," processTicketPurchase",{"type":426,"tag":553,"props":53259,"children":53260},{"style":684},[53261],{"type":431,"value":3275},{"type":426,"tag":553,"props":53263,"children":53264},{"style":1684},[53265],{"type":431,"value":53266},"purchase",{"type":426,"tag":553,"props":53268,"children":53269},{"style":684},[53270],{"type":431,"value":52385},{"type":426,"tag":553,"props":53272,"children":53273},{"class":555,"line":2250},[53274,53278,53283,53287,53292,53297,53302,53307,53312,53317,53321,53326,53331,53336,53340,53344,53348,53352,53356,53361],{"type":426,"tag":553,"props":53275,"children":53276},{"style":795},[53277],{"type":431,"value":52540},{"type":426,"tag":553,"props":53279,"children":53280},{"style":566},[53281],{"type":431,"value":53282}," ticketId",{"type":426,"tag":553,"props":53284,"children":53285},{"style":795},[53286],{"type":431,"value":8739},{"type":426,"tag":553,"props":53288,"children":53289},{"style":684},[53290],{"type":431,"value":53291}," purchase.ticketId ",{"type":426,"tag":553,"props":53293,"children":53294},{"style":795},[53295],{"type":431,"value":53296},"||",{"type":426,"tag":553,"props":53298,"children":53299},{"style":684},[53300],{"type":431,"value":53301}," Math.",{"type":426,"tag":553,"props":53303,"children":53304},{"style":560},[53305],{"type":431,"value":53306},"random",{"type":426,"tag":553,"props":53308,"children":53309},{"style":684},[53310],{"type":431,"value":53311},"().",{"type":426,"tag":553,"props":53313,"children":53314},{"style":560},[53315],{"type":431,"value":53316},"toString",{"type":426,"tag":553,"props":53318,"children":53319},{"style":684},[53320],{"type":431,"value":3275},{"type":426,"tag":553,"props":53322,"children":53323},{"style":566},[53324],{"type":431,"value":53325},"36",{"type":426,"tag":553,"props":53327,"children":53328},{"style":684},[53329],{"type":431,"value":53330},").",{"type":426,"tag":553,"props":53332,"children":53333},{"style":560},[53334],{"type":431,"value":53335},"slice",{"type":426,"tag":553,"props":53337,"children":53338},{"style":684},[53339],{"type":431,"value":3275},{"type":426,"tag":553,"props":53341,"children":53342},{"style":566},[53343],{"type":431,"value":6533},{"type":426,"tag":553,"props":53345,"children":53346},{"style":684},[53347],{"type":431,"value":1907},{"type":426,"tag":553,"props":53349,"children":53350},{"style":566},[53351],{"type":431,"value":11479},{"type":426,"tag":553,"props":53353,"children":53354},{"style":684},[53355],{"type":431,"value":53330},{"type":426,"tag":553,"props":53357,"children":53358},{"style":560},[53359],{"type":431,"value":53360},"toUpperCase",{"type":426,"tag":553,"props":53362,"children":53363},{"style":684},[53364],{"type":431,"value":53227},{"type":426,"tag":553,"props":53366,"children":53367},{"class":555,"line":2302},[53368,53372,53377,53381,53386,53390,53395,53399,53403,53407,53412,53416,53420,53424,53428],{"type":426,"tag":553,"props":53369,"children":53370},{"style":795},[53371],{"type":431,"value":52540},{"type":426,"tag":553,"props":53373,"children":53374},{"style":566},[53375],{"type":431,"value":53376}," qrData",{"type":426,"tag":553,"props":53378,"children":53379},{"style":795},[53380],{"type":431,"value":8739},{"type":426,"tag":553,"props":53382,"children":53383},{"style":572},[53384],{"type":431,"value":53385}," `TICKET:${",{"type":426,"tag":553,"props":53387,"children":53388},{"style":684},[53389],{"type":431,"value":52528},{"type":426,"tag":553,"props":53391,"children":53392},{"style":572},[53393],{"type":431,"value":53394},"}|EVENT:${",{"type":426,"tag":553,"props":53396,"children":53397},{"style":684},[53398],{"type":431,"value":53266},{"type":426,"tag":553,"props":53400,"children":53401},{"style":572},[53402],{"type":431,"value":6789},{"type":426,"tag":553,"props":53404,"children":53405},{"style":684},[53406],{"type":431,"value":52798},{"type":426,"tag":553,"props":53408,"children":53409},{"style":572},[53410],{"type":431,"value":53411},"}|DATE:${",{"type":426,"tag":553,"props":53413,"children":53414},{"style":684},[53415],{"type":431,"value":53266},{"type":426,"tag":553,"props":53417,"children":53418},{"style":572},[53419],{"type":431,"value":6789},{"type":426,"tag":553,"props":53421,"children":53422},{"style":684},[53423],{"type":431,"value":52807},{"type":426,"tag":553,"props":53425,"children":53426},{"style":572},[53427],{"type":431,"value":52718},{"type":426,"tag":553,"props":53429,"children":53430},{"style":684},[53431],{"type":431,"value":52321},{"type":426,"tag":553,"props":53433,"children":53434},{"class":555,"line":2353},[53435],{"type":426,"tag":553,"props":53436,"children":53437},{"style":684},[53438],{"type":431,"value":52575},{"type":426,"tag":553,"props":53440,"children":53441},{"class":555,"line":2390},[53442,53446,53451,53455,53459,53463],{"type":426,"tag":553,"props":53443,"children":53444},{"style":795},[53445],{"type":431,"value":52540},{"type":426,"tag":553,"props":53447,"children":53448},{"style":566},[53449],{"type":431,"value":53450}," qrBuffer",{"type":426,"tag":553,"props":53452,"children":53453},{"style":795},[53454],{"type":431,"value":8739},{"type":426,"tag":553,"props":53456,"children":53457},{"style":795},[53458],{"type":431,"value":53070},{"type":426,"tag":553,"props":53460,"children":53461},{"style":560},[53462],{"type":431,"value":52371},{"type":426,"tag":553,"props":53464,"children":53465},{"style":684},[53466],{"type":431,"value":53467},"(qrData);\n",{"type":426,"tag":553,"props":53469,"children":53470},{"class":555,"line":2440},[53471,53475,53480,53484,53488,53492],{"type":426,"tag":553,"props":53472,"children":53473},{"style":795},[53474],{"type":431,"value":52540},{"type":426,"tag":553,"props":53476,"children":53477},{"style":566},[53478],{"type":431,"value":53479}," imageUrl",{"type":426,"tag":553,"props":53481,"children":53482},{"style":795},[53483],{"type":431,"value":8739},{"type":426,"tag":553,"props":53485,"children":53486},{"style":795},[53487],{"type":431,"value":53070},{"type":426,"tag":553,"props":53489,"children":53490},{"style":560},[53491],{"type":431,"value":52510},{"type":426,"tag":553,"props":53493,"children":53494},{"style":684},[53495],{"type":431,"value":53496},"(qrBuffer, ticketId);\n",{"type":426,"tag":553,"props":53498,"children":53499},{"class":555,"line":2488},[53500,53504,53509,53513,53517,53521,53526,53530],{"type":426,"tag":553,"props":53501,"children":53502},{"style":795},[53503],{"type":431,"value":52540},{"type":426,"tag":553,"props":53505,"children":53506},{"style":566},[53507],{"type":431,"value":53508}," result",{"type":426,"tag":553,"props":53510,"children":53511},{"style":795},[53512],{"type":431,"value":8739},{"type":426,"tag":553,"props":53514,"children":53515},{"style":795},[53516],{"type":431,"value":53070},{"type":426,"tag":553,"props":53518,"children":53519},{"style":560},[53520],{"type":431,"value":52752},{"type":426,"tag":553,"props":53522,"children":53523},{"style":684},[53524],{"type":431,"value":53525},"({ ",{"type":426,"tag":553,"props":53527,"children":53528},{"style":795},[53529],{"type":431,"value":46438},{"type":426,"tag":553,"props":53531,"children":53532},{"style":684},[53533],{"type":431,"value":53534},"purchase, ticketId, imageUrl });\n",{"type":426,"tag":553,"props":53536,"children":53537},{"class":555,"line":2509},[53538],{"type":426,"tag":553,"props":53539,"children":53540},{"style":684},[53541],{"type":431,"value":52575},{"type":426,"tag":553,"props":53543,"children":53544},{"class":555,"line":2527},[53545,53549],{"type":426,"tag":553,"props":53546,"children":53547},{"style":795},[53548],{"type":431,"value":52393},{"type":426,"tag":553,"props":53550,"children":53551},{"style":684},[53552],{"type":431,"value":53553}," { ticketId, imageUrl, whatsappResult: result };\n",{"type":426,"tag":553,"props":53555,"children":53556},{"class":555,"line":2545},[53557],{"type":426,"tag":553,"props":53558,"children":53559},{"style":684},[53560],{"type":431,"value":756},{"type":426,"tag":553,"props":53562,"children":53563},{"class":555,"line":12991},[53564],{"type":426,"tag":553,"props":53565,"children":53566},{"emptyLinePlaceholder":831},[53567],{"type":431,"value":834},{"type":426,"tag":553,"props":53569,"children":53570},{"class":555,"line":13004},[53571],{"type":426,"tag":553,"props":53572,"children":53573},{"style":1975},[53574],{"type":431,"value":53575},"\u002F\u002F Usage\n",{"type":426,"tag":553,"props":53577,"children":53578},{"class":555,"line":13012},[53579,53584],{"type":426,"tag":553,"props":53580,"children":53581},{"style":560},[53582],{"type":431,"value":53583},"processTicketPurchase",{"type":426,"tag":553,"props":53585,"children":53586},{"style":684},[53587],{"type":431,"value":52612},{"type":426,"tag":553,"props":53589,"children":53590},{"class":555,"line":13025},[53591,53596,53601],{"type":426,"tag":553,"props":53592,"children":53593},{"style":684},[53594],{"type":431,"value":53595},"  ticketId: ",{"type":426,"tag":553,"props":53597,"children":53598},{"style":572},[53599],{"type":431,"value":53600},"'TKT-001'",{"type":426,"tag":553,"props":53602,"children":53603},{"style":684},[53604],{"type":431,"value":710},{"type":426,"tag":553,"props":53606,"children":53607},{"class":555,"line":13033},[53608,53613,53617],{"type":426,"tag":553,"props":53609,"children":53610},{"style":684},[53611],{"type":431,"value":53612},"  phone: ",{"type":426,"tag":553,"props":53614,"children":53615},{"style":572},[53616],{"type":431,"value":10197},{"type":426,"tag":553,"props":53618,"children":53619},{"style":684},[53620],{"type":431,"value":710},{"type":426,"tag":553,"props":53622,"children":53623},{"class":555,"line":13069},[53624,53629,53633],{"type":426,"tag":553,"props":53625,"children":53626},{"style":684},[53627],{"type":431,"value":53628},"  customerName: ",{"type":426,"tag":553,"props":53630,"children":53631},{"style":572},[53632],{"type":431,"value":51804},{"type":426,"tag":553,"props":53634,"children":53635},{"style":684},[53636],{"type":431,"value":710},{"type":426,"tag":553,"props":53638,"children":53639},{"class":555,"line":13089},[53640,53645,53649],{"type":426,"tag":553,"props":53641,"children":53642},{"style":684},[53643],{"type":431,"value":53644},"  eventName: ",{"type":426,"tag":553,"props":53646,"children":53647},{"style":572},[53648],{"type":431,"value":51847},{"type":426,"tag":553,"props":53650,"children":53651},{"style":684},[53652],{"type":431,"value":710},{"type":426,"tag":553,"props":53654,"children":53655},{"class":555,"line":13102},[53656,53661,53666],{"type":426,"tag":553,"props":53657,"children":53658},{"style":684},[53659],{"type":431,"value":53660},"  eventDate: ",{"type":426,"tag":553,"props":53662,"children":53663},{"style":572},[53664],{"type":431,"value":53665},"'July 15, 2026'",{"type":426,"tag":553,"props":53667,"children":53668},{"style":684},[53669],{"type":431,"value":710},{"type":426,"tag":553,"props":53671,"children":53672},{"class":555,"line":13111},[53673,53678],{"type":426,"tag":553,"props":53674,"children":53675},{"style":684},[53676],{"type":431,"value":53677},"  location: ",{"type":426,"tag":553,"props":53679,"children":53680},{"style":572},[53681],{"type":431,"value":53682},"'Dhaka Convention Centre'\n",{"type":426,"tag":553,"props":53684,"children":53685},{"class":555,"line":13120},[53686,53691,53696,53700,53705,53710,53715,53720,53724,53729],{"type":426,"tag":553,"props":53687,"children":53688},{"style":684},[53689],{"type":431,"value":53690},"}).",{"type":426,"tag":553,"props":53692,"children":53693},{"style":560},[53694],{"type":431,"value":53695},"then",{"type":426,"tag":553,"props":53697,"children":53698},{"style":684},[53699],{"type":431,"value":3275},{"type":426,"tag":553,"props":53701,"children":53702},{"style":1684},[53703],{"type":431,"value":53704},"result",{"type":426,"tag":553,"props":53706,"children":53707},{"style":795},[53708],{"type":431,"value":53709}," =>",{"type":426,"tag":553,"props":53711,"children":53712},{"style":684},[53713],{"type":431,"value":53714}," console.",{"type":426,"tag":553,"props":53716,"children":53717},{"style":560},[53718],{"type":431,"value":53719},"log",{"type":426,"tag":553,"props":53721,"children":53722},{"style":684},[53723],{"type":431,"value":3275},{"type":426,"tag":553,"props":53725,"children":53726},{"style":572},[53727],{"type":431,"value":53728},"'Ticket sent:'",{"type":426,"tag":553,"props":53730,"children":53731},{"style":684},[53732],{"type":431,"value":53733},", result));\n",{"type":426,"tag":427,"props":53735,"children":53736},{},[53737],{"type":426,"tag":446,"props":53738,"children":53739},{},[53740],{"type":431,"value":53741},"Test cURL to verify your API key:",{"type":426,"tag":542,"props":53743,"children":53745},{"className":546,"code":53744,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"imageUrl\": \"https:\u002F\u002Fapi.qrserver.com\u002Fv1\u002Fcreate-qr-code\u002F?size=300x300&data=TEST-TICKET-001\",\n    \"caption\": \"🎫 Test Ticket — TechConf 2026\\nRef: TEST-TICKET-001\\nShow this QR at the entrance!\"\n  }'\n",[53746],{"type":426,"tag":549,"props":53747,"children":53748},{"__ignoreMap":417},[53749,53773,53788,53803,53814,53821,53829,53837],{"type":426,"tag":553,"props":53750,"children":53751},{"class":555,"line":556},[53752,53756,53760,53764,53769],{"type":426,"tag":553,"props":53753,"children":53754},{"style":560},[53755],{"type":431,"value":563},{"type":426,"tag":553,"props":53757,"children":53758},{"style":566},[53759],{"type":431,"value":569},{"type":426,"tag":553,"props":53761,"children":53762},{"style":572},[53763],{"type":431,"value":575},{"type":426,"tag":553,"props":53765,"children":53766},{"style":572},[53767],{"type":431,"value":53768}," https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image",{"type":426,"tag":553,"props":53770,"children":53771},{"style":566},[53772],{"type":431,"value":585},{"type":426,"tag":553,"props":53774,"children":53775},{"class":555,"line":588},[53776,53780,53784],{"type":426,"tag":553,"props":53777,"children":53778},{"style":566},[53779],{"type":431,"value":594},{"type":426,"tag":553,"props":53781,"children":53782},{"style":572},[53783],{"type":431,"value":599},{"type":426,"tag":553,"props":53785,"children":53786},{"style":566},[53787],{"type":431,"value":585},{"type":426,"tag":553,"props":53789,"children":53790},{"class":555,"line":606},[53791,53795,53799],{"type":426,"tag":553,"props":53792,"children":53793},{"style":566},[53794],{"type":431,"value":594},{"type":426,"tag":553,"props":53796,"children":53797},{"style":572},[53798],{"type":431,"value":616},{"type":426,"tag":553,"props":53800,"children":53801},{"style":566},[53802],{"type":431,"value":585},{"type":426,"tag":553,"props":53804,"children":53805},{"class":555,"line":623},[53806,53810],{"type":426,"tag":553,"props":53807,"children":53808},{"style":566},[53809],{"type":431,"value":629},{"type":426,"tag":553,"props":53811,"children":53812},{"style":572},[53813],{"type":431,"value":634},{"type":426,"tag":553,"props":53815,"children":53816},{"class":555,"line":637},[53817],{"type":426,"tag":553,"props":53818,"children":53819},{"style":572},[53820],{"type":431,"value":643},{"type":426,"tag":553,"props":53822,"children":53823},{"class":555,"line":646},[53824],{"type":426,"tag":553,"props":53825,"children":53826},{"style":572},[53827],{"type":431,"value":53828},"    \"imageUrl\": \"https:\u002F\u002Fapi.qrserver.com\u002Fv1\u002Fcreate-qr-code\u002F?size=300x300&data=TEST-TICKET-001\",\n",{"type":426,"tag":553,"props":53830,"children":53831},{"class":555,"line":655},[53832],{"type":426,"tag":553,"props":53833,"children":53834},{"style":572},[53835],{"type":431,"value":53836},"    \"caption\": \"🎫 Test Ticket — TechConf 2026\\nRef: TEST-TICKET-001\\nShow this QR at the entrance!\"\n",{"type":426,"tag":553,"props":53838,"children":53839},{"class":555,"line":1036},[53840],{"type":426,"tag":553,"props":53841,"children":53842},{"style":572},[53843],{"type":431,"value":661},{"type":426,"tag":434,"props":53845,"children":53847},{"id":53846},"ticket-scanning-at-the-event",[53848],{"type":431,"value":53849},"Ticket Scanning at the Event",{"type":426,"tag":427,"props":53851,"children":53852},{},[53853],{"type":431,"value":53854},"To validate QR codes at the entrance, build a scanner app:",{"type":426,"tag":542,"props":53856,"children":53858},{"className":785,"code":53857,"language":784,"meta":417,"style":417},"# scanner.py — run on a tablet\u002Fphone at the entrance\nimport cv2\nimport requests\n\ndef scan_and_validate(ticket_api_url: str, api_key: str):\n    \"\"\"Camera-based QR code scanner and validator.\"\"\"\n    cap = cv2.VideoCapture(0)\n    detector = cv2.QRCodeDetector()\n    scanned = set()  # Prevent re-scans\n    \n    while True:\n        _, img = cap.read()\n        data, _, _ = detector.detectAndDecode(img)\n        \n        if data and data not in scanned:\n            # Validate against your API\n            response = requests.post(\n                f\"{ticket_api_url}\u002Fvalidate\",\n                headers={\"Authorization\": f\"Bearer {api_key}\"},\n                json={\"qr_data\": data}\n            )\n            result = response.json()\n            \n            if result['valid']:\n                print(f\"✅ VALID — {result['customer_name']}: {data}\")\n                scanned.add(data)\n            else:\n                print(f\"❌ INVALID or ALREADY USED: {data}\")\n        \n        cv2.imshow('Ticket Scanner', img)\n        if cv2.waitKey(1) == ord('q'):\n            break\n    \n    cap.release()\n",[53859],{"type":426,"tag":549,"props":53860,"children":53861},{"__ignoreMap":417},[53862,53870,53882,53893,53900,53933,53941,53966,53983,54010,54017,54033,54050,54067,54074,54110,54118,54133,54166,54217,54242,54249,54264,54271,54291,54357,54365,54376,54416,54423,54441,54483,54491,54498],{"type":426,"tag":553,"props":53863,"children":53864},{"class":555,"line":556},[53865],{"type":426,"tag":553,"props":53866,"children":53867},{"style":1975},[53868],{"type":431,"value":53869},"# scanner.py — run on a tablet\u002Fphone at the entrance\n",{"type":426,"tag":553,"props":53871,"children":53872},{"class":555,"line":588},[53873,53877],{"type":426,"tag":553,"props":53874,"children":53875},{"style":795},[53876],{"type":431,"value":798},{"type":426,"tag":553,"props":53878,"children":53879},{"style":684},[53880],{"type":431,"value":53881}," cv2\n",{"type":426,"tag":553,"props":53883,"children":53884},{"class":555,"line":606},[53885,53889],{"type":426,"tag":553,"props":53886,"children":53887},{"style":795},[53888],{"type":431,"value":798},{"type":426,"tag":553,"props":53890,"children":53891},{"style":684},[53892],{"type":431,"value":803},{"type":426,"tag":553,"props":53894,"children":53895},{"class":555,"line":623},[53896],{"type":426,"tag":553,"props":53897,"children":53898},{"emptyLinePlaceholder":831},[53899],{"type":431,"value":834},{"type":426,"tag":553,"props":53901,"children":53902},{"class":555,"line":637},[53903,53907,53912,53917,53921,53925,53929],{"type":426,"tag":553,"props":53904,"children":53905},{"style":795},[53906],{"type":431,"value":842},{"type":426,"tag":553,"props":53908,"children":53909},{"style":560},[53910],{"type":431,"value":53911}," scan_and_validate",{"type":426,"tag":553,"props":53913,"children":53914},{"style":684},[53915],{"type":431,"value":53916},"(ticket_api_url: ",{"type":426,"tag":553,"props":53918,"children":53919},{"style":566},[53920],{"type":431,"value":895},{"type":426,"tag":553,"props":53922,"children":53923},{"style":684},[53924],{"type":431,"value":890},{"type":426,"tag":553,"props":53926,"children":53927},{"style":566},[53928],{"type":431,"value":895},{"type":426,"tag":553,"props":53930,"children":53931},{"style":684},[53932],{"type":431,"value":8370},{"type":426,"tag":553,"props":53934,"children":53935},{"class":555,"line":646},[53936],{"type":426,"tag":553,"props":53937,"children":53938},{"style":572},[53939],{"type":431,"value":53940},"    \"\"\"Camera-based QR code scanner and validator.\"\"\"\n",{"type":426,"tag":553,"props":53942,"children":53943},{"class":555,"line":655},[53944,53949,53953,53958,53962],{"type":426,"tag":553,"props":53945,"children":53946},{"style":684},[53947],{"type":431,"value":53948},"    cap ",{"type":426,"tag":553,"props":53950,"children":53951},{"style":795},[53952],{"type":431,"value":957},{"type":426,"tag":553,"props":53954,"children":53955},{"style":684},[53956],{"type":431,"value":53957}," cv2.VideoCapture(",{"type":426,"tag":553,"props":53959,"children":53960},{"style":566},[53961],{"type":431,"value":1930},{"type":426,"tag":553,"props":53963,"children":53964},{"style":684},[53965],{"type":431,"value":3262},{"type":426,"tag":553,"props":53967,"children":53968},{"class":555,"line":1036},[53969,53974,53978],{"type":426,"tag":553,"props":53970,"children":53971},{"style":684},[53972],{"type":431,"value":53973},"    detector ",{"type":426,"tag":553,"props":53975,"children":53976},{"style":795},[53977],{"type":431,"value":957},{"type":426,"tag":553,"props":53979,"children":53980},{"style":684},[53981],{"type":431,"value":53982}," cv2.QRCodeDetector()\n",{"type":426,"tag":553,"props":53984,"children":53985},{"class":555,"line":1054},[53986,53991,53995,54000,54005],{"type":426,"tag":553,"props":53987,"children":53988},{"style":684},[53989],{"type":431,"value":53990},"    scanned ",{"type":426,"tag":553,"props":53992,"children":53993},{"style":795},[53994],{"type":431,"value":957},{"type":426,"tag":553,"props":53996,"children":53997},{"style":566},[53998],{"type":431,"value":53999}," set",{"type":426,"tag":553,"props":54001,"children":54002},{"style":684},[54003],{"type":431,"value":54004},"()  ",{"type":426,"tag":553,"props":54006,"children":54007},{"style":1975},[54008],{"type":431,"value":54009},"# Prevent re-scans\n",{"type":426,"tag":553,"props":54011,"children":54012},{"class":555,"line":1080},[54013],{"type":426,"tag":553,"props":54014,"children":54015},{"style":684},[54016],{"type":431,"value":917},{"type":426,"tag":553,"props":54018,"children":54019},{"class":555,"line":1097},[54020,54025,54029],{"type":426,"tag":553,"props":54021,"children":54022},{"style":795},[54023],{"type":431,"value":54024},"    while",{"type":426,"tag":553,"props":54026,"children":54027},{"style":566},[54028],{"type":431,"value":43130},{"type":426,"tag":553,"props":54030,"children":54031},{"style":684},[54032],{"type":431,"value":909},{"type":426,"tag":553,"props":54034,"children":54035},{"class":555,"line":1114},[54036,54041,54045],{"type":426,"tag":553,"props":54037,"children":54038},{"style":684},[54039],{"type":431,"value":54040},"        _, img ",{"type":426,"tag":553,"props":54042,"children":54043},{"style":795},[54044],{"type":431,"value":957},{"type":426,"tag":553,"props":54046,"children":54047},{"style":684},[54048],{"type":431,"value":54049}," cap.read()\n",{"type":426,"tag":553,"props":54051,"children":54052},{"class":555,"line":1127},[54053,54058,54062],{"type":426,"tag":553,"props":54054,"children":54055},{"style":684},[54056],{"type":431,"value":54057},"        data, _, _ ",{"type":426,"tag":553,"props":54059,"children":54060},{"style":795},[54061],{"type":431,"value":957},{"type":426,"tag":553,"props":54063,"children":54064},{"style":684},[54065],{"type":431,"value":54066}," detector.detectAndDecode(img)\n",{"type":426,"tag":553,"props":54068,"children":54069},{"class":555,"line":1167},[54070],{"type":426,"tag":553,"props":54071,"children":54072},{"style":684},[54073],{"type":431,"value":2061},{"type":426,"tag":553,"props":54075,"children":54076},{"class":555,"line":1184},[54077,54081,54086,54091,54095,54100,54105],{"type":426,"tag":553,"props":54078,"children":54079},{"style":795},[54080],{"type":431,"value":2972},{"type":426,"tag":553,"props":54082,"children":54083},{"style":684},[54084],{"type":431,"value":54085}," data ",{"type":426,"tag":553,"props":54087,"children":54088},{"style":795},[54089],{"type":431,"value":54090},"and",{"type":426,"tag":553,"props":54092,"children":54093},{"style":684},[54094],{"type":431,"value":54085},{"type":426,"tag":553,"props":54096,"children":54097},{"style":795},[54098],{"type":431,"value":54099},"not",{"type":426,"tag":553,"props":54101,"children":54102},{"style":795},[54103],{"type":431,"value":54104}," in",{"type":426,"tag":553,"props":54106,"children":54107},{"style":684},[54108],{"type":431,"value":54109}," scanned:\n",{"type":426,"tag":553,"props":54111,"children":54112},{"class":555,"line":1192},[54113],{"type":426,"tag":553,"props":54114,"children":54115},{"style":1975},[54116],{"type":431,"value":54117},"            # Validate against your API\n",{"type":426,"tag":553,"props":54119,"children":54120},{"class":555,"line":1210},[54121,54125,54129],{"type":426,"tag":553,"props":54122,"children":54123},{"style":684},[54124],{"type":431,"value":8834},{"type":426,"tag":553,"props":54126,"children":54127},{"style":795},[54128],{"type":431,"value":957},{"type":426,"tag":553,"props":54130,"children":54131},{"style":684},[54132],{"type":431,"value":1664},{"type":426,"tag":553,"props":54134,"children":54135},{"class":555,"line":1253},[54136,54140,54144,54148,54153,54157,54162],{"type":426,"tag":553,"props":54137,"children":54138},{"style":795},[54139],{"type":431,"value":29860},{"type":426,"tag":553,"props":54141,"children":54142},{"style":572},[54143],{"type":431,"value":1527},{"type":426,"tag":553,"props":54145,"children":54146},{"style":566},[54147],{"type":431,"value":972},{"type":426,"tag":553,"props":54149,"children":54150},{"style":684},[54151],{"type":431,"value":54152},"ticket_api_url",{"type":426,"tag":553,"props":54154,"children":54155},{"style":566},[54156],{"type":431,"value":982},{"type":426,"tag":553,"props":54158,"children":54159},{"style":572},[54160],{"type":431,"value":54161},"\u002Fvalidate\"",{"type":426,"tag":553,"props":54163,"children":54164},{"style":684},[54165],{"type":431,"value":710},{"type":426,"tag":553,"props":54167,"children":54168},{"class":555,"line":1302},[54169,54173,54177,54181,54185,54189,54193,54197,54201,54205,54209,54213],{"type":426,"tag":553,"props":54170,"children":54171},{"style":1684},[54172],{"type":431,"value":8862},{"type":426,"tag":553,"props":54174,"children":54175},{"style":795},[54176],{"type":431,"value":957},{"type":426,"tag":553,"props":54178,"children":54179},{"style":684},[54180],{"type":431,"value":972},{"type":426,"tag":553,"props":54182,"children":54183},{"style":572},[54184],{"type":431,"value":45214},{"type":426,"tag":553,"props":54186,"children":54187},{"style":684},[54188],{"type":431,"value":700},{"type":426,"tag":553,"props":54190,"children":54191},{"style":795},[54192],{"type":431,"value":1709},{"type":426,"tag":553,"props":54194,"children":54195},{"style":572},[54196],{"type":431,"value":12608},{"type":426,"tag":553,"props":54198,"children":54199},{"style":566},[54200],{"type":431,"value":972},{"type":426,"tag":553,"props":54202,"children":54203},{"style":684},[54204],{"type":431,"value":1723},{"type":426,"tag":553,"props":54206,"children":54207},{"style":566},[54208],{"type":431,"value":982},{"type":426,"tag":553,"props":54210,"children":54211},{"style":572},[54212],{"type":431,"value":1527},{"type":426,"tag":553,"props":54214,"children":54215},{"style":684},[54216],{"type":431,"value":1737},{"type":426,"tag":553,"props":54218,"children":54219},{"class":555,"line":1374},[54220,54224,54228,54232,54237],{"type":426,"tag":553,"props":54221,"children":54222},{"style":1684},[54223],{"type":431,"value":8914},{"type":426,"tag":553,"props":54225,"children":54226},{"style":795},[54227],{"type":431,"value":957},{"type":426,"tag":553,"props":54229,"children":54230},{"style":684},[54231],{"type":431,"value":972},{"type":426,"tag":553,"props":54233,"children":54234},{"style":572},[54235],{"type":431,"value":54236},"\"qr_data\"",{"type":426,"tag":553,"props":54238,"children":54239},{"style":684},[54240],{"type":431,"value":54241},": data}\n",{"type":426,"tag":553,"props":54243,"children":54244},{"class":555,"line":1414},[54245],{"type":426,"tag":553,"props":54246,"children":54247},{"style":684},[54248],{"type":431,"value":2551},{"type":426,"tag":553,"props":54250,"children":54251},{"class":555,"line":1479},[54252,54256,54260],{"type":426,"tag":553,"props":54253,"children":54254},{"style":684},[54255],{"type":431,"value":18043},{"type":426,"tag":553,"props":54257,"children":54258},{"style":795},[54259],{"type":431,"value":957},{"type":426,"tag":553,"props":54261,"children":54262},{"style":684},[54263],{"type":431,"value":9193},{"type":426,"tag":553,"props":54265,"children":54266},{"class":555,"line":1517},[54267],{"type":426,"tag":553,"props":54268,"children":54269},{"style":684},[54270],{"type":431,"value":8972},{"type":426,"tag":553,"props":54272,"children":54273},{"class":555,"line":1560},[54274,54278,54282,54287],{"type":426,"tag":553,"props":54275,"children":54276},{"style":795},[54277],{"type":431,"value":8980},{"type":426,"tag":553,"props":54279,"children":54280},{"style":684},[54281],{"type":431,"value":10232},{"type":426,"tag":553,"props":54283,"children":54284},{"style":572},[54285],{"type":431,"value":54286},"'valid'",{"type":426,"tag":553,"props":54288,"children":54289},{"style":684},[54290],{"type":431,"value":12008},{"type":426,"tag":553,"props":54292,"children":54293},{"class":555,"line":1598},[54294,54299,54303,54307,54312,54316,54320,54324,54328,54332,54336,54340,54345,54349,54353],{"type":426,"tag":553,"props":54295,"children":54296},{"style":566},[54297],{"type":431,"value":54298},"                print",{"type":426,"tag":553,"props":54300,"children":54301},{"style":684},[54302],{"type":431,"value":3275},{"type":426,"tag":553,"props":54304,"children":54305},{"style":795},[54306],{"type":431,"value":1709},{"type":426,"tag":553,"props":54308,"children":54309},{"style":572},[54310],{"type":431,"value":54311},"\"✅ VALID — ",{"type":426,"tag":553,"props":54313,"children":54314},{"style":566},[54315],{"type":431,"value":972},{"type":426,"tag":553,"props":54317,"children":54318},{"style":684},[54319],{"type":431,"value":3293},{"type":426,"tag":553,"props":54321,"children":54322},{"style":572},[54323],{"type":431,"value":22493},{"type":426,"tag":553,"props":54325,"children":54326},{"style":684},[54327],{"type":431,"value":1240},{"type":426,"tag":553,"props":54329,"children":54330},{"style":566},[54331],{"type":431,"value":982},{"type":426,"tag":553,"props":54333,"children":54334},{"style":572},[54335],{"type":431,"value":700},{"type":426,"tag":553,"props":54337,"children":54338},{"style":566},[54339],{"type":431,"value":972},{"type":426,"tag":553,"props":54341,"children":54342},{"style":684},[54343],{"type":431,"value":54344},"data",{"type":426,"tag":553,"props":54346,"children":54347},{"style":566},[54348],{"type":431,"value":982},{"type":426,"tag":553,"props":54350,"children":54351},{"style":572},[54352],{"type":431,"value":1527},{"type":426,"tag":553,"props":54354,"children":54355},{"style":684},[54356],{"type":431,"value":3262},{"type":426,"tag":553,"props":54358,"children":54359},{"class":555,"line":1636},[54360],{"type":426,"tag":553,"props":54361,"children":54362},{"style":684},[54363],{"type":431,"value":54364},"                scanned.add(data)\n",{"type":426,"tag":553,"props":54366,"children":54367},{"class":555,"line":1645},[54368,54372],{"type":426,"tag":553,"props":54369,"children":54370},{"style":795},[54371],{"type":431,"value":22129},{"type":426,"tag":553,"props":54373,"children":54374},{"style":684},[54375],{"type":431,"value":909},{"type":426,"tag":553,"props":54377,"children":54378},{"class":555,"line":1653},[54379,54383,54387,54391,54396,54400,54404,54408,54412],{"type":426,"tag":553,"props":54380,"children":54381},{"style":566},[54382],{"type":431,"value":54298},{"type":426,"tag":553,"props":54384,"children":54385},{"style":684},[54386],{"type":431,"value":3275},{"type":426,"tag":553,"props":54388,"children":54389},{"style":795},[54390],{"type":431,"value":1709},{"type":426,"tag":553,"props":54392,"children":54393},{"style":572},[54394],{"type":431,"value":54395},"\"❌ INVALID or ALREADY USED: ",{"type":426,"tag":553,"props":54397,"children":54398},{"style":566},[54399],{"type":431,"value":972},{"type":426,"tag":553,"props":54401,"children":54402},{"style":684},[54403],{"type":431,"value":54344},{"type":426,"tag":553,"props":54405,"children":54406},{"style":566},[54407],{"type":431,"value":982},{"type":426,"tag":553,"props":54409,"children":54410},{"style":572},[54411],{"type":431,"value":1527},{"type":426,"tag":553,"props":54413,"children":54414},{"style":684},[54415],{"type":431,"value":3262},{"type":426,"tag":553,"props":54417,"children":54418},{"class":555,"line":1667},[54419],{"type":426,"tag":553,"props":54420,"children":54421},{"style":684},[54422],{"type":431,"value":2061},{"type":426,"tag":553,"props":54424,"children":54425},{"class":555,"line":1680},[54426,54431,54436],{"type":426,"tag":553,"props":54427,"children":54428},{"style":684},[54429],{"type":431,"value":54430},"        cv2.imshow(",{"type":426,"tag":553,"props":54432,"children":54433},{"style":572},[54434],{"type":431,"value":54435},"'Ticket Scanner'",{"type":426,"tag":553,"props":54437,"children":54438},{"style":684},[54439],{"type":431,"value":54440},", img)\n",{"type":426,"tag":553,"props":54442,"children":54443},{"class":555,"line":1740},[54444,54448,54453,54457,54461,54465,54470,54474,54479],{"type":426,"tag":553,"props":54445,"children":54446},{"style":795},[54447],{"type":431,"value":2972},{"type":426,"tag":553,"props":54449,"children":54450},{"style":684},[54451],{"type":431,"value":54452}," cv2.waitKey(",{"type":426,"tag":553,"props":54454,"children":54455},{"style":566},[54456],{"type":431,"value":1921},{"type":426,"tag":553,"props":54458,"children":54459},{"style":684},[54460],{"type":431,"value":2987},{"type":426,"tag":553,"props":54462,"children":54463},{"style":795},[54464],{"type":431,"value":1069},{"type":426,"tag":553,"props":54466,"children":54467},{"style":566},[54468],{"type":431,"value":54469}," ord",{"type":426,"tag":553,"props":54471,"children":54472},{"style":684},[54473],{"type":431,"value":3275},{"type":426,"tag":553,"props":54475,"children":54476},{"style":572},[54477],{"type":431,"value":54478},"'q'",{"type":426,"tag":553,"props":54480,"children":54481},{"style":684},[54482],{"type":431,"value":8370},{"type":426,"tag":553,"props":54484,"children":54485},{"class":555,"line":1787},[54486],{"type":426,"tag":553,"props":54487,"children":54488},{"style":795},[54489],{"type":431,"value":54490},"            break\n",{"type":426,"tag":553,"props":54492,"children":54493},{"class":555,"line":1796},[54494],{"type":426,"tag":553,"props":54495,"children":54496},{"style":684},[54497],{"type":431,"value":917},{"type":426,"tag":553,"props":54499,"children":54500},{"class":555,"line":1804},[54501],{"type":426,"tag":553,"props":54502,"children":54503},{"style":684},[54504],{"type":431,"value":54505},"    cap.release()\n",{"type":426,"tag":434,"props":54507,"children":54508},{"id":18886},[54509],{"type":431,"value":18889},{"type":426,"tag":454,"props":54511,"children":54512},{},[54513,54531,54549,54567],{"type":426,"tag":458,"props":54514,"children":54515},{},[54516,54521,54523,54529],{"type":426,"tag":446,"props":54517,"children":54518},{},[54519],{"type":431,"value":54520},"Image not loading on WhatsApp",{"type":431,"value":54522},": The S3 bucket must be publicly accessible. Check bucket policy allows ",{"type":426,"tag":549,"props":54524,"children":54526},{"className":54525},[],[54527],{"type":431,"value":54528},"s3:GetObject",{"type":431,"value":54530}," for anonymous users",{"type":426,"tag":458,"props":54532,"children":54533},{},[54534,54539,54541,54547],{"type":426,"tag":446,"props":54535,"children":54536},{},[54537],{"type":431,"value":54538},"QR code not scanning",{"type":431,"value":54540},": Ensure error correction level is ",{"type":426,"tag":549,"props":54542,"children":54544},{"className":54543},[],[54545],{"type":431,"value":54546},"H",{"type":431,"value":54548}," (High) and the image is at least 300x300 pixels",{"type":426,"tag":458,"props":54550,"children":54551},{},[54552,54557,54559,54565],{"type":426,"tag":446,"props":54553,"children":54554},{},[54555],{"type":431,"value":54556},"Large QR code file size",{"type":431,"value":54558},": Use PNG format with ",{"type":426,"tag":549,"props":54560,"children":54562},{"className":54561},[],[54563],{"type":431,"value":54564},"optimize=True",{"type":431,"value":54566},". QR codes compress very well — should be under 30KB",{"type":426,"tag":458,"props":54568,"children":54569},{},[54570,54574],{"type":426,"tag":446,"props":54571,"children":54572},{},[54573],{"type":431,"value":26117},{"type":431,"value":26119},{"type":426,"tag":434,"props":54576,"children":54577},{"id":4109},[54578],{"type":431,"value":4112},{"type":426,"tag":427,"props":54580,"children":54581},{},[54582,54587,54589,54595],{"type":426,"tag":446,"props":54583,"children":54584},{},[54585],{"type":431,"value":54586},"Can I send QR codes without S3?",{"type":431,"value":54588},"\nYes. Use any public CDN or file hosting. You can also use ",{"type":426,"tag":549,"props":54590,"children":54592},{"className":54591},[],[54593],{"type":431,"value":54594},"https:\u002F\u002Fapi.qrserver.com\u002Fv1\u002Fcreate-qr-code\u002F?size=300x300&data=TICKET_ID",{"type":431,"value":54596}," as a free QR generation URL (no upload needed for simple QR codes).",{"type":426,"tag":427,"props":54598,"children":54599},{},[54600,54605,54607,54612],{"type":426,"tag":446,"props":54601,"children":54602},{},[54603],{"type":431,"value":54604},"Can I use Rapiwa to send QR codes for purposes other than tickets?",{"type":431,"value":54606},"\nYes — QR codes for product authentication, loyalty program check-ins, appointment confirmations, access control, and more. The pattern is the same: generate QR → host at public URL → send via ",{"type":426,"tag":549,"props":54608,"children":54610},{"className":54609},[],[54611],{"type":431,"value":7833},{"type":431,"value":6789},{"type":426,"tag":427,"props":54614,"children":54615},{},[54616,54621],{"type":426,"tag":446,"props":54617,"children":54618},{},[54619],{"type":431,"value":54620},"Does Rapiwa charge per QR code ticket sent?",{"type":431,"value":54622},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Send 10 or 10,000 ticket QR codes at the same monthly price.",{"type":426,"tag":427,"props":54624,"children":54625},{},[54626,54631,54633,54639],{"type":426,"tag":446,"props":54627,"children":54628},{},[54629],{"type":431,"value":54630},"How do I prevent duplicate QR code use (one ticket used multiple times)?",{"type":431,"value":54632},"\nAfter the first successful scan, mark the ticket as ",{"type":426,"tag":549,"props":54634,"children":54636},{"className":54635},[],[54637],{"type":431,"value":54638},"used=true",{"type":431,"value":54640}," in your database. The scanner checks this flag before granting entry.",{"type":426,"tag":427,"props":54642,"children":54643},{},[54644,54649],{"type":426,"tag":446,"props":54645,"children":54646},{},[54647],{"type":431,"value":54648},"Can attendees add the ticket to Apple Wallet or Google Wallet instead?",{"type":431,"value":54650},"\nYes, but that's separate from WhatsApp delivery. Send the WhatsApp QR image first (immediate) and optionally include a link to download the Wallet pass in the caption.",{"type":426,"tag":4164,"props":54652,"children":54653},{},[54654],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":54656},[54657,54658,54659,54660,54661,54662,54663],{"id":48776,"depth":588,"text":48779},{"id":47624,"depth":588,"text":47627},{"id":48853,"depth":588,"text":48856},{"id":52073,"depth":588,"text":52076},{"id":53846,"depth":588,"text":53849},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:send-qr-code-whatsapp-api-rapiwa.md","blog\u002Fsend-qr-code-whatsapp-api-rapiwa.md","blog\u002Fsend-qr-code-whatsapp-api-rapiwa",{"loc":73},{"_path":77,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":78,"description":79,"date":54669,"author":54670,"category":43,"_slug":54671,"image":54672,"body":54673,"_type":4187,"_id":56185,"_source":4189,"_file":56186,"_stem":56187,"_extension":4192,"sitemap":56188},"2026-03-10","Nihal","whatsapp-api-airtable-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-airtable-rapiwa.svg",{"type":423,"children":54674,"toc":56167},[54675,54680,54686,54749,54753,54781,54787,54799,54881,54909,54917,54923,54928,54983,54991,55004,55010,55015,55053,55065,55099,55105,55116,55161,55218,55226,55319,55326,55402,55408,55413,55424,55483,55488,55494,55500,55508,55514,55522,55528,55536,55542,55550,55556,55561,55604,55612,56018,56036,56040,56101,56105,56115,56125,56135,56153,56163],{"type":426,"tag":427,"props":54676,"children":54677},{},[54678],{"type":431,"value":54679},"You can connect Airtable to WhatsApp using Rapiwa API and n8n. When an Airtable record is created, updated, or reaches a condition (like a status change to \"Approved\"), n8n fires a Rapiwa API call to send a WhatsApp notification. This works for any Airtable base — project management, CRM, HR, inventory, or event management. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":54681,"children":54683},{"id":54682},"what-you-can-build",[54684],{"type":431,"value":54685},"What You Can Build",{"type":426,"tag":454,"props":54687,"children":54688},{},[54689,54699,54709,54719,54729,54739],{"type":426,"tag":458,"props":54690,"children":54691},{},[54692,54697],{"type":426,"tag":446,"props":54693,"children":54694},{},[54695],{"type":431,"value":54696},"Project management",{"type":431,"value":54698},": Notify team members when a task is assigned to them",{"type":426,"tag":458,"props":54700,"children":54701},{},[54702,54707],{"type":426,"tag":446,"props":54703,"children":54704},{},[54705],{"type":431,"value":54706},"CRM follow-ups",{"type":431,"value":54708},": Message leads when their status changes to \"Qualified\"",{"type":426,"tag":458,"props":54710,"children":54711},{},[54712,54717],{"type":426,"tag":446,"props":54713,"children":54714},{},[54715],{"type":431,"value":54716},"HR onboarding",{"type":431,"value":54718},": WhatsApp welcome message when a new employee record is created",{"type":426,"tag":458,"props":54720,"children":54721},{},[54722,54727],{"type":426,"tag":446,"props":54723,"children":54724},{},[54725],{"type":431,"value":54726},"Inventory alerts",{"type":431,"value":54728},": WhatsApp alert when a product stock level drops below threshold",{"type":426,"tag":458,"props":54730,"children":54731},{},[54732,54737],{"type":426,"tag":446,"props":54733,"children":54734},{},[54735],{"type":431,"value":54736},"Event management",{"type":431,"value":54738},": WhatsApp confirmation when an event registration is approved",{"type":426,"tag":458,"props":54740,"children":54741},{},[54742,54747],{"type":426,"tag":446,"props":54743,"children":54744},{},[54745],{"type":431,"value":54746},"Client approvals",{"type":431,"value":54748},": Message clients when a deliverable is ready for review",{"type":426,"tag":434,"props":54750,"children":54751},{"id":47624},[54752],{"type":431,"value":47627},{"type":426,"tag":454,"props":54754,"children":54755},{},[54756,54766,54771,54776],{"type":426,"tag":458,"props":54757,"children":54758},{},[54759,54760,54765],{"type":431,"value":48828},{"type":426,"tag":3819,"props":54761,"children":54763},{"href":3821,"rel":54762},[3823],[54764],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":54767,"children":54768},{},[54769],{"type":431,"value":54770},"Airtable account with a base containing phone numbers",{"type":426,"tag":458,"props":54772,"children":54773},{},[54774],{"type":431,"value":54775},"n8n (Cloud free tier or self-hosted) — recommended",{"type":426,"tag":458,"props":54777,"children":54778},{},[54779],{"type":431,"value":54780},"Or: Zapier \u002F Make.com for no-code alternative",{"type":426,"tag":434,"props":54782,"children":54784},{"id":54783},"step-1-prepare-your-airtable-base",[54785],{"type":431,"value":54786},"Step 1: Prepare Your Airtable Base",{"type":426,"tag":427,"props":54788,"children":54789},{},[54790,54792,54797],{"type":431,"value":54791},"Ensure your Airtable table has a ",{"type":426,"tag":446,"props":54793,"children":54794},{},[54795],{"type":431,"value":54796},"Phone",{"type":431,"value":54798}," field in international format:",{"type":426,"tag":10600,"props":54800,"children":54801},{},[54802,54826],{"type":426,"tag":10604,"props":54803,"children":54804},{},[54805],{"type":426,"tag":10608,"props":54806,"children":54807},{},[54808,54813,54817,54822],{"type":426,"tag":10612,"props":54809,"children":54810},{},[54811],{"type":431,"value":54812},"Name",{"type":426,"tag":10612,"props":54814,"children":54815},{},[54816],{"type":431,"value":54796},{"type":426,"tag":10612,"props":54818,"children":54819},{},[54820],{"type":431,"value":54821},"Status",{"type":426,"tag":10612,"props":54823,"children":54824},{},[54825],{"type":431,"value":30655},{"type":426,"tag":10623,"props":54827,"children":54828},{},[54829,54855],{"type":426,"tag":10608,"props":54830,"children":54831},{},[54832,54837,54841,54846],{"type":426,"tag":10630,"props":54833,"children":54834},{},[54835],{"type":431,"value":54836},"Sarah Johnson",{"type":426,"tag":10630,"props":54838,"children":54839},{},[54840],{"type":431,"value":7237},{"type":426,"tag":10630,"props":54842,"children":54843},{},[54844],{"type":431,"value":54845},"New Lead",{"type":426,"tag":10630,"props":54847,"children":54848},{},[54849],{"type":426,"tag":3819,"props":54850,"children":54852},{"href":54851},"mailto:sarah@example.com",[54853],{"type":431,"value":54854},"sarah@example.com",{"type":426,"tag":10608,"props":54856,"children":54857},{},[54858,54863,54867,54872],{"type":426,"tag":10630,"props":54859,"children":54860},{},[54861],{"type":431,"value":54862},"James Smith",{"type":426,"tag":10630,"props":54864,"children":54865},{},[54866],{"type":431,"value":6779},{"type":426,"tag":10630,"props":54868,"children":54869},{},[54870],{"type":431,"value":54871},"Qualified",{"type":426,"tag":10630,"props":54873,"children":54874},{},[54875],{"type":426,"tag":3819,"props":54876,"children":54878},{"href":54877},"mailto:james@example.com",[54879],{"type":431,"value":54880},"james@example.com",{"type":426,"tag":427,"props":54882,"children":54883},{},[54884,54888,54890,54895,54896,54901,54902,54907],{"type":426,"tag":446,"props":54885,"children":54886},{},[54887],{"type":431,"value":41300},{"type":431,"value":54889},": Store phone numbers in international format without ",{"type":426,"tag":549,"props":54891,"children":54893},{"className":54892},[],[54894],{"type":431,"value":2033},{"type":431,"value":10731},{"type":426,"tag":549,"props":54897,"children":54899},{"className":54898},[],[54900],{"type":431,"value":7237},{"type":431,"value":7239},{"type":426,"tag":549,"props":54903,"children":54905},{"className":54904},[],[54906],{"type":431,"value":10838},{"type":431,"value":54908},"). Add an Airtable formula to clean the format:",{"type":426,"tag":542,"props":54910,"children":54912},{"code":54911},"SUBSTITUTE(SUBSTITUTE(SUBSTITUTE({Phone Raw}, \"+\", \"\"), \" \", \"\"), \"-\", \"\")\n",[54913],{"type":426,"tag":549,"props":54914,"children":54915},{"__ignoreMap":417},[54916],{"type":431,"value":54911},{"type":426,"tag":434,"props":54918,"children":54920},{"id":54919},"step-2-set-up-n8n-with-airtable-trigger",[54921],{"type":431,"value":54922},"Step 2: Set Up n8n with Airtable Trigger",{"type":426,"tag":427,"props":54924,"children":54925},{},[54926],{"type":431,"value":54927},"In n8n:",{"type":426,"tag":6331,"props":54929,"children":54930},{},[54931,54936],{"type":426,"tag":458,"props":54932,"children":54933},{},[54934],{"type":431,"value":54935},"Create a new workflow",{"type":426,"tag":458,"props":54937,"children":54938},{},[54939,54941,54946,54948],{"type":431,"value":54940},"Add ",{"type":426,"tag":446,"props":54942,"children":54943},{},[54944],{"type":431,"value":54945},"Airtable Trigger",{"type":431,"value":54947}," node:\n",{"type":426,"tag":454,"props":54949,"children":54950},{},[54951,54956,54961,54966,54978],{"type":426,"tag":458,"props":54952,"children":54953},{},[54954],{"type":431,"value":54955},"Credentials: Create new → enter Airtable API key (from airtable.com\u002Faccount)",{"type":426,"tag":458,"props":54957,"children":54958},{},[54959],{"type":431,"value":54960},"Base: select your base",{"type":426,"tag":458,"props":54962,"children":54963},{},[54964],{"type":431,"value":54965},"Table: select your table",{"type":426,"tag":458,"props":54967,"children":54968},{},[54969,54971,54976],{"type":431,"value":54970},"Trigger field: choose ",{"type":426,"tag":446,"props":54972,"children":54973},{},[54974],{"type":431,"value":54975},"Modified Time",{"type":431,"value":54977}," (to detect any record change)",{"type":426,"tag":458,"props":54979,"children":54980},{},[54981],{"type":431,"value":54982},"Or trigger on record creation only",{"type":426,"tag":427,"props":54984,"children":54985},{},[54986],{"type":426,"tag":446,"props":54987,"children":54988},{},[54989],{"type":431,"value":54990},"Alternative triggers available:",{"type":426,"tag":454,"props":54992,"children":54993},{},[54994,54999],{"type":426,"tag":458,"props":54995,"children":54996},{},[54997],{"type":431,"value":54998},"Polling every X minutes for changed records",{"type":426,"tag":458,"props":55000,"children":55001},{},[55002],{"type":431,"value":55003},"Webhook-based (requires Airtable Enterprise or Airtable Automations)",{"type":426,"tag":434,"props":55005,"children":55007},{"id":55006},"step-3-add-condition-filtering",[55008],{"type":431,"value":55009},"Step 3: Add Condition Filtering",{"type":426,"tag":427,"props":55011,"children":55012},{},[55013],{"type":431,"value":55014},"Don't send WhatsApp for every Airtable change — add an IF node to filter:",{"type":426,"tag":542,"props":55016,"children":55018},{"code":55017,"language":52115,"meta":417,"className":52113,"style":417},"\u002F\u002F Filter: only send when Status changed to \"Qualified\"\n{{ $json.Status === 'Qualified' }}\n",[55019],{"type":426,"tag":549,"props":55020,"children":55021},{"__ignoreMap":417},[55022,55030],{"type":426,"tag":553,"props":55023,"children":55024},{"class":555,"line":556},[55025],{"type":426,"tag":553,"props":55026,"children":55027},{"style":1975},[55028],{"type":431,"value":55029},"\u002F\u002F Filter: only send when Status changed to \"Qualified\"\n",{"type":426,"tag":553,"props":55031,"children":55032},{"class":555,"line":588},[55033,55038,55043,55048],{"type":426,"tag":553,"props":55034,"children":55035},{"style":684},[55036],{"type":431,"value":55037},"{{ $json.Status ",{"type":426,"tag":553,"props":55039,"children":55040},{"style":795},[55041],{"type":431,"value":55042},"===",{"type":426,"tag":553,"props":55044,"children":55045},{"style":572},[55046],{"type":431,"value":55047}," 'Qualified'",{"type":426,"tag":553,"props":55049,"children":55050},{"style":684},[55051],{"type":431,"value":55052}," }}\n",{"type":426,"tag":427,"props":55054,"children":55055},{},[55056,55058,55063],{"type":431,"value":55057},"Or use n8n's ",{"type":426,"tag":446,"props":55059,"children":55060},{},[55061],{"type":431,"value":55062},"Filter",{"type":431,"value":55064}," node with condition:",{"type":426,"tag":454,"props":55066,"children":55067},{},[55068,55078,55089],{"type":426,"tag":458,"props":55069,"children":55070},{},[55071,55073],{"type":431,"value":55072},"Field: ",{"type":426,"tag":549,"props":55074,"children":55076},{"className":55075},[],[55077],{"type":431,"value":54821},{"type":426,"tag":458,"props":55079,"children":55080},{},[55081,55083],{"type":431,"value":55082},"Operator: ",{"type":426,"tag":549,"props":55084,"children":55086},{"className":55085},[],[55087],{"type":431,"value":55088},"equals",{"type":426,"tag":458,"props":55090,"children":55091},{},[55092,55094],{"type":431,"value":55093},"Value: ",{"type":426,"tag":549,"props":55095,"children":55097},{"className":55096},[],[55098],{"type":431,"value":54871},{"type":426,"tag":434,"props":55100,"children":55102},{"id":55101},"step-4-configure-the-rapiwa-http-request-node",[55103],{"type":431,"value":55104},"Step 4: Configure the Rapiwa HTTP Request Node",{"type":426,"tag":427,"props":55106,"children":55107},{},[55108,55110,55114],{"type":431,"value":55109},"Add an ",{"type":426,"tag":446,"props":55111,"children":55112},{},[55113],{"type":431,"value":44949},{"type":431,"value":55115}," node after the filter:",{"type":426,"tag":454,"props":55117,"children":55118},{},[55119,55127,55140,55153],{"type":426,"tag":458,"props":55120,"children":55121},{},[55122,55126],{"type":426,"tag":446,"props":55123,"children":55124},{},[55125],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":55128,"children":55129},{},[55130,55134,55135],{"type":426,"tag":446,"props":55131,"children":55132},{},[55133],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":55136,"children":55138},{"className":55137},[],[55139],{"type":431,"value":48098},{"type":426,"tag":458,"props":55141,"children":55142},{},[55143,55147,55148],{"type":426,"tag":446,"props":55144,"children":55145},{},[55146],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":55149,"children":55151},{"className":55150},[],[55152],{"type":431,"value":48113},{"type":426,"tag":458,"props":55154,"children":55155},{},[55156,55160],{"type":426,"tag":446,"props":55157,"children":55158},{},[55159],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":55162,"children":55164},{"code":55163,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $json.Phone }}\",\n  \"message\": \"Hi {{ $json.Name }}! 🎉 Great news — you have been approved as a qualified lead. Our team will reach out within 24 hours. In the meantime, explore what we offer at rapiwa.com\"\n}\n",[55165],{"type":426,"tag":549,"props":55166,"children":55167},{"__ignoreMap":417},[55168,55175,55195,55211],{"type":426,"tag":553,"props":55169,"children":55170},{"class":555,"line":556},[55171],{"type":426,"tag":553,"props":55172,"children":55173},{"style":684},[55174],{"type":431,"value":687},{"type":426,"tag":553,"props":55176,"children":55177},{"class":555,"line":588},[55178,55182,55186,55191],{"type":426,"tag":553,"props":55179,"children":55180},{"style":566},[55181],{"type":431,"value":7277},{"type":426,"tag":553,"props":55183,"children":55184},{"style":684},[55185],{"type":431,"value":700},{"type":426,"tag":553,"props":55187,"children":55188},{"style":572},[55189],{"type":431,"value":55190},"\"={{ $json.Phone }}\"",{"type":426,"tag":553,"props":55192,"children":55193},{"style":684},[55194],{"type":431,"value":710},{"type":426,"tag":553,"props":55196,"children":55197},{"class":555,"line":606},[55198,55202,55206],{"type":426,"tag":553,"props":55199,"children":55200},{"style":566},[55201],{"type":431,"value":7298},{"type":426,"tag":553,"props":55203,"children":55204},{"style":684},[55205],{"type":431,"value":700},{"type":426,"tag":553,"props":55207,"children":55208},{"style":572},[55209],{"type":431,"value":55210},"\"Hi {{ $json.Name }}! 🎉 Great news — you have been approved as a qualified lead. Our team will reach out within 24 hours. In the meantime, explore what we offer at rapiwa.com\"\n",{"type":426,"tag":553,"props":55212,"children":55213},{"class":555,"line":623},[55214],{"type":426,"tag":553,"props":55215,"children":55216},{"style":684},[55217],{"type":431,"value":756},{"type":426,"tag":427,"props":55219,"children":55220},{},[55221],{"type":426,"tag":446,"props":55222,"children":55223},{},[55224],{"type":431,"value":55225},"Test with cURL:",{"type":426,"tag":542,"props":55227,"children":55229},{"code":55228,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! 🎉 Your application has been approved. Welcome aboard! Our team will contact you within 24 hours with next steps.\"\n  }'\n",[55230],{"type":426,"tag":549,"props":55231,"children":55232},{"__ignoreMap":417},[55233,55256,55271,55286,55297,55304,55312],{"type":426,"tag":553,"props":55234,"children":55235},{"class":555,"line":556},[55236,55240,55244,55248,55252],{"type":426,"tag":553,"props":55237,"children":55238},{"style":560},[55239],{"type":431,"value":563},{"type":426,"tag":553,"props":55241,"children":55242},{"style":566},[55243],{"type":431,"value":569},{"type":426,"tag":553,"props":55245,"children":55246},{"style":572},[55247],{"type":431,"value":575},{"type":426,"tag":553,"props":55249,"children":55250},{"style":572},[55251],{"type":431,"value":580},{"type":426,"tag":553,"props":55253,"children":55254},{"style":566},[55255],{"type":431,"value":585},{"type":426,"tag":553,"props":55257,"children":55258},{"class":555,"line":588},[55259,55263,55267],{"type":426,"tag":553,"props":55260,"children":55261},{"style":566},[55262],{"type":431,"value":594},{"type":426,"tag":553,"props":55264,"children":55265},{"style":572},[55266],{"type":431,"value":599},{"type":426,"tag":553,"props":55268,"children":55269},{"style":566},[55270],{"type":431,"value":585},{"type":426,"tag":553,"props":55272,"children":55273},{"class":555,"line":606},[55274,55278,55282],{"type":426,"tag":553,"props":55275,"children":55276},{"style":566},[55277],{"type":431,"value":594},{"type":426,"tag":553,"props":55279,"children":55280},{"style":572},[55281],{"type":431,"value":616},{"type":426,"tag":553,"props":55283,"children":55284},{"style":566},[55285],{"type":431,"value":585},{"type":426,"tag":553,"props":55287,"children":55288},{"class":555,"line":623},[55289,55293],{"type":426,"tag":553,"props":55290,"children":55291},{"style":566},[55292],{"type":431,"value":629},{"type":426,"tag":553,"props":55294,"children":55295},{"style":572},[55296],{"type":431,"value":634},{"type":426,"tag":553,"props":55298,"children":55299},{"class":555,"line":637},[55300],{"type":426,"tag":553,"props":55301,"children":55302},{"style":572},[55303],{"type":431,"value":643},{"type":426,"tag":553,"props":55305,"children":55306},{"class":555,"line":646},[55307],{"type":426,"tag":553,"props":55308,"children":55309},{"style":572},[55310],{"type":431,"value":55311},"    \"message\": \"Hi Sarah! 🎉 Your application has been approved. Welcome aboard! Our team will contact you within 24 hours with next steps.\"\n",{"type":426,"tag":553,"props":55313,"children":55314},{"class":555,"line":655},[55315],{"type":426,"tag":553,"props":55316,"children":55317},{"style":572},[55318],{"type":431,"value":661},{"type":426,"tag":427,"props":55320,"children":55321},{},[55322],{"type":426,"tag":446,"props":55323,"children":55324},{},[55325],{"type":431,"value":669},{"type":426,"tag":542,"props":55327,"children":55329},{"code":55328,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_airtable_abc123\",\n  \"timestamp\": \"2026-07-03T10:30:00Z\"\n}\n",[55330],{"type":426,"tag":549,"props":55331,"children":55332},{"__ignoreMap":417},[55333,55340,55359,55379,55395],{"type":426,"tag":553,"props":55334,"children":55335},{"class":555,"line":556},[55336],{"type":426,"tag":553,"props":55337,"children":55338},{"style":684},[55339],{"type":431,"value":687},{"type":426,"tag":553,"props":55341,"children":55342},{"class":555,"line":588},[55343,55347,55351,55355],{"type":426,"tag":553,"props":55344,"children":55345},{"style":566},[55346],{"type":431,"value":695},{"type":426,"tag":553,"props":55348,"children":55349},{"style":684},[55350],{"type":431,"value":700},{"type":426,"tag":553,"props":55352,"children":55353},{"style":572},[55354],{"type":431,"value":705},{"type":426,"tag":553,"props":55356,"children":55357},{"style":684},[55358],{"type":431,"value":710},{"type":426,"tag":553,"props":55360,"children":55361},{"class":555,"line":606},[55362,55366,55370,55375],{"type":426,"tag":553,"props":55363,"children":55364},{"style":566},[55365],{"type":431,"value":718},{"type":426,"tag":553,"props":55367,"children":55368},{"style":684},[55369],{"type":431,"value":700},{"type":426,"tag":553,"props":55371,"children":55372},{"style":572},[55373],{"type":431,"value":55374},"\"msg_airtable_abc123\"",{"type":426,"tag":553,"props":55376,"children":55377},{"style":684},[55378],{"type":431,"value":710},{"type":426,"tag":553,"props":55380,"children":55381},{"class":555,"line":623},[55382,55386,55390],{"type":426,"tag":553,"props":55383,"children":55384},{"style":566},[55385],{"type":431,"value":739},{"type":426,"tag":553,"props":55387,"children":55388},{"style":684},[55389],{"type":431,"value":700},{"type":426,"tag":553,"props":55391,"children":55392},{"style":572},[55393],{"type":431,"value":55394},"\"2026-07-03T10:30:00Z\"\n",{"type":426,"tag":553,"props":55396,"children":55397},{"class":555,"line":637},[55398],{"type":426,"tag":553,"props":55399,"children":55400},{"style":684},[55401],{"type":431,"value":756},{"type":426,"tag":434,"props":55403,"children":55405},{"id":55404},"step-5-update-airtable-after-sending",[55406],{"type":431,"value":55407},"Step 5: Update Airtable After Sending",{"type":426,"tag":427,"props":55409,"children":55410},{},[55411],{"type":431,"value":55412},"After the Rapiwa send, update the Airtable record to log the notification:",{"type":426,"tag":427,"props":55414,"children":55415},{},[55416,55417,55422],{"type":431,"value":55109},{"type":426,"tag":446,"props":55418,"children":55419},{},[55420],{"type":431,"value":55421},"Airtable",{"type":431,"value":55423}," node:",{"type":426,"tag":454,"props":55425,"children":55426},{},[55427,55432,55443],{"type":426,"tag":458,"props":55428,"children":55429},{},[55430],{"type":431,"value":55431},"Operation: Update Record",{"type":426,"tag":458,"props":55433,"children":55434},{},[55435,55437],{"type":431,"value":55436},"Record ID: ",{"type":426,"tag":549,"props":55438,"children":55440},{"className":55439},[],[55441],{"type":431,"value":55442},"{{ $('Airtable Trigger').item.json.id }}",{"type":426,"tag":458,"props":55444,"children":55445},{},[55446,55448],{"type":431,"value":55447},"Fields to update:\n",{"type":426,"tag":454,"props":55449,"children":55450},{},[55451,55468],{"type":426,"tag":458,"props":55452,"children":55453},{},[55454,55460,55461,55466],{"type":426,"tag":549,"props":55455,"children":55457},{"className":55456},[],[55458],{"type":431,"value":55459},"WhatsApp Sent",{"type":431,"value":700},{"type":426,"tag":549,"props":55462,"children":55464},{"className":55463},[],[55465],{"type":431,"value":48523},{"type":431,"value":55467}," (checkbox field)",{"type":426,"tag":458,"props":55469,"children":55470},{},[55471,55477,55478],{"type":426,"tag":549,"props":55472,"children":55474},{"className":55473},[],[55475],{"type":431,"value":55476},"Last Notified",{"type":431,"value":700},{"type":426,"tag":549,"props":55479,"children":55481},{"className":55480},[],[55482],{"type":431,"value":48539},{"type":426,"tag":427,"props":55484,"children":55485},{},[55486],{"type":431,"value":55487},"This prevents sending duplicate notifications on subsequent runs.",{"type":426,"tag":434,"props":55489,"children":55491},{"id":55490},"common-airtable-whatsapp-use-cases",[55492],{"type":431,"value":55493},"Common Airtable + WhatsApp Use Cases",{"type":426,"tag":515,"props":55495,"children":55497},{"id":55496},"use-case-1-crm-lead-status-change",[55498],{"type":431,"value":55499},"Use Case 1: CRM Lead Status Change",{"type":426,"tag":542,"props":55501,"children":55503},{"code":55502},"Airtable Trigger: Status field changes\nIF: new Status = \"Qualified\"\nSet message: \"Hi {Name}! You've been added to our priority list...\"\nHTTP Request (Rapiwa): send message\nAirtable: update \"WhatsApp Sent\" = true\n",[55504],{"type":426,"tag":549,"props":55505,"children":55506},{"__ignoreMap":417},[55507],{"type":431,"value":55502},{"type":426,"tag":515,"props":55509,"children":55511},{"id":55510},"use-case-2-project-task-assignment",[55512],{"type":431,"value":55513},"Use Case 2: Project Task Assignment",{"type":426,"tag":542,"props":55515,"children":55517},{"code":55516},"Airtable Trigger: Assignee field changes\nIF: Assignee is not empty AND WhatsApp Sent = false\nSet message: \"Hi {Assignee Name}! You have been assigned a new task: {Task Name}. Due: {Due Date}\"\nHTTP Request (Rapiwa): send to Assignee's phone\n",[55518],{"type":426,"tag":549,"props":55519,"children":55520},{"__ignoreMap":417},[55521],{"type":431,"value":55516},{"type":426,"tag":515,"props":55523,"children":55525},{"id":55524},"use-case-3-inventory-low-stock-alert",[55526],{"type":431,"value":55527},"Use Case 3: Inventory Low Stock Alert",{"type":426,"tag":542,"props":55529,"children":55531},{"code":55530},"Airtable Trigger: every 30 minutes (schedule-based poll)\nFilter: Stock Level \u003C Reorder Point\nSet message: \"⚠️ Low stock alert: {Product Name} — {Stock} units remaining. Reorder link: {Reorder URL}\"\nHTTP Request (Rapiwa): send to purchasing team phone\n",[55532],{"type":426,"tag":549,"props":55533,"children":55534},{"__ignoreMap":417},[55535],{"type":431,"value":55530},{"type":426,"tag":515,"props":55537,"children":55539},{"id":55538},"use-case-4-event-registration-approved",[55540],{"type":431,"value":55541},"Use Case 4: Event Registration Approved",{"type":426,"tag":542,"props":55543,"children":55545},{"code":55544},"Airtable Trigger: Status field changes to \"Approved\"\nSet message: \"Hi {Name}! Your registration for {Event Name} on {Event Date} is confirmed. See you there! 🎫\"\nHTTP Request (Rapiwa): send to registrant's phone\nAirtable: update \"Confirmation Sent\" = true\n",[55546],{"type":426,"tag":549,"props":55547,"children":55548},{"__ignoreMap":417},[55549],{"type":431,"value":55544},{"type":426,"tag":434,"props":55551,"children":55553},{"id":55552},"using-airtable-automations-no-n8n",[55554],{"type":431,"value":55555},"Using Airtable Automations (No n8n)",{"type":426,"tag":427,"props":55557,"children":55558},{},[55559],{"type":431,"value":55560},"Airtable's built-in Automations can trigger webhooks directly to Rapiwa:",{"type":426,"tag":6331,"props":55562,"children":55563},{},[55564,55580,55592],{"type":426,"tag":458,"props":55565,"children":55566},{},[55567,55569,55574,55575],{"type":431,"value":55568},"In your Airtable base → ",{"type":426,"tag":446,"props":55570,"children":55571},{},[55572],{"type":431,"value":55573},"Automations",{"type":431,"value":5710},{"type":426,"tag":446,"props":55576,"children":55577},{},[55578],{"type":431,"value":55579},"+ New automation",{"type":426,"tag":458,"props":55581,"children":55582},{},[55583,55585,55590],{"type":431,"value":55584},"Trigger: ",{"type":426,"tag":446,"props":55586,"children":55587},{},[55588],{"type":431,"value":55589},"When a record is created",{"type":431,"value":55591}," (or status changes)",{"type":426,"tag":458,"props":55593,"children":55594},{},[55595,55597,55602],{"type":431,"value":55596},"Action: ",{"type":426,"tag":446,"props":55598,"children":55599},{},[55600],{"type":431,"value":55601},"Run a script",{"type":431,"value":55603}," (Airtable Scripting)",{"type":426,"tag":427,"props":55605,"children":55606},{},[55607],{"type":426,"tag":446,"props":55608,"children":55609},{},[55610],{"type":431,"value":55611},"Airtable script to call Rapiwa:",{"type":426,"tag":542,"props":55613,"children":55615},{"code":55614,"language":52115,"meta":417,"className":52113,"style":417},"\u002F\u002F Airtable automation script\nconst inputConfig = input.config();\nconst phone = inputConfig.phone;\nconst name = inputConfig.name;\nconst apiKey = 'YOUR_RAPIWA_API_KEY';\n\nconst message = `Hi ${name}! Your record has been updated. Check the details in our system.`;\n\nconst response = await fetch('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${apiKey}`,\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({ number: phone, message })\n});\n\nconst result = await response.json();\noutput.set('messageId', result.messageId || 'failed');\noutput.set('status', result.status);\n",[55616],{"type":426,"tag":549,"props":55617,"children":55618},{"__ignoreMap":417},[55619,55627,55657,55678,55698,55723,55730,55764,55771,55807,55823,55831,55860,55876,55884,55909,55917,55924,55955,55994],{"type":426,"tag":553,"props":55620,"children":55621},{"class":555,"line":556},[55622],{"type":426,"tag":553,"props":55623,"children":55624},{"style":1975},[55625],{"type":431,"value":55626},"\u002F\u002F Airtable automation script\n",{"type":426,"tag":553,"props":55628,"children":55629},{"class":555,"line":588},[55630,55634,55639,55643,55648,55653],{"type":426,"tag":553,"props":55631,"children":55632},{"style":795},[55633],{"type":431,"value":52135},{"type":426,"tag":553,"props":55635,"children":55636},{"style":566},[55637],{"type":431,"value":55638}," inputConfig",{"type":426,"tag":553,"props":55640,"children":55641},{"style":795},[55642],{"type":431,"value":8739},{"type":426,"tag":553,"props":55644,"children":55645},{"style":684},[55646],{"type":431,"value":55647}," input.",{"type":426,"tag":553,"props":55649,"children":55650},{"style":560},[55651],{"type":431,"value":55652},"config",{"type":426,"tag":553,"props":55654,"children":55655},{"style":684},[55656],{"type":431,"value":53227},{"type":426,"tag":553,"props":55658,"children":55659},{"class":555,"line":606},[55660,55664,55669,55673],{"type":426,"tag":553,"props":55661,"children":55662},{"style":795},[55663],{"type":431,"value":52135},{"type":426,"tag":553,"props":55665,"children":55666},{"style":566},[55667],{"type":431,"value":55668}," phone",{"type":426,"tag":553,"props":55670,"children":55671},{"style":795},[55672],{"type":431,"value":8739},{"type":426,"tag":553,"props":55674,"children":55675},{"style":684},[55676],{"type":431,"value":55677}," inputConfig.phone;\n",{"type":426,"tag":553,"props":55679,"children":55680},{"class":555,"line":623},[55681,55685,55689,55693],{"type":426,"tag":553,"props":55682,"children":55683},{"style":795},[55684],{"type":431,"value":52135},{"type":426,"tag":553,"props":55686,"children":55687},{"style":566},[55688],{"type":431,"value":25973},{"type":426,"tag":553,"props":55690,"children":55691},{"style":795},[55692],{"type":431,"value":8739},{"type":426,"tag":553,"props":55694,"children":55695},{"style":684},[55696],{"type":431,"value":55697}," inputConfig.name;\n",{"type":426,"tag":553,"props":55699,"children":55700},{"class":555,"line":637},[55701,55705,55710,55714,55719],{"type":426,"tag":553,"props":55702,"children":55703},{"style":795},[55704],{"type":431,"value":52135},{"type":426,"tag":553,"props":55706,"children":55707},{"style":566},[55708],{"type":431,"value":55709}," apiKey",{"type":426,"tag":553,"props":55711,"children":55712},{"style":795},[55713],{"type":431,"value":8739},{"type":426,"tag":553,"props":55715,"children":55716},{"style":572},[55717],{"type":431,"value":55718}," 'YOUR_RAPIWA_API_KEY'",{"type":426,"tag":553,"props":55720,"children":55721},{"style":684},[55722],{"type":431,"value":52321},{"type":426,"tag":553,"props":55724,"children":55725},{"class":555,"line":646},[55726],{"type":426,"tag":553,"props":55727,"children":55728},{"emptyLinePlaceholder":831},[55729],{"type":431,"value":834},{"type":426,"tag":553,"props":55731,"children":55732},{"class":555,"line":655},[55733,55737,55742,55746,55751,55755,55760],{"type":426,"tag":553,"props":55734,"children":55735},{"style":795},[55736],{"type":431,"value":52135},{"type":426,"tag":553,"props":55738,"children":55739},{"style":566},[55740],{"type":431,"value":55741}," message",{"type":426,"tag":553,"props":55743,"children":55744},{"style":795},[55745],{"type":431,"value":8739},{"type":426,"tag":553,"props":55747,"children":55748},{"style":572},[55749],{"type":431,"value":55750}," `Hi ${",{"type":426,"tag":553,"props":55752,"children":55753},{"style":684},[55754],{"type":431,"value":24468},{"type":426,"tag":553,"props":55756,"children":55757},{"style":572},[55758],{"type":431,"value":55759},"}! Your record has been updated. Check the details in our system.`",{"type":426,"tag":553,"props":55761,"children":55762},{"style":684},[55763],{"type":431,"value":52321},{"type":426,"tag":553,"props":55765,"children":55766},{"class":555,"line":1036},[55767],{"type":426,"tag":553,"props":55768,"children":55769},{"emptyLinePlaceholder":831},[55770],{"type":431,"value":834},{"type":426,"tag":553,"props":55772,"children":55773},{"class":555,"line":1054},[55774,55778,55782,55786,55790,55794,55798,55803],{"type":426,"tag":553,"props":55775,"children":55776},{"style":795},[55777],{"type":431,"value":52135},{"type":426,"tag":553,"props":55779,"children":55780},{"style":566},[55781],{"type":431,"value":53061},{"type":426,"tag":553,"props":55783,"children":55784},{"style":795},[55785],{"type":431,"value":8739},{"type":426,"tag":553,"props":55787,"children":55788},{"style":795},[55789],{"type":431,"value":53070},{"type":426,"tag":553,"props":55791,"children":55792},{"style":560},[55793],{"type":431,"value":52226},{"type":426,"tag":553,"props":55795,"children":55796},{"style":684},[55797],{"type":431,"value":3275},{"type":426,"tag":553,"props":55799,"children":55800},{"style":572},[55801],{"type":431,"value":55802},"'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message'",{"type":426,"tag":553,"props":55804,"children":55805},{"style":684},[55806],{"type":431,"value":53088},{"type":426,"tag":553,"props":55808,"children":55809},{"class":555,"line":1080},[55810,55815,55819],{"type":426,"tag":553,"props":55811,"children":55812},{"style":684},[55813],{"type":431,"value":55814},"  method: ",{"type":426,"tag":553,"props":55816,"children":55817},{"style":572},[55818],{"type":431,"value":8056},{"type":426,"tag":553,"props":55820,"children":55821},{"style":684},[55822],{"type":431,"value":710},{"type":426,"tag":553,"props":55824,"children":55825},{"class":555,"line":1097},[55826],{"type":426,"tag":553,"props":55827,"children":55828},{"style":684},[55829],{"type":431,"value":55830},"  headers: {\n",{"type":426,"tag":553,"props":55832,"children":55833},{"class":555,"line":1114},[55834,55839,55843,55847,55852,55856],{"type":426,"tag":553,"props":55835,"children":55836},{"style":572},[55837],{"type":431,"value":55838},"    'Authorization'",{"type":426,"tag":553,"props":55840,"children":55841},{"style":684},[55842],{"type":431,"value":700},{"type":426,"tag":553,"props":55844,"children":55845},{"style":572},[55846],{"type":431,"value":53129},{"type":426,"tag":553,"props":55848,"children":55849},{"style":684},[55850],{"type":431,"value":55851},"apiKey",{"type":426,"tag":553,"props":55853,"children":55854},{"style":572},[55855],{"type":431,"value":52718},{"type":426,"tag":553,"props":55857,"children":55858},{"style":684},[55859],{"type":431,"value":710},{"type":426,"tag":553,"props":55861,"children":55862},{"class":555,"line":1127},[55863,55868,55872],{"type":426,"tag":553,"props":55864,"children":55865},{"style":572},[55866],{"type":431,"value":55867},"    'Content-Type'",{"type":426,"tag":553,"props":55869,"children":55870},{"style":684},[55871],{"type":431,"value":700},{"type":426,"tag":553,"props":55873,"children":55874},{"style":572},[55875],{"type":431,"value":53158},{"type":426,"tag":553,"props":55877,"children":55878},{"class":555,"line":1167},[55879],{"type":426,"tag":553,"props":55880,"children":55881},{"style":684},[55882],{"type":431,"value":55883},"  },\n",{"type":426,"tag":553,"props":55885,"children":55886},{"class":555,"line":1184},[55887,55892,55896,55900,55904],{"type":426,"tag":553,"props":55888,"children":55889},{"style":684},[55890],{"type":431,"value":55891},"  body: ",{"type":426,"tag":553,"props":55893,"children":55894},{"style":566},[55895],{"type":431,"value":53178},{"type":426,"tag":553,"props":55897,"children":55898},{"style":684},[55899],{"type":431,"value":6789},{"type":426,"tag":553,"props":55901,"children":55902},{"style":560},[55903],{"type":431,"value":53187},{"type":426,"tag":553,"props":55905,"children":55906},{"style":684},[55907],{"type":431,"value":55908},"({ number: phone, message })\n",{"type":426,"tag":553,"props":55910,"children":55911},{"class":555,"line":1192},[55912],{"type":426,"tag":553,"props":55913,"children":55914},{"style":684},[55915],{"type":431,"value":55916},"});\n",{"type":426,"tag":553,"props":55918,"children":55919},{"class":555,"line":1210},[55920],{"type":426,"tag":553,"props":55921,"children":55922},{"emptyLinePlaceholder":831},[55923],{"type":431,"value":834},{"type":426,"tag":553,"props":55925,"children":55926},{"class":555,"line":1253},[55927,55931,55935,55939,55943,55947,55951],{"type":426,"tag":553,"props":55928,"children":55929},{"style":795},[55930],{"type":431,"value":52135},{"type":426,"tag":553,"props":55932,"children":55933},{"style":566},[55934],{"type":431,"value":53508},{"type":426,"tag":553,"props":55936,"children":55937},{"style":795},[55938],{"type":431,"value":8739},{"type":426,"tag":553,"props":55940,"children":55941},{"style":795},[55942],{"type":431,"value":53070},{"type":426,"tag":553,"props":55944,"children":55945},{"style":684},[55946],{"type":431,"value":53218},{"type":426,"tag":553,"props":55948,"children":55949},{"style":560},[55950],{"type":431,"value":673},{"type":426,"tag":553,"props":55952,"children":55953},{"style":684},[55954],{"type":431,"value":53227},{"type":426,"tag":553,"props":55956,"children":55957},{"class":555,"line":1302},[55958,55963,55968,55972,55976,55981,55985,55990],{"type":426,"tag":553,"props":55959,"children":55960},{"style":684},[55961],{"type":431,"value":55962},"output.",{"type":426,"tag":553,"props":55964,"children":55965},{"style":560},[55966],{"type":431,"value":55967},"set",{"type":426,"tag":553,"props":55969,"children":55970},{"style":684},[55971],{"type":431,"value":3275},{"type":426,"tag":553,"props":55973,"children":55974},{"style":572},[55975],{"type":431,"value":8316},{"type":426,"tag":553,"props":55977,"children":55978},{"style":684},[55979],{"type":431,"value":55980},", result.messageId ",{"type":426,"tag":553,"props":55982,"children":55983},{"style":795},[55984],{"type":431,"value":53296},{"type":426,"tag":553,"props":55986,"children":55987},{"style":572},[55988],{"type":431,"value":55989}," 'failed'",{"type":426,"tag":553,"props":55991,"children":55992},{"style":684},[55993],{"type":431,"value":11379},{"type":426,"tag":553,"props":55995,"children":55996},{"class":555,"line":1374},[55997,56001,56005,56009,56013],{"type":426,"tag":553,"props":55998,"children":55999},{"style":684},[56000],{"type":431,"value":55962},{"type":426,"tag":553,"props":56002,"children":56003},{"style":560},[56004],{"type":431,"value":55967},{"type":426,"tag":553,"props":56006,"children":56007},{"style":684},[56008],{"type":431,"value":3275},{"type":426,"tag":553,"props":56010,"children":56011},{"style":572},[56012],{"type":431,"value":2982},{"type":426,"tag":553,"props":56014,"children":56015},{"style":684},[56016],{"type":431,"value":56017},", result.status);\n",{"type":426,"tag":427,"props":56019,"children":56020},{},[56021,56023,56028,56029,56034],{"type":431,"value":56022},"Configure the script to receive ",{"type":426,"tag":549,"props":56024,"children":56026},{"className":56025},[],[56027],{"type":431,"value":37598},{"type":431,"value":48630},{"type":426,"tag":549,"props":56030,"children":56032},{"className":56031},[],[56033],{"type":431,"value":24468},{"type":431,"value":56035}," as input variables from the trigger record.",{"type":426,"tag":434,"props":56037,"children":56038},{"id":18886},[56039],{"type":431,"value":18889},{"type":426,"tag":454,"props":56041,"children":56042},{},[56043,56059,56076,56093],{"type":426,"tag":458,"props":56044,"children":56045},{},[56046,56051,56053],{"type":426,"tag":446,"props":56047,"children":56048},{},[56049],{"type":431,"value":56050},"Phone number format issues",{"type":431,"value":56052},": Airtable stores numbers exactly as entered. Add a formula field to clean the format: ",{"type":426,"tag":549,"props":56054,"children":56056},{"className":56055},[],[56057],{"type":431,"value":56058},"SUBSTITUTE(SUBSTITUTE({Phone}, \"+\", \"\"), \" \", \"\")",{"type":426,"tag":458,"props":56060,"children":56061},{},[56062,56067,56069,56074],{"type":426,"tag":446,"props":56063,"children":56064},{},[56065],{"type":431,"value":56066},"Trigger firing for every field change",{"type":431,"value":56068},": Use an IF node in n8n to check only the specific field you care about (e.g., ",{"type":426,"tag":549,"props":56070,"children":56072},{"className":56071},[],[56073],{"type":431,"value":54821},{"type":431,"value":56075}," changed to specific value)",{"type":426,"tag":458,"props":56077,"children":56078},{},[56079,56084,56086,56091],{"type":426,"tag":446,"props":56080,"children":56081},{},[56082],{"type":431,"value":56083},"Duplicate notifications",{"type":431,"value":56085},": Add a ",{"type":426,"tag":549,"props":56087,"children":56089},{"className":56088},[],[56090],{"type":431,"value":55459},{"type":431,"value":56092}," checkbox field in Airtable and check it in your IF node before sending",{"type":426,"tag":458,"props":56094,"children":56095},{},[56096,56100],{"type":426,"tag":446,"props":56097,"children":56098},{},[56099],{"type":431,"value":26117},{"type":431,"value":26119},{"type":426,"tag":434,"props":56102,"children":56103},{"id":4109},[56104],{"type":431,"value":4112},{"type":426,"tag":427,"props":56106,"children":56107},{},[56108,56113],{"type":426,"tag":446,"props":56109,"children":56110},{},[56111],{"type":431,"value":56112},"Does Airtable have a native WhatsApp integration?",{"type":431,"value":56114},"\nNo. Airtable connects to WhatsApp through third-party tools like n8n, Zapier, or Make.com using Rapiwa API as the WhatsApp delivery layer.",{"type":426,"tag":427,"props":56116,"children":56117},{},[56118,56123],{"type":426,"tag":446,"props":56119,"children":56120},{},[56121],{"type":431,"value":56122},"Can I use Airtable as a WhatsApp contact list?",{"type":431,"value":56124},"\nYes. Build an Airtable base with columns for name, phone, message, and send status. Use n8n to query the base and send WhatsApp messages to each contact.",{"type":426,"tag":427,"props":56126,"children":56127},{},[56128,56133],{"type":426,"tag":446,"props":56129,"children":56130},{},[56131],{"type":431,"value":56132},"Does Rapiwa charge per Airtable-triggered message?",{"type":431,"value":56134},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees — send unlimited notifications from Airtable.",{"type":426,"tag":427,"props":56136,"children":56137},{},[56138,56143,56145,56151],{"type":426,"tag":446,"props":56139,"children":56140},{},[56141],{"type":431,"value":56142},"What is the best way to handle phone number formatting from Airtable?",{"type":431,"value":56144},"\nCreate a formula field in Airtable: ",{"type":426,"tag":549,"props":56146,"children":56148},{"className":56147},[],[56149],{"type":431,"value":56150},"REGEXREPLACE({Phone Raw}, \"[^0-9]\", \"\")",{"type":431,"value":56152},". This strips all non-digits and gives you a clean international number for Rapiwa.",{"type":426,"tag":427,"props":56154,"children":56155},{},[56156,56161],{"type":426,"tag":446,"props":56157,"children":56158},{},[56159],{"type":431,"value":56160},"Can I receive WhatsApp replies and update Airtable records?",{"type":431,"value":56162},"\nYes. Set up a Rapiwa webhook → n8n → Airtable update workflow. When a customer replies to your WhatsApp message, the incoming text updates a field in the corresponding Airtable record.",{"type":426,"tag":4164,"props":56164,"children":56165},{},[56166],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":56168},[56169,56170,56171,56172,56173,56174,56175,56176,56182,56183,56184],{"id":54682,"depth":588,"text":54685},{"id":47624,"depth":588,"text":47627},{"id":54783,"depth":588,"text":54786},{"id":54919,"depth":588,"text":54922},{"id":55006,"depth":588,"text":55009},{"id":55101,"depth":588,"text":55104},{"id":55404,"depth":588,"text":55407},{"id":55490,"depth":588,"text":55493,"children":56177},[56178,56179,56180,56181],{"id":55496,"depth":606,"text":55499},{"id":55510,"depth":606,"text":55513},{"id":55524,"depth":606,"text":55527},{"id":55538,"depth":606,"text":55541},{"id":55552,"depth":588,"text":55555},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-airtable-rapiwa.md","blog\u002Fwhatsapp-api-airtable-rapiwa.md","blog\u002Fwhatsapp-api-airtable-rapiwa",{"loc":77},{"_path":81,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":82,"description":83,"date":56190,"author":30617,"category":8,"_slug":56191,"image":56192,"body":56193,"_type":4187,"_id":60016,"_source":4189,"_file":60017,"_stem":60018,"_extension":4192,"sitemap":60019},"2026-03-09","whatsapp-invoice-payment-reminder-api-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-invoice-payment-reminder-api-rapiwa.svg",{"type":423,"children":56194,"toc":60003},[56195,56207,56213,56309,56319,56325,56335,56345,56355,56361,56366,56459,56466,56542,56548,56559,56668,56674,58995,59001,59746,59752,59887,59891,59945,59949,59959,59969,59979,59989,59999],{"type":426,"tag":427,"props":56196,"children":56197},{},[56198,56200,56205],{"type":431,"value":56199},"You can send WhatsApp invoices and payment reminders using Rapiwa API by calling ",{"type":426,"tag":549,"props":56201,"children":56203},{"className":56202},[],[56204],{"type":431,"value":7216},{"type":431,"value":56206}," with the invoice details in the message body. WhatsApp invoices have a 98% open rate versus 20% for email — customers pay 2–3x faster when reminders arrive on WhatsApp. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":56208,"children":56210},{"id":56209},"why-whatsapp-beats-email-for-invoices",[56211],{"type":431,"value":56212},"Why WhatsApp Beats Email for Invoices",{"type":426,"tag":10600,"props":56214,"children":56215},{},[56216,56241],{"type":426,"tag":10604,"props":56217,"children":56218},{},[56219],{"type":426,"tag":10608,"props":56220,"children":56221},{},[56222,56227,56231,56236],{"type":426,"tag":10612,"props":56223,"children":56224},{},[56225],{"type":431,"value":56226},"Channel",{"type":426,"tag":10612,"props":56228,"children":56229},{},[56230],{"type":431,"value":30666},{"type":426,"tag":10612,"props":56232,"children":56233},{},[56234],{"type":431,"value":56235},"Average pay time",{"type":426,"tag":10612,"props":56237,"children":56238},{},[56239],{"type":431,"value":56240},"Read within 5 min",{"type":426,"tag":10623,"props":56242,"children":56243},{},[56244,56265,56286],{"type":426,"tag":10608,"props":56245,"children":56246},{},[56247,56251,56255,56260],{"type":426,"tag":10630,"props":56248,"children":56249},{},[56250],{"type":431,"value":30650},{"type":426,"tag":10630,"props":56252,"children":56253},{},[56254],{"type":431,"value":30671},{"type":426,"tag":10630,"props":56256,"children":56257},{},[56258],{"type":431,"value":56259},"1–3 days",{"type":426,"tag":10630,"props":56261,"children":56262},{},[56263],{"type":431,"value":56264},"85%",{"type":426,"tag":10608,"props":56266,"children":56267},{},[56268,56272,56276,56281],{"type":426,"tag":10630,"props":56269,"children":56270},{},[56271],{"type":431,"value":30655},{"type":426,"tag":10630,"props":56273,"children":56274},{},[56275],{"type":431,"value":30676},{"type":426,"tag":10630,"props":56277,"children":56278},{},[56279],{"type":431,"value":56280},"7–14 days",{"type":426,"tag":10630,"props":56282,"children":56283},{},[56284],{"type":431,"value":56285},"12%",{"type":426,"tag":10608,"props":56287,"children":56288},{},[56289,56294,56299,56304],{"type":426,"tag":10630,"props":56290,"children":56291},{},[56292],{"type":431,"value":56293},"SMS",{"type":426,"tag":10630,"props":56295,"children":56296},{},[56297],{"type":431,"value":56298},"90%",{"type":426,"tag":10630,"props":56300,"children":56301},{},[56302],{"type":431,"value":56303},"3–5 days",{"type":426,"tag":10630,"props":56305,"children":56306},{},[56307],{"type":431,"value":56308},"68%",{"type":426,"tag":427,"props":56310,"children":56311},{},[56312,56317],{"type":426,"tag":446,"props":56313,"children":56314},{},[56315],{"type":431,"value":56316},"Rapiwa is the cheapest WhatsApp API for invoicing",{"type":431,"value":56318},": $5\u002Fmonth flat. No per-message fees. Compare this to SMS gateways that charge $0.01–$0.10 per message — for 500 invoices\u002Fmonth that's $5–$50 in SMS fees alone.",{"type":426,"tag":434,"props":56320,"children":56322},{"id":56321},"invoice-automation-workflows",[56323],{"type":431,"value":56324},"Invoice Automation Workflows",{"type":426,"tag":427,"props":56326,"children":56327},{},[56328,56333],{"type":426,"tag":446,"props":56329,"children":56330},{},[56331],{"type":431,"value":56332},"Use case 1: Invoice on order completion",{"type":431,"value":56334},"\nNew WooCommerce\u002FShopify order → generate PDF invoice → send via WhatsApp",{"type":426,"tag":427,"props":56336,"children":56337},{},[56338,56343],{"type":426,"tag":446,"props":56339,"children":56340},{},[56341],{"type":431,"value":56342},"Use case 2: Payment reminder sequence",{"type":431,"value":56344},"\nInvoice unpaid after 3 days → WhatsApp reminder\nInvoice unpaid after 7 days → Second reminder with urgency\nInvoice unpaid after 14 days → Final notice",{"type":426,"tag":427,"props":56346,"children":56347},{},[56348,56353],{"type":426,"tag":446,"props":56349,"children":56350},{},[56351],{"type":431,"value":56352},"Use case 3: Recurring invoice notification",{"type":431,"value":56354},"\nMonthly subscription renews → WhatsApp invoice link",{"type":426,"tag":434,"props":56356,"children":56358},{"id":56357},"step-1-send-an-invoice-message-text-format",[56359],{"type":431,"value":56360},"Step 1: Send an Invoice Message (Text Format)",{"type":426,"tag":515,"props":56362,"children":56363},{"id":563},[56364],{"type":431,"value":56365},"cURL",{"type":426,"tag":542,"props":56367,"children":56369},{"className":546,"code":56368,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Invoice #INV-2026-001\\n\\nDear Sarah Johnson,\\n\\nYour invoice for June services is ready.\\n\\n*Services:* Web Development\\n*Period:* June 1–30, 2026\\n*Amount Due:* $1,500.00\\n*Due Date:* July 10, 2026\\n\\nPay online: https:\u002F\u002Fpay.yourcompany.com\u002FINV-2026-001\\n\\nThank you for your business!\\n— YourCompany\"\n  }'\n",[56370],{"type":426,"tag":549,"props":56371,"children":56372},{"__ignoreMap":417},[56373,56396,56411,56426,56437,56444,56452],{"type":426,"tag":553,"props":56374,"children":56375},{"class":555,"line":556},[56376,56380,56384,56388,56392],{"type":426,"tag":553,"props":56377,"children":56378},{"style":560},[56379],{"type":431,"value":563},{"type":426,"tag":553,"props":56381,"children":56382},{"style":566},[56383],{"type":431,"value":569},{"type":426,"tag":553,"props":56385,"children":56386},{"style":572},[56387],{"type":431,"value":575},{"type":426,"tag":553,"props":56389,"children":56390},{"style":572},[56391],{"type":431,"value":580},{"type":426,"tag":553,"props":56393,"children":56394},{"style":566},[56395],{"type":431,"value":585},{"type":426,"tag":553,"props":56397,"children":56398},{"class":555,"line":588},[56399,56403,56407],{"type":426,"tag":553,"props":56400,"children":56401},{"style":566},[56402],{"type":431,"value":594},{"type":426,"tag":553,"props":56404,"children":56405},{"style":572},[56406],{"type":431,"value":599},{"type":426,"tag":553,"props":56408,"children":56409},{"style":566},[56410],{"type":431,"value":585},{"type":426,"tag":553,"props":56412,"children":56413},{"class":555,"line":606},[56414,56418,56422],{"type":426,"tag":553,"props":56415,"children":56416},{"style":566},[56417],{"type":431,"value":594},{"type":426,"tag":553,"props":56419,"children":56420},{"style":572},[56421],{"type":431,"value":616},{"type":426,"tag":553,"props":56423,"children":56424},{"style":566},[56425],{"type":431,"value":585},{"type":426,"tag":553,"props":56427,"children":56428},{"class":555,"line":623},[56429,56433],{"type":426,"tag":553,"props":56430,"children":56431},{"style":566},[56432],{"type":431,"value":629},{"type":426,"tag":553,"props":56434,"children":56435},{"style":572},[56436],{"type":431,"value":634},{"type":426,"tag":553,"props":56438,"children":56439},{"class":555,"line":637},[56440],{"type":426,"tag":553,"props":56441,"children":56442},{"style":572},[56443],{"type":431,"value":643},{"type":426,"tag":553,"props":56445,"children":56446},{"class":555,"line":646},[56447],{"type":426,"tag":553,"props":56448,"children":56449},{"style":572},[56450],{"type":431,"value":56451},"    \"message\": \"Invoice #INV-2026-001\\n\\nDear Sarah Johnson,\\n\\nYour invoice for June services is ready.\\n\\n*Services:* Web Development\\n*Period:* June 1–30, 2026\\n*Amount Due:* $1,500.00\\n*Due Date:* July 10, 2026\\n\\nPay online: https:\u002F\u002Fpay.yourcompany.com\u002FINV-2026-001\\n\\nThank you for your business!\\n— YourCompany\"\n",{"type":426,"tag":553,"props":56453,"children":56454},{"class":555,"line":655},[56455],{"type":426,"tag":553,"props":56456,"children":56457},{"style":572},[56458],{"type":431,"value":661},{"type":426,"tag":427,"props":56460,"children":56461},{},[56462],{"type":426,"tag":446,"props":56463,"children":56464},{},[56465],{"type":431,"value":669},{"type":426,"tag":542,"props":56467,"children":56469},{"className":674,"code":56468,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_invoice_abc123\",\n  \"timestamp\": \"2026-07-02T10:30:00Z\"\n}\n",[56470],{"type":426,"tag":549,"props":56471,"children":56472},{"__ignoreMap":417},[56473,56480,56499,56519,56535],{"type":426,"tag":553,"props":56474,"children":56475},{"class":555,"line":556},[56476],{"type":426,"tag":553,"props":56477,"children":56478},{"style":684},[56479],{"type":431,"value":687},{"type":426,"tag":553,"props":56481,"children":56482},{"class":555,"line":588},[56483,56487,56491,56495],{"type":426,"tag":553,"props":56484,"children":56485},{"style":566},[56486],{"type":431,"value":695},{"type":426,"tag":553,"props":56488,"children":56489},{"style":684},[56490],{"type":431,"value":700},{"type":426,"tag":553,"props":56492,"children":56493},{"style":572},[56494],{"type":431,"value":705},{"type":426,"tag":553,"props":56496,"children":56497},{"style":684},[56498],{"type":431,"value":710},{"type":426,"tag":553,"props":56500,"children":56501},{"class":555,"line":606},[56502,56506,56510,56515],{"type":426,"tag":553,"props":56503,"children":56504},{"style":566},[56505],{"type":431,"value":718},{"type":426,"tag":553,"props":56507,"children":56508},{"style":684},[56509],{"type":431,"value":700},{"type":426,"tag":553,"props":56511,"children":56512},{"style":572},[56513],{"type":431,"value":56514},"\"msg_invoice_abc123\"",{"type":426,"tag":553,"props":56516,"children":56517},{"style":684},[56518],{"type":431,"value":710},{"type":426,"tag":553,"props":56520,"children":56521},{"class":555,"line":623},[56522,56526,56530],{"type":426,"tag":553,"props":56523,"children":56524},{"style":566},[56525],{"type":431,"value":739},{"type":426,"tag":553,"props":56527,"children":56528},{"style":684},[56529],{"type":431,"value":700},{"type":426,"tag":553,"props":56531,"children":56532},{"style":572},[56533],{"type":431,"value":56534},"\"2026-07-02T10:30:00Z\"\n",{"type":426,"tag":553,"props":56536,"children":56537},{"class":555,"line":637},[56538],{"type":426,"tag":553,"props":56539,"children":56540},{"style":684},[56541],{"type":431,"value":756},{"type":426,"tag":434,"props":56543,"children":56545},{"id":56544},"step-2-send-invoice-as-pdf-attachment",[56546],{"type":431,"value":56547},"Step 2: Send Invoice as PDF Attachment",{"type":426,"tag":427,"props":56549,"children":56550},{},[56551,56553,56558],{"type":431,"value":56552},"For PDF invoices, host the PDF and send via ",{"type":426,"tag":549,"props":56554,"children":56556},{"className":56555},[],[56557],{"type":431,"value":7868},{"type":431,"value":19071},{"type":426,"tag":542,"props":56560,"children":56562},{"className":546,"code":56561,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"documentUrl\": \"https:\u002F\u002Fyoursite.com\u002Finvoices\u002FINV-2026-001.pdf\",\n    \"filename\": \"Invoice-INV-2026-001.pdf\",\n    \"caption\": \"Invoice #INV-2026-001 — $1,500 due by July 10, 2026. Pay at: https:\u002F\u002Fpay.yourcompany.com\u002FINV-2026-001\"\n  }'\n",[56563],{"type":426,"tag":549,"props":56564,"children":56565},{"__ignoreMap":417},[56566,56589,56604,56619,56630,56637,56645,56653,56661],{"type":426,"tag":553,"props":56567,"children":56568},{"class":555,"line":556},[56569,56573,56577,56581,56585],{"type":426,"tag":553,"props":56570,"children":56571},{"style":560},[56572],{"type":431,"value":563},{"type":426,"tag":553,"props":56574,"children":56575},{"style":566},[56576],{"type":431,"value":569},{"type":426,"tag":553,"props":56578,"children":56579},{"style":572},[56580],{"type":431,"value":575},{"type":426,"tag":553,"props":56582,"children":56583},{"style":572},[56584],{"type":431,"value":5244},{"type":426,"tag":553,"props":56586,"children":56587},{"style":566},[56588],{"type":431,"value":585},{"type":426,"tag":553,"props":56590,"children":56591},{"class":555,"line":588},[56592,56596,56600],{"type":426,"tag":553,"props":56593,"children":56594},{"style":566},[56595],{"type":431,"value":594},{"type":426,"tag":553,"props":56597,"children":56598},{"style":572},[56599],{"type":431,"value":599},{"type":426,"tag":553,"props":56601,"children":56602},{"style":566},[56603],{"type":431,"value":585},{"type":426,"tag":553,"props":56605,"children":56606},{"class":555,"line":606},[56607,56611,56615],{"type":426,"tag":553,"props":56608,"children":56609},{"style":566},[56610],{"type":431,"value":594},{"type":426,"tag":553,"props":56612,"children":56613},{"style":572},[56614],{"type":431,"value":616},{"type":426,"tag":553,"props":56616,"children":56617},{"style":566},[56618],{"type":431,"value":585},{"type":426,"tag":553,"props":56620,"children":56621},{"class":555,"line":623},[56622,56626],{"type":426,"tag":553,"props":56623,"children":56624},{"style":566},[56625],{"type":431,"value":629},{"type":426,"tag":553,"props":56627,"children":56628},{"style":572},[56629],{"type":431,"value":634},{"type":426,"tag":553,"props":56631,"children":56632},{"class":555,"line":637},[56633],{"type":426,"tag":553,"props":56634,"children":56635},{"style":572},[56636],{"type":431,"value":643},{"type":426,"tag":553,"props":56638,"children":56639},{"class":555,"line":646},[56640],{"type":426,"tag":553,"props":56641,"children":56642},{"style":572},[56643],{"type":431,"value":56644},"    \"documentUrl\": \"https:\u002F\u002Fyoursite.com\u002Finvoices\u002FINV-2026-001.pdf\",\n",{"type":426,"tag":553,"props":56646,"children":56647},{"class":555,"line":655},[56648],{"type":426,"tag":553,"props":56649,"children":56650},{"style":572},[56651],{"type":431,"value":56652},"    \"filename\": \"Invoice-INV-2026-001.pdf\",\n",{"type":426,"tag":553,"props":56654,"children":56655},{"class":555,"line":1036},[56656],{"type":426,"tag":553,"props":56657,"children":56658},{"style":572},[56659],{"type":431,"value":56660},"    \"caption\": \"Invoice #INV-2026-001 — $1,500 due by July 10, 2026. Pay at: https:\u002F\u002Fpay.yourcompany.com\u002FINV-2026-001\"\n",{"type":426,"tag":553,"props":56662,"children":56663},{"class":555,"line":1054},[56664],{"type":426,"tag":553,"props":56665,"children":56666},{"style":572},[56667],{"type":431,"value":661},{"type":426,"tag":434,"props":56669,"children":56671},{"id":56670},"step-3-invoice-payment-reminder-system-in-python",[56672],{"type":431,"value":56673},"Step 3: Invoice + Payment Reminder System in Python",{"type":426,"tag":542,"props":56675,"children":56677},{"className":785,"code":56676,"language":784,"meta":417,"style":417},"# invoice_notifier.py\n# pip install requests schedule psycopg2-binary\n\nimport requests\nimport schedule\nimport time\nimport psycopg2\nfrom datetime import datetime, date\n\nRAPIWA_API_KEY = 'YOUR_API_KEY'\n\n\ndef send_whatsapp(phone: str, message: str) -> dict:\n    \"\"\"Send a WhatsApp message via Rapiwa.\"\"\"\n    response = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': phone, 'message': message},\n        timeout=10\n    )\n    return response.json()\n\n\ndef send_invoice_notification(phone: str, name: str, invoice_num: str, \n                              amount: float, due_date: str, pay_url: str) -> dict:\n    \"\"\"Send initial invoice notification.\"\"\"\n    message = (\n        f\"Invoice #{invoice_num}\\n\\n\"\n        f\"Hi {name}!\\n\\n\"\n        f\"Your invoice is ready:\\n\"\n        f\"*Amount Due:* ${amount:,.2f}\\n\"\n        f\"*Due Date:* {due_date}\\n\\n\"\n        f\"💳 Pay now: {pay_url}\\n\\n\"\n        f\"Reply with any questions — we're happy to help!\"\n    )\n    return send_whatsapp(phone, message)\n\n\ndef send_payment_reminder(phone: str, name: str, invoice_num: str,\n                          amount: float, due_date: str, days_overdue: int,\n                          pay_url: str) -> dict:\n    \"\"\"Send a payment reminder (overdue).\"\"\"\n    if days_overdue \u003C= 0:\n        # Pre-due reminder (3 days before)\n        urgency = \"friendly\"\n        prefix = f\"Quick reminder 😊\"\n        suffix = \"No action needed if you've already paid!\"\n    elif days_overdue \u003C= 7:\n        urgency = \"moderate\"\n        prefix = f\"Invoice #{invoice_num} is now *{days_overdue} days overdue*\"\n        suffix = \"Please pay as soon as possible to avoid any late fees.\"\n    else:\n        urgency = \"urgent\"\n        prefix = f\"⚠️ URGENT: Invoice #{invoice_num} is *{days_overdue} days overdue*\"\n        suffix = \"Please pay immediately or contact us to arrange a payment plan.\"\n    \n    message = (\n        f\"{prefix}\\n\\n\"\n        f\"Hi {name},\\n\\n\"\n        f\"*Invoice:* #{invoice_num}\\n\"\n        f\"*Amount Due:* ${amount:,.2f}\\n\"\n        f\"*Original Due Date:* {due_date}\\n\\n\"\n        f\"💳 Pay now: {pay_url}\\n\\n\"\n        f\"{suffix}\"\n    )\n    \n    return send_whatsapp(phone, message)\n\n\ndef process_invoice_reminders():\n    \"\"\"\n    Query database for invoices needing reminders and send them.\n    Run this daily.\n    \"\"\"\n    conn = psycopg2.connect(\"postgresql:\u002F\u002Fuser:pass@localhost\u002Fbilling\")\n    cursor = conn.cursor()\n    \n    today = date.today()\n    \n    # Query unpaid invoices that need reminders\n    cursor.execute(\"\"\"\n        SELECT \n            i.id, i.invoice_number, i.amount, i.due_date,\n            i.pay_url, i.last_reminder_sent,\n            c.phone, c.name\n        FROM invoices i\n        JOIN customers c ON i.customer_id = c.id\n        WHERE i.status = 'unpaid'\n          AND c.phone IS NOT NULL\n          AND (\n            -- 3 days before due (pre-reminder)\n            i.due_date = %s + INTERVAL '3 days'\n            -- Due today\n            OR i.due_date = %s\n            -- 3 days overdue (first reminder)\n            OR (i.due_date = %s - INTERVAL '3 days' \n                AND (i.last_reminder_sent IS NULL \n                     OR i.last_reminder_sent \u003C %s - INTERVAL '3 days'))\n            -- 7 days overdue\n            OR (i.due_date = %s - INTERVAL '7 days'\n                AND (i.last_reminder_sent IS NULL\n                     OR i.last_reminder_sent \u003C %s - INTERVAL '7 days'))\n            -- 14 days overdue (final notice)\n            OR (i.due_date = %s - INTERVAL '14 days'\n                AND (i.last_reminder_sent IS NULL\n                     OR i.last_reminder_sent \u003C %s - INTERVAL '14 days'))\n          )\n    \"\"\", [today] * 8)\n    \n    invoices = cursor.fetchall()\n    print(f\"Sending {len(invoices)} invoice reminders\")\n    \n    for row in invoices:\n        (inv_id, inv_num, amount, due_date, pay_url, \n         last_reminder, phone, name) = row\n        \n        days_overdue = (today - due_date).days\n        \n        result = send_payment_reminder(\n            phone=phone,\n            name=name,\n            invoice_num=inv_num,\n            amount=float(amount),\n            due_date=due_date.strftime('%B %d, %Y'),\n            days_overdue=days_overdue,\n            pay_url=pay_url\n        )\n        \n        if result.get('status') == 'success':\n            cursor.execute(\n                \"UPDATE invoices SET last_reminder_sent = %s WHERE id = %s\",\n                [today, inv_id]\n            )\n    \n    conn.commit()\n    cursor.close()\n    conn.close()\n\n\n# Schedule: run every day at 9 AM\nschedule.every().day.at(\"09:00\").do(process_invoice_reminders)\n\nif __name__ == \"__main__\":\n    print(\"Invoice reminder service started...\")\n    process_invoice_reminders()  # Run once immediately\n    while True:\n        schedule.run_pending()\n        time.sleep(60)\n",[56678],{"type":426,"tag":549,"props":56679,"children":56680},{"__ignoreMap":417},[56681,56689,56697,56704,56715,56726,56737,56748,56768,56775,56790,56797,56804,56843,56851,56866,56877,56920,56951,56967,56974,56985,56992,56999,57040,57082,57090,57105,57134,57169,57189,57222,57251,57280,57292,57299,57310,57317,57324,57364,57397,57421,57429,57453,57461,57478,57499,57516,57540,57556,57610,57626,57637,57653,57706,57722,57729,57744,57772,57807,57835,57866,57894,57921,57949,57956,57963,57974,57981,57988,58004,58011,58019,58027,58034,58058,58075,58082,58097,58104,58112,58124,58131,58139,58147,58155,58163,58171,58179,58187,58195,58203,58220,58228,58240,58248,58265,58273,58290,58298,58314,58322,58338,58346,58362,58369,58385,58393,58418,58425,58442,58485,58492,58513,58521,58538,58545,58571,58578,58594,58609,58624,58641,58661,58695,58712,58729,58736,58743,58774,58782,58810,58818,58825,58832,58840,58848,58855,58862,58869,58877,58893,58900,58924,58944,58957,58972,58980],{"type":426,"tag":553,"props":56682,"children":56683},{"class":555,"line":556},[56684],{"type":426,"tag":553,"props":56685,"children":56686},{"style":1975},[56687],{"type":431,"value":56688},"# invoice_notifier.py\n",{"type":426,"tag":553,"props":56690,"children":56691},{"class":555,"line":588},[56692],{"type":426,"tag":553,"props":56693,"children":56694},{"style":1975},[56695],{"type":431,"value":56696},"# pip install requests schedule psycopg2-binary\n",{"type":426,"tag":553,"props":56698,"children":56699},{"class":555,"line":606},[56700],{"type":426,"tag":553,"props":56701,"children":56702},{"emptyLinePlaceholder":831},[56703],{"type":431,"value":834},{"type":426,"tag":553,"props":56705,"children":56706},{"class":555,"line":623},[56707,56711],{"type":426,"tag":553,"props":56708,"children":56709},{"style":795},[56710],{"type":431,"value":798},{"type":426,"tag":553,"props":56712,"children":56713},{"style":684},[56714],{"type":431,"value":803},{"type":426,"tag":553,"props":56716,"children":56717},{"class":555,"line":637},[56718,56722],{"type":426,"tag":553,"props":56719,"children":56720},{"style":795},[56721],{"type":431,"value":798},{"type":426,"tag":553,"props":56723,"children":56724},{"style":684},[56725],{"type":431,"value":6378},{"type":426,"tag":553,"props":56727,"children":56728},{"class":555,"line":646},[56729,56733],{"type":426,"tag":553,"props":56730,"children":56731},{"style":795},[56732],{"type":431,"value":798},{"type":426,"tag":553,"props":56734,"children":56735},{"style":684},[56736],{"type":431,"value":3081},{"type":426,"tag":553,"props":56738,"children":56739},{"class":555,"line":655},[56740,56744],{"type":426,"tag":553,"props":56741,"children":56742},{"style":795},[56743],{"type":431,"value":798},{"type":426,"tag":553,"props":56745,"children":56746},{"style":684},[56747],{"type":431,"value":11840},{"type":426,"tag":553,"props":56749,"children":56750},{"class":555,"line":1036},[56751,56755,56759,56763],{"type":426,"tag":553,"props":56752,"children":56753},{"style":795},[56754],{"type":431,"value":811},{"type":426,"tag":553,"props":56756,"children":56757},{"style":684},[56758],{"type":431,"value":816},{"type":426,"tag":553,"props":56760,"children":56761},{"style":795},[56762],{"type":431,"value":798},{"type":426,"tag":553,"props":56764,"children":56765},{"style":684},[56766],{"type":431,"value":56767}," datetime, date\n",{"type":426,"tag":553,"props":56769,"children":56770},{"class":555,"line":1054},[56771],{"type":426,"tag":553,"props":56772,"children":56773},{"emptyLinePlaceholder":831},[56774],{"type":431,"value":834},{"type":426,"tag":553,"props":56776,"children":56777},{"class":555,"line":1080},[56778,56782,56786],{"type":426,"tag":553,"props":56779,"children":56780},{"style":566},[56781],{"type":431,"value":7156},{"type":426,"tag":553,"props":56783,"children":56784},{"style":795},[56785],{"type":431,"value":8739},{"type":426,"tag":553,"props":56787,"children":56788},{"style":572},[56789],{"type":431,"value":23292},{"type":426,"tag":553,"props":56791,"children":56792},{"class":555,"line":1097},[56793],{"type":426,"tag":553,"props":56794,"children":56795},{"emptyLinePlaceholder":831},[56796],{"type":431,"value":834},{"type":426,"tag":553,"props":56798,"children":56799},{"class":555,"line":1114},[56800],{"type":426,"tag":553,"props":56801,"children":56802},{"emptyLinePlaceholder":831},[56803],{"type":431,"value":834},{"type":426,"tag":553,"props":56805,"children":56806},{"class":555,"line":1127},[56807,56811,56815,56819,56823,56827,56831,56835,56839],{"type":426,"tag":553,"props":56808,"children":56809},{"style":795},[56810],{"type":431,"value":842},{"type":426,"tag":553,"props":56812,"children":56813},{"style":560},[56814],{"type":431,"value":20746},{"type":426,"tag":553,"props":56816,"children":56817},{"style":684},[56818],{"type":431,"value":7446},{"type":426,"tag":553,"props":56820,"children":56821},{"style":566},[56822],{"type":431,"value":895},{"type":426,"tag":553,"props":56824,"children":56825},{"style":684},[56826],{"type":431,"value":8713},{"type":426,"tag":553,"props":56828,"children":56829},{"style":566},[56830],{"type":431,"value":895},{"type":426,"tag":553,"props":56832,"children":56833},{"style":684},[56834],{"type":431,"value":900},{"type":426,"tag":553,"props":56836,"children":56837},{"style":566},[56838],{"type":431,"value":857},{"type":426,"tag":553,"props":56840,"children":56841},{"style":684},[56842],{"type":431,"value":909},{"type":426,"tag":553,"props":56844,"children":56845},{"class":555,"line":1167},[56846],{"type":426,"tag":553,"props":56847,"children":56848},{"style":572},[56849],{"type":431,"value":56850},"    \"\"\"Send a WhatsApp message via Rapiwa.\"\"\"\n",{"type":426,"tag":553,"props":56852,"children":56853},{"class":555,"line":1184},[56854,56858,56862],{"type":426,"tag":553,"props":56855,"children":56856},{"style":684},[56857],{"type":431,"value":8117},{"type":426,"tag":553,"props":56859,"children":56860},{"style":795},[56861],{"type":431,"value":957},{"type":426,"tag":553,"props":56863,"children":56864},{"style":684},[56865],{"type":431,"value":1664},{"type":426,"tag":553,"props":56867,"children":56868},{"class":555,"line":1192},[56869,56873],{"type":426,"tag":553,"props":56870,"children":56871},{"style":572},[56872],{"type":431,"value":1673},{"type":426,"tag":553,"props":56874,"children":56875},{"style":684},[56876],{"type":431,"value":710},{"type":426,"tag":553,"props":56878,"children":56879},{"class":555,"line":1210},[56880,56884,56888,56892,56896,56900,56904,56908,56912,56916],{"type":426,"tag":553,"props":56881,"children":56882},{"style":1684},[56883],{"type":431,"value":1687},{"type":426,"tag":553,"props":56885,"children":56886},{"style":795},[56887],{"type":431,"value":957},{"type":426,"tag":553,"props":56889,"children":56890},{"style":684},[56891],{"type":431,"value":972},{"type":426,"tag":553,"props":56893,"children":56894},{"style":572},[56895],{"type":431,"value":1700},{"type":426,"tag":553,"props":56897,"children":56898},{"style":684},[56899],{"type":431,"value":700},{"type":426,"tag":553,"props":56901,"children":56902},{"style":795},[56903],{"type":431,"value":1709},{"type":426,"tag":553,"props":56905,"children":56906},{"style":572},[56907],{"type":431,"value":1714},{"type":426,"tag":553,"props":56909,"children":56910},{"style":566},[56911],{"type":431,"value":20835},{"type":426,"tag":553,"props":56913,"children":56914},{"style":572},[56915],{"type":431,"value":1732},{"type":426,"tag":553,"props":56917,"children":56918},{"style":684},[56919],{"type":431,"value":1737},{"type":426,"tag":553,"props":56921,"children":56922},{"class":555,"line":1253},[56923,56927,56931,56935,56939,56943,56947],{"type":426,"tag":553,"props":56924,"children":56925},{"style":1684},[56926],{"type":431,"value":1746},{"type":426,"tag":553,"props":56928,"children":56929},{"style":795},[56930],{"type":431,"value":957},{"type":426,"tag":553,"props":56932,"children":56933},{"style":684},[56934],{"type":431,"value":972},{"type":426,"tag":553,"props":56936,"children":56937},{"style":572},[56938],{"type":431,"value":1759},{"type":426,"tag":553,"props":56940,"children":56941},{"style":684},[56942],{"type":431,"value":8931},{"type":426,"tag":553,"props":56944,"children":56945},{"style":572},[56946],{"type":431,"value":1779},{"type":426,"tag":553,"props":56948,"children":56949},{"style":684},[56950],{"type":431,"value":8940},{"type":426,"tag":553,"props":56952,"children":56953},{"class":555,"line":1302},[56954,56958,56962],{"type":426,"tag":553,"props":56955,"children":56956},{"style":1684},[56957],{"type":431,"value":51045},{"type":426,"tag":553,"props":56959,"children":56960},{"style":795},[56961],{"type":431,"value":957},{"type":426,"tag":553,"props":56963,"children":56964},{"style":566},[56965],{"type":431,"value":56966},"10\n",{"type":426,"tag":553,"props":56968,"children":56969},{"class":555,"line":1374},[56970],{"type":426,"tag":553,"props":56971,"children":56972},{"style":684},[56973],{"type":431,"value":1642},{"type":426,"tag":553,"props":56975,"children":56976},{"class":555,"line":1414},[56977,56981],{"type":426,"tag":553,"props":56978,"children":56979},{"style":795},[56980],{"type":431,"value":1659},{"type":426,"tag":553,"props":56982,"children":56983},{"style":684},[56984],{"type":431,"value":9193},{"type":426,"tag":553,"props":56986,"children":56987},{"class":555,"line":1479},[56988],{"type":426,"tag":553,"props":56989,"children":56990},{"emptyLinePlaceholder":831},[56991],{"type":431,"value":834},{"type":426,"tag":553,"props":56993,"children":56994},{"class":555,"line":1517},[56995],{"type":426,"tag":553,"props":56996,"children":56997},{"emptyLinePlaceholder":831},[56998],{"type":431,"value":834},{"type":426,"tag":553,"props":57000,"children":57001},{"class":555,"line":1560},[57002,57006,57011,57015,57019,57023,57027,57032,57036],{"type":426,"tag":553,"props":57003,"children":57004},{"style":795},[57005],{"type":431,"value":842},{"type":426,"tag":553,"props":57007,"children":57008},{"style":560},[57009],{"type":431,"value":57010}," send_invoice_notification",{"type":426,"tag":553,"props":57012,"children":57013},{"style":684},[57014],{"type":431,"value":7446},{"type":426,"tag":553,"props":57016,"children":57017},{"style":566},[57018],{"type":431,"value":895},{"type":426,"tag":553,"props":57020,"children":57021},{"style":684},[57022],{"type":431,"value":44374},{"type":426,"tag":553,"props":57024,"children":57025},{"style":566},[57026],{"type":431,"value":895},{"type":426,"tag":553,"props":57028,"children":57029},{"style":684},[57030],{"type":431,"value":57031},", invoice_num: ",{"type":426,"tag":553,"props":57033,"children":57034},{"style":566},[57035],{"type":431,"value":895},{"type":426,"tag":553,"props":57037,"children":57038},{"style":684},[57039],{"type":431,"value":17901},{"type":426,"tag":553,"props":57041,"children":57042},{"class":555,"line":1598},[57043,57048,57052,57057,57061,57066,57070,57074,57078],{"type":426,"tag":553,"props":57044,"children":57045},{"style":684},[57046],{"type":431,"value":57047},"                              amount: ",{"type":426,"tag":553,"props":57049,"children":57050},{"style":566},[57051],{"type":431,"value":15693},{"type":426,"tag":553,"props":57053,"children":57054},{"style":684},[57055],{"type":431,"value":57056},", due_date: ",{"type":426,"tag":553,"props":57058,"children":57059},{"style":566},[57060],{"type":431,"value":895},{"type":426,"tag":553,"props":57062,"children":57063},{"style":684},[57064],{"type":431,"value":57065},", pay_url: ",{"type":426,"tag":553,"props":57067,"children":57068},{"style":566},[57069],{"type":431,"value":895},{"type":426,"tag":553,"props":57071,"children":57072},{"style":684},[57073],{"type":431,"value":900},{"type":426,"tag":553,"props":57075,"children":57076},{"style":566},[57077],{"type":431,"value":857},{"type":426,"tag":553,"props":57079,"children":57080},{"style":684},[57081],{"type":431,"value":909},{"type":426,"tag":553,"props":57083,"children":57084},{"class":555,"line":1636},[57085],{"type":426,"tag":553,"props":57086,"children":57087},{"style":572},[57088],{"type":431,"value":57089},"    \"\"\"Send initial invoice notification.\"\"\"\n",{"type":426,"tag":553,"props":57091,"children":57092},{"class":555,"line":1645},[57093,57097,57101],{"type":426,"tag":553,"props":57094,"children":57095},{"style":684},[57096],{"type":431,"value":1198},{"type":426,"tag":553,"props":57098,"children":57099},{"style":795},[57100],{"type":431,"value":957},{"type":426,"tag":553,"props":57102,"children":57103},{"style":684},[57104],{"type":431,"value":1207},{"type":426,"tag":553,"props":57106,"children":57107},{"class":555,"line":1653},[57108,57112,57117,57121,57126,57130],{"type":426,"tag":553,"props":57109,"children":57110},{"style":795},[57111],{"type":431,"value":1216},{"type":426,"tag":553,"props":57113,"children":57114},{"style":572},[57115],{"type":431,"value":57116},"\"Invoice #",{"type":426,"tag":553,"props":57118,"children":57119},{"style":566},[57120],{"type":431,"value":972},{"type":426,"tag":553,"props":57122,"children":57123},{"style":684},[57124],{"type":431,"value":57125},"invoice_num",{"type":426,"tag":553,"props":57127,"children":57128},{"style":566},[57129],{"type":431,"value":1245},{"type":426,"tag":553,"props":57131,"children":57132},{"style":572},[57133],{"type":431,"value":1250},{"type":426,"tag":553,"props":57135,"children":57136},{"class":555,"line":1667},[57137,57141,57145,57149,57153,57157,57161,57165],{"type":426,"tag":553,"props":57138,"children":57139},{"style":795},[57140],{"type":431,"value":1216},{"type":426,"tag":553,"props":57142,"children":57143},{"style":572},[57144],{"type":431,"value":4625},{"type":426,"tag":553,"props":57146,"children":57147},{"style":566},[57148],{"type":431,"value":972},{"type":426,"tag":553,"props":57150,"children":57151},{"style":684},[57152],{"type":431,"value":24468},{"type":426,"tag":553,"props":57154,"children":57155},{"style":566},[57156],{"type":431,"value":982},{"type":426,"tag":553,"props":57158,"children":57159},{"style":572},[57160],{"type":431,"value":4651},{"type":426,"tag":553,"props":57162,"children":57163},{"style":566},[57164],{"type":431,"value":1295},{"type":426,"tag":553,"props":57166,"children":57167},{"style":572},[57168],{"type":431,"value":1250},{"type":426,"tag":553,"props":57170,"children":57171},{"class":555,"line":1680},[57172,57176,57181,57185],{"type":426,"tag":553,"props":57173,"children":57174},{"style":795},[57175],{"type":431,"value":1216},{"type":426,"tag":553,"props":57177,"children":57178},{"style":572},[57179],{"type":431,"value":57180},"\"Your invoice is ready:",{"type":426,"tag":553,"props":57182,"children":57183},{"style":566},[57184],{"type":431,"value":3661},{"type":426,"tag":553,"props":57186,"children":57187},{"style":572},[57188],{"type":431,"value":1250},{"type":426,"tag":553,"props":57190,"children":57191},{"class":555,"line":1740},[57192,57196,57201,57205,57209,57214,57218],{"type":426,"tag":553,"props":57193,"children":57194},{"style":795},[57195],{"type":431,"value":1216},{"type":426,"tag":553,"props":57197,"children":57198},{"style":572},[57199],{"type":431,"value":57200},"\"*Amount Due:* $",{"type":426,"tag":553,"props":57202,"children":57203},{"style":566},[57204],{"type":431,"value":972},{"type":426,"tag":553,"props":57206,"children":57207},{"style":684},[57208],{"type":431,"value":24486},{"type":426,"tag":553,"props":57210,"children":57211},{"style":795},[57212],{"type":431,"value":57213},":,.2f",{"type":426,"tag":553,"props":57215,"children":57216},{"style":566},[57217],{"type":431,"value":1407},{"type":426,"tag":553,"props":57219,"children":57220},{"style":572},[57221],{"type":431,"value":1250},{"type":426,"tag":553,"props":57223,"children":57224},{"class":555,"line":1787},[57225,57229,57234,57238,57243,57247],{"type":426,"tag":553,"props":57226,"children":57227},{"style":795},[57228],{"type":431,"value":1216},{"type":426,"tag":553,"props":57230,"children":57231},{"style":572},[57232],{"type":431,"value":57233},"\"*Due Date:* ",{"type":426,"tag":553,"props":57235,"children":57236},{"style":566},[57237],{"type":431,"value":972},{"type":426,"tag":553,"props":57239,"children":57240},{"style":684},[57241],{"type":431,"value":57242},"due_date",{"type":426,"tag":553,"props":57244,"children":57245},{"style":566},[57246],{"type":431,"value":1245},{"type":426,"tag":553,"props":57248,"children":57249},{"style":572},[57250],{"type":431,"value":1250},{"type":426,"tag":553,"props":57252,"children":57253},{"class":555,"line":1796},[57254,57258,57263,57267,57272,57276],{"type":426,"tag":553,"props":57255,"children":57256},{"style":795},[57257],{"type":431,"value":1216},{"type":426,"tag":553,"props":57259,"children":57260},{"style":572},[57261],{"type":431,"value":57262},"\"💳 Pay now: ",{"type":426,"tag":553,"props":57264,"children":57265},{"style":566},[57266],{"type":431,"value":972},{"type":426,"tag":553,"props":57268,"children":57269},{"style":684},[57270],{"type":431,"value":57271},"pay_url",{"type":426,"tag":553,"props":57273,"children":57274},{"style":566},[57275],{"type":431,"value":1245},{"type":426,"tag":553,"props":57277,"children":57278},{"style":572},[57279],{"type":431,"value":1250},{"type":426,"tag":553,"props":57281,"children":57282},{"class":555,"line":1804},[57283,57287],{"type":426,"tag":553,"props":57284,"children":57285},{"style":795},[57286],{"type":431,"value":1216},{"type":426,"tag":553,"props":57288,"children":57289},{"style":572},[57290],{"type":431,"value":57291},"\"Reply with any questions — we're happy to help!\"\n",{"type":426,"tag":553,"props":57293,"children":57294},{"class":555,"line":1812},[57295],{"type":426,"tag":553,"props":57296,"children":57297},{"style":684},[57298],{"type":431,"value":1642},{"type":426,"tag":553,"props":57300,"children":57301},{"class":555,"line":1847},[57302,57306],{"type":426,"tag":553,"props":57303,"children":57304},{"style":795},[57305],{"type":431,"value":1659},{"type":426,"tag":553,"props":57307,"children":57308},{"style":684},[57309],{"type":431,"value":21920},{"type":426,"tag":553,"props":57311,"children":57312},{"class":555,"line":1856},[57313],{"type":426,"tag":553,"props":57314,"children":57315},{"emptyLinePlaceholder":831},[57316],{"type":431,"value":834},{"type":426,"tag":553,"props":57318,"children":57319},{"class":555,"line":1874},[57320],{"type":426,"tag":553,"props":57321,"children":57322},{"emptyLinePlaceholder":831},[57323],{"type":431,"value":834},{"type":426,"tag":553,"props":57325,"children":57326},{"class":555,"line":1882},[57327,57331,57336,57340,57344,57348,57352,57356,57360],{"type":426,"tag":553,"props":57328,"children":57329},{"style":795},[57330],{"type":431,"value":842},{"type":426,"tag":553,"props":57332,"children":57333},{"style":560},[57334],{"type":431,"value":57335}," send_payment_reminder",{"type":426,"tag":553,"props":57337,"children":57338},{"style":684},[57339],{"type":431,"value":7446},{"type":426,"tag":553,"props":57341,"children":57342},{"style":566},[57343],{"type":431,"value":895},{"type":426,"tag":553,"props":57345,"children":57346},{"style":684},[57347],{"type":431,"value":44374},{"type":426,"tag":553,"props":57349,"children":57350},{"style":566},[57351],{"type":431,"value":895},{"type":426,"tag":553,"props":57353,"children":57354},{"style":684},[57355],{"type":431,"value":57031},{"type":426,"tag":553,"props":57357,"children":57358},{"style":566},[57359],{"type":431,"value":895},{"type":426,"tag":553,"props":57361,"children":57362},{"style":684},[57363],{"type":431,"value":710},{"type":426,"tag":553,"props":57365,"children":57366},{"class":555,"line":1981},[57367,57372,57376,57380,57384,57389,57393],{"type":426,"tag":553,"props":57368,"children":57369},{"style":684},[57370],{"type":431,"value":57371},"                          amount: ",{"type":426,"tag":553,"props":57373,"children":57374},{"style":566},[57375],{"type":431,"value":15693},{"type":426,"tag":553,"props":57377,"children":57378},{"style":684},[57379],{"type":431,"value":57056},{"type":426,"tag":553,"props":57381,"children":57382},{"style":566},[57383],{"type":431,"value":895},{"type":426,"tag":553,"props":57385,"children":57386},{"style":684},[57387],{"type":431,"value":57388},", days_overdue: ",{"type":426,"tag":553,"props":57390,"children":57391},{"style":566},[57392],{"type":431,"value":885},{"type":426,"tag":553,"props":57394,"children":57395},{"style":684},[57396],{"type":431,"value":710},{"type":426,"tag":553,"props":57398,"children":57399},{"class":555,"line":1989},[57400,57405,57409,57413,57417],{"type":426,"tag":553,"props":57401,"children":57402},{"style":684},[57403],{"type":431,"value":57404},"                          pay_url: ",{"type":426,"tag":553,"props":57406,"children":57407},{"style":566},[57408],{"type":431,"value":895},{"type":426,"tag":553,"props":57410,"children":57411},{"style":684},[57412],{"type":431,"value":900},{"type":426,"tag":553,"props":57414,"children":57415},{"style":566},[57416],{"type":431,"value":857},{"type":426,"tag":553,"props":57418,"children":57419},{"style":684},[57420],{"type":431,"value":909},{"type":426,"tag":553,"props":57422,"children":57423},{"class":555,"line":2013},[57424],{"type":426,"tag":553,"props":57425,"children":57426},{"style":572},[57427],{"type":431,"value":57428},"    \"\"\"Send a payment reminder (overdue).\"\"\"\n",{"type":426,"tag":553,"props":57430,"children":57431},{"class":555,"line":2055},[57432,57436,57441,57445,57449],{"type":426,"tag":553,"props":57433,"children":57434},{"style":795},[57435],{"type":431,"value":925},{"type":426,"tag":553,"props":57437,"children":57438},{"style":684},[57439],{"type":431,"value":57440}," days_overdue ",{"type":426,"tag":553,"props":57442,"children":57443},{"style":795},[57444],{"type":431,"value":15722},{"type":426,"tag":553,"props":57446,"children":57447},{"style":566},[57448],{"type":431,"value":940},{"type":426,"tag":553,"props":57450,"children":57451},{"style":684},[57452],{"type":431,"value":909},{"type":426,"tag":553,"props":57454,"children":57455},{"class":555,"line":2064},[57456],{"type":426,"tag":553,"props":57457,"children":57458},{"style":1975},[57459],{"type":431,"value":57460},"        # Pre-due reminder (3 days before)\n",{"type":426,"tag":553,"props":57462,"children":57463},{"class":555,"line":2087},[57464,57469,57473],{"type":426,"tag":553,"props":57465,"children":57466},{"style":684},[57467],{"type":431,"value":57468},"        urgency ",{"type":426,"tag":553,"props":57470,"children":57471},{"style":795},[57472],{"type":431,"value":957},{"type":426,"tag":553,"props":57474,"children":57475},{"style":572},[57476],{"type":431,"value":57477}," \"friendly\"\n",{"type":426,"tag":553,"props":57479,"children":57480},{"class":555,"line":2096},[57481,57486,57490,57494],{"type":426,"tag":553,"props":57482,"children":57483},{"style":684},[57484],{"type":431,"value":57485},"        prefix ",{"type":426,"tag":553,"props":57487,"children":57488},{"style":795},[57489],{"type":431,"value":957},{"type":426,"tag":553,"props":57491,"children":57492},{"style":795},[57493],{"type":431,"value":962},{"type":426,"tag":553,"props":57495,"children":57496},{"style":572},[57497],{"type":431,"value":57498},"\"Quick reminder 😊\"\n",{"type":426,"tag":553,"props":57500,"children":57501},{"class":555,"line":2105},[57502,57507,57511],{"type":426,"tag":553,"props":57503,"children":57504},{"style":684},[57505],{"type":431,"value":57506},"        suffix ",{"type":426,"tag":553,"props":57508,"children":57509},{"style":795},[57510],{"type":431,"value":957},{"type":426,"tag":553,"props":57512,"children":57513},{"style":572},[57514],{"type":431,"value":57515}," \"No action needed if you've already paid!\"\n",{"type":426,"tag":553,"props":57517,"children":57518},{"class":555,"line":2114},[57519,57523,57527,57531,57536],{"type":426,"tag":553,"props":57520,"children":57521},{"style":795},[57522],{"type":431,"value":1060},{"type":426,"tag":553,"props":57524,"children":57525},{"style":684},[57526],{"type":431,"value":57440},{"type":426,"tag":553,"props":57528,"children":57529},{"style":795},[57530],{"type":431,"value":15722},{"type":426,"tag":553,"props":57532,"children":57533},{"style":566},[57534],{"type":431,"value":57535}," 7",{"type":426,"tag":553,"props":57537,"children":57538},{"style":684},[57539],{"type":431,"value":909},{"type":426,"tag":553,"props":57541,"children":57542},{"class":555,"line":2123},[57543,57547,57551],{"type":426,"tag":553,"props":57544,"children":57545},{"style":684},[57546],{"type":431,"value":57468},{"type":426,"tag":553,"props":57548,"children":57549},{"style":795},[57550],{"type":431,"value":957},{"type":426,"tag":553,"props":57552,"children":57553},{"style":572},[57554],{"type":431,"value":57555}," \"moderate\"\n",{"type":426,"tag":553,"props":57557,"children":57558},{"class":555,"line":2132},[57559,57563,57567,57571,57575,57579,57583,57587,57592,57596,57601,57605],{"type":426,"tag":553,"props":57560,"children":57561},{"style":684},[57562],{"type":431,"value":57485},{"type":426,"tag":553,"props":57564,"children":57565},{"style":795},[57566],{"type":431,"value":957},{"type":426,"tag":553,"props":57568,"children":57569},{"style":795},[57570],{"type":431,"value":962},{"type":426,"tag":553,"props":57572,"children":57573},{"style":572},[57574],{"type":431,"value":57116},{"type":426,"tag":553,"props":57576,"children":57577},{"style":566},[57578],{"type":431,"value":972},{"type":426,"tag":553,"props":57580,"children":57581},{"style":684},[57582],{"type":431,"value":57125},{"type":426,"tag":553,"props":57584,"children":57585},{"style":566},[57586],{"type":431,"value":982},{"type":426,"tag":553,"props":57588,"children":57589},{"style":572},[57590],{"type":431,"value":57591}," is now *",{"type":426,"tag":553,"props":57593,"children":57594},{"style":566},[57595],{"type":431,"value":972},{"type":426,"tag":553,"props":57597,"children":57598},{"style":684},[57599],{"type":431,"value":57600},"days_overdue",{"type":426,"tag":553,"props":57602,"children":57603},{"style":566},[57604],{"type":431,"value":982},{"type":426,"tag":553,"props":57606,"children":57607},{"style":572},[57608],{"type":431,"value":57609}," days overdue*\"\n",{"type":426,"tag":553,"props":57611,"children":57612},{"class":555,"line":2151},[57613,57617,57621],{"type":426,"tag":553,"props":57614,"children":57615},{"style":684},[57616],{"type":431,"value":57506},{"type":426,"tag":553,"props":57618,"children":57619},{"style":795},[57620],{"type":431,"value":957},{"type":426,"tag":553,"props":57622,"children":57623},{"style":572},[57624],{"type":431,"value":57625}," \"Please pay as soon as possible to avoid any late fees.\"\n",{"type":426,"tag":553,"props":57627,"children":57628},{"class":555,"line":2160},[57629,57633],{"type":426,"tag":553,"props":57630,"children":57631},{"style":795},[57632],{"type":431,"value":1120},{"type":426,"tag":553,"props":57634,"children":57635},{"style":684},[57636],{"type":431,"value":909},{"type":426,"tag":553,"props":57638,"children":57639},{"class":555,"line":2174},[57640,57644,57648],{"type":426,"tag":553,"props":57641,"children":57642},{"style":684},[57643],{"type":431,"value":57468},{"type":426,"tag":553,"props":57645,"children":57646},{"style":795},[57647],{"type":431,"value":957},{"type":426,"tag":553,"props":57649,"children":57650},{"style":572},[57651],{"type":431,"value":57652}," \"urgent\"\n",{"type":426,"tag":553,"props":57654,"children":57655},{"class":555,"line":2182},[57656,57660,57664,57668,57673,57677,57681,57685,57690,57694,57698,57702],{"type":426,"tag":553,"props":57657,"children":57658},{"style":684},[57659],{"type":431,"value":57485},{"type":426,"tag":553,"props":57661,"children":57662},{"style":795},[57663],{"type":431,"value":957},{"type":426,"tag":553,"props":57665,"children":57666},{"style":795},[57667],{"type":431,"value":962},{"type":426,"tag":553,"props":57669,"children":57670},{"style":572},[57671],{"type":431,"value":57672},"\"⚠️ URGENT: Invoice #",{"type":426,"tag":553,"props":57674,"children":57675},{"style":566},[57676],{"type":431,"value":972},{"type":426,"tag":553,"props":57678,"children":57679},{"style":684},[57680],{"type":431,"value":57125},{"type":426,"tag":553,"props":57682,"children":57683},{"style":566},[57684],{"type":431,"value":982},{"type":426,"tag":553,"props":57686,"children":57687},{"style":572},[57688],{"type":431,"value":57689}," is *",{"type":426,"tag":553,"props":57691,"children":57692},{"style":566},[57693],{"type":431,"value":972},{"type":426,"tag":553,"props":57695,"children":57696},{"style":684},[57697],{"type":431,"value":57600},{"type":426,"tag":553,"props":57699,"children":57700},{"style":566},[57701],{"type":431,"value":982},{"type":426,"tag":553,"props":57703,"children":57704},{"style":572},[57705],{"type":431,"value":57609},{"type":426,"tag":553,"props":57707,"children":57708},{"class":555,"line":2205},[57709,57713,57717],{"type":426,"tag":553,"props":57710,"children":57711},{"style":684},[57712],{"type":431,"value":57506},{"type":426,"tag":553,"props":57714,"children":57715},{"style":795},[57716],{"type":431,"value":957},{"type":426,"tag":553,"props":57718,"children":57719},{"style":572},[57720],{"type":431,"value":57721}," \"Please pay immediately or contact us to arrange a payment plan.\"\n",{"type":426,"tag":553,"props":57723,"children":57724},{"class":555,"line":2241},[57725],{"type":426,"tag":553,"props":57726,"children":57727},{"style":684},[57728],{"type":431,"value":917},{"type":426,"tag":553,"props":57730,"children":57731},{"class":555,"line":2250},[57732,57736,57740],{"type":426,"tag":553,"props":57733,"children":57734},{"style":684},[57735],{"type":431,"value":1198},{"type":426,"tag":553,"props":57737,"children":57738},{"style":795},[57739],{"type":431,"value":957},{"type":426,"tag":553,"props":57741,"children":57742},{"style":684},[57743],{"type":431,"value":1207},{"type":426,"tag":553,"props":57745,"children":57746},{"class":555,"line":2302},[57747,57751,57755,57759,57764,57768],{"type":426,"tag":553,"props":57748,"children":57749},{"style":795},[57750],{"type":431,"value":1216},{"type":426,"tag":553,"props":57752,"children":57753},{"style":572},[57754],{"type":431,"value":1527},{"type":426,"tag":553,"props":57756,"children":57757},{"style":566},[57758],{"type":431,"value":972},{"type":426,"tag":553,"props":57760,"children":57761},{"style":684},[57762],{"type":431,"value":57763},"prefix",{"type":426,"tag":553,"props":57765,"children":57766},{"style":566},[57767],{"type":431,"value":1245},{"type":426,"tag":553,"props":57769,"children":57770},{"style":572},[57771],{"type":431,"value":1250},{"type":426,"tag":553,"props":57773,"children":57774},{"class":555,"line":2353},[57775,57779,57783,57787,57791,57795,57799,57803],{"type":426,"tag":553,"props":57776,"children":57777},{"style":795},[57778],{"type":431,"value":1216},{"type":426,"tag":553,"props":57780,"children":57781},{"style":572},[57782],{"type":431,"value":4625},{"type":426,"tag":553,"props":57784,"children":57785},{"style":566},[57786],{"type":431,"value":972},{"type":426,"tag":553,"props":57788,"children":57789},{"style":684},[57790],{"type":431,"value":24468},{"type":426,"tag":553,"props":57792,"children":57793},{"style":566},[57794],{"type":431,"value":982},{"type":426,"tag":553,"props":57796,"children":57797},{"style":572},[57798],{"type":431,"value":1290},{"type":426,"tag":553,"props":57800,"children":57801},{"style":566},[57802],{"type":431,"value":1295},{"type":426,"tag":553,"props":57804,"children":57805},{"style":572},[57806],{"type":431,"value":1250},{"type":426,"tag":553,"props":57808,"children":57809},{"class":555,"line":2390},[57810,57814,57819,57823,57827,57831],{"type":426,"tag":553,"props":57811,"children":57812},{"style":795},[57813],{"type":431,"value":1216},{"type":426,"tag":553,"props":57815,"children":57816},{"style":572},[57817],{"type":431,"value":57818},"\"*Invoice:* #",{"type":426,"tag":553,"props":57820,"children":57821},{"style":566},[57822],{"type":431,"value":972},{"type":426,"tag":553,"props":57824,"children":57825},{"style":684},[57826],{"type":431,"value":57125},{"type":426,"tag":553,"props":57828,"children":57829},{"style":566},[57830],{"type":431,"value":1407},{"type":426,"tag":553,"props":57832,"children":57833},{"style":572},[57834],{"type":431,"value":1250},{"type":426,"tag":553,"props":57836,"children":57837},{"class":555,"line":2440},[57838,57842,57846,57850,57854,57858,57862],{"type":426,"tag":553,"props":57839,"children":57840},{"style":795},[57841],{"type":431,"value":1216},{"type":426,"tag":553,"props":57843,"children":57844},{"style":572},[57845],{"type":431,"value":57200},{"type":426,"tag":553,"props":57847,"children":57848},{"style":566},[57849],{"type":431,"value":972},{"type":426,"tag":553,"props":57851,"children":57852},{"style":684},[57853],{"type":431,"value":24486},{"type":426,"tag":553,"props":57855,"children":57856},{"style":795},[57857],{"type":431,"value":57213},{"type":426,"tag":553,"props":57859,"children":57860},{"style":566},[57861],{"type":431,"value":1407},{"type":426,"tag":553,"props":57863,"children":57864},{"style":572},[57865],{"type":431,"value":1250},{"type":426,"tag":553,"props":57867,"children":57868},{"class":555,"line":2488},[57869,57873,57878,57882,57886,57890],{"type":426,"tag":553,"props":57870,"children":57871},{"style":795},[57872],{"type":431,"value":1216},{"type":426,"tag":553,"props":57874,"children":57875},{"style":572},[57876],{"type":431,"value":57877},"\"*Original Due Date:* ",{"type":426,"tag":553,"props":57879,"children":57880},{"style":566},[57881],{"type":431,"value":972},{"type":426,"tag":553,"props":57883,"children":57884},{"style":684},[57885],{"type":431,"value":57242},{"type":426,"tag":553,"props":57887,"children":57888},{"style":566},[57889],{"type":431,"value":1245},{"type":426,"tag":553,"props":57891,"children":57892},{"style":572},[57893],{"type":431,"value":1250},{"type":426,"tag":553,"props":57895,"children":57896},{"class":555,"line":2509},[57897,57901,57905,57909,57913,57917],{"type":426,"tag":553,"props":57898,"children":57899},{"style":795},[57900],{"type":431,"value":1216},{"type":426,"tag":553,"props":57902,"children":57903},{"style":572},[57904],{"type":431,"value":57262},{"type":426,"tag":553,"props":57906,"children":57907},{"style":566},[57908],{"type":431,"value":972},{"type":426,"tag":553,"props":57910,"children":57911},{"style":684},[57912],{"type":431,"value":57271},{"type":426,"tag":553,"props":57914,"children":57915},{"style":566},[57916],{"type":431,"value":1245},{"type":426,"tag":553,"props":57918,"children":57919},{"style":572},[57920],{"type":431,"value":1250},{"type":426,"tag":553,"props":57922,"children":57923},{"class":555,"line":2527},[57924,57928,57932,57936,57941,57945],{"type":426,"tag":553,"props":57925,"children":57926},{"style":795},[57927],{"type":431,"value":1216},{"type":426,"tag":553,"props":57929,"children":57930},{"style":572},[57931],{"type":431,"value":1527},{"type":426,"tag":553,"props":57933,"children":57934},{"style":566},[57935],{"type":431,"value":972},{"type":426,"tag":553,"props":57937,"children":57938},{"style":684},[57939],{"type":431,"value":57940},"suffix",{"type":426,"tag":553,"props":57942,"children":57943},{"style":566},[57944],{"type":431,"value":982},{"type":426,"tag":553,"props":57946,"children":57947},{"style":572},[57948],{"type":431,"value":1250},{"type":426,"tag":553,"props":57950,"children":57951},{"class":555,"line":2545},[57952],{"type":426,"tag":553,"props":57953,"children":57954},{"style":684},[57955],{"type":431,"value":1642},{"type":426,"tag":553,"props":57957,"children":57958},{"class":555,"line":12991},[57959],{"type":426,"tag":553,"props":57960,"children":57961},{"style":684},[57962],{"type":431,"value":917},{"type":426,"tag":553,"props":57964,"children":57965},{"class":555,"line":13004},[57966,57970],{"type":426,"tag":553,"props":57967,"children":57968},{"style":795},[57969],{"type":431,"value":1659},{"type":426,"tag":553,"props":57971,"children":57972},{"style":684},[57973],{"type":431,"value":21920},{"type":426,"tag":553,"props":57975,"children":57976},{"class":555,"line":13012},[57977],{"type":426,"tag":553,"props":57978,"children":57979},{"emptyLinePlaceholder":831},[57980],{"type":431,"value":834},{"type":426,"tag":553,"props":57982,"children":57983},{"class":555,"line":13025},[57984],{"type":426,"tag":553,"props":57985,"children":57986},{"emptyLinePlaceholder":831},[57987],{"type":431,"value":834},{"type":426,"tag":553,"props":57989,"children":57990},{"class":555,"line":13033},[57991,57995,58000],{"type":426,"tag":553,"props":57992,"children":57993},{"style":795},[57994],{"type":431,"value":842},{"type":426,"tag":553,"props":57996,"children":57997},{"style":560},[57998],{"type":431,"value":57999}," process_invoice_reminders",{"type":426,"tag":553,"props":58001,"children":58002},{"style":684},[58003],{"type":431,"value":6433},{"type":426,"tag":553,"props":58005,"children":58006},{"class":555,"line":13069},[58007],{"type":426,"tag":553,"props":58008,"children":58009},{"style":572},[58010],{"type":431,"value":2673},{"type":426,"tag":553,"props":58012,"children":58013},{"class":555,"line":13089},[58014],{"type":426,"tag":553,"props":58015,"children":58016},{"style":572},[58017],{"type":431,"value":58018},"    Query database for invoices needing reminders and send them.\n",{"type":426,"tag":553,"props":58020,"children":58021},{"class":555,"line":13102},[58022],{"type":426,"tag":553,"props":58023,"children":58024},{"style":572},[58025],{"type":431,"value":58026},"    Run this daily.\n",{"type":426,"tag":553,"props":58028,"children":58029},{"class":555,"line":13111},[58030],{"type":426,"tag":553,"props":58031,"children":58032},{"style":572},[58033],{"type":431,"value":2673},{"type":426,"tag":553,"props":58035,"children":58036},{"class":555,"line":13120},[58037,58041,58045,58049,58054],{"type":426,"tag":553,"props":58038,"children":58039},{"style":684},[58040],{"type":431,"value":25253},{"type":426,"tag":553,"props":58042,"children":58043},{"style":795},[58044],{"type":431,"value":957},{"type":426,"tag":553,"props":58046,"children":58047},{"style":684},[58048],{"type":431,"value":40838},{"type":426,"tag":553,"props":58050,"children":58051},{"style":572},[58052],{"type":431,"value":58053},"\"postgresql:\u002F\u002Fuser:pass@localhost\u002Fbilling\"",{"type":426,"tag":553,"props":58055,"children":58056},{"style":684},[58057],{"type":431,"value":3262},{"type":426,"tag":553,"props":58059,"children":58060},{"class":555,"line":13129},[58061,58066,58070],{"type":426,"tag":553,"props":58062,"children":58063},{"style":684},[58064],{"type":431,"value":58065},"    cursor ",{"type":426,"tag":553,"props":58067,"children":58068},{"style":795},[58069],{"type":431,"value":957},{"type":426,"tag":553,"props":58071,"children":58072},{"style":684},[58073],{"type":431,"value":58074}," conn.cursor()\n",{"type":426,"tag":553,"props":58076,"children":58077},{"class":555,"line":13174},[58078],{"type":426,"tag":553,"props":58079,"children":58080},{"style":684},[58081],{"type":431,"value":917},{"type":426,"tag":553,"props":58083,"children":58084},{"class":555,"line":13205},[58085,58089,58093],{"type":426,"tag":553,"props":58086,"children":58087},{"style":684},[58088],{"type":431,"value":1862},{"type":426,"tag":553,"props":58090,"children":58091},{"style":795},[58092],{"type":431,"value":957},{"type":426,"tag":553,"props":58094,"children":58095},{"style":684},[58096],{"type":431,"value":1871},{"type":426,"tag":553,"props":58098,"children":58099},{"class":555,"line":13218},[58100],{"type":426,"tag":553,"props":58101,"children":58102},{"style":684},[58103],{"type":431,"value":917},{"type":426,"tag":553,"props":58105,"children":58106},{"class":555,"line":20616},[58107],{"type":426,"tag":553,"props":58108,"children":58109},{"style":1975},[58110],{"type":431,"value":58111},"    # Query unpaid invoices that need reminders\n",{"type":426,"tag":553,"props":58113,"children":58114},{"class":555,"line":20637},[58115,58120],{"type":426,"tag":553,"props":58116,"children":58117},{"style":684},[58118],{"type":431,"value":58119},"    cursor.execute(",{"type":426,"tag":553,"props":58121,"children":58122},{"style":572},[58123],{"type":431,"value":2084},{"type":426,"tag":553,"props":58125,"children":58126},{"class":555,"line":20650},[58127],{"type":426,"tag":553,"props":58128,"children":58129},{"style":572},[58130],{"type":431,"value":15453},{"type":426,"tag":553,"props":58132,"children":58133},{"class":555,"line":20658},[58134],{"type":426,"tag":553,"props":58135,"children":58136},{"style":572},[58137],{"type":431,"value":58138},"            i.id, i.invoice_number, i.amount, i.due_date,\n",{"type":426,"tag":553,"props":58140,"children":58141},{"class":555,"line":20666},[58142],{"type":426,"tag":553,"props":58143,"children":58144},{"style":572},[58145],{"type":431,"value":58146},"            i.pay_url, i.last_reminder_sent,\n",{"type":426,"tag":553,"props":58148,"children":58149},{"class":555,"line":20675},[58150],{"type":426,"tag":553,"props":58151,"children":58152},{"style":572},[58153],{"type":431,"value":58154},"            c.phone, c.name\n",{"type":426,"tag":553,"props":58156,"children":58157},{"class":555,"line":20684},[58158],{"type":426,"tag":553,"props":58159,"children":58160},{"style":572},[58161],{"type":431,"value":58162},"        FROM invoices i\n",{"type":426,"tag":553,"props":58164,"children":58165},{"class":555,"line":20692},[58166],{"type":426,"tag":553,"props":58167,"children":58168},{"style":572},[58169],{"type":431,"value":58170},"        JOIN customers c ON i.customer_id = c.id\n",{"type":426,"tag":553,"props":58172,"children":58173},{"class":555,"line":20720},[58174],{"type":426,"tag":553,"props":58175,"children":58176},{"style":572},[58177],{"type":431,"value":58178},"        WHERE i.status = 'unpaid'\n",{"type":426,"tag":553,"props":58180,"children":58181},{"class":555,"line":20728},[58182],{"type":426,"tag":553,"props":58183,"children":58184},{"style":572},[58185],{"type":431,"value":58186},"          AND c.phone IS NOT NULL\n",{"type":426,"tag":553,"props":58188,"children":58189},{"class":555,"line":20736},[58190],{"type":426,"tag":553,"props":58191,"children":58192},{"style":572},[58193],{"type":431,"value":58194},"          AND (\n",{"type":426,"tag":553,"props":58196,"children":58197},{"class":555,"line":20777},[58198],{"type":426,"tag":553,"props":58199,"children":58200},{"style":572},[58201],{"type":431,"value":58202},"            -- 3 days before due (pre-reminder)\n",{"type":426,"tag":553,"props":58204,"children":58205},{"class":555,"line":20789},[58206,58211,58215],{"type":426,"tag":553,"props":58207,"children":58208},{"style":572},[58209],{"type":431,"value":58210},"            i.due_date = ",{"type":426,"tag":553,"props":58212,"children":58213},{"style":566},[58214],{"type":431,"value":2143},{"type":426,"tag":553,"props":58216,"children":58217},{"style":572},[58218],{"type":431,"value":58219}," + INTERVAL '3 days'\n",{"type":426,"tag":553,"props":58221,"children":58222},{"class":555,"line":20801},[58223],{"type":426,"tag":553,"props":58224,"children":58225},{"style":572},[58226],{"type":431,"value":58227},"            -- Due today\n",{"type":426,"tag":553,"props":58229,"children":58230},{"class":555,"line":20846},[58231,58236],{"type":426,"tag":553,"props":58232,"children":58233},{"style":572},[58234],{"type":431,"value":58235},"            OR i.due_date = ",{"type":426,"tag":553,"props":58237,"children":58238},{"style":566},[58239],{"type":431,"value":15490},{"type":426,"tag":553,"props":58241,"children":58242},{"class":555,"line":20878},[58243],{"type":426,"tag":553,"props":58244,"children":58245},{"style":572},[58246],{"type":431,"value":58247},"            -- 3 days overdue (first reminder)\n",{"type":426,"tag":553,"props":58249,"children":58250},{"class":555,"line":24807},[58251,58256,58260],{"type":426,"tag":553,"props":58252,"children":58253},{"style":572},[58254],{"type":431,"value":58255},"            OR (i.due_date = ",{"type":426,"tag":553,"props":58257,"children":58258},{"style":566},[58259],{"type":431,"value":2143},{"type":426,"tag":553,"props":58261,"children":58262},{"style":572},[58263],{"type":431,"value":58264}," - INTERVAL '3 days' \n",{"type":426,"tag":553,"props":58266,"children":58267},{"class":555,"line":24825},[58268],{"type":426,"tag":553,"props":58269,"children":58270},{"style":572},[58271],{"type":431,"value":58272},"                AND (i.last_reminder_sent IS NULL \n",{"type":426,"tag":553,"props":58274,"children":58275},{"class":555,"line":24837},[58276,58281,58285],{"type":426,"tag":553,"props":58277,"children":58278},{"style":572},[58279],{"type":431,"value":58280},"                     OR i.last_reminder_sent \u003C ",{"type":426,"tag":553,"props":58282,"children":58283},{"style":566},[58284],{"type":431,"value":2143},{"type":426,"tag":553,"props":58286,"children":58287},{"style":572},[58288],{"type":431,"value":58289}," - INTERVAL '3 days'))\n",{"type":426,"tag":553,"props":58291,"children":58292},{"class":555,"line":24858},[58293],{"type":426,"tag":553,"props":58294,"children":58295},{"style":572},[58296],{"type":431,"value":58297},"            -- 7 days overdue\n",{"type":426,"tag":553,"props":58299,"children":58300},{"class":555,"line":24895},[58301,58305,58309],{"type":426,"tag":553,"props":58302,"children":58303},{"style":572},[58304],{"type":431,"value":58255},{"type":426,"tag":553,"props":58306,"children":58307},{"style":566},[58308],{"type":431,"value":2143},{"type":426,"tag":553,"props":58310,"children":58311},{"style":572},[58312],{"type":431,"value":58313}," - INTERVAL '7 days'\n",{"type":426,"tag":553,"props":58315,"children":58316},{"class":555,"line":24940},[58317],{"type":426,"tag":553,"props":58318,"children":58319},{"style":572},[58320],{"type":431,"value":58321},"                AND (i.last_reminder_sent IS NULL\n",{"type":426,"tag":553,"props":58323,"children":58324},{"class":555,"line":24961},[58325,58329,58333],{"type":426,"tag":553,"props":58326,"children":58327},{"style":572},[58328],{"type":431,"value":58280},{"type":426,"tag":553,"props":58330,"children":58331},{"style":566},[58332],{"type":431,"value":2143},{"type":426,"tag":553,"props":58334,"children":58335},{"style":572},[58336],{"type":431,"value":58337}," - INTERVAL '7 days'))\n",{"type":426,"tag":553,"props":58339,"children":58340},{"class":555,"line":24990},[58341],{"type":426,"tag":553,"props":58342,"children":58343},{"style":572},[58344],{"type":431,"value":58345},"            -- 14 days overdue (final notice)\n",{"type":426,"tag":553,"props":58347,"children":58348},{"class":555,"line":25003},[58349,58353,58357],{"type":426,"tag":553,"props":58350,"children":58351},{"style":572},[58352],{"type":431,"value":58255},{"type":426,"tag":553,"props":58354,"children":58355},{"style":566},[58356],{"type":431,"value":2143},{"type":426,"tag":553,"props":58358,"children":58359},{"style":572},[58360],{"type":431,"value":58361}," - INTERVAL '14 days'\n",{"type":426,"tag":553,"props":58363,"children":58364},{"class":555,"line":25011},[58365],{"type":426,"tag":553,"props":58366,"children":58367},{"style":572},[58368],{"type":431,"value":58321},{"type":426,"tag":553,"props":58370,"children":58371},{"class":555,"line":25019},[58372,58376,58380],{"type":426,"tag":553,"props":58373,"children":58374},{"style":572},[58375],{"type":431,"value":58280},{"type":426,"tag":553,"props":58377,"children":58378},{"style":566},[58379],{"type":431,"value":2143},{"type":426,"tag":553,"props":58381,"children":58382},{"style":572},[58383],{"type":431,"value":58384}," - INTERVAL '14 days'))\n",{"type":426,"tag":553,"props":58386,"children":58387},{"class":555,"line":25027},[58388],{"type":426,"tag":553,"props":58389,"children":58390},{"style":572},[58391],{"type":431,"value":58392},"          )\n",{"type":426,"tag":553,"props":58394,"children":58395},{"class":555,"line":25067},[58396,58400,58405,58409,58414],{"type":426,"tag":553,"props":58397,"children":58398},{"style":572},[58399],{"type":431,"value":15510},{"type":426,"tag":553,"props":58401,"children":58402},{"style":684},[58403],{"type":431,"value":58404},", [today] ",{"type":426,"tag":553,"props":58406,"children":58407},{"style":795},[58408],{"type":431,"value":5801},{"type":426,"tag":553,"props":58410,"children":58411},{"style":566},[58412],{"type":431,"value":58413}," 8",{"type":426,"tag":553,"props":58415,"children":58416},{"style":684},[58417],{"type":431,"value":3262},{"type":426,"tag":553,"props":58419,"children":58420},{"class":555,"line":25079},[58421],{"type":426,"tag":553,"props":58422,"children":58423},{"style":684},[58424],{"type":431,"value":917},{"type":426,"tag":553,"props":58426,"children":58427},{"class":555,"line":25091},[58428,58433,58437],{"type":426,"tag":553,"props":58429,"children":58430},{"style":684},[58431],{"type":431,"value":58432},"    invoices ",{"type":426,"tag":553,"props":58434,"children":58435},{"style":795},[58436],{"type":431,"value":957},{"type":426,"tag":553,"props":58438,"children":58439},{"style":684},[58440],{"type":431,"value":58441}," cursor.fetchall()\n",{"type":426,"tag":553,"props":58443,"children":58444},{"class":555,"line":25135},[58445,58449,58453,58457,58462,58467,58472,58476,58481],{"type":426,"tag":553,"props":58446,"children":58447},{"style":566},[58448],{"type":431,"value":51971},{"type":426,"tag":553,"props":58450,"children":58451},{"style":684},[58452],{"type":431,"value":3275},{"type":426,"tag":553,"props":58454,"children":58455},{"style":795},[58456],{"type":431,"value":1709},{"type":426,"tag":553,"props":58458,"children":58459},{"style":572},[58460],{"type":431,"value":58461},"\"Sending ",{"type":426,"tag":553,"props":58463,"children":58464},{"style":566},[58465],{"type":431,"value":58466},"{len",{"type":426,"tag":553,"props":58468,"children":58469},{"style":684},[58470],{"type":431,"value":58471},"(invoices)",{"type":426,"tag":553,"props":58473,"children":58474},{"style":566},[58475],{"type":431,"value":982},{"type":426,"tag":553,"props":58477,"children":58478},{"style":572},[58479],{"type":431,"value":58480}," invoice reminders\"",{"type":426,"tag":553,"props":58482,"children":58483},{"style":684},[58484],{"type":431,"value":3262},{"type":426,"tag":553,"props":58486,"children":58487},{"class":555,"line":25167},[58488],{"type":426,"tag":553,"props":58489,"children":58490},{"style":684},[58491],{"type":431,"value":917},{"type":426,"tag":553,"props":58493,"children":58494},{"class":555,"line":28999},[58495,58499,58504,58508],{"type":426,"tag":553,"props":58496,"children":58497},{"style":795},[58498],{"type":431,"value":1995},{"type":426,"tag":553,"props":58500,"children":58501},{"style":684},[58502],{"type":431,"value":58503}," row ",{"type":426,"tag":553,"props":58505,"children":58506},{"style":795},[58507],{"type":431,"value":2005},{"type":426,"tag":553,"props":58509,"children":58510},{"style":684},[58511],{"type":431,"value":58512}," invoices:\n",{"type":426,"tag":553,"props":58514,"children":58515},{"class":555,"line":29016},[58516],{"type":426,"tag":553,"props":58517,"children":58518},{"style":684},[58519],{"type":431,"value":58520},"        (inv_id, inv_num, amount, due_date, pay_url, \n",{"type":426,"tag":553,"props":58522,"children":58523},{"class":555,"line":29038},[58524,58529,58533],{"type":426,"tag":553,"props":58525,"children":58526},{"style":684},[58527],{"type":431,"value":58528},"         last_reminder, phone, name) ",{"type":426,"tag":553,"props":58530,"children":58531},{"style":795},[58532],{"type":431,"value":957},{"type":426,"tag":553,"props":58534,"children":58535},{"style":684},[58536],{"type":431,"value":58537}," row\n",{"type":426,"tag":553,"props":58539,"children":58540},{"class":555,"line":29060},[58541],{"type":426,"tag":553,"props":58542,"children":58543},{"style":684},[58544],{"type":431,"value":2061},{"type":426,"tag":553,"props":58546,"children":58547},{"class":555,"line":29078},[58548,58553,58557,58562,58566],{"type":426,"tag":553,"props":58549,"children":58550},{"style":684},[58551],{"type":431,"value":58552},"        days_overdue ",{"type":426,"tag":553,"props":58554,"children":58555},{"style":795},[58556],{"type":431,"value":957},{"type":426,"tag":553,"props":58558,"children":58559},{"style":684},[58560],{"type":431,"value":58561}," (today ",{"type":426,"tag":553,"props":58563,"children":58564},{"style":795},[58565],{"type":431,"value":1939},{"type":426,"tag":553,"props":58567,"children":58568},{"style":684},[58569],{"type":431,"value":58570}," due_date).days\n",{"type":426,"tag":553,"props":58572,"children":58573},{"class":555,"line":29086},[58574],{"type":426,"tag":553,"props":58575,"children":58576},{"style":684},[58577],{"type":431,"value":2061},{"type":426,"tag":553,"props":58579,"children":58580},{"class":555,"line":29094},[58581,58585,58589],{"type":426,"tag":553,"props":58582,"children":58583},{"style":684},[58584],{"type":431,"value":2836},{"type":426,"tag":553,"props":58586,"children":58587},{"style":795},[58588],{"type":431,"value":957},{"type":426,"tag":553,"props":58590,"children":58591},{"style":684},[58592],{"type":431,"value":58593}," send_payment_reminder(\n",{"type":426,"tag":553,"props":58595,"children":58596},{"class":555,"line":29106},[58597,58601,58605],{"type":426,"tag":553,"props":58598,"children":58599},{"style":1684},[58600],{"type":431,"value":24193},{"type":426,"tag":553,"props":58602,"children":58603},{"style":795},[58604],{"type":431,"value":957},{"type":426,"tag":553,"props":58606,"children":58607},{"style":684},[58608],{"type":431,"value":24202},{"type":426,"tag":553,"props":58610,"children":58611},{"class":555,"line":29127},[58612,58616,58620],{"type":426,"tag":553,"props":58613,"children":58614},{"style":1684},[58615],{"type":431,"value":24210},{"type":426,"tag":553,"props":58617,"children":58618},{"style":795},[58619],{"type":431,"value":957},{"type":426,"tag":553,"props":58621,"children":58622},{"style":684},[58623],{"type":431,"value":24019},{"type":426,"tag":553,"props":58625,"children":58626},{"class":555,"line":29163},[58627,58632,58636],{"type":426,"tag":553,"props":58628,"children":58629},{"style":1684},[58630],{"type":431,"value":58631},"            invoice_num",{"type":426,"tag":553,"props":58633,"children":58634},{"style":795},[58635],{"type":431,"value":957},{"type":426,"tag":553,"props":58637,"children":58638},{"style":684},[58639],{"type":431,"value":58640},"inv_num,\n",{"type":426,"tag":553,"props":58642,"children":58643},{"class":555,"line":29202},[58644,58648,58652,58656],{"type":426,"tag":553,"props":58645,"children":58646},{"style":1684},[58647],{"type":431,"value":25445},{"type":426,"tag":553,"props":58649,"children":58650},{"style":795},[58651],{"type":431,"value":957},{"type":426,"tag":553,"props":58653,"children":58654},{"style":566},[58655],{"type":431,"value":15693},{"type":426,"tag":553,"props":58657,"children":58658},{"style":684},[58659],{"type":431,"value":58660},"(amount),\n",{"type":426,"tag":553,"props":58662,"children":58663},{"class":555,"line":29235},[58664,58669,58673,58678,58682,58686,58691],{"type":426,"tag":553,"props":58665,"children":58666},{"style":1684},[58667],{"type":431,"value":58668},"            due_date",{"type":426,"tag":553,"props":58670,"children":58671},{"style":795},[58672],{"type":431,"value":957},{"type":426,"tag":553,"props":58674,"children":58675},{"style":684},[58676],{"type":431,"value":58677},"due_date.strftime(",{"type":426,"tag":553,"props":58679,"children":58680},{"style":572},[58681],{"type":431,"value":41735},{"type":426,"tag":553,"props":58683,"children":58684},{"style":566},[58685],{"type":431,"value":41740},{"type":426,"tag":553,"props":58687,"children":58688},{"style":572},[58689],{"type":431,"value":58690},", %Y'",{"type":426,"tag":553,"props":58692,"children":58693},{"style":684},[58694],{"type":431,"value":11615},{"type":426,"tag":553,"props":58696,"children":58697},{"class":555,"line":29273},[58698,58703,58707],{"type":426,"tag":553,"props":58699,"children":58700},{"style":1684},[58701],{"type":431,"value":58702},"            days_overdue",{"type":426,"tag":553,"props":58704,"children":58705},{"style":795},[58706],{"type":431,"value":957},{"type":426,"tag":553,"props":58708,"children":58709},{"style":684},[58710],{"type":431,"value":58711},"days_overdue,\n",{"type":426,"tag":553,"props":58713,"children":58714},{"class":555,"line":29312},[58715,58720,58724],{"type":426,"tag":553,"props":58716,"children":58717},{"style":1684},[58718],{"type":431,"value":58719},"            pay_url",{"type":426,"tag":553,"props":58721,"children":58722},{"style":795},[58723],{"type":431,"value":957},{"type":426,"tag":553,"props":58725,"children":58726},{"style":684},[58727],{"type":431,"value":58728},"pay_url\n",{"type":426,"tag":553,"props":58730,"children":58731},{"class":555,"line":29333},[58732],{"type":426,"tag":553,"props":58733,"children":58734},{"style":684},[58735],{"type":431,"value":6037},{"type":426,"tag":553,"props":58737,"children":58738},{"class":555,"line":29346},[58739],{"type":426,"tag":553,"props":58740,"children":58741},{"style":684},[58742],{"type":431,"value":2061},{"type":426,"tag":553,"props":58744,"children":58745},{"class":555,"line":51231},[58746,58750,58754,58758,58762,58766,58770],{"type":426,"tag":553,"props":58747,"children":58748},{"style":795},[58749],{"type":431,"value":2972},{"type":426,"tag":553,"props":58751,"children":58752},{"style":684},[58753],{"type":431,"value":2977},{"type":426,"tag":553,"props":58755,"children":58756},{"style":572},[58757],{"type":431,"value":2982},{"type":426,"tag":553,"props":58759,"children":58760},{"style":684},[58761],{"type":431,"value":2987},{"type":426,"tag":553,"props":58763,"children":58764},{"style":795},[58765],{"type":431,"value":1069},{"type":426,"tag":553,"props":58767,"children":58768},{"style":572},[58769],{"type":431,"value":2996},{"type":426,"tag":553,"props":58771,"children":58772},{"style":684},[58773],{"type":431,"value":909},{"type":426,"tag":553,"props":58775,"children":58776},{"class":555,"line":51249},[58777],{"type":426,"tag":553,"props":58778,"children":58779},{"style":684},[58780],{"type":431,"value":58781},"            cursor.execute(\n",{"type":426,"tag":553,"props":58783,"children":58784},{"class":555,"line":51267},[58785,58790,58794,58798,58802,58806],{"type":426,"tag":553,"props":58786,"children":58787},{"style":572},[58788],{"type":431,"value":58789},"                \"UPDATE invoices SET last_reminder_sent = ",{"type":426,"tag":553,"props":58791,"children":58792},{"style":566},[58793],{"type":431,"value":2143},{"type":426,"tag":553,"props":58795,"children":58796},{"style":572},[58797],{"type":431,"value":15203},{"type":426,"tag":553,"props":58799,"children":58800},{"style":566},[58801],{"type":431,"value":2143},{"type":426,"tag":553,"props":58803,"children":58804},{"style":572},[58805],{"type":431,"value":1527},{"type":426,"tag":553,"props":58807,"children":58808},{"style":684},[58809],{"type":431,"value":710},{"type":426,"tag":553,"props":58811,"children":58812},{"class":555,"line":51294},[58813],{"type":426,"tag":553,"props":58814,"children":58815},{"style":684},[58816],{"type":431,"value":58817},"                [today, inv_id]\n",{"type":426,"tag":553,"props":58819,"children":58820},{"class":555,"line":51319},[58821],{"type":426,"tag":553,"props":58822,"children":58823},{"style":684},[58824],{"type":431,"value":2551},{"type":426,"tag":553,"props":58826,"children":58827},{"class":555,"line":51345},[58828],{"type":426,"tag":553,"props":58829,"children":58830},{"style":684},[58831],{"type":431,"value":917},{"type":426,"tag":553,"props":58833,"children":58834},{"class":555,"line":51372},[58835],{"type":426,"tag":553,"props":58836,"children":58837},{"style":684},[58838],{"type":431,"value":58839},"    conn.commit()\n",{"type":426,"tag":553,"props":58841,"children":58842},{"class":555,"line":51380},[58843],{"type":426,"tag":553,"props":58844,"children":58845},{"style":684},[58846],{"type":431,"value":58847},"    cursor.close()\n",{"type":426,"tag":553,"props":58849,"children":58850},{"class":555,"line":51388},[58851],{"type":426,"tag":553,"props":58852,"children":58853},{"style":684},[58854],{"type":431,"value":25648},{"type":426,"tag":553,"props":58856,"children":58857},{"class":555,"line":51397},[58858],{"type":426,"tag":553,"props":58859,"children":58860},{"emptyLinePlaceholder":831},[58861],{"type":431,"value":834},{"type":426,"tag":553,"props":58863,"children":58864},{"class":555,"line":51415},[58865],{"type":426,"tag":553,"props":58866,"children":58867},{"emptyLinePlaceholder":831},[58868],{"type":431,"value":834},{"type":426,"tag":553,"props":58870,"children":58871},{"class":555,"line":51423},[58872],{"type":426,"tag":553,"props":58873,"children":58874},{"style":1975},[58875],{"type":431,"value":58876},"# Schedule: run every day at 9 AM\n",{"type":426,"tag":553,"props":58878,"children":58879},{"class":555,"line":51432},[58880,58884,58888],{"type":426,"tag":553,"props":58881,"children":58882},{"style":684},[58883],{"type":431,"value":6702},{"type":426,"tag":553,"props":58885,"children":58886},{"style":572},[58887],{"type":431,"value":6707},{"type":426,"tag":553,"props":58889,"children":58890},{"style":684},[58891],{"type":431,"value":58892},").do(process_invoice_reminders)\n",{"type":426,"tag":553,"props":58894,"children":58895},{"class":555,"line":51449},[58896],{"type":426,"tag":553,"props":58897,"children":58898},{"emptyLinePlaceholder":831},[58899],{"type":431,"value":834},{"type":426,"tag":553,"props":58901,"children":58902},{"class":555,"line":51473},[58903,58907,58911,58915,58920],{"type":426,"tag":553,"props":58904,"children":58905},{"style":795},[58906],{"type":431,"value":7510},{"type":426,"tag":553,"props":58908,"children":58909},{"style":566},[58910],{"type":431,"value":51734},{"type":426,"tag":553,"props":58912,"children":58913},{"style":795},[58914],{"type":431,"value":51739},{"type":426,"tag":553,"props":58916,"children":58917},{"style":572},[58918],{"type":431,"value":58919}," \"__main__\"",{"type":426,"tag":553,"props":58921,"children":58922},{"style":684},[58923],{"type":431,"value":909},{"type":426,"tag":553,"props":58925,"children":58926},{"class":555,"line":51497},[58927,58931,58935,58940],{"type":426,"tag":553,"props":58928,"children":58929},{"style":566},[58930],{"type":431,"value":51971},{"type":426,"tag":553,"props":58932,"children":58933},{"style":684},[58934],{"type":431,"value":3275},{"type":426,"tag":553,"props":58936,"children":58937},{"style":572},[58938],{"type":431,"value":58939},"\"Invoice reminder service started...\"",{"type":426,"tag":553,"props":58941,"children":58942},{"style":684},[58943],{"type":431,"value":3262},{"type":426,"tag":553,"props":58945,"children":58946},{"class":555,"line":51521},[58947,58952],{"type":426,"tag":553,"props":58948,"children":58949},{"style":684},[58950],{"type":431,"value":58951},"    process_invoice_reminders()  ",{"type":426,"tag":553,"props":58953,"children":58954},{"style":1975},[58955],{"type":431,"value":58956},"# Run once immediately\n",{"type":426,"tag":553,"props":58958,"children":58959},{"class":555,"line":51545},[58960,58964,58968],{"type":426,"tag":553,"props":58961,"children":58962},{"style":795},[58963],{"type":431,"value":54024},{"type":426,"tag":553,"props":58965,"children":58966},{"style":566},[58967],{"type":431,"value":43130},{"type":426,"tag":553,"props":58969,"children":58970},{"style":684},[58971],{"type":431,"value":909},{"type":426,"tag":553,"props":58973,"children":58974},{"class":555,"line":51571},[58975],{"type":426,"tag":553,"props":58976,"children":58977},{"style":684},[58978],{"type":431,"value":58979},"        schedule.run_pending()\n",{"type":426,"tag":553,"props":58981,"children":58982},{"class":555,"line":51587},[58983,58987,58991],{"type":426,"tag":553,"props":58984,"children":58985},{"style":684},[58986],{"type":431,"value":3089},{"type":426,"tag":553,"props":58988,"children":58989},{"style":566},[58990],{"type":431,"value":43155},{"type":426,"tag":553,"props":58992,"children":58993},{"style":684},[58994],{"type":431,"value":3262},{"type":426,"tag":434,"props":58996,"children":58998},{"id":58997},"step-4-nodejs-invoice-sender",[58999],{"type":431,"value":59000},"Step 4: Node.js Invoice Sender",{"type":426,"tag":542,"props":59002,"children":59004},{"className":52113,"code":59003,"language":52115,"meta":417,"style":417},"\u002F\u002F invoiceSender.js\n\u002F\u002F npm install node-fetch\n\nconst fetch = require('node-fetch');\n\nconst RAPIWA_API_KEY = 'YOUR_API_KEY';\n\nasync function sendInvoiceWhatsApp(invoice) {\n  const { customerPhone, customerName, invoiceNumber, amount, dueDate, paymentUrl } = invoice;\n\n  const message = `Invoice #${invoiceNumber}\\n\\n` +\n    `Hi ${customerName}! 🧾\\n\\n` +\n    `Your invoice is ready:\\n` +\n    `*Amount:* $${amount.toFixed(2)}\\n` +\n    `*Due:* ${dueDate}\\n\\n` +\n    `💳 Pay now: ${paymentUrl}\\n\\n` +\n    `Questions? Just reply here!`;\n\n  const response = await fetch('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', {\n    method: 'POST',\n    headers: {\n      'Authorization': `Bearer ${RAPIWA_API_KEY}`,\n      'Content-Type': 'application\u002Fjson'\n    },\n    body: JSON.stringify({ number: customerPhone, message })\n  });\n\n  return response.json();\n}\n\n\u002F\u002F Usage\nsendInvoiceWhatsApp({\n  customerPhone: '8801234567890',\n  customerName: 'Sarah Johnson',\n  invoiceNumber: 'INV-2026-001',\n  amount: 1500,\n  dueDate: 'July 10, 2026',\n  paymentUrl: 'https:\u002F\u002Fpay.yourcompany.com\u002FINV-2026-001'\n}).then(result => console.log(result));\n",[59005],{"type":426,"tag":549,"props":59006,"children":59007},{"__ignoreMap":417},[59008,59016,59024,59031,59062,59069,59092,59099,59128,59200,59207,59247,59275,59295,59344,59372,59400,59412,59419,59454,59469,59476,59503,59518,59525,59549,59556,59563,59582,59589,59596,59603,59615,59631,59646,59663,59680,59697,59710],{"type":426,"tag":553,"props":59009,"children":59010},{"class":555,"line":556},[59011],{"type":426,"tag":553,"props":59012,"children":59013},{"style":1975},[59014],{"type":431,"value":59015},"\u002F\u002F invoiceSender.js\n",{"type":426,"tag":553,"props":59017,"children":59018},{"class":555,"line":588},[59019],{"type":426,"tag":553,"props":59020,"children":59021},{"style":1975},[59022],{"type":431,"value":59023},"\u002F\u002F npm install node-fetch\n",{"type":426,"tag":553,"props":59025,"children":59026},{"class":555,"line":606},[59027],{"type":426,"tag":553,"props":59028,"children":59029},{"emptyLinePlaceholder":831},[59030],{"type":431,"value":834},{"type":426,"tag":553,"props":59032,"children":59033},{"class":555,"line":623},[59034,59038,59042,59046,59050,59054,59058],{"type":426,"tag":553,"props":59035,"children":59036},{"style":795},[59037],{"type":431,"value":52135},{"type":426,"tag":553,"props":59039,"children":59040},{"style":566},[59041],{"type":431,"value":52226},{"type":426,"tag":553,"props":59043,"children":59044},{"style":795},[59045],{"type":431,"value":8739},{"type":426,"tag":553,"props":59047,"children":59048},{"style":560},[59049],{"type":431,"value":52149},{"type":426,"tag":553,"props":59051,"children":59052},{"style":684},[59053],{"type":431,"value":3275},{"type":426,"tag":553,"props":59055,"children":59056},{"style":572},[59057],{"type":431,"value":52243},{"type":426,"tag":553,"props":59059,"children":59060},{"style":684},[59061],{"type":431,"value":11379},{"type":426,"tag":553,"props":59063,"children":59064},{"class":555,"line":637},[59065],{"type":426,"tag":553,"props":59066,"children":59067},{"emptyLinePlaceholder":831},[59068],{"type":431,"value":834},{"type":426,"tag":553,"props":59070,"children":59071},{"class":555,"line":646},[59072,59076,59080,59084,59088],{"type":426,"tag":553,"props":59073,"children":59074},{"style":795},[59075],{"type":431,"value":52135},{"type":426,"tag":553,"props":59077,"children":59078},{"style":566},[59079],{"type":431,"value":52307},{"type":426,"tag":553,"props":59081,"children":59082},{"style":795},[59083],{"type":431,"value":8739},{"type":426,"tag":553,"props":59085,"children":59086},{"style":572},[59087],{"type":431,"value":52316},{"type":426,"tag":553,"props":59089,"children":59090},{"style":684},[59091],{"type":431,"value":52321},{"type":426,"tag":553,"props":59093,"children":59094},{"class":555,"line":655},[59095],{"type":426,"tag":553,"props":59096,"children":59097},{"emptyLinePlaceholder":831},[59098],{"type":431,"value":834},{"type":426,"tag":553,"props":59100,"children":59101},{"class":555,"line":1036},[59102,59106,59110,59115,59119,59124],{"type":426,"tag":553,"props":59103,"children":59104},{"style":795},[59105],{"type":431,"value":52361},{"type":426,"tag":553,"props":59107,"children":59108},{"style":795},[59109],{"type":431,"value":52366},{"type":426,"tag":553,"props":59111,"children":59112},{"style":560},[59113],{"type":431,"value":59114}," sendInvoiceWhatsApp",{"type":426,"tag":553,"props":59116,"children":59117},{"style":684},[59118],{"type":431,"value":3275},{"type":426,"tag":553,"props":59120,"children":59121},{"style":1684},[59122],{"type":431,"value":59123},"invoice",{"type":426,"tag":553,"props":59125,"children":59126},{"style":684},[59127],{"type":431,"value":52385},{"type":426,"tag":553,"props":59129,"children":59130},{"class":555,"line":1054},[59131,59135,59139,59144,59148,59152,59156,59161,59165,59169,59173,59178,59182,59187,59191,59195],{"type":426,"tag":553,"props":59132,"children":59133},{"style":795},[59134],{"type":431,"value":52540},{"type":426,"tag":553,"props":59136,"children":59137},{"style":684},[59138],{"type":431,"value":52174},{"type":426,"tag":553,"props":59140,"children":59141},{"style":566},[59142],{"type":431,"value":59143},"customerPhone",{"type":426,"tag":553,"props":59145,"children":59146},{"style":684},[59147],{"type":431,"value":1907},{"type":426,"tag":553,"props":59149,"children":59150},{"style":566},[59151],{"type":431,"value":52789},{"type":426,"tag":553,"props":59153,"children":59154},{"style":684},[59155],{"type":431,"value":1907},{"type":426,"tag":553,"props":59157,"children":59158},{"style":566},[59159],{"type":431,"value":59160},"invoiceNumber",{"type":426,"tag":553,"props":59162,"children":59163},{"style":684},[59164],{"type":431,"value":1907},{"type":426,"tag":553,"props":59166,"children":59167},{"style":566},[59168],{"type":431,"value":24486},{"type":426,"tag":553,"props":59170,"children":59171},{"style":684},[59172],{"type":431,"value":1907},{"type":426,"tag":553,"props":59174,"children":59175},{"style":566},[59176],{"type":431,"value":59177},"dueDate",{"type":426,"tag":553,"props":59179,"children":59180},{"style":684},[59181],{"type":431,"value":1907},{"type":426,"tag":553,"props":59183,"children":59184},{"style":566},[59185],{"type":431,"value":59186},"paymentUrl",{"type":426,"tag":553,"props":59188,"children":59189},{"style":684},[59190],{"type":431,"value":52193},{"type":426,"tag":553,"props":59192,"children":59193},{"style":795},[59194],{"type":431,"value":957},{"type":426,"tag":553,"props":59196,"children":59197},{"style":684},[59198],{"type":431,"value":59199}," invoice;\n",{"type":426,"tag":553,"props":59201,"children":59202},{"class":555,"line":1080},[59203],{"type":426,"tag":553,"props":59204,"children":59205},{"emptyLinePlaceholder":831},[59206],{"type":431,"value":834},{"type":426,"tag":553,"props":59208,"children":59209},{"class":555,"line":1097},[59210,59214,59218,59222,59227,59231,59235,59239,59243],{"type":426,"tag":553,"props":59211,"children":59212},{"style":795},[59213],{"type":431,"value":52540},{"type":426,"tag":553,"props":59215,"children":59216},{"style":566},[59217],{"type":431,"value":55741},{"type":426,"tag":553,"props":59219,"children":59220},{"style":795},[59221],{"type":431,"value":8739},{"type":426,"tag":553,"props":59223,"children":59224},{"style":572},[59225],{"type":431,"value":59226}," `Invoice #${",{"type":426,"tag":553,"props":59228,"children":59229},{"style":684},[59230],{"type":431,"value":59160},{"type":426,"tag":553,"props":59232,"children":59233},{"style":572},[59234],{"type":431,"value":982},{"type":426,"tag":553,"props":59236,"children":59237},{"style":566},[59238],{"type":431,"value":1295},{"type":426,"tag":553,"props":59240,"children":59241},{"style":572},[59242],{"type":431,"value":52883},{"type":426,"tag":553,"props":59244,"children":59245},{"style":795},[59246],{"type":431,"value":52888},{"type":426,"tag":553,"props":59248,"children":59249},{"class":555,"line":1114},[59250,59254,59258,59263,59267,59271],{"type":426,"tag":553,"props":59251,"children":59252},{"style":572},[59253],{"type":431,"value":52896},{"type":426,"tag":553,"props":59255,"children":59256},{"style":684},[59257],{"type":431,"value":52789},{"type":426,"tag":553,"props":59259,"children":59260},{"style":572},[59261],{"type":431,"value":59262},"}! 🧾",{"type":426,"tag":553,"props":59264,"children":59265},{"style":566},[59266],{"type":431,"value":1295},{"type":426,"tag":553,"props":59268,"children":59269},{"style":572},[59270],{"type":431,"value":52883},{"type":426,"tag":553,"props":59272,"children":59273},{"style":795},[59274],{"type":431,"value":52888},{"type":426,"tag":553,"props":59276,"children":59277},{"class":555,"line":1127},[59278,59283,59287,59291],{"type":426,"tag":553,"props":59279,"children":59280},{"style":572},[59281],{"type":431,"value":59282},"    `Your invoice is ready:",{"type":426,"tag":553,"props":59284,"children":59285},{"style":566},[59286],{"type":431,"value":3661},{"type":426,"tag":553,"props":59288,"children":59289},{"style":572},[59290],{"type":431,"value":52883},{"type":426,"tag":553,"props":59292,"children":59293},{"style":795},[59294],{"type":431,"value":52888},{"type":426,"tag":553,"props":59296,"children":59297},{"class":555,"line":1167},[59298,59303,59307,59311,59316,59320,59324,59328,59332,59336,59340],{"type":426,"tag":553,"props":59299,"children":59300},{"style":572},[59301],{"type":431,"value":59302},"    `*Amount:* $${",{"type":426,"tag":553,"props":59304,"children":59305},{"style":684},[59306],{"type":431,"value":24486},{"type":426,"tag":553,"props":59308,"children":59309},{"style":572},[59310],{"type":431,"value":6789},{"type":426,"tag":553,"props":59312,"children":59313},{"style":560},[59314],{"type":431,"value":59315},"toFixed",{"type":426,"tag":553,"props":59317,"children":59318},{"style":572},[59319],{"type":431,"value":3275},{"type":426,"tag":553,"props":59321,"children":59322},{"style":566},[59323],{"type":431,"value":6533},{"type":426,"tag":553,"props":59325,"children":59326},{"style":572},[59327],{"type":431,"value":5736},{"type":426,"tag":553,"props":59329,"children":59330},{"style":572},[59331],{"type":431,"value":982},{"type":426,"tag":553,"props":59333,"children":59334},{"style":566},[59335],{"type":431,"value":3661},{"type":426,"tag":553,"props":59337,"children":59338},{"style":572},[59339],{"type":431,"value":52883},{"type":426,"tag":553,"props":59341,"children":59342},{"style":795},[59343],{"type":431,"value":52888},{"type":426,"tag":553,"props":59345,"children":59346},{"class":555,"line":1184},[59347,59352,59356,59360,59364,59368],{"type":426,"tag":553,"props":59348,"children":59349},{"style":572},[59350],{"type":431,"value":59351},"    `*Due:* ${",{"type":426,"tag":553,"props":59353,"children":59354},{"style":684},[59355],{"type":431,"value":59177},{"type":426,"tag":553,"props":59357,"children":59358},{"style":572},[59359],{"type":431,"value":982},{"type":426,"tag":553,"props":59361,"children":59362},{"style":566},[59363],{"type":431,"value":1295},{"type":426,"tag":553,"props":59365,"children":59366},{"style":572},[59367],{"type":431,"value":52883},{"type":426,"tag":553,"props":59369,"children":59370},{"style":795},[59371],{"type":431,"value":52888},{"type":426,"tag":553,"props":59373,"children":59374},{"class":555,"line":1192},[59375,59380,59384,59388,59392,59396],{"type":426,"tag":553,"props":59376,"children":59377},{"style":572},[59378],{"type":431,"value":59379},"    `💳 Pay now: ${",{"type":426,"tag":553,"props":59381,"children":59382},{"style":684},[59383],{"type":431,"value":59186},{"type":426,"tag":553,"props":59385,"children":59386},{"style":572},[59387],{"type":431,"value":982},{"type":426,"tag":553,"props":59389,"children":59390},{"style":566},[59391],{"type":431,"value":1295},{"type":426,"tag":553,"props":59393,"children":59394},{"style":572},[59395],{"type":431,"value":52883},{"type":426,"tag":553,"props":59397,"children":59398},{"style":795},[59399],{"type":431,"value":52888},{"type":426,"tag":553,"props":59401,"children":59402},{"class":555,"line":1210},[59403,59408],{"type":426,"tag":553,"props":59404,"children":59405},{"style":572},[59406],{"type":431,"value":59407},"    `Questions? Just reply here!`",{"type":426,"tag":553,"props":59409,"children":59410},{"style":684},[59411],{"type":431,"value":52321},{"type":426,"tag":553,"props":59413,"children":59414},{"class":555,"line":1253},[59415],{"type":426,"tag":553,"props":59416,"children":59417},{"emptyLinePlaceholder":831},[59418],{"type":431,"value":834},{"type":426,"tag":553,"props":59420,"children":59421},{"class":555,"line":1302},[59422,59426,59430,59434,59438,59442,59446,59450],{"type":426,"tag":553,"props":59423,"children":59424},{"style":795},[59425],{"type":431,"value":52540},{"type":426,"tag":553,"props":59427,"children":59428},{"style":566},[59429],{"type":431,"value":53061},{"type":426,"tag":553,"props":59431,"children":59432},{"style":795},[59433],{"type":431,"value":8739},{"type":426,"tag":553,"props":59435,"children":59436},{"style":795},[59437],{"type":431,"value":53070},{"type":426,"tag":553,"props":59439,"children":59440},{"style":560},[59441],{"type":431,"value":52226},{"type":426,"tag":553,"props":59443,"children":59444},{"style":684},[59445],{"type":431,"value":3275},{"type":426,"tag":553,"props":59447,"children":59448},{"style":572},[59449],{"type":431,"value":55802},{"type":426,"tag":553,"props":59451,"children":59452},{"style":684},[59453],{"type":431,"value":53088},{"type":426,"tag":553,"props":59455,"children":59456},{"class":555,"line":1374},[59457,59461,59465],{"type":426,"tag":553,"props":59458,"children":59459},{"style":684},[59460],{"type":431,"value":53096},{"type":426,"tag":553,"props":59462,"children":59463},{"style":572},[59464],{"type":431,"value":8056},{"type":426,"tag":553,"props":59466,"children":59467},{"style":684},[59468],{"type":431,"value":710},{"type":426,"tag":553,"props":59470,"children":59471},{"class":555,"line":1414},[59472],{"type":426,"tag":553,"props":59473,"children":59474},{"style":684},[59475],{"type":431,"value":53112},{"type":426,"tag":553,"props":59477,"children":59478},{"class":555,"line":1479},[59479,59483,59487,59491,59495,59499],{"type":426,"tag":553,"props":59480,"children":59481},{"style":572},[59482],{"type":431,"value":53120},{"type":426,"tag":553,"props":59484,"children":59485},{"style":684},[59486],{"type":431,"value":700},{"type":426,"tag":553,"props":59488,"children":59489},{"style":572},[59490],{"type":431,"value":53129},{"type":426,"tag":553,"props":59492,"children":59493},{"style":566},[59494],{"type":431,"value":7156},{"type":426,"tag":553,"props":59496,"children":59497},{"style":572},[59498],{"type":431,"value":52718},{"type":426,"tag":553,"props":59500,"children":59501},{"style":684},[59502],{"type":431,"value":710},{"type":426,"tag":553,"props":59504,"children":59505},{"class":555,"line":1517},[59506,59510,59514],{"type":426,"tag":553,"props":59507,"children":59508},{"style":572},[59509],{"type":431,"value":53149},{"type":426,"tag":553,"props":59511,"children":59512},{"style":684},[59513],{"type":431,"value":700},{"type":426,"tag":553,"props":59515,"children":59516},{"style":572},[59517],{"type":431,"value":53158},{"type":426,"tag":553,"props":59519,"children":59520},{"class":555,"line":1560},[59521],{"type":426,"tag":553,"props":59522,"children":59523},{"style":684},[59524],{"type":431,"value":17203},{"type":426,"tag":553,"props":59526,"children":59527},{"class":555,"line":1598},[59528,59532,59536,59540,59544],{"type":426,"tag":553,"props":59529,"children":59530},{"style":684},[59531],{"type":431,"value":53173},{"type":426,"tag":553,"props":59533,"children":59534},{"style":566},[59535],{"type":431,"value":53178},{"type":426,"tag":553,"props":59537,"children":59538},{"style":684},[59539],{"type":431,"value":6789},{"type":426,"tag":553,"props":59541,"children":59542},{"style":560},[59543],{"type":431,"value":53187},{"type":426,"tag":553,"props":59545,"children":59546},{"style":684},[59547],{"type":431,"value":59548},"({ number: customerPhone, message })\n",{"type":426,"tag":553,"props":59550,"children":59551},{"class":555,"line":1636},[59552],{"type":426,"tag":553,"props":59553,"children":59554},{"style":684},[59555],{"type":431,"value":52480},{"type":426,"tag":553,"props":59557,"children":59558},{"class":555,"line":1645},[59559],{"type":426,"tag":553,"props":59560,"children":59561},{"emptyLinePlaceholder":831},[59562],{"type":431,"value":834},{"type":426,"tag":553,"props":59564,"children":59565},{"class":555,"line":1653},[59566,59570,59574,59578],{"type":426,"tag":553,"props":59567,"children":59568},{"style":795},[59569],{"type":431,"value":52393},{"type":426,"tag":553,"props":59571,"children":59572},{"style":684},[59573],{"type":431,"value":53218},{"type":426,"tag":553,"props":59575,"children":59576},{"style":560},[59577],{"type":431,"value":673},{"type":426,"tag":553,"props":59579,"children":59580},{"style":684},[59581],{"type":431,"value":53227},{"type":426,"tag":553,"props":59583,"children":59584},{"class":555,"line":1667},[59585],{"type":426,"tag":553,"props":59586,"children":59587},{"style":684},[59588],{"type":431,"value":756},{"type":426,"tag":553,"props":59590,"children":59591},{"class":555,"line":1680},[59592],{"type":426,"tag":553,"props":59593,"children":59594},{"emptyLinePlaceholder":831},[59595],{"type":431,"value":834},{"type":426,"tag":553,"props":59597,"children":59598},{"class":555,"line":1740},[59599],{"type":426,"tag":553,"props":59600,"children":59601},{"style":1975},[59602],{"type":431,"value":53575},{"type":426,"tag":553,"props":59604,"children":59605},{"class":555,"line":1787},[59606,59611],{"type":426,"tag":553,"props":59607,"children":59608},{"style":560},[59609],{"type":431,"value":59610},"sendInvoiceWhatsApp",{"type":426,"tag":553,"props":59612,"children":59613},{"style":684},[59614],{"type":431,"value":52612},{"type":426,"tag":553,"props":59616,"children":59617},{"class":555,"line":1796},[59618,59623,59627],{"type":426,"tag":553,"props":59619,"children":59620},{"style":684},[59621],{"type":431,"value":59622},"  customerPhone: ",{"type":426,"tag":553,"props":59624,"children":59625},{"style":572},[59626],{"type":431,"value":10197},{"type":426,"tag":553,"props":59628,"children":59629},{"style":684},[59630],{"type":431,"value":710},{"type":426,"tag":553,"props":59632,"children":59633},{"class":555,"line":1804},[59634,59638,59642],{"type":426,"tag":553,"props":59635,"children":59636},{"style":684},[59637],{"type":431,"value":53628},{"type":426,"tag":553,"props":59639,"children":59640},{"style":572},[59641],{"type":431,"value":51804},{"type":426,"tag":553,"props":59643,"children":59644},{"style":684},[59645],{"type":431,"value":710},{"type":426,"tag":553,"props":59647,"children":59648},{"class":555,"line":1812},[59649,59654,59659],{"type":426,"tag":553,"props":59650,"children":59651},{"style":684},[59652],{"type":431,"value":59653},"  invoiceNumber: ",{"type":426,"tag":553,"props":59655,"children":59656},{"style":572},[59657],{"type":431,"value":59658},"'INV-2026-001'",{"type":426,"tag":553,"props":59660,"children":59661},{"style":684},[59662],{"type":431,"value":710},{"type":426,"tag":553,"props":59664,"children":59665},{"class":555,"line":1847},[59666,59671,59676],{"type":426,"tag":553,"props":59667,"children":59668},{"style":684},[59669],{"type":431,"value":59670},"  amount: ",{"type":426,"tag":553,"props":59672,"children":59673},{"style":566},[59674],{"type":431,"value":59675},"1500",{"type":426,"tag":553,"props":59677,"children":59678},{"style":684},[59679],{"type":431,"value":710},{"type":426,"tag":553,"props":59681,"children":59682},{"class":555,"line":1856},[59683,59688,59693],{"type":426,"tag":553,"props":59684,"children":59685},{"style":684},[59686],{"type":431,"value":59687},"  dueDate: ",{"type":426,"tag":553,"props":59689,"children":59690},{"style":572},[59691],{"type":431,"value":59692},"'July 10, 2026'",{"type":426,"tag":553,"props":59694,"children":59695},{"style":684},[59696],{"type":431,"value":710},{"type":426,"tag":553,"props":59698,"children":59699},{"class":555,"line":1874},[59700,59705],{"type":426,"tag":553,"props":59701,"children":59702},{"style":684},[59703],{"type":431,"value":59704},"  paymentUrl: ",{"type":426,"tag":553,"props":59706,"children":59707},{"style":572},[59708],{"type":431,"value":59709},"'https:\u002F\u002Fpay.yourcompany.com\u002FINV-2026-001'\n",{"type":426,"tag":553,"props":59711,"children":59712},{"class":555,"line":1882},[59713,59717,59721,59725,59729,59733,59737,59741],{"type":426,"tag":553,"props":59714,"children":59715},{"style":684},[59716],{"type":431,"value":53690},{"type":426,"tag":553,"props":59718,"children":59719},{"style":560},[59720],{"type":431,"value":53695},{"type":426,"tag":553,"props":59722,"children":59723},{"style":684},[59724],{"type":431,"value":3275},{"type":426,"tag":553,"props":59726,"children":59727},{"style":1684},[59728],{"type":431,"value":53704},{"type":426,"tag":553,"props":59730,"children":59731},{"style":795},[59732],{"type":431,"value":53709},{"type":426,"tag":553,"props":59734,"children":59735},{"style":684},[59736],{"type":431,"value":53714},{"type":426,"tag":553,"props":59738,"children":59739},{"style":560},[59740],{"type":431,"value":53719},{"type":426,"tag":553,"props":59742,"children":59743},{"style":684},[59744],{"type":431,"value":59745},"(result));\n",{"type":426,"tag":434,"props":59747,"children":59749},{"id":59748},"payment-reminder-sequence-best-practices",[59750],{"type":431,"value":59751},"Payment Reminder Sequence Best Practices",{"type":426,"tag":10600,"props":59753,"children":59754},{},[59755,59776],{"type":426,"tag":10604,"props":59756,"children":59757},{},[59758],{"type":426,"tag":10608,"props":59759,"children":59760},{},[59761,59766,59771],{"type":426,"tag":10612,"props":59762,"children":59763},{},[59764],{"type":431,"value":59765},"Timing",{"type":426,"tag":10612,"props":59767,"children":59768},{},[59769],{"type":431,"value":59770},"Tone",{"type":426,"tag":10612,"props":59772,"children":59773},{},[59774],{"type":431,"value":59775},"Message focus",{"type":426,"tag":10623,"props":59777,"children":59778},{},[59779,59797,59815,59833,59851,59869],{"type":426,"tag":10608,"props":59780,"children":59781},{},[59782,59787,59792],{"type":426,"tag":10630,"props":59783,"children":59784},{},[59785],{"type":431,"value":59786},"3 days before due",{"type":426,"tag":10630,"props":59788,"children":59789},{},[59790],{"type":431,"value":59791},"Friendly",{"type":426,"tag":10630,"props":59793,"children":59794},{},[59795],{"type":431,"value":59796},"\"Just a reminder\"",{"type":426,"tag":10608,"props":59798,"children":59799},{},[59800,59805,59810],{"type":426,"tag":10630,"props":59801,"children":59802},{},[59803],{"type":431,"value":59804},"Due date",{"type":426,"tag":10630,"props":59806,"children":59807},{},[59808],{"type":431,"value":59809},"Neutral",{"type":426,"tag":10630,"props":59811,"children":59812},{},[59813],{"type":431,"value":59814},"\"Invoice is due today\"",{"type":426,"tag":10608,"props":59816,"children":59817},{},[59818,59823,59828],{"type":426,"tag":10630,"props":59819,"children":59820},{},[59821],{"type":431,"value":59822},"3 days overdue",{"type":426,"tag":10630,"props":59824,"children":59825},{},[59826],{"type":431,"value":59827},"Polite urgency",{"type":426,"tag":10630,"props":59829,"children":59830},{},[59831],{"type":431,"value":59832},"\"Please pay when convenient\"",{"type":426,"tag":10608,"props":59834,"children":59835},{},[59836,59841,59846],{"type":426,"tag":10630,"props":59837,"children":59838},{},[59839],{"type":431,"value":59840},"7 days overdue",{"type":426,"tag":10630,"props":59842,"children":59843},{},[59844],{"type":431,"value":59845},"Direct",{"type":426,"tag":10630,"props":59847,"children":59848},{},[59849],{"type":431,"value":59850},"\"Payment needed ASAP\"",{"type":426,"tag":10608,"props":59852,"children":59853},{},[59854,59859,59864],{"type":426,"tag":10630,"props":59855,"children":59856},{},[59857],{"type":431,"value":59858},"14 days overdue",{"type":426,"tag":10630,"props":59860,"children":59861},{},[59862],{"type":431,"value":59863},"Firm",{"type":426,"tag":10630,"props":59865,"children":59866},{},[59867],{"type":431,"value":59868},"\"Final notice — contact us\"",{"type":426,"tag":10608,"props":59870,"children":59871},{},[59872,59877,59882],{"type":426,"tag":10630,"props":59873,"children":59874},{},[59875],{"type":431,"value":59876},"30+ days overdue",{"type":426,"tag":10630,"props":59878,"children":59879},{},[59880],{"type":431,"value":59881},"Stop automating",{"type":426,"tag":10630,"props":59883,"children":59884},{},[59885],{"type":431,"value":59886},"Escalate to human\u002Fcollections",{"type":426,"tag":434,"props":59888,"children":59889},{"id":18886},[59890],{"type":431,"value":18889},{"type":426,"tag":454,"props":59892,"children":59893},{},[59894,59904,59912,59928],{"type":426,"tag":458,"props":59895,"children":59896},{},[59897,59902],{"type":426,"tag":446,"props":59898,"children":59899},{},[59900],{"type":431,"value":59901},"Customers not responding",{"type":431,"value":59903},": WhatsApp messages require an active number. Verify phone numbers are in international format and active",{"type":426,"tag":458,"props":59905,"children":59906},{},[59907,59911],{"type":426,"tag":446,"props":59908,"children":59909},{},[59910],{"type":431,"value":26117},{"type":431,"value":26119},{"type":426,"tag":458,"props":59913,"children":59914},{},[59915,59920,59922],{"type":426,"tag":446,"props":59916,"children":59917},{},[59918],{"type":431,"value":59919},"PDF not opening on WhatsApp mobile",{"type":431,"value":59921},": Ensure the PDF URL is publicly accessible and the Content-Type header is ",{"type":426,"tag":549,"props":59923,"children":59925},{"className":59924},[],[59926],{"type":431,"value":59927},"application\u002Fpdf",{"type":426,"tag":458,"props":59929,"children":59930},{},[59931,59936,59937,59943],{"type":426,"tag":446,"props":59932,"children":59933},{},[59934],{"type":431,"value":59935},"Duplicate reminders sent",{"type":431,"value":56085},{"type":426,"tag":549,"props":59938,"children":59940},{"className":59939},[],[59941],{"type":431,"value":59942},"last_reminder_sent",{"type":431,"value":59944}," check in your database before sending",{"type":426,"tag":434,"props":59946,"children":59947},{"id":4109},[59948],{"type":431,"value":4112},{"type":426,"tag":427,"props":59950,"children":59951},{},[59952,59957],{"type":426,"tag":446,"props":59953,"children":59954},{},[59955],{"type":431,"value":59956},"Is WhatsApp legal for sending invoices and payment reminders?",{"type":431,"value":59958},"\nYes, with consent. Customers who provide their WhatsApp number for order\u002Fbilling purposes have implicitly consented to business communications. For colder outreach, add an explicit opt-in at checkout.",{"type":426,"tag":427,"props":59960,"children":59961},{},[59962,59967],{"type":426,"tag":446,"props":59963,"children":59964},{},[59965],{"type":431,"value":59966},"Does Rapiwa charge per invoice message?",{"type":431,"value":59968},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Send 100 or 10,000 invoices at the same monthly cost.",{"type":426,"tag":427,"props":59970,"children":59971},{},[59972,59977],{"type":426,"tag":446,"props":59973,"children":59974},{},[59975],{"type":431,"value":59976},"Can I attach a payment button to the WhatsApp message?",{"type":431,"value":59978},"\nWhatsApp's official API supports interactive buttons (payment, quick reply) but only through Meta's official WhatsApp Business Platform. With Rapiwa (unofficial API), you can include a payment link in text — customers click it to pay.",{"type":426,"tag":427,"props":59980,"children":59981},{},[59982,59987],{"type":426,"tag":446,"props":59983,"children":59984},{},[59985],{"type":431,"value":59986},"How do I handle customers who pay by cheque and not online?",{"type":431,"value":59988},"\nAdd a \"Reply PAID if you've paid by cheque\u002Fbank transfer\" option. When they reply PAID, your webhook processor updates the invoice status.",{"type":426,"tag":427,"props":59990,"children":59991},{},[59992,59997],{"type":426,"tag":446,"props":59993,"children":59994},{},[59995],{"type":431,"value":59996},"Can I integrate this with Xero, QuickBooks, or FreshBooks?",{"type":431,"value":59998},"\nYes. These tools have webhook APIs — when an invoice is created in Xero\u002FQuickBooks, trigger the WhatsApp notification via n8n or a custom webhook handler.",{"type":426,"tag":4164,"props":60000,"children":60001},{},[60002],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":60004},[60005,60006,60007,60010,60011,60012,60013,60014,60015],{"id":56209,"depth":588,"text":56212},{"id":56321,"depth":588,"text":56324},{"id":56357,"depth":588,"text":56360,"children":60008},[60009],{"id":563,"depth":606,"text":56365},{"id":56544,"depth":588,"text":56547},{"id":56670,"depth":588,"text":56673},{"id":58997,"depth":588,"text":59000},{"id":59748,"depth":588,"text":59751},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-invoice-payment-reminder-api-rapiwa.md","blog\u002Fwhatsapp-invoice-payment-reminder-api-rapiwa.md","blog\u002Fwhatsapp-invoice-payment-reminder-api-rapiwa",{"loc":81},{"_path":85,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":86,"description":87,"date":60021,"author":26210,"category":22,"_slug":60022,"image":60023,"body":60024,"_type":4187,"_id":62947,"_source":4189,"_file":62948,"_stem":62949,"_extension":4192,"sitemap":62950},"2026-03-08","whatsapp-api-salesforce-crm-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-salesforce-crm-rapiwa.svg",{"type":423,"children":60025,"toc":62928},[60026,60031,60037,60090,60094,60122,60128,60136,60144,60149,60157,60165,60170,60176,60182,60214,60220,60231,60278,60286,60349,60355,60359,60390,60398,60555,60562,60655,60662,60738,60744,60750,60760,60798,60804,62100,62106,62420,62426,62431,62511,62595,62601,62606,62789,62793,62862,62866,62876,62886,62896,62906,62924],{"type":426,"tag":427,"props":60027,"children":60028},{},[60029],{"type":431,"value":60030},"You can integrate WhatsApp messaging into Salesforce CRM by connecting Rapiwa API to Salesforce using Apex callouts, Salesforce Flow with External Services, or n8n as middleware. When a lead is created, a deal stage changes, or a Flow fires, Rapiwa sends a WhatsApp message to the contact's phone. Rapiwa costs $5\u002Fmonth flat with no per-message fees — a fraction of Salesforce's native messaging add-ons.",{"type":426,"tag":434,"props":60032,"children":60034},{"id":60033},"what-you-can-automate",[60035],{"type":431,"value":60036},"What You Can Automate",{"type":426,"tag":454,"props":60038,"children":60039},{},[60040,60050,60060,60070,60080],{"type":426,"tag":458,"props":60041,"children":60042},{},[60043,60048],{"type":426,"tag":446,"props":60044,"children":60045},{},[60046],{"type":431,"value":60047},"Lead follow-up",{"type":431,"value":60049},": WhatsApp message to new leads within 5 minutes of form submission",{"type":426,"tag":458,"props":60051,"children":60052},{},[60053,60058],{"type":426,"tag":446,"props":60054,"children":60055},{},[60056],{"type":431,"value":60057},"Opportunity stage",{"type":431,"value":60059},": Notify reps when a deal moves to \"Negotiation\" stage",{"type":426,"tag":458,"props":60061,"children":60062},{},[60063,60068],{"type":426,"tag":446,"props":60064,"children":60065},{},[60066],{"type":431,"value":60067},"Meeting reminders",{"type":431,"value":60069},": WhatsApp reminder 1 hour before Salesforce-scheduled meetings",{"type":426,"tag":458,"props":60071,"children":60072},{},[60073,60078],{"type":426,"tag":446,"props":60074,"children":60075},{},[60076],{"type":431,"value":60077},"Contract sent",{"type":431,"value":60079},": Message prospects immediately when a DocuSign contract is sent",{"type":426,"tag":458,"props":60081,"children":60082},{},[60083,60088],{"type":426,"tag":446,"props":60084,"children":60085},{},[60086],{"type":431,"value":60087},"Renewal alerts",{"type":431,"value":60089},": WhatsApp reminders 30\u002F7\u002F1 days before subscription renewals",{"type":426,"tag":434,"props":60091,"children":60092},{"id":47624},[60093],{"type":431,"value":47627},{"type":426,"tag":454,"props":60095,"children":60096},{},[60097,60107,60112,60117],{"type":426,"tag":458,"props":60098,"children":60099},{},[60100,60101,60106],{"type":431,"value":48828},{"type":426,"tag":3819,"props":60102,"children":60104},{"href":3821,"rel":60103},[3823],[60105],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":60108,"children":60109},{},[60110],{"type":431,"value":60111},"Salesforce org (Developer Edition or higher)",{"type":426,"tag":458,"props":60113,"children":60114},{},[60115],{"type":431,"value":60116},"n8n (Cloud free tier or self-hosted) — recommended for no-code approach",{"type":426,"tag":458,"props":60118,"children":60119},{},[60120],{"type":431,"value":60121},"Salesforce Connected App credentials (for API access)",{"type":426,"tag":434,"props":60123,"children":60125},{"id":60124},"architecture-options",[60126],{"type":431,"value":60127},"Architecture Options",{"type":426,"tag":427,"props":60129,"children":60130},{},[60131],{"type":426,"tag":446,"props":60132,"children":60133},{},[60134],{"type":431,"value":60135},"Option A (Recommended): Salesforce Flow → Webhook → n8n → Rapiwa",{"type":426,"tag":542,"props":60137,"children":60139},{"code":60138},"Salesforce Flow → Outbound Message\u002FWebhook → n8n → Rapiwa API → WhatsApp\n",[60140],{"type":426,"tag":549,"props":60141,"children":60142},{"__ignoreMap":417},[60143],{"type":431,"value":60138},{"type":426,"tag":427,"props":60145,"children":60146},{},[60147],{"type":431,"value":60148},"Best for: Non-developers, admins building without code",{"type":426,"tag":427,"props":60150,"children":60151},{},[60152],{"type":426,"tag":446,"props":60153,"children":60154},{},[60155],{"type":431,"value":60156},"Option B: Apex Callout → Rapiwa",{"type":426,"tag":542,"props":60158,"children":60160},{"code":60159},"Salesforce Trigger (Apex) → HttpRequest → Rapiwa API → WhatsApp\n",[60161],{"type":426,"tag":549,"props":60162,"children":60163},{"__ignoreMap":417},[60164],{"type":431,"value":60159},{"type":426,"tag":427,"props":60166,"children":60167},{},[60168],{"type":431,"value":60169},"Best for: Developers with Salesforce experience",{"type":426,"tag":434,"props":60171,"children":60173},{"id":60172},"method-1-using-n8n-as-middleware-no-code",[60174],{"type":431,"value":60175},"Method 1: Using n8n as Middleware (No-Code)",{"type":426,"tag":515,"props":60177,"children":60179},{"id":60178},"step-1-create-an-n8n-webhook",[60180],{"type":431,"value":60181},"Step 1: Create an n8n Webhook",{"type":426,"tag":6331,"props":60183,"children":60184},{},[60185,60190,60202],{"type":426,"tag":458,"props":60186,"children":60187},{},[60188],{"type":431,"value":60189},"In n8n, create a new workflow",{"type":426,"tag":458,"props":60191,"children":60192},{},[60193,60195,60200],{"type":431,"value":60194},"Add a ",{"type":426,"tag":446,"props":60196,"children":60197},{},[60198],{"type":431,"value":60199},"Webhook",{"type":431,"value":60201}," trigger node",{"type":426,"tag":458,"props":60203,"children":60204},{},[60205,60207,60213],{"type":431,"value":60206},"Copy the webhook URL (e.g. ",{"type":426,"tag":549,"props":60208,"children":60210},{"className":60209},[],[60211],{"type":431,"value":60212},"https:\u002F\u002Fyourn8n.cloud\u002Fwebhook\u002Fsalesforce-whatsapp",{"type":431,"value":5736},{"type":426,"tag":515,"props":60215,"children":60217},{"id":60216},"step-2-configure-salesforce-flow-to-call-webhook",[60218],{"type":431,"value":60219},"Step 2: Configure Salesforce Flow to Call Webhook",{"type":426,"tag":427,"props":60221,"children":60222},{},[60223,60225,60230],{"type":431,"value":60224},"In Salesforce Setup → ",{"type":426,"tag":446,"props":60226,"children":60227},{},[60228],{"type":431,"value":60229},"Flow Builder",{"type":431,"value":19071},{"type":426,"tag":6331,"props":60232,"children":60233},{},[60234,60244,60254,60266],{"type":426,"tag":458,"props":60235,"children":60236},{},[60237,60239],{"type":431,"value":60238},"Create a ",{"type":426,"tag":446,"props":60240,"children":60241},{},[60242],{"type":431,"value":60243},"Record-Triggered Flow",{"type":426,"tag":458,"props":60245,"children":60246},{},[60247,60248,60252],{"type":431,"value":55584},{"type":426,"tag":446,"props":60249,"children":60250},{},[60251],{"type":431,"value":55589},{"type":431,"value":60253}," on Lead object",{"type":426,"tag":458,"props":60255,"children":60256},{},[60257,60259,60264],{"type":431,"value":60258},"Add action: ",{"type":426,"tag":446,"props":60260,"children":60261},{},[60262],{"type":431,"value":60263},"HTTP Callout",{"type":431,"value":60265}," (requires Salesforce External Services setup)",{"type":426,"tag":458,"props":60267,"children":60268},{},[60269,60271,60276],{"type":431,"value":60270},"Or use: ",{"type":426,"tag":446,"props":60272,"children":60273},{},[60274],{"type":431,"value":60275},"Apex Action",{"type":431,"value":60277}," (custom code) → calls n8n webhook URL",{"type":426,"tag":427,"props":60279,"children":60280},{},[60281],{"type":426,"tag":446,"props":60282,"children":60283},{},[60284],{"type":431,"value":60285},"Simpler approach — Salesforce Outbound Messages:",{"type":426,"tag":6331,"props":60287,"children":60288},{},[60289,60301,60317],{"type":426,"tag":458,"props":60290,"children":60291},{},[60292,60294,60299],{"type":431,"value":60293},"Setup → ",{"type":426,"tag":446,"props":60295,"children":60296},{},[60297],{"type":431,"value":60298},"Workflow Rules",{"type":431,"value":60300}," → Create rule for Lead: Created",{"type":426,"tag":458,"props":60302,"children":60303},{},[60304,60305,60310,60312],{"type":431,"value":60258},{"type":426,"tag":446,"props":60306,"children":60307},{},[60308],{"type":431,"value":60309},"Outbound Message",{"type":431,"value":60311}," → URL: ",{"type":426,"tag":549,"props":60313,"children":60315},{"className":60314},[],[60316],{"type":431,"value":60212},{"type":426,"tag":458,"props":60318,"children":60319},{},[60320,60322,60328,60329,60335,60336,60342,60343],{"type":431,"value":60321},"Include fields: ",{"type":426,"tag":549,"props":60323,"children":60325},{"className":60324},[],[60326],{"type":431,"value":60327},"Lead.Phone",{"type":431,"value":1907},{"type":426,"tag":549,"props":60330,"children":60332},{"className":60331},[],[60333],{"type":431,"value":60334},"Lead.FirstName",{"type":431,"value":1907},{"type":426,"tag":549,"props":60337,"children":60339},{"className":60338},[],[60340],{"type":431,"value":60341},"Lead.LastName",{"type":431,"value":1907},{"type":426,"tag":549,"props":60344,"children":60346},{"className":60345},[],[60347],{"type":431,"value":60348},"Lead.Email",{"type":426,"tag":515,"props":60350,"children":60352},{"id":60351},"step-3-n8n-processes-the-salesforce-event",[60353],{"type":431,"value":60354},"Step 3: n8n Processes the Salesforce Event",{"type":426,"tag":427,"props":60356,"children":60357},{},[60358],{"type":431,"value":54927},{"type":426,"tag":6331,"props":60360,"children":60361},{},[60362,60371,60381],{"type":426,"tag":458,"props":60363,"children":60364},{},[60365,60369],{"type":426,"tag":446,"props":60366,"children":60367},{},[60368],{"type":431,"value":60199},{"type":431,"value":60370}," node receives the Salesforce outbound message",{"type":426,"tag":458,"props":60372,"children":60373},{},[60374,60379],{"type":426,"tag":446,"props":60375,"children":60376},{},[60377],{"type":431,"value":60378},"Set",{"type":431,"value":60380}," node extracts phone and builds message",{"type":426,"tag":458,"props":60382,"children":60383},{},[60384,60388],{"type":426,"tag":446,"props":60385,"children":60386},{},[60387],{"type":431,"value":47931},{"type":431,"value":60389}," sends WhatsApp",{"type":426,"tag":427,"props":60391,"children":60392},{},[60393],{"type":426,"tag":446,"props":60394,"children":60395},{},[60396],{"type":431,"value":60397},"HTTP Request configuration:",{"type":426,"tag":542,"props":60399,"children":60401},{"code":60400,"language":673,"meta":417,"className":674,"style":417},"{\n  \"method\": \"POST\",\n  \"url\": \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n  \"headers\": {\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n  \"body\": {\n    \"number\": \"={{ $json.body.sObjects.sObject.Phone }}\",\n    \"message\": \"Hi {{ $json.body.sObjects.sObject.FirstName }}! Thanks for your interest. I'm Alex from [Company] — when's a good time to chat this week?\"\n  }\n}\n",[60402],{"type":426,"tag":549,"props":60403,"children":60404},{"__ignoreMap":417},[60405,60412,60433,60454,60466,60483,60490,60502,60523,60540,60548],{"type":426,"tag":553,"props":60406,"children":60407},{"class":555,"line":556},[60408],{"type":426,"tag":553,"props":60409,"children":60410},{"style":684},[60411],{"type":431,"value":687},{"type":426,"tag":553,"props":60413,"children":60414},{"class":555,"line":588},[60415,60420,60424,60429],{"type":426,"tag":553,"props":60416,"children":60417},{"style":566},[60418],{"type":431,"value":60419},"  \"method\"",{"type":426,"tag":553,"props":60421,"children":60422},{"style":684},[60423],{"type":431,"value":700},{"type":426,"tag":553,"props":60425,"children":60426},{"style":572},[60427],{"type":431,"value":60428},"\"POST\"",{"type":426,"tag":553,"props":60430,"children":60431},{"style":684},[60432],{"type":431,"value":710},{"type":426,"tag":553,"props":60434,"children":60435},{"class":555,"line":606},[60436,60441,60445,60450],{"type":426,"tag":553,"props":60437,"children":60438},{"style":566},[60439],{"type":431,"value":60440},"  \"url\"",{"type":426,"tag":553,"props":60442,"children":60443},{"style":684},[60444],{"type":431,"value":700},{"type":426,"tag":553,"props":60446,"children":60447},{"style":572},[60448],{"type":431,"value":60449},"\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"",{"type":426,"tag":553,"props":60451,"children":60452},{"style":684},[60453],{"type":431,"value":710},{"type":426,"tag":553,"props":60455,"children":60456},{"class":555,"line":623},[60457,60462],{"type":426,"tag":553,"props":60458,"children":60459},{"style":566},[60460],{"type":431,"value":60461},"  \"headers\"",{"type":426,"tag":553,"props":60463,"children":60464},{"style":684},[60465],{"type":431,"value":17102},{"type":426,"tag":553,"props":60467,"children":60468},{"class":555,"line":637},[60469,60474,60478],{"type":426,"tag":553,"props":60470,"children":60471},{"style":566},[60472],{"type":431,"value":60473},"    \"Authorization\"",{"type":426,"tag":553,"props":60475,"children":60476},{"style":684},[60477],{"type":431,"value":700},{"type":426,"tag":553,"props":60479,"children":60480},{"style":572},[60481],{"type":431,"value":60482},"\"Bearer YOUR_API_KEY\"\n",{"type":426,"tag":553,"props":60484,"children":60485},{"class":555,"line":646},[60486],{"type":426,"tag":553,"props":60487,"children":60488},{"style":684},[60489],{"type":431,"value":55883},{"type":426,"tag":553,"props":60491,"children":60492},{"class":555,"line":655},[60493,60498],{"type":426,"tag":553,"props":60494,"children":60495},{"style":566},[60496],{"type":431,"value":60497},"  \"body\"",{"type":426,"tag":553,"props":60499,"children":60500},{"style":684},[60501],{"type":431,"value":17102},{"type":426,"tag":553,"props":60503,"children":60504},{"class":555,"line":1036},[60505,60510,60514,60519],{"type":426,"tag":553,"props":60506,"children":60507},{"style":566},[60508],{"type":431,"value":60509},"    \"number\"",{"type":426,"tag":553,"props":60511,"children":60512},{"style":684},[60513],{"type":431,"value":700},{"type":426,"tag":553,"props":60515,"children":60516},{"style":572},[60517],{"type":431,"value":60518},"\"={{ $json.body.sObjects.sObject.Phone }}\"",{"type":426,"tag":553,"props":60520,"children":60521},{"style":684},[60522],{"type":431,"value":710},{"type":426,"tag":553,"props":60524,"children":60525},{"class":555,"line":1054},[60526,60531,60535],{"type":426,"tag":553,"props":60527,"children":60528},{"style":566},[60529],{"type":431,"value":60530},"    \"message\"",{"type":426,"tag":553,"props":60532,"children":60533},{"style":684},[60534],{"type":431,"value":700},{"type":426,"tag":553,"props":60536,"children":60537},{"style":572},[60538],{"type":431,"value":60539},"\"Hi {{ $json.body.sObjects.sObject.FirstName }}! Thanks for your interest. I'm Alex from [Company] — when's a good time to chat this week?\"\n",{"type":426,"tag":553,"props":60541,"children":60542},{"class":555,"line":1080},[60543],{"type":426,"tag":553,"props":60544,"children":60545},{"style":684},[60546],{"type":431,"value":60547},"  }\n",{"type":426,"tag":553,"props":60549,"children":60550},{"class":555,"line":1097},[60551],{"type":426,"tag":553,"props":60552,"children":60553},{"style":684},[60554],{"type":431,"value":756},{"type":426,"tag":427,"props":60556,"children":60557},{},[60558],{"type":426,"tag":446,"props":60559,"children":60560},{},[60561],{"type":431,"value":30402},{"type":426,"tag":542,"props":60563,"children":60565},{"code":60564,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! Thanks for your inquiry. I would love to connect — would you have 15 minutes this week for a quick call?\"\n  }'\n",[60566],{"type":426,"tag":549,"props":60567,"children":60568},{"__ignoreMap":417},[60569,60592,60607,60622,60633,60640,60648],{"type":426,"tag":553,"props":60570,"children":60571},{"class":555,"line":556},[60572,60576,60580,60584,60588],{"type":426,"tag":553,"props":60573,"children":60574},{"style":560},[60575],{"type":431,"value":563},{"type":426,"tag":553,"props":60577,"children":60578},{"style":566},[60579],{"type":431,"value":569},{"type":426,"tag":553,"props":60581,"children":60582},{"style":572},[60583],{"type":431,"value":575},{"type":426,"tag":553,"props":60585,"children":60586},{"style":572},[60587],{"type":431,"value":580},{"type":426,"tag":553,"props":60589,"children":60590},{"style":566},[60591],{"type":431,"value":585},{"type":426,"tag":553,"props":60593,"children":60594},{"class":555,"line":588},[60595,60599,60603],{"type":426,"tag":553,"props":60596,"children":60597},{"style":566},[60598],{"type":431,"value":594},{"type":426,"tag":553,"props":60600,"children":60601},{"style":572},[60602],{"type":431,"value":599},{"type":426,"tag":553,"props":60604,"children":60605},{"style":566},[60606],{"type":431,"value":585},{"type":426,"tag":553,"props":60608,"children":60609},{"class":555,"line":606},[60610,60614,60618],{"type":426,"tag":553,"props":60611,"children":60612},{"style":566},[60613],{"type":431,"value":594},{"type":426,"tag":553,"props":60615,"children":60616},{"style":572},[60617],{"type":431,"value":616},{"type":426,"tag":553,"props":60619,"children":60620},{"style":566},[60621],{"type":431,"value":585},{"type":426,"tag":553,"props":60623,"children":60624},{"class":555,"line":623},[60625,60629],{"type":426,"tag":553,"props":60626,"children":60627},{"style":566},[60628],{"type":431,"value":629},{"type":426,"tag":553,"props":60630,"children":60631},{"style":572},[60632],{"type":431,"value":634},{"type":426,"tag":553,"props":60634,"children":60635},{"class":555,"line":637},[60636],{"type":426,"tag":553,"props":60637,"children":60638},{"style":572},[60639],{"type":431,"value":643},{"type":426,"tag":553,"props":60641,"children":60642},{"class":555,"line":646},[60643],{"type":426,"tag":553,"props":60644,"children":60645},{"style":572},[60646],{"type":431,"value":60647},"    \"message\": \"Hi Sarah! Thanks for your inquiry. I would love to connect — would you have 15 minutes this week for a quick call?\"\n",{"type":426,"tag":553,"props":60649,"children":60650},{"class":555,"line":655},[60651],{"type":426,"tag":553,"props":60652,"children":60653},{"style":572},[60654],{"type":431,"value":661},{"type":426,"tag":427,"props":60656,"children":60657},{},[60658],{"type":426,"tag":446,"props":60659,"children":60660},{},[60661],{"type":431,"value":669},{"type":426,"tag":542,"props":60663,"children":60665},{"code":60664,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_sf_abc123\",\n  \"timestamp\": \"2026-07-01T10:30:00Z\"\n}\n",[60666],{"type":426,"tag":549,"props":60667,"children":60668},{"__ignoreMap":417},[60669,60676,60695,60715,60731],{"type":426,"tag":553,"props":60670,"children":60671},{"class":555,"line":556},[60672],{"type":426,"tag":553,"props":60673,"children":60674},{"style":684},[60675],{"type":431,"value":687},{"type":426,"tag":553,"props":60677,"children":60678},{"class":555,"line":588},[60679,60683,60687,60691],{"type":426,"tag":553,"props":60680,"children":60681},{"style":566},[60682],{"type":431,"value":695},{"type":426,"tag":553,"props":60684,"children":60685},{"style":684},[60686],{"type":431,"value":700},{"type":426,"tag":553,"props":60688,"children":60689},{"style":572},[60690],{"type":431,"value":705},{"type":426,"tag":553,"props":60692,"children":60693},{"style":684},[60694],{"type":431,"value":710},{"type":426,"tag":553,"props":60696,"children":60697},{"class":555,"line":606},[60698,60702,60706,60711],{"type":426,"tag":553,"props":60699,"children":60700},{"style":566},[60701],{"type":431,"value":718},{"type":426,"tag":553,"props":60703,"children":60704},{"style":684},[60705],{"type":431,"value":700},{"type":426,"tag":553,"props":60707,"children":60708},{"style":572},[60709],{"type":431,"value":60710},"\"msg_sf_abc123\"",{"type":426,"tag":553,"props":60712,"children":60713},{"style":684},[60714],{"type":431,"value":710},{"type":426,"tag":553,"props":60716,"children":60717},{"class":555,"line":623},[60718,60722,60726],{"type":426,"tag":553,"props":60719,"children":60720},{"style":566},[60721],{"type":431,"value":739},{"type":426,"tag":553,"props":60723,"children":60724},{"style":684},[60725],{"type":431,"value":700},{"type":426,"tag":553,"props":60727,"children":60728},{"style":572},[60729],{"type":431,"value":60730},"\"2026-07-01T10:30:00Z\"\n",{"type":426,"tag":553,"props":60732,"children":60733},{"class":555,"line":637},[60734],{"type":426,"tag":553,"props":60735,"children":60736},{"style":684},[60737],{"type":431,"value":756},{"type":426,"tag":434,"props":60739,"children":60741},{"id":60740},"method-2-apex-callout-developer-approach",[60742],{"type":431,"value":60743},"Method 2: Apex Callout (Developer Approach)",{"type":426,"tag":515,"props":60745,"children":60747},{"id":60746},"step-1-whitelist-rapiwa-in-remote-site-settings",[60748],{"type":431,"value":60749},"Step 1: Whitelist Rapiwa in Remote Site Settings",{"type":426,"tag":427,"props":60751,"children":60752},{},[60753,60754,60759],{"type":431,"value":60224},{"type":426,"tag":446,"props":60755,"children":60756},{},[60757],{"type":431,"value":60758},"Security → Remote Site Settings",{"type":431,"value":19071},{"type":426,"tag":454,"props":60761,"children":60762},{},[60763,60772,60783,60793],{"type":426,"tag":458,"props":60764,"children":60765},{},[60766,60767],{"type":431,"value":47857},{"type":426,"tag":446,"props":60768,"children":60769},{},[60770],{"type":431,"value":60771},"New Remote Site",{"type":426,"tag":458,"props":60773,"children":60774},{},[60775,60777],{"type":431,"value":60776},"Remote Site Name: ",{"type":426,"tag":549,"props":60778,"children":60780},{"className":60779},[],[60781],{"type":431,"value":60782},"RapiwaAPI",{"type":426,"tag":458,"props":60784,"children":60785},{},[60786,60788],{"type":431,"value":60787},"Remote Site URL: ",{"type":426,"tag":549,"props":60789,"children":60791},{"className":60790},[],[60792],{"type":431,"value":10643},{"type":426,"tag":458,"props":60794,"children":60795},{},[60796],{"type":431,"value":60797},"Active: ✓",{"type":426,"tag":515,"props":60799,"children":60801},{"id":60800},"step-2-create-an-apex-class-for-rapiwa",[60802],{"type":431,"value":60803},"Step 2: Create an Apex Class for Rapiwa",{"type":426,"tag":542,"props":60805,"children":60809},{"code":60806,"language":60807,"meta":417,"className":60808,"style":417},"\u002F\u002F RapiwaService.cls\npublic class RapiwaService {\n    \n    private static final String API_URL = 'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message';\n    private static final String API_KEY = 'YOUR_API_KEY'; \u002F\u002F Store in Custom Settings or Named Credentials in production\n    \n    \u002F**\n     * Send a WhatsApp message via Rapiwa API.\n     * Uses @future for async execution to avoid DML + callout order issues.\n     *\u002F\n    @future(callout=true)\n    public static void sendWhatsAppAsync(String phone, String message) {\n        HttpRequest req = new HttpRequest();\n        req.setEndpoint(API_URL);\n        req.setMethod('POST');\n        req.setHeader('Authorization', 'Bearer ' + API_KEY);\n        req.setHeader('Content-Type', 'application\u002Fjson');\n        req.setTimeout(15000); \u002F\u002F 15 second timeout\n        \n        \u002F\u002F Build JSON body\n        Map\u003CString, String> body = new Map\u003CString, String>{\n            'number' => phone,\n            'message' => message\n        };\n        req.setBody(JSON.serialize(body));\n        \n        try {\n            Http http = new Http();\n            HttpResponse res = http.send(req);\n            \n            Map\u003CString, Object> responseBody = \n                (Map\u003CString, Object>) JSON.deserializeUntyped(res.getBody());\n            \n            String status = (String) responseBody.get('status');\n            \n            if (res.getStatusCode() == 200 && 'success'.equals(status)) {\n                System.debug('WhatsApp sent to ' + phone + ': ' + responseBody.get('messageId'));\n            } else {\n                System.debug('Rapiwa error: ' + res.getBody());\n            }\n            \n        } catch (CalloutException e) {\n            System.debug('Callout failed: ' + e.getMessage());\n        }\n    }\n    \n    \u002F**\n     * Convenience method: send order confirmation\n     *\u002F\n    public static void sendOrderConfirmation(String phone, String customerName, String orderId, Decimal orderTotal) {\n        String message = 'Hi ' + customerName + '! ✅\\n\\n'\n            + 'Your order #' + orderId + ' is confirmed.\\n'\n            + 'Total: $' + orderTotal.setScale(2).toPlainString() + '\\n\\n'\n            + 'We will be in touch shortly!';\n        \n        sendWhatsAppAsync(phone, message);\n    }\n}\n","java","language-java shiki shiki-themes github-dark",[60810],{"type":426,"tag":549,"props":60811,"children":60812},{"__ignoreMap":417},[60813,60821,60843,60850,60886,60924,60931,60939,60947,60955,60963,60997,61041,61066,61084,61108,61146,61179,61210,61217,61225,61281,61297,61313,61321,61348,61355,61366,61391,61417,61424,61458,61504,61511,61545,61552,61605,61670,61687,61724,61731,61738,61764,61803,61810,61817,61824,61831,61839,61846,61905,61948,61987,62050,62066,62073,62086,62093],{"type":426,"tag":553,"props":60814,"children":60815},{"class":555,"line":556},[60816],{"type":426,"tag":553,"props":60817,"children":60818},{"style":1975},[60819],{"type":431,"value":60820},"\u002F\u002F RapiwaService.cls\n",{"type":426,"tag":553,"props":60822,"children":60823},{"class":555,"line":588},[60824,60829,60834,60839],{"type":426,"tag":553,"props":60825,"children":60826},{"style":795},[60827],{"type":431,"value":60828},"public",{"type":426,"tag":553,"props":60830,"children":60831},{"style":795},[60832],{"type":431,"value":60833}," class",{"type":426,"tag":553,"props":60835,"children":60836},{"style":560},[60837],{"type":431,"value":60838}," RapiwaService",{"type":426,"tag":553,"props":60840,"children":60841},{"style":684},[60842],{"type":431,"value":5458},{"type":426,"tag":553,"props":60844,"children":60845},{"class":555,"line":606},[60846],{"type":426,"tag":553,"props":60847,"children":60848},{"style":684},[60849],{"type":431,"value":917},{"type":426,"tag":553,"props":60851,"children":60852},{"class":555,"line":623},[60853,60858,60863,60868,60873,60877,60882],{"type":426,"tag":553,"props":60854,"children":60855},{"style":795},[60856],{"type":431,"value":60857},"    private",{"type":426,"tag":553,"props":60859,"children":60860},{"style":795},[60861],{"type":431,"value":60862}," static",{"type":426,"tag":553,"props":60864,"children":60865},{"style":795},[60866],{"type":431,"value":60867}," final",{"type":426,"tag":553,"props":60869,"children":60870},{"style":684},[60871],{"type":431,"value":60872}," String API_URL ",{"type":426,"tag":553,"props":60874,"children":60875},{"style":795},[60876],{"type":431,"value":957},{"type":426,"tag":553,"props":60878,"children":60879},{"style":572},[60880],{"type":431,"value":60881}," 'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message'",{"type":426,"tag":553,"props":60883,"children":60884},{"style":684},[60885],{"type":431,"value":52321},{"type":426,"tag":553,"props":60887,"children":60888},{"class":555,"line":637},[60889,60893,60897,60901,60906,60910,60914,60919],{"type":426,"tag":553,"props":60890,"children":60891},{"style":795},[60892],{"type":431,"value":60857},{"type":426,"tag":553,"props":60894,"children":60895},{"style":795},[60896],{"type":431,"value":60862},{"type":426,"tag":553,"props":60898,"children":60899},{"style":795},[60900],{"type":431,"value":60867},{"type":426,"tag":553,"props":60902,"children":60903},{"style":684},[60904],{"type":431,"value":60905}," String API_KEY ",{"type":426,"tag":553,"props":60907,"children":60908},{"style":795},[60909],{"type":431,"value":957},{"type":426,"tag":553,"props":60911,"children":60912},{"style":572},[60913],{"type":431,"value":52316},{"type":426,"tag":553,"props":60915,"children":60916},{"style":684},[60917],{"type":431,"value":60918},"; ",{"type":426,"tag":553,"props":60920,"children":60921},{"style":1975},[60922],{"type":431,"value":60923},"\u002F\u002F Store in Custom Settings or Named Credentials in production\n",{"type":426,"tag":553,"props":60925,"children":60926},{"class":555,"line":646},[60927],{"type":426,"tag":553,"props":60928,"children":60929},{"style":684},[60930],{"type":431,"value":917},{"type":426,"tag":553,"props":60932,"children":60933},{"class":555,"line":655},[60934],{"type":426,"tag":553,"props":60935,"children":60936},{"style":1975},[60937],{"type":431,"value":60938},"    \u002F**\n",{"type":426,"tag":553,"props":60940,"children":60941},{"class":555,"line":1036},[60942],{"type":426,"tag":553,"props":60943,"children":60944},{"style":1975},[60945],{"type":431,"value":60946},"     * Send a WhatsApp message via Rapiwa API.\n",{"type":426,"tag":553,"props":60948,"children":60949},{"class":555,"line":1054},[60950],{"type":426,"tag":553,"props":60951,"children":60952},{"style":1975},[60953],{"type":431,"value":60954},"     * Uses @future for async execution to avoid DML + callout order issues.\n",{"type":426,"tag":553,"props":60956,"children":60957},{"class":555,"line":1080},[60958],{"type":426,"tag":553,"props":60959,"children":60960},{"style":1975},[60961],{"type":431,"value":60962},"     *\u002F\n",{"type":426,"tag":553,"props":60964,"children":60965},{"class":555,"line":1097},[60966,60971,60976,60980,60985,60989,60993],{"type":426,"tag":553,"props":60967,"children":60968},{"style":684},[60969],{"type":431,"value":60970},"    @",{"type":426,"tag":553,"props":60972,"children":60973},{"style":795},[60974],{"type":431,"value":60975},"future",{"type":426,"tag":553,"props":60977,"children":60978},{"style":684},[60979],{"type":431,"value":3275},{"type":426,"tag":553,"props":60981,"children":60982},{"style":566},[60983],{"type":431,"value":60984},"callout",{"type":426,"tag":553,"props":60986,"children":60987},{"style":795},[60988],{"type":431,"value":957},{"type":426,"tag":553,"props":60990,"children":60991},{"style":566},[60992],{"type":431,"value":48523},{"type":426,"tag":553,"props":60994,"children":60995},{"style":684},[60996],{"type":431,"value":3262},{"type":426,"tag":553,"props":60998,"children":60999},{"class":555,"line":1114},[61000,61005,61009,61014,61019,61024,61028,61033,61037],{"type":426,"tag":553,"props":61001,"children":61002},{"style":795},[61003],{"type":431,"value":61004},"    public",{"type":426,"tag":553,"props":61006,"children":61007},{"style":795},[61008],{"type":431,"value":60862},{"type":426,"tag":553,"props":61010,"children":61011},{"style":795},[61012],{"type":431,"value":61013}," void",{"type":426,"tag":553,"props":61015,"children":61016},{"style":560},[61017],{"type":431,"value":61018}," sendWhatsAppAsync",{"type":426,"tag":553,"props":61020,"children":61021},{"style":684},[61022],{"type":431,"value":61023},"(String ",{"type":426,"tag":553,"props":61025,"children":61026},{"style":1684},[61027],{"type":431,"value":37598},{"type":426,"tag":553,"props":61029,"children":61030},{"style":684},[61031],{"type":431,"value":61032},", String ",{"type":426,"tag":553,"props":61034,"children":61035},{"style":1684},[61036],{"type":431,"value":2734},{"type":426,"tag":553,"props":61038,"children":61039},{"style":684},[61040],{"type":431,"value":52385},{"type":426,"tag":553,"props":61042,"children":61043},{"class":555,"line":1127},[61044,61049,61053,61057,61062],{"type":426,"tag":553,"props":61045,"children":61046},{"style":684},[61047],{"type":431,"value":61048},"        HttpRequest req ",{"type":426,"tag":553,"props":61050,"children":61051},{"style":795},[61052],{"type":431,"value":957},{"type":426,"tag":553,"props":61054,"children":61055},{"style":795},[61056],{"type":431,"value":52275},{"type":426,"tag":553,"props":61058,"children":61059},{"style":560},[61060],{"type":431,"value":61061}," HttpRequest",{"type":426,"tag":553,"props":61063,"children":61064},{"style":684},[61065],{"type":431,"value":53227},{"type":426,"tag":553,"props":61067,"children":61068},{"class":555,"line":1167},[61069,61074,61079],{"type":426,"tag":553,"props":61070,"children":61071},{"style":684},[61072],{"type":431,"value":61073},"        req.",{"type":426,"tag":553,"props":61075,"children":61076},{"style":560},[61077],{"type":431,"value":61078},"setEndpoint",{"type":426,"tag":553,"props":61080,"children":61081},{"style":684},[61082],{"type":431,"value":61083},"(API_URL);\n",{"type":426,"tag":553,"props":61085,"children":61086},{"class":555,"line":1184},[61087,61091,61096,61100,61104],{"type":426,"tag":553,"props":61088,"children":61089},{"style":684},[61090],{"type":431,"value":61073},{"type":426,"tag":553,"props":61092,"children":61093},{"style":560},[61094],{"type":431,"value":61095},"setMethod",{"type":426,"tag":553,"props":61097,"children":61098},{"style":684},[61099],{"type":431,"value":3275},{"type":426,"tag":553,"props":61101,"children":61102},{"style":572},[61103],{"type":431,"value":8056},{"type":426,"tag":553,"props":61105,"children":61106},{"style":684},[61107],{"type":431,"value":11379},{"type":426,"tag":553,"props":61109,"children":61110},{"class":555,"line":1192},[61111,61115,61120,61124,61128,61132,61136,61141],{"type":426,"tag":553,"props":61112,"children":61113},{"style":684},[61114],{"type":431,"value":61073},{"type":426,"tag":553,"props":61116,"children":61117},{"style":560},[61118],{"type":431,"value":61119},"setHeader",{"type":426,"tag":553,"props":61121,"children":61122},{"style":684},[61123],{"type":431,"value":3275},{"type":426,"tag":553,"props":61125,"children":61126},{"style":572},[61127],{"type":431,"value":1700},{"type":426,"tag":553,"props":61129,"children":61130},{"style":684},[61131],{"type":431,"value":1907},{"type":426,"tag":553,"props":61133,"children":61134},{"style":572},[61135],{"type":431,"value":13631},{"type":426,"tag":553,"props":61137,"children":61138},{"style":795},[61139],{"type":431,"value":61140}," +",{"type":426,"tag":553,"props":61142,"children":61143},{"style":684},[61144],{"type":431,"value":61145}," API_KEY);\n",{"type":426,"tag":553,"props":61147,"children":61148},{"class":555,"line":1210},[61149,61153,61157,61161,61166,61170,61175],{"type":426,"tag":553,"props":61150,"children":61151},{"style":684},[61152],{"type":431,"value":61073},{"type":426,"tag":553,"props":61154,"children":61155},{"style":560},[61156],{"type":431,"value":61119},{"type":426,"tag":553,"props":61158,"children":61159},{"style":684},[61160],{"type":431,"value":3275},{"type":426,"tag":553,"props":61162,"children":61163},{"style":572},[61164],{"type":431,"value":61165},"'Content-Type'",{"type":426,"tag":553,"props":61167,"children":61168},{"style":684},[61169],{"type":431,"value":1907},{"type":426,"tag":553,"props":61171,"children":61172},{"style":572},[61173],{"type":431,"value":61174},"'application\u002Fjson'",{"type":426,"tag":553,"props":61176,"children":61177},{"style":684},[61178],{"type":431,"value":11379},{"type":426,"tag":553,"props":61180,"children":61181},{"class":555,"line":1253},[61182,61186,61191,61195,61200,61205],{"type":426,"tag":553,"props":61183,"children":61184},{"style":684},[61185],{"type":431,"value":61073},{"type":426,"tag":553,"props":61187,"children":61188},{"style":560},[61189],{"type":431,"value":61190},"setTimeout",{"type":426,"tag":553,"props":61192,"children":61193},{"style":684},[61194],{"type":431,"value":3275},{"type":426,"tag":553,"props":61196,"children":61197},{"style":566},[61198],{"type":431,"value":61199},"15000",{"type":426,"tag":553,"props":61201,"children":61202},{"style":684},[61203],{"type":431,"value":61204},"); ",{"type":426,"tag":553,"props":61206,"children":61207},{"style":1975},[61208],{"type":431,"value":61209},"\u002F\u002F 15 second timeout\n",{"type":426,"tag":553,"props":61211,"children":61212},{"class":555,"line":1302},[61213],{"type":426,"tag":553,"props":61214,"children":61215},{"style":684},[61216],{"type":431,"value":2061},{"type":426,"tag":553,"props":61218,"children":61219},{"class":555,"line":1374},[61220],{"type":426,"tag":553,"props":61221,"children":61222},{"style":1975},[61223],{"type":431,"value":61224},"        \u002F\u002F Build JSON body\n",{"type":426,"tag":553,"props":61226,"children":61227},{"class":555,"line":1414},[61228,61233,61238,61242,61246,61251,61255,61259,61264,61268,61272,61276],{"type":426,"tag":553,"props":61229,"children":61230},{"style":684},[61231],{"type":431,"value":61232},"        Map\u003C",{"type":426,"tag":553,"props":61234,"children":61235},{"style":795},[61236],{"type":431,"value":61237},"String",{"type":426,"tag":553,"props":61239,"children":61240},{"style":684},[61241],{"type":431,"value":1907},{"type":426,"tag":553,"props":61243,"children":61244},{"style":795},[61245],{"type":431,"value":61237},{"type":426,"tag":553,"props":61247,"children":61248},{"style":684},[61249],{"type":431,"value":61250},"> body ",{"type":426,"tag":553,"props":61252,"children":61253},{"style":795},[61254],{"type":431,"value":957},{"type":426,"tag":553,"props":61256,"children":61257},{"style":795},[61258],{"type":431,"value":52275},{"type":426,"tag":553,"props":61260,"children":61261},{"style":684},[61262],{"type":431,"value":61263}," Map\u003C",{"type":426,"tag":553,"props":61265,"children":61266},{"style":795},[61267],{"type":431,"value":61237},{"type":426,"tag":553,"props":61269,"children":61270},{"style":684},[61271],{"type":431,"value":1907},{"type":426,"tag":553,"props":61273,"children":61274},{"style":795},[61275],{"type":431,"value":61237},{"type":426,"tag":553,"props":61277,"children":61278},{"style":684},[61279],{"type":431,"value":61280},">{\n",{"type":426,"tag":553,"props":61282,"children":61283},{"class":555,"line":1479},[61284,61288,61292],{"type":426,"tag":553,"props":61285,"children":61286},{"style":572},[61287],{"type":431,"value":15045},{"type":426,"tag":553,"props":61289,"children":61290},{"style":795},[61291],{"type":431,"value":53709},{"type":426,"tag":553,"props":61293,"children":61294},{"style":684},[61295],{"type":431,"value":61296}," phone,\n",{"type":426,"tag":553,"props":61298,"children":61299},{"class":555,"line":1517},[61300,61304,61308],{"type":426,"tag":553,"props":61301,"children":61302},{"style":572},[61303],{"type":431,"value":15058},{"type":426,"tag":553,"props":61305,"children":61306},{"style":795},[61307],{"type":431,"value":53709},{"type":426,"tag":553,"props":61309,"children":61310},{"style":684},[61311],{"type":431,"value":61312}," message\n",{"type":426,"tag":553,"props":61314,"children":61315},{"class":555,"line":1560},[61316],{"type":426,"tag":553,"props":61317,"children":61318},{"style":684},[61319],{"type":431,"value":61320},"        };\n",{"type":426,"tag":553,"props":61322,"children":61323},{"class":555,"line":1598},[61324,61328,61333,61338,61343],{"type":426,"tag":553,"props":61325,"children":61326},{"style":684},[61327],{"type":431,"value":61073},{"type":426,"tag":553,"props":61329,"children":61330},{"style":560},[61331],{"type":431,"value":61332},"setBody",{"type":426,"tag":553,"props":61334,"children":61335},{"style":684},[61336],{"type":431,"value":61337},"(JSON.",{"type":426,"tag":553,"props":61339,"children":61340},{"style":560},[61341],{"type":431,"value":61342},"serialize",{"type":426,"tag":553,"props":61344,"children":61345},{"style":684},[61346],{"type":431,"value":61347},"(body));\n",{"type":426,"tag":553,"props":61349,"children":61350},{"class":555,"line":1636},[61351],{"type":426,"tag":553,"props":61352,"children":61353},{"style":684},[61354],{"type":431,"value":2061},{"type":426,"tag":553,"props":61356,"children":61357},{"class":555,"line":1645},[61358,61362],{"type":426,"tag":553,"props":61359,"children":61360},{"style":795},[61361],{"type":431,"value":8822},{"type":426,"tag":553,"props":61363,"children":61364},{"style":684},[61365],{"type":431,"value":5458},{"type":426,"tag":553,"props":61367,"children":61368},{"class":555,"line":1653},[61369,61374,61378,61382,61387],{"type":426,"tag":553,"props":61370,"children":61371},{"style":684},[61372],{"type":431,"value":61373},"            Http http ",{"type":426,"tag":553,"props":61375,"children":61376},{"style":795},[61377],{"type":431,"value":957},{"type":426,"tag":553,"props":61379,"children":61380},{"style":795},[61381],{"type":431,"value":52275},{"type":426,"tag":553,"props":61383,"children":61384},{"style":560},[61385],{"type":431,"value":61386}," Http",{"type":426,"tag":553,"props":61388,"children":61389},{"style":684},[61390],{"type":431,"value":53227},{"type":426,"tag":553,"props":61392,"children":61393},{"class":555,"line":1667},[61394,61399,61403,61408,61412],{"type":426,"tag":553,"props":61395,"children":61396},{"style":684},[61397],{"type":431,"value":61398},"            HttpResponse res ",{"type":426,"tag":553,"props":61400,"children":61401},{"style":795},[61402],{"type":431,"value":957},{"type":426,"tag":553,"props":61404,"children":61405},{"style":684},[61406],{"type":431,"value":61407}," http.",{"type":426,"tag":553,"props":61409,"children":61410},{"style":560},[61411],{"type":431,"value":52593},{"type":426,"tag":553,"props":61413,"children":61414},{"style":684},[61415],{"type":431,"value":61416},"(req);\n",{"type":426,"tag":553,"props":61418,"children":61419},{"class":555,"line":1680},[61420],{"type":426,"tag":553,"props":61421,"children":61422},{"style":684},[61423],{"type":431,"value":8972},{"type":426,"tag":553,"props":61425,"children":61426},{"class":555,"line":1740},[61427,61432,61436,61440,61445,61450,61454],{"type":426,"tag":553,"props":61428,"children":61429},{"style":684},[61430],{"type":431,"value":61431},"            Map\u003C",{"type":426,"tag":553,"props":61433,"children":61434},{"style":795},[61435],{"type":431,"value":61237},{"type":426,"tag":553,"props":61437,"children":61438},{"style":684},[61439],{"type":431,"value":1907},{"type":426,"tag":553,"props":61441,"children":61442},{"style":795},[61443],{"type":431,"value":61444},"Object",{"type":426,"tag":553,"props":61446,"children":61447},{"style":684},[61448],{"type":431,"value":61449},"> responseBody ",{"type":426,"tag":553,"props":61451,"children":61452},{"style":795},[61453],{"type":431,"value":957},{"type":426,"tag":553,"props":61455,"children":61456},{"style":684},[61457],{"type":431,"value":25987},{"type":426,"tag":553,"props":61459,"children":61460},{"class":555,"line":1787},[61461,61466,61470,61475,61479,61484,61489,61494,61499],{"type":426,"tag":553,"props":61462,"children":61463},{"style":684},[61464],{"type":431,"value":61465},"                (Map",{"type":426,"tag":553,"props":61467,"children":61468},{"style":795},[61469],{"type":431,"value":25949},{"type":426,"tag":553,"props":61471,"children":61472},{"style":684},[61473],{"type":431,"value":61474},"String, Object",{"type":426,"tag":553,"props":61476,"children":61477},{"style":795},[61478],{"type":431,"value":935},{"type":426,"tag":553,"props":61480,"children":61481},{"style":684},[61482],{"type":431,"value":61483},") JSON.",{"type":426,"tag":553,"props":61485,"children":61486},{"style":560},[61487],{"type":431,"value":61488},"deserializeUntyped",{"type":426,"tag":553,"props":61490,"children":61491},{"style":684},[61492],{"type":431,"value":61493},"(res.",{"type":426,"tag":553,"props":61495,"children":61496},{"style":560},[61497],{"type":431,"value":61498},"getBody",{"type":426,"tag":553,"props":61500,"children":61501},{"style":684},[61502],{"type":431,"value":61503},"());\n",{"type":426,"tag":553,"props":61505,"children":61506},{"class":555,"line":1796},[61507],{"type":426,"tag":553,"props":61508,"children":61509},{"style":684},[61510],{"type":431,"value":8972},{"type":426,"tag":553,"props":61512,"children":61513},{"class":555,"line":1804},[61514,61519,61523,61528,61533,61537,61541],{"type":426,"tag":553,"props":61515,"children":61516},{"style":684},[61517],{"type":431,"value":61518},"            String status ",{"type":426,"tag":553,"props":61520,"children":61521},{"style":795},[61522],{"type":431,"value":957},{"type":426,"tag":553,"props":61524,"children":61525},{"style":684},[61526],{"type":431,"value":61527}," (String) responseBody.",{"type":426,"tag":553,"props":61529,"children":61530},{"style":560},[61531],{"type":431,"value":61532},"get",{"type":426,"tag":553,"props":61534,"children":61535},{"style":684},[61536],{"type":431,"value":3275},{"type":426,"tag":553,"props":61538,"children":61539},{"style":572},[61540],{"type":431,"value":2982},{"type":426,"tag":553,"props":61542,"children":61543},{"style":684},[61544],{"type":431,"value":11379},{"type":426,"tag":553,"props":61546,"children":61547},{"class":555,"line":1812},[61548],{"type":426,"tag":553,"props":61549,"children":61550},{"style":684},[61551],{"type":431,"value":8972},{"type":426,"tag":553,"props":61553,"children":61554},{"class":555,"line":1847},[61555,61559,61564,61569,61574,61578,61583,61588,61592,61596,61600],{"type":426,"tag":553,"props":61556,"children":61557},{"style":795},[61558],{"type":431,"value":8980},{"type":426,"tag":553,"props":61560,"children":61561},{"style":684},[61562],{"type":431,"value":61563}," (res.",{"type":426,"tag":553,"props":61565,"children":61566},{"style":560},[61567],{"type":431,"value":61568},"getStatusCode",{"type":426,"tag":553,"props":61570,"children":61571},{"style":684},[61572],{"type":431,"value":61573},"() ",{"type":426,"tag":553,"props":61575,"children":61576},{"style":795},[61577],{"type":431,"value":1069},{"type":426,"tag":553,"props":61579,"children":61580},{"style":566},[61581],{"type":431,"value":61582}," 200",{"type":426,"tag":553,"props":61584,"children":61585},{"style":795},[61586],{"type":431,"value":61587}," &&",{"type":426,"tag":553,"props":61589,"children":61590},{"style":572},[61591],{"type":431,"value":2996},{"type":426,"tag":553,"props":61593,"children":61594},{"style":684},[61595],{"type":431,"value":6789},{"type":426,"tag":553,"props":61597,"children":61598},{"style":560},[61599],{"type":431,"value":55088},{"type":426,"tag":553,"props":61601,"children":61602},{"style":684},[61603],{"type":431,"value":61604},"(status)) {\n",{"type":426,"tag":553,"props":61606,"children":61607},{"class":555,"line":1856},[61608,61613,61618,61622,61627,61631,61635,61639,61644,61648,61653,61657,61661,61665],{"type":426,"tag":553,"props":61609,"children":61610},{"style":684},[61611],{"type":431,"value":61612},"                System.",{"type":426,"tag":553,"props":61614,"children":61615},{"style":560},[61616],{"type":431,"value":61617},"debug",{"type":426,"tag":553,"props":61619,"children":61620},{"style":684},[61621],{"type":431,"value":3275},{"type":426,"tag":553,"props":61623,"children":61624},{"style":572},[61625],{"type":431,"value":61626},"'WhatsApp sent to '",{"type":426,"tag":553,"props":61628,"children":61629},{"style":795},[61630],{"type":431,"value":61140},{"type":426,"tag":553,"props":61632,"children":61633},{"style":684},[61634],{"type":431,"value":7505},{"type":426,"tag":553,"props":61636,"children":61637},{"style":795},[61638],{"type":431,"value":2033},{"type":426,"tag":553,"props":61640,"children":61641},{"style":572},[61642],{"type":431,"value":61643}," ': '",{"type":426,"tag":553,"props":61645,"children":61646},{"style":795},[61647],{"type":431,"value":61140},{"type":426,"tag":553,"props":61649,"children":61650},{"style":684},[61651],{"type":431,"value":61652}," responseBody.",{"type":426,"tag":553,"props":61654,"children":61655},{"style":560},[61656],{"type":431,"value":61532},{"type":426,"tag":553,"props":61658,"children":61659},{"style":684},[61660],{"type":431,"value":3275},{"type":426,"tag":553,"props":61662,"children":61663},{"style":572},[61664],{"type":431,"value":8316},{"type":426,"tag":553,"props":61666,"children":61667},{"style":684},[61668],{"type":431,"value":61669},"));\n",{"type":426,"tag":553,"props":61671,"children":61672},{"class":555,"line":1874},[61673,61678,61683],{"type":426,"tag":553,"props":61674,"children":61675},{"style":684},[61676],{"type":431,"value":61677},"            } ",{"type":426,"tag":553,"props":61679,"children":61680},{"style":795},[61681],{"type":431,"value":61682},"else",{"type":426,"tag":553,"props":61684,"children":61685},{"style":684},[61686],{"type":431,"value":5458},{"type":426,"tag":553,"props":61688,"children":61689},{"class":555,"line":1882},[61690,61694,61698,61702,61707,61711,61716,61720],{"type":426,"tag":553,"props":61691,"children":61692},{"style":684},[61693],{"type":431,"value":61612},{"type":426,"tag":553,"props":61695,"children":61696},{"style":560},[61697],{"type":431,"value":61617},{"type":426,"tag":553,"props":61699,"children":61700},{"style":684},[61701],{"type":431,"value":3275},{"type":426,"tag":553,"props":61703,"children":61704},{"style":572},[61705],{"type":431,"value":61706},"'Rapiwa error: '",{"type":426,"tag":553,"props":61708,"children":61709},{"style":795},[61710],{"type":431,"value":61140},{"type":426,"tag":553,"props":61712,"children":61713},{"style":684},[61714],{"type":431,"value":61715}," res.",{"type":426,"tag":553,"props":61717,"children":61718},{"style":560},[61719],{"type":431,"value":61498},{"type":426,"tag":553,"props":61721,"children":61722},{"style":684},[61723],{"type":431,"value":61503},{"type":426,"tag":553,"props":61725,"children":61726},{"class":555,"line":1981},[61727],{"type":426,"tag":553,"props":61728,"children":61729},{"style":684},[61730],{"type":431,"value":21329},{"type":426,"tag":553,"props":61732,"children":61733},{"class":555,"line":1989},[61734],{"type":426,"tag":553,"props":61735,"children":61736},{"style":684},[61737],{"type":431,"value":8972},{"type":426,"tag":553,"props":61739,"children":61740},{"class":555,"line":2013},[61741,61746,61751,61756,61760],{"type":426,"tag":553,"props":61742,"children":61743},{"style":684},[61744],{"type":431,"value":61745},"        } ",{"type":426,"tag":553,"props":61747,"children":61748},{"style":795},[61749],{"type":431,"value":61750},"catch",{"type":426,"tag":553,"props":61752,"children":61753},{"style":684},[61754],{"type":431,"value":61755}," (CalloutException ",{"type":426,"tag":553,"props":61757,"children":61758},{"style":1684},[61759],{"type":431,"value":14643},{"type":426,"tag":553,"props":61761,"children":61762},{"style":684},[61763],{"type":431,"value":52385},{"type":426,"tag":553,"props":61765,"children":61766},{"class":555,"line":2055},[61767,61772,61776,61780,61785,61789,61794,61799],{"type":426,"tag":553,"props":61768,"children":61769},{"style":684},[61770],{"type":431,"value":61771},"            System.",{"type":426,"tag":553,"props":61773,"children":61774},{"style":560},[61775],{"type":431,"value":61617},{"type":426,"tag":553,"props":61777,"children":61778},{"style":684},[61779],{"type":431,"value":3275},{"type":426,"tag":553,"props":61781,"children":61782},{"style":572},[61783],{"type":431,"value":61784},"'Callout failed: '",{"type":426,"tag":553,"props":61786,"children":61787},{"style":795},[61788],{"type":431,"value":61140},{"type":426,"tag":553,"props":61790,"children":61791},{"style":684},[61792],{"type":431,"value":61793}," e.",{"type":426,"tag":553,"props":61795,"children":61796},{"style":560},[61797],{"type":431,"value":61798},"getMessage",{"type":426,"tag":553,"props":61800,"children":61801},{"style":684},[61802],{"type":431,"value":61503},{"type":426,"tag":553,"props":61804,"children":61805},{"class":555,"line":2064},[61806],{"type":426,"tag":553,"props":61807,"children":61808},{"style":684},[61809],{"type":431,"value":15075},{"type":426,"tag":553,"props":61811,"children":61812},{"class":555,"line":2087},[61813],{"type":426,"tag":553,"props":61814,"children":61815},{"style":684},[61816],{"type":431,"value":5546},{"type":426,"tag":553,"props":61818,"children":61819},{"class":555,"line":2096},[61820],{"type":426,"tag":553,"props":61821,"children":61822},{"style":684},[61823],{"type":431,"value":917},{"type":426,"tag":553,"props":61825,"children":61826},{"class":555,"line":2105},[61827],{"type":426,"tag":553,"props":61828,"children":61829},{"style":1975},[61830],{"type":431,"value":60938},{"type":426,"tag":553,"props":61832,"children":61833},{"class":555,"line":2114},[61834],{"type":426,"tag":553,"props":61835,"children":61836},{"style":1975},[61837],{"type":431,"value":61838},"     * Convenience method: send order confirmation\n",{"type":426,"tag":553,"props":61840,"children":61841},{"class":555,"line":2123},[61842],{"type":426,"tag":553,"props":61843,"children":61844},{"style":1975},[61845],{"type":431,"value":60962},{"type":426,"tag":553,"props":61847,"children":61848},{"class":555,"line":2132},[61849,61853,61857,61861,61866,61870,61874,61878,61882,61886,61891,61896,61901],{"type":426,"tag":553,"props":61850,"children":61851},{"style":795},[61852],{"type":431,"value":61004},{"type":426,"tag":553,"props":61854,"children":61855},{"style":795},[61856],{"type":431,"value":60862},{"type":426,"tag":553,"props":61858,"children":61859},{"style":795},[61860],{"type":431,"value":61013},{"type":426,"tag":553,"props":61862,"children":61863},{"style":560},[61864],{"type":431,"value":61865}," sendOrderConfirmation",{"type":426,"tag":553,"props":61867,"children":61868},{"style":684},[61869],{"type":431,"value":61023},{"type":426,"tag":553,"props":61871,"children":61872},{"style":1684},[61873],{"type":431,"value":37598},{"type":426,"tag":553,"props":61875,"children":61876},{"style":684},[61877],{"type":431,"value":61032},{"type":426,"tag":553,"props":61879,"children":61880},{"style":1684},[61881],{"type":431,"value":52789},{"type":426,"tag":553,"props":61883,"children":61884},{"style":684},[61885],{"type":431,"value":61032},{"type":426,"tag":553,"props":61887,"children":61888},{"style":1684},[61889],{"type":431,"value":61890},"orderId",{"type":426,"tag":553,"props":61892,"children":61893},{"style":684},[61894],{"type":431,"value":61895},", Decimal ",{"type":426,"tag":553,"props":61897,"children":61898},{"style":1684},[61899],{"type":431,"value":61900},"orderTotal",{"type":426,"tag":553,"props":61902,"children":61903},{"style":684},[61904],{"type":431,"value":52385},{"type":426,"tag":553,"props":61906,"children":61907},{"class":555,"line":2151},[61908,61913,61917,61922,61926,61931,61935,61940,61944],{"type":426,"tag":553,"props":61909,"children":61910},{"style":684},[61911],{"type":431,"value":61912},"        String message ",{"type":426,"tag":553,"props":61914,"children":61915},{"style":795},[61916],{"type":431,"value":957},{"type":426,"tag":553,"props":61918,"children":61919},{"style":572},[61920],{"type":431,"value":61921}," 'Hi '",{"type":426,"tag":553,"props":61923,"children":61924},{"style":795},[61925],{"type":431,"value":61140},{"type":426,"tag":553,"props":61927,"children":61928},{"style":684},[61929],{"type":431,"value":61930}," customerName ",{"type":426,"tag":553,"props":61932,"children":61933},{"style":795},[61934],{"type":431,"value":2033},{"type":426,"tag":553,"props":61936,"children":61937},{"style":572},[61938],{"type":431,"value":61939}," '! ✅",{"type":426,"tag":553,"props":61941,"children":61942},{"style":566},[61943],{"type":431,"value":1295},{"type":426,"tag":553,"props":61945,"children":61946},{"style":572},[61947],{"type":431,"value":50480},{"type":426,"tag":553,"props":61949,"children":61950},{"class":555,"line":2160},[61951,61956,61961,61965,61970,61974,61979,61983],{"type":426,"tag":553,"props":61952,"children":61953},{"style":795},[61954],{"type":431,"value":61955},"            +",{"type":426,"tag":553,"props":61957,"children":61958},{"style":572},[61959],{"type":431,"value":61960}," 'Your order #'",{"type":426,"tag":553,"props":61962,"children":61963},{"style":795},[61964],{"type":431,"value":61140},{"type":426,"tag":553,"props":61966,"children":61967},{"style":684},[61968],{"type":431,"value":61969}," orderId ",{"type":426,"tag":553,"props":61971,"children":61972},{"style":795},[61973],{"type":431,"value":2033},{"type":426,"tag":553,"props":61975,"children":61976},{"style":572},[61977],{"type":431,"value":61978}," ' is confirmed.",{"type":426,"tag":553,"props":61980,"children":61981},{"style":566},[61982],{"type":431,"value":3661},{"type":426,"tag":553,"props":61984,"children":61985},{"style":572},[61986],{"type":431,"value":50480},{"type":426,"tag":553,"props":61988,"children":61989},{"class":555,"line":2174},[61990,61994,61999,62003,62008,62013,62017,62021,62025,62030,62034,62038,62042,62046],{"type":426,"tag":553,"props":61991,"children":61992},{"style":795},[61993],{"type":431,"value":61955},{"type":426,"tag":553,"props":61995,"children":61996},{"style":572},[61997],{"type":431,"value":61998}," 'Total: $'",{"type":426,"tag":553,"props":62000,"children":62001},{"style":795},[62002],{"type":431,"value":61140},{"type":426,"tag":553,"props":62004,"children":62005},{"style":684},[62006],{"type":431,"value":62007}," orderTotal.",{"type":426,"tag":553,"props":62009,"children":62010},{"style":560},[62011],{"type":431,"value":62012},"setScale",{"type":426,"tag":553,"props":62014,"children":62015},{"style":684},[62016],{"type":431,"value":3275},{"type":426,"tag":553,"props":62018,"children":62019},{"style":566},[62020],{"type":431,"value":6533},{"type":426,"tag":553,"props":62022,"children":62023},{"style":684},[62024],{"type":431,"value":53330},{"type":426,"tag":553,"props":62026,"children":62027},{"style":560},[62028],{"type":431,"value":62029},"toPlainString",{"type":426,"tag":553,"props":62031,"children":62032},{"style":684},[62033],{"type":431,"value":61573},{"type":426,"tag":553,"props":62035,"children":62036},{"style":795},[62037],{"type":431,"value":2033},{"type":426,"tag":553,"props":62039,"children":62040},{"style":572},[62041],{"type":431,"value":3656},{"type":426,"tag":553,"props":62043,"children":62044},{"style":566},[62045],{"type":431,"value":1295},{"type":426,"tag":553,"props":62047,"children":62048},{"style":572},[62049],{"type":431,"value":50480},{"type":426,"tag":553,"props":62051,"children":62052},{"class":555,"line":2182},[62053,62057,62062],{"type":426,"tag":553,"props":62054,"children":62055},{"style":795},[62056],{"type":431,"value":61955},{"type":426,"tag":553,"props":62058,"children":62059},{"style":572},[62060],{"type":431,"value":62061}," 'We will be in touch shortly!'",{"type":426,"tag":553,"props":62063,"children":62064},{"style":684},[62065],{"type":431,"value":52321},{"type":426,"tag":553,"props":62067,"children":62068},{"class":555,"line":2205},[62069],{"type":426,"tag":553,"props":62070,"children":62071},{"style":684},[62072],{"type":431,"value":2061},{"type":426,"tag":553,"props":62074,"children":62075},{"class":555,"line":2241},[62076,62081],{"type":426,"tag":553,"props":62077,"children":62078},{"style":560},[62079],{"type":431,"value":62080},"        sendWhatsAppAsync",{"type":426,"tag":553,"props":62082,"children":62083},{"style":684},[62084],{"type":431,"value":62085},"(phone, message);\n",{"type":426,"tag":553,"props":62087,"children":62088},{"class":555,"line":2250},[62089],{"type":426,"tag":553,"props":62090,"children":62091},{"style":684},[62092],{"type":431,"value":5546},{"type":426,"tag":553,"props":62094,"children":62095},{"class":555,"line":2302},[62096],{"type":426,"tag":553,"props":62097,"children":62098},{"style":684},[62099],{"type":431,"value":756},{"type":426,"tag":515,"props":62101,"children":62103},{"id":62102},"step-3-create-an-apex-trigger",[62104],{"type":431,"value":62105},"Step 3: Create an Apex Trigger",{"type":426,"tag":542,"props":62107,"children":62109},{"code":62108,"language":60807,"meta":417,"className":60808,"style":417},"\u002F\u002F LeadTrigger.trigger\ntrigger LeadTrigger on Lead (after insert) {\n    for (Lead lead : Trigger.new) {\n        if (lead.Phone != null) {\n            \u002F\u002F Format phone: remove +, spaces, dashes\n            String phone = lead.Phone.replaceAll('[^0-9]', '');\n            \n            String message = 'Hi ' + lead.FirstName + '! 👋\\n\\n'\n                + 'Thanks for reaching out to us. I am '\n                + UserInfo.getName()\n                + ' from [Company Name].\\n\\n'\n                + 'Would you have 15 minutes for a quick call this week? '\n                + 'Reply YES and I will send you a calendar link!';\n            \n            RapiwaService.sendWhatsAppAsync(phone, message);\n        }\n    }\n}\n",[62110],{"type":426,"tag":549,"props":62111,"children":62112},{"__ignoreMap":417},[62113,62121,62139,62168,62193,62201,62244,62251,62293,62306,62327,62347,62359,62375,62382,62399,62406,62413],{"type":426,"tag":553,"props":62114,"children":62115},{"class":555,"line":556},[62116],{"type":426,"tag":553,"props":62117,"children":62118},{"style":1975},[62119],{"type":431,"value":62120},"\u002F\u002F LeadTrigger.trigger\n",{"type":426,"tag":553,"props":62122,"children":62123},{"class":555,"line":588},[62124,62129,62134],{"type":426,"tag":553,"props":62125,"children":62126},{"style":684},[62127],{"type":431,"value":62128},"trigger LeadTrigger on ",{"type":426,"tag":553,"props":62130,"children":62131},{"style":560},[62132],{"type":431,"value":62133},"Lead",{"type":426,"tag":553,"props":62135,"children":62136},{"style":684},[62137],{"type":431,"value":62138}," (after insert) {\n",{"type":426,"tag":553,"props":62140,"children":62141},{"class":555,"line":606},[62142,62146,62151,62155,62160,62164],{"type":426,"tag":553,"props":62143,"children":62144},{"style":795},[62145],{"type":431,"value":1995},{"type":426,"tag":553,"props":62147,"children":62148},{"style":684},[62149],{"type":431,"value":62150}," (Lead lead ",{"type":426,"tag":553,"props":62152,"children":62153},{"style":795},[62154],{"type":431,"value":19071},{"type":426,"tag":553,"props":62156,"children":62157},{"style":684},[62158],{"type":431,"value":62159}," Trigger.",{"type":426,"tag":553,"props":62161,"children":62162},{"style":795},[62163],{"type":431,"value":52602},{"type":426,"tag":553,"props":62165,"children":62166},{"style":684},[62167],{"type":431,"value":52385},{"type":426,"tag":553,"props":62169,"children":62170},{"class":555,"line":623},[62171,62175,62180,62184,62189],{"type":426,"tag":553,"props":62172,"children":62173},{"style":795},[62174],{"type":431,"value":2972},{"type":426,"tag":553,"props":62176,"children":62177},{"style":684},[62178],{"type":431,"value":62179}," (lead.Phone ",{"type":426,"tag":553,"props":62181,"children":62182},{"style":795},[62183],{"type":431,"value":15114},{"type":426,"tag":553,"props":62185,"children":62186},{"style":566},[62187],{"type":431,"value":62188}," null",{"type":426,"tag":553,"props":62190,"children":62191},{"style":684},[62192],{"type":431,"value":52385},{"type":426,"tag":553,"props":62194,"children":62195},{"class":555,"line":637},[62196],{"type":426,"tag":553,"props":62197,"children":62198},{"style":1975},[62199],{"type":431,"value":62200},"            \u002F\u002F Format phone: remove +, spaces, dashes\n",{"type":426,"tag":553,"props":62202,"children":62203},{"class":555,"line":646},[62204,62209,62213,62218,62223,62227,62232,62236,62240],{"type":426,"tag":553,"props":62205,"children":62206},{"style":684},[62207],{"type":431,"value":62208},"            String phone ",{"type":426,"tag":553,"props":62210,"children":62211},{"style":795},[62212],{"type":431,"value":957},{"type":426,"tag":553,"props":62214,"children":62215},{"style":684},[62216],{"type":431,"value":62217}," lead.Phone.",{"type":426,"tag":553,"props":62219,"children":62220},{"style":560},[62221],{"type":431,"value":62222},"replaceAll",{"type":426,"tag":553,"props":62224,"children":62225},{"style":684},[62226],{"type":431,"value":3275},{"type":426,"tag":553,"props":62228,"children":62229},{"style":572},[62230],{"type":431,"value":62231},"'[^0-9]'",{"type":426,"tag":553,"props":62233,"children":62234},{"style":684},[62235],{"type":431,"value":1907},{"type":426,"tag":553,"props":62237,"children":62238},{"style":572},[62239],{"type":431,"value":13605},{"type":426,"tag":553,"props":62241,"children":62242},{"style":684},[62243],{"type":431,"value":11379},{"type":426,"tag":553,"props":62245,"children":62246},{"class":555,"line":655},[62247],{"type":426,"tag":553,"props":62248,"children":62249},{"style":684},[62250],{"type":431,"value":8972},{"type":426,"tag":553,"props":62252,"children":62253},{"class":555,"line":1036},[62254,62259,62263,62267,62271,62276,62280,62285,62289],{"type":426,"tag":553,"props":62255,"children":62256},{"style":684},[62257],{"type":431,"value":62258},"            String message ",{"type":426,"tag":553,"props":62260,"children":62261},{"style":795},[62262],{"type":431,"value":957},{"type":426,"tag":553,"props":62264,"children":62265},{"style":572},[62266],{"type":431,"value":61921},{"type":426,"tag":553,"props":62268,"children":62269},{"style":795},[62270],{"type":431,"value":61140},{"type":426,"tag":553,"props":62272,"children":62273},{"style":684},[62274],{"type":431,"value":62275}," lead.FirstName ",{"type":426,"tag":553,"props":62277,"children":62278},{"style":795},[62279],{"type":431,"value":2033},{"type":426,"tag":553,"props":62281,"children":62282},{"style":572},[62283],{"type":431,"value":62284}," '! 👋",{"type":426,"tag":553,"props":62286,"children":62287},{"style":566},[62288],{"type":431,"value":1295},{"type":426,"tag":553,"props":62290,"children":62291},{"style":572},[62292],{"type":431,"value":50480},{"type":426,"tag":553,"props":62294,"children":62295},{"class":555,"line":1054},[62296,62301],{"type":426,"tag":553,"props":62297,"children":62298},{"style":795},[62299],{"type":431,"value":62300},"                +",{"type":426,"tag":553,"props":62302,"children":62303},{"style":572},[62304],{"type":431,"value":62305}," 'Thanks for reaching out to us. I am '\n",{"type":426,"tag":553,"props":62307,"children":62308},{"class":555,"line":1080},[62309,62313,62318,62323],{"type":426,"tag":553,"props":62310,"children":62311},{"style":795},[62312],{"type":431,"value":62300},{"type":426,"tag":553,"props":62314,"children":62315},{"style":684},[62316],{"type":431,"value":62317}," UserInfo.",{"type":426,"tag":553,"props":62319,"children":62320},{"style":560},[62321],{"type":431,"value":62322},"getName",{"type":426,"tag":553,"props":62324,"children":62325},{"style":684},[62326],{"type":431,"value":11683},{"type":426,"tag":553,"props":62328,"children":62329},{"class":555,"line":1097},[62330,62334,62339,62343],{"type":426,"tag":553,"props":62331,"children":62332},{"style":795},[62333],{"type":431,"value":62300},{"type":426,"tag":553,"props":62335,"children":62336},{"style":572},[62337],{"type":431,"value":62338}," ' from [Company Name].",{"type":426,"tag":553,"props":62340,"children":62341},{"style":566},[62342],{"type":431,"value":1295},{"type":426,"tag":553,"props":62344,"children":62345},{"style":572},[62346],{"type":431,"value":50480},{"type":426,"tag":553,"props":62348,"children":62349},{"class":555,"line":1114},[62350,62354],{"type":426,"tag":553,"props":62351,"children":62352},{"style":795},[62353],{"type":431,"value":62300},{"type":426,"tag":553,"props":62355,"children":62356},{"style":572},[62357],{"type":431,"value":62358}," 'Would you have 15 minutes for a quick call this week? '\n",{"type":426,"tag":553,"props":62360,"children":62361},{"class":555,"line":1127},[62362,62366,62371],{"type":426,"tag":553,"props":62363,"children":62364},{"style":795},[62365],{"type":431,"value":62300},{"type":426,"tag":553,"props":62367,"children":62368},{"style":572},[62369],{"type":431,"value":62370}," 'Reply YES and I will send you a calendar link!'",{"type":426,"tag":553,"props":62372,"children":62373},{"style":684},[62374],{"type":431,"value":52321},{"type":426,"tag":553,"props":62376,"children":62377},{"class":555,"line":1167},[62378],{"type":426,"tag":553,"props":62379,"children":62380},{"style":684},[62381],{"type":431,"value":8972},{"type":426,"tag":553,"props":62383,"children":62384},{"class":555,"line":1184},[62385,62390,62395],{"type":426,"tag":553,"props":62386,"children":62387},{"style":684},[62388],{"type":431,"value":62389},"            RapiwaService.",{"type":426,"tag":553,"props":62391,"children":62392},{"style":560},[62393],{"type":431,"value":62394},"sendWhatsAppAsync",{"type":426,"tag":553,"props":62396,"children":62397},{"style":684},[62398],{"type":431,"value":62085},{"type":426,"tag":553,"props":62400,"children":62401},{"class":555,"line":1192},[62402],{"type":426,"tag":553,"props":62403,"children":62404},{"style":684},[62405],{"type":431,"value":15075},{"type":426,"tag":553,"props":62407,"children":62408},{"class":555,"line":1210},[62409],{"type":426,"tag":553,"props":62410,"children":62411},{"style":684},[62412],{"type":431,"value":5546},{"type":426,"tag":553,"props":62414,"children":62415},{"class":555,"line":1253},[62416],{"type":426,"tag":553,"props":62417,"children":62418},{"style":684},[62419],{"type":431,"value":756},{"type":426,"tag":515,"props":62421,"children":62423},{"id":62422},"step-4-store-api-key-securely-named-credentials",[62424],{"type":431,"value":62425},"Step 4: Store API Key Securely (Named Credentials)",{"type":426,"tag":427,"props":62427,"children":62428},{},[62429],{"type":431,"value":62430},"Instead of hardcoding the API key, use Salesforce Named Credentials:",{"type":426,"tag":6331,"props":62432,"children":62433},{},[62434,62443,62506],{"type":426,"tag":458,"props":62435,"children":62436},{},[62437,62438],{"type":431,"value":60293},{"type":426,"tag":446,"props":62439,"children":62440},{},[62441],{"type":431,"value":62442},"Security → Named Credentials",{"type":426,"tag":458,"props":62444,"children":62445},{},[62446,62448],{"type":431,"value":62447},"New Named Credential:\n",{"type":426,"tag":454,"props":62449,"children":62450},{},[62451,62462,62472,62477,62482,62495],{"type":426,"tag":458,"props":62452,"children":62453},{},[62454,62456],{"type":431,"value":62455},"Label: ",{"type":426,"tag":549,"props":62457,"children":62459},{"className":62458},[],[62460],{"type":431,"value":62461},"Rapiwa API",{"type":426,"tag":458,"props":62463,"children":62464},{},[62465,62467],{"type":431,"value":62466},"URL: ",{"type":426,"tag":549,"props":62468,"children":62470},{"className":62469},[],[62471],{"type":431,"value":10643},{"type":426,"tag":458,"props":62473,"children":62474},{},[62475],{"type":431,"value":62476},"Identity Type: Named Principal",{"type":426,"tag":458,"props":62478,"children":62479},{},[62480],{"type":431,"value":62481},"Authentication Protocol: Password Authentication",{"type":426,"tag":458,"props":62483,"children":62484},{},[62485,62487,62493],{"type":431,"value":62486},"Username: ",{"type":426,"tag":549,"props":62488,"children":62490},{"className":62489},[],[62491],{"type":431,"value":62492},"api",{"type":431,"value":62494}," (any value)",{"type":426,"tag":458,"props":62496,"children":62497},{},[62498,62500],{"type":431,"value":62499},"Password: ",{"type":426,"tag":549,"props":62501,"children":62503},{"className":62502},[],[62504],{"type":431,"value":62505},"YOUR_API_KEY",{"type":426,"tag":458,"props":62507,"children":62508},{},[62509],{"type":431,"value":62510},"In Apex, use:",{"type":426,"tag":542,"props":62512,"children":62514},{"code":62513,"language":60807,"meta":417,"className":60808,"style":417},"req.setEndpoint('callout:RapiwaAPI\u002Fsend-message');\nreq.setHeader('Authorization', 'Bearer ' + \n    [SELECT Value__c FROM Rapiwa_Settings__c LIMIT 1].Value__c);\n",[62515],{"type":426,"tag":549,"props":62516,"children":62517},{"__ignoreMap":417},[62518,62543,62578],{"type":426,"tag":553,"props":62519,"children":62520},{"class":555,"line":556},[62521,62526,62530,62534,62539],{"type":426,"tag":553,"props":62522,"children":62523},{"style":684},[62524],{"type":431,"value":62525},"req.",{"type":426,"tag":553,"props":62527,"children":62528},{"style":560},[62529],{"type":431,"value":61078},{"type":426,"tag":553,"props":62531,"children":62532},{"style":684},[62533],{"type":431,"value":3275},{"type":426,"tag":553,"props":62535,"children":62536},{"style":572},[62537],{"type":431,"value":62538},"'callout:RapiwaAPI\u002Fsend-message'",{"type":426,"tag":553,"props":62540,"children":62541},{"style":684},[62542],{"type":431,"value":11379},{"type":426,"tag":553,"props":62544,"children":62545},{"class":555,"line":588},[62546,62550,62554,62558,62562,62566,62570,62574],{"type":426,"tag":553,"props":62547,"children":62548},{"style":684},[62549],{"type":431,"value":62525},{"type":426,"tag":553,"props":62551,"children":62552},{"style":560},[62553],{"type":431,"value":61119},{"type":426,"tag":553,"props":62555,"children":62556},{"style":684},[62557],{"type":431,"value":3275},{"type":426,"tag":553,"props":62559,"children":62560},{"style":572},[62561],{"type":431,"value":1700},{"type":426,"tag":553,"props":62563,"children":62564},{"style":684},[62565],{"type":431,"value":1907},{"type":426,"tag":553,"props":62567,"children":62568},{"style":572},[62569],{"type":431,"value":13631},{"type":426,"tag":553,"props":62571,"children":62572},{"style":795},[62573],{"type":431,"value":61140},{"type":426,"tag":553,"props":62575,"children":62576},{"style":684},[62577],{"type":431,"value":25987},{"type":426,"tag":553,"props":62579,"children":62580},{"class":555,"line":606},[62581,62586,62590],{"type":426,"tag":553,"props":62582,"children":62583},{"style":684},[62584],{"type":431,"value":62585},"    [SELECT Value__c FROM Rapiwa_Settings__c LIMIT ",{"type":426,"tag":553,"props":62587,"children":62588},{"style":566},[62589],{"type":431,"value":1921},{"type":426,"tag":553,"props":62591,"children":62592},{"style":684},[62593],{"type":431,"value":62594},"].Value__c);\n",{"type":426,"tag":434,"props":62596,"children":62598},{"id":62597},"log-whatsapp-messages-as-salesforce-activities",[62599],{"type":431,"value":62600},"Log WhatsApp Messages as Salesforce Activities",{"type":426,"tag":427,"props":62602,"children":62603},{},[62604],{"type":431,"value":62605},"After sending a WhatsApp message, create a Task in Salesforce to log it:",{"type":426,"tag":542,"props":62607,"children":62609},{"code":62608,"language":60807,"meta":417,"className":60808,"style":417},"\u002F\u002F In your Apex class (after callout succeeds)\nTask task = new Task(\n    Subject = 'WhatsApp Message Sent',\n    Description = 'Message: ' + message,\n    WhoId = lead.Id,\n    ActivityDate = Date.today(),\n    Status = 'Completed',\n    Type = 'WhatsApp'\n);\ninsert task;\n",[62610],{"type":426,"tag":549,"props":62611,"children":62612},{"__ignoreMap":417},[62613,62621,62646,62667,62693,62710,62736,62757,62774,62781],{"type":426,"tag":553,"props":62614,"children":62615},{"class":555,"line":556},[62616],{"type":426,"tag":553,"props":62617,"children":62618},{"style":1975},[62619],{"type":431,"value":62620},"\u002F\u002F In your Apex class (after callout succeeds)\n",{"type":426,"tag":553,"props":62622,"children":62623},{"class":555,"line":588},[62624,62629,62633,62637,62642],{"type":426,"tag":553,"props":62625,"children":62626},{"style":684},[62627],{"type":431,"value":62628},"Task task ",{"type":426,"tag":553,"props":62630,"children":62631},{"style":795},[62632],{"type":431,"value":957},{"type":426,"tag":553,"props":62634,"children":62635},{"style":795},[62636],{"type":431,"value":52275},{"type":426,"tag":553,"props":62638,"children":62639},{"style":560},[62640],{"type":431,"value":62641}," Task",{"type":426,"tag":553,"props":62643,"children":62644},{"style":684},[62645],{"type":431,"value":3172},{"type":426,"tag":553,"props":62647,"children":62648},{"class":555,"line":606},[62649,62654,62658,62663],{"type":426,"tag":553,"props":62650,"children":62651},{"style":684},[62652],{"type":431,"value":62653},"    Subject ",{"type":426,"tag":553,"props":62655,"children":62656},{"style":795},[62657],{"type":431,"value":957},{"type":426,"tag":553,"props":62659,"children":62660},{"style":572},[62661],{"type":431,"value":62662}," 'WhatsApp Message Sent'",{"type":426,"tag":553,"props":62664,"children":62665},{"style":684},[62666],{"type":431,"value":710},{"type":426,"tag":553,"props":62668,"children":62669},{"class":555,"line":623},[62670,62675,62679,62684,62688],{"type":426,"tag":553,"props":62671,"children":62672},{"style":684},[62673],{"type":431,"value":62674},"    Description ",{"type":426,"tag":553,"props":62676,"children":62677},{"style":795},[62678],{"type":431,"value":957},{"type":426,"tag":553,"props":62680,"children":62681},{"style":572},[62682],{"type":431,"value":62683}," 'Message: '",{"type":426,"tag":553,"props":62685,"children":62686},{"style":795},[62687],{"type":431,"value":61140},{"type":426,"tag":553,"props":62689,"children":62690},{"style":684},[62691],{"type":431,"value":62692}," message,\n",{"type":426,"tag":553,"props":62694,"children":62695},{"class":555,"line":637},[62696,62701,62705],{"type":426,"tag":553,"props":62697,"children":62698},{"style":684},[62699],{"type":431,"value":62700},"    WhoId ",{"type":426,"tag":553,"props":62702,"children":62703},{"style":795},[62704],{"type":431,"value":957},{"type":426,"tag":553,"props":62706,"children":62707},{"style":684},[62708],{"type":431,"value":62709}," lead.Id,\n",{"type":426,"tag":553,"props":62711,"children":62712},{"class":555,"line":646},[62713,62718,62722,62727,62732],{"type":426,"tag":553,"props":62714,"children":62715},{"style":684},[62716],{"type":431,"value":62717},"    ActivityDate ",{"type":426,"tag":553,"props":62719,"children":62720},{"style":795},[62721],{"type":431,"value":957},{"type":426,"tag":553,"props":62723,"children":62724},{"style":684},[62725],{"type":431,"value":62726}," Date.",{"type":426,"tag":553,"props":62728,"children":62729},{"style":560},[62730],{"type":431,"value":62731},"today",{"type":426,"tag":553,"props":62733,"children":62734},{"style":684},[62735],{"type":431,"value":11349},{"type":426,"tag":553,"props":62737,"children":62738},{"class":555,"line":655},[62739,62744,62748,62753],{"type":426,"tag":553,"props":62740,"children":62741},{"style":684},[62742],{"type":431,"value":62743},"    Status ",{"type":426,"tag":553,"props":62745,"children":62746},{"style":795},[62747],{"type":431,"value":957},{"type":426,"tag":553,"props":62749,"children":62750},{"style":572},[62751],{"type":431,"value":62752}," 'Completed'",{"type":426,"tag":553,"props":62754,"children":62755},{"style":684},[62756],{"type":431,"value":710},{"type":426,"tag":553,"props":62758,"children":62759},{"class":555,"line":1036},[62760,62765,62769],{"type":426,"tag":553,"props":62761,"children":62762},{"style":684},[62763],{"type":431,"value":62764},"    Type ",{"type":426,"tag":553,"props":62766,"children":62767},{"style":795},[62768],{"type":431,"value":957},{"type":426,"tag":553,"props":62770,"children":62771},{"style":572},[62772],{"type":431,"value":62773}," 'WhatsApp'\n",{"type":426,"tag":553,"props":62775,"children":62776},{"class":555,"line":1054},[62777],{"type":426,"tag":553,"props":62778,"children":62779},{"style":684},[62780],{"type":431,"value":11379},{"type":426,"tag":553,"props":62782,"children":62783},{"class":555,"line":1080},[62784],{"type":426,"tag":553,"props":62785,"children":62786},{"style":684},[62787],{"type":431,"value":62788},"insert task;\n",{"type":426,"tag":434,"props":62790,"children":62791},{"id":18886},[62792],{"type":431,"value":18889},{"type":426,"tag":454,"props":62794,"children":62795},{},[62796,62814,62831,62840],{"type":426,"tag":458,"props":62797,"children":62798},{},[62799,62804,62806,62812],{"type":426,"tag":446,"props":62800,"children":62801},{},[62802],{"type":431,"value":62803},"System.CalloutException: You have uncommitted work pending",{"type":431,"value":62805},": You can't make a callout after a DML operation in the same transaction. Use ",{"type":426,"tag":549,"props":62807,"children":62809},{"className":62808},[],[62810],{"type":431,"value":62811},"@future(callout=true)",{"type":431,"value":62813}," to run the callout asynchronously.",{"type":426,"tag":458,"props":62815,"children":62816},{},[62817,62822,62824,62829],{"type":426,"tag":446,"props":62818,"children":62819},{},[62820],{"type":431,"value":62821},"CALLOUT_FAILURE",{"type":431,"value":62823},": The endpoint URL is not in Remote Site Settings. Add ",{"type":426,"tag":549,"props":62825,"children":62827},{"className":62826},[],[62828],{"type":431,"value":10643},{"type":431,"value":62830}," to Remote Site Settings.",{"type":426,"tag":458,"props":62832,"children":62833},{},[62834,62838],{"type":426,"tag":446,"props":62835,"children":62836},{},[62837],{"type":431,"value":8544},{"type":431,"value":62839},": API key is wrong. Store it in a Custom Setting or Named Credential and reference it from there.",{"type":426,"tag":458,"props":62841,"children":62842},{},[62843,62847,62849,62854,62856],{"type":426,"tag":446,"props":62844,"children":62845},{},[62846],{"type":431,"value":56050},{"type":431,"value":62848},": Salesforce may store numbers with ",{"type":426,"tag":549,"props":62850,"children":62852},{"className":62851},[],[62853],{"type":431,"value":2033},{"type":431,"value":62855},", spaces, or dashes. Strip them: ",{"type":426,"tag":549,"props":62857,"children":62859},{"className":62858},[],[62860],{"type":431,"value":62861},"phone.replaceAll('[^0-9]', '')",{"type":426,"tag":434,"props":62863,"children":62864},{"id":4109},[62865],{"type":431,"value":4112},{"type":426,"tag":427,"props":62867,"children":62868},{},[62869,62874],{"type":426,"tag":446,"props":62870,"children":62871},{},[62872],{"type":431,"value":62873},"Does Salesforce have a native WhatsApp integration?",{"type":431,"value":62875},"\nSalesforce offers WhatsApp through Salesforce Messaging (part of Service Cloud) using Meta's official WhatsApp Business Platform. This requires Meta business verification and has per-conversation fees. Rapiwa provides an alternative at $5\u002Fmonth flat without official verification.",{"type":426,"tag":427,"props":62877,"children":62878},{},[62879,62884],{"type":426,"tag":446,"props":62880,"children":62881},{},[62882],{"type":431,"value":62883},"Can I use Rapiwa with Salesforce Einstein AI flows?",{"type":431,"value":62885},"\nYes. Einstein Bots and Salesforce Flow can both trigger Apex actions or HTTP callouts that send data to Rapiwa's API.",{"type":426,"tag":427,"props":62887,"children":62888},{},[62889,62894],{"type":426,"tag":446,"props":62890,"children":62891},{},[62892],{"type":431,"value":62893},"Does Rapiwa charge per WhatsApp message from Salesforce?",{"type":431,"value":62895},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees — send unlimited CRM-triggered messages.",{"type":426,"tag":427,"props":62897,"children":62898},{},[62899,62904],{"type":426,"tag":446,"props":62900,"children":62901},{},[62902],{"type":431,"value":62903},"Can I receive WhatsApp replies back into Salesforce?",{"type":431,"value":62905},"\nYes. Set up a Rapiwa webhook pointing to a public endpoint that creates Salesforce records (via the Salesforce REST API). This closes the loop — incoming replies become Salesforce Tasks.",{"type":426,"tag":427,"props":62907,"children":62908},{},[62909,62914,62916,62922],{"type":426,"tag":446,"props":62910,"children":62911},{},[62912],{"type":431,"value":62913},"What is the Salesforce governor limit for HTTP callouts?",{"type":431,"value":62915},"\nSalesforce allows 100 HTTP callout statements per Apex transaction. For bulk operations (many leads at once), use ",{"type":426,"tag":549,"props":62917,"children":62919},{"className":62918},[],[62920],{"type":431,"value":62921},"@future",{"type":431,"value":62923}," or Queueable Apex to stay within limits.",{"type":426,"tag":4164,"props":62925,"children":62926},{},[62927],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":62929},[62930,62931,62932,62933,62938,62944,62945,62946],{"id":60033,"depth":588,"text":60036},{"id":47624,"depth":588,"text":47627},{"id":60124,"depth":588,"text":60127},{"id":60172,"depth":588,"text":60175,"children":62934},[62935,62936,62937],{"id":60178,"depth":606,"text":60181},{"id":60216,"depth":606,"text":60219},{"id":60351,"depth":606,"text":60354},{"id":60740,"depth":588,"text":60743,"children":62939},[62940,62941,62942,62943],{"id":60746,"depth":606,"text":60749},{"id":60800,"depth":606,"text":60803},{"id":62102,"depth":606,"text":62105},{"id":62422,"depth":606,"text":62425},{"id":62597,"depth":588,"text":62600},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-salesforce-crm-rapiwa.md","blog\u002Fwhatsapp-api-salesforce-crm-rapiwa.md","blog\u002Fwhatsapp-api-salesforce-crm-rapiwa",{"loc":85},{"_path":89,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":90,"description":91,"date":62952,"author":47538,"category":43,"_slug":62953,"image":62954,"body":62955,"_type":4187,"_id":66667,"_source":4189,"_file":66668,"_stem":66669,"_extension":4192,"sitemap":66670},"2026-03-06","whatsapp-ai-chatbot-python-gemini","\u002Fimages\u002Fblog\u002Fwhatsapp-ai-chatbot-python-gemini.svg",{"type":423,"children":62956,"toc":66655},[62957,62962,62966,62971,62999,63003,63042,63048,63080,63086,65976,65982,66023,66029,66037,66130,66137,66213,66218,66251,66257,66265,66353,66361,66369,66375,66486,66498,66502,66558,66562,66572,66614,66631,66641,66651],{"type":426,"tag":427,"props":62958,"children":62959},{},[62960],{"type":431,"value":62961},"You can build a WhatsApp AI chatbot by connecting Google Gemini AI with Rapiwa API in Python. When a customer messages your WhatsApp number, Rapiwa's webhook forwards it to your Python Flask server, which sends it to Gemini for an AI response, then replies via Rapiwa. The bot maintains conversation history per user for natural multi-turn conversations. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":62963,"children":62964},{"id":48776},[62965],{"type":431,"value":48779},{"type":426,"tag":427,"props":62967,"children":62968},{},[62969],{"type":431,"value":62970},"A WhatsApp chatbot that:",{"type":426,"tag":454,"props":62972,"children":62973},{},[62974,62979,62984,62989,62994],{"type":426,"tag":458,"props":62975,"children":62976},{},[62977],{"type":431,"value":62978},"Handles natural language conversations (not just keyword matching)",{"type":426,"tag":458,"props":62980,"children":62981},{},[62982],{"type":431,"value":62983},"Remembers conversation context per user (multi-turn conversations)",{"type":426,"tag":458,"props":62985,"children":62986},{},[62987],{"type":431,"value":62988},"Answers questions about your business using a system prompt",{"type":426,"tag":458,"props":62990,"children":62991},{},[62992],{"type":431,"value":62993},"Falls back gracefully when Gemini can't help",{"type":426,"tag":458,"props":62995,"children":62996},{},[62997],{"type":431,"value":62998},"Costs ~$5\u002Fmonth (Rapiwa) + Gemini API fees (free tier available)",{"type":426,"tag":434,"props":63000,"children":63001},{"id":47624},[63002],{"type":431,"value":47627},{"type":426,"tag":454,"props":63004,"children":63005},{},[63006,63016,63020,63032,63037],{"type":426,"tag":458,"props":63007,"children":63008},{},[63009,63010,63015],{"type":431,"value":48828},{"type":426,"tag":3819,"props":63011,"children":63013},{"href":3821,"rel":63012},[3823],[63014],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":63017,"children":63018},{},[63019],{"type":431,"value":48840},{"type":426,"tag":458,"props":63021,"children":63022},{},[63023,63025],{"type":431,"value":63024},"Google Gemini API key — ",{"type":426,"tag":3819,"props":63026,"children":63029},{"href":63027,"rel":63028},"https:\u002F\u002Faistudio.google.com\u002F",[3823],[63030],{"type":431,"value":63031},"free at aistudio.google.com",{"type":426,"tag":458,"props":63033,"children":63034},{},[63035],{"type":431,"value":63036},"Python 3.10+ with pip",{"type":426,"tag":458,"props":63038,"children":63039},{},[63040],{"type":431,"value":63041},"A publicly accessible server (for webhook)",{"type":426,"tag":434,"props":63043,"children":63045},{"id":63044},"step-1-install-dependencies",[63046],{"type":431,"value":63047},"Step 1: Install Dependencies",{"type":426,"tag":542,"props":63049,"children":63051},{"code":63050,"language":545,"meta":417,"className":546,"style":417},"pip install flask requests google-generativeai\n",[63052],{"type":426,"tag":549,"props":63053,"children":63054},{"__ignoreMap":417},[63055],{"type":426,"tag":553,"props":63056,"children":63057},{"class":555,"line":556},[63058,63062,63066,63071,63075],{"type":426,"tag":553,"props":63059,"children":63060},{"style":560},[63061],{"type":431,"value":48871},{"type":426,"tag":553,"props":63063,"children":63064},{"style":572},[63065],{"type":431,"value":48876},{"type":426,"tag":553,"props":63067,"children":63068},{"style":572},[63069],{"type":431,"value":63070}," flask",{"type":426,"tag":553,"props":63072,"children":63073},{"style":572},[63074],{"type":431,"value":48891},{"type":426,"tag":553,"props":63076,"children":63077},{"style":572},[63078],{"type":431,"value":63079}," google-generativeai\n",{"type":426,"tag":434,"props":63081,"children":63083},{"id":63082},"step-2-build-the-chatbot-server",[63084],{"type":431,"value":63085},"Step 2: Build the Chatbot Server",{"type":426,"tag":542,"props":63087,"children":63089},{"code":63088,"language":784,"meta":417,"className":785,"style":417},"# chatbot.py\n# Run: python chatbot.py\n# Or with Gunicorn: gunicorn chatbot:app --bind 0.0.0.0:3000\n\nimport os\nimport json\nimport logging\nfrom datetime import datetime, timedelta\nfrom flask import Flask, request, jsonify\nimport requests\nimport google.generativeai as genai\n\napp = Flask(__name__)\nlogging.basicConfig(level=logging.INFO)\nlogger = logging.getLogger(__name__)\n\n# Configuration\nRAPIWA_API_KEY = os.environ.get('RAPIWA_API_KEY', 'YOUR_RAPIWA_API_KEY')\nGEMINI_API_KEY = os.environ.get('GEMINI_API_KEY', 'YOUR_GEMINI_API_KEY')\n\n# Configure Gemini\ngenai.configure(api_key=GEMINI_API_KEY)\n\n# System prompt — customize this for your business\nSYSTEM_PROMPT = \"\"\"You are a friendly customer support assistant for Rapiwa, a WhatsApp API service.\n\nKey facts about Rapiwa:\n- WhatsApp Messaging REST API starting at $5\u002Fmonth\n- No per-message fees — flat monthly subscription\n- Unofficial (non-Meta) WhatsApp API — no business verification needed\n- Supports multiple WhatsApp numbers (1 to 20+)\n- Integrates with n8n, WooCommerce, WordPress\n- Rated 5.0\u002F5 on Sourceforge\n- Free 3-day trial at rapiwa.com — no credit card required\n\nInstructions:\n- Answer questions in a friendly, concise way (under 150 words per reply)\n- Always mention the free trial when someone asks about pricing or how to start\n- If you don't know the answer, say \"Let me connect you with our team\" and nothing else\n- Keep responses appropriate for WhatsApp (no markdown tables or complex formatting)\n- Never make up features or pricing that aren't listed above\"\"\"\n\n# Conversation history storage — in production, use Redis or a database\n# Key: phone_number, Value: {'history': [...], 'last_active': datetime}\nconversation_store: dict = {}\nMAX_HISTORY_LENGTH = 20  # Keep last 20 messages per user\nSESSION_TIMEOUT_HOURS = 2  # Reset context after 2 hours of inactivity\n\n\ndef get_conversation_history(phone: str) -> list:\n    \"\"\"Get or initialize conversation history for a phone number.\"\"\"\n    now = datetime.utcnow()\n    \n    if phone in conversation_store:\n        session = conversation_store[phone]\n        # Check if session expired\n        if now - session['last_active'] > timedelta(hours=SESSION_TIMEOUT_HOURS):\n            del conversation_store[phone]\n        else:\n            session['last_active'] = now\n            return session['history']\n    \n    # Initialize new session\n    conversation_store[phone] = {\n        'history': [],\n        'last_active': now\n    }\n    return conversation_store[phone]['history']\n\n\ndef add_to_history(phone: str, role: str, text: str) -> None:\n    \"\"\"Add a message to conversation history.\"\"\"\n    if phone not in conversation_store:\n        conversation_store[phone] = {'history': [], 'last_active': datetime.utcnow()}\n    \n    history = conversation_store[phone]['history']\n    history.append({'role': role, 'parts': [text]})\n    \n    # Trim history to prevent token limit issues\n    if len(history) > MAX_HISTORY_LENGTH:\n        conversation_store[phone]['history'] = history[-MAX_HISTORY_LENGTH:]\n    \n    conversation_store[phone]['last_active'] = datetime.utcnow()\n\n\ndef ask_gemini(phone: str, user_message: str) -> str:\n    \"\"\"\n    Send user message to Gemini with conversation history.\n    Returns Gemini's response text.\n    \"\"\"\n    model = genai.GenerativeModel(\n        model_name='gemini-1.5-flash',  # Fast and cost-effective\n        system_instruction=SYSTEM_PROMPT\n    )\n    \n    history = get_conversation_history(phone)\n    \n    # Start chat with existing history\n    chat = model.start_chat(history=history)\n    \n    try:\n        response = chat.send_message(user_message)\n        reply_text = response.text\n        \n        # Update history\n        add_to_history(phone, 'user', user_message)\n        add_to_history(phone, 'model', reply_text)\n        \n        return reply_text\n        \n    except Exception as e:\n        logger.error(f\"Gemini error for {phone}: {e}\")\n        return \"I'm having trouble right now. Please try again in a moment, or reply HUMAN for a human agent.\"\n\n\ndef send_whatsapp(phone: str, message: str) -> dict:\n    \"\"\"Send a WhatsApp message via Rapiwa API.\"\"\"\n    response = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': phone, 'message': message},\n        timeout=10\n    )\n    return response.json()\n\n\n@app.route('\u002Fwebhook\u002Fwhatsapp', methods=['POST'])\ndef receive_whatsapp():\n    \"\"\"\n    Webhook endpoint for incoming WhatsApp messages from Rapiwa.\n    Returns 200 immediately. AI processing is synchronous here\n    (use Celery\u002Fthreading for high-volume production deployments).\n    \"\"\"\n    payload = request.get_json()\n    \n    if not payload or payload.get('event') != 'message.received':\n        return jsonify({'status': 'ok'})\n    \n    data = payload['data']\n    phone = data['from']\n    message_type = data.get('messageType', 'text')\n    sender_name = data.get('senderName', 'there')\n    \n    logger.info(f\"Message from {phone} ({sender_name}): {data.get('message', '')[:50]}\")\n    \n    if message_type != 'text':\n        # Handle non-text messages\n        reply = f\"Hi! I can only process text messages right now. Please type your question.\"\n        send_whatsapp(phone, reply)\n        return jsonify({'status': 'ok'})\n    \n    text = data.get('message', '').strip()\n    \n    if not text:\n        return jsonify({'status': 'ok'})\n    \n    # Special commands\n    if text.lower() in ('human', 'agent', 'person'):\n        send_whatsapp(phone, \"Connecting you with a human agent. Please wait — someone will reply within 1 business hour. 🙏\")\n        # TODO: notify support team (Slack, email, etc.)\n        return jsonify({'status': 'ok'})\n    \n    # Get AI response\n    ai_reply = ask_gemini(phone, text)\n    send_whatsapp(phone, ai_reply)\n    \n    return jsonify({'status': 'ok'})\n\n\n@app.route('\u002Fhealth', methods=['GET'])\ndef health():\n    \"\"\"Health check endpoint.\"\"\"\n    return jsonify({\n        'status': 'healthy',\n        'active_sessions': len(conversation_store)\n    })\n\n\nif __name__ == '__main__':\n    app.run(host='0.0.0.0', port=3000, debug=False)\n",[63090],{"type":426,"tag":549,"props":63091,"children":63092},{"__ignoreMap":417},[63093,63101,63109,63117,63124,63135,63147,63159,63178,63197,63208,63229,63236,63259,63290,63315,63322,63330,63362,63396,63403,63411,63435,63442,63450,63467,63474,63482,63490,63498,63506,63514,63522,63530,63538,63545,63553,63561,63569,63577,63585,63593,63600,63608,63616,63636,63658,63679,63686,63693,63725,63733,63750,63757,63777,63794,63802,63856,63868,63879,63904,63924,63931,63939,63955,63968,63981,63988,64008,64015,64022,64072,64080,64103,64137,64144,64168,64196,64203,64211,64241,64279,64286,64310,64317,64324,64365,64372,64380,64388,64395,64412,64438,64455,64462,64469,64485,64492,64500,64531,64538,64549,64565,64582,64589,64597,64615,64632,64639,64651,64658,64677,64730,64742,64749,64756,64795,64803,64818,64829,64872,64903,64918,64925,64936,64943,64950,64989,65004,65011,65019,65027,65035,65042,65057,65064,65108,65135,65142,65165,65188,65222,65253,65260,65354,65361,65386,65394,65414,65422,65449,65456,65488,65495,65511,65538,65545,65553,65597,65613,65631,65658,65665,65673,65690,65698,65705,65732,65739,65746,65787,65803,65811,65822,65843,65866,65874,65882,65890,65914],{"type":426,"tag":553,"props":63094,"children":63095},{"class":555,"line":556},[63096],{"type":426,"tag":553,"props":63097,"children":63098},{"style":1975},[63099],{"type":431,"value":63100},"# chatbot.py\n",{"type":426,"tag":553,"props":63102,"children":63103},{"class":555,"line":588},[63104],{"type":426,"tag":553,"props":63105,"children":63106},{"style":1975},[63107],{"type":431,"value":63108},"# Run: python chatbot.py\n",{"type":426,"tag":553,"props":63110,"children":63111},{"class":555,"line":606},[63112],{"type":426,"tag":553,"props":63113,"children":63114},{"style":1975},[63115],{"type":431,"value":63116},"# Or with Gunicorn: gunicorn chatbot:app --bind 0.0.0.0:3000\n",{"type":426,"tag":553,"props":63118,"children":63119},{"class":555,"line":623},[63120],{"type":426,"tag":553,"props":63121,"children":63122},{"emptyLinePlaceholder":831},[63123],{"type":431,"value":834},{"type":426,"tag":553,"props":63125,"children":63126},{"class":555,"line":637},[63127,63131],{"type":426,"tag":553,"props":63128,"children":63129},{"style":795},[63130],{"type":431,"value":798},{"type":426,"tag":553,"props":63132,"children":63133},{"style":684},[63134],{"type":431,"value":19255},{"type":426,"tag":553,"props":63136,"children":63137},{"class":555,"line":646},[63138,63142],{"type":426,"tag":553,"props":63139,"children":63140},{"style":795},[63141],{"type":431,"value":798},{"type":426,"tag":553,"props":63143,"children":63144},{"style":684},[63145],{"type":431,"value":63146}," json\n",{"type":426,"tag":553,"props":63148,"children":63149},{"class":555,"line":655},[63150,63154],{"type":426,"tag":553,"props":63151,"children":63152},{"style":795},[63153],{"type":431,"value":798},{"type":426,"tag":553,"props":63155,"children":63156},{"style":684},[63157],{"type":431,"value":63158}," logging\n",{"type":426,"tag":553,"props":63160,"children":63161},{"class":555,"line":1036},[63162,63166,63170,63174],{"type":426,"tag":553,"props":63163,"children":63164},{"style":795},[63165],{"type":431,"value":811},{"type":426,"tag":553,"props":63167,"children":63168},{"style":684},[63169],{"type":431,"value":816},{"type":426,"tag":553,"props":63171,"children":63172},{"style":795},[63173],{"type":431,"value":798},{"type":426,"tag":553,"props":63175,"children":63176},{"style":684},[63177],{"type":431,"value":6409},{"type":426,"tag":553,"props":63179,"children":63180},{"class":555,"line":1054},[63181,63185,63189,63193],{"type":426,"tag":553,"props":63182,"children":63183},{"style":795},[63184],{"type":431,"value":811},{"type":426,"tag":553,"props":63186,"children":63187},{"style":684},[63188],{"type":431,"value":13265},{"type":426,"tag":553,"props":63190,"children":63191},{"style":795},[63192],{"type":431,"value":798},{"type":426,"tag":553,"props":63194,"children":63195},{"style":684},[63196],{"type":431,"value":19220},{"type":426,"tag":553,"props":63198,"children":63199},{"class":555,"line":1080},[63200,63204],{"type":426,"tag":553,"props":63201,"children":63202},{"style":795},[63203],{"type":431,"value":798},{"type":426,"tag":553,"props":63205,"children":63206},{"style":684},[63207],{"type":431,"value":803},{"type":426,"tag":553,"props":63209,"children":63210},{"class":555,"line":1097},[63211,63215,63220,63224],{"type":426,"tag":553,"props":63212,"children":63213},{"style":795},[63214],{"type":431,"value":798},{"type":426,"tag":553,"props":63216,"children":63217},{"style":684},[63218],{"type":431,"value":63219}," google.generativeai ",{"type":426,"tag":553,"props":63221,"children":63222},{"style":795},[63223],{"type":431,"value":10075},{"type":426,"tag":553,"props":63225,"children":63226},{"style":684},[63227],{"type":431,"value":63228}," genai\n",{"type":426,"tag":553,"props":63230,"children":63231},{"class":555,"line":1114},[63232],{"type":426,"tag":553,"props":63233,"children":63234},{"emptyLinePlaceholder":831},[63235],{"type":431,"value":834},{"type":426,"tag":553,"props":63237,"children":63238},{"class":555,"line":1127},[63239,63243,63247,63251,63255],{"type":426,"tag":553,"props":63240,"children":63241},{"style":684},[63242],{"type":431,"value":13301},{"type":426,"tag":553,"props":63244,"children":63245},{"style":795},[63246],{"type":431,"value":957},{"type":426,"tag":553,"props":63248,"children":63249},{"style":684},[63250],{"type":431,"value":13310},{"type":426,"tag":553,"props":63252,"children":63253},{"style":566},[63254],{"type":431,"value":13315},{"type":426,"tag":553,"props":63256,"children":63257},{"style":684},[63258],{"type":431,"value":3262},{"type":426,"tag":553,"props":63260,"children":63261},{"class":555,"line":1167},[63262,63267,63272,63276,63281,63286],{"type":426,"tag":553,"props":63263,"children":63264},{"style":684},[63265],{"type":431,"value":63266},"logging.basicConfig(",{"type":426,"tag":553,"props":63268,"children":63269},{"style":1684},[63270],{"type":431,"value":63271},"level",{"type":426,"tag":553,"props":63273,"children":63274},{"style":795},[63275],{"type":431,"value":957},{"type":426,"tag":553,"props":63277,"children":63278},{"style":684},[63279],{"type":431,"value":63280},"logging.",{"type":426,"tag":553,"props":63282,"children":63283},{"style":566},[63284],{"type":431,"value":63285},"INFO",{"type":426,"tag":553,"props":63287,"children":63288},{"style":684},[63289],{"type":431,"value":3262},{"type":426,"tag":553,"props":63291,"children":63292},{"class":555,"line":1184},[63293,63298,63302,63307,63311],{"type":426,"tag":553,"props":63294,"children":63295},{"style":684},[63296],{"type":431,"value":63297},"logger ",{"type":426,"tag":553,"props":63299,"children":63300},{"style":795},[63301],{"type":431,"value":957},{"type":426,"tag":553,"props":63303,"children":63304},{"style":684},[63305],{"type":431,"value":63306}," logging.getLogger(",{"type":426,"tag":553,"props":63308,"children":63309},{"style":566},[63310],{"type":431,"value":13315},{"type":426,"tag":553,"props":63312,"children":63313},{"style":684},[63314],{"type":431,"value":3262},{"type":426,"tag":553,"props":63316,"children":63317},{"class":555,"line":1192},[63318],{"type":426,"tag":553,"props":63319,"children":63320},{"emptyLinePlaceholder":831},[63321],{"type":431,"value":834},{"type":426,"tag":553,"props":63323,"children":63324},{"class":555,"line":1210},[63325],{"type":426,"tag":553,"props":63326,"children":63327},{"style":1975},[63328],{"type":431,"value":63329},"# Configuration\n",{"type":426,"tag":553,"props":63331,"children":63332},{"class":555,"line":1253},[63333,63337,63341,63345,63349,63353,63358],{"type":426,"tag":553,"props":63334,"children":63335},{"style":566},[63336],{"type":431,"value":7156},{"type":426,"tag":553,"props":63338,"children":63339},{"style":795},[63340],{"type":431,"value":8739},{"type":426,"tag":553,"props":63342,"children":63343},{"style":684},[63344],{"type":431,"value":19308},{"type":426,"tag":553,"props":63346,"children":63347},{"style":572},[63348],{"type":431,"value":9533},{"type":426,"tag":553,"props":63350,"children":63351},{"style":684},[63352],{"type":431,"value":1907},{"type":426,"tag":553,"props":63354,"children":63355},{"style":572},[63356],{"type":431,"value":63357},"'YOUR_RAPIWA_API_KEY'",{"type":426,"tag":553,"props":63359,"children":63360},{"style":684},[63361],{"type":431,"value":3262},{"type":426,"tag":553,"props":63363,"children":63364},{"class":555,"line":1302},[63365,63370,63374,63378,63383,63387,63392],{"type":426,"tag":553,"props":63366,"children":63367},{"style":566},[63368],{"type":431,"value":63369},"GEMINI_API_KEY",{"type":426,"tag":553,"props":63371,"children":63372},{"style":795},[63373],{"type":431,"value":8739},{"type":426,"tag":553,"props":63375,"children":63376},{"style":684},[63377],{"type":431,"value":19308},{"type":426,"tag":553,"props":63379,"children":63380},{"style":572},[63381],{"type":431,"value":63382},"'GEMINI_API_KEY'",{"type":426,"tag":553,"props":63384,"children":63385},{"style":684},[63386],{"type":431,"value":1907},{"type":426,"tag":553,"props":63388,"children":63389},{"style":572},[63390],{"type":431,"value":63391},"'YOUR_GEMINI_API_KEY'",{"type":426,"tag":553,"props":63393,"children":63394},{"style":684},[63395],{"type":431,"value":3262},{"type":426,"tag":553,"props":63397,"children":63398},{"class":555,"line":1374},[63399],{"type":426,"tag":553,"props":63400,"children":63401},{"emptyLinePlaceholder":831},[63402],{"type":431,"value":834},{"type":426,"tag":553,"props":63404,"children":63405},{"class":555,"line":1414},[63406],{"type":426,"tag":553,"props":63407,"children":63408},{"style":1975},[63409],{"type":431,"value":63410},"# Configure Gemini\n",{"type":426,"tag":553,"props":63412,"children":63413},{"class":555,"line":1479},[63414,63419,63423,63427,63431],{"type":426,"tag":553,"props":63415,"children":63416},{"style":684},[63417],{"type":431,"value":63418},"genai.configure(",{"type":426,"tag":553,"props":63420,"children":63421},{"style":1684},[63422],{"type":431,"value":1723},{"type":426,"tag":553,"props":63424,"children":63425},{"style":795},[63426],{"type":431,"value":957},{"type":426,"tag":553,"props":63428,"children":63429},{"style":566},[63430],{"type":431,"value":63369},{"type":426,"tag":553,"props":63432,"children":63433},{"style":684},[63434],{"type":431,"value":3262},{"type":426,"tag":553,"props":63436,"children":63437},{"class":555,"line":1517},[63438],{"type":426,"tag":553,"props":63439,"children":63440},{"emptyLinePlaceholder":831},[63441],{"type":431,"value":834},{"type":426,"tag":553,"props":63443,"children":63444},{"class":555,"line":1560},[63445],{"type":426,"tag":553,"props":63446,"children":63447},{"style":1975},[63448],{"type":431,"value":63449},"# System prompt — customize this for your business\n",{"type":426,"tag":553,"props":63451,"children":63452},{"class":555,"line":1598},[63453,63458,63462],{"type":426,"tag":553,"props":63454,"children":63455},{"style":566},[63456],{"type":431,"value":63457},"SYSTEM_PROMPT",{"type":426,"tag":553,"props":63459,"children":63460},{"style":795},[63461],{"type":431,"value":8739},{"type":426,"tag":553,"props":63463,"children":63464},{"style":572},[63465],{"type":431,"value":63466}," \"\"\"You are a friendly customer support assistant for Rapiwa, a WhatsApp API service.\n",{"type":426,"tag":553,"props":63468,"children":63469},{"class":555,"line":1636},[63470],{"type":426,"tag":553,"props":63471,"children":63472},{"emptyLinePlaceholder":831},[63473],{"type":431,"value":834},{"type":426,"tag":553,"props":63475,"children":63476},{"class":555,"line":1645},[63477],{"type":426,"tag":553,"props":63478,"children":63479},{"style":572},[63480],{"type":431,"value":63481},"Key facts about Rapiwa:\n",{"type":426,"tag":553,"props":63483,"children":63484},{"class":555,"line":1653},[63485],{"type":426,"tag":553,"props":63486,"children":63487},{"style":572},[63488],{"type":431,"value":63489},"- WhatsApp Messaging REST API starting at $5\u002Fmonth\n",{"type":426,"tag":553,"props":63491,"children":63492},{"class":555,"line":1667},[63493],{"type":426,"tag":553,"props":63494,"children":63495},{"style":572},[63496],{"type":431,"value":63497},"- No per-message fees — flat monthly subscription\n",{"type":426,"tag":553,"props":63499,"children":63500},{"class":555,"line":1680},[63501],{"type":426,"tag":553,"props":63502,"children":63503},{"style":572},[63504],{"type":431,"value":63505},"- Unofficial (non-Meta) WhatsApp API — no business verification needed\n",{"type":426,"tag":553,"props":63507,"children":63508},{"class":555,"line":1740},[63509],{"type":426,"tag":553,"props":63510,"children":63511},{"style":572},[63512],{"type":431,"value":63513},"- Supports multiple WhatsApp numbers (1 to 20+)\n",{"type":426,"tag":553,"props":63515,"children":63516},{"class":555,"line":1787},[63517],{"type":426,"tag":553,"props":63518,"children":63519},{"style":572},[63520],{"type":431,"value":63521},"- Integrates with n8n, WooCommerce, WordPress\n",{"type":426,"tag":553,"props":63523,"children":63524},{"class":555,"line":1796},[63525],{"type":426,"tag":553,"props":63526,"children":63527},{"style":572},[63528],{"type":431,"value":63529},"- Rated 5.0\u002F5 on Sourceforge\n",{"type":426,"tag":553,"props":63531,"children":63532},{"class":555,"line":1804},[63533],{"type":426,"tag":553,"props":63534,"children":63535},{"style":572},[63536],{"type":431,"value":63537},"- Free 3-day trial at rapiwa.com — no credit card required\n",{"type":426,"tag":553,"props":63539,"children":63540},{"class":555,"line":1812},[63541],{"type":426,"tag":553,"props":63542,"children":63543},{"emptyLinePlaceholder":831},[63544],{"type":431,"value":834},{"type":426,"tag":553,"props":63546,"children":63547},{"class":555,"line":1847},[63548],{"type":426,"tag":553,"props":63549,"children":63550},{"style":572},[63551],{"type":431,"value":63552},"Instructions:\n",{"type":426,"tag":553,"props":63554,"children":63555},{"class":555,"line":1856},[63556],{"type":426,"tag":553,"props":63557,"children":63558},{"style":572},[63559],{"type":431,"value":63560},"- Answer questions in a friendly, concise way (under 150 words per reply)\n",{"type":426,"tag":553,"props":63562,"children":63563},{"class":555,"line":1874},[63564],{"type":426,"tag":553,"props":63565,"children":63566},{"style":572},[63567],{"type":431,"value":63568},"- Always mention the free trial when someone asks about pricing or how to start\n",{"type":426,"tag":553,"props":63570,"children":63571},{"class":555,"line":1882},[63572],{"type":426,"tag":553,"props":63573,"children":63574},{"style":572},[63575],{"type":431,"value":63576},"- If you don't know the answer, say \"Let me connect you with our team\" and nothing else\n",{"type":426,"tag":553,"props":63578,"children":63579},{"class":555,"line":1981},[63580],{"type":426,"tag":553,"props":63581,"children":63582},{"style":572},[63583],{"type":431,"value":63584},"- Keep responses appropriate for WhatsApp (no markdown tables or complex formatting)\n",{"type":426,"tag":553,"props":63586,"children":63587},{"class":555,"line":1989},[63588],{"type":426,"tag":553,"props":63589,"children":63590},{"style":572},[63591],{"type":431,"value":63592},"- Never make up features or pricing that aren't listed above\"\"\"\n",{"type":426,"tag":553,"props":63594,"children":63595},{"class":555,"line":2013},[63596],{"type":426,"tag":553,"props":63597,"children":63598},{"emptyLinePlaceholder":831},[63599],{"type":431,"value":834},{"type":426,"tag":553,"props":63601,"children":63602},{"class":555,"line":2055},[63603],{"type":426,"tag":553,"props":63604,"children":63605},{"style":1975},[63606],{"type":431,"value":63607},"# Conversation history storage — in production, use Redis or a database\n",{"type":426,"tag":553,"props":63609,"children":63610},{"class":555,"line":2064},[63611],{"type":426,"tag":553,"props":63612,"children":63613},{"style":1975},[63614],{"type":431,"value":63615},"# Key: phone_number, Value: {'history': [...], 'last_active': datetime}\n",{"type":426,"tag":553,"props":63617,"children":63618},{"class":555,"line":2087},[63619,63624,63628,63632],{"type":426,"tag":553,"props":63620,"children":63621},{"style":684},[63622],{"type":431,"value":63623},"conversation_store: ",{"type":426,"tag":553,"props":63625,"children":63626},{"style":566},[63627],{"type":431,"value":857},{"type":426,"tag":553,"props":63629,"children":63630},{"style":795},[63631],{"type":431,"value":8739},{"type":426,"tag":553,"props":63633,"children":63634},{"style":684},[63635],{"type":431,"value":32579},{"type":426,"tag":553,"props":63637,"children":63638},{"class":555,"line":2096},[63639,63644,63648,63653],{"type":426,"tag":553,"props":63640,"children":63641},{"style":566},[63642],{"type":431,"value":63643},"MAX_HISTORY_LENGTH",{"type":426,"tag":553,"props":63645,"children":63646},{"style":795},[63647],{"type":431,"value":8739},{"type":426,"tag":553,"props":63649,"children":63650},{"style":566},[63651],{"type":431,"value":63652}," 20",{"type":426,"tag":553,"props":63654,"children":63655},{"style":1975},[63656],{"type":431,"value":63657},"  # Keep last 20 messages per user\n",{"type":426,"tag":553,"props":63659,"children":63660},{"class":555,"line":2105},[63661,63666,63670,63674],{"type":426,"tag":553,"props":63662,"children":63663},{"style":566},[63664],{"type":431,"value":63665},"SESSION_TIMEOUT_HOURS",{"type":426,"tag":553,"props":63667,"children":63668},{"style":795},[63669],{"type":431,"value":8739},{"type":426,"tag":553,"props":63671,"children":63672},{"style":566},[63673],{"type":431,"value":9072},{"type":426,"tag":553,"props":63675,"children":63676},{"style":1975},[63677],{"type":431,"value":63678},"  # Reset context after 2 hours of inactivity\n",{"type":426,"tag":553,"props":63680,"children":63681},{"class":555,"line":2114},[63682],{"type":426,"tag":553,"props":63683,"children":63684},{"emptyLinePlaceholder":831},[63685],{"type":431,"value":834},{"type":426,"tag":553,"props":63687,"children":63688},{"class":555,"line":2123},[63689],{"type":426,"tag":553,"props":63690,"children":63691},{"emptyLinePlaceholder":831},[63692],{"type":431,"value":834},{"type":426,"tag":553,"props":63694,"children":63695},{"class":555,"line":2132},[63696,63700,63705,63709,63713,63717,63721],{"type":426,"tag":553,"props":63697,"children":63698},{"style":795},[63699],{"type":431,"value":842},{"type":426,"tag":553,"props":63701,"children":63702},{"style":560},[63703],{"type":431,"value":63704}," get_conversation_history",{"type":426,"tag":553,"props":63706,"children":63707},{"style":684},[63708],{"type":431,"value":7446},{"type":426,"tag":553,"props":63710,"children":63711},{"style":566},[63712],{"type":431,"value":895},{"type":426,"tag":553,"props":63714,"children":63715},{"style":684},[63716],{"type":431,"value":900},{"type":426,"tag":553,"props":63718,"children":63719},{"style":566},[63720],{"type":431,"value":2645},{"type":426,"tag":553,"props":63722,"children":63723},{"style":684},[63724],{"type":431,"value":909},{"type":426,"tag":553,"props":63726,"children":63727},{"class":555,"line":2151},[63728],{"type":426,"tag":553,"props":63729,"children":63730},{"style":572},[63731],{"type":431,"value":63732},"    \"\"\"Get or initialize conversation history for a phone number.\"\"\"\n",{"type":426,"tag":553,"props":63734,"children":63735},{"class":555,"line":2160},[63736,63741,63745],{"type":426,"tag":553,"props":63737,"children":63738},{"style":684},[63739],{"type":431,"value":63740},"    now ",{"type":426,"tag":553,"props":63742,"children":63743},{"style":795},[63744],{"type":431,"value":957},{"type":426,"tag":553,"props":63746,"children":63747},{"style":684},[63748],{"type":431,"value":63749}," datetime.utcnow()\n",{"type":426,"tag":553,"props":63751,"children":63752},{"class":555,"line":2174},[63753],{"type":426,"tag":553,"props":63754,"children":63755},{"style":684},[63756],{"type":431,"value":917},{"type":426,"tag":553,"props":63758,"children":63759},{"class":555,"line":2182},[63760,63764,63768,63772],{"type":426,"tag":553,"props":63761,"children":63762},{"style":795},[63763],{"type":431,"value":925},{"type":426,"tag":553,"props":63765,"children":63766},{"style":684},[63767],{"type":431,"value":7505},{"type":426,"tag":553,"props":63769,"children":63770},{"style":795},[63771],{"type":431,"value":2005},{"type":426,"tag":553,"props":63773,"children":63774},{"style":684},[63775],{"type":431,"value":63776}," conversation_store:\n",{"type":426,"tag":553,"props":63778,"children":63779},{"class":555,"line":2205},[63780,63785,63789],{"type":426,"tag":553,"props":63781,"children":63782},{"style":684},[63783],{"type":431,"value":63784},"        session ",{"type":426,"tag":553,"props":63786,"children":63787},{"style":795},[63788],{"type":431,"value":957},{"type":426,"tag":553,"props":63790,"children":63791},{"style":684},[63792],{"type":431,"value":63793}," conversation_store[phone]\n",{"type":426,"tag":553,"props":63795,"children":63796},{"class":555,"line":2241},[63797],{"type":426,"tag":553,"props":63798,"children":63799},{"style":1975},[63800],{"type":431,"value":63801},"        # Check if session expired\n",{"type":426,"tag":553,"props":63803,"children":63804},{"class":555,"line":2250},[63805,63809,63814,63818,63823,63828,63832,63836,63840,63844,63848,63852],{"type":426,"tag":553,"props":63806,"children":63807},{"style":795},[63808],{"type":431,"value":2972},{"type":426,"tag":553,"props":63810,"children":63811},{"style":684},[63812],{"type":431,"value":63813}," now ",{"type":426,"tag":553,"props":63815,"children":63816},{"style":795},[63817],{"type":431,"value":1939},{"type":426,"tag":553,"props":63819,"children":63820},{"style":684},[63821],{"type":431,"value":63822}," session[",{"type":426,"tag":553,"props":63824,"children":63825},{"style":572},[63826],{"type":431,"value":63827},"'last_active'",{"type":426,"tag":553,"props":63829,"children":63830},{"style":684},[63831],{"type":431,"value":2229},{"type":426,"tag":553,"props":63833,"children":63834},{"style":795},[63835],{"type":431,"value":935},{"type":426,"tag":553,"props":63837,"children":63838},{"style":684},[63839],{"type":431,"value":2038},{"type":426,"tag":553,"props":63841,"children":63842},{"style":1684},[63843],{"type":431,"value":22291},{"type":426,"tag":553,"props":63845,"children":63846},{"style":795},[63847],{"type":431,"value":957},{"type":426,"tag":553,"props":63849,"children":63850},{"style":566},[63851],{"type":431,"value":63665},{"type":426,"tag":553,"props":63853,"children":63854},{"style":684},[63855],{"type":431,"value":8370},{"type":426,"tag":553,"props":63857,"children":63858},{"class":555,"line":2302},[63859,63864],{"type":426,"tag":553,"props":63860,"children":63861},{"style":795},[63862],{"type":431,"value":63863},"            del",{"type":426,"tag":553,"props":63865,"children":63866},{"style":684},[63867],{"type":431,"value":63793},{"type":426,"tag":553,"props":63869,"children":63870},{"class":555,"line":2353},[63871,63875],{"type":426,"tag":553,"props":63872,"children":63873},{"style":795},[63874],{"type":431,"value":3034},{"type":426,"tag":553,"props":63876,"children":63877},{"style":684},[63878],{"type":431,"value":909},{"type":426,"tag":553,"props":63880,"children":63881},{"class":555,"line":2390},[63882,63887,63891,63895,63899],{"type":426,"tag":553,"props":63883,"children":63884},{"style":684},[63885],{"type":431,"value":63886},"            session[",{"type":426,"tag":553,"props":63888,"children":63889},{"style":572},[63890],{"type":431,"value":63827},{"type":426,"tag":553,"props":63892,"children":63893},{"style":684},[63894],{"type":431,"value":2229},{"type":426,"tag":553,"props":63896,"children":63897},{"style":795},[63898],{"type":431,"value":957},{"type":426,"tag":553,"props":63900,"children":63901},{"style":684},[63902],{"type":431,"value":63903}," now\n",{"type":426,"tag":553,"props":63905,"children":63906},{"class":555,"line":2440},[63907,63911,63915,63920],{"type":426,"tag":553,"props":63908,"children":63909},{"style":795},[63910],{"type":431,"value":9188},{"type":426,"tag":553,"props":63912,"children":63913},{"style":684},[63914],{"type":431,"value":63822},{"type":426,"tag":553,"props":63916,"children":63917},{"style":572},[63918],{"type":431,"value":63919},"'history'",{"type":426,"tag":553,"props":63921,"children":63922},{"style":684},[63923],{"type":431,"value":16523},{"type":426,"tag":553,"props":63925,"children":63926},{"class":555,"line":2488},[63927],{"type":426,"tag":553,"props":63928,"children":63929},{"style":684},[63930],{"type":431,"value":917},{"type":426,"tag":553,"props":63932,"children":63933},{"class":555,"line":2509},[63934],{"type":426,"tag":553,"props":63935,"children":63936},{"style":1975},[63937],{"type":431,"value":63938},"    # Initialize new session\n",{"type":426,"tag":553,"props":63940,"children":63941},{"class":555,"line":2527},[63942,63947,63951],{"type":426,"tag":553,"props":63943,"children":63944},{"style":684},[63945],{"type":431,"value":63946},"    conversation_store[phone] ",{"type":426,"tag":553,"props":63948,"children":63949},{"style":795},[63950],{"type":431,"value":957},{"type":426,"tag":553,"props":63952,"children":63953},{"style":684},[63954],{"type":431,"value":5458},{"type":426,"tag":553,"props":63956,"children":63957},{"class":555,"line":2545},[63958,63963],{"type":426,"tag":553,"props":63959,"children":63960},{"style":572},[63961],{"type":431,"value":63962},"        'history'",{"type":426,"tag":553,"props":63964,"children":63965},{"style":684},[63966],{"type":431,"value":63967},": [],\n",{"type":426,"tag":553,"props":63969,"children":63970},{"class":555,"line":12991},[63971,63976],{"type":426,"tag":553,"props":63972,"children":63973},{"style":572},[63974],{"type":431,"value":63975},"        'last_active'",{"type":426,"tag":553,"props":63977,"children":63978},{"style":684},[63979],{"type":431,"value":63980},": now\n",{"type":426,"tag":553,"props":63982,"children":63983},{"class":555,"line":13004},[63984],{"type":426,"tag":553,"props":63985,"children":63986},{"style":684},[63987],{"type":431,"value":5546},{"type":426,"tag":553,"props":63989,"children":63990},{"class":555,"line":13012},[63991,63995,64000,64004],{"type":426,"tag":553,"props":63992,"children":63993},{"style":795},[63994],{"type":431,"value":1659},{"type":426,"tag":553,"props":63996,"children":63997},{"style":684},[63998],{"type":431,"value":63999}," conversation_store[phone][",{"type":426,"tag":553,"props":64001,"children":64002},{"style":572},[64003],{"type":431,"value":63919},{"type":426,"tag":553,"props":64005,"children":64006},{"style":684},[64007],{"type":431,"value":16523},{"type":426,"tag":553,"props":64009,"children":64010},{"class":555,"line":13025},[64011],{"type":426,"tag":553,"props":64012,"children":64013},{"emptyLinePlaceholder":831},[64014],{"type":431,"value":834},{"type":426,"tag":553,"props":64016,"children":64017},{"class":555,"line":13033},[64018],{"type":426,"tag":553,"props":64019,"children":64020},{"emptyLinePlaceholder":831},[64021],{"type":431,"value":834},{"type":426,"tag":553,"props":64023,"children":64024},{"class":555,"line":13069},[64025,64029,64034,64038,64042,64047,64051,64056,64060,64064,64068],{"type":426,"tag":553,"props":64026,"children":64027},{"style":795},[64028],{"type":431,"value":842},{"type":426,"tag":553,"props":64030,"children":64031},{"style":560},[64032],{"type":431,"value":64033}," add_to_history",{"type":426,"tag":553,"props":64035,"children":64036},{"style":684},[64037],{"type":431,"value":7446},{"type":426,"tag":553,"props":64039,"children":64040},{"style":566},[64041],{"type":431,"value":895},{"type":426,"tag":553,"props":64043,"children":64044},{"style":684},[64045],{"type":431,"value":64046},", role: ",{"type":426,"tag":553,"props":64048,"children":64049},{"style":566},[64050],{"type":431,"value":895},{"type":426,"tag":553,"props":64052,"children":64053},{"style":684},[64054],{"type":431,"value":64055},", text: ",{"type":426,"tag":553,"props":64057,"children":64058},{"style":566},[64059],{"type":431,"value":895},{"type":426,"tag":553,"props":64061,"children":64062},{"style":684},[64063],{"type":431,"value":900},{"type":426,"tag":553,"props":64065,"children":64066},{"style":566},[64067],{"type":431,"value":1840},{"type":426,"tag":553,"props":64069,"children":64070},{"style":684},[64071],{"type":431,"value":909},{"type":426,"tag":553,"props":64073,"children":64074},{"class":555,"line":13089},[64075],{"type":426,"tag":553,"props":64076,"children":64077},{"style":572},[64078],{"type":431,"value":64079},"    \"\"\"Add a message to conversation history.\"\"\"\n",{"type":426,"tag":553,"props":64081,"children":64082},{"class":555,"line":13102},[64083,64087,64091,64095,64099],{"type":426,"tag":553,"props":64084,"children":64085},{"style":795},[64086],{"type":431,"value":925},{"type":426,"tag":553,"props":64088,"children":64089},{"style":684},[64090],{"type":431,"value":7505},{"type":426,"tag":553,"props":64092,"children":64093},{"style":795},[64094],{"type":431,"value":54099},{"type":426,"tag":553,"props":64096,"children":64097},{"style":795},[64098],{"type":431,"value":54104},{"type":426,"tag":553,"props":64100,"children":64101},{"style":684},[64102],{"type":431,"value":63776},{"type":426,"tag":553,"props":64104,"children":64105},{"class":555,"line":13111},[64106,64111,64115,64119,64123,64128,64132],{"type":426,"tag":553,"props":64107,"children":64108},{"style":684},[64109],{"type":431,"value":64110},"        conversation_store[phone] ",{"type":426,"tag":553,"props":64112,"children":64113},{"style":795},[64114],{"type":431,"value":957},{"type":426,"tag":553,"props":64116,"children":64117},{"style":684},[64118],{"type":431,"value":1450},{"type":426,"tag":553,"props":64120,"children":64121},{"style":572},[64122],{"type":431,"value":63919},{"type":426,"tag":553,"props":64124,"children":64125},{"style":684},[64126],{"type":431,"value":64127},": [], ",{"type":426,"tag":553,"props":64129,"children":64130},{"style":572},[64131],{"type":431,"value":63827},{"type":426,"tag":553,"props":64133,"children":64134},{"style":684},[64135],{"type":431,"value":64136},": datetime.utcnow()}\n",{"type":426,"tag":553,"props":64138,"children":64139},{"class":555,"line":13120},[64140],{"type":426,"tag":553,"props":64141,"children":64142},{"style":684},[64143],{"type":431,"value":917},{"type":426,"tag":553,"props":64145,"children":64146},{"class":555,"line":13129},[64147,64152,64156,64160,64164],{"type":426,"tag":553,"props":64148,"children":64149},{"style":684},[64150],{"type":431,"value":64151},"    history ",{"type":426,"tag":553,"props":64153,"children":64154},{"style":795},[64155],{"type":431,"value":957},{"type":426,"tag":553,"props":64157,"children":64158},{"style":684},[64159],{"type":431,"value":63999},{"type":426,"tag":553,"props":64161,"children":64162},{"style":572},[64163],{"type":431,"value":63919},{"type":426,"tag":553,"props":64165,"children":64166},{"style":684},[64167],{"type":431,"value":16523},{"type":426,"tag":553,"props":64169,"children":64170},{"class":555,"line":13174},[64171,64176,64181,64186,64191],{"type":426,"tag":553,"props":64172,"children":64173},{"style":684},[64174],{"type":431,"value":64175},"    history.append({",{"type":426,"tag":553,"props":64177,"children":64178},{"style":572},[64179],{"type":431,"value":64180},"'role'",{"type":426,"tag":553,"props":64182,"children":64183},{"style":684},[64184],{"type":431,"value":64185},": role, ",{"type":426,"tag":553,"props":64187,"children":64188},{"style":572},[64189],{"type":431,"value":64190},"'parts'",{"type":426,"tag":553,"props":64192,"children":64193},{"style":684},[64194],{"type":431,"value":64195},": [text]})\n",{"type":426,"tag":553,"props":64197,"children":64198},{"class":555,"line":13205},[64199],{"type":426,"tag":553,"props":64200,"children":64201},{"style":684},[64202],{"type":431,"value":917},{"type":426,"tag":553,"props":64204,"children":64205},{"class":555,"line":13218},[64206],{"type":426,"tag":553,"props":64207,"children":64208},{"style":1975},[64209],{"type":431,"value":64210},"    # Trim history to prevent token limit issues\n",{"type":426,"tag":553,"props":64212,"children":64213},{"class":555,"line":20616},[64214,64218,64223,64228,64232,64237],{"type":426,"tag":553,"props":64215,"children":64216},{"style":795},[64217],{"type":431,"value":925},{"type":426,"tag":553,"props":64219,"children":64220},{"style":566},[64221],{"type":431,"value":64222}," len",{"type":426,"tag":553,"props":64224,"children":64225},{"style":684},[64226],{"type":431,"value":64227},"(history) ",{"type":426,"tag":553,"props":64229,"children":64230},{"style":795},[64231],{"type":431,"value":935},{"type":426,"tag":553,"props":64233,"children":64234},{"style":566},[64235],{"type":431,"value":64236}," MAX_HISTORY_LENGTH",{"type":426,"tag":553,"props":64238,"children":64239},{"style":684},[64240],{"type":431,"value":909},{"type":426,"tag":553,"props":64242,"children":64243},{"class":555,"line":20637},[64244,64249,64253,64257,64261,64266,64270,64274],{"type":426,"tag":553,"props":64245,"children":64246},{"style":684},[64247],{"type":431,"value":64248},"        conversation_store[phone][",{"type":426,"tag":553,"props":64250,"children":64251},{"style":572},[64252],{"type":431,"value":63919},{"type":426,"tag":553,"props":64254,"children":64255},{"style":684},[64256],{"type":431,"value":2229},{"type":426,"tag":553,"props":64258,"children":64259},{"style":795},[64260],{"type":431,"value":957},{"type":426,"tag":553,"props":64262,"children":64263},{"style":684},[64264],{"type":431,"value":64265}," history[",{"type":426,"tag":553,"props":64267,"children":64268},{"style":795},[64269],{"type":431,"value":1939},{"type":426,"tag":553,"props":64271,"children":64272},{"style":566},[64273],{"type":431,"value":63643},{"type":426,"tag":553,"props":64275,"children":64276},{"style":684},[64277],{"type":431,"value":64278},":]\n",{"type":426,"tag":553,"props":64280,"children":64281},{"class":555,"line":20650},[64282],{"type":426,"tag":553,"props":64283,"children":64284},{"style":684},[64285],{"type":431,"value":917},{"type":426,"tag":553,"props":64287,"children":64288},{"class":555,"line":20658},[64289,64294,64298,64302,64306],{"type":426,"tag":553,"props":64290,"children":64291},{"style":684},[64292],{"type":431,"value":64293},"    conversation_store[phone][",{"type":426,"tag":553,"props":64295,"children":64296},{"style":572},[64297],{"type":431,"value":63827},{"type":426,"tag":553,"props":64299,"children":64300},{"style":684},[64301],{"type":431,"value":2229},{"type":426,"tag":553,"props":64303,"children":64304},{"style":795},[64305],{"type":431,"value":957},{"type":426,"tag":553,"props":64307,"children":64308},{"style":684},[64309],{"type":431,"value":63749},{"type":426,"tag":553,"props":64311,"children":64312},{"class":555,"line":20666},[64313],{"type":426,"tag":553,"props":64314,"children":64315},{"emptyLinePlaceholder":831},[64316],{"type":431,"value":834},{"type":426,"tag":553,"props":64318,"children":64319},{"class":555,"line":20675},[64320],{"type":426,"tag":553,"props":64321,"children":64322},{"emptyLinePlaceholder":831},[64323],{"type":431,"value":834},{"type":426,"tag":553,"props":64325,"children":64326},{"class":555,"line":20684},[64327,64331,64336,64340,64344,64349,64353,64357,64361],{"type":426,"tag":553,"props":64328,"children":64329},{"style":795},[64330],{"type":431,"value":842},{"type":426,"tag":553,"props":64332,"children":64333},{"style":560},[64334],{"type":431,"value":64335}," ask_gemini",{"type":426,"tag":553,"props":64337,"children":64338},{"style":684},[64339],{"type":431,"value":7446},{"type":426,"tag":553,"props":64341,"children":64342},{"style":566},[64343],{"type":431,"value":895},{"type":426,"tag":553,"props":64345,"children":64346},{"style":684},[64347],{"type":431,"value":64348},", user_message: ",{"type":426,"tag":553,"props":64350,"children":64351},{"style":566},[64352],{"type":431,"value":895},{"type":426,"tag":553,"props":64354,"children":64355},{"style":684},[64356],{"type":431,"value":900},{"type":426,"tag":553,"props":64358,"children":64359},{"style":566},[64360],{"type":431,"value":895},{"type":426,"tag":553,"props":64362,"children":64363},{"style":684},[64364],{"type":431,"value":909},{"type":426,"tag":553,"props":64366,"children":64367},{"class":555,"line":20692},[64368],{"type":426,"tag":553,"props":64369,"children":64370},{"style":572},[64371],{"type":431,"value":2673},{"type":426,"tag":553,"props":64373,"children":64374},{"class":555,"line":20720},[64375],{"type":426,"tag":553,"props":64376,"children":64377},{"style":572},[64378],{"type":431,"value":64379},"    Send user message to Gemini with conversation history.\n",{"type":426,"tag":553,"props":64381,"children":64382},{"class":555,"line":20728},[64383],{"type":426,"tag":553,"props":64384,"children":64385},{"style":572},[64386],{"type":431,"value":64387},"    Returns Gemini's response text.\n",{"type":426,"tag":553,"props":64389,"children":64390},{"class":555,"line":20736},[64391],{"type":426,"tag":553,"props":64392,"children":64393},{"style":572},[64394],{"type":431,"value":2673},{"type":426,"tag":553,"props":64396,"children":64397},{"class":555,"line":20777},[64398,64403,64407],{"type":426,"tag":553,"props":64399,"children":64400},{"style":684},[64401],{"type":431,"value":64402},"    model ",{"type":426,"tag":553,"props":64404,"children":64405},{"style":795},[64406],{"type":431,"value":957},{"type":426,"tag":553,"props":64408,"children":64409},{"style":684},[64410],{"type":431,"value":64411}," genai.GenerativeModel(\n",{"type":426,"tag":553,"props":64413,"children":64414},{"class":555,"line":20789},[64415,64420,64424,64429,64433],{"type":426,"tag":553,"props":64416,"children":64417},{"style":1684},[64418],{"type":431,"value":64419},"        model_name",{"type":426,"tag":553,"props":64421,"children":64422},{"style":795},[64423],{"type":431,"value":957},{"type":426,"tag":553,"props":64425,"children":64426},{"style":572},[64427],{"type":431,"value":64428},"'gemini-1.5-flash'",{"type":426,"tag":553,"props":64430,"children":64431},{"style":684},[64432],{"type":431,"value":11654},{"type":426,"tag":553,"props":64434,"children":64435},{"style":1975},[64436],{"type":431,"value":64437},"# Fast and cost-effective\n",{"type":426,"tag":553,"props":64439,"children":64440},{"class":555,"line":20801},[64441,64446,64450],{"type":426,"tag":553,"props":64442,"children":64443},{"style":1684},[64444],{"type":431,"value":64445},"        system_instruction",{"type":426,"tag":553,"props":64447,"children":64448},{"style":795},[64449],{"type":431,"value":957},{"type":426,"tag":553,"props":64451,"children":64452},{"style":566},[64453],{"type":431,"value":64454},"SYSTEM_PROMPT\n",{"type":426,"tag":553,"props":64456,"children":64457},{"class":555,"line":20846},[64458],{"type":426,"tag":553,"props":64459,"children":64460},{"style":684},[64461],{"type":431,"value":1642},{"type":426,"tag":553,"props":64463,"children":64464},{"class":555,"line":20878},[64465],{"type":426,"tag":553,"props":64466,"children":64467},{"style":684},[64468],{"type":431,"value":917},{"type":426,"tag":553,"props":64470,"children":64471},{"class":555,"line":24807},[64472,64476,64480],{"type":426,"tag":553,"props":64473,"children":64474},{"style":684},[64475],{"type":431,"value":64151},{"type":426,"tag":553,"props":64477,"children":64478},{"style":795},[64479],{"type":431,"value":957},{"type":426,"tag":553,"props":64481,"children":64482},{"style":684},[64483],{"type":431,"value":64484}," get_conversation_history(phone)\n",{"type":426,"tag":553,"props":64486,"children":64487},{"class":555,"line":24825},[64488],{"type":426,"tag":553,"props":64489,"children":64490},{"style":684},[64491],{"type":431,"value":917},{"type":426,"tag":553,"props":64493,"children":64494},{"class":555,"line":24837},[64495],{"type":426,"tag":553,"props":64496,"children":64497},{"style":1975},[64498],{"type":431,"value":64499},"    # Start chat with existing history\n",{"type":426,"tag":553,"props":64501,"children":64502},{"class":555,"line":24858},[64503,64508,64512,64517,64522,64526],{"type":426,"tag":553,"props":64504,"children":64505},{"style":684},[64506],{"type":431,"value":64507},"    chat ",{"type":426,"tag":553,"props":64509,"children":64510},{"style":795},[64511],{"type":431,"value":957},{"type":426,"tag":553,"props":64513,"children":64514},{"style":684},[64515],{"type":431,"value":64516}," model.start_chat(",{"type":426,"tag":553,"props":64518,"children":64519},{"style":1684},[64520],{"type":431,"value":64521},"history",{"type":426,"tag":553,"props":64523,"children":64524},{"style":795},[64525],{"type":431,"value":957},{"type":426,"tag":553,"props":64527,"children":64528},{"style":684},[64529],{"type":431,"value":64530},"history)\n",{"type":426,"tag":553,"props":64532,"children":64533},{"class":555,"line":24895},[64534],{"type":426,"tag":553,"props":64535,"children":64536},{"style":684},[64537],{"type":431,"value":917},{"type":426,"tag":553,"props":64539,"children":64540},{"class":555,"line":24940},[64541,64545],{"type":426,"tag":553,"props":64542,"children":64543},{"style":795},[64544],{"type":431,"value":13401},{"type":426,"tag":553,"props":64546,"children":64547},{"style":684},[64548],{"type":431,"value":909},{"type":426,"tag":553,"props":64550,"children":64551},{"class":555,"line":24961},[64552,64556,64560],{"type":426,"tag":553,"props":64553,"children":64554},{"style":684},[64555],{"type":431,"value":12557},{"type":426,"tag":553,"props":64557,"children":64558},{"style":795},[64559],{"type":431,"value":957},{"type":426,"tag":553,"props":64561,"children":64562},{"style":684},[64563],{"type":431,"value":64564}," chat.send_message(user_message)\n",{"type":426,"tag":553,"props":64566,"children":64567},{"class":555,"line":24990},[64568,64573,64577],{"type":426,"tag":553,"props":64569,"children":64570},{"style":684},[64571],{"type":431,"value":64572},"        reply_text ",{"type":426,"tag":553,"props":64574,"children":64575},{"style":795},[64576],{"type":431,"value":957},{"type":426,"tag":553,"props":64578,"children":64579},{"style":684},[64580],{"type":431,"value":64581}," response.text\n",{"type":426,"tag":553,"props":64583,"children":64584},{"class":555,"line":25003},[64585],{"type":426,"tag":553,"props":64586,"children":64587},{"style":684},[64588],{"type":431,"value":2061},{"type":426,"tag":553,"props":64590,"children":64591},{"class":555,"line":25011},[64592],{"type":426,"tag":553,"props":64593,"children":64594},{"style":1975},[64595],{"type":431,"value":64596},"        # Update history\n",{"type":426,"tag":553,"props":64598,"children":64599},{"class":555,"line":25019},[64600,64605,64610],{"type":426,"tag":553,"props":64601,"children":64602},{"style":684},[64603],{"type":431,"value":64604},"        add_to_history(phone, ",{"type":426,"tag":553,"props":64606,"children":64607},{"style":572},[64608],{"type":431,"value":64609},"'user'",{"type":426,"tag":553,"props":64611,"children":64612},{"style":684},[64613],{"type":431,"value":64614},", user_message)\n",{"type":426,"tag":553,"props":64616,"children":64617},{"class":555,"line":25027},[64618,64622,64627],{"type":426,"tag":553,"props":64619,"children":64620},{"style":684},[64621],{"type":431,"value":64604},{"type":426,"tag":553,"props":64623,"children":64624},{"style":572},[64625],{"type":431,"value":64626},"'model'",{"type":426,"tag":553,"props":64628,"children":64629},{"style":684},[64630],{"type":431,"value":64631},", reply_text)\n",{"type":426,"tag":553,"props":64633,"children":64634},{"class":555,"line":25067},[64635],{"type":426,"tag":553,"props":64636,"children":64637},{"style":684},[64638],{"type":431,"value":2061},{"type":426,"tag":553,"props":64640,"children":64641},{"class":555,"line":25079},[64642,64646],{"type":426,"tag":553,"props":64643,"children":64644},{"style":795},[64645],{"type":431,"value":8378},{"type":426,"tag":553,"props":64647,"children":64648},{"style":684},[64649],{"type":431,"value":64650}," reply_text\n",{"type":426,"tag":553,"props":64652,"children":64653},{"class":555,"line":25091},[64654],{"type":426,"tag":553,"props":64655,"children":64656},{"style":684},[64657],{"type":431,"value":2061},{"type":426,"tag":553,"props":64659,"children":64660},{"class":555,"line":25135},[64661,64665,64669,64673],{"type":426,"tag":553,"props":64662,"children":64663},{"style":795},[64664],{"type":431,"value":13481},{"type":426,"tag":553,"props":64666,"children":64667},{"style":566},[64668],{"type":431,"value":14601},{"type":426,"tag":553,"props":64670,"children":64671},{"style":795},[64672],{"type":431,"value":13927},{"type":426,"tag":553,"props":64674,"children":64675},{"style":684},[64676],{"type":431,"value":13932},{"type":426,"tag":553,"props":64678,"children":64679},{"class":555,"line":25167},[64680,64685,64689,64694,64698,64702,64706,64710,64714,64718,64722,64726],{"type":426,"tag":553,"props":64681,"children":64682},{"style":684},[64683],{"type":431,"value":64684},"        logger.error(",{"type":426,"tag":553,"props":64686,"children":64687},{"style":795},[64688],{"type":431,"value":1709},{"type":426,"tag":553,"props":64690,"children":64691},{"style":572},[64692],{"type":431,"value":64693},"\"Gemini error for ",{"type":426,"tag":553,"props":64695,"children":64696},{"style":566},[64697],{"type":431,"value":972},{"type":426,"tag":553,"props":64699,"children":64700},{"style":684},[64701],{"type":431,"value":37598},{"type":426,"tag":553,"props":64703,"children":64704},{"style":566},[64705],{"type":431,"value":982},{"type":426,"tag":553,"props":64707,"children":64708},{"style":572},[64709],{"type":431,"value":700},{"type":426,"tag":553,"props":64711,"children":64712},{"style":566},[64713],{"type":431,"value":972},{"type":426,"tag":553,"props":64715,"children":64716},{"style":684},[64717],{"type":431,"value":14643},{"type":426,"tag":553,"props":64719,"children":64720},{"style":566},[64721],{"type":431,"value":982},{"type":426,"tag":553,"props":64723,"children":64724},{"style":572},[64725],{"type":431,"value":1527},{"type":426,"tag":553,"props":64727,"children":64728},{"style":684},[64729],{"type":431,"value":3262},{"type":426,"tag":553,"props":64731,"children":64732},{"class":555,"line":28999},[64733,64737],{"type":426,"tag":553,"props":64734,"children":64735},{"style":795},[64736],{"type":431,"value":8378},{"type":426,"tag":553,"props":64738,"children":64739},{"style":572},[64740],{"type":431,"value":64741}," \"I'm having trouble right now. Please try again in a moment, or reply HUMAN for a human agent.\"\n",{"type":426,"tag":553,"props":64743,"children":64744},{"class":555,"line":29016},[64745],{"type":426,"tag":553,"props":64746,"children":64747},{"emptyLinePlaceholder":831},[64748],{"type":431,"value":834},{"type":426,"tag":553,"props":64750,"children":64751},{"class":555,"line":29038},[64752],{"type":426,"tag":553,"props":64753,"children":64754},{"emptyLinePlaceholder":831},[64755],{"type":431,"value":834},{"type":426,"tag":553,"props":64757,"children":64758},{"class":555,"line":29060},[64759,64763,64767,64771,64775,64779,64783,64787,64791],{"type":426,"tag":553,"props":64760,"children":64761},{"style":795},[64762],{"type":431,"value":842},{"type":426,"tag":553,"props":64764,"children":64765},{"style":560},[64766],{"type":431,"value":20746},{"type":426,"tag":553,"props":64768,"children":64769},{"style":684},[64770],{"type":431,"value":7446},{"type":426,"tag":553,"props":64772,"children":64773},{"style":566},[64774],{"type":431,"value":895},{"type":426,"tag":553,"props":64776,"children":64777},{"style":684},[64778],{"type":431,"value":8713},{"type":426,"tag":553,"props":64780,"children":64781},{"style":566},[64782],{"type":431,"value":895},{"type":426,"tag":553,"props":64784,"children":64785},{"style":684},[64786],{"type":431,"value":900},{"type":426,"tag":553,"props":64788,"children":64789},{"style":566},[64790],{"type":431,"value":857},{"type":426,"tag":553,"props":64792,"children":64793},{"style":684},[64794],{"type":431,"value":909},{"type":426,"tag":553,"props":64796,"children":64797},{"class":555,"line":29078},[64798],{"type":426,"tag":553,"props":64799,"children":64800},{"style":572},[64801],{"type":431,"value":64802},"    \"\"\"Send a WhatsApp message via Rapiwa API.\"\"\"\n",{"type":426,"tag":553,"props":64804,"children":64805},{"class":555,"line":29086},[64806,64810,64814],{"type":426,"tag":553,"props":64807,"children":64808},{"style":684},[64809],{"type":431,"value":8117},{"type":426,"tag":553,"props":64811,"children":64812},{"style":795},[64813],{"type":431,"value":957},{"type":426,"tag":553,"props":64815,"children":64816},{"style":684},[64817],{"type":431,"value":1664},{"type":426,"tag":553,"props":64819,"children":64820},{"class":555,"line":29094},[64821,64825],{"type":426,"tag":553,"props":64822,"children":64823},{"style":572},[64824],{"type":431,"value":1673},{"type":426,"tag":553,"props":64826,"children":64827},{"style":684},[64828],{"type":431,"value":710},{"type":426,"tag":553,"props":64830,"children":64831},{"class":555,"line":29106},[64832,64836,64840,64844,64848,64852,64856,64860,64864,64868],{"type":426,"tag":553,"props":64833,"children":64834},{"style":1684},[64835],{"type":431,"value":1687},{"type":426,"tag":553,"props":64837,"children":64838},{"style":795},[64839],{"type":431,"value":957},{"type":426,"tag":553,"props":64841,"children":64842},{"style":684},[64843],{"type":431,"value":972},{"type":426,"tag":553,"props":64845,"children":64846},{"style":572},[64847],{"type":431,"value":1700},{"type":426,"tag":553,"props":64849,"children":64850},{"style":684},[64851],{"type":431,"value":700},{"type":426,"tag":553,"props":64853,"children":64854},{"style":795},[64855],{"type":431,"value":1709},{"type":426,"tag":553,"props":64857,"children":64858},{"style":572},[64859],{"type":431,"value":1714},{"type":426,"tag":553,"props":64861,"children":64862},{"style":566},[64863],{"type":431,"value":20835},{"type":426,"tag":553,"props":64865,"children":64866},{"style":572},[64867],{"type":431,"value":1732},{"type":426,"tag":553,"props":64869,"children":64870},{"style":684},[64871],{"type":431,"value":1737},{"type":426,"tag":553,"props":64873,"children":64874},{"class":555,"line":29127},[64875,64879,64883,64887,64891,64895,64899],{"type":426,"tag":553,"props":64876,"children":64877},{"style":1684},[64878],{"type":431,"value":1746},{"type":426,"tag":553,"props":64880,"children":64881},{"style":795},[64882],{"type":431,"value":957},{"type":426,"tag":553,"props":64884,"children":64885},{"style":684},[64886],{"type":431,"value":972},{"type":426,"tag":553,"props":64888,"children":64889},{"style":572},[64890],{"type":431,"value":1759},{"type":426,"tag":553,"props":64892,"children":64893},{"style":684},[64894],{"type":431,"value":8931},{"type":426,"tag":553,"props":64896,"children":64897},{"style":572},[64898],{"type":431,"value":1779},{"type":426,"tag":553,"props":64900,"children":64901},{"style":684},[64902],{"type":431,"value":8940},{"type":426,"tag":553,"props":64904,"children":64905},{"class":555,"line":29163},[64906,64910,64914],{"type":426,"tag":553,"props":64907,"children":64908},{"style":1684},[64909],{"type":431,"value":51045},{"type":426,"tag":553,"props":64911,"children":64912},{"style":795},[64913],{"type":431,"value":957},{"type":426,"tag":553,"props":64915,"children":64916},{"style":566},[64917],{"type":431,"value":56966},{"type":426,"tag":553,"props":64919,"children":64920},{"class":555,"line":29202},[64921],{"type":426,"tag":553,"props":64922,"children":64923},{"style":684},[64924],{"type":431,"value":1642},{"type":426,"tag":553,"props":64926,"children":64927},{"class":555,"line":29235},[64928,64932],{"type":426,"tag":553,"props":64929,"children":64930},{"style":795},[64931],{"type":431,"value":1659},{"type":426,"tag":553,"props":64933,"children":64934},{"style":684},[64935],{"type":431,"value":9193},{"type":426,"tag":553,"props":64937,"children":64938},{"class":555,"line":29273},[64939],{"type":426,"tag":553,"props":64940,"children":64941},{"emptyLinePlaceholder":831},[64942],{"type":431,"value":834},{"type":426,"tag":553,"props":64944,"children":64945},{"class":555,"line":29312},[64946],{"type":426,"tag":553,"props":64947,"children":64948},{"emptyLinePlaceholder":831},[64949],{"type":431,"value":834},{"type":426,"tag":553,"props":64951,"children":64952},{"class":555,"line":29333},[64953,64957,64961,64965,64969,64973,64977,64981,64985],{"type":426,"tag":553,"props":64954,"children":64955},{"style":560},[64956],{"type":431,"value":8024},{"type":426,"tag":553,"props":64958,"children":64959},{"style":684},[64960],{"type":431,"value":3275},{"type":426,"tag":553,"props":64962,"children":64963},{"style":572},[64964],{"type":431,"value":8033},{"type":426,"tag":553,"props":64966,"children":64967},{"style":684},[64968],{"type":431,"value":1907},{"type":426,"tag":553,"props":64970,"children":64971},{"style":1684},[64972],{"type":431,"value":8042},{"type":426,"tag":553,"props":64974,"children":64975},{"style":795},[64976],{"type":431,"value":957},{"type":426,"tag":553,"props":64978,"children":64979},{"style":684},[64980],{"type":431,"value":8051},{"type":426,"tag":553,"props":64982,"children":64983},{"style":572},[64984],{"type":431,"value":8056},{"type":426,"tag":553,"props":64986,"children":64987},{"style":684},[64988],{"type":431,"value":8061},{"type":426,"tag":553,"props":64990,"children":64991},{"class":555,"line":29346},[64992,64996,65000],{"type":426,"tag":553,"props":64993,"children":64994},{"style":795},[64995],{"type":431,"value":842},{"type":426,"tag":553,"props":64997,"children":64998},{"style":560},[64999],{"type":431,"value":14085},{"type":426,"tag":553,"props":65001,"children":65002},{"style":684},[65003],{"type":431,"value":6433},{"type":426,"tag":553,"props":65005,"children":65006},{"class":555,"line":51231},[65007],{"type":426,"tag":553,"props":65008,"children":65009},{"style":572},[65010],{"type":431,"value":2673},{"type":426,"tag":553,"props":65012,"children":65013},{"class":555,"line":51249},[65014],{"type":426,"tag":553,"props":65015,"children":65016},{"style":572},[65017],{"type":431,"value":65018},"    Webhook endpoint for incoming WhatsApp messages from Rapiwa.\n",{"type":426,"tag":553,"props":65020,"children":65021},{"class":555,"line":51267},[65022],{"type":426,"tag":553,"props":65023,"children":65024},{"style":572},[65025],{"type":431,"value":65026},"    Returns 200 immediately. AI processing is synchronous here\n",{"type":426,"tag":553,"props":65028,"children":65029},{"class":555,"line":51294},[65030],{"type":426,"tag":553,"props":65031,"children":65032},{"style":572},[65033],{"type":431,"value":65034},"    (use Celery\u002Fthreading for high-volume production deployments).\n",{"type":426,"tag":553,"props":65036,"children":65037},{"class":555,"line":51319},[65038],{"type":426,"tag":553,"props":65039,"children":65040},{"style":572},[65041],{"type":431,"value":2673},{"type":426,"tag":553,"props":65043,"children":65044},{"class":555,"line":51345},[65045,65049,65053],{"type":426,"tag":553,"props":65046,"children":65047},{"style":684},[65048],{"type":431,"value":8085},{"type":426,"tag":553,"props":65050,"children":65051},{"style":795},[65052],{"type":431,"value":957},{"type":426,"tag":553,"props":65054,"children":65055},{"style":684},[65056],{"type":431,"value":8094},{"type":426,"tag":553,"props":65058,"children":65059},{"class":555,"line":51372},[65060],{"type":426,"tag":553,"props":65061,"children":65062},{"style":684},[65063],{"type":431,"value":917},{"type":426,"tag":553,"props":65065,"children":65066},{"class":555,"line":51380},[65067,65071,65075,65080,65084,65088,65092,65096,65100,65104],{"type":426,"tag":553,"props":65068,"children":65069},{"style":795},[65070],{"type":431,"value":925},{"type":426,"tag":553,"props":65072,"children":65073},{"style":795},[65074],{"type":431,"value":12110},{"type":426,"tag":553,"props":65076,"children":65077},{"style":684},[65078],{"type":431,"value":65079}," payload ",{"type":426,"tag":553,"props":65081,"children":65082},{"style":795},[65083],{"type":431,"value":13816},{"type":426,"tag":553,"props":65085,"children":65086},{"style":684},[65087],{"type":431,"value":8171},{"type":426,"tag":553,"props":65089,"children":65090},{"style":572},[65091],{"type":431,"value":8176},{"type":426,"tag":553,"props":65093,"children":65094},{"style":684},[65095],{"type":431,"value":2987},{"type":426,"tag":553,"props":65097,"children":65098},{"style":795},[65099],{"type":431,"value":15114},{"type":426,"tag":553,"props":65101,"children":65102},{"style":572},[65103],{"type":431,"value":8189},{"type":426,"tag":553,"props":65105,"children":65106},{"style":684},[65107],{"type":431,"value":909},{"type":426,"tag":553,"props":65109,"children":65110},{"class":555,"line":51388},[65111,65115,65119,65123,65127,65131],{"type":426,"tag":553,"props":65112,"children":65113},{"style":795},[65114],{"type":431,"value":8378},{"type":426,"tag":553,"props":65116,"children":65117},{"style":684},[65118],{"type":431,"value":8126},{"type":426,"tag":553,"props":65120,"children":65121},{"style":572},[65122],{"type":431,"value":2982},{"type":426,"tag":553,"props":65124,"children":65125},{"style":684},[65126],{"type":431,"value":700},{"type":426,"tag":553,"props":65128,"children":65129},{"style":572},[65130],{"type":431,"value":8139},{"type":426,"tag":553,"props":65132,"children":65133},{"style":684},[65134],{"type":431,"value":8144},{"type":426,"tag":553,"props":65136,"children":65137},{"class":555,"line":51397},[65138],{"type":426,"tag":553,"props":65139,"children":65140},{"style":684},[65141],{"type":431,"value":917},{"type":426,"tag":553,"props":65143,"children":65144},{"class":555,"line":51415},[65145,65149,65153,65157,65161],{"type":426,"tag":553,"props":65146,"children":65147},{"style":684},[65148],{"type":431,"value":13733},{"type":426,"tag":553,"props":65150,"children":65151},{"style":795},[65152],{"type":431,"value":957},{"type":426,"tag":553,"props":65154,"children":65155},{"style":684},[65156],{"type":431,"value":20268},{"type":426,"tag":553,"props":65158,"children":65159},{"style":572},[65160],{"type":431,"value":8206},{"type":426,"tag":553,"props":65162,"children":65163},{"style":684},[65164],{"type":431,"value":16523},{"type":426,"tag":553,"props":65166,"children":65167},{"class":555,"line":51423},[65168,65172,65176,65180,65184],{"type":426,"tag":553,"props":65169,"children":65170},{"style":684},[65171],{"type":431,"value":20284},{"type":426,"tag":553,"props":65173,"children":65174},{"style":795},[65175],{"type":431,"value":957},{"type":426,"tag":553,"props":65177,"children":65178},{"style":684},[65179],{"type":431,"value":20293},{"type":426,"tag":553,"props":65181,"children":65182},{"style":572},[65183],{"type":431,"value":14329},{"type":426,"tag":553,"props":65185,"children":65186},{"style":684},[65187],{"type":431,"value":16523},{"type":426,"tag":553,"props":65189,"children":65190},{"class":555,"line":51432},[65191,65196,65200,65204,65209,65213,65218],{"type":426,"tag":553,"props":65192,"children":65193},{"style":684},[65194],{"type":431,"value":65195},"    message_type ",{"type":426,"tag":553,"props":65197,"children":65198},{"style":795},[65199],{"type":431,"value":957},{"type":426,"tag":553,"props":65201,"children":65202},{"style":684},[65203],{"type":431,"value":8311},{"type":426,"tag":553,"props":65205,"children":65206},{"style":572},[65207],{"type":431,"value":65208},"'messageType'",{"type":426,"tag":553,"props":65210,"children":65211},{"style":684},[65212],{"type":431,"value":1907},{"type":426,"tag":553,"props":65214,"children":65215},{"style":572},[65216],{"type":431,"value":65217},"'text'",{"type":426,"tag":553,"props":65219,"children":65220},{"style":684},[65221],{"type":431,"value":3262},{"type":426,"tag":553,"props":65223,"children":65224},{"class":555,"line":51449},[65225,65229,65233,65237,65241,65245,65249],{"type":426,"tag":553,"props":65226,"children":65227},{"style":684},[65228],{"type":431,"value":20341},{"type":426,"tag":553,"props":65230,"children":65231},{"style":795},[65232],{"type":431,"value":957},{"type":426,"tag":553,"props":65234,"children":65235},{"style":684},[65236],{"type":431,"value":8311},{"type":426,"tag":553,"props":65238,"children":65239},{"style":572},[65240],{"type":431,"value":20354},{"type":426,"tag":553,"props":65242,"children":65243},{"style":684},[65244],{"type":431,"value":1907},{"type":426,"tag":553,"props":65246,"children":65247},{"style":572},[65248],{"type":431,"value":23904},{"type":426,"tag":553,"props":65250,"children":65251},{"style":684},[65252],{"type":431,"value":3262},{"type":426,"tag":553,"props":65254,"children":65255},{"class":555,"line":51473},[65256],{"type":426,"tag":553,"props":65257,"children":65258},{"style":684},[65259],{"type":431,"value":917},{"type":426,"tag":553,"props":65261,"children":65262},{"class":555,"line":51497},[65263,65268,65272,65277,65281,65285,65289,65293,65297,65301,65305,65310,65314,65318,65322,65326,65330,65334,65338,65342,65346,65350],{"type":426,"tag":553,"props":65264,"children":65265},{"style":684},[65266],{"type":431,"value":65267},"    logger.info(",{"type":426,"tag":553,"props":65269,"children":65270},{"style":795},[65271],{"type":431,"value":1709},{"type":426,"tag":553,"props":65273,"children":65274},{"style":572},[65275],{"type":431,"value":65276},"\"Message from ",{"type":426,"tag":553,"props":65278,"children":65279},{"style":566},[65280],{"type":431,"value":972},{"type":426,"tag":553,"props":65282,"children":65283},{"style":684},[65284],{"type":431,"value":37598},{"type":426,"tag":553,"props":65286,"children":65287},{"style":566},[65288],{"type":431,"value":982},{"type":426,"tag":553,"props":65290,"children":65291},{"style":572},[65292],{"type":431,"value":5684},{"type":426,"tag":553,"props":65294,"children":65295},{"style":566},[65296],{"type":431,"value":972},{"type":426,"tag":553,"props":65298,"children":65299},{"style":684},[65300],{"type":431,"value":20567},{"type":426,"tag":553,"props":65302,"children":65303},{"style":566},[65304],{"type":431,"value":982},{"type":426,"tag":553,"props":65306,"children":65307},{"style":572},[65308],{"type":431,"value":65309},"): ",{"type":426,"tag":553,"props":65311,"children":65312},{"style":566},[65313],{"type":431,"value":972},{"type":426,"tag":553,"props":65315,"children":65316},{"style":684},[65317],{"type":431,"value":14324},{"type":426,"tag":553,"props":65319,"children":65320},{"style":572},[65321],{"type":431,"value":1779},{"type":426,"tag":553,"props":65323,"children":65324},{"style":684},[65325],{"type":431,"value":1907},{"type":426,"tag":553,"props":65327,"children":65328},{"style":572},[65329],{"type":431,"value":13605},{"type":426,"tag":553,"props":65331,"children":65332},{"style":684},[65333],{"type":431,"value":14398},{"type":426,"tag":553,"props":65335,"children":65336},{"style":566},[65337],{"type":431,"value":11133},{"type":426,"tag":553,"props":65339,"children":65340},{"style":684},[65341],{"type":431,"value":1240},{"type":426,"tag":553,"props":65343,"children":65344},{"style":566},[65345],{"type":431,"value":982},{"type":426,"tag":553,"props":65347,"children":65348},{"style":572},[65349],{"type":431,"value":1527},{"type":426,"tag":553,"props":65351,"children":65352},{"style":684},[65353],{"type":431,"value":3262},{"type":426,"tag":553,"props":65355,"children":65356},{"class":555,"line":51521},[65357],{"type":426,"tag":553,"props":65358,"children":65359},{"style":684},[65360],{"type":431,"value":917},{"type":426,"tag":553,"props":65362,"children":65363},{"class":555,"line":51545},[65364,65368,65373,65377,65382],{"type":426,"tag":553,"props":65365,"children":65366},{"style":795},[65367],{"type":431,"value":925},{"type":426,"tag":553,"props":65369,"children":65370},{"style":684},[65371],{"type":431,"value":65372}," message_type ",{"type":426,"tag":553,"props":65374,"children":65375},{"style":795},[65376],{"type":431,"value":15114},{"type":426,"tag":553,"props":65378,"children":65379},{"style":572},[65380],{"type":431,"value":65381}," 'text'",{"type":426,"tag":553,"props":65383,"children":65384},{"style":684},[65385],{"type":431,"value":909},{"type":426,"tag":553,"props":65387,"children":65388},{"class":555,"line":51571},[65389],{"type":426,"tag":553,"props":65390,"children":65391},{"style":1975},[65392],{"type":431,"value":65393},"        # Handle non-text messages\n",{"type":426,"tag":553,"props":65395,"children":65396},{"class":555,"line":51587},[65397,65401,65405,65409],{"type":426,"tag":553,"props":65398,"children":65399},{"style":684},[65400],{"type":431,"value":29537},{"type":426,"tag":553,"props":65402,"children":65403},{"style":795},[65404],{"type":431,"value":957},{"type":426,"tag":553,"props":65406,"children":65407},{"style":795},[65408],{"type":431,"value":962},{"type":426,"tag":553,"props":65410,"children":65411},{"style":572},[65412],{"type":431,"value":65413},"\"Hi! I can only process text messages right now. Please type your question.\"\n",{"type":426,"tag":553,"props":65415,"children":65416},{"class":555,"line":51605},[65417],{"type":426,"tag":553,"props":65418,"children":65419},{"style":684},[65420],{"type":431,"value":65421},"        send_whatsapp(phone, reply)\n",{"type":426,"tag":553,"props":65423,"children":65424},{"class":555,"line":51622},[65425,65429,65433,65437,65441,65445],{"type":426,"tag":553,"props":65426,"children":65427},{"style":795},[65428],{"type":431,"value":8378},{"type":426,"tag":553,"props":65430,"children":65431},{"style":684},[65432],{"type":431,"value":8126},{"type":426,"tag":553,"props":65434,"children":65435},{"style":572},[65436],{"type":431,"value":2982},{"type":426,"tag":553,"props":65438,"children":65439},{"style":684},[65440],{"type":431,"value":700},{"type":426,"tag":553,"props":65442,"children":65443},{"style":572},[65444],{"type":431,"value":8139},{"type":426,"tag":553,"props":65446,"children":65447},{"style":684},[65448],{"type":431,"value":8144},{"type":426,"tag":553,"props":65450,"children":65451},{"class":555,"line":51630},[65452],{"type":426,"tag":553,"props":65453,"children":65454},{"style":684},[65455],{"type":431,"value":917},{"type":426,"tag":553,"props":65457,"children":65458},{"class":555,"line":51638},[65459,65464,65468,65472,65476,65480,65484],{"type":426,"tag":553,"props":65460,"children":65461},{"style":684},[65462],{"type":431,"value":65463},"    text ",{"type":426,"tag":553,"props":65465,"children":65466},{"style":795},[65467],{"type":431,"value":957},{"type":426,"tag":553,"props":65469,"children":65470},{"style":684},[65471],{"type":431,"value":8311},{"type":426,"tag":553,"props":65473,"children":65474},{"style":572},[65475],{"type":431,"value":1779},{"type":426,"tag":553,"props":65477,"children":65478},{"style":684},[65479],{"type":431,"value":1907},{"type":426,"tag":553,"props":65481,"children":65482},{"style":572},[65483],{"type":431,"value":13605},{"type":426,"tag":553,"props":65485,"children":65486},{"style":684},[65487],{"type":431,"value":20333},{"type":426,"tag":553,"props":65489,"children":65490},{"class":555,"line":51650},[65491],{"type":426,"tag":553,"props":65492,"children":65493},{"style":684},[65494],{"type":431,"value":917},{"type":426,"tag":553,"props":65496,"children":65497},{"class":555,"line":51664},[65498,65502,65506],{"type":426,"tag":553,"props":65499,"children":65500},{"style":795},[65501],{"type":431,"value":925},{"type":426,"tag":553,"props":65503,"children":65504},{"style":795},[65505],{"type":431,"value":12110},{"type":426,"tag":553,"props":65507,"children":65508},{"style":684},[65509],{"type":431,"value":65510}," text:\n",{"type":426,"tag":553,"props":65512,"children":65513},{"class":555,"line":51677},[65514,65518,65522,65526,65530,65534],{"type":426,"tag":553,"props":65515,"children":65516},{"style":795},[65517],{"type":431,"value":8378},{"type":426,"tag":553,"props":65519,"children":65520},{"style":684},[65521],{"type":431,"value":8126},{"type":426,"tag":553,"props":65523,"children":65524},{"style":572},[65525],{"type":431,"value":2982},{"type":426,"tag":553,"props":65527,"children":65528},{"style":684},[65529],{"type":431,"value":700},{"type":426,"tag":553,"props":65531,"children":65532},{"style":572},[65533],{"type":431,"value":8139},{"type":426,"tag":553,"props":65535,"children":65536},{"style":684},[65537],{"type":431,"value":8144},{"type":426,"tag":553,"props":65539,"children":65540},{"class":555,"line":51691},[65541],{"type":426,"tag":553,"props":65542,"children":65543},{"style":684},[65544],{"type":431,"value":917},{"type":426,"tag":553,"props":65546,"children":65547},{"class":555,"line":51699},[65548],{"type":426,"tag":553,"props":65549,"children":65550},{"style":1975},[65551],{"type":431,"value":65552},"    # Special commands\n",{"type":426,"tag":553,"props":65554,"children":65555},{"class":555,"line":51707},[65556,65560,65565,65569,65573,65577,65581,65585,65589,65593],{"type":426,"tag":553,"props":65557,"children":65558},{"style":795},[65559],{"type":431,"value":925},{"type":426,"tag":553,"props":65561,"children":65562},{"style":684},[65563],{"type":431,"value":65564}," text.lower() ",{"type":426,"tag":553,"props":65566,"children":65567},{"style":795},[65568],{"type":431,"value":2005},{"type":426,"tag":553,"props":65570,"children":65571},{"style":684},[65572],{"type":431,"value":5684},{"type":426,"tag":553,"props":65574,"children":65575},{"style":572},[65576],{"type":431,"value":20050},{"type":426,"tag":553,"props":65578,"children":65579},{"style":684},[65580],{"type":431,"value":1907},{"type":426,"tag":553,"props":65582,"children":65583},{"style":572},[65584],{"type":431,"value":20041},{"type":426,"tag":553,"props":65586,"children":65587},{"style":684},[65588],{"type":431,"value":1907},{"type":426,"tag":553,"props":65590,"children":65591},{"style":572},[65592],{"type":431,"value":20059},{"type":426,"tag":553,"props":65594,"children":65595},{"style":684},[65596],{"type":431,"value":8370},{"type":426,"tag":553,"props":65598,"children":65599},{"class":555,"line":51715},[65600,65604,65609],{"type":426,"tag":553,"props":65601,"children":65602},{"style":684},[65603],{"type":431,"value":20431},{"type":426,"tag":553,"props":65605,"children":65606},{"style":572},[65607],{"type":431,"value":65608},"\"Connecting you with a human agent. Please wait — someone will reply within 1 business hour. 🙏\"",{"type":426,"tag":553,"props":65610,"children":65611},{"style":684},[65612],{"type":431,"value":3262},{"type":426,"tag":553,"props":65614,"children":65615},{"class":555,"line":51724},[65616,65621,65626],{"type":426,"tag":553,"props":65617,"children":65618},{"style":1975},[65619],{"type":431,"value":65620},"        # ",{"type":426,"tag":553,"props":65622,"children":65623},{"style":795},[65624],{"type":431,"value":65625},"TODO",{"type":426,"tag":553,"props":65627,"children":65628},{"style":1975},[65629],{"type":431,"value":65630},": notify support team (Slack, email, etc.)\n",{"type":426,"tag":553,"props":65632,"children":65633},{"class":555,"line":51751},[65634,65638,65642,65646,65650,65654],{"type":426,"tag":553,"props":65635,"children":65636},{"style":795},[65637],{"type":431,"value":8378},{"type":426,"tag":553,"props":65639,"children":65640},{"style":684},[65641],{"type":431,"value":8126},{"type":426,"tag":553,"props":65643,"children":65644},{"style":572},[65645],{"type":431,"value":2982},{"type":426,"tag":553,"props":65647,"children":65648},{"style":684},[65649],{"type":431,"value":700},{"type":426,"tag":553,"props":65651,"children":65652},{"style":572},[65653],{"type":431,"value":8139},{"type":426,"tag":553,"props":65655,"children":65656},{"style":684},[65657],{"type":431,"value":8144},{"type":426,"tag":553,"props":65659,"children":65660},{"class":555,"line":51768},[65661],{"type":426,"tag":553,"props":65662,"children":65663},{"style":684},[65664],{"type":431,"value":917},{"type":426,"tag":553,"props":65666,"children":65667},{"class":555,"line":51789},[65668],{"type":426,"tag":553,"props":65669,"children":65670},{"style":1975},[65671],{"type":431,"value":65672},"    # Get AI response\n",{"type":426,"tag":553,"props":65674,"children":65675},{"class":555,"line":51811},[65676,65681,65685],{"type":426,"tag":553,"props":65677,"children":65678},{"style":684},[65679],{"type":431,"value":65680},"    ai_reply ",{"type":426,"tag":553,"props":65682,"children":65683},{"style":795},[65684],{"type":431,"value":957},{"type":426,"tag":553,"props":65686,"children":65687},{"style":684},[65688],{"type":431,"value":65689}," ask_gemini(phone, text)\n",{"type":426,"tag":553,"props":65691,"children":65692},{"class":555,"line":51832},[65693],{"type":426,"tag":553,"props":65694,"children":65695},{"style":684},[65696],{"type":431,"value":65697},"    send_whatsapp(phone, ai_reply)\n",{"type":426,"tag":553,"props":65699,"children":65700},{"class":555,"line":51854},[65701],{"type":426,"tag":553,"props":65702,"children":65703},{"style":684},[65704],{"type":431,"value":917},{"type":426,"tag":553,"props":65706,"children":65707},{"class":555,"line":51876},[65708,65712,65716,65720,65724,65728],{"type":426,"tag":553,"props":65709,"children":65710},{"style":795},[65711],{"type":431,"value":1659},{"type":426,"tag":553,"props":65713,"children":65714},{"style":684},[65715],{"type":431,"value":8126},{"type":426,"tag":553,"props":65717,"children":65718},{"style":572},[65719],{"type":431,"value":2982},{"type":426,"tag":553,"props":65721,"children":65722},{"style":684},[65723],{"type":431,"value":700},{"type":426,"tag":553,"props":65725,"children":65726},{"style":572},[65727],{"type":431,"value":8139},{"type":426,"tag":553,"props":65729,"children":65730},{"style":684},[65731],{"type":431,"value":8144},{"type":426,"tag":553,"props":65733,"children":65734},{"class":555,"line":51898},[65735],{"type":426,"tag":553,"props":65736,"children":65737},{"emptyLinePlaceholder":831},[65738],{"type":431,"value":834},{"type":426,"tag":553,"props":65740,"children":65741},{"class":555,"line":51916},[65742],{"type":426,"tag":553,"props":65743,"children":65744},{"emptyLinePlaceholder":831},[65745],{"type":431,"value":834},{"type":426,"tag":553,"props":65747,"children":65748},{"class":555,"line":51924},[65749,65753,65757,65762,65766,65770,65774,65778,65783],{"type":426,"tag":553,"props":65750,"children":65751},{"style":560},[65752],{"type":431,"value":8024},{"type":426,"tag":553,"props":65754,"children":65755},{"style":684},[65756],{"type":431,"value":3275},{"type":426,"tag":553,"props":65758,"children":65759},{"style":572},[65760],{"type":431,"value":65761},"'\u002Fhealth'",{"type":426,"tag":553,"props":65763,"children":65764},{"style":684},[65765],{"type":431,"value":1907},{"type":426,"tag":553,"props":65767,"children":65768},{"style":1684},[65769],{"type":431,"value":8042},{"type":426,"tag":553,"props":65771,"children":65772},{"style":795},[65773],{"type":431,"value":957},{"type":426,"tag":553,"props":65775,"children":65776},{"style":684},[65777],{"type":431,"value":8051},{"type":426,"tag":553,"props":65779,"children":65780},{"style":572},[65781],{"type":431,"value":65782},"'GET'",{"type":426,"tag":553,"props":65784,"children":65785},{"style":684},[65786],{"type":431,"value":8061},{"type":426,"tag":553,"props":65788,"children":65789},{"class":555,"line":51932},[65790,65794,65799],{"type":426,"tag":553,"props":65791,"children":65792},{"style":795},[65793],{"type":431,"value":842},{"type":426,"tag":553,"props":65795,"children":65796},{"style":560},[65797],{"type":431,"value":65798}," health",{"type":426,"tag":553,"props":65800,"children":65801},{"style":684},[65802],{"type":431,"value":6433},{"type":426,"tag":553,"props":65804,"children":65805},{"class":555,"line":51965},[65806],{"type":426,"tag":553,"props":65807,"children":65808},{"style":572},[65809],{"type":431,"value":65810},"    \"\"\"Health check endpoint.\"\"\"\n",{"type":426,"tag":553,"props":65812,"children":65813},{"class":555,"line":52015},[65814,65818],{"type":426,"tag":553,"props":65815,"children":65816},{"style":795},[65817],{"type":431,"value":1659},{"type":426,"tag":553,"props":65819,"children":65820},{"style":684},[65821],{"type":431,"value":15308},{"type":426,"tag":553,"props":65823,"children":65825},{"class":555,"line":65824},174,[65826,65830,65834,65839],{"type":426,"tag":553,"props":65827,"children":65828},{"style":572},[65829],{"type":431,"value":15316},{"type":426,"tag":553,"props":65831,"children":65832},{"style":684},[65833],{"type":431,"value":700},{"type":426,"tag":553,"props":65835,"children":65836},{"style":572},[65837],{"type":431,"value":65838},"'healthy'",{"type":426,"tag":553,"props":65840,"children":65841},{"style":684},[65842],{"type":431,"value":710},{"type":426,"tag":553,"props":65844,"children":65846},{"class":555,"line":65845},175,[65847,65852,65856,65861],{"type":426,"tag":553,"props":65848,"children":65849},{"style":572},[65850],{"type":431,"value":65851},"        'active_sessions'",{"type":426,"tag":553,"props":65853,"children":65854},{"style":684},[65855],{"type":431,"value":700},{"type":426,"tag":553,"props":65857,"children":65858},{"style":566},[65859],{"type":431,"value":65860},"len",{"type":426,"tag":553,"props":65862,"children":65863},{"style":684},[65864],{"type":431,"value":65865},"(conversation_store)\n",{"type":426,"tag":553,"props":65867,"children":65869},{"class":555,"line":65868},176,[65870],{"type":426,"tag":553,"props":65871,"children":65872},{"style":684},[65873],{"type":431,"value":15362},{"type":426,"tag":553,"props":65875,"children":65877},{"class":555,"line":65876},177,[65878],{"type":426,"tag":553,"props":65879,"children":65880},{"emptyLinePlaceholder":831},[65881],{"type":431,"value":834},{"type":426,"tag":553,"props":65883,"children":65885},{"class":555,"line":65884},178,[65886],{"type":426,"tag":553,"props":65887,"children":65888},{"emptyLinePlaceholder":831},[65889],{"type":431,"value":834},{"type":426,"tag":553,"props":65891,"children":65893},{"class":555,"line":65892},179,[65894,65898,65902,65906,65910],{"type":426,"tag":553,"props":65895,"children":65896},{"style":795},[65897],{"type":431,"value":7510},{"type":426,"tag":553,"props":65899,"children":65900},{"style":566},[65901],{"type":431,"value":51734},{"type":426,"tag":553,"props":65903,"children":65904},{"style":795},[65905],{"type":431,"value":51739},{"type":426,"tag":553,"props":65907,"children":65908},{"style":572},[65909],{"type":431,"value":51744},{"type":426,"tag":553,"props":65911,"children":65912},{"style":684},[65913],{"type":431,"value":909},{"type":426,"tag":553,"props":65915,"children":65917},{"class":555,"line":65916},180,[65918,65923,65928,65932,65937,65941,65946,65950,65955,65959,65963,65967,65972],{"type":426,"tag":553,"props":65919,"children":65920},{"style":684},[65921],{"type":431,"value":65922},"    app.run(",{"type":426,"tag":553,"props":65924,"children":65925},{"style":1684},[65926],{"type":431,"value":65927},"host",{"type":426,"tag":553,"props":65929,"children":65930},{"style":795},[65931],{"type":431,"value":957},{"type":426,"tag":553,"props":65933,"children":65934},{"style":572},[65935],{"type":431,"value":65936},"'0.0.0.0'",{"type":426,"tag":553,"props":65938,"children":65939},{"style":684},[65940],{"type":431,"value":1907},{"type":426,"tag":553,"props":65942,"children":65943},{"style":1684},[65944],{"type":431,"value":65945},"port",{"type":426,"tag":553,"props":65947,"children":65948},{"style":795},[65949],{"type":431,"value":957},{"type":426,"tag":553,"props":65951,"children":65952},{"style":566},[65953],{"type":431,"value":65954},"3000",{"type":426,"tag":553,"props":65956,"children":65957},{"style":684},[65958],{"type":431,"value":1907},{"type":426,"tag":553,"props":65960,"children":65961},{"style":1684},[65962],{"type":431,"value":61617},{"type":426,"tag":553,"props":65964,"children":65965},{"style":795},[65966],{"type":431,"value":957},{"type":426,"tag":553,"props":65968,"children":65969},{"style":566},[65970],{"type":431,"value":65971},"False",{"type":426,"tag":553,"props":65973,"children":65974},{"style":684},[65975],{"type":431,"value":3262},{"type":426,"tag":434,"props":65977,"children":65979},{"id":65978},"step-3-register-webhook-in-rapiwa",[65980],{"type":431,"value":65981},"Step 3: Register Webhook in Rapiwa",{"type":426,"tag":6331,"props":65983,"children":65984},{},[65985,65990,66018],{"type":426,"tag":458,"props":65986,"children":65987},{},[65988],{"type":431,"value":65989},"Deploy the server to a public URL (Railway, Render, Fly.io, or a VPS)",{"type":426,"tag":458,"props":65991,"children":65992},{},[65993,65995],{"type":431,"value":65994},"In Rapiwa Dashboard → Webhooks → Add Webhook:\n",{"type":426,"tag":454,"props":65996,"children":65997},{},[65998,66008],{"type":426,"tag":458,"props":65999,"children":66000},{},[66001,66002],{"type":431,"value":62466},{"type":426,"tag":549,"props":66003,"children":66005},{"className":66004},[],[66006],{"type":431,"value":66007},"https:\u002F\u002Fyourserver.com\u002Fwebhook\u002Fwhatsapp",{"type":426,"tag":458,"props":66009,"children":66010},{},[66011,66013],{"type":431,"value":66012},"Events: ",{"type":426,"tag":549,"props":66014,"children":66016},{"className":66015},[],[66017],{"type":431,"value":7956},{"type":426,"tag":458,"props":66019,"children":66020},{},[66021],{"type":431,"value":66022},"Save",{"type":426,"tag":434,"props":66024,"children":66026},{"id":66025},"step-4-test-the-chatbot",[66027],{"type":431,"value":66028},"Step 4: Test the Chatbot",{"type":426,"tag":427,"props":66030,"children":66031},{},[66032],{"type":426,"tag":446,"props":66033,"children":66034},{},[66035],{"type":431,"value":66036},"Test your API key first:",{"type":426,"tag":542,"props":66038,"children":66040},{"code":66039,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello! I am your Gemini AI assistant powered by Rapiwa. Ask me anything about WhatsApp automation!\"\n  }'\n",[66041],{"type":426,"tag":549,"props":66042,"children":66043},{"__ignoreMap":417},[66044,66067,66082,66097,66108,66115,66123],{"type":426,"tag":553,"props":66045,"children":66046},{"class":555,"line":556},[66047,66051,66055,66059,66063],{"type":426,"tag":553,"props":66048,"children":66049},{"style":560},[66050],{"type":431,"value":563},{"type":426,"tag":553,"props":66052,"children":66053},{"style":566},[66054],{"type":431,"value":569},{"type":426,"tag":553,"props":66056,"children":66057},{"style":572},[66058],{"type":431,"value":575},{"type":426,"tag":553,"props":66060,"children":66061},{"style":572},[66062],{"type":431,"value":580},{"type":426,"tag":553,"props":66064,"children":66065},{"style":566},[66066],{"type":431,"value":585},{"type":426,"tag":553,"props":66068,"children":66069},{"class":555,"line":588},[66070,66074,66078],{"type":426,"tag":553,"props":66071,"children":66072},{"style":566},[66073],{"type":431,"value":594},{"type":426,"tag":553,"props":66075,"children":66076},{"style":572},[66077],{"type":431,"value":599},{"type":426,"tag":553,"props":66079,"children":66080},{"style":566},[66081],{"type":431,"value":585},{"type":426,"tag":553,"props":66083,"children":66084},{"class":555,"line":606},[66085,66089,66093],{"type":426,"tag":553,"props":66086,"children":66087},{"style":566},[66088],{"type":431,"value":594},{"type":426,"tag":553,"props":66090,"children":66091},{"style":572},[66092],{"type":431,"value":616},{"type":426,"tag":553,"props":66094,"children":66095},{"style":566},[66096],{"type":431,"value":585},{"type":426,"tag":553,"props":66098,"children":66099},{"class":555,"line":623},[66100,66104],{"type":426,"tag":553,"props":66101,"children":66102},{"style":566},[66103],{"type":431,"value":629},{"type":426,"tag":553,"props":66105,"children":66106},{"style":572},[66107],{"type":431,"value":634},{"type":426,"tag":553,"props":66109,"children":66110},{"class":555,"line":637},[66111],{"type":426,"tag":553,"props":66112,"children":66113},{"style":572},[66114],{"type":431,"value":643},{"type":426,"tag":553,"props":66116,"children":66117},{"class":555,"line":646},[66118],{"type":426,"tag":553,"props":66119,"children":66120},{"style":572},[66121],{"type":431,"value":66122},"    \"message\": \"Hello! I am your Gemini AI assistant powered by Rapiwa. Ask me anything about WhatsApp automation!\"\n",{"type":426,"tag":553,"props":66124,"children":66125},{"class":555,"line":655},[66126],{"type":426,"tag":553,"props":66127,"children":66128},{"style":572},[66129],{"type":431,"value":661},{"type":426,"tag":427,"props":66131,"children":66132},{},[66133],{"type":426,"tag":446,"props":66134,"children":66135},{},[66136],{"type":431,"value":669},{"type":426,"tag":542,"props":66138,"children":66140},{"code":66139,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_ai_abc123\",\n  \"timestamp\": \"2026-06-29T10:30:00Z\"\n}\n",[66141],{"type":426,"tag":549,"props":66142,"children":66143},{"__ignoreMap":417},[66144,66151,66170,66190,66206],{"type":426,"tag":553,"props":66145,"children":66146},{"class":555,"line":556},[66147],{"type":426,"tag":553,"props":66148,"children":66149},{"style":684},[66150],{"type":431,"value":687},{"type":426,"tag":553,"props":66152,"children":66153},{"class":555,"line":588},[66154,66158,66162,66166],{"type":426,"tag":553,"props":66155,"children":66156},{"style":566},[66157],{"type":431,"value":695},{"type":426,"tag":553,"props":66159,"children":66160},{"style":684},[66161],{"type":431,"value":700},{"type":426,"tag":553,"props":66163,"children":66164},{"style":572},[66165],{"type":431,"value":705},{"type":426,"tag":553,"props":66167,"children":66168},{"style":684},[66169],{"type":431,"value":710},{"type":426,"tag":553,"props":66171,"children":66172},{"class":555,"line":606},[66173,66177,66181,66186],{"type":426,"tag":553,"props":66174,"children":66175},{"style":566},[66176],{"type":431,"value":718},{"type":426,"tag":553,"props":66178,"children":66179},{"style":684},[66180],{"type":431,"value":700},{"type":426,"tag":553,"props":66182,"children":66183},{"style":572},[66184],{"type":431,"value":66185},"\"msg_ai_abc123\"",{"type":426,"tag":553,"props":66187,"children":66188},{"style":684},[66189],{"type":431,"value":710},{"type":426,"tag":553,"props":66191,"children":66192},{"class":555,"line":623},[66193,66197,66201],{"type":426,"tag":553,"props":66194,"children":66195},{"style":566},[66196],{"type":431,"value":739},{"type":426,"tag":553,"props":66198,"children":66199},{"style":684},[66200],{"type":431,"value":700},{"type":426,"tag":553,"props":66202,"children":66203},{"style":572},[66204],{"type":431,"value":66205},"\"2026-06-29T10:30:00Z\"\n",{"type":426,"tag":553,"props":66207,"children":66208},{"class":555,"line":637},[66209],{"type":426,"tag":553,"props":66210,"children":66211},{"style":684},[66212],{"type":431,"value":756},{"type":426,"tag":427,"props":66214,"children":66215},{},[66216],{"type":431,"value":66217},"Then send a test message to your Rapiwa WhatsApp number. Example conversation:",{"type":426,"tag":454,"props":66219,"children":66220},{},[66221,66226,66231,66236,66241,66246],{"type":426,"tag":458,"props":66222,"children":66223},{},[66224],{"type":431,"value":66225},"You: \"Hi\"",{"type":426,"tag":458,"props":66227,"children":66228},{},[66229],{"type":431,"value":66230},"Bot: \"Hello! 👋 How can I help you with WhatsApp automation today?\"",{"type":426,"tag":458,"props":66232,"children":66233},{},[66234],{"type":431,"value":66235},"You: \"How much does Rapiwa cost?\"",{"type":426,"tag":458,"props":66237,"children":66238},{},[66239],{"type":431,"value":66240},"Bot: \"Rapiwa starts at $5\u002Fmonth with no per-message fees — that's a flat subscription for unlimited messages. You can try it free for 3 days at rapiwa.com (no credit card needed). Which plan are you considering?\"",{"type":426,"tag":458,"props":66242,"children":66243},{},[66244],{"type":431,"value":66245},"You: \"What about the API?\"",{"type":426,"tag":458,"props":66247,"children":66248},{},[66249],{"type":431,"value":66250},"Bot: (Gemini remembers context) \"Rapiwa's REST API works with any language — Python, Node.js, PHP, Java, C#, and more. You get full webhook support for receiving messages too...\"",{"type":426,"tag":434,"props":66252,"children":66254},{"id":66253},"deploying-to-production",[66255],{"type":431,"value":66256},"Deploying to Production",{"type":426,"tag":427,"props":66258,"children":66259},{},[66260],{"type":426,"tag":446,"props":66261,"children":66262},{},[66263],{"type":431,"value":66264},"Railway (recommended — free tier available):",{"type":426,"tag":542,"props":66266,"children":66268},{"code":66267,"language":545,"meta":417,"className":546,"style":417},"# Install Railway CLI\nnpm install -g @railway\u002Fcli\n\n# Login and deploy\nrailway login\nrailway new\nrailway up\n",[66269],{"type":426,"tag":549,"props":66270,"children":66271},{"__ignoreMap":417},[66272,66280,66301,66308,66316,66329,66341],{"type":426,"tag":553,"props":66273,"children":66274},{"class":555,"line":556},[66275],{"type":426,"tag":553,"props":66276,"children":66277},{"style":1975},[66278],{"type":431,"value":66279},"# Install Railway CLI\n",{"type":426,"tag":553,"props":66281,"children":66282},{"class":555,"line":588},[66283,66287,66291,66296],{"type":426,"tag":553,"props":66284,"children":66285},{"style":560},[66286],{"type":431,"value":52091},{"type":426,"tag":553,"props":66288,"children":66289},{"style":572},[66290],{"type":431,"value":48876},{"type":426,"tag":553,"props":66292,"children":66293},{"style":566},[66294],{"type":431,"value":66295}," -g",{"type":426,"tag":553,"props":66297,"children":66298},{"style":572},[66299],{"type":431,"value":66300}," @railway\u002Fcli\n",{"type":426,"tag":553,"props":66302,"children":66303},{"class":555,"line":606},[66304],{"type":426,"tag":553,"props":66305,"children":66306},{"emptyLinePlaceholder":831},[66307],{"type":431,"value":834},{"type":426,"tag":553,"props":66309,"children":66310},{"class":555,"line":623},[66311],{"type":426,"tag":553,"props":66312,"children":66313},{"style":1975},[66314],{"type":431,"value":66315},"# Login and deploy\n",{"type":426,"tag":553,"props":66317,"children":66318},{"class":555,"line":637},[66319,66324],{"type":426,"tag":553,"props":66320,"children":66321},{"style":560},[66322],{"type":431,"value":66323},"railway",{"type":426,"tag":553,"props":66325,"children":66326},{"style":572},[66327],{"type":431,"value":66328}," login\n",{"type":426,"tag":553,"props":66330,"children":66331},{"class":555,"line":646},[66332,66336],{"type":426,"tag":553,"props":66333,"children":66334},{"style":560},[66335],{"type":431,"value":66323},{"type":426,"tag":553,"props":66337,"children":66338},{"style":572},[66339],{"type":431,"value":66340}," new\n",{"type":426,"tag":553,"props":66342,"children":66343},{"class":555,"line":655},[66344,66348],{"type":426,"tag":553,"props":66345,"children":66346},{"style":560},[66347],{"type":431,"value":66323},{"type":426,"tag":553,"props":66349,"children":66350},{"style":572},[66351],{"type":431,"value":66352}," up\n",{"type":426,"tag":427,"props":66354,"children":66355},{},[66356],{"type":426,"tag":446,"props":66357,"children":66358},{},[66359],{"type":431,"value":66360},"Environment variables to set:",{"type":426,"tag":542,"props":66362,"children":66364},{"code":66363},"RAPIWA_API_KEY=your_key\nGEMINI_API_KEY=your_key\n",[66365],{"type":426,"tag":549,"props":66366,"children":66367},{"__ignoreMap":417},[66368],{"type":431,"value":66363},{"type":426,"tag":434,"props":66370,"children":66372},{"id":66371},"gemini-model-options",[66373],{"type":431,"value":66374},"Gemini Model Options",{"type":426,"tag":10600,"props":66376,"children":66377},{},[66378,66402],{"type":426,"tag":10604,"props":66379,"children":66380},{},[66381],{"type":426,"tag":10608,"props":66382,"children":66383},{},[66384,66389,66394,66398],{"type":426,"tag":10612,"props":66385,"children":66386},{},[66387],{"type":431,"value":66388},"Model",{"type":426,"tag":10612,"props":66390,"children":66391},{},[66392],{"type":431,"value":66393},"Speed",{"type":426,"tag":10612,"props":66395,"children":66396},{},[66397],{"type":431,"value":505},{"type":426,"tag":10612,"props":66399,"children":66400},{},[66401],{"type":431,"value":46969},{"type":426,"tag":10623,"props":66403,"children":66404},{},[66405,66432,66459],{"type":426,"tag":10608,"props":66406,"children":66407},{},[66408,66417,66422,66427],{"type":426,"tag":10630,"props":66409,"children":66410},{},[66411],{"type":426,"tag":549,"props":66412,"children":66414},{"className":66413},[],[66415],{"type":431,"value":66416},"gemini-1.5-flash",{"type":426,"tag":10630,"props":66418,"children":66419},{},[66420],{"type":431,"value":66421},"Fast",{"type":426,"tag":10630,"props":66423,"children":66424},{},[66425],{"type":431,"value":66426},"Very low",{"type":426,"tag":10630,"props":66428,"children":66429},{},[66430],{"type":431,"value":66431},"Customer support, high volume",{"type":426,"tag":10608,"props":66433,"children":66434},{},[66435,66444,66449,66454],{"type":426,"tag":10630,"props":66436,"children":66437},{},[66438],{"type":426,"tag":549,"props":66439,"children":66441},{"className":66440},[],[66442],{"type":431,"value":66443},"gemini-1.5-pro",{"type":426,"tag":10630,"props":66445,"children":66446},{},[66447],{"type":431,"value":66448},"Medium",{"type":426,"tag":10630,"props":66450,"children":66451},{},[66452],{"type":431,"value":66453},"Low-medium",{"type":426,"tag":10630,"props":66455,"children":66456},{},[66457],{"type":431,"value":66458},"Complex reasoning, detailed answers",{"type":426,"tag":10608,"props":66460,"children":66461},{},[66462,66471,66476,66481],{"type":426,"tag":10630,"props":66463,"children":66464},{},[66465],{"type":426,"tag":549,"props":66466,"children":66468},{"className":66467},[],[66469],{"type":431,"value":66470},"gemini-2.0-flash",{"type":426,"tag":10630,"props":66472,"children":66473},{},[66474],{"type":431,"value":66475},"Fastest",{"type":426,"tag":10630,"props":66477,"children":66478},{},[66479],{"type":431,"value":66480},"Lowest",{"type":426,"tag":10630,"props":66482,"children":66483},{},[66484],{"type":431,"value":66485},"Real-time chat, cost-critical",{"type":426,"tag":427,"props":66487,"children":66488},{},[66489,66491,66496],{"type":431,"value":66490},"For customer support bots, ",{"type":426,"tag":549,"props":66492,"children":66494},{"className":66493},[],[66495],{"type":431,"value":66416},{"type":431,"value":66497}," offers the best speed\u002Fcost balance.",{"type":426,"tag":434,"props":66499,"children":66500},{"id":18886},[66501],{"type":431,"value":18889},{"type":426,"tag":454,"props":66503,"children":66504},{},[66505,66515,66531,66549],{"type":426,"tag":458,"props":66506,"children":66507},{},[66508,66513],{"type":426,"tag":446,"props":66509,"children":66510},{},[66511],{"type":431,"value":66512},"Gemini 429 rate limit",{"type":431,"value":66514},": You're on the free tier with limited RPM. Add a try\u002Fexcept and retry after 60 seconds, or upgrade to a paid Gemini plan",{"type":426,"tag":458,"props":66516,"children":66517},{},[66518,66523,66525],{"type":426,"tag":446,"props":66519,"children":66520},{},[66521],{"type":431,"value":66522},"Webhook not receiving",{"type":431,"value":66524},": Ensure your server is publicly accessible. Test with ",{"type":426,"tag":549,"props":66526,"children":66528},{"className":66527},[],[66529],{"type":431,"value":66530},"curl -X POST https:\u002F\u002Fyourserver.com\u002Fwebhook\u002Fwhatsapp",{"type":426,"tag":458,"props":66532,"children":66533},{},[66534,66539,66541,66547],{"type":426,"tag":446,"props":66535,"children":66536},{},[66537],{"type":431,"value":66538},"Memory growing over time",{"type":431,"value":66540},": The in-memory ",{"type":426,"tag":549,"props":66542,"children":66544},{"className":66543},[],[66545],{"type":431,"value":66546},"conversation_store",{"type":431,"value":66548}," grows indefinitely. Add a cleanup job that removes sessions older than 24 hours, or use Redis with TTL",{"type":426,"tag":458,"props":66550,"children":66551},{},[66552,66556],{"type":426,"tag":446,"props":66553,"children":66554},{},[66555],{"type":431,"value":26117},{"type":431,"value":66557},": Regenerate API key in Dashboard → API Keys",{"type":426,"tag":434,"props":66559,"children":66560},{"id":4109},[66561],{"type":431,"value":4112},{"type":426,"tag":427,"props":66563,"children":66564},{},[66565,66570],{"type":426,"tag":446,"props":66566,"children":66567},{},[66568],{"type":431,"value":66569},"Is Google Gemini free for this chatbot?",{"type":431,"value":66571},"\nGemini has a free tier (Gemini 1.5 Flash: 1,500 requests\u002Fday free). For a customer support bot handling under 1,500 conversations\u002Fday, Gemini is essentially free.",{"type":426,"tag":427,"props":66573,"children":66574},{},[66575,66580,66582,66588,66590,66596,66598,66604,66606,66612],{"type":426,"tag":446,"props":66576,"children":66577},{},[66578],{"type":431,"value":66579},"Can I use GPT-4 instead of Gemini?",{"type":431,"value":66581},"\nYes. Replace ",{"type":426,"tag":549,"props":66583,"children":66585},{"className":66584},[],[66586],{"type":431,"value":66587},"google.generativeai",{"type":431,"value":66589}," with ",{"type":426,"tag":549,"props":66591,"children":66593},{"className":66592},[],[66594],{"type":431,"value":66595},"openai",{"type":431,"value":66597}," library and update the ",{"type":426,"tag":549,"props":66599,"children":66601},{"className":66600},[],[66602],{"type":431,"value":66603},"ask_gemini",{"type":431,"value":66605}," function to use ",{"type":426,"tag":549,"props":66607,"children":66609},{"className":66608},[],[66610],{"type":431,"value":66611},"openai.chat.completions.create()",{"type":431,"value":66613},". The rest of the code stays the same.",{"type":426,"tag":427,"props":66615,"children":66616},{},[66617,66622,66624,66629],{"type":426,"tag":446,"props":66618,"children":66619},{},[66620],{"type":431,"value":66621},"How do I give the bot knowledge about my specific products?",{"type":431,"value":66623},"\nUpdate the ",{"type":426,"tag":549,"props":66625,"children":66627},{"className":66626},[],[66628],{"type":431,"value":63457},{"type":431,"value":66630}," with your product catalog, pricing, FAQs, and policies. The more specific and factual the system prompt, the better the bot performs.",{"type":426,"tag":427,"props":66632,"children":66633},{},[66634,66639],{"type":426,"tag":446,"props":66635,"children":66636},{},[66637],{"type":431,"value":66638},"Does Rapiwa charge per AI chatbot reply?",{"type":431,"value":66640},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. The bot can have unlimited conversations.",{"type":426,"tag":427,"props":66642,"children":66643},{},[66644,66649],{"type":426,"tag":446,"props":66645,"children":66646},{},[66647],{"type":431,"value":66648},"What happens when Gemini's context window is full?",{"type":431,"value":66650},"\nThe code trims history to the last 20 messages. Older context is dropped to stay within Gemini's token limit. For most customer support conversations, 20 messages is sufficient.",{"type":426,"tag":4164,"props":66652,"children":66653},{},[66654],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":66656},[66657,66658,66659,66660,66661,66662,66663,66664,66665,66666],{"id":48776,"depth":588,"text":48779},{"id":47624,"depth":588,"text":47627},{"id":63044,"depth":588,"text":63047},{"id":63082,"depth":588,"text":63085},{"id":65978,"depth":588,"text":65981},{"id":66025,"depth":588,"text":66028},{"id":66253,"depth":588,"text":66256},{"id":66371,"depth":588,"text":66374},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-ai-chatbot-python-gemini.md","blog\u002Fwhatsapp-ai-chatbot-python-gemini.md","blog\u002Fwhatsapp-ai-chatbot-python-gemini",{"loc":89},{"_path":93,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":94,"description":95,"date":66672,"author":10935,"category":22,"_slug":66673,"image":66674,"body":66675,"_type":4187,"_id":71616,"_source":4189,"_file":71617,"_stem":71618,"_extension":4192,"sitemap":71619},"2026-03-05","whatsapp-api-java-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-java-rapiwa.svg",{"type":423,"children":66676,"toc":71607},[66677,66712,66716,66757,66771,68461,68467,68475,68592,68600,68622,69916,69922,69930,70092,70100,70135,71216,71224,71317,71324,71400,71404,71486,71490,71515,71524,71550,71586,71603],{"type":426,"tag":427,"props":66678,"children":66679},{},[66680,66682,66688,66690,66696,66697,66703,66705,66710],{"type":431,"value":66681},"You can send WhatsApp messages from Java using Rapiwa API with ",{"type":426,"tag":549,"props":66683,"children":66685},{"className":66684},[],[66686],{"type":431,"value":66687},"java.net.http.HttpClient",{"type":431,"value":66689}," (Java 11+) or Spring Boot's ",{"type":426,"tag":549,"props":66691,"children":66693},{"className":66692},[],[66694],{"type":431,"value":66695},"RestTemplate",{"type":431,"value":18503},{"type":426,"tag":549,"props":66698,"children":66700},{"className":66699},[],[66701],{"type":431,"value":66702},"WebClient",{"type":431,"value":66704},". Post a JSON body to ",{"type":426,"tag":549,"props":66706,"children":66708},{"className":66707},[],[66709],{"type":431,"value":48098},{"type":431,"value":66711}," with your Bearer token, recipient number, and message. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":66713,"children":66714},{"id":47624},[66715],{"type":431,"value":47627},{"type":426,"tag":454,"props":66717,"children":66718},{},[66719,66729,66733,66744],{"type":426,"tag":458,"props":66720,"children":66721},{},[66722,66723,66728],{"type":431,"value":48828},{"type":426,"tag":3819,"props":66724,"children":66726},{"href":3821,"rel":66725},[3823],[66727],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":66730,"children":66731},{},[66732],{"type":431,"value":48840},{"type":426,"tag":458,"props":66734,"children":66735},{},[66736,66738,66743],{"type":431,"value":66737},"Java 11+ (for ",{"type":426,"tag":549,"props":66739,"children":66741},{"className":66740},[],[66742],{"type":431,"value":66687},{"type":431,"value":5736},{"type":426,"tag":458,"props":66745,"children":66746},{},[66747,66749,66755],{"type":431,"value":66748},"Jackson or Gson for JSON serialization (or use ",{"type":426,"tag":549,"props":66750,"children":66752},{"className":66751},[],[66753],{"type":431,"value":66754},"org.json",{"type":431,"value":66756}," for minimal dependencies)",{"type":426,"tag":434,"props":66758,"children":66760},{"id":66759},"method-1-java-11-javanethttp-no-external-libraries",[66761,66763,66769],{"type":431,"value":66762},"Method 1: Java 11+ ",{"type":426,"tag":549,"props":66764,"children":66766},{"className":66765},[],[66767],{"type":431,"value":66768},"java.net.http",{"type":431,"value":66770}," (No External Libraries)",{"type":426,"tag":542,"props":66772,"children":66774},{"className":60808,"code":66773,"language":60807,"meta":417,"style":417},"import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.time.Duration;\n\npublic class RapiwaClient {\n\n    private static final String API_URL = \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\";\n    private final String apiKey;\n    private final HttpClient httpClient;\n\n    public RapiwaClient(String apiKey) {\n        this.apiKey = apiKey;\n        this.httpClient = HttpClient.newBuilder()\n                .connectTimeout(Duration.ofSeconds(10))\n                .build();\n    }\n\n    \u002F**\n     * Send a WhatsApp text message via Rapiwa API.\n     *\n     * @param phone   Recipient phone in international format (e.g., \"8801234567890\")\n     * @param message WhatsApp-formatted text message\n     * @return true if message was sent successfully\n     *\u002F\n    public boolean sendMessage(String phone, String message) throws Exception {\n        String jsonBody = String.format(\n            \"{\\\"number\\\":\\\"%s\\\",\\\"message\\\":\\\"%s\\\"}\",\n            phone,\n            message.replace(\"\\\"\", \"\\\\\\\"\").replace(\"\\n\", \"\\\\n\")\n        );\n\n        HttpRequest request = HttpRequest.newBuilder()\n                .uri(URI.create(API_URL))\n                .timeout(Duration.ofSeconds(15))\n                .header(\"Authorization\", \"Bearer \" + apiKey)\n                .header(\"Content-Type\", \"application\u002Fjson\")\n                .POST(HttpRequest.BodyPublishers.ofString(jsonBody))\n                .build();\n\n        HttpResponse\u003CString> response = httpClient.send(\n            request,\n            HttpResponse.BodyHandlers.ofString()\n        );\n\n        if (response.statusCode() == 401) {\n            throw new SecurityException(\"Invalid Rapiwa API key. Check your credentials.\");\n        }\n\n        if (response.statusCode() == 400) {\n            throw new IllegalArgumentException(\"Bad request: \" + response.body());\n        }\n\n        \u002F\u002F Parse response — simple string check for no-dependency implementation\n        String body = response.body();\n        boolean success = body.contains(\"\\\"status\\\":\\\"success\\\"\");\n\n        if (success) {\n            \u002F\u002F Extract messageId (simple parsing without JSON library)\n            int start = body.indexOf(\"\\\"messageId\\\":\\\"\") + 13;\n            int end = body.indexOf(\"\\\"\", start);\n            String messageId = (start > 12) ? body.substring(start, end) : \"unknown\";\n            System.out.println(\"Message sent! ID: \" + messageId);\n        }\n\n        return success;\n    }\n\n    public static void main(String[] args) throws Exception {\n        RapiwaClient client = new RapiwaClient(\"YOUR_API_KEY\");\n\n        boolean sent = client.sendMessage(\n            \"8801234567890\",\n            \"Hello from Java! This was sent using Rapiwa API.\"\n        );\n\n        System.out.println(\"Sent: \" + sent);\n    }\n}\n",[66775],{"type":426,"tag":549,"props":66776,"children":66777},{"__ignoreMap":417},[66778,66790,66802,66814,66826,66838,66845,66865,66872,66904,66920,66936,66943,66966,66988,67018,67053,67069,67076,67083,67090,67098,67106,67128,67148,67165,67172,67219,67244,67321,67329,67421,67429,67436,67461,67488,67521,67559,67592,67619,67634,67641,67675,67683,67699,67706,67713,67746,67776,67783,67790,67822,67864,67871,67878,67886,67910,67983,67990,68002,68010,68085,68130,68192,68223,68230,68237,68249,68256,68263,68313,68346,68353,68383,68395,68403,68410,68417,68447,68454],{"type":426,"tag":553,"props":66779,"children":66780},{"class":555,"line":556},[66781,66785],{"type":426,"tag":553,"props":66782,"children":66783},{"style":795},[66784],{"type":431,"value":798},{"type":426,"tag":553,"props":66786,"children":66787},{"style":684},[66788],{"type":431,"value":66789}," java.net.URI;\n",{"type":426,"tag":553,"props":66791,"children":66792},{"class":555,"line":588},[66793,66797],{"type":426,"tag":553,"props":66794,"children":66795},{"style":795},[66796],{"type":431,"value":798},{"type":426,"tag":553,"props":66798,"children":66799},{"style":684},[66800],{"type":431,"value":66801}," java.net.http.HttpClient;\n",{"type":426,"tag":553,"props":66803,"children":66804},{"class":555,"line":606},[66805,66809],{"type":426,"tag":553,"props":66806,"children":66807},{"style":795},[66808],{"type":431,"value":798},{"type":426,"tag":553,"props":66810,"children":66811},{"style":684},[66812],{"type":431,"value":66813}," java.net.http.HttpRequest;\n",{"type":426,"tag":553,"props":66815,"children":66816},{"class":555,"line":623},[66817,66821],{"type":426,"tag":553,"props":66818,"children":66819},{"style":795},[66820],{"type":431,"value":798},{"type":426,"tag":553,"props":66822,"children":66823},{"style":684},[66824],{"type":431,"value":66825}," java.net.http.HttpResponse;\n",{"type":426,"tag":553,"props":66827,"children":66828},{"class":555,"line":637},[66829,66833],{"type":426,"tag":553,"props":66830,"children":66831},{"style":795},[66832],{"type":431,"value":798},{"type":426,"tag":553,"props":66834,"children":66835},{"style":684},[66836],{"type":431,"value":66837}," java.time.Duration;\n",{"type":426,"tag":553,"props":66839,"children":66840},{"class":555,"line":646},[66841],{"type":426,"tag":553,"props":66842,"children":66843},{"emptyLinePlaceholder":831},[66844],{"type":431,"value":834},{"type":426,"tag":553,"props":66846,"children":66847},{"class":555,"line":655},[66848,66852,66856,66861],{"type":426,"tag":553,"props":66849,"children":66850},{"style":795},[66851],{"type":431,"value":60828},{"type":426,"tag":553,"props":66853,"children":66854},{"style":795},[66855],{"type":431,"value":60833},{"type":426,"tag":553,"props":66857,"children":66858},{"style":560},[66859],{"type":431,"value":66860}," RapiwaClient",{"type":426,"tag":553,"props":66862,"children":66863},{"style":684},[66864],{"type":431,"value":5458},{"type":426,"tag":553,"props":66866,"children":66867},{"class":555,"line":1036},[66868],{"type":426,"tag":553,"props":66869,"children":66870},{"emptyLinePlaceholder":831},[66871],{"type":431,"value":834},{"type":426,"tag":553,"props":66873,"children":66874},{"class":555,"line":1054},[66875,66879,66883,66887,66891,66895,66900],{"type":426,"tag":553,"props":66876,"children":66877},{"style":795},[66878],{"type":431,"value":60857},{"type":426,"tag":553,"props":66880,"children":66881},{"style":795},[66882],{"type":431,"value":60862},{"type":426,"tag":553,"props":66884,"children":66885},{"style":795},[66886],{"type":431,"value":60867},{"type":426,"tag":553,"props":66888,"children":66889},{"style":684},[66890],{"type":431,"value":60872},{"type":426,"tag":553,"props":66892,"children":66893},{"style":795},[66894],{"type":431,"value":957},{"type":426,"tag":553,"props":66896,"children":66897},{"style":572},[66898],{"type":431,"value":66899}," \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"",{"type":426,"tag":553,"props":66901,"children":66902},{"style":684},[66903],{"type":431,"value":52321},{"type":426,"tag":553,"props":66905,"children":66906},{"class":555,"line":1080},[66907,66911,66915],{"type":426,"tag":553,"props":66908,"children":66909},{"style":795},[66910],{"type":431,"value":60857},{"type":426,"tag":553,"props":66912,"children":66913},{"style":795},[66914],{"type":431,"value":60867},{"type":426,"tag":553,"props":66916,"children":66917},{"style":684},[66918],{"type":431,"value":66919}," String apiKey;\n",{"type":426,"tag":553,"props":66921,"children":66922},{"class":555,"line":1097},[66923,66927,66931],{"type":426,"tag":553,"props":66924,"children":66925},{"style":795},[66926],{"type":431,"value":60857},{"type":426,"tag":553,"props":66928,"children":66929},{"style":795},[66930],{"type":431,"value":60867},{"type":426,"tag":553,"props":66932,"children":66933},{"style":684},[66934],{"type":431,"value":66935}," HttpClient httpClient;\n",{"type":426,"tag":553,"props":66937,"children":66938},{"class":555,"line":1114},[66939],{"type":426,"tag":553,"props":66940,"children":66941},{"emptyLinePlaceholder":831},[66942],{"type":431,"value":834},{"type":426,"tag":553,"props":66944,"children":66945},{"class":555,"line":1127},[66946,66950,66954,66958,66962],{"type":426,"tag":553,"props":66947,"children":66948},{"style":795},[66949],{"type":431,"value":61004},{"type":426,"tag":553,"props":66951,"children":66952},{"style":560},[66953],{"type":431,"value":66860},{"type":426,"tag":553,"props":66955,"children":66956},{"style":684},[66957],{"type":431,"value":61023},{"type":426,"tag":553,"props":66959,"children":66960},{"style":1684},[66961],{"type":431,"value":55851},{"type":426,"tag":553,"props":66963,"children":66964},{"style":684},[66965],{"type":431,"value":52385},{"type":426,"tag":553,"props":66967,"children":66968},{"class":555,"line":1167},[66969,66974,66979,66983],{"type":426,"tag":553,"props":66970,"children":66971},{"style":566},[66972],{"type":431,"value":66973},"        this",{"type":426,"tag":553,"props":66975,"children":66976},{"style":684},[66977],{"type":431,"value":66978},".apiKey ",{"type":426,"tag":553,"props":66980,"children":66981},{"style":795},[66982],{"type":431,"value":957},{"type":426,"tag":553,"props":66984,"children":66985},{"style":684},[66986],{"type":431,"value":66987}," apiKey;\n",{"type":426,"tag":553,"props":66989,"children":66990},{"class":555,"line":1184},[66991,66995,67000,67004,67009,67014],{"type":426,"tag":553,"props":66992,"children":66993},{"style":566},[66994],{"type":431,"value":66973},{"type":426,"tag":553,"props":66996,"children":66997},{"style":684},[66998],{"type":431,"value":66999},".httpClient ",{"type":426,"tag":553,"props":67001,"children":67002},{"style":795},[67003],{"type":431,"value":957},{"type":426,"tag":553,"props":67005,"children":67006},{"style":684},[67007],{"type":431,"value":67008}," HttpClient.",{"type":426,"tag":553,"props":67010,"children":67011},{"style":560},[67012],{"type":431,"value":67013},"newBuilder",{"type":426,"tag":553,"props":67015,"children":67016},{"style":684},[67017],{"type":431,"value":11683},{"type":426,"tag":553,"props":67019,"children":67020},{"class":555,"line":1192},[67021,67026,67031,67036,67041,67045,67049],{"type":426,"tag":553,"props":67022,"children":67023},{"style":684},[67024],{"type":431,"value":67025},"                .",{"type":426,"tag":553,"props":67027,"children":67028},{"style":560},[67029],{"type":431,"value":67030},"connectTimeout",{"type":426,"tag":553,"props":67032,"children":67033},{"style":684},[67034],{"type":431,"value":67035},"(Duration.",{"type":426,"tag":553,"props":67037,"children":67038},{"style":560},[67039],{"type":431,"value":67040},"ofSeconds",{"type":426,"tag":553,"props":67042,"children":67043},{"style":684},[67044],{"type":431,"value":3275},{"type":426,"tag":553,"props":67046,"children":67047},{"style":566},[67048],{"type":431,"value":11479},{"type":426,"tag":553,"props":67050,"children":67051},{"style":684},[67052],{"type":431,"value":6538},{"type":426,"tag":553,"props":67054,"children":67055},{"class":555,"line":1210},[67056,67060,67065],{"type":426,"tag":553,"props":67057,"children":67058},{"style":684},[67059],{"type":431,"value":67025},{"type":426,"tag":553,"props":67061,"children":67062},{"style":560},[67063],{"type":431,"value":67064},"build",{"type":426,"tag":553,"props":67066,"children":67067},{"style":684},[67068],{"type":431,"value":53227},{"type":426,"tag":553,"props":67070,"children":67071},{"class":555,"line":1253},[67072],{"type":426,"tag":553,"props":67073,"children":67074},{"style":684},[67075],{"type":431,"value":5546},{"type":426,"tag":553,"props":67077,"children":67078},{"class":555,"line":1302},[67079],{"type":426,"tag":553,"props":67080,"children":67081},{"emptyLinePlaceholder":831},[67082],{"type":431,"value":834},{"type":426,"tag":553,"props":67084,"children":67085},{"class":555,"line":1374},[67086],{"type":426,"tag":553,"props":67087,"children":67088},{"style":1975},[67089],{"type":431,"value":60938},{"type":426,"tag":553,"props":67091,"children":67092},{"class":555,"line":1414},[67093],{"type":426,"tag":553,"props":67094,"children":67095},{"style":1975},[67096],{"type":431,"value":67097},"     * Send a WhatsApp text message via Rapiwa API.\n",{"type":426,"tag":553,"props":67099,"children":67100},{"class":555,"line":1479},[67101],{"type":426,"tag":553,"props":67102,"children":67103},{"style":1975},[67104],{"type":431,"value":67105},"     *\n",{"type":426,"tag":553,"props":67107,"children":67108},{"class":555,"line":1517},[67109,67114,67119,67123],{"type":426,"tag":553,"props":67110,"children":67111},{"style":1975},[67112],{"type":431,"value":67113},"     * ",{"type":426,"tag":553,"props":67115,"children":67116},{"style":795},[67117],{"type":431,"value":67118},"@param",{"type":426,"tag":553,"props":67120,"children":67121},{"style":1684},[67122],{"type":431,"value":55668},{"type":426,"tag":553,"props":67124,"children":67125},{"style":1975},[67126],{"type":431,"value":67127},"   Recipient phone in international format (e.g., \"8801234567890\")\n",{"type":426,"tag":553,"props":67129,"children":67130},{"class":555,"line":1560},[67131,67135,67139,67143],{"type":426,"tag":553,"props":67132,"children":67133},{"style":1975},[67134],{"type":431,"value":67113},{"type":426,"tag":553,"props":67136,"children":67137},{"style":795},[67138],{"type":431,"value":67118},{"type":426,"tag":553,"props":67140,"children":67141},{"style":1684},[67142],{"type":431,"value":55741},{"type":426,"tag":553,"props":67144,"children":67145},{"style":1975},[67146],{"type":431,"value":67147}," WhatsApp-formatted text message\n",{"type":426,"tag":553,"props":67149,"children":67150},{"class":555,"line":1598},[67151,67155,67160],{"type":426,"tag":553,"props":67152,"children":67153},{"style":1975},[67154],{"type":431,"value":67113},{"type":426,"tag":553,"props":67156,"children":67157},{"style":795},[67158],{"type":431,"value":67159},"@return",{"type":426,"tag":553,"props":67161,"children":67162},{"style":1975},[67163],{"type":431,"value":67164}," true if message was sent successfully\n",{"type":426,"tag":553,"props":67166,"children":67167},{"class":555,"line":1636},[67168],{"type":426,"tag":553,"props":67169,"children":67170},{"style":1975},[67171],{"type":431,"value":60962},{"type":426,"tag":553,"props":67173,"children":67174},{"class":555,"line":1645},[67175,67179,67184,67189,67193,67197,67201,67205,67209,67214],{"type":426,"tag":553,"props":67176,"children":67177},{"style":795},[67178],{"type":431,"value":61004},{"type":426,"tag":553,"props":67180,"children":67181},{"style":795},[67182],{"type":431,"value":67183}," boolean",{"type":426,"tag":553,"props":67185,"children":67186},{"style":560},[67187],{"type":431,"value":67188}," sendMessage",{"type":426,"tag":553,"props":67190,"children":67191},{"style":684},[67192],{"type":431,"value":61023},{"type":426,"tag":553,"props":67194,"children":67195},{"style":1684},[67196],{"type":431,"value":37598},{"type":426,"tag":553,"props":67198,"children":67199},{"style":684},[67200],{"type":431,"value":61032},{"type":426,"tag":553,"props":67202,"children":67203},{"style":1684},[67204],{"type":431,"value":2734},{"type":426,"tag":553,"props":67206,"children":67207},{"style":684},[67208],{"type":431,"value":2987},{"type":426,"tag":553,"props":67210,"children":67211},{"style":795},[67212],{"type":431,"value":67213},"throws",{"type":426,"tag":553,"props":67215,"children":67216},{"style":684},[67217],{"type":431,"value":67218}," Exception {\n",{"type":426,"tag":553,"props":67220,"children":67221},{"class":555,"line":1653},[67222,67227,67231,67236,67240],{"type":426,"tag":553,"props":67223,"children":67224},{"style":684},[67225],{"type":431,"value":67226},"        String jsonBody ",{"type":426,"tag":553,"props":67228,"children":67229},{"style":795},[67230],{"type":431,"value":957},{"type":426,"tag":553,"props":67232,"children":67233},{"style":684},[67234],{"type":431,"value":67235}," String.",{"type":426,"tag":553,"props":67237,"children":67238},{"style":560},[67239],{"type":431,"value":50029},{"type":426,"tag":553,"props":67241,"children":67242},{"style":684},[67243],{"type":431,"value":3172},{"type":426,"tag":553,"props":67245,"children":67246},{"class":555,"line":1667},[67247,67252,67256,67260,67264,67268,67272,67276,67280,67284,67288,67292,67296,67300,67304,67308,67312,67317],{"type":426,"tag":553,"props":67248,"children":67249},{"style":572},[67250],{"type":431,"value":67251},"            \"{",{"type":426,"tag":553,"props":67253,"children":67254},{"style":566},[67255],{"type":431,"value":39200},{"type":426,"tag":553,"props":67257,"children":67258},{"style":572},[67259],{"type":431,"value":39195},{"type":426,"tag":553,"props":67261,"children":67262},{"style":566},[67263],{"type":431,"value":39200},{"type":426,"tag":553,"props":67265,"children":67266},{"style":572},[67267],{"type":431,"value":19071},{"type":426,"tag":553,"props":67269,"children":67270},{"style":566},[67271],{"type":431,"value":39200},{"type":426,"tag":553,"props":67273,"children":67274},{"style":572},[67275],{"type":431,"value":2143},{"type":426,"tag":553,"props":67277,"children":67278},{"style":566},[67279],{"type":431,"value":39200},{"type":426,"tag":553,"props":67281,"children":67282},{"style":572},[67283],{"type":431,"value":1290},{"type":426,"tag":553,"props":67285,"children":67286},{"style":566},[67287],{"type":431,"value":39200},{"type":426,"tag":553,"props":67289,"children":67290},{"style":572},[67291],{"type":431,"value":2734},{"type":426,"tag":553,"props":67293,"children":67294},{"style":566},[67295],{"type":431,"value":39200},{"type":426,"tag":553,"props":67297,"children":67298},{"style":572},[67299],{"type":431,"value":19071},{"type":426,"tag":553,"props":67301,"children":67302},{"style":566},[67303],{"type":431,"value":39200},{"type":426,"tag":553,"props":67305,"children":67306},{"style":572},[67307],{"type":431,"value":2143},{"type":426,"tag":553,"props":67309,"children":67310},{"style":566},[67311],{"type":431,"value":39200},{"type":426,"tag":553,"props":67313,"children":67314},{"style":572},[67315],{"type":431,"value":67316},"}\"",{"type":426,"tag":553,"props":67318,"children":67319},{"style":684},[67320],{"type":431,"value":710},{"type":426,"tag":553,"props":67322,"children":67323},{"class":555,"line":1680},[67324],{"type":426,"tag":553,"props":67325,"children":67326},{"style":684},[67327],{"type":431,"value":67328},"            phone,\n",{"type":426,"tag":553,"props":67330,"children":67331},{"class":555,"line":1740},[67332,67337,67342,67346,67350,67354,67358,67362,67366,67371,67375,67379,67383,67387,67391,67395,67399,67403,67407,67412,67417],{"type":426,"tag":553,"props":67333,"children":67334},{"style":684},[67335],{"type":431,"value":67336},"            message.",{"type":426,"tag":553,"props":67338,"children":67339},{"style":560},[67340],{"type":431,"value":67341},"replace",{"type":426,"tag":553,"props":67343,"children":67344},{"style":684},[67345],{"type":431,"value":3275},{"type":426,"tag":553,"props":67347,"children":67348},{"style":572},[67349],{"type":431,"value":1527},{"type":426,"tag":553,"props":67351,"children":67352},{"style":566},[67353],{"type":431,"value":39200},{"type":426,"tag":553,"props":67355,"children":67356},{"style":572},[67357],{"type":431,"value":1527},{"type":426,"tag":553,"props":67359,"children":67360},{"style":684},[67361],{"type":431,"value":1907},{"type":426,"tag":553,"props":67363,"children":67364},{"style":572},[67365],{"type":431,"value":1527},{"type":426,"tag":553,"props":67367,"children":67368},{"style":566},[67369],{"type":431,"value":67370},"\\\\\\\"",{"type":426,"tag":553,"props":67372,"children":67373},{"style":572},[67374],{"type":431,"value":1527},{"type":426,"tag":553,"props":67376,"children":67377},{"style":684},[67378],{"type":431,"value":53330},{"type":426,"tag":553,"props":67380,"children":67381},{"style":560},[67382],{"type":431,"value":67341},{"type":426,"tag":553,"props":67384,"children":67385},{"style":684},[67386],{"type":431,"value":3275},{"type":426,"tag":553,"props":67388,"children":67389},{"style":572},[67390],{"type":431,"value":1527},{"type":426,"tag":553,"props":67392,"children":67393},{"style":566},[67394],{"type":431,"value":3661},{"type":426,"tag":553,"props":67396,"children":67397},{"style":572},[67398],{"type":431,"value":1527},{"type":426,"tag":553,"props":67400,"children":67401},{"style":684},[67402],{"type":431,"value":1907},{"type":426,"tag":553,"props":67404,"children":67405},{"style":572},[67406],{"type":431,"value":1527},{"type":426,"tag":553,"props":67408,"children":67409},{"style":566},[67410],{"type":431,"value":67411},"\\\\",{"type":426,"tag":553,"props":67413,"children":67414},{"style":572},[67415],{"type":431,"value":67416},"n\"",{"type":426,"tag":553,"props":67418,"children":67419},{"style":684},[67420],{"type":431,"value":3262},{"type":426,"tag":553,"props":67422,"children":67423},{"class":555,"line":1787},[67424],{"type":426,"tag":553,"props":67425,"children":67426},{"style":684},[67427],{"type":431,"value":67428},"        );\n",{"type":426,"tag":553,"props":67430,"children":67431},{"class":555,"line":1796},[67432],{"type":426,"tag":553,"props":67433,"children":67434},{"emptyLinePlaceholder":831},[67435],{"type":431,"value":834},{"type":426,"tag":553,"props":67437,"children":67438},{"class":555,"line":1804},[67439,67444,67448,67453,67457],{"type":426,"tag":553,"props":67440,"children":67441},{"style":684},[67442],{"type":431,"value":67443},"        HttpRequest request ",{"type":426,"tag":553,"props":67445,"children":67446},{"style":795},[67447],{"type":431,"value":957},{"type":426,"tag":553,"props":67449,"children":67450},{"style":684},[67451],{"type":431,"value":67452}," HttpRequest.",{"type":426,"tag":553,"props":67454,"children":67455},{"style":560},[67456],{"type":431,"value":67013},{"type":426,"tag":553,"props":67458,"children":67459},{"style":684},[67460],{"type":431,"value":11683},{"type":426,"tag":553,"props":67462,"children":67463},{"class":555,"line":1812},[67464,67468,67473,67478,67483],{"type":426,"tag":553,"props":67465,"children":67466},{"style":684},[67467],{"type":431,"value":67025},{"type":426,"tag":553,"props":67469,"children":67470},{"style":560},[67471],{"type":431,"value":67472},"uri",{"type":426,"tag":553,"props":67474,"children":67475},{"style":684},[67476],{"type":431,"value":67477},"(URI.",{"type":426,"tag":553,"props":67479,"children":67480},{"style":560},[67481],{"type":431,"value":67482},"create",{"type":426,"tag":553,"props":67484,"children":67485},{"style":684},[67486],{"type":431,"value":67487},"(API_URL))\n",{"type":426,"tag":553,"props":67489,"children":67490},{"class":555,"line":1847},[67491,67495,67500,67504,67508,67512,67517],{"type":426,"tag":553,"props":67492,"children":67493},{"style":684},[67494],{"type":431,"value":67025},{"type":426,"tag":553,"props":67496,"children":67497},{"style":560},[67498],{"type":431,"value":67499},"timeout",{"type":426,"tag":553,"props":67501,"children":67502},{"style":684},[67503],{"type":431,"value":67035},{"type":426,"tag":553,"props":67505,"children":67506},{"style":560},[67507],{"type":431,"value":67040},{"type":426,"tag":553,"props":67509,"children":67510},{"style":684},[67511],{"type":431,"value":3275},{"type":426,"tag":553,"props":67513,"children":67514},{"style":566},[67515],{"type":431,"value":67516},"15",{"type":426,"tag":553,"props":67518,"children":67519},{"style":684},[67520],{"type":431,"value":6538},{"type":426,"tag":553,"props":67522,"children":67523},{"class":555,"line":1856},[67524,67528,67533,67537,67541,67545,67550,67554],{"type":426,"tag":553,"props":67525,"children":67526},{"style":684},[67527],{"type":431,"value":67025},{"type":426,"tag":553,"props":67529,"children":67530},{"style":560},[67531],{"type":431,"value":67532},"header",{"type":426,"tag":553,"props":67534,"children":67535},{"style":684},[67536],{"type":431,"value":3275},{"type":426,"tag":553,"props":67538,"children":67539},{"style":572},[67540],{"type":431,"value":45214},{"type":426,"tag":553,"props":67542,"children":67543},{"style":684},[67544],{"type":431,"value":1907},{"type":426,"tag":553,"props":67546,"children":67547},{"style":572},[67548],{"type":431,"value":67549},"\"Bearer \"",{"type":426,"tag":553,"props":67551,"children":67552},{"style":795},[67553],{"type":431,"value":61140},{"type":426,"tag":553,"props":67555,"children":67556},{"style":684},[67557],{"type":431,"value":67558}," apiKey)\n",{"type":426,"tag":553,"props":67560,"children":67561},{"class":555,"line":1874},[67562,67566,67570,67574,67579,67583,67588],{"type":426,"tag":553,"props":67563,"children":67564},{"style":684},[67565],{"type":431,"value":67025},{"type":426,"tag":553,"props":67567,"children":67568},{"style":560},[67569],{"type":431,"value":67532},{"type":426,"tag":553,"props":67571,"children":67572},{"style":684},[67573],{"type":431,"value":3275},{"type":426,"tag":553,"props":67575,"children":67576},{"style":572},[67577],{"type":431,"value":67578},"\"Content-Type\"",{"type":426,"tag":553,"props":67580,"children":67581},{"style":684},[67582],{"type":431,"value":1907},{"type":426,"tag":553,"props":67584,"children":67585},{"style":572},[67586],{"type":431,"value":67587},"\"application\u002Fjson\"",{"type":426,"tag":553,"props":67589,"children":67590},{"style":684},[67591],{"type":431,"value":3262},{"type":426,"tag":553,"props":67593,"children":67594},{"class":555,"line":1882},[67595,67599,67604,67609,67614],{"type":426,"tag":553,"props":67596,"children":67597},{"style":684},[67598],{"type":431,"value":67025},{"type":426,"tag":553,"props":67600,"children":67601},{"style":560},[67602],{"type":431,"value":67603},"POST",{"type":426,"tag":553,"props":67605,"children":67606},{"style":684},[67607],{"type":431,"value":67608},"(HttpRequest.BodyPublishers.",{"type":426,"tag":553,"props":67610,"children":67611},{"style":560},[67612],{"type":431,"value":67613},"ofString",{"type":426,"tag":553,"props":67615,"children":67616},{"style":684},[67617],{"type":431,"value":67618},"(jsonBody))\n",{"type":426,"tag":553,"props":67620,"children":67621},{"class":555,"line":1981},[67622,67626,67630],{"type":426,"tag":553,"props":67623,"children":67624},{"style":684},[67625],{"type":431,"value":67025},{"type":426,"tag":553,"props":67627,"children":67628},{"style":560},[67629],{"type":431,"value":67064},{"type":426,"tag":553,"props":67631,"children":67632},{"style":684},[67633],{"type":431,"value":53227},{"type":426,"tag":553,"props":67635,"children":67636},{"class":555,"line":1989},[67637],{"type":426,"tag":553,"props":67638,"children":67639},{"emptyLinePlaceholder":831},[67640],{"type":431,"value":834},{"type":426,"tag":553,"props":67642,"children":67643},{"class":555,"line":2013},[67644,67649,67653,67658,67662,67667,67671],{"type":426,"tag":553,"props":67645,"children":67646},{"style":684},[67647],{"type":431,"value":67648},"        HttpResponse\u003C",{"type":426,"tag":553,"props":67650,"children":67651},{"style":795},[67652],{"type":431,"value":61237},{"type":426,"tag":553,"props":67654,"children":67655},{"style":684},[67656],{"type":431,"value":67657},"> response ",{"type":426,"tag":553,"props":67659,"children":67660},{"style":795},[67661],{"type":431,"value":957},{"type":426,"tag":553,"props":67663,"children":67664},{"style":684},[67665],{"type":431,"value":67666}," httpClient.",{"type":426,"tag":553,"props":67668,"children":67669},{"style":560},[67670],{"type":431,"value":52593},{"type":426,"tag":553,"props":67672,"children":67673},{"style":684},[67674],{"type":431,"value":3172},{"type":426,"tag":553,"props":67676,"children":67677},{"class":555,"line":2055},[67678],{"type":426,"tag":553,"props":67679,"children":67680},{"style":684},[67681],{"type":431,"value":67682},"            request,\n",{"type":426,"tag":553,"props":67684,"children":67685},{"class":555,"line":2064},[67686,67691,67695],{"type":426,"tag":553,"props":67687,"children":67688},{"style":684},[67689],{"type":431,"value":67690},"            HttpResponse.BodyHandlers.",{"type":426,"tag":553,"props":67692,"children":67693},{"style":560},[67694],{"type":431,"value":67613},{"type":426,"tag":553,"props":67696,"children":67697},{"style":684},[67698],{"type":431,"value":11683},{"type":426,"tag":553,"props":67700,"children":67701},{"class":555,"line":2087},[67702],{"type":426,"tag":553,"props":67703,"children":67704},{"style":684},[67705],{"type":431,"value":67428},{"type":426,"tag":553,"props":67707,"children":67708},{"class":555,"line":2096},[67709],{"type":426,"tag":553,"props":67710,"children":67711},{"emptyLinePlaceholder":831},[67712],{"type":431,"value":834},{"type":426,"tag":553,"props":67714,"children":67715},{"class":555,"line":2105},[67716,67720,67725,67730,67734,67738,67742],{"type":426,"tag":553,"props":67717,"children":67718},{"style":795},[67719],{"type":431,"value":2972},{"type":426,"tag":553,"props":67721,"children":67722},{"style":684},[67723],{"type":431,"value":67724}," (response.",{"type":426,"tag":553,"props":67726,"children":67727},{"style":560},[67728],{"type":431,"value":67729},"statusCode",{"type":426,"tag":553,"props":67731,"children":67732},{"style":684},[67733],{"type":431,"value":61573},{"type":426,"tag":553,"props":67735,"children":67736},{"style":795},[67737],{"type":431,"value":1069},{"type":426,"tag":553,"props":67739,"children":67740},{"style":566},[67741],{"type":431,"value":8994},{"type":426,"tag":553,"props":67743,"children":67744},{"style":684},[67745],{"type":431,"value":52385},{"type":426,"tag":553,"props":67747,"children":67748},{"class":555,"line":2114},[67749,67754,67758,67763,67767,67772],{"type":426,"tag":553,"props":67750,"children":67751},{"style":795},[67752],{"type":431,"value":67753},"            throw",{"type":426,"tag":553,"props":67755,"children":67756},{"style":795},[67757],{"type":431,"value":52275},{"type":426,"tag":553,"props":67759,"children":67760},{"style":560},[67761],{"type":431,"value":67762}," SecurityException",{"type":426,"tag":553,"props":67764,"children":67765},{"style":684},[67766],{"type":431,"value":3275},{"type":426,"tag":553,"props":67768,"children":67769},{"style":572},[67770],{"type":431,"value":67771},"\"Invalid Rapiwa API key. Check your credentials.\"",{"type":426,"tag":553,"props":67773,"children":67774},{"style":684},[67775],{"type":431,"value":11379},{"type":426,"tag":553,"props":67777,"children":67778},{"class":555,"line":2123},[67779],{"type":426,"tag":553,"props":67780,"children":67781},{"style":684},[67782],{"type":431,"value":15075},{"type":426,"tag":553,"props":67784,"children":67785},{"class":555,"line":2132},[67786],{"type":426,"tag":553,"props":67787,"children":67788},{"emptyLinePlaceholder":831},[67789],{"type":431,"value":834},{"type":426,"tag":553,"props":67791,"children":67792},{"class":555,"line":2151},[67793,67797,67801,67805,67809,67813,67818],{"type":426,"tag":553,"props":67794,"children":67795},{"style":795},[67796],{"type":431,"value":2972},{"type":426,"tag":553,"props":67798,"children":67799},{"style":684},[67800],{"type":431,"value":67724},{"type":426,"tag":553,"props":67802,"children":67803},{"style":560},[67804],{"type":431,"value":67729},{"type":426,"tag":553,"props":67806,"children":67807},{"style":684},[67808],{"type":431,"value":61573},{"type":426,"tag":553,"props":67810,"children":67811},{"style":795},[67812],{"type":431,"value":1069},{"type":426,"tag":553,"props":67814,"children":67815},{"style":566},[67816],{"type":431,"value":67817}," 400",{"type":426,"tag":553,"props":67819,"children":67820},{"style":684},[67821],{"type":431,"value":52385},{"type":426,"tag":553,"props":67823,"children":67824},{"class":555,"line":2160},[67825,67829,67833,67838,67842,67847,67851,67855,67860],{"type":426,"tag":553,"props":67826,"children":67827},{"style":795},[67828],{"type":431,"value":67753},{"type":426,"tag":553,"props":67830,"children":67831},{"style":795},[67832],{"type":431,"value":52275},{"type":426,"tag":553,"props":67834,"children":67835},{"style":560},[67836],{"type":431,"value":67837}," IllegalArgumentException",{"type":426,"tag":553,"props":67839,"children":67840},{"style":684},[67841],{"type":431,"value":3275},{"type":426,"tag":553,"props":67843,"children":67844},{"style":572},[67845],{"type":431,"value":67846},"\"Bad request: \"",{"type":426,"tag":553,"props":67848,"children":67849},{"style":795},[67850],{"type":431,"value":61140},{"type":426,"tag":553,"props":67852,"children":67853},{"style":684},[67854],{"type":431,"value":53218},{"type":426,"tag":553,"props":67856,"children":67857},{"style":560},[67858],{"type":431,"value":67859},"body",{"type":426,"tag":553,"props":67861,"children":67862},{"style":684},[67863],{"type":431,"value":61503},{"type":426,"tag":553,"props":67865,"children":67866},{"class":555,"line":2174},[67867],{"type":426,"tag":553,"props":67868,"children":67869},{"style":684},[67870],{"type":431,"value":15075},{"type":426,"tag":553,"props":67872,"children":67873},{"class":555,"line":2182},[67874],{"type":426,"tag":553,"props":67875,"children":67876},{"emptyLinePlaceholder":831},[67877],{"type":431,"value":834},{"type":426,"tag":553,"props":67879,"children":67880},{"class":555,"line":2205},[67881],{"type":426,"tag":553,"props":67882,"children":67883},{"style":1975},[67884],{"type":431,"value":67885},"        \u002F\u002F Parse response — simple string check for no-dependency implementation\n",{"type":426,"tag":553,"props":67887,"children":67888},{"class":555,"line":2241},[67889,67894,67898,67902,67906],{"type":426,"tag":553,"props":67890,"children":67891},{"style":684},[67892],{"type":431,"value":67893},"        String body ",{"type":426,"tag":553,"props":67895,"children":67896},{"style":795},[67897],{"type":431,"value":957},{"type":426,"tag":553,"props":67899,"children":67900},{"style":684},[67901],{"type":431,"value":53218},{"type":426,"tag":553,"props":67903,"children":67904},{"style":560},[67905],{"type":431,"value":67859},{"type":426,"tag":553,"props":67907,"children":67908},{"style":684},[67909],{"type":431,"value":53227},{"type":426,"tag":553,"props":67911,"children":67912},{"class":555,"line":2250},[67913,67918,67923,67927,67932,67937,67941,67945,67949,67954,67958,67962,67966,67971,67975,67979],{"type":426,"tag":553,"props":67914,"children":67915},{"style":795},[67916],{"type":431,"value":67917},"        boolean",{"type":426,"tag":553,"props":67919,"children":67920},{"style":684},[67921],{"type":431,"value":67922}," success ",{"type":426,"tag":553,"props":67924,"children":67925},{"style":795},[67926],{"type":431,"value":957},{"type":426,"tag":553,"props":67928,"children":67929},{"style":684},[67930],{"type":431,"value":67931}," body.",{"type":426,"tag":553,"props":67933,"children":67934},{"style":560},[67935],{"type":431,"value":67936},"contains",{"type":426,"tag":553,"props":67938,"children":67939},{"style":684},[67940],{"type":431,"value":3275},{"type":426,"tag":553,"props":67942,"children":67943},{"style":572},[67944],{"type":431,"value":1527},{"type":426,"tag":553,"props":67946,"children":67947},{"style":566},[67948],{"type":431,"value":39200},{"type":426,"tag":553,"props":67950,"children":67951},{"style":572},[67952],{"type":431,"value":67953},"status",{"type":426,"tag":553,"props":67955,"children":67956},{"style":566},[67957],{"type":431,"value":39200},{"type":426,"tag":553,"props":67959,"children":67960},{"style":572},[67961],{"type":431,"value":19071},{"type":426,"tag":553,"props":67963,"children":67964},{"style":566},[67965],{"type":431,"value":39200},{"type":426,"tag":553,"props":67967,"children":67968},{"style":572},[67969],{"type":431,"value":67970},"success",{"type":426,"tag":553,"props":67972,"children":67973},{"style":566},[67974],{"type":431,"value":39200},{"type":426,"tag":553,"props":67976,"children":67977},{"style":572},[67978],{"type":431,"value":1527},{"type":426,"tag":553,"props":67980,"children":67981},{"style":684},[67982],{"type":431,"value":11379},{"type":426,"tag":553,"props":67984,"children":67985},{"class":555,"line":2302},[67986],{"type":426,"tag":553,"props":67987,"children":67988},{"emptyLinePlaceholder":831},[67989],{"type":431,"value":834},{"type":426,"tag":553,"props":67991,"children":67992},{"class":555,"line":2353},[67993,67997],{"type":426,"tag":553,"props":67994,"children":67995},{"style":795},[67996],{"type":431,"value":2972},{"type":426,"tag":553,"props":67998,"children":67999},{"style":684},[68000],{"type":431,"value":68001}," (success) {\n",{"type":426,"tag":553,"props":68003,"children":68004},{"class":555,"line":2390},[68005],{"type":426,"tag":553,"props":68006,"children":68007},{"style":1975},[68008],{"type":431,"value":68009},"            \u002F\u002F Extract messageId (simple parsing without JSON library)\n",{"type":426,"tag":553,"props":68011,"children":68012},{"class":555,"line":2440},[68013,68018,68023,68027,68031,68036,68040,68044,68048,68052,68056,68060,68064,68068,68072,68076,68081],{"type":426,"tag":553,"props":68014,"children":68015},{"style":795},[68016],{"type":431,"value":68017},"            int",{"type":426,"tag":553,"props":68019,"children":68020},{"style":684},[68021],{"type":431,"value":68022}," start ",{"type":426,"tag":553,"props":68024,"children":68025},{"style":795},[68026],{"type":431,"value":957},{"type":426,"tag":553,"props":68028,"children":68029},{"style":684},[68030],{"type":431,"value":67931},{"type":426,"tag":553,"props":68032,"children":68033},{"style":560},[68034],{"type":431,"value":68035},"indexOf",{"type":426,"tag":553,"props":68037,"children":68038},{"style":684},[68039],{"type":431,"value":3275},{"type":426,"tag":553,"props":68041,"children":68042},{"style":572},[68043],{"type":431,"value":1527},{"type":426,"tag":553,"props":68045,"children":68046},{"style":566},[68047],{"type":431,"value":39200},{"type":426,"tag":553,"props":68049,"children":68050},{"style":572},[68051],{"type":431,"value":8253},{"type":426,"tag":553,"props":68053,"children":68054},{"style":566},[68055],{"type":431,"value":39200},{"type":426,"tag":553,"props":68057,"children":68058},{"style":572},[68059],{"type":431,"value":19071},{"type":426,"tag":553,"props":68061,"children":68062},{"style":566},[68063],{"type":431,"value":39200},{"type":426,"tag":553,"props":68065,"children":68066},{"style":572},[68067],{"type":431,"value":1527},{"type":426,"tag":553,"props":68069,"children":68070},{"style":684},[68071],{"type":431,"value":2987},{"type":426,"tag":553,"props":68073,"children":68074},{"style":795},[68075],{"type":431,"value":2033},{"type":426,"tag":553,"props":68077,"children":68078},{"style":566},[68079],{"type":431,"value":68080}," 13",{"type":426,"tag":553,"props":68082,"children":68083},{"style":684},[68084],{"type":431,"value":52321},{"type":426,"tag":553,"props":68086,"children":68087},{"class":555,"line":2488},[68088,68092,68097,68101,68105,68109,68113,68117,68121,68125],{"type":426,"tag":553,"props":68089,"children":68090},{"style":795},[68091],{"type":431,"value":68017},{"type":426,"tag":553,"props":68093,"children":68094},{"style":684},[68095],{"type":431,"value":68096}," end ",{"type":426,"tag":553,"props":68098,"children":68099},{"style":795},[68100],{"type":431,"value":957},{"type":426,"tag":553,"props":68102,"children":68103},{"style":684},[68104],{"type":431,"value":67931},{"type":426,"tag":553,"props":68106,"children":68107},{"style":560},[68108],{"type":431,"value":68035},{"type":426,"tag":553,"props":68110,"children":68111},{"style":684},[68112],{"type":431,"value":3275},{"type":426,"tag":553,"props":68114,"children":68115},{"style":572},[68116],{"type":431,"value":1527},{"type":426,"tag":553,"props":68118,"children":68119},{"style":566},[68120],{"type":431,"value":39200},{"type":426,"tag":553,"props":68122,"children":68123},{"style":572},[68124],{"type":431,"value":1527},{"type":426,"tag":553,"props":68126,"children":68127},{"style":684},[68128],{"type":431,"value":68129},", start);\n",{"type":426,"tag":553,"props":68131,"children":68132},{"class":555,"line":2509},[68133,68138,68142,68147,68151,68156,68160,68165,68169,68174,68179,68183,68188],{"type":426,"tag":553,"props":68134,"children":68135},{"style":684},[68136],{"type":431,"value":68137},"            String messageId ",{"type":426,"tag":553,"props":68139,"children":68140},{"style":795},[68141],{"type":431,"value":957},{"type":426,"tag":553,"props":68143,"children":68144},{"style":684},[68145],{"type":431,"value":68146}," (start ",{"type":426,"tag":553,"props":68148,"children":68149},{"style":795},[68150],{"type":431,"value":935},{"type":426,"tag":553,"props":68152,"children":68153},{"style":566},[68154],{"type":431,"value":68155}," 12",{"type":426,"tag":553,"props":68157,"children":68158},{"style":684},[68159],{"type":431,"value":2987},{"type":426,"tag":553,"props":68161,"children":68162},{"style":795},[68163],{"type":431,"value":68164},"?",{"type":426,"tag":553,"props":68166,"children":68167},{"style":684},[68168],{"type":431,"value":67931},{"type":426,"tag":553,"props":68170,"children":68171},{"style":560},[68172],{"type":431,"value":68173},"substring",{"type":426,"tag":553,"props":68175,"children":68176},{"style":684},[68177],{"type":431,"value":68178},"(start, end) ",{"type":426,"tag":553,"props":68180,"children":68181},{"style":795},[68182],{"type":431,"value":19071},{"type":426,"tag":553,"props":68184,"children":68185},{"style":572},[68186],{"type":431,"value":68187}," \"unknown\"",{"type":426,"tag":553,"props":68189,"children":68190},{"style":684},[68191],{"type":431,"value":52321},{"type":426,"tag":553,"props":68193,"children":68194},{"class":555,"line":2527},[68195,68200,68205,68209,68214,68218],{"type":426,"tag":553,"props":68196,"children":68197},{"style":684},[68198],{"type":431,"value":68199},"            System.out.",{"type":426,"tag":553,"props":68201,"children":68202},{"style":560},[68203],{"type":431,"value":68204},"println",{"type":426,"tag":553,"props":68206,"children":68207},{"style":684},[68208],{"type":431,"value":3275},{"type":426,"tag":553,"props":68210,"children":68211},{"style":572},[68212],{"type":431,"value":68213},"\"Message sent! ID: \"",{"type":426,"tag":553,"props":68215,"children":68216},{"style":795},[68217],{"type":431,"value":61140},{"type":426,"tag":553,"props":68219,"children":68220},{"style":684},[68221],{"type":431,"value":68222}," messageId);\n",{"type":426,"tag":553,"props":68224,"children":68225},{"class":555,"line":2545},[68226],{"type":426,"tag":553,"props":68227,"children":68228},{"style":684},[68229],{"type":431,"value":15075},{"type":426,"tag":553,"props":68231,"children":68232},{"class":555,"line":12991},[68233],{"type":426,"tag":553,"props":68234,"children":68235},{"emptyLinePlaceholder":831},[68236],{"type":431,"value":834},{"type":426,"tag":553,"props":68238,"children":68239},{"class":555,"line":13004},[68240,68244],{"type":426,"tag":553,"props":68241,"children":68242},{"style":795},[68243],{"type":431,"value":8378},{"type":426,"tag":553,"props":68245,"children":68246},{"style":684},[68247],{"type":431,"value":68248}," success;\n",{"type":426,"tag":553,"props":68250,"children":68251},{"class":555,"line":13012},[68252],{"type":426,"tag":553,"props":68253,"children":68254},{"style":684},[68255],{"type":431,"value":5546},{"type":426,"tag":553,"props":68257,"children":68258},{"class":555,"line":13025},[68259],{"type":426,"tag":553,"props":68260,"children":68261},{"emptyLinePlaceholder":831},[68262],{"type":431,"value":834},{"type":426,"tag":553,"props":68264,"children":68265},{"class":555,"line":13033},[68266,68270,68274,68278,68283,68287,68291,68296,68301,68305,68309],{"type":426,"tag":553,"props":68267,"children":68268},{"style":795},[68269],{"type":431,"value":61004},{"type":426,"tag":553,"props":68271,"children":68272},{"style":795},[68273],{"type":431,"value":60862},{"type":426,"tag":553,"props":68275,"children":68276},{"style":795},[68277],{"type":431,"value":61013},{"type":426,"tag":553,"props":68279,"children":68280},{"style":560},[68281],{"type":431,"value":68282}," main",{"type":426,"tag":553,"props":68284,"children":68285},{"style":684},[68286],{"type":431,"value":3275},{"type":426,"tag":553,"props":68288,"children":68289},{"style":795},[68290],{"type":431,"value":61237},{"type":426,"tag":553,"props":68292,"children":68293},{"style":684},[68294],{"type":431,"value":68295},"[] ",{"type":426,"tag":553,"props":68297,"children":68298},{"style":1684},[68299],{"type":431,"value":68300},"args",{"type":426,"tag":553,"props":68302,"children":68303},{"style":684},[68304],{"type":431,"value":2987},{"type":426,"tag":553,"props":68306,"children":68307},{"style":795},[68308],{"type":431,"value":67213},{"type":426,"tag":553,"props":68310,"children":68311},{"style":684},[68312],{"type":431,"value":67218},{"type":426,"tag":553,"props":68314,"children":68315},{"class":555,"line":13069},[68316,68321,68325,68329,68333,68337,68342],{"type":426,"tag":553,"props":68317,"children":68318},{"style":684},[68319],{"type":431,"value":68320},"        RapiwaClient client ",{"type":426,"tag":553,"props":68322,"children":68323},{"style":795},[68324],{"type":431,"value":957},{"type":426,"tag":553,"props":68326,"children":68327},{"style":795},[68328],{"type":431,"value":52275},{"type":426,"tag":553,"props":68330,"children":68331},{"style":560},[68332],{"type":431,"value":66860},{"type":426,"tag":553,"props":68334,"children":68335},{"style":684},[68336],{"type":431,"value":3275},{"type":426,"tag":553,"props":68338,"children":68339},{"style":572},[68340],{"type":431,"value":68341},"\"YOUR_API_KEY\"",{"type":426,"tag":553,"props":68343,"children":68344},{"style":684},[68345],{"type":431,"value":11379},{"type":426,"tag":553,"props":68347,"children":68348},{"class":555,"line":13089},[68349],{"type":426,"tag":553,"props":68350,"children":68351},{"emptyLinePlaceholder":831},[68352],{"type":431,"value":834},{"type":426,"tag":553,"props":68354,"children":68355},{"class":555,"line":13102},[68356,68360,68365,68369,68374,68379],{"type":426,"tag":553,"props":68357,"children":68358},{"style":795},[68359],{"type":431,"value":67917},{"type":426,"tag":553,"props":68361,"children":68362},{"style":684},[68363],{"type":431,"value":68364}," sent ",{"type":426,"tag":553,"props":68366,"children":68367},{"style":795},[68368],{"type":431,"value":957},{"type":426,"tag":553,"props":68370,"children":68371},{"style":684},[68372],{"type":431,"value":68373}," client.",{"type":426,"tag":553,"props":68375,"children":68376},{"style":560},[68377],{"type":431,"value":68378},"sendMessage",{"type":426,"tag":553,"props":68380,"children":68381},{"style":684},[68382],{"type":431,"value":3172},{"type":426,"tag":553,"props":68384,"children":68385},{"class":555,"line":13111},[68386,68391],{"type":426,"tag":553,"props":68387,"children":68388},{"style":572},[68389],{"type":431,"value":68390},"            \"8801234567890\"",{"type":426,"tag":553,"props":68392,"children":68393},{"style":684},[68394],{"type":431,"value":710},{"type":426,"tag":553,"props":68396,"children":68397},{"class":555,"line":13120},[68398],{"type":426,"tag":553,"props":68399,"children":68400},{"style":572},[68401],{"type":431,"value":68402},"            \"Hello from Java! This was sent using Rapiwa API.\"\n",{"type":426,"tag":553,"props":68404,"children":68405},{"class":555,"line":13129},[68406],{"type":426,"tag":553,"props":68407,"children":68408},{"style":684},[68409],{"type":431,"value":67428},{"type":426,"tag":553,"props":68411,"children":68412},{"class":555,"line":13174},[68413],{"type":426,"tag":553,"props":68414,"children":68415},{"emptyLinePlaceholder":831},[68416],{"type":431,"value":834},{"type":426,"tag":553,"props":68418,"children":68419},{"class":555,"line":13205},[68420,68425,68429,68433,68438,68442],{"type":426,"tag":553,"props":68421,"children":68422},{"style":684},[68423],{"type":431,"value":68424},"        System.out.",{"type":426,"tag":553,"props":68426,"children":68427},{"style":560},[68428],{"type":431,"value":68204},{"type":426,"tag":553,"props":68430,"children":68431},{"style":684},[68432],{"type":431,"value":3275},{"type":426,"tag":553,"props":68434,"children":68435},{"style":572},[68436],{"type":431,"value":68437},"\"Sent: \"",{"type":426,"tag":553,"props":68439,"children":68440},{"style":795},[68441],{"type":431,"value":61140},{"type":426,"tag":553,"props":68443,"children":68444},{"style":684},[68445],{"type":431,"value":68446}," sent);\n",{"type":426,"tag":553,"props":68448,"children":68449},{"class":555,"line":13218},[68450],{"type":426,"tag":553,"props":68451,"children":68452},{"style":684},[68453],{"type":431,"value":5546},{"type":426,"tag":553,"props":68455,"children":68456},{"class":555,"line":20616},[68457],{"type":426,"tag":553,"props":68458,"children":68459},{"style":684},[68460],{"type":431,"value":756},{"type":426,"tag":434,"props":68462,"children":68464},{"id":68463},"method-2-with-jackson-recommended-for-production",[68465],{"type":431,"value":68466},"Method 2: With Jackson (Recommended for Production)",{"type":426,"tag":427,"props":68468,"children":68469},{},[68470],{"type":426,"tag":446,"props":68471,"children":68472},{},[68473],{"type":431,"value":68474},"Maven dependency:",{"type":426,"tag":542,"props":68476,"children":68480},{"className":68477,"code":68478,"language":68479,"meta":417,"style":417},"language-xml shiki shiki-themes github-dark","\u003Cdependency>\n    \u003CgroupId>com.fasterxml.jackson.core\u003C\u002FgroupId>\n    \u003CartifactId>jackson-databind\u003C\u002FartifactId>\n    \u003Cversion>2.16.1\u003C\u002Fversion>\n\u003C\u002Fdependency>\n","xml",[68481],{"type":426,"tag":549,"props":68482,"children":68483},{"__ignoreMap":417},[68484,68500,68526,68551,68576],{"type":426,"tag":553,"props":68485,"children":68486},{"class":555,"line":556},[68487,68491,68496],{"type":426,"tag":553,"props":68488,"children":68489},{"style":684},[68490],{"type":431,"value":25949},{"type":426,"tag":553,"props":68492,"children":68493},{"style":25952},[68494],{"type":431,"value":68495},"dependency",{"type":426,"tag":553,"props":68497,"children":68498},{"style":684},[68499],{"type":431,"value":26021},{"type":426,"tag":553,"props":68501,"children":68502},{"class":555,"line":588},[68503,68508,68513,68518,68522],{"type":426,"tag":553,"props":68504,"children":68505},{"style":684},[68506],{"type":431,"value":68507},"    \u003C",{"type":426,"tag":553,"props":68509,"children":68510},{"style":25952},[68511],{"type":431,"value":68512},"groupId",{"type":426,"tag":553,"props":68514,"children":68515},{"style":684},[68516],{"type":431,"value":68517},">com.fasterxml.jackson.core\u003C\u002F",{"type":426,"tag":553,"props":68519,"children":68520},{"style":25952},[68521],{"type":431,"value":68512},{"type":426,"tag":553,"props":68523,"children":68524},{"style":684},[68525],{"type":431,"value":26021},{"type":426,"tag":553,"props":68527,"children":68528},{"class":555,"line":606},[68529,68533,68538,68543,68547],{"type":426,"tag":553,"props":68530,"children":68531},{"style":684},[68532],{"type":431,"value":68507},{"type":426,"tag":553,"props":68534,"children":68535},{"style":25952},[68536],{"type":431,"value":68537},"artifactId",{"type":426,"tag":553,"props":68539,"children":68540},{"style":684},[68541],{"type":431,"value":68542},">jackson-databind\u003C\u002F",{"type":426,"tag":553,"props":68544,"children":68545},{"style":25952},[68546],{"type":431,"value":68537},{"type":426,"tag":553,"props":68548,"children":68549},{"style":684},[68550],{"type":431,"value":26021},{"type":426,"tag":553,"props":68552,"children":68553},{"class":555,"line":623},[68554,68558,68563,68568,68572],{"type":426,"tag":553,"props":68555,"children":68556},{"style":684},[68557],{"type":431,"value":68507},{"type":426,"tag":553,"props":68559,"children":68560},{"style":25952},[68561],{"type":431,"value":68562},"version",{"type":426,"tag":553,"props":68564,"children":68565},{"style":684},[68566],{"type":431,"value":68567},">2.16.1\u003C\u002F",{"type":426,"tag":553,"props":68569,"children":68570},{"style":25952},[68571],{"type":431,"value":68562},{"type":426,"tag":553,"props":68573,"children":68574},{"style":684},[68575],{"type":431,"value":26021},{"type":426,"tag":553,"props":68577,"children":68578},{"class":555,"line":637},[68579,68584,68588],{"type":426,"tag":553,"props":68580,"children":68581},{"style":684},[68582],{"type":431,"value":68583},"\u003C\u002F",{"type":426,"tag":553,"props":68585,"children":68586},{"style":25952},[68587],{"type":431,"value":68495},{"type":426,"tag":553,"props":68589,"children":68590},{"style":684},[68591],{"type":431,"value":26021},{"type":426,"tag":427,"props":68593,"children":68594},{},[68595],{"type":426,"tag":446,"props":68596,"children":68597},{},[68598],{"type":431,"value":68599},"Gradle dependency:",{"type":426,"tag":542,"props":68601,"children":68605},{"className":68602,"code":68603,"language":68604,"meta":417,"style":417},"language-groovy shiki shiki-themes github-dark","implementation 'com.fasterxml.jackson.core:jackson-databind:2.16.1'\n","groovy",[68606],{"type":426,"tag":549,"props":68607,"children":68608},{"__ignoreMap":417},[68609],{"type":426,"tag":553,"props":68610,"children":68611},{"class":555,"line":556},[68612,68617],{"type":426,"tag":553,"props":68613,"children":68614},{"style":684},[68615],{"type":431,"value":68616},"implementation ",{"type":426,"tag":553,"props":68618,"children":68619},{"style":572},[68620],{"type":431,"value":68621},"'com.fasterxml.jackson.core:jackson-databind:2.16.1'\n",{"type":426,"tag":542,"props":68623,"children":68625},{"className":60808,"code":68624,"language":60807,"meta":417,"style":417},"import com.fasterxml.jackson.annotation.JsonProperty;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\npublic class RapiwaService {\n\n    private static final String BASE_URL = \"https:\u002F\u002Fapp.rapiwa.com\";\n    private final String apiKey;\n    private final HttpClient httpClient;\n    private final ObjectMapper objectMapper;\n\n    \u002F\u002F Request model\n    public record SendMessageRequest(\n        @JsonProperty(\"number\") String number,\n        @JsonProperty(\"message\") String message\n    ) {}\n\n    \u002F\u002F Response model\n    public record SendMessageResponse(\n        @JsonProperty(\"status\") String status,\n        @JsonProperty(\"messageId\") String messageId,\n        @JsonProperty(\"timestamp\") String timestamp\n    ) {\n        public boolean isSuccess() {\n            return \"success\".equals(status);\n        }\n    }\n\n    public RapiwaService(String apiKey) {\n        this.apiKey = apiKey;\n        this.httpClient = HttpClient.newHttpClient();\n        this.objectMapper = new ObjectMapper();\n    }\n\n    public SendMessageResponse sendMessage(String phone, String message) throws Exception {\n        var requestBody = new SendMessageRequest(phone, message);\n        String json = objectMapper.writeValueAsString(requestBody);\n\n        var httpRequest = HttpRequest.newBuilder()\n                .uri(URI.create(BASE_URL + \"\u002Fsend-message\"))\n                .header(\"Authorization\", \"Bearer \" + apiKey)\n                .header(\"Content-Type\", \"application\u002Fjson\")\n                .POST(HttpRequest.BodyPublishers.ofString(json))\n                .build();\n\n        var response = httpClient.send(\n            httpRequest,\n            HttpResponse.BodyHandlers.ofString()\n        );\n\n        if (response.statusCode() == 401) {\n            throw new SecurityException(\"Invalid API key\");\n        }\n\n        return objectMapper.readValue(response.body(), SendMessageResponse.class);\n    }\n\n    public static void main(String[] args) throws Exception {\n        var service = new RapiwaService(\"YOUR_API_KEY\");\n\n        var result = service.sendMessage(\n            \"8801234567890\",\n            \"Hi! This is an automated message from our Java application.\\n\\nYour order #1234 has been confirmed.\"\n        );\n\n        System.out.println(\"Status: \" + result.status());\n        System.out.println(\"Message ID: \" + result.messageId());\n    }\n}\n",[68626],{"type":426,"tag":549,"props":68627,"children":68628},{"__ignoreMap":417},[68629,68641,68653,68664,68675,68686,68697,68704,68723,68730,68763,68778,68793,68809,68816,68824,68845,68871,68895,68903,68910,68918,68938,68963,68988,69013,69021,69043,69068,69075,69082,69089,69112,69131,69159,69188,69195,69202,69246,69275,69302,69309,69337,69374,69409,69440,69464,69479,69486,69514,69522,69537,69544,69551,69582,69610,69617,69624,69654,69661,69668,69715,69751,69758,69787,69798,69815,69822,69829,69866,69902,69909],{"type":426,"tag":553,"props":68630,"children":68631},{"class":555,"line":556},[68632,68636],{"type":426,"tag":553,"props":68633,"children":68634},{"style":795},[68635],{"type":431,"value":798},{"type":426,"tag":553,"props":68637,"children":68638},{"style":684},[68639],{"type":431,"value":68640}," com.fasterxml.jackson.annotation.JsonProperty;\n",{"type":426,"tag":553,"props":68642,"children":68643},{"class":555,"line":588},[68644,68648],{"type":426,"tag":553,"props":68645,"children":68646},{"style":795},[68647],{"type":431,"value":798},{"type":426,"tag":553,"props":68649,"children":68650},{"style":684},[68651],{"type":431,"value":68652}," com.fasterxml.jackson.databind.ObjectMapper;\n",{"type":426,"tag":553,"props":68654,"children":68655},{"class":555,"line":606},[68656,68660],{"type":426,"tag":553,"props":68657,"children":68658},{"style":795},[68659],{"type":431,"value":798},{"type":426,"tag":553,"props":68661,"children":68662},{"style":684},[68663],{"type":431,"value":66789},{"type":426,"tag":553,"props":68665,"children":68666},{"class":555,"line":623},[68667,68671],{"type":426,"tag":553,"props":68668,"children":68669},{"style":795},[68670],{"type":431,"value":798},{"type":426,"tag":553,"props":68672,"children":68673},{"style":684},[68674],{"type":431,"value":66801},{"type":426,"tag":553,"props":68676,"children":68677},{"class":555,"line":637},[68678,68682],{"type":426,"tag":553,"props":68679,"children":68680},{"style":795},[68681],{"type":431,"value":798},{"type":426,"tag":553,"props":68683,"children":68684},{"style":684},[68685],{"type":431,"value":66813},{"type":426,"tag":553,"props":68687,"children":68688},{"class":555,"line":646},[68689,68693],{"type":426,"tag":553,"props":68690,"children":68691},{"style":795},[68692],{"type":431,"value":798},{"type":426,"tag":553,"props":68694,"children":68695},{"style":684},[68696],{"type":431,"value":66825},{"type":426,"tag":553,"props":68698,"children":68699},{"class":555,"line":655},[68700],{"type":426,"tag":553,"props":68701,"children":68702},{"emptyLinePlaceholder":831},[68703],{"type":431,"value":834},{"type":426,"tag":553,"props":68705,"children":68706},{"class":555,"line":1036},[68707,68711,68715,68719],{"type":426,"tag":553,"props":68708,"children":68709},{"style":795},[68710],{"type":431,"value":60828},{"type":426,"tag":553,"props":68712,"children":68713},{"style":795},[68714],{"type":431,"value":60833},{"type":426,"tag":553,"props":68716,"children":68717},{"style":560},[68718],{"type":431,"value":60838},{"type":426,"tag":553,"props":68720,"children":68721},{"style":684},[68722],{"type":431,"value":5458},{"type":426,"tag":553,"props":68724,"children":68725},{"class":555,"line":1054},[68726],{"type":426,"tag":553,"props":68727,"children":68728},{"emptyLinePlaceholder":831},[68729],{"type":431,"value":834},{"type":426,"tag":553,"props":68731,"children":68732},{"class":555,"line":1080},[68733,68737,68741,68745,68750,68754,68759],{"type":426,"tag":553,"props":68734,"children":68735},{"style":795},[68736],{"type":431,"value":60857},{"type":426,"tag":553,"props":68738,"children":68739},{"style":795},[68740],{"type":431,"value":60862},{"type":426,"tag":553,"props":68742,"children":68743},{"style":795},[68744],{"type":431,"value":60867},{"type":426,"tag":553,"props":68746,"children":68747},{"style":684},[68748],{"type":431,"value":68749}," String BASE_URL ",{"type":426,"tag":553,"props":68751,"children":68752},{"style":795},[68753],{"type":431,"value":957},{"type":426,"tag":553,"props":68755,"children":68756},{"style":572},[68757],{"type":431,"value":68758}," \"https:\u002F\u002Fapp.rapiwa.com\"",{"type":426,"tag":553,"props":68760,"children":68761},{"style":684},[68762],{"type":431,"value":52321},{"type":426,"tag":553,"props":68764,"children":68765},{"class":555,"line":1097},[68766,68770,68774],{"type":426,"tag":553,"props":68767,"children":68768},{"style":795},[68769],{"type":431,"value":60857},{"type":426,"tag":553,"props":68771,"children":68772},{"style":795},[68773],{"type":431,"value":60867},{"type":426,"tag":553,"props":68775,"children":68776},{"style":684},[68777],{"type":431,"value":66919},{"type":426,"tag":553,"props":68779,"children":68780},{"class":555,"line":1114},[68781,68785,68789],{"type":426,"tag":553,"props":68782,"children":68783},{"style":795},[68784],{"type":431,"value":60857},{"type":426,"tag":553,"props":68786,"children":68787},{"style":795},[68788],{"type":431,"value":60867},{"type":426,"tag":553,"props":68790,"children":68791},{"style":684},[68792],{"type":431,"value":66935},{"type":426,"tag":553,"props":68794,"children":68795},{"class":555,"line":1127},[68796,68800,68804],{"type":426,"tag":553,"props":68797,"children":68798},{"style":795},[68799],{"type":431,"value":60857},{"type":426,"tag":553,"props":68801,"children":68802},{"style":795},[68803],{"type":431,"value":60867},{"type":426,"tag":553,"props":68805,"children":68806},{"style":684},[68807],{"type":431,"value":68808}," ObjectMapper objectMapper;\n",{"type":426,"tag":553,"props":68810,"children":68811},{"class":555,"line":1167},[68812],{"type":426,"tag":553,"props":68813,"children":68814},{"emptyLinePlaceholder":831},[68815],{"type":431,"value":834},{"type":426,"tag":553,"props":68817,"children":68818},{"class":555,"line":1184},[68819],{"type":426,"tag":553,"props":68820,"children":68821},{"style":1975},[68822],{"type":431,"value":68823},"    \u002F\u002F Request model\n",{"type":426,"tag":553,"props":68825,"children":68826},{"class":555,"line":1192},[68827,68831,68836,68841],{"type":426,"tag":553,"props":68828,"children":68829},{"style":795},[68830],{"type":431,"value":61004},{"type":426,"tag":553,"props":68832,"children":68833},{"style":795},[68834],{"type":431,"value":68835}," record",{"type":426,"tag":553,"props":68837,"children":68838},{"style":560},[68839],{"type":431,"value":68840}," SendMessageRequest",{"type":426,"tag":553,"props":68842,"children":68843},{"style":684},[68844],{"type":431,"value":3172},{"type":426,"tag":553,"props":68846,"children":68847},{"class":555,"line":1210},[68848,68853,68858,68862,68866],{"type":426,"tag":553,"props":68849,"children":68850},{"style":684},[68851],{"type":431,"value":68852},"        @",{"type":426,"tag":553,"props":68854,"children":68855},{"style":795},[68856],{"type":431,"value":68857},"JsonProperty",{"type":426,"tag":553,"props":68859,"children":68860},{"style":684},[68861],{"type":431,"value":3275},{"type":426,"tag":553,"props":68863,"children":68864},{"style":572},[68865],{"type":431,"value":45266},{"type":426,"tag":553,"props":68867,"children":68868},{"style":684},[68869],{"type":431,"value":68870},") String number,\n",{"type":426,"tag":553,"props":68872,"children":68873},{"class":555,"line":1253},[68874,68878,68882,68886,68890],{"type":426,"tag":553,"props":68875,"children":68876},{"style":684},[68877],{"type":431,"value":68852},{"type":426,"tag":553,"props":68879,"children":68880},{"style":795},[68881],{"type":431,"value":68857},{"type":426,"tag":553,"props":68883,"children":68884},{"style":684},[68885],{"type":431,"value":3275},{"type":426,"tag":553,"props":68887,"children":68888},{"style":572},[68889],{"type":431,"value":45275},{"type":426,"tag":553,"props":68891,"children":68892},{"style":684},[68893],{"type":431,"value":68894},") String message\n",{"type":426,"tag":553,"props":68896,"children":68897},{"class":555,"line":1302},[68898],{"type":426,"tag":553,"props":68899,"children":68900},{"style":684},[68901],{"type":431,"value":68902},"    ) {}\n",{"type":426,"tag":553,"props":68904,"children":68905},{"class":555,"line":1374},[68906],{"type":426,"tag":553,"props":68907,"children":68908},{"emptyLinePlaceholder":831},[68909],{"type":431,"value":834},{"type":426,"tag":553,"props":68911,"children":68912},{"class":555,"line":1414},[68913],{"type":426,"tag":553,"props":68914,"children":68915},{"style":1975},[68916],{"type":431,"value":68917},"    \u002F\u002F Response model\n",{"type":426,"tag":553,"props":68919,"children":68920},{"class":555,"line":1479},[68921,68925,68929,68934],{"type":426,"tag":553,"props":68922,"children":68923},{"style":795},[68924],{"type":431,"value":61004},{"type":426,"tag":553,"props":68926,"children":68927},{"style":795},[68928],{"type":431,"value":68835},{"type":426,"tag":553,"props":68930,"children":68931},{"style":560},[68932],{"type":431,"value":68933}," SendMessageResponse",{"type":426,"tag":553,"props":68935,"children":68936},{"style":684},[68937],{"type":431,"value":3172},{"type":426,"tag":553,"props":68939,"children":68940},{"class":555,"line":1517},[68941,68945,68949,68953,68958],{"type":426,"tag":553,"props":68942,"children":68943},{"style":684},[68944],{"type":431,"value":68852},{"type":426,"tag":553,"props":68946,"children":68947},{"style":795},[68948],{"type":431,"value":68857},{"type":426,"tag":553,"props":68950,"children":68951},{"style":684},[68952],{"type":431,"value":3275},{"type":426,"tag":553,"props":68954,"children":68955},{"style":572},[68956],{"type":431,"value":68957},"\"status\"",{"type":426,"tag":553,"props":68959,"children":68960},{"style":684},[68961],{"type":431,"value":68962},") String status,\n",{"type":426,"tag":553,"props":68964,"children":68965},{"class":555,"line":1560},[68966,68970,68974,68978,68983],{"type":426,"tag":553,"props":68967,"children":68968},{"style":684},[68969],{"type":431,"value":68852},{"type":426,"tag":553,"props":68971,"children":68972},{"style":795},[68973],{"type":431,"value":68857},{"type":426,"tag":553,"props":68975,"children":68976},{"style":684},[68977],{"type":431,"value":3275},{"type":426,"tag":553,"props":68979,"children":68980},{"style":572},[68981],{"type":431,"value":68982},"\"messageId\"",{"type":426,"tag":553,"props":68984,"children":68985},{"style":684},[68986],{"type":431,"value":68987},") String messageId,\n",{"type":426,"tag":553,"props":68989,"children":68990},{"class":555,"line":1598},[68991,68995,68999,69003,69008],{"type":426,"tag":553,"props":68992,"children":68993},{"style":684},[68994],{"type":431,"value":68852},{"type":426,"tag":553,"props":68996,"children":68997},{"style":795},[68998],{"type":431,"value":68857},{"type":426,"tag":553,"props":69000,"children":69001},{"style":684},[69002],{"type":431,"value":3275},{"type":426,"tag":553,"props":69004,"children":69005},{"style":572},[69006],{"type":431,"value":69007},"\"timestamp\"",{"type":426,"tag":553,"props":69009,"children":69010},{"style":684},[69011],{"type":431,"value":69012},") String timestamp\n",{"type":426,"tag":553,"props":69014,"children":69015},{"class":555,"line":1636},[69016],{"type":426,"tag":553,"props":69017,"children":69018},{"style":684},[69019],{"type":431,"value":69020},"    ) {\n",{"type":426,"tag":553,"props":69022,"children":69023},{"class":555,"line":1645},[69024,69029,69033,69038],{"type":426,"tag":553,"props":69025,"children":69026},{"style":795},[69027],{"type":431,"value":69028},"        public",{"type":426,"tag":553,"props":69030,"children":69031},{"style":795},[69032],{"type":431,"value":67183},{"type":426,"tag":553,"props":69034,"children":69035},{"style":560},[69036],{"type":431,"value":69037}," isSuccess",{"type":426,"tag":553,"props":69039,"children":69040},{"style":684},[69041],{"type":431,"value":69042},"() {\n",{"type":426,"tag":553,"props":69044,"children":69045},{"class":555,"line":1653},[69046,69050,69055,69059,69063],{"type":426,"tag":553,"props":69047,"children":69048},{"style":795},[69049],{"type":431,"value":9188},{"type":426,"tag":553,"props":69051,"children":69052},{"style":572},[69053],{"type":431,"value":69054}," \"success\"",{"type":426,"tag":553,"props":69056,"children":69057},{"style":684},[69058],{"type":431,"value":6789},{"type":426,"tag":553,"props":69060,"children":69061},{"style":560},[69062],{"type":431,"value":55088},{"type":426,"tag":553,"props":69064,"children":69065},{"style":684},[69066],{"type":431,"value":69067},"(status);\n",{"type":426,"tag":553,"props":69069,"children":69070},{"class":555,"line":1667},[69071],{"type":426,"tag":553,"props":69072,"children":69073},{"style":684},[69074],{"type":431,"value":15075},{"type":426,"tag":553,"props":69076,"children":69077},{"class":555,"line":1680},[69078],{"type":426,"tag":553,"props":69079,"children":69080},{"style":684},[69081],{"type":431,"value":5546},{"type":426,"tag":553,"props":69083,"children":69084},{"class":555,"line":1740},[69085],{"type":426,"tag":553,"props":69086,"children":69087},{"emptyLinePlaceholder":831},[69088],{"type":431,"value":834},{"type":426,"tag":553,"props":69090,"children":69091},{"class":555,"line":1787},[69092,69096,69100,69104,69108],{"type":426,"tag":553,"props":69093,"children":69094},{"style":795},[69095],{"type":431,"value":61004},{"type":426,"tag":553,"props":69097,"children":69098},{"style":560},[69099],{"type":431,"value":60838},{"type":426,"tag":553,"props":69101,"children":69102},{"style":684},[69103],{"type":431,"value":61023},{"type":426,"tag":553,"props":69105,"children":69106},{"style":1684},[69107],{"type":431,"value":55851},{"type":426,"tag":553,"props":69109,"children":69110},{"style":684},[69111],{"type":431,"value":52385},{"type":426,"tag":553,"props":69113,"children":69114},{"class":555,"line":1796},[69115,69119,69123,69127],{"type":426,"tag":553,"props":69116,"children":69117},{"style":566},[69118],{"type":431,"value":66973},{"type":426,"tag":553,"props":69120,"children":69121},{"style":684},[69122],{"type":431,"value":66978},{"type":426,"tag":553,"props":69124,"children":69125},{"style":795},[69126],{"type":431,"value":957},{"type":426,"tag":553,"props":69128,"children":69129},{"style":684},[69130],{"type":431,"value":66987},{"type":426,"tag":553,"props":69132,"children":69133},{"class":555,"line":1804},[69134,69138,69142,69146,69150,69155],{"type":426,"tag":553,"props":69135,"children":69136},{"style":566},[69137],{"type":431,"value":66973},{"type":426,"tag":553,"props":69139,"children":69140},{"style":684},[69141],{"type":431,"value":66999},{"type":426,"tag":553,"props":69143,"children":69144},{"style":795},[69145],{"type":431,"value":957},{"type":426,"tag":553,"props":69147,"children":69148},{"style":684},[69149],{"type":431,"value":67008},{"type":426,"tag":553,"props":69151,"children":69152},{"style":560},[69153],{"type":431,"value":69154},"newHttpClient",{"type":426,"tag":553,"props":69156,"children":69157},{"style":684},[69158],{"type":431,"value":53227},{"type":426,"tag":553,"props":69160,"children":69161},{"class":555,"line":1812},[69162,69166,69171,69175,69179,69184],{"type":426,"tag":553,"props":69163,"children":69164},{"style":566},[69165],{"type":431,"value":66973},{"type":426,"tag":553,"props":69167,"children":69168},{"style":684},[69169],{"type":431,"value":69170},".objectMapper ",{"type":426,"tag":553,"props":69172,"children":69173},{"style":795},[69174],{"type":431,"value":957},{"type":426,"tag":553,"props":69176,"children":69177},{"style":795},[69178],{"type":431,"value":52275},{"type":426,"tag":553,"props":69180,"children":69181},{"style":560},[69182],{"type":431,"value":69183}," ObjectMapper",{"type":426,"tag":553,"props":69185,"children":69186},{"style":684},[69187],{"type":431,"value":53227},{"type":426,"tag":553,"props":69189,"children":69190},{"class":555,"line":1847},[69191],{"type":426,"tag":553,"props":69192,"children":69193},{"style":684},[69194],{"type":431,"value":5546},{"type":426,"tag":553,"props":69196,"children":69197},{"class":555,"line":1856},[69198],{"type":426,"tag":553,"props":69199,"children":69200},{"emptyLinePlaceholder":831},[69201],{"type":431,"value":834},{"type":426,"tag":553,"props":69203,"children":69204},{"class":555,"line":1874},[69205,69209,69214,69218,69222,69226,69230,69234,69238,69242],{"type":426,"tag":553,"props":69206,"children":69207},{"style":795},[69208],{"type":431,"value":61004},{"type":426,"tag":553,"props":69210,"children":69211},{"style":684},[69212],{"type":431,"value":69213}," SendMessageResponse ",{"type":426,"tag":553,"props":69215,"children":69216},{"style":560},[69217],{"type":431,"value":68378},{"type":426,"tag":553,"props":69219,"children":69220},{"style":684},[69221],{"type":431,"value":61023},{"type":426,"tag":553,"props":69223,"children":69224},{"style":1684},[69225],{"type":431,"value":37598},{"type":426,"tag":553,"props":69227,"children":69228},{"style":684},[69229],{"type":431,"value":61032},{"type":426,"tag":553,"props":69231,"children":69232},{"style":1684},[69233],{"type":431,"value":2734},{"type":426,"tag":553,"props":69235,"children":69236},{"style":684},[69237],{"type":431,"value":2987},{"type":426,"tag":553,"props":69239,"children":69240},{"style":795},[69241],{"type":431,"value":67213},{"type":426,"tag":553,"props":69243,"children":69244},{"style":684},[69245],{"type":431,"value":67218},{"type":426,"tag":553,"props":69247,"children":69248},{"class":555,"line":1882},[69249,69254,69259,69263,69267,69271],{"type":426,"tag":553,"props":69250,"children":69251},{"style":795},[69252],{"type":431,"value":69253},"        var",{"type":426,"tag":553,"props":69255,"children":69256},{"style":684},[69257],{"type":431,"value":69258}," requestBody ",{"type":426,"tag":553,"props":69260,"children":69261},{"style":795},[69262],{"type":431,"value":957},{"type":426,"tag":553,"props":69264,"children":69265},{"style":795},[69266],{"type":431,"value":52275},{"type":426,"tag":553,"props":69268,"children":69269},{"style":560},[69270],{"type":431,"value":68840},{"type":426,"tag":553,"props":69272,"children":69273},{"style":684},[69274],{"type":431,"value":62085},{"type":426,"tag":553,"props":69276,"children":69277},{"class":555,"line":1981},[69278,69283,69287,69292,69297],{"type":426,"tag":553,"props":69279,"children":69280},{"style":684},[69281],{"type":431,"value":69282},"        String json ",{"type":426,"tag":553,"props":69284,"children":69285},{"style":795},[69286],{"type":431,"value":957},{"type":426,"tag":553,"props":69288,"children":69289},{"style":684},[69290],{"type":431,"value":69291}," objectMapper.",{"type":426,"tag":553,"props":69293,"children":69294},{"style":560},[69295],{"type":431,"value":69296},"writeValueAsString",{"type":426,"tag":553,"props":69298,"children":69299},{"style":684},[69300],{"type":431,"value":69301},"(requestBody);\n",{"type":426,"tag":553,"props":69303,"children":69304},{"class":555,"line":1989},[69305],{"type":426,"tag":553,"props":69306,"children":69307},{"emptyLinePlaceholder":831},[69308],{"type":431,"value":834},{"type":426,"tag":553,"props":69310,"children":69311},{"class":555,"line":2013},[69312,69316,69321,69325,69329,69333],{"type":426,"tag":553,"props":69313,"children":69314},{"style":795},[69315],{"type":431,"value":69253},{"type":426,"tag":553,"props":69317,"children":69318},{"style":684},[69319],{"type":431,"value":69320}," httpRequest ",{"type":426,"tag":553,"props":69322,"children":69323},{"style":795},[69324],{"type":431,"value":957},{"type":426,"tag":553,"props":69326,"children":69327},{"style":684},[69328],{"type":431,"value":67452},{"type":426,"tag":553,"props":69330,"children":69331},{"style":560},[69332],{"type":431,"value":67013},{"type":426,"tag":553,"props":69334,"children":69335},{"style":684},[69336],{"type":431,"value":11683},{"type":426,"tag":553,"props":69338,"children":69339},{"class":555,"line":2055},[69340,69344,69348,69352,69356,69361,69365,69370],{"type":426,"tag":553,"props":69341,"children":69342},{"style":684},[69343],{"type":431,"value":67025},{"type":426,"tag":553,"props":69345,"children":69346},{"style":560},[69347],{"type":431,"value":67472},{"type":426,"tag":553,"props":69349,"children":69350},{"style":684},[69351],{"type":431,"value":67477},{"type":426,"tag":553,"props":69353,"children":69354},{"style":560},[69355],{"type":431,"value":67482},{"type":426,"tag":553,"props":69357,"children":69358},{"style":684},[69359],{"type":431,"value":69360},"(BASE_URL ",{"type":426,"tag":553,"props":69362,"children":69363},{"style":795},[69364],{"type":431,"value":2033},{"type":426,"tag":553,"props":69366,"children":69367},{"style":572},[69368],{"type":431,"value":69369}," \"\u002Fsend-message\"",{"type":426,"tag":553,"props":69371,"children":69372},{"style":684},[69373],{"type":431,"value":6538},{"type":426,"tag":553,"props":69375,"children":69376},{"class":555,"line":2064},[69377,69381,69385,69389,69393,69397,69401,69405],{"type":426,"tag":553,"props":69378,"children":69379},{"style":684},[69380],{"type":431,"value":67025},{"type":426,"tag":553,"props":69382,"children":69383},{"style":560},[69384],{"type":431,"value":67532},{"type":426,"tag":553,"props":69386,"children":69387},{"style":684},[69388],{"type":431,"value":3275},{"type":426,"tag":553,"props":69390,"children":69391},{"style":572},[69392],{"type":431,"value":45214},{"type":426,"tag":553,"props":69394,"children":69395},{"style":684},[69396],{"type":431,"value":1907},{"type":426,"tag":553,"props":69398,"children":69399},{"style":572},[69400],{"type":431,"value":67549},{"type":426,"tag":553,"props":69402,"children":69403},{"style":795},[69404],{"type":431,"value":61140},{"type":426,"tag":553,"props":69406,"children":69407},{"style":684},[69408],{"type":431,"value":67558},{"type":426,"tag":553,"props":69410,"children":69411},{"class":555,"line":2087},[69412,69416,69420,69424,69428,69432,69436],{"type":426,"tag":553,"props":69413,"children":69414},{"style":684},[69415],{"type":431,"value":67025},{"type":426,"tag":553,"props":69417,"children":69418},{"style":560},[69419],{"type":431,"value":67532},{"type":426,"tag":553,"props":69421,"children":69422},{"style":684},[69423],{"type":431,"value":3275},{"type":426,"tag":553,"props":69425,"children":69426},{"style":572},[69427],{"type":431,"value":67578},{"type":426,"tag":553,"props":69429,"children":69430},{"style":684},[69431],{"type":431,"value":1907},{"type":426,"tag":553,"props":69433,"children":69434},{"style":572},[69435],{"type":431,"value":67587},{"type":426,"tag":553,"props":69437,"children":69438},{"style":684},[69439],{"type":431,"value":3262},{"type":426,"tag":553,"props":69441,"children":69442},{"class":555,"line":2096},[69443,69447,69451,69455,69459],{"type":426,"tag":553,"props":69444,"children":69445},{"style":684},[69446],{"type":431,"value":67025},{"type":426,"tag":553,"props":69448,"children":69449},{"style":560},[69450],{"type":431,"value":67603},{"type":426,"tag":553,"props":69452,"children":69453},{"style":684},[69454],{"type":431,"value":67608},{"type":426,"tag":553,"props":69456,"children":69457},{"style":560},[69458],{"type":431,"value":67613},{"type":426,"tag":553,"props":69460,"children":69461},{"style":684},[69462],{"type":431,"value":69463},"(json))\n",{"type":426,"tag":553,"props":69465,"children":69466},{"class":555,"line":2105},[69467,69471,69475],{"type":426,"tag":553,"props":69468,"children":69469},{"style":684},[69470],{"type":431,"value":67025},{"type":426,"tag":553,"props":69472,"children":69473},{"style":560},[69474],{"type":431,"value":67064},{"type":426,"tag":553,"props":69476,"children":69477},{"style":684},[69478],{"type":431,"value":53227},{"type":426,"tag":553,"props":69480,"children":69481},{"class":555,"line":2114},[69482],{"type":426,"tag":553,"props":69483,"children":69484},{"emptyLinePlaceholder":831},[69485],{"type":431,"value":834},{"type":426,"tag":553,"props":69487,"children":69488},{"class":555,"line":2123},[69489,69493,69498,69502,69506,69510],{"type":426,"tag":553,"props":69490,"children":69491},{"style":795},[69492],{"type":431,"value":69253},{"type":426,"tag":553,"props":69494,"children":69495},{"style":684},[69496],{"type":431,"value":69497}," response ",{"type":426,"tag":553,"props":69499,"children":69500},{"style":795},[69501],{"type":431,"value":957},{"type":426,"tag":553,"props":69503,"children":69504},{"style":684},[69505],{"type":431,"value":67666},{"type":426,"tag":553,"props":69507,"children":69508},{"style":560},[69509],{"type":431,"value":52593},{"type":426,"tag":553,"props":69511,"children":69512},{"style":684},[69513],{"type":431,"value":3172},{"type":426,"tag":553,"props":69515,"children":69516},{"class":555,"line":2132},[69517],{"type":426,"tag":553,"props":69518,"children":69519},{"style":684},[69520],{"type":431,"value":69521},"            httpRequest,\n",{"type":426,"tag":553,"props":69523,"children":69524},{"class":555,"line":2151},[69525,69529,69533],{"type":426,"tag":553,"props":69526,"children":69527},{"style":684},[69528],{"type":431,"value":67690},{"type":426,"tag":553,"props":69530,"children":69531},{"style":560},[69532],{"type":431,"value":67613},{"type":426,"tag":553,"props":69534,"children":69535},{"style":684},[69536],{"type":431,"value":11683},{"type":426,"tag":553,"props":69538,"children":69539},{"class":555,"line":2160},[69540],{"type":426,"tag":553,"props":69541,"children":69542},{"style":684},[69543],{"type":431,"value":67428},{"type":426,"tag":553,"props":69545,"children":69546},{"class":555,"line":2174},[69547],{"type":426,"tag":553,"props":69548,"children":69549},{"emptyLinePlaceholder":831},[69550],{"type":431,"value":834},{"type":426,"tag":553,"props":69552,"children":69553},{"class":555,"line":2182},[69554,69558,69562,69566,69570,69574,69578],{"type":426,"tag":553,"props":69555,"children":69556},{"style":795},[69557],{"type":431,"value":2972},{"type":426,"tag":553,"props":69559,"children":69560},{"style":684},[69561],{"type":431,"value":67724},{"type":426,"tag":553,"props":69563,"children":69564},{"style":560},[69565],{"type":431,"value":67729},{"type":426,"tag":553,"props":69567,"children":69568},{"style":684},[69569],{"type":431,"value":61573},{"type":426,"tag":553,"props":69571,"children":69572},{"style":795},[69573],{"type":431,"value":1069},{"type":426,"tag":553,"props":69575,"children":69576},{"style":566},[69577],{"type":431,"value":8994},{"type":426,"tag":553,"props":69579,"children":69580},{"style":684},[69581],{"type":431,"value":52385},{"type":426,"tag":553,"props":69583,"children":69584},{"class":555,"line":2205},[69585,69589,69593,69597,69601,69606],{"type":426,"tag":553,"props":69586,"children":69587},{"style":795},[69588],{"type":431,"value":67753},{"type":426,"tag":553,"props":69590,"children":69591},{"style":795},[69592],{"type":431,"value":52275},{"type":426,"tag":553,"props":69594,"children":69595},{"style":560},[69596],{"type":431,"value":67762},{"type":426,"tag":553,"props":69598,"children":69599},{"style":684},[69600],{"type":431,"value":3275},{"type":426,"tag":553,"props":69602,"children":69603},{"style":572},[69604],{"type":431,"value":69605},"\"Invalid API key\"",{"type":426,"tag":553,"props":69607,"children":69608},{"style":684},[69609],{"type":431,"value":11379},{"type":426,"tag":553,"props":69611,"children":69612},{"class":555,"line":2241},[69613],{"type":426,"tag":553,"props":69614,"children":69615},{"style":684},[69616],{"type":431,"value":15075},{"type":426,"tag":553,"props":69618,"children":69619},{"class":555,"line":2250},[69620],{"type":426,"tag":553,"props":69621,"children":69622},{"emptyLinePlaceholder":831},[69623],{"type":431,"value":834},{"type":426,"tag":553,"props":69625,"children":69626},{"class":555,"line":2302},[69627,69631,69635,69640,69645,69649],{"type":426,"tag":553,"props":69628,"children":69629},{"style":795},[69630],{"type":431,"value":8378},{"type":426,"tag":553,"props":69632,"children":69633},{"style":684},[69634],{"type":431,"value":69291},{"type":426,"tag":553,"props":69636,"children":69637},{"style":560},[69638],{"type":431,"value":69639},"readValue",{"type":426,"tag":553,"props":69641,"children":69642},{"style":684},[69643],{"type":431,"value":69644},"(response.",{"type":426,"tag":553,"props":69646,"children":69647},{"style":560},[69648],{"type":431,"value":67859},{"type":426,"tag":553,"props":69650,"children":69651},{"style":684},[69652],{"type":431,"value":69653},"(), SendMessageResponse.class);\n",{"type":426,"tag":553,"props":69655,"children":69656},{"class":555,"line":2353},[69657],{"type":426,"tag":553,"props":69658,"children":69659},{"style":684},[69660],{"type":431,"value":5546},{"type":426,"tag":553,"props":69662,"children":69663},{"class":555,"line":2390},[69664],{"type":426,"tag":553,"props":69665,"children":69666},{"emptyLinePlaceholder":831},[69667],{"type":431,"value":834},{"type":426,"tag":553,"props":69669,"children":69670},{"class":555,"line":2440},[69671,69675,69679,69683,69687,69691,69695,69699,69703,69707,69711],{"type":426,"tag":553,"props":69672,"children":69673},{"style":795},[69674],{"type":431,"value":61004},{"type":426,"tag":553,"props":69676,"children":69677},{"style":795},[69678],{"type":431,"value":60862},{"type":426,"tag":553,"props":69680,"children":69681},{"style":795},[69682],{"type":431,"value":61013},{"type":426,"tag":553,"props":69684,"children":69685},{"style":560},[69686],{"type":431,"value":68282},{"type":426,"tag":553,"props":69688,"children":69689},{"style":684},[69690],{"type":431,"value":3275},{"type":426,"tag":553,"props":69692,"children":69693},{"style":795},[69694],{"type":431,"value":61237},{"type":426,"tag":553,"props":69696,"children":69697},{"style":684},[69698],{"type":431,"value":68295},{"type":426,"tag":553,"props":69700,"children":69701},{"style":1684},[69702],{"type":431,"value":68300},{"type":426,"tag":553,"props":69704,"children":69705},{"style":684},[69706],{"type":431,"value":2987},{"type":426,"tag":553,"props":69708,"children":69709},{"style":795},[69710],{"type":431,"value":67213},{"type":426,"tag":553,"props":69712,"children":69713},{"style":684},[69714],{"type":431,"value":67218},{"type":426,"tag":553,"props":69716,"children":69717},{"class":555,"line":2488},[69718,69722,69727,69731,69735,69739,69743,69747],{"type":426,"tag":553,"props":69719,"children":69720},{"style":795},[69721],{"type":431,"value":69253},{"type":426,"tag":553,"props":69723,"children":69724},{"style":684},[69725],{"type":431,"value":69726}," service ",{"type":426,"tag":553,"props":69728,"children":69729},{"style":795},[69730],{"type":431,"value":957},{"type":426,"tag":553,"props":69732,"children":69733},{"style":795},[69734],{"type":431,"value":52275},{"type":426,"tag":553,"props":69736,"children":69737},{"style":560},[69738],{"type":431,"value":60838},{"type":426,"tag":553,"props":69740,"children":69741},{"style":684},[69742],{"type":431,"value":3275},{"type":426,"tag":553,"props":69744,"children":69745},{"style":572},[69746],{"type":431,"value":68341},{"type":426,"tag":553,"props":69748,"children":69749},{"style":684},[69750],{"type":431,"value":11379},{"type":426,"tag":553,"props":69752,"children":69753},{"class":555,"line":2509},[69754],{"type":426,"tag":553,"props":69755,"children":69756},{"emptyLinePlaceholder":831},[69757],{"type":431,"value":834},{"type":426,"tag":553,"props":69759,"children":69760},{"class":555,"line":2527},[69761,69765,69770,69774,69779,69783],{"type":426,"tag":553,"props":69762,"children":69763},{"style":795},[69764],{"type":431,"value":69253},{"type":426,"tag":553,"props":69766,"children":69767},{"style":684},[69768],{"type":431,"value":69769}," result ",{"type":426,"tag":553,"props":69771,"children":69772},{"style":795},[69773],{"type":431,"value":957},{"type":426,"tag":553,"props":69775,"children":69776},{"style":684},[69777],{"type":431,"value":69778}," service.",{"type":426,"tag":553,"props":69780,"children":69781},{"style":560},[69782],{"type":431,"value":68378},{"type":426,"tag":553,"props":69784,"children":69785},{"style":684},[69786],{"type":431,"value":3172},{"type":426,"tag":553,"props":69788,"children":69789},{"class":555,"line":2545},[69790,69794],{"type":426,"tag":553,"props":69791,"children":69792},{"style":572},[69793],{"type":431,"value":68390},{"type":426,"tag":553,"props":69795,"children":69796},{"style":684},[69797],{"type":431,"value":710},{"type":426,"tag":553,"props":69799,"children":69800},{"class":555,"line":12991},[69801,69806,69810],{"type":426,"tag":553,"props":69802,"children":69803},{"style":572},[69804],{"type":431,"value":69805},"            \"Hi! This is an automated message from our Java application.",{"type":426,"tag":553,"props":69807,"children":69808},{"style":566},[69809],{"type":431,"value":1295},{"type":426,"tag":553,"props":69811,"children":69812},{"style":572},[69813],{"type":431,"value":69814},"Your order #1234 has been confirmed.\"\n",{"type":426,"tag":553,"props":69816,"children":69817},{"class":555,"line":13004},[69818],{"type":426,"tag":553,"props":69819,"children":69820},{"style":684},[69821],{"type":431,"value":67428},{"type":426,"tag":553,"props":69823,"children":69824},{"class":555,"line":13012},[69825],{"type":426,"tag":553,"props":69826,"children":69827},{"emptyLinePlaceholder":831},[69828],{"type":431,"value":834},{"type":426,"tag":553,"props":69830,"children":69831},{"class":555,"line":13025},[69832,69836,69840,69844,69849,69853,69858,69862],{"type":426,"tag":553,"props":69833,"children":69834},{"style":684},[69835],{"type":431,"value":68424},{"type":426,"tag":553,"props":69837,"children":69838},{"style":560},[69839],{"type":431,"value":68204},{"type":426,"tag":553,"props":69841,"children":69842},{"style":684},[69843],{"type":431,"value":3275},{"type":426,"tag":553,"props":69845,"children":69846},{"style":572},[69847],{"type":431,"value":69848},"\"Status: \"",{"type":426,"tag":553,"props":69850,"children":69851},{"style":795},[69852],{"type":431,"value":61140},{"type":426,"tag":553,"props":69854,"children":69855},{"style":684},[69856],{"type":431,"value":69857}," result.",{"type":426,"tag":553,"props":69859,"children":69860},{"style":560},[69861],{"type":431,"value":67953},{"type":426,"tag":553,"props":69863,"children":69864},{"style":684},[69865],{"type":431,"value":61503},{"type":426,"tag":553,"props":69867,"children":69868},{"class":555,"line":13033},[69869,69873,69877,69881,69886,69890,69894,69898],{"type":426,"tag":553,"props":69870,"children":69871},{"style":684},[69872],{"type":431,"value":68424},{"type":426,"tag":553,"props":69874,"children":69875},{"style":560},[69876],{"type":431,"value":68204},{"type":426,"tag":553,"props":69878,"children":69879},{"style":684},[69880],{"type":431,"value":3275},{"type":426,"tag":553,"props":69882,"children":69883},{"style":572},[69884],{"type":431,"value":69885},"\"Message ID: \"",{"type":426,"tag":553,"props":69887,"children":69888},{"style":795},[69889],{"type":431,"value":61140},{"type":426,"tag":553,"props":69891,"children":69892},{"style":684},[69893],{"type":431,"value":69857},{"type":426,"tag":553,"props":69895,"children":69896},{"style":560},[69897],{"type":431,"value":8253},{"type":426,"tag":553,"props":69899,"children":69900},{"style":684},[69901],{"type":431,"value":61503},{"type":426,"tag":553,"props":69903,"children":69904},{"class":555,"line":13069},[69905],{"type":426,"tag":553,"props":69906,"children":69907},{"style":684},[69908],{"type":431,"value":5546},{"type":426,"tag":553,"props":69910,"children":69911},{"class":555,"line":13089},[69912],{"type":426,"tag":553,"props":69913,"children":69914},{"style":684},[69915],{"type":431,"value":756},{"type":426,"tag":434,"props":69917,"children":69919},{"id":69918},"method-3-spring-boot-integration",[69920],{"type":431,"value":69921},"Method 3: Spring Boot Integration",{"type":426,"tag":427,"props":69923,"children":69924},{},[69925],{"type":426,"tag":446,"props":69926,"children":69927},{},[69928],{"type":431,"value":69929},"Maven (Spring Boot starter):",{"type":426,"tag":542,"props":69931,"children":69933},{"className":68477,"code":69932,"language":68479,"meta":417,"style":417},"\u003Cdependency>\n    \u003CgroupId>org.springframework.boot\u003C\u002FgroupId>\n    \u003CartifactId>spring-boot-starter-web\u003C\u002FartifactId>\n\u003C\u002Fdependency>\n\u003Cdependency>\n    \u003CgroupId>org.springframework.boot\u003C\u002FgroupId>\n    \u003CartifactId>spring-boot-starter-webflux\u003C\u002FartifactId>\n\u003C\u002Fdependency>\n",[69934],{"type":426,"tag":549,"props":69935,"children":69936},{"__ignoreMap":417},[69937,69952,69976,70000,70015,70030,70053,70077],{"type":426,"tag":553,"props":69938,"children":69939},{"class":555,"line":556},[69940,69944,69948],{"type":426,"tag":553,"props":69941,"children":69942},{"style":684},[69943],{"type":431,"value":25949},{"type":426,"tag":553,"props":69945,"children":69946},{"style":25952},[69947],{"type":431,"value":68495},{"type":426,"tag":553,"props":69949,"children":69950},{"style":684},[69951],{"type":431,"value":26021},{"type":426,"tag":553,"props":69953,"children":69954},{"class":555,"line":588},[69955,69959,69963,69968,69972],{"type":426,"tag":553,"props":69956,"children":69957},{"style":684},[69958],{"type":431,"value":68507},{"type":426,"tag":553,"props":69960,"children":69961},{"style":25952},[69962],{"type":431,"value":68512},{"type":426,"tag":553,"props":69964,"children":69965},{"style":684},[69966],{"type":431,"value":69967},">org.springframework.boot\u003C\u002F",{"type":426,"tag":553,"props":69969,"children":69970},{"style":25952},[69971],{"type":431,"value":68512},{"type":426,"tag":553,"props":69973,"children":69974},{"style":684},[69975],{"type":431,"value":26021},{"type":426,"tag":553,"props":69977,"children":69978},{"class":555,"line":606},[69979,69983,69987,69992,69996],{"type":426,"tag":553,"props":69980,"children":69981},{"style":684},[69982],{"type":431,"value":68507},{"type":426,"tag":553,"props":69984,"children":69985},{"style":25952},[69986],{"type":431,"value":68537},{"type":426,"tag":553,"props":69988,"children":69989},{"style":684},[69990],{"type":431,"value":69991},">spring-boot-starter-web\u003C\u002F",{"type":426,"tag":553,"props":69993,"children":69994},{"style":25952},[69995],{"type":431,"value":68537},{"type":426,"tag":553,"props":69997,"children":69998},{"style":684},[69999],{"type":431,"value":26021},{"type":426,"tag":553,"props":70001,"children":70002},{"class":555,"line":623},[70003,70007,70011],{"type":426,"tag":553,"props":70004,"children":70005},{"style":684},[70006],{"type":431,"value":68583},{"type":426,"tag":553,"props":70008,"children":70009},{"style":25952},[70010],{"type":431,"value":68495},{"type":426,"tag":553,"props":70012,"children":70013},{"style":684},[70014],{"type":431,"value":26021},{"type":426,"tag":553,"props":70016,"children":70017},{"class":555,"line":637},[70018,70022,70026],{"type":426,"tag":553,"props":70019,"children":70020},{"style":684},[70021],{"type":431,"value":25949},{"type":426,"tag":553,"props":70023,"children":70024},{"style":25952},[70025],{"type":431,"value":68495},{"type":426,"tag":553,"props":70027,"children":70028},{"style":684},[70029],{"type":431,"value":26021},{"type":426,"tag":553,"props":70031,"children":70032},{"class":555,"line":646},[70033,70037,70041,70045,70049],{"type":426,"tag":553,"props":70034,"children":70035},{"style":684},[70036],{"type":431,"value":68507},{"type":426,"tag":553,"props":70038,"children":70039},{"style":25952},[70040],{"type":431,"value":68512},{"type":426,"tag":553,"props":70042,"children":70043},{"style":684},[70044],{"type":431,"value":69967},{"type":426,"tag":553,"props":70046,"children":70047},{"style":25952},[70048],{"type":431,"value":68512},{"type":426,"tag":553,"props":70050,"children":70051},{"style":684},[70052],{"type":431,"value":26021},{"type":426,"tag":553,"props":70054,"children":70055},{"class":555,"line":655},[70056,70060,70064,70069,70073],{"type":426,"tag":553,"props":70057,"children":70058},{"style":684},[70059],{"type":431,"value":68507},{"type":426,"tag":553,"props":70061,"children":70062},{"style":25952},[70063],{"type":431,"value":68537},{"type":426,"tag":553,"props":70065,"children":70066},{"style":684},[70067],{"type":431,"value":70068},">spring-boot-starter-webflux\u003C\u002F",{"type":426,"tag":553,"props":70070,"children":70071},{"style":25952},[70072],{"type":431,"value":68537},{"type":426,"tag":553,"props":70074,"children":70075},{"style":684},[70076],{"type":431,"value":26021},{"type":426,"tag":553,"props":70078,"children":70079},{"class":555,"line":1036},[70080,70084,70088],{"type":426,"tag":553,"props":70081,"children":70082},{"style":684},[70083],{"type":431,"value":68583},{"type":426,"tag":553,"props":70085,"children":70086},{"style":25952},[70087],{"type":431,"value":68495},{"type":426,"tag":553,"props":70089,"children":70090},{"style":684},[70091],{"type":431,"value":26021},{"type":426,"tag":427,"props":70093,"children":70094},{},[70095],{"type":426,"tag":446,"props":70096,"children":70097},{},[70098],{"type":431,"value":70099},"application.properties:",{"type":426,"tag":542,"props":70101,"children":70105},{"className":70102,"code":70103,"language":70104,"meta":417,"style":417},"language-properties shiki shiki-themes github-dark","rapiwa.api-key=YOUR_API_KEY\nrapiwa.base-url=https:\u002F\u002Fapp.rapiwa.com\n","properties",[70106],{"type":426,"tag":549,"props":70107,"children":70108},{"__ignoreMap":417},[70109,70122],{"type":426,"tag":553,"props":70110,"children":70111},{"class":555,"line":556},[70112,70117],{"type":426,"tag":553,"props":70113,"children":70114},{"style":795},[70115],{"type":431,"value":70116},"rapiwa.api-key",{"type":426,"tag":553,"props":70118,"children":70119},{"style":684},[70120],{"type":431,"value":70121},"=YOUR_API_KEY\n",{"type":426,"tag":553,"props":70123,"children":70124},{"class":555,"line":588},[70125,70130],{"type":426,"tag":553,"props":70126,"children":70127},{"style":795},[70128],{"type":431,"value":70129},"rapiwa.base-url",{"type":426,"tag":553,"props":70131,"children":70132},{"style":684},[70133],{"type":431,"value":70134},"=https:\u002F\u002Fapp.rapiwa.com\n",{"type":426,"tag":542,"props":70136,"children":70138},{"className":60808,"code":70137,"language":60807,"meta":417,"style":417},"\u002F\u002F RapiwaProperties.java\n@ConfigurationProperties(prefix = \"rapiwa\")\n@Component\npublic class RapiwaProperties {\n    private String apiKey;\n    private String baseUrl = \"https:\u002F\u002Fapp.rapiwa.com\";\n    \u002F\u002F getters and setters\n}\n\n\u002F\u002F RapiwaWebClient.java\n@Service\npublic class RapiwaWebClient {\n\n    private final WebClient webClient;\n\n    public RapiwaWebClient(RapiwaProperties props) {\n        this.webClient = WebClient.builder()\n                .baseUrl(props.getBaseUrl())\n                .defaultHeader(\"Authorization\", \"Bearer \" + props.getApiKey())\n                .defaultHeader(\"Content-Type\", \"application\u002Fjson\")\n                .build();\n    }\n\n    public Mono\u003CSendMessageResponse> sendMessageAsync(String phone, String message) {\n        return webClient.post()\n                .uri(\"\u002Fsend-message\")\n                .bodyValue(Map.of(\"number\", phone, \"message\", message))\n                .retrieve()\n                .onStatus(\n                    status -> status.value() == 401,\n                    response -> Mono.error(new SecurityException(\"Invalid API key\"))\n                )\n                .bodyToMono(SendMessageResponse.class);\n    }\n\n    \u002F\u002F Blocking wrapper for use in non-reactive code\n    public SendMessageResponse sendMessage(String phone, String message) {\n        return sendMessageAsync(phone, message).block();\n    }\n}\n\n\u002F\u002F Usage in a Spring Boot controller\n@PostMapping(\"\u002Forders\")\npublic ResponseEntity\u003COrder> createOrder(@RequestBody CreateOrderRequest req) {\n    Order order = orderService.create(req);\n\n    \u002F\u002F Fire-and-forget WhatsApp notification\n    rapiwaWebClient.sendMessageAsync(\n        order.getCustomerPhone(),\n        String.format(\"Hi %s! ✅ Order #%s confirmed. Total: $%.2f\",\n            order.getCustomerName(), order.getId(), order.getTotal())\n    ).subscribe();\n\n    return ResponseEntity.created(URI.create(\"\u002Forders\u002F\" + order.getId())).body(order);\n}\n",[70139],{"type":426,"tag":549,"props":70140,"children":70141},{"__ignoreMap":417},[70142,70150,70184,70196,70216,70227,70251,70259,70266,70273,70281,70293,70313,70320,70336,70343,70368,70398,70425,70471,70502,70517,70524,70531,70578,70599,70623,70667,70683,70699,70738,70784,70791,70808,70815,70822,70830,70865,70891,70898,70905,70912,70920,70945,70990,71015,71022,71030,71046,71063,71088,71124,71141,71148,71209],{"type":426,"tag":553,"props":70143,"children":70144},{"class":555,"line":556},[70145],{"type":426,"tag":553,"props":70146,"children":70147},{"style":1975},[70148],{"type":431,"value":70149},"\u002F\u002F RapiwaProperties.java\n",{"type":426,"tag":553,"props":70151,"children":70152},{"class":555,"line":588},[70153,70158,70163,70167,70171,70175,70180],{"type":426,"tag":553,"props":70154,"children":70155},{"style":684},[70156],{"type":431,"value":70157},"@",{"type":426,"tag":553,"props":70159,"children":70160},{"style":795},[70161],{"type":431,"value":70162},"ConfigurationProperties",{"type":426,"tag":553,"props":70164,"children":70165},{"style":684},[70166],{"type":431,"value":3275},{"type":426,"tag":553,"props":70168,"children":70169},{"style":566},[70170],{"type":431,"value":57763},{"type":426,"tag":553,"props":70172,"children":70173},{"style":795},[70174],{"type":431,"value":8739},{"type":426,"tag":553,"props":70176,"children":70177},{"style":572},[70178],{"type":431,"value":70179}," \"rapiwa\"",{"type":426,"tag":553,"props":70181,"children":70182},{"style":684},[70183],{"type":431,"value":3262},{"type":426,"tag":553,"props":70185,"children":70186},{"class":555,"line":606},[70187,70191],{"type":426,"tag":553,"props":70188,"children":70189},{"style":684},[70190],{"type":431,"value":70157},{"type":426,"tag":553,"props":70192,"children":70193},{"style":795},[70194],{"type":431,"value":70195},"Component\n",{"type":426,"tag":553,"props":70197,"children":70198},{"class":555,"line":623},[70199,70203,70207,70212],{"type":426,"tag":553,"props":70200,"children":70201},{"style":795},[70202],{"type":431,"value":60828},{"type":426,"tag":553,"props":70204,"children":70205},{"style":795},[70206],{"type":431,"value":60833},{"type":426,"tag":553,"props":70208,"children":70209},{"style":560},[70210],{"type":431,"value":70211}," RapiwaProperties",{"type":426,"tag":553,"props":70213,"children":70214},{"style":684},[70215],{"type":431,"value":5458},{"type":426,"tag":553,"props":70217,"children":70218},{"class":555,"line":637},[70219,70223],{"type":426,"tag":553,"props":70220,"children":70221},{"style":795},[70222],{"type":431,"value":60857},{"type":426,"tag":553,"props":70224,"children":70225},{"style":684},[70226],{"type":431,"value":66919},{"type":426,"tag":553,"props":70228,"children":70229},{"class":555,"line":646},[70230,70234,70239,70243,70247],{"type":426,"tag":553,"props":70231,"children":70232},{"style":795},[70233],{"type":431,"value":60857},{"type":426,"tag":553,"props":70235,"children":70236},{"style":684},[70237],{"type":431,"value":70238}," String baseUrl ",{"type":426,"tag":553,"props":70240,"children":70241},{"style":795},[70242],{"type":431,"value":957},{"type":426,"tag":553,"props":70244,"children":70245},{"style":572},[70246],{"type":431,"value":68758},{"type":426,"tag":553,"props":70248,"children":70249},{"style":684},[70250],{"type":431,"value":52321},{"type":426,"tag":553,"props":70252,"children":70253},{"class":555,"line":655},[70254],{"type":426,"tag":553,"props":70255,"children":70256},{"style":1975},[70257],{"type":431,"value":70258},"    \u002F\u002F getters and setters\n",{"type":426,"tag":553,"props":70260,"children":70261},{"class":555,"line":1036},[70262],{"type":426,"tag":553,"props":70263,"children":70264},{"style":684},[70265],{"type":431,"value":756},{"type":426,"tag":553,"props":70267,"children":70268},{"class":555,"line":1054},[70269],{"type":426,"tag":553,"props":70270,"children":70271},{"emptyLinePlaceholder":831},[70272],{"type":431,"value":834},{"type":426,"tag":553,"props":70274,"children":70275},{"class":555,"line":1080},[70276],{"type":426,"tag":553,"props":70277,"children":70278},{"style":1975},[70279],{"type":431,"value":70280},"\u002F\u002F RapiwaWebClient.java\n",{"type":426,"tag":553,"props":70282,"children":70283},{"class":555,"line":1097},[70284,70288],{"type":426,"tag":553,"props":70285,"children":70286},{"style":684},[70287],{"type":431,"value":70157},{"type":426,"tag":553,"props":70289,"children":70290},{"style":795},[70291],{"type":431,"value":70292},"Service\n",{"type":426,"tag":553,"props":70294,"children":70295},{"class":555,"line":1114},[70296,70300,70304,70309],{"type":426,"tag":553,"props":70297,"children":70298},{"style":795},[70299],{"type":431,"value":60828},{"type":426,"tag":553,"props":70301,"children":70302},{"style":795},[70303],{"type":431,"value":60833},{"type":426,"tag":553,"props":70305,"children":70306},{"style":560},[70307],{"type":431,"value":70308}," RapiwaWebClient",{"type":426,"tag":553,"props":70310,"children":70311},{"style":684},[70312],{"type":431,"value":5458},{"type":426,"tag":553,"props":70314,"children":70315},{"class":555,"line":1127},[70316],{"type":426,"tag":553,"props":70317,"children":70318},{"emptyLinePlaceholder":831},[70319],{"type":431,"value":834},{"type":426,"tag":553,"props":70321,"children":70322},{"class":555,"line":1167},[70323,70327,70331],{"type":426,"tag":553,"props":70324,"children":70325},{"style":795},[70326],{"type":431,"value":60857},{"type":426,"tag":553,"props":70328,"children":70329},{"style":795},[70330],{"type":431,"value":60867},{"type":426,"tag":553,"props":70332,"children":70333},{"style":684},[70334],{"type":431,"value":70335}," WebClient webClient;\n",{"type":426,"tag":553,"props":70337,"children":70338},{"class":555,"line":1184},[70339],{"type":426,"tag":553,"props":70340,"children":70341},{"emptyLinePlaceholder":831},[70342],{"type":431,"value":834},{"type":426,"tag":553,"props":70344,"children":70345},{"class":555,"line":1192},[70346,70350,70354,70359,70364],{"type":426,"tag":553,"props":70347,"children":70348},{"style":795},[70349],{"type":431,"value":61004},{"type":426,"tag":553,"props":70351,"children":70352},{"style":560},[70353],{"type":431,"value":70308},{"type":426,"tag":553,"props":70355,"children":70356},{"style":684},[70357],{"type":431,"value":70358},"(RapiwaProperties ",{"type":426,"tag":553,"props":70360,"children":70361},{"style":1684},[70362],{"type":431,"value":70363},"props",{"type":426,"tag":553,"props":70365,"children":70366},{"style":684},[70367],{"type":431,"value":52385},{"type":426,"tag":553,"props":70369,"children":70370},{"class":555,"line":1210},[70371,70375,70380,70384,70389,70394],{"type":426,"tag":553,"props":70372,"children":70373},{"style":566},[70374],{"type":431,"value":66973},{"type":426,"tag":553,"props":70376,"children":70377},{"style":684},[70378],{"type":431,"value":70379},".webClient ",{"type":426,"tag":553,"props":70381,"children":70382},{"style":795},[70383],{"type":431,"value":957},{"type":426,"tag":553,"props":70385,"children":70386},{"style":684},[70387],{"type":431,"value":70388}," WebClient.",{"type":426,"tag":553,"props":70390,"children":70391},{"style":560},[70392],{"type":431,"value":70393},"builder",{"type":426,"tag":553,"props":70395,"children":70396},{"style":684},[70397],{"type":431,"value":11683},{"type":426,"tag":553,"props":70399,"children":70400},{"class":555,"line":1253},[70401,70405,70410,70415,70420],{"type":426,"tag":553,"props":70402,"children":70403},{"style":684},[70404],{"type":431,"value":67025},{"type":426,"tag":553,"props":70406,"children":70407},{"style":560},[70408],{"type":431,"value":70409},"baseUrl",{"type":426,"tag":553,"props":70411,"children":70412},{"style":684},[70413],{"type":431,"value":70414},"(props.",{"type":426,"tag":553,"props":70416,"children":70417},{"style":560},[70418],{"type":431,"value":70419},"getBaseUrl",{"type":426,"tag":553,"props":70421,"children":70422},{"style":684},[70423],{"type":431,"value":70424},"())\n",{"type":426,"tag":553,"props":70426,"children":70427},{"class":555,"line":1302},[70428,70432,70437,70441,70445,70449,70453,70457,70462,70467],{"type":426,"tag":553,"props":70429,"children":70430},{"style":684},[70431],{"type":431,"value":67025},{"type":426,"tag":553,"props":70433,"children":70434},{"style":560},[70435],{"type":431,"value":70436},"defaultHeader",{"type":426,"tag":553,"props":70438,"children":70439},{"style":684},[70440],{"type":431,"value":3275},{"type":426,"tag":553,"props":70442,"children":70443},{"style":572},[70444],{"type":431,"value":45214},{"type":426,"tag":553,"props":70446,"children":70447},{"style":684},[70448],{"type":431,"value":1907},{"type":426,"tag":553,"props":70450,"children":70451},{"style":572},[70452],{"type":431,"value":67549},{"type":426,"tag":553,"props":70454,"children":70455},{"style":795},[70456],{"type":431,"value":61140},{"type":426,"tag":553,"props":70458,"children":70459},{"style":684},[70460],{"type":431,"value":70461}," props.",{"type":426,"tag":553,"props":70463,"children":70464},{"style":560},[70465],{"type":431,"value":70466},"getApiKey",{"type":426,"tag":553,"props":70468,"children":70469},{"style":684},[70470],{"type":431,"value":70424},{"type":426,"tag":553,"props":70472,"children":70473},{"class":555,"line":1374},[70474,70478,70482,70486,70490,70494,70498],{"type":426,"tag":553,"props":70475,"children":70476},{"style":684},[70477],{"type":431,"value":67025},{"type":426,"tag":553,"props":70479,"children":70480},{"style":560},[70481],{"type":431,"value":70436},{"type":426,"tag":553,"props":70483,"children":70484},{"style":684},[70485],{"type":431,"value":3275},{"type":426,"tag":553,"props":70487,"children":70488},{"style":572},[70489],{"type":431,"value":67578},{"type":426,"tag":553,"props":70491,"children":70492},{"style":684},[70493],{"type":431,"value":1907},{"type":426,"tag":553,"props":70495,"children":70496},{"style":572},[70497],{"type":431,"value":67587},{"type":426,"tag":553,"props":70499,"children":70500},{"style":684},[70501],{"type":431,"value":3262},{"type":426,"tag":553,"props":70503,"children":70504},{"class":555,"line":1414},[70505,70509,70513],{"type":426,"tag":553,"props":70506,"children":70507},{"style":684},[70508],{"type":431,"value":67025},{"type":426,"tag":553,"props":70510,"children":70511},{"style":560},[70512],{"type":431,"value":67064},{"type":426,"tag":553,"props":70514,"children":70515},{"style":684},[70516],{"type":431,"value":53227},{"type":426,"tag":553,"props":70518,"children":70519},{"class":555,"line":1479},[70520],{"type":426,"tag":553,"props":70521,"children":70522},{"style":684},[70523],{"type":431,"value":5546},{"type":426,"tag":553,"props":70525,"children":70526},{"class":555,"line":1517},[70527],{"type":426,"tag":553,"props":70528,"children":70529},{"emptyLinePlaceholder":831},[70530],{"type":431,"value":834},{"type":426,"tag":553,"props":70532,"children":70533},{"class":555,"line":1560},[70534,70538,70543,70548,70553,70558,70562,70566,70570,70574],{"type":426,"tag":553,"props":70535,"children":70536},{"style":795},[70537],{"type":431,"value":61004},{"type":426,"tag":553,"props":70539,"children":70540},{"style":684},[70541],{"type":431,"value":70542}," Mono\u003C",{"type":426,"tag":553,"props":70544,"children":70545},{"style":795},[70546],{"type":431,"value":70547},"SendMessageResponse",{"type":426,"tag":553,"props":70549,"children":70550},{"style":684},[70551],{"type":431,"value":70552},"> ",{"type":426,"tag":553,"props":70554,"children":70555},{"style":560},[70556],{"type":431,"value":70557},"sendMessageAsync",{"type":426,"tag":553,"props":70559,"children":70560},{"style":684},[70561],{"type":431,"value":61023},{"type":426,"tag":553,"props":70563,"children":70564},{"style":1684},[70565],{"type":431,"value":37598},{"type":426,"tag":553,"props":70567,"children":70568},{"style":684},[70569],{"type":431,"value":61032},{"type":426,"tag":553,"props":70571,"children":70572},{"style":1684},[70573],{"type":431,"value":2734},{"type":426,"tag":553,"props":70575,"children":70576},{"style":684},[70577],{"type":431,"value":52385},{"type":426,"tag":553,"props":70579,"children":70580},{"class":555,"line":1598},[70581,70585,70590,70595],{"type":426,"tag":553,"props":70582,"children":70583},{"style":795},[70584],{"type":431,"value":8378},{"type":426,"tag":553,"props":70586,"children":70587},{"style":684},[70588],{"type":431,"value":70589}," webClient.",{"type":426,"tag":553,"props":70591,"children":70592},{"style":560},[70593],{"type":431,"value":70594},"post",{"type":426,"tag":553,"props":70596,"children":70597},{"style":684},[70598],{"type":431,"value":11683},{"type":426,"tag":553,"props":70600,"children":70601},{"class":555,"line":1636},[70602,70606,70610,70614,70619],{"type":426,"tag":553,"props":70603,"children":70604},{"style":684},[70605],{"type":431,"value":67025},{"type":426,"tag":553,"props":70607,"children":70608},{"style":560},[70609],{"type":431,"value":67472},{"type":426,"tag":553,"props":70611,"children":70612},{"style":684},[70613],{"type":431,"value":3275},{"type":426,"tag":553,"props":70615,"children":70616},{"style":572},[70617],{"type":431,"value":70618},"\"\u002Fsend-message\"",{"type":426,"tag":553,"props":70620,"children":70621},{"style":684},[70622],{"type":431,"value":3262},{"type":426,"tag":553,"props":70624,"children":70625},{"class":555,"line":1645},[70626,70630,70635,70640,70645,70649,70653,70658,70662],{"type":426,"tag":553,"props":70627,"children":70628},{"style":684},[70629],{"type":431,"value":67025},{"type":426,"tag":553,"props":70631,"children":70632},{"style":560},[70633],{"type":431,"value":70634},"bodyValue",{"type":426,"tag":553,"props":70636,"children":70637},{"style":684},[70638],{"type":431,"value":70639},"(Map.",{"type":426,"tag":553,"props":70641,"children":70642},{"style":560},[70643],{"type":431,"value":70644},"of",{"type":426,"tag":553,"props":70646,"children":70647},{"style":684},[70648],{"type":431,"value":3275},{"type":426,"tag":553,"props":70650,"children":70651},{"style":572},[70652],{"type":431,"value":45266},{"type":426,"tag":553,"props":70654,"children":70655},{"style":684},[70656],{"type":431,"value":70657},", phone, ",{"type":426,"tag":553,"props":70659,"children":70660},{"style":572},[70661],{"type":431,"value":45275},{"type":426,"tag":553,"props":70663,"children":70664},{"style":684},[70665],{"type":431,"value":70666},", message))\n",{"type":426,"tag":553,"props":70668,"children":70669},{"class":555,"line":1653},[70670,70674,70679],{"type":426,"tag":553,"props":70671,"children":70672},{"style":684},[70673],{"type":431,"value":67025},{"type":426,"tag":553,"props":70675,"children":70676},{"style":560},[70677],{"type":431,"value":70678},"retrieve",{"type":426,"tag":553,"props":70680,"children":70681},{"style":684},[70682],{"type":431,"value":11683},{"type":426,"tag":553,"props":70684,"children":70685},{"class":555,"line":1667},[70686,70690,70695],{"type":426,"tag":553,"props":70687,"children":70688},{"style":684},[70689],{"type":431,"value":67025},{"type":426,"tag":553,"props":70691,"children":70692},{"style":560},[70693],{"type":431,"value":70694},"onStatus",{"type":426,"tag":553,"props":70696,"children":70697},{"style":684},[70698],{"type":431,"value":3172},{"type":426,"tag":553,"props":70700,"children":70701},{"class":555,"line":1680},[70702,70707,70712,70717,70722,70726,70730,70734],{"type":426,"tag":553,"props":70703,"children":70704},{"style":684},[70705],{"type":431,"value":70706},"                    status ",{"type":426,"tag":553,"props":70708,"children":70709},{"style":795},[70710],{"type":431,"value":70711},"->",{"type":426,"tag":553,"props":70713,"children":70714},{"style":684},[70715],{"type":431,"value":70716}," status.",{"type":426,"tag":553,"props":70718,"children":70719},{"style":560},[70720],{"type":431,"value":70721},"value",{"type":426,"tag":553,"props":70723,"children":70724},{"style":684},[70725],{"type":431,"value":61573},{"type":426,"tag":553,"props":70727,"children":70728},{"style":795},[70729],{"type":431,"value":1069},{"type":426,"tag":553,"props":70731,"children":70732},{"style":566},[70733],{"type":431,"value":8994},{"type":426,"tag":553,"props":70735,"children":70736},{"style":684},[70737],{"type":431,"value":710},{"type":426,"tag":553,"props":70739,"children":70740},{"class":555,"line":1740},[70741,70746,70750,70755,70760,70764,70768,70772,70776,70780],{"type":426,"tag":553,"props":70742,"children":70743},{"style":684},[70744],{"type":431,"value":70745},"                    response ",{"type":426,"tag":553,"props":70747,"children":70748},{"style":795},[70749],{"type":431,"value":70711},{"type":426,"tag":553,"props":70751,"children":70752},{"style":684},[70753],{"type":431,"value":70754}," Mono.",{"type":426,"tag":553,"props":70756,"children":70757},{"style":560},[70758],{"type":431,"value":70759},"error",{"type":426,"tag":553,"props":70761,"children":70762},{"style":684},[70763],{"type":431,"value":3275},{"type":426,"tag":553,"props":70765,"children":70766},{"style":795},[70767],{"type":431,"value":52602},{"type":426,"tag":553,"props":70769,"children":70770},{"style":560},[70771],{"type":431,"value":67762},{"type":426,"tag":553,"props":70773,"children":70774},{"style":684},[70775],{"type":431,"value":3275},{"type":426,"tag":553,"props":70777,"children":70778},{"style":572},[70779],{"type":431,"value":69605},{"type":426,"tag":553,"props":70781,"children":70782},{"style":684},[70783],{"type":431,"value":6538},{"type":426,"tag":553,"props":70785,"children":70786},{"class":555,"line":1787},[70787],{"type":426,"tag":553,"props":70788,"children":70789},{"style":684},[70790],{"type":431,"value":22121},{"type":426,"tag":553,"props":70792,"children":70793},{"class":555,"line":1796},[70794,70798,70803],{"type":426,"tag":553,"props":70795,"children":70796},{"style":684},[70797],{"type":431,"value":67025},{"type":426,"tag":553,"props":70799,"children":70800},{"style":560},[70801],{"type":431,"value":70802},"bodyToMono",{"type":426,"tag":553,"props":70804,"children":70805},{"style":684},[70806],{"type":431,"value":70807},"(SendMessageResponse.class);\n",{"type":426,"tag":553,"props":70809,"children":70810},{"class":555,"line":1804},[70811],{"type":426,"tag":553,"props":70812,"children":70813},{"style":684},[70814],{"type":431,"value":5546},{"type":426,"tag":553,"props":70816,"children":70817},{"class":555,"line":1812},[70818],{"type":426,"tag":553,"props":70819,"children":70820},{"emptyLinePlaceholder":831},[70821],{"type":431,"value":834},{"type":426,"tag":553,"props":70823,"children":70824},{"class":555,"line":1847},[70825],{"type":426,"tag":553,"props":70826,"children":70827},{"style":1975},[70828],{"type":431,"value":70829},"    \u002F\u002F Blocking wrapper for use in non-reactive code\n",{"type":426,"tag":553,"props":70831,"children":70832},{"class":555,"line":1856},[70833,70837,70841,70845,70849,70853,70857,70861],{"type":426,"tag":553,"props":70834,"children":70835},{"style":795},[70836],{"type":431,"value":61004},{"type":426,"tag":553,"props":70838,"children":70839},{"style":684},[70840],{"type":431,"value":69213},{"type":426,"tag":553,"props":70842,"children":70843},{"style":560},[70844],{"type":431,"value":68378},{"type":426,"tag":553,"props":70846,"children":70847},{"style":684},[70848],{"type":431,"value":61023},{"type":426,"tag":553,"props":70850,"children":70851},{"style":1684},[70852],{"type":431,"value":37598},{"type":426,"tag":553,"props":70854,"children":70855},{"style":684},[70856],{"type":431,"value":61032},{"type":426,"tag":553,"props":70858,"children":70859},{"style":1684},[70860],{"type":431,"value":2734},{"type":426,"tag":553,"props":70862,"children":70863},{"style":684},[70864],{"type":431,"value":52385},{"type":426,"tag":553,"props":70866,"children":70867},{"class":555,"line":1874},[70868,70872,70877,70882,70887],{"type":426,"tag":553,"props":70869,"children":70870},{"style":795},[70871],{"type":431,"value":8378},{"type":426,"tag":553,"props":70873,"children":70874},{"style":560},[70875],{"type":431,"value":70876}," sendMessageAsync",{"type":426,"tag":553,"props":70878,"children":70879},{"style":684},[70880],{"type":431,"value":70881},"(phone, message).",{"type":426,"tag":553,"props":70883,"children":70884},{"style":560},[70885],{"type":431,"value":70886},"block",{"type":426,"tag":553,"props":70888,"children":70889},{"style":684},[70890],{"type":431,"value":53227},{"type":426,"tag":553,"props":70892,"children":70893},{"class":555,"line":1882},[70894],{"type":426,"tag":553,"props":70895,"children":70896},{"style":684},[70897],{"type":431,"value":5546},{"type":426,"tag":553,"props":70899,"children":70900},{"class":555,"line":1981},[70901],{"type":426,"tag":553,"props":70902,"children":70903},{"style":684},[70904],{"type":431,"value":756},{"type":426,"tag":553,"props":70906,"children":70907},{"class":555,"line":1989},[70908],{"type":426,"tag":553,"props":70909,"children":70910},{"emptyLinePlaceholder":831},[70911],{"type":431,"value":834},{"type":426,"tag":553,"props":70913,"children":70914},{"class":555,"line":2013},[70915],{"type":426,"tag":553,"props":70916,"children":70917},{"style":1975},[70918],{"type":431,"value":70919},"\u002F\u002F Usage in a Spring Boot controller\n",{"type":426,"tag":553,"props":70921,"children":70922},{"class":555,"line":2055},[70923,70927,70932,70936,70941],{"type":426,"tag":553,"props":70924,"children":70925},{"style":684},[70926],{"type":431,"value":70157},{"type":426,"tag":553,"props":70928,"children":70929},{"style":795},[70930],{"type":431,"value":70931},"PostMapping",{"type":426,"tag":553,"props":70933,"children":70934},{"style":684},[70935],{"type":431,"value":3275},{"type":426,"tag":553,"props":70937,"children":70938},{"style":572},[70939],{"type":431,"value":70940},"\"\u002Forders\"",{"type":426,"tag":553,"props":70942,"children":70943},{"style":684},[70944],{"type":431,"value":3262},{"type":426,"tag":553,"props":70946,"children":70947},{"class":555,"line":2064},[70948,70952,70957,70961,70966,70970,70975,70980,70985],{"type":426,"tag":553,"props":70949,"children":70950},{"style":795},[70951],{"type":431,"value":60828},{"type":426,"tag":553,"props":70953,"children":70954},{"style":684},[70955],{"type":431,"value":70956}," ResponseEntity",{"type":426,"tag":553,"props":70958,"children":70959},{"style":795},[70960],{"type":431,"value":25949},{"type":426,"tag":553,"props":70962,"children":70963},{"style":684},[70964],{"type":431,"value":70965},"Order",{"type":426,"tag":553,"props":70967,"children":70968},{"style":795},[70969],{"type":431,"value":935},{"type":426,"tag":553,"props":70971,"children":70972},{"style":560},[70973],{"type":431,"value":70974}," createOrder",{"type":426,"tag":553,"props":70976,"children":70977},{"style":684},[70978],{"type":431,"value":70979},"(@",{"type":426,"tag":553,"props":70981,"children":70982},{"style":795},[70983],{"type":431,"value":70984},"RequestBody",{"type":426,"tag":553,"props":70986,"children":70987},{"style":684},[70988],{"type":431,"value":70989}," CreateOrderRequest req) {\n",{"type":426,"tag":553,"props":70991,"children":70992},{"class":555,"line":2087},[70993,70998,71002,71007,71011],{"type":426,"tag":553,"props":70994,"children":70995},{"style":684},[70996],{"type":431,"value":70997},"    Order order ",{"type":426,"tag":553,"props":70999,"children":71000},{"style":795},[71001],{"type":431,"value":957},{"type":426,"tag":553,"props":71003,"children":71004},{"style":684},[71005],{"type":431,"value":71006}," orderService.",{"type":426,"tag":553,"props":71008,"children":71009},{"style":560},[71010],{"type":431,"value":67482},{"type":426,"tag":553,"props":71012,"children":71013},{"style":684},[71014],{"type":431,"value":61416},{"type":426,"tag":553,"props":71016,"children":71017},{"class":555,"line":2096},[71018],{"type":426,"tag":553,"props":71019,"children":71020},{"emptyLinePlaceholder":831},[71021],{"type":431,"value":834},{"type":426,"tag":553,"props":71023,"children":71024},{"class":555,"line":2105},[71025],{"type":426,"tag":553,"props":71026,"children":71027},{"style":1975},[71028],{"type":431,"value":71029},"    \u002F\u002F Fire-and-forget WhatsApp notification\n",{"type":426,"tag":553,"props":71031,"children":71032},{"class":555,"line":2114},[71033,71038,71042],{"type":426,"tag":553,"props":71034,"children":71035},{"style":684},[71036],{"type":431,"value":71037},"    rapiwaWebClient.",{"type":426,"tag":553,"props":71039,"children":71040},{"style":560},[71041],{"type":431,"value":70557},{"type":426,"tag":553,"props":71043,"children":71044},{"style":684},[71045],{"type":431,"value":3172},{"type":426,"tag":553,"props":71047,"children":71048},{"class":555,"line":2123},[71049,71054,71059],{"type":426,"tag":553,"props":71050,"children":71051},{"style":684},[71052],{"type":431,"value":71053},"        order.",{"type":426,"tag":553,"props":71055,"children":71056},{"style":560},[71057],{"type":431,"value":71058},"getCustomerPhone",{"type":426,"tag":553,"props":71060,"children":71061},{"style":684},[71062],{"type":431,"value":11349},{"type":426,"tag":553,"props":71064,"children":71065},{"class":555,"line":2132},[71066,71071,71075,71079,71084],{"type":426,"tag":553,"props":71067,"children":71068},{"style":684},[71069],{"type":431,"value":71070},"        String.",{"type":426,"tag":553,"props":71072,"children":71073},{"style":560},[71074],{"type":431,"value":50029},{"type":426,"tag":553,"props":71076,"children":71077},{"style":684},[71078],{"type":431,"value":3275},{"type":426,"tag":553,"props":71080,"children":71081},{"style":572},[71082],{"type":431,"value":71083},"\"Hi %s! ✅ Order #%s confirmed. Total: $%.2f\"",{"type":426,"tag":553,"props":71085,"children":71086},{"style":684},[71087],{"type":431,"value":710},{"type":426,"tag":553,"props":71089,"children":71090},{"class":555,"line":2151},[71091,71096,71101,71106,71111,71115,71120],{"type":426,"tag":553,"props":71092,"children":71093},{"style":684},[71094],{"type":431,"value":71095},"            order.",{"type":426,"tag":553,"props":71097,"children":71098},{"style":560},[71099],{"type":431,"value":71100},"getCustomerName",{"type":426,"tag":553,"props":71102,"children":71103},{"style":684},[71104],{"type":431,"value":71105},"(), order.",{"type":426,"tag":553,"props":71107,"children":71108},{"style":560},[71109],{"type":431,"value":71110},"getId",{"type":426,"tag":553,"props":71112,"children":71113},{"style":684},[71114],{"type":431,"value":71105},{"type":426,"tag":553,"props":71116,"children":71117},{"style":560},[71118],{"type":431,"value":71119},"getTotal",{"type":426,"tag":553,"props":71121,"children":71122},{"style":684},[71123],{"type":431,"value":70424},{"type":426,"tag":553,"props":71125,"children":71126},{"class":555,"line":2160},[71127,71132,71137],{"type":426,"tag":553,"props":71128,"children":71129},{"style":684},[71130],{"type":431,"value":71131},"    ).",{"type":426,"tag":553,"props":71133,"children":71134},{"style":560},[71135],{"type":431,"value":71136},"subscribe",{"type":426,"tag":553,"props":71138,"children":71139},{"style":684},[71140],{"type":431,"value":53227},{"type":426,"tag":553,"props":71142,"children":71143},{"class":555,"line":2174},[71144],{"type":426,"tag":553,"props":71145,"children":71146},{"emptyLinePlaceholder":831},[71147],{"type":431,"value":834},{"type":426,"tag":553,"props":71149,"children":71150},{"class":555,"line":2182},[71151,71155,71160,71165,71169,71173,71177,71182,71186,71191,71195,71200,71204],{"type":426,"tag":553,"props":71152,"children":71153},{"style":795},[71154],{"type":431,"value":1659},{"type":426,"tag":553,"props":71156,"children":71157},{"style":684},[71158],{"type":431,"value":71159}," ResponseEntity.",{"type":426,"tag":553,"props":71161,"children":71162},{"style":560},[71163],{"type":431,"value":71164},"created",{"type":426,"tag":553,"props":71166,"children":71167},{"style":684},[71168],{"type":431,"value":67477},{"type":426,"tag":553,"props":71170,"children":71171},{"style":560},[71172],{"type":431,"value":67482},{"type":426,"tag":553,"props":71174,"children":71175},{"style":684},[71176],{"type":431,"value":3275},{"type":426,"tag":553,"props":71178,"children":71179},{"style":572},[71180],{"type":431,"value":71181},"\"\u002Forders\u002F\"",{"type":426,"tag":553,"props":71183,"children":71184},{"style":795},[71185],{"type":431,"value":61140},{"type":426,"tag":553,"props":71187,"children":71188},{"style":684},[71189],{"type":431,"value":71190}," order.",{"type":426,"tag":553,"props":71192,"children":71193},{"style":560},[71194],{"type":431,"value":71110},{"type":426,"tag":553,"props":71196,"children":71197},{"style":684},[71198],{"type":431,"value":71199},"())).",{"type":426,"tag":553,"props":71201,"children":71202},{"style":560},[71203],{"type":431,"value":67859},{"type":426,"tag":553,"props":71205,"children":71206},{"style":684},[71207],{"type":431,"value":71208},"(order);\n",{"type":426,"tag":553,"props":71210,"children":71211},{"class":555,"line":2205},[71212],{"type":426,"tag":553,"props":71213,"children":71214},{"style":684},[71215],{"type":431,"value":756},{"type":426,"tag":427,"props":71217,"children":71218},{},[71219],{"type":426,"tag":446,"props":71220,"children":71221},{},[71222],{"type":431,"value":71223},"cURL test:",{"type":426,"tag":542,"props":71225,"children":71227},{"className":546,"code":71226,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello from Java Spring Boot! Sent using Rapiwa API.\"\n  }'\n",[71228],{"type":426,"tag":549,"props":71229,"children":71230},{"__ignoreMap":417},[71231,71254,71269,71284,71295,71302,71310],{"type":426,"tag":553,"props":71232,"children":71233},{"class":555,"line":556},[71234,71238,71242,71246,71250],{"type":426,"tag":553,"props":71235,"children":71236},{"style":560},[71237],{"type":431,"value":563},{"type":426,"tag":553,"props":71239,"children":71240},{"style":566},[71241],{"type":431,"value":569},{"type":426,"tag":553,"props":71243,"children":71244},{"style":572},[71245],{"type":431,"value":575},{"type":426,"tag":553,"props":71247,"children":71248},{"style":572},[71249],{"type":431,"value":580},{"type":426,"tag":553,"props":71251,"children":71252},{"style":566},[71253],{"type":431,"value":585},{"type":426,"tag":553,"props":71255,"children":71256},{"class":555,"line":588},[71257,71261,71265],{"type":426,"tag":553,"props":71258,"children":71259},{"style":566},[71260],{"type":431,"value":594},{"type":426,"tag":553,"props":71262,"children":71263},{"style":572},[71264],{"type":431,"value":599},{"type":426,"tag":553,"props":71266,"children":71267},{"style":566},[71268],{"type":431,"value":585},{"type":426,"tag":553,"props":71270,"children":71271},{"class":555,"line":606},[71272,71276,71280],{"type":426,"tag":553,"props":71273,"children":71274},{"style":566},[71275],{"type":431,"value":594},{"type":426,"tag":553,"props":71277,"children":71278},{"style":572},[71279],{"type":431,"value":616},{"type":426,"tag":553,"props":71281,"children":71282},{"style":566},[71283],{"type":431,"value":585},{"type":426,"tag":553,"props":71285,"children":71286},{"class":555,"line":623},[71287,71291],{"type":426,"tag":553,"props":71288,"children":71289},{"style":566},[71290],{"type":431,"value":629},{"type":426,"tag":553,"props":71292,"children":71293},{"style":572},[71294],{"type":431,"value":634},{"type":426,"tag":553,"props":71296,"children":71297},{"class":555,"line":637},[71298],{"type":426,"tag":553,"props":71299,"children":71300},{"style":572},[71301],{"type":431,"value":643},{"type":426,"tag":553,"props":71303,"children":71304},{"class":555,"line":646},[71305],{"type":426,"tag":553,"props":71306,"children":71307},{"style":572},[71308],{"type":431,"value":71309},"    \"message\": \"Hello from Java Spring Boot! Sent using Rapiwa API.\"\n",{"type":426,"tag":553,"props":71311,"children":71312},{"class":555,"line":655},[71313],{"type":426,"tag":553,"props":71314,"children":71315},{"style":572},[71316],{"type":431,"value":661},{"type":426,"tag":427,"props":71318,"children":71319},{},[71320],{"type":426,"tag":446,"props":71321,"children":71322},{},[71323],{"type":431,"value":669},{"type":426,"tag":542,"props":71325,"children":71327},{"className":674,"code":71326,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_java_abc123\",\n  \"timestamp\": \"2026-06-28T10:30:00Z\"\n}\n",[71328],{"type":426,"tag":549,"props":71329,"children":71330},{"__ignoreMap":417},[71331,71338,71357,71377,71393],{"type":426,"tag":553,"props":71332,"children":71333},{"class":555,"line":556},[71334],{"type":426,"tag":553,"props":71335,"children":71336},{"style":684},[71337],{"type":431,"value":687},{"type":426,"tag":553,"props":71339,"children":71340},{"class":555,"line":588},[71341,71345,71349,71353],{"type":426,"tag":553,"props":71342,"children":71343},{"style":566},[71344],{"type":431,"value":695},{"type":426,"tag":553,"props":71346,"children":71347},{"style":684},[71348],{"type":431,"value":700},{"type":426,"tag":553,"props":71350,"children":71351},{"style":572},[71352],{"type":431,"value":705},{"type":426,"tag":553,"props":71354,"children":71355},{"style":684},[71356],{"type":431,"value":710},{"type":426,"tag":553,"props":71358,"children":71359},{"class":555,"line":606},[71360,71364,71368,71373],{"type":426,"tag":553,"props":71361,"children":71362},{"style":566},[71363],{"type":431,"value":718},{"type":426,"tag":553,"props":71365,"children":71366},{"style":684},[71367],{"type":431,"value":700},{"type":426,"tag":553,"props":71369,"children":71370},{"style":572},[71371],{"type":431,"value":71372},"\"msg_java_abc123\"",{"type":426,"tag":553,"props":71374,"children":71375},{"style":684},[71376],{"type":431,"value":710},{"type":426,"tag":553,"props":71378,"children":71379},{"class":555,"line":623},[71380,71384,71388],{"type":426,"tag":553,"props":71381,"children":71382},{"style":566},[71383],{"type":431,"value":739},{"type":426,"tag":553,"props":71385,"children":71386},{"style":684},[71387],{"type":431,"value":700},{"type":426,"tag":553,"props":71389,"children":71390},{"style":572},[71391],{"type":431,"value":71392},"\"2026-06-28T10:30:00Z\"\n",{"type":426,"tag":553,"props":71394,"children":71395},{"class":555,"line":637},[71396],{"type":426,"tag":553,"props":71397,"children":71398},{"style":684},[71399],{"type":431,"value":756},{"type":426,"tag":434,"props":71401,"children":71402},{"id":18886},[71403],{"type":431,"value":18889},{"type":426,"tag":454,"props":71405,"children":71406},{},[71407,71429,71443,71464],{"type":426,"tag":458,"props":71408,"children":71409},{},[71410,71419,71421,71427],{"type":426,"tag":446,"props":71411,"children":71412},{},[71413],{"type":426,"tag":549,"props":71414,"children":71416},{"className":71415},[],[71417],{"type":431,"value":71418},"java.net.ConnectException",{"type":431,"value":71420},": Your server can't reach ",{"type":426,"tag":549,"props":71422,"children":71424},{"className":71423},[],[71425],{"type":431,"value":71426},"app.rapiwa.com",{"type":431,"value":71428},". Check firewall and outbound HTTPS (port 443) access.",{"type":426,"tag":458,"props":71430,"children":71431},{},[71432,71441],{"type":426,"tag":446,"props":71433,"children":71434},{},[71435],{"type":426,"tag":549,"props":71436,"children":71438},{"className":71437},[],[71439],{"type":431,"value":71440},"HTTP 401",{"type":431,"value":71442},": API key is invalid or expired. Regenerate in Rapiwa Dashboard → API Keys.",{"type":426,"tag":458,"props":71444,"children":71445},{},[71446,71455,71457,71463],{"type":426,"tag":446,"props":71447,"children":71448},{},[71449],{"type":426,"tag":549,"props":71450,"children":71452},{"className":71451},[],[71453],{"type":431,"value":71454},"HTTP 400",{"type":431,"value":71456},": Phone number format is wrong — remove all non-digits. Use ",{"type":426,"tag":549,"props":71458,"children":71460},{"className":71459},[],[71461],{"type":431,"value":71462},"phone.replaceAll(\"[^0-9]\", \"\")",{"type":431,"value":6789},{"type":426,"tag":458,"props":71465,"children":71466},{},[71467,71476,71478,71484],{"type":426,"tag":446,"props":71468,"children":71469},{},[71470],{"type":426,"tag":549,"props":71471,"children":71473},{"className":71472},[],[71474],{"type":431,"value":71475},"JsonMappingException",{"type":431,"value":71477},": The response structure changed or your model has a typo. Log ",{"type":426,"tag":549,"props":71479,"children":71481},{"className":71480},[],[71482],{"type":431,"value":71483},"response.body()",{"type":431,"value":71485}," to inspect the raw JSON.",{"type":426,"tag":434,"props":71487,"children":71488},{"id":4109},[71489],{"type":431,"value":4112},{"type":426,"tag":427,"props":71491,"children":71492},{},[71493,71498,71500,71506,71508,71513],{"type":426,"tag":446,"props":71494,"children":71495},{},[71496],{"type":431,"value":71497},"Is there a Java SDK for Rapiwa?",{"type":431,"value":71499},"\nA Java SDK is on Rapiwa's roadmap. For now, use the ",{"type":426,"tag":549,"props":71501,"children":71503},{"className":71502},[],[71504],{"type":431,"value":71505},"HttpClient",{"type":431,"value":71507}," or Spring ",{"type":426,"tag":549,"props":71509,"children":71511},{"className":71510},[],[71512],{"type":431,"value":66702},{"type":431,"value":71514}," patterns in this tutorial.",{"type":426,"tag":427,"props":71516,"children":71517},{},[71518,71523],{"type":426,"tag":446,"props":71519,"children":71520},{},[71521],{"type":431,"value":71522},"Does Rapiwa charge per message sent from Java?",{"type":431,"value":30566},{"type":426,"tag":427,"props":71525,"children":71526},{},[71527,71532,71534,71540,71542,71548],{"type":426,"tag":446,"props":71528,"children":71529},{},[71530],{"type":431,"value":71531},"Can I send WhatsApp messages asynchronously in Java?",{"type":431,"value":71533},"\nYes. Use ",{"type":426,"tag":549,"props":71535,"children":71537},{"className":71536},[],[71538],{"type":431,"value":71539},"HttpClient.sendAsync()",{"type":431,"value":71541}," (Java 11+) or Spring WebClient's reactive ",{"type":426,"tag":549,"props":71543,"children":71545},{"className":71544},[],[71546],{"type":431,"value":71547},"Mono\u003CSendMessageResponse>",{"type":431,"value":71549}," for non-blocking sends.",{"type":426,"tag":427,"props":71551,"children":71552},{},[71553,71558,71559,71564,71566,71571,71573,71578,71580,71585],{"type":426,"tag":446,"props":71554,"children":71555},{},[71556],{"type":431,"value":71557},"What is the phone number format for the Rapiwa API?",{"type":431,"value":36498},{"type":426,"tag":549,"props":71560,"children":71562},{"className":71561},[],[71563],{"type":431,"value":2033},{"type":431,"value":71565}," or spaces. Bangladesh: ",{"type":426,"tag":549,"props":71567,"children":71569},{"className":71568},[],[71570],{"type":431,"value":7237},{"type":431,"value":71572},". UK: ",{"type":426,"tag":549,"props":71574,"children":71576},{"className":71575},[],[71577],{"type":431,"value":6779},{"type":431,"value":71579},". US: ",{"type":426,"tag":549,"props":71581,"children":71583},{"className":71582},[],[71584],{"type":431,"value":36525},{"type":431,"value":6789},{"type":426,"tag":427,"props":71587,"children":71588},{},[71589,71594,71596,71601],{"type":426,"tag":446,"props":71590,"children":71591},{},[71592],{"type":431,"value":71593},"Can I use this code with Android?",{"type":431,"value":71595},"\nAndroid doesn't support ",{"type":426,"tag":549,"props":71597,"children":71599},{"className":71598},[],[71600],{"type":431,"value":66687},{"type":431,"value":71602},". Use OkHttp or Volley for Android applications instead.",{"type":426,"tag":4164,"props":71604,"children":71605},{},[71606],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":71608},[71609,71610,71612,71613,71614,71615],{"id":47624,"depth":588,"text":47627},{"id":66759,"depth":588,"text":71611},"Method 1: Java 11+ java.net.http (No External Libraries)",{"id":68463,"depth":588,"text":68466},{"id":69918,"depth":588,"text":69921},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-java-rapiwa.md","blog\u002Fwhatsapp-api-java-rapiwa.md","blog\u002Fwhatsapp-api-java-rapiwa",{"loc":93},{"_path":97,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":98,"description":99,"date":71621,"author":54670,"category":22,"_slug":71622,"image":71623,"body":71624,"_type":4187,"_id":77282,"_source":4189,"_file":77283,"_stem":77284,"_extension":4192,"sitemap":77285},"2026-03-04","whatsapp-api-csharp-dotnet-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-csharp-dotnet-rapiwa.svg",{"type":423,"children":71625,"toc":77273},[71626,71660,71664,71697,71703,71708,72768,72776,72784,72790,72795,73169,74136,74364,74428,75028,75034,75548,75554,76875,76882,76975,76979,77064,77068,77078,77087,77111,77136,77146,77243,77269],{"type":426,"tag":427,"props":71627,"children":71628},{},[71629,71631,71636,71638,71643,71645,71650,71652,71658],{"type":431,"value":71630},"You can send WhatsApp messages from a C# .NET application using Rapiwa API with ",{"type":426,"tag":549,"props":71632,"children":71634},{"className":71633},[],[71635],{"type":431,"value":71505},{"type":431,"value":71637},". Post a JSON payload to ",{"type":426,"tag":549,"props":71639,"children":71641},{"className":71640},[],[71642],{"type":431,"value":48098},{"type":431,"value":71644}," with your Bearer token and the recipient's phone number. This tutorial covers ",{"type":426,"tag":549,"props":71646,"children":71648},{"className":71647},[],[71649],{"type":431,"value":71505},{"type":431,"value":71651},", typed clients, ",{"type":426,"tag":549,"props":71653,"children":71655},{"className":71654},[],[71656],{"type":431,"value":71657},"IHttpClientFactory",{"type":431,"value":71659}," with dependency injection, and asynchronous patterns. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":71661,"children":71662},{"id":47624},[71663],{"type":431,"value":47627},{"type":426,"tag":454,"props":71665,"children":71666},{},[71667,71677,71681,71686],{"type":426,"tag":458,"props":71668,"children":71669},{},[71670,71671,71676],{"type":431,"value":48828},{"type":426,"tag":3819,"props":71672,"children":71674},{"href":3821,"rel":71673},[3823],[71675],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":71678,"children":71679},{},[71680],{"type":431,"value":48840},{"type":426,"tag":458,"props":71682,"children":71683},{},[71684],{"type":431,"value":71685},".NET 6, 7, or 8",{"type":426,"tag":458,"props":71687,"children":71688},{},[71689,71695],{"type":426,"tag":549,"props":71690,"children":71692},{"className":71691},[],[71693],{"type":431,"value":71694},"System.Net.Http.Json",{"type":431,"value":71696}," (included in .NET 6+)",{"type":426,"tag":434,"props":71698,"children":71700},{"id":71699},"step-1-basic-httpclient-implementation",[71701],{"type":431,"value":71702},"Step 1: Basic HttpClient Implementation",{"type":426,"tag":427,"props":71704,"children":71705},{},[71706],{"type":431,"value":71707},"The simplest way — works in any .NET project:",{"type":426,"tag":542,"props":71709,"children":71713},{"code":71710,"language":71711,"meta":417,"className":71712,"style":417},"using System.Net.Http;\nusing System.Net.Http.Json;\nusing System.Text.Json.Serialization;\nusing System.Threading.Tasks;\n\n\u002F\u002F Model classes\npublic record SendMessageRequest(\n    [property: JsonPropertyName(\"number\")] string Number,\n    [property: JsonPropertyName(\"message\")] string Message\n);\n\npublic record SendMessageResponse(\n    [property: JsonPropertyName(\"status\")] string Status,\n    [property: JsonPropertyName(\"messageId\")] string? MessageId,\n    [property: JsonPropertyName(\"timestamp\")] string? Timestamp\n);\n\n\u002F\u002F Send a WhatsApp message\npublic async Task\u003CSendMessageResponse> SendWhatsAppAsync(\n    string phone,\n    string message,\n    string apiKey)\n{\n    using var httpClient = new HttpClient();\n    httpClient.DefaultRequestHeaders.Authorization =\n        new System.Net.Http.Headers.AuthenticationHeaderValue(\"Bearer\", apiKey);\n\n    var request = new SendMessageRequest(phone, message);\n    var response = await httpClient.PostAsJsonAsync(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        request\n    );\n\n    response.EnsureSuccessStatusCode();\n    return await response.Content.ReadFromJsonAsync\u003CSendMessageResponse>()\n        ?? throw new InvalidOperationException(\"Empty response from Rapiwa API\");\n}\n\n\u002F\u002F Usage\nvar result = await SendWhatsAppAsync(\n    phone: \"8801234567890\",\n    message: \"Hello from C#! This was sent using Rapiwa API.\",\n    apiKey: \"YOUR_API_KEY\"\n);\n\nConsole.WriteLine($\"Status: {result.Status}\");\nConsole.WriteLine($\"Message ID: {result.MessageId}\");\n","csharp","language-csharp shiki shiki-themes github-dark",[71714],{"type":426,"tag":549,"props":71715,"children":71716},{"__ignoreMap":417},[71717,71752,71792,71833,71866,71873,71881,71900,71949,71989,71996,72003,72022,72066,72115,72159,72166,72173,72181,72218,72234,72249,72264,72271,72306,72319,72379,72386,72415,72447,72458,72466,72474,72481,72498,72532,72567,72574,72581,72588,72617,72636,72656,72672,72679,72686,72728],{"type":426,"tag":553,"props":71718,"children":71719},{"class":555,"line":556},[71720,71725,71730,71734,71739,71743,71748],{"type":426,"tag":553,"props":71721,"children":71722},{"style":795},[71723],{"type":431,"value":71724},"using",{"type":426,"tag":553,"props":71726,"children":71727},{"style":560},[71728],{"type":431,"value":71729}," System",{"type":426,"tag":553,"props":71731,"children":71732},{"style":684},[71733],{"type":431,"value":6789},{"type":426,"tag":553,"props":71735,"children":71736},{"style":560},[71737],{"type":431,"value":71738},"Net",{"type":426,"tag":553,"props":71740,"children":71741},{"style":684},[71742],{"type":431,"value":6789},{"type":426,"tag":553,"props":71744,"children":71745},{"style":560},[71746],{"type":431,"value":71747},"Http",{"type":426,"tag":553,"props":71749,"children":71750},{"style":684},[71751],{"type":431,"value":52321},{"type":426,"tag":553,"props":71753,"children":71754},{"class":555,"line":588},[71755,71759,71763,71767,71771,71775,71779,71783,71788],{"type":426,"tag":553,"props":71756,"children":71757},{"style":795},[71758],{"type":431,"value":71724},{"type":426,"tag":553,"props":71760,"children":71761},{"style":560},[71762],{"type":431,"value":71729},{"type":426,"tag":553,"props":71764,"children":71765},{"style":684},[71766],{"type":431,"value":6789},{"type":426,"tag":553,"props":71768,"children":71769},{"style":560},[71770],{"type":431,"value":71738},{"type":426,"tag":553,"props":71772,"children":71773},{"style":684},[71774],{"type":431,"value":6789},{"type":426,"tag":553,"props":71776,"children":71777},{"style":560},[71778],{"type":431,"value":71747},{"type":426,"tag":553,"props":71780,"children":71781},{"style":684},[71782],{"type":431,"value":6789},{"type":426,"tag":553,"props":71784,"children":71785},{"style":560},[71786],{"type":431,"value":71787},"Json",{"type":426,"tag":553,"props":71789,"children":71790},{"style":684},[71791],{"type":431,"value":52321},{"type":426,"tag":553,"props":71793,"children":71794},{"class":555,"line":606},[71795,71799,71803,71807,71812,71816,71820,71824,71829],{"type":426,"tag":553,"props":71796,"children":71797},{"style":795},[71798],{"type":431,"value":71724},{"type":426,"tag":553,"props":71800,"children":71801},{"style":560},[71802],{"type":431,"value":71729},{"type":426,"tag":553,"props":71804,"children":71805},{"style":684},[71806],{"type":431,"value":6789},{"type":426,"tag":553,"props":71808,"children":71809},{"style":560},[71810],{"type":431,"value":71811},"Text",{"type":426,"tag":553,"props":71813,"children":71814},{"style":684},[71815],{"type":431,"value":6789},{"type":426,"tag":553,"props":71817,"children":71818},{"style":560},[71819],{"type":431,"value":71787},{"type":426,"tag":553,"props":71821,"children":71822},{"style":684},[71823],{"type":431,"value":6789},{"type":426,"tag":553,"props":71825,"children":71826},{"style":560},[71827],{"type":431,"value":71828},"Serialization",{"type":426,"tag":553,"props":71830,"children":71831},{"style":684},[71832],{"type":431,"value":52321},{"type":426,"tag":553,"props":71834,"children":71835},{"class":555,"line":623},[71836,71840,71844,71848,71853,71857,71862],{"type":426,"tag":553,"props":71837,"children":71838},{"style":795},[71839],{"type":431,"value":71724},{"type":426,"tag":553,"props":71841,"children":71842},{"style":560},[71843],{"type":431,"value":71729},{"type":426,"tag":553,"props":71845,"children":71846},{"style":684},[71847],{"type":431,"value":6789},{"type":426,"tag":553,"props":71849,"children":71850},{"style":560},[71851],{"type":431,"value":71852},"Threading",{"type":426,"tag":553,"props":71854,"children":71855},{"style":684},[71856],{"type":431,"value":6789},{"type":426,"tag":553,"props":71858,"children":71859},{"style":560},[71860],{"type":431,"value":71861},"Tasks",{"type":426,"tag":553,"props":71863,"children":71864},{"style":684},[71865],{"type":431,"value":52321},{"type":426,"tag":553,"props":71867,"children":71868},{"class":555,"line":637},[71869],{"type":426,"tag":553,"props":71870,"children":71871},{"emptyLinePlaceholder":831},[71872],{"type":431,"value":834},{"type":426,"tag":553,"props":71874,"children":71875},{"class":555,"line":646},[71876],{"type":426,"tag":553,"props":71877,"children":71878},{"style":1975},[71879],{"type":431,"value":71880},"\u002F\u002F Model classes\n",{"type":426,"tag":553,"props":71882,"children":71883},{"class":555,"line":655},[71884,71888,71892,71896],{"type":426,"tag":553,"props":71885,"children":71886},{"style":795},[71887],{"type":431,"value":60828},{"type":426,"tag":553,"props":71889,"children":71890},{"style":795},[71891],{"type":431,"value":68835},{"type":426,"tag":553,"props":71893,"children":71894},{"style":560},[71895],{"type":431,"value":68840},{"type":426,"tag":553,"props":71897,"children":71898},{"style":684},[71899],{"type":431,"value":3172},{"type":426,"tag":553,"props":71901,"children":71902},{"class":555,"line":1036},[71903,71908,71913,71917,71922,71926,71930,71935,71940,71945],{"type":426,"tag":553,"props":71904,"children":71905},{"style":684},[71906],{"type":431,"value":71907},"    [",{"type":426,"tag":553,"props":71909,"children":71910},{"style":795},[71911],{"type":431,"value":71912},"property",{"type":426,"tag":553,"props":71914,"children":71915},{"style":684},[71916],{"type":431,"value":700},{"type":426,"tag":553,"props":71918,"children":71919},{"style":560},[71920],{"type":431,"value":71921},"JsonPropertyName",{"type":426,"tag":553,"props":71923,"children":71924},{"style":684},[71925],{"type":431,"value":3275},{"type":426,"tag":553,"props":71927,"children":71928},{"style":572},[71929],{"type":431,"value":45266},{"type":426,"tag":553,"props":71931,"children":71932},{"style":684},[71933],{"type":431,"value":71934},")] ",{"type":426,"tag":553,"props":71936,"children":71937},{"style":795},[71938],{"type":431,"value":71939},"string",{"type":426,"tag":553,"props":71941,"children":71942},{"style":560},[71943],{"type":431,"value":71944}," Number",{"type":426,"tag":553,"props":71946,"children":71947},{"style":684},[71948],{"type":431,"value":710},{"type":426,"tag":553,"props":71950,"children":71951},{"class":555,"line":1054},[71952,71956,71960,71964,71968,71972,71976,71980,71984],{"type":426,"tag":553,"props":71953,"children":71954},{"style":684},[71955],{"type":431,"value":71907},{"type":426,"tag":553,"props":71957,"children":71958},{"style":795},[71959],{"type":431,"value":71912},{"type":426,"tag":553,"props":71961,"children":71962},{"style":684},[71963],{"type":431,"value":700},{"type":426,"tag":553,"props":71965,"children":71966},{"style":560},[71967],{"type":431,"value":71921},{"type":426,"tag":553,"props":71969,"children":71970},{"style":684},[71971],{"type":431,"value":3275},{"type":426,"tag":553,"props":71973,"children":71974},{"style":572},[71975],{"type":431,"value":45275},{"type":426,"tag":553,"props":71977,"children":71978},{"style":684},[71979],{"type":431,"value":71934},{"type":426,"tag":553,"props":71981,"children":71982},{"style":795},[71983],{"type":431,"value":71939},{"type":426,"tag":553,"props":71985,"children":71986},{"style":560},[71987],{"type":431,"value":71988}," Message\n",{"type":426,"tag":553,"props":71990,"children":71991},{"class":555,"line":1080},[71992],{"type":426,"tag":553,"props":71993,"children":71994},{"style":684},[71995],{"type":431,"value":11379},{"type":426,"tag":553,"props":71997,"children":71998},{"class":555,"line":1097},[71999],{"type":426,"tag":553,"props":72000,"children":72001},{"emptyLinePlaceholder":831},[72002],{"type":431,"value":834},{"type":426,"tag":553,"props":72004,"children":72005},{"class":555,"line":1114},[72006,72010,72014,72018],{"type":426,"tag":553,"props":72007,"children":72008},{"style":795},[72009],{"type":431,"value":60828},{"type":426,"tag":553,"props":72011,"children":72012},{"style":795},[72013],{"type":431,"value":68835},{"type":426,"tag":553,"props":72015,"children":72016},{"style":560},[72017],{"type":431,"value":68933},{"type":426,"tag":553,"props":72019,"children":72020},{"style":684},[72021],{"type":431,"value":3172},{"type":426,"tag":553,"props":72023,"children":72024},{"class":555,"line":1127},[72025,72029,72033,72037,72041,72045,72049,72053,72057,72062],{"type":426,"tag":553,"props":72026,"children":72027},{"style":684},[72028],{"type":431,"value":71907},{"type":426,"tag":553,"props":72030,"children":72031},{"style":795},[72032],{"type":431,"value":71912},{"type":426,"tag":553,"props":72034,"children":72035},{"style":684},[72036],{"type":431,"value":700},{"type":426,"tag":553,"props":72038,"children":72039},{"style":560},[72040],{"type":431,"value":71921},{"type":426,"tag":553,"props":72042,"children":72043},{"style":684},[72044],{"type":431,"value":3275},{"type":426,"tag":553,"props":72046,"children":72047},{"style":572},[72048],{"type":431,"value":68957},{"type":426,"tag":553,"props":72050,"children":72051},{"style":684},[72052],{"type":431,"value":71934},{"type":426,"tag":553,"props":72054,"children":72055},{"style":795},[72056],{"type":431,"value":71939},{"type":426,"tag":553,"props":72058,"children":72059},{"style":560},[72060],{"type":431,"value":72061}," Status",{"type":426,"tag":553,"props":72063,"children":72064},{"style":684},[72065],{"type":431,"value":710},{"type":426,"tag":553,"props":72067,"children":72068},{"class":555,"line":1167},[72069,72073,72077,72081,72085,72089,72093,72097,72101,72106,72111],{"type":426,"tag":553,"props":72070,"children":72071},{"style":684},[72072],{"type":431,"value":71907},{"type":426,"tag":553,"props":72074,"children":72075},{"style":795},[72076],{"type":431,"value":71912},{"type":426,"tag":553,"props":72078,"children":72079},{"style":684},[72080],{"type":431,"value":700},{"type":426,"tag":553,"props":72082,"children":72083},{"style":560},[72084],{"type":431,"value":71921},{"type":426,"tag":553,"props":72086,"children":72087},{"style":684},[72088],{"type":431,"value":3275},{"type":426,"tag":553,"props":72090,"children":72091},{"style":572},[72092],{"type":431,"value":68982},{"type":426,"tag":553,"props":72094,"children":72095},{"style":684},[72096],{"type":431,"value":71934},{"type":426,"tag":553,"props":72098,"children":72099},{"style":795},[72100],{"type":431,"value":71939},{"type":426,"tag":553,"props":72102,"children":72103},{"style":684},[72104],{"type":431,"value":72105},"? ",{"type":426,"tag":553,"props":72107,"children":72108},{"style":560},[72109],{"type":431,"value":72110},"MessageId",{"type":426,"tag":553,"props":72112,"children":72113},{"style":684},[72114],{"type":431,"value":710},{"type":426,"tag":553,"props":72116,"children":72117},{"class":555,"line":1184},[72118,72122,72126,72130,72134,72138,72142,72146,72150,72154],{"type":426,"tag":553,"props":72119,"children":72120},{"style":684},[72121],{"type":431,"value":71907},{"type":426,"tag":553,"props":72123,"children":72124},{"style":795},[72125],{"type":431,"value":71912},{"type":426,"tag":553,"props":72127,"children":72128},{"style":684},[72129],{"type":431,"value":700},{"type":426,"tag":553,"props":72131,"children":72132},{"style":560},[72133],{"type":431,"value":71921},{"type":426,"tag":553,"props":72135,"children":72136},{"style":684},[72137],{"type":431,"value":3275},{"type":426,"tag":553,"props":72139,"children":72140},{"style":572},[72141],{"type":431,"value":69007},{"type":426,"tag":553,"props":72143,"children":72144},{"style":684},[72145],{"type":431,"value":71934},{"type":426,"tag":553,"props":72147,"children":72148},{"style":795},[72149],{"type":431,"value":71939},{"type":426,"tag":553,"props":72151,"children":72152},{"style":684},[72153],{"type":431,"value":72105},{"type":426,"tag":553,"props":72155,"children":72156},{"style":560},[72157],{"type":431,"value":72158},"Timestamp\n",{"type":426,"tag":553,"props":72160,"children":72161},{"class":555,"line":1192},[72162],{"type":426,"tag":553,"props":72163,"children":72164},{"style":684},[72165],{"type":431,"value":11379},{"type":426,"tag":553,"props":72167,"children":72168},{"class":555,"line":1210},[72169],{"type":426,"tag":553,"props":72170,"children":72171},{"emptyLinePlaceholder":831},[72172],{"type":431,"value":834},{"type":426,"tag":553,"props":72174,"children":72175},{"class":555,"line":1253},[72176],{"type":426,"tag":553,"props":72177,"children":72178},{"style":1975},[72179],{"type":431,"value":72180},"\u002F\u002F Send a WhatsApp message\n",{"type":426,"tag":553,"props":72182,"children":72183},{"class":555,"line":1302},[72184,72188,72193,72197,72201,72205,72209,72214],{"type":426,"tag":553,"props":72185,"children":72186},{"style":795},[72187],{"type":431,"value":60828},{"type":426,"tag":553,"props":72189,"children":72190},{"style":795},[72191],{"type":431,"value":72192}," async",{"type":426,"tag":553,"props":72194,"children":72195},{"style":560},[72196],{"type":431,"value":62641},{"type":426,"tag":553,"props":72198,"children":72199},{"style":684},[72200],{"type":431,"value":25949},{"type":426,"tag":553,"props":72202,"children":72203},{"style":560},[72204],{"type":431,"value":70547},{"type":426,"tag":553,"props":72206,"children":72207},{"style":684},[72208],{"type":431,"value":70552},{"type":426,"tag":553,"props":72210,"children":72211},{"style":560},[72212],{"type":431,"value":72213},"SendWhatsAppAsync",{"type":426,"tag":553,"props":72215,"children":72216},{"style":684},[72217],{"type":431,"value":3172},{"type":426,"tag":553,"props":72219,"children":72220},{"class":555,"line":1374},[72221,72226,72230],{"type":426,"tag":553,"props":72222,"children":72223},{"style":795},[72224],{"type":431,"value":72225},"    string",{"type":426,"tag":553,"props":72227,"children":72228},{"style":560},[72229],{"type":431,"value":55668},{"type":426,"tag":553,"props":72231,"children":72232},{"style":684},[72233],{"type":431,"value":710},{"type":426,"tag":553,"props":72235,"children":72236},{"class":555,"line":1414},[72237,72241,72245],{"type":426,"tag":553,"props":72238,"children":72239},{"style":795},[72240],{"type":431,"value":72225},{"type":426,"tag":553,"props":72242,"children":72243},{"style":560},[72244],{"type":431,"value":55741},{"type":426,"tag":553,"props":72246,"children":72247},{"style":684},[72248],{"type":431,"value":710},{"type":426,"tag":553,"props":72250,"children":72251},{"class":555,"line":1479},[72252,72256,72260],{"type":426,"tag":553,"props":72253,"children":72254},{"style":795},[72255],{"type":431,"value":72225},{"type":426,"tag":553,"props":72257,"children":72258},{"style":560},[72259],{"type":431,"value":55709},{"type":426,"tag":553,"props":72261,"children":72262},{"style":684},[72263],{"type":431,"value":3262},{"type":426,"tag":553,"props":72265,"children":72266},{"class":555,"line":1517},[72267],{"type":426,"tag":553,"props":72268,"children":72269},{"style":684},[72270],{"type":431,"value":687},{"type":426,"tag":553,"props":72272,"children":72273},{"class":555,"line":1560},[72274,72279,72284,72289,72293,72297,72302],{"type":426,"tag":553,"props":72275,"children":72276},{"style":795},[72277],{"type":431,"value":72278},"    using",{"type":426,"tag":553,"props":72280,"children":72281},{"style":795},[72282],{"type":431,"value":72283}," var",{"type":426,"tag":553,"props":72285,"children":72286},{"style":560},[72287],{"type":431,"value":72288}," httpClient",{"type":426,"tag":553,"props":72290,"children":72291},{"style":795},[72292],{"type":431,"value":8739},{"type":426,"tag":553,"props":72294,"children":72295},{"style":795},[72296],{"type":431,"value":52275},{"type":426,"tag":553,"props":72298,"children":72299},{"style":560},[72300],{"type":431,"value":72301}," HttpClient",{"type":426,"tag":553,"props":72303,"children":72304},{"style":684},[72305],{"type":431,"value":53227},{"type":426,"tag":553,"props":72307,"children":72308},{"class":555,"line":1598},[72309,72314],{"type":426,"tag":553,"props":72310,"children":72311},{"style":684},[72312],{"type":431,"value":72313},"    httpClient.DefaultRequestHeaders.Authorization ",{"type":426,"tag":553,"props":72315,"children":72316},{"style":795},[72317],{"type":431,"value":72318},"=\n",{"type":426,"tag":553,"props":72320,"children":72321},{"class":555,"line":1636},[72322,72327,72331,72335,72339,72343,72347,72351,72356,72360,72365,72369,72374],{"type":426,"tag":553,"props":72323,"children":72324},{"style":795},[72325],{"type":431,"value":72326},"        new",{"type":426,"tag":553,"props":72328,"children":72329},{"style":560},[72330],{"type":431,"value":71729},{"type":426,"tag":553,"props":72332,"children":72333},{"style":684},[72334],{"type":431,"value":6789},{"type":426,"tag":553,"props":72336,"children":72337},{"style":560},[72338],{"type":431,"value":71738},{"type":426,"tag":553,"props":72340,"children":72341},{"style":684},[72342],{"type":431,"value":6789},{"type":426,"tag":553,"props":72344,"children":72345},{"style":560},[72346],{"type":431,"value":71747},{"type":426,"tag":553,"props":72348,"children":72349},{"style":684},[72350],{"type":431,"value":6789},{"type":426,"tag":553,"props":72352,"children":72353},{"style":560},[72354],{"type":431,"value":72355},"Headers",{"type":426,"tag":553,"props":72357,"children":72358},{"style":684},[72359],{"type":431,"value":6789},{"type":426,"tag":553,"props":72361,"children":72362},{"style":560},[72363],{"type":431,"value":72364},"AuthenticationHeaderValue",{"type":426,"tag":553,"props":72366,"children":72367},{"style":684},[72368],{"type":431,"value":3275},{"type":426,"tag":553,"props":72370,"children":72371},{"style":572},[72372],{"type":431,"value":72373},"\"Bearer\"",{"type":426,"tag":553,"props":72375,"children":72376},{"style":684},[72377],{"type":431,"value":72378},", apiKey);\n",{"type":426,"tag":553,"props":72380,"children":72381},{"class":555,"line":1645},[72382],{"type":426,"tag":553,"props":72383,"children":72384},{"emptyLinePlaceholder":831},[72385],{"type":431,"value":834},{"type":426,"tag":553,"props":72387,"children":72388},{"class":555,"line":1653},[72389,72394,72399,72403,72407,72411],{"type":426,"tag":553,"props":72390,"children":72391},{"style":795},[72392],{"type":431,"value":72393},"    var",{"type":426,"tag":553,"props":72395,"children":72396},{"style":560},[72397],{"type":431,"value":72398}," request",{"type":426,"tag":553,"props":72400,"children":72401},{"style":795},[72402],{"type":431,"value":8739},{"type":426,"tag":553,"props":72404,"children":72405},{"style":795},[72406],{"type":431,"value":52275},{"type":426,"tag":553,"props":72408,"children":72409},{"style":560},[72410],{"type":431,"value":68840},{"type":426,"tag":553,"props":72412,"children":72413},{"style":684},[72414],{"type":431,"value":62085},{"type":426,"tag":553,"props":72416,"children":72417},{"class":555,"line":1667},[72418,72422,72426,72430,72434,72438,72443],{"type":426,"tag":553,"props":72419,"children":72420},{"style":795},[72421],{"type":431,"value":72393},{"type":426,"tag":553,"props":72423,"children":72424},{"style":560},[72425],{"type":431,"value":53061},{"type":426,"tag":553,"props":72427,"children":72428},{"style":795},[72429],{"type":431,"value":8739},{"type":426,"tag":553,"props":72431,"children":72432},{"style":795},[72433],{"type":431,"value":53070},{"type":426,"tag":553,"props":72435,"children":72436},{"style":684},[72437],{"type":431,"value":67666},{"type":426,"tag":553,"props":72439,"children":72440},{"style":560},[72441],{"type":431,"value":72442},"PostAsJsonAsync",{"type":426,"tag":553,"props":72444,"children":72445},{"style":684},[72446],{"type":431,"value":3172},{"type":426,"tag":553,"props":72448,"children":72449},{"class":555,"line":1680},[72450,72454],{"type":426,"tag":553,"props":72451,"children":72452},{"style":572},[72453],{"type":431,"value":47296},{"type":426,"tag":553,"props":72455,"children":72456},{"style":684},[72457],{"type":431,"value":710},{"type":426,"tag":553,"props":72459,"children":72460},{"class":555,"line":1740},[72461],{"type":426,"tag":553,"props":72462,"children":72463},{"style":684},[72464],{"type":431,"value":72465},"        request\n",{"type":426,"tag":553,"props":72467,"children":72468},{"class":555,"line":1787},[72469],{"type":426,"tag":553,"props":72470,"children":72471},{"style":684},[72472],{"type":431,"value":72473},"    );\n",{"type":426,"tag":553,"props":72475,"children":72476},{"class":555,"line":1796},[72477],{"type":426,"tag":553,"props":72478,"children":72479},{"emptyLinePlaceholder":831},[72480],{"type":431,"value":834},{"type":426,"tag":553,"props":72482,"children":72483},{"class":555,"line":1804},[72484,72489,72494],{"type":426,"tag":553,"props":72485,"children":72486},{"style":684},[72487],{"type":431,"value":72488},"    response.",{"type":426,"tag":553,"props":72490,"children":72491},{"style":560},[72492],{"type":431,"value":72493},"EnsureSuccessStatusCode",{"type":426,"tag":553,"props":72495,"children":72496},{"style":684},[72497],{"type":431,"value":53227},{"type":426,"tag":553,"props":72499,"children":72500},{"class":555,"line":1812},[72501,72505,72509,72514,72519,72523,72527],{"type":426,"tag":553,"props":72502,"children":72503},{"style":795},[72504],{"type":431,"value":1659},{"type":426,"tag":553,"props":72506,"children":72507},{"style":795},[72508],{"type":431,"value":53070},{"type":426,"tag":553,"props":72510,"children":72511},{"style":684},[72512],{"type":431,"value":72513}," response.Content.",{"type":426,"tag":553,"props":72515,"children":72516},{"style":560},[72517],{"type":431,"value":72518},"ReadFromJsonAsync",{"type":426,"tag":553,"props":72520,"children":72521},{"style":684},[72522],{"type":431,"value":25949},{"type":426,"tag":553,"props":72524,"children":72525},{"style":560},[72526],{"type":431,"value":70547},{"type":426,"tag":553,"props":72528,"children":72529},{"style":684},[72530],{"type":431,"value":72531},">()\n",{"type":426,"tag":553,"props":72533,"children":72534},{"class":555,"line":1847},[72535,72540,72545,72549,72554,72558,72563],{"type":426,"tag":553,"props":72536,"children":72537},{"style":795},[72538],{"type":431,"value":72539},"        ??",{"type":426,"tag":553,"props":72541,"children":72542},{"style":795},[72543],{"type":431,"value":72544}," throw",{"type":426,"tag":553,"props":72546,"children":72547},{"style":795},[72548],{"type":431,"value":52275},{"type":426,"tag":553,"props":72550,"children":72551},{"style":560},[72552],{"type":431,"value":72553}," InvalidOperationException",{"type":426,"tag":553,"props":72555,"children":72556},{"style":684},[72557],{"type":431,"value":3275},{"type":426,"tag":553,"props":72559,"children":72560},{"style":572},[72561],{"type":431,"value":72562},"\"Empty response from Rapiwa API\"",{"type":426,"tag":553,"props":72564,"children":72565},{"style":684},[72566],{"type":431,"value":11379},{"type":426,"tag":553,"props":72568,"children":72569},{"class":555,"line":1856},[72570],{"type":426,"tag":553,"props":72571,"children":72572},{"style":684},[72573],{"type":431,"value":756},{"type":426,"tag":553,"props":72575,"children":72576},{"class":555,"line":1874},[72577],{"type":426,"tag":553,"props":72578,"children":72579},{"emptyLinePlaceholder":831},[72580],{"type":431,"value":834},{"type":426,"tag":553,"props":72582,"children":72583},{"class":555,"line":1882},[72584],{"type":426,"tag":553,"props":72585,"children":72586},{"style":1975},[72587],{"type":431,"value":53575},{"type":426,"tag":553,"props":72589,"children":72590},{"class":555,"line":1981},[72591,72596,72600,72604,72608,72613],{"type":426,"tag":553,"props":72592,"children":72593},{"style":795},[72594],{"type":431,"value":72595},"var",{"type":426,"tag":553,"props":72597,"children":72598},{"style":560},[72599],{"type":431,"value":53508},{"type":426,"tag":553,"props":72601,"children":72602},{"style":795},[72603],{"type":431,"value":8739},{"type":426,"tag":553,"props":72605,"children":72606},{"style":795},[72607],{"type":431,"value":53070},{"type":426,"tag":553,"props":72609,"children":72610},{"style":560},[72611],{"type":431,"value":72612}," SendWhatsAppAsync",{"type":426,"tag":553,"props":72614,"children":72615},{"style":684},[72616],{"type":431,"value":3172},{"type":426,"tag":553,"props":72618,"children":72619},{"class":555,"line":1989},[72620,72624,72628,72632],{"type":426,"tag":553,"props":72621,"children":72622},{"style":560},[72623],{"type":431,"value":44046},{"type":426,"tag":553,"props":72625,"children":72626},{"style":684},[72627],{"type":431,"value":700},{"type":426,"tag":553,"props":72629,"children":72630},{"style":572},[72631],{"type":431,"value":7286},{"type":426,"tag":553,"props":72633,"children":72634},{"style":684},[72635],{"type":431,"value":710},{"type":426,"tag":553,"props":72637,"children":72638},{"class":555,"line":2013},[72639,72643,72647,72652],{"type":426,"tag":553,"props":72640,"children":72641},{"style":560},[72642],{"type":431,"value":3163},{"type":426,"tag":553,"props":72644,"children":72645},{"style":684},[72646],{"type":431,"value":700},{"type":426,"tag":553,"props":72648,"children":72649},{"style":572},[72650],{"type":431,"value":72651},"\"Hello from C#! This was sent using Rapiwa API.\"",{"type":426,"tag":553,"props":72653,"children":72654},{"style":684},[72655],{"type":431,"value":710},{"type":426,"tag":553,"props":72657,"children":72658},{"class":555,"line":2055},[72659,72664,72668],{"type":426,"tag":553,"props":72660,"children":72661},{"style":560},[72662],{"type":431,"value":72663},"    apiKey",{"type":426,"tag":553,"props":72665,"children":72666},{"style":684},[72667],{"type":431,"value":700},{"type":426,"tag":553,"props":72669,"children":72670},{"style":572},[72671],{"type":431,"value":45386},{"type":426,"tag":553,"props":72673,"children":72674},{"class":555,"line":2064},[72675],{"type":426,"tag":553,"props":72676,"children":72677},{"style":684},[72678],{"type":431,"value":11379},{"type":426,"tag":553,"props":72680,"children":72681},{"class":555,"line":2087},[72682],{"type":426,"tag":553,"props":72683,"children":72684},{"emptyLinePlaceholder":831},[72685],{"type":431,"value":834},{"type":426,"tag":553,"props":72687,"children":72688},{"class":555,"line":2096},[72689,72694,72699,72703,72708,72712,72716,72720,72724],{"type":426,"tag":553,"props":72690,"children":72691},{"style":684},[72692],{"type":431,"value":72693},"Console.",{"type":426,"tag":553,"props":72695,"children":72696},{"style":560},[72697],{"type":431,"value":72698},"WriteLine",{"type":426,"tag":553,"props":72700,"children":72701},{"style":684},[72702],{"type":431,"value":3275},{"type":426,"tag":553,"props":72704,"children":72705},{"style":572},[72706],{"type":431,"value":72707},"$\"Status: {",{"type":426,"tag":553,"props":72709,"children":72710},{"style":684},[72711],{"type":431,"value":53704},{"type":426,"tag":553,"props":72713,"children":72714},{"style":572},[72715],{"type":431,"value":6789},{"type":426,"tag":553,"props":72717,"children":72718},{"style":684},[72719],{"type":431,"value":54821},{"type":426,"tag":553,"props":72721,"children":72722},{"style":572},[72723],{"type":431,"value":67316},{"type":426,"tag":553,"props":72725,"children":72726},{"style":684},[72727],{"type":431,"value":11379},{"type":426,"tag":553,"props":72729,"children":72730},{"class":555,"line":2105},[72731,72735,72739,72743,72748,72752,72756,72760,72764],{"type":426,"tag":553,"props":72732,"children":72733},{"style":684},[72734],{"type":431,"value":72693},{"type":426,"tag":553,"props":72736,"children":72737},{"style":560},[72738],{"type":431,"value":72698},{"type":426,"tag":553,"props":72740,"children":72741},{"style":684},[72742],{"type":431,"value":3275},{"type":426,"tag":553,"props":72744,"children":72745},{"style":572},[72746],{"type":431,"value":72747},"$\"Message ID: {",{"type":426,"tag":553,"props":72749,"children":72750},{"style":684},[72751],{"type":431,"value":53704},{"type":426,"tag":553,"props":72753,"children":72754},{"style":572},[72755],{"type":431,"value":6789},{"type":426,"tag":553,"props":72757,"children":72758},{"style":684},[72759],{"type":431,"value":72110},{"type":426,"tag":553,"props":72761,"children":72762},{"style":572},[72763],{"type":431,"value":67316},{"type":426,"tag":553,"props":72765,"children":72766},{"style":684},[72767],{"type":431,"value":11379},{"type":426,"tag":427,"props":72769,"children":72770},{},[72771],{"type":426,"tag":446,"props":72772,"children":72773},{},[72774],{"type":431,"value":72775},"Expected output:",{"type":426,"tag":542,"props":72777,"children":72779},{"code":72778},"Status: success\nMessage ID: msg_csharp_abc123\n",[72780],{"type":426,"tag":549,"props":72781,"children":72782},{"__ignoreMap":417},[72783],{"type":431,"value":72778},{"type":426,"tag":434,"props":72785,"children":72787},{"id":72786},"step-2-typed-client-with-dependency-injection-net-6",[72788],{"type":431,"value":72789},"Step 2: Typed Client with Dependency Injection (.NET 6+)",{"type":426,"tag":427,"props":72791,"children":72792},{},[72793],{"type":431,"value":72794},"For ASP.NET Core or .NET Worker Services, use a typed client:",{"type":426,"tag":542,"props":72796,"children":72798},{"code":72797,"language":71711,"meta":417,"className":71712,"style":417},"\u002F\u002F Models\u002FRapiwaModels.cs\nnamespace MyApp.Models;\n\npublic record SendMessageRequest(\n    [property: JsonPropertyName(\"number\")] string Number,\n    [property: JsonPropertyName(\"message\")] string Message\n);\n\npublic record SendMessageResponse(\n    [property: JsonPropertyName(\"status\")] string Status,\n    [property: JsonPropertyName(\"messageId\")] string? MessageId,\n    [property: JsonPropertyName(\"timestamp\")] string? Timestamp\n)\n{\n    public bool IsSuccess => Status == \"success\";\n}\n",[72799],{"type":426,"tag":549,"props":72800,"children":72801},{"__ignoreMap":417},[72802,72810,72836,72843,72862,72905,72944,72951,72958,72977,73020,73067,73110,73117,73124,73162],{"type":426,"tag":553,"props":72803,"children":72804},{"class":555,"line":556},[72805],{"type":426,"tag":553,"props":72806,"children":72807},{"style":1975},[72808],{"type":431,"value":72809},"\u002F\u002F Models\u002FRapiwaModels.cs\n",{"type":426,"tag":553,"props":72811,"children":72812},{"class":555,"line":588},[72813,72818,72823,72827,72832],{"type":426,"tag":553,"props":72814,"children":72815},{"style":795},[72816],{"type":431,"value":72817},"namespace",{"type":426,"tag":553,"props":72819,"children":72820},{"style":560},[72821],{"type":431,"value":72822}," MyApp",{"type":426,"tag":553,"props":72824,"children":72825},{"style":684},[72826],{"type":431,"value":6789},{"type":426,"tag":553,"props":72828,"children":72829},{"style":560},[72830],{"type":431,"value":72831},"Models",{"type":426,"tag":553,"props":72833,"children":72834},{"style":684},[72835],{"type":431,"value":52321},{"type":426,"tag":553,"props":72837,"children":72838},{"class":555,"line":606},[72839],{"type":426,"tag":553,"props":72840,"children":72841},{"emptyLinePlaceholder":831},[72842],{"type":431,"value":834},{"type":426,"tag":553,"props":72844,"children":72845},{"class":555,"line":623},[72846,72850,72854,72858],{"type":426,"tag":553,"props":72847,"children":72848},{"style":795},[72849],{"type":431,"value":60828},{"type":426,"tag":553,"props":72851,"children":72852},{"style":795},[72853],{"type":431,"value":68835},{"type":426,"tag":553,"props":72855,"children":72856},{"style":560},[72857],{"type":431,"value":68840},{"type":426,"tag":553,"props":72859,"children":72860},{"style":684},[72861],{"type":431,"value":3172},{"type":426,"tag":553,"props":72863,"children":72864},{"class":555,"line":637},[72865,72869,72873,72877,72881,72885,72889,72893,72897,72901],{"type":426,"tag":553,"props":72866,"children":72867},{"style":684},[72868],{"type":431,"value":71907},{"type":426,"tag":553,"props":72870,"children":72871},{"style":795},[72872],{"type":431,"value":71912},{"type":426,"tag":553,"props":72874,"children":72875},{"style":684},[72876],{"type":431,"value":700},{"type":426,"tag":553,"props":72878,"children":72879},{"style":560},[72880],{"type":431,"value":71921},{"type":426,"tag":553,"props":72882,"children":72883},{"style":684},[72884],{"type":431,"value":3275},{"type":426,"tag":553,"props":72886,"children":72887},{"style":572},[72888],{"type":431,"value":45266},{"type":426,"tag":553,"props":72890,"children":72891},{"style":684},[72892],{"type":431,"value":71934},{"type":426,"tag":553,"props":72894,"children":72895},{"style":795},[72896],{"type":431,"value":71939},{"type":426,"tag":553,"props":72898,"children":72899},{"style":560},[72900],{"type":431,"value":71944},{"type":426,"tag":553,"props":72902,"children":72903},{"style":684},[72904],{"type":431,"value":710},{"type":426,"tag":553,"props":72906,"children":72907},{"class":555,"line":646},[72908,72912,72916,72920,72924,72928,72932,72936,72940],{"type":426,"tag":553,"props":72909,"children":72910},{"style":684},[72911],{"type":431,"value":71907},{"type":426,"tag":553,"props":72913,"children":72914},{"style":795},[72915],{"type":431,"value":71912},{"type":426,"tag":553,"props":72917,"children":72918},{"style":684},[72919],{"type":431,"value":700},{"type":426,"tag":553,"props":72921,"children":72922},{"style":560},[72923],{"type":431,"value":71921},{"type":426,"tag":553,"props":72925,"children":72926},{"style":684},[72927],{"type":431,"value":3275},{"type":426,"tag":553,"props":72929,"children":72930},{"style":572},[72931],{"type":431,"value":45275},{"type":426,"tag":553,"props":72933,"children":72934},{"style":684},[72935],{"type":431,"value":71934},{"type":426,"tag":553,"props":72937,"children":72938},{"style":795},[72939],{"type":431,"value":71939},{"type":426,"tag":553,"props":72941,"children":72942},{"style":560},[72943],{"type":431,"value":71988},{"type":426,"tag":553,"props":72945,"children":72946},{"class":555,"line":655},[72947],{"type":426,"tag":553,"props":72948,"children":72949},{"style":684},[72950],{"type":431,"value":11379},{"type":426,"tag":553,"props":72952,"children":72953},{"class":555,"line":1036},[72954],{"type":426,"tag":553,"props":72955,"children":72956},{"emptyLinePlaceholder":831},[72957],{"type":431,"value":834},{"type":426,"tag":553,"props":72959,"children":72960},{"class":555,"line":1054},[72961,72965,72969,72973],{"type":426,"tag":553,"props":72962,"children":72963},{"style":795},[72964],{"type":431,"value":60828},{"type":426,"tag":553,"props":72966,"children":72967},{"style":795},[72968],{"type":431,"value":68835},{"type":426,"tag":553,"props":72970,"children":72971},{"style":560},[72972],{"type":431,"value":68933},{"type":426,"tag":553,"props":72974,"children":72975},{"style":684},[72976],{"type":431,"value":3172},{"type":426,"tag":553,"props":72978,"children":72979},{"class":555,"line":1080},[72980,72984,72988,72992,72996,73000,73004,73008,73012,73016],{"type":426,"tag":553,"props":72981,"children":72982},{"style":684},[72983],{"type":431,"value":71907},{"type":426,"tag":553,"props":72985,"children":72986},{"style":795},[72987],{"type":431,"value":71912},{"type":426,"tag":553,"props":72989,"children":72990},{"style":684},[72991],{"type":431,"value":700},{"type":426,"tag":553,"props":72993,"children":72994},{"style":560},[72995],{"type":431,"value":71921},{"type":426,"tag":553,"props":72997,"children":72998},{"style":684},[72999],{"type":431,"value":3275},{"type":426,"tag":553,"props":73001,"children":73002},{"style":572},[73003],{"type":431,"value":68957},{"type":426,"tag":553,"props":73005,"children":73006},{"style":684},[73007],{"type":431,"value":71934},{"type":426,"tag":553,"props":73009,"children":73010},{"style":795},[73011],{"type":431,"value":71939},{"type":426,"tag":553,"props":73013,"children":73014},{"style":560},[73015],{"type":431,"value":72061},{"type":426,"tag":553,"props":73017,"children":73018},{"style":684},[73019],{"type":431,"value":710},{"type":426,"tag":553,"props":73021,"children":73022},{"class":555,"line":1097},[73023,73027,73031,73035,73039,73043,73047,73051,73055,73059,73063],{"type":426,"tag":553,"props":73024,"children":73025},{"style":684},[73026],{"type":431,"value":71907},{"type":426,"tag":553,"props":73028,"children":73029},{"style":795},[73030],{"type":431,"value":71912},{"type":426,"tag":553,"props":73032,"children":73033},{"style":684},[73034],{"type":431,"value":700},{"type":426,"tag":553,"props":73036,"children":73037},{"style":560},[73038],{"type":431,"value":71921},{"type":426,"tag":553,"props":73040,"children":73041},{"style":684},[73042],{"type":431,"value":3275},{"type":426,"tag":553,"props":73044,"children":73045},{"style":572},[73046],{"type":431,"value":68982},{"type":426,"tag":553,"props":73048,"children":73049},{"style":684},[73050],{"type":431,"value":71934},{"type":426,"tag":553,"props":73052,"children":73053},{"style":795},[73054],{"type":431,"value":71939},{"type":426,"tag":553,"props":73056,"children":73057},{"style":684},[73058],{"type":431,"value":72105},{"type":426,"tag":553,"props":73060,"children":73061},{"style":560},[73062],{"type":431,"value":72110},{"type":426,"tag":553,"props":73064,"children":73065},{"style":684},[73066],{"type":431,"value":710},{"type":426,"tag":553,"props":73068,"children":73069},{"class":555,"line":1114},[73070,73074,73078,73082,73086,73090,73094,73098,73102,73106],{"type":426,"tag":553,"props":73071,"children":73072},{"style":684},[73073],{"type":431,"value":71907},{"type":426,"tag":553,"props":73075,"children":73076},{"style":795},[73077],{"type":431,"value":71912},{"type":426,"tag":553,"props":73079,"children":73080},{"style":684},[73081],{"type":431,"value":700},{"type":426,"tag":553,"props":73083,"children":73084},{"style":560},[73085],{"type":431,"value":71921},{"type":426,"tag":553,"props":73087,"children":73088},{"style":684},[73089],{"type":431,"value":3275},{"type":426,"tag":553,"props":73091,"children":73092},{"style":572},[73093],{"type":431,"value":69007},{"type":426,"tag":553,"props":73095,"children":73096},{"style":684},[73097],{"type":431,"value":71934},{"type":426,"tag":553,"props":73099,"children":73100},{"style":795},[73101],{"type":431,"value":71939},{"type":426,"tag":553,"props":73103,"children":73104},{"style":684},[73105],{"type":431,"value":72105},{"type":426,"tag":553,"props":73107,"children":73108},{"style":560},[73109],{"type":431,"value":72158},{"type":426,"tag":553,"props":73111,"children":73112},{"class":555,"line":1127},[73113],{"type":426,"tag":553,"props":73114,"children":73115},{"style":684},[73116],{"type":431,"value":3262},{"type":426,"tag":553,"props":73118,"children":73119},{"class":555,"line":1167},[73120],{"type":426,"tag":553,"props":73121,"children":73122},{"style":684},[73123],{"type":431,"value":687},{"type":426,"tag":553,"props":73125,"children":73126},{"class":555,"line":1184},[73127,73131,73136,73141,73145,73150,73154,73158],{"type":426,"tag":553,"props":73128,"children":73129},{"style":795},[73130],{"type":431,"value":61004},{"type":426,"tag":553,"props":73132,"children":73133},{"style":795},[73134],{"type":431,"value":73135}," bool",{"type":426,"tag":553,"props":73137,"children":73138},{"style":560},[73139],{"type":431,"value":73140}," IsSuccess",{"type":426,"tag":553,"props":73142,"children":73143},{"style":795},[73144],{"type":431,"value":53709},{"type":426,"tag":553,"props":73146,"children":73147},{"style":684},[73148],{"type":431,"value":73149}," Status ",{"type":426,"tag":553,"props":73151,"children":73152},{"style":795},[73153],{"type":431,"value":1069},{"type":426,"tag":553,"props":73155,"children":73156},{"style":572},[73157],{"type":431,"value":69054},{"type":426,"tag":553,"props":73159,"children":73160},{"style":684},[73161],{"type":431,"value":52321},{"type":426,"tag":553,"props":73163,"children":73164},{"class":555,"line":1192},[73165],{"type":426,"tag":553,"props":73166,"children":73167},{"style":684},[73168],{"type":431,"value":756},{"type":426,"tag":542,"props":73170,"children":73172},{"code":73171,"language":71711,"meta":417,"className":71712,"style":417},"\u002F\u002F Services\u002FRapiwaClient.cs\nnamespace MyApp.Services;\n\npublic class RapiwaClient\n{\n    private readonly HttpClient _httpClient;\n    private readonly ILogger\u003CRapiwaClient> _logger;\n\n    public RapiwaClient(HttpClient httpClient, ILogger\u003CRapiwaClient> logger)\n    {\n        _httpClient = httpClient;\n        _logger = logger;\n    }\n\n    \u002F\u002F\u002F \u003Csummary>\n    \u002F\u002F\u002F Send a WhatsApp text message via Rapiwa API.\n    \u002F\u002F\u002F \u003C\u002Fsummary>\n    \u002F\u002F\u002F \u003Cparam name=\"phone\">International format without '+', e.g. 8801234567890\u003C\u002Fparam>\n    \u002F\u002F\u002F \u003Cparam name=\"message\">Text or WhatsApp-formatted message (*bold*, _italic_)\u003C\u002Fparam>\n    public async Task\u003CSendMessageResponse> SendMessageAsync(\n        string phone,\n        string message,\n        CancellationToken cancellationToken = default)\n    {\n        var request = new SendMessageRequest(phone, message);\n\n        try\n        {\n            var response = await _httpClient.PostAsJsonAsync(\n                \"\u002Fsend-message\",\n                request,\n                cancellationToken\n            );\n\n            if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)\n            {\n                throw new UnauthorizedAccessException(\n                    \"Invalid Rapiwa API key. Check your appsettings.json → Rapiwa:ApiKey\"\n                );\n            }\n\n            response.EnsureSuccessStatusCode();\n\n            var result = await response.Content.ReadFromJsonAsync\u003CSendMessageResponse>(\n                cancellationToken: cancellationToken\n            );\n\n            _logger.LogInformation(\n                \"WhatsApp sent to {Phone}: {Status} ({MessageId})\",\n                phone, result?.Status, result?.MessageId\n            );\n\n            return result ?? throw new InvalidOperationException(\"Empty Rapiwa response\");\n        }\n        catch (HttpRequestException ex)\n        {\n            _logger.LogError(ex, \"Failed to send WhatsApp to {Phone}\", phone);\n            throw;\n        }\n    }\n}\n",[73173],{"type":426,"tag":549,"props":73174,"children":73175},{"__ignoreMap":417},[73176,73184,73208,73215,73231,73238,73263,73301,73308,73361,73369,73386,73403,73410,73417,73434,73442,73458,73496,73532,73568,73584,73599,73625,73632,73659,73666,73674,73682,73715,73727,73735,73743,73751,73758,73779,73786,73807,73815,73823,73830,73837,73853,73860,73900,73913,73920,73927,73944,73956,73982,73989,73996,74037,74044,74070,74077,74104,74115,74122,74129],{"type":426,"tag":553,"props":73177,"children":73178},{"class":555,"line":556},[73179],{"type":426,"tag":553,"props":73180,"children":73181},{"style":1975},[73182],{"type":431,"value":73183},"\u002F\u002F Services\u002FRapiwaClient.cs\n",{"type":426,"tag":553,"props":73185,"children":73186},{"class":555,"line":588},[73187,73191,73195,73199,73204],{"type":426,"tag":553,"props":73188,"children":73189},{"style":795},[73190],{"type":431,"value":72817},{"type":426,"tag":553,"props":73192,"children":73193},{"style":560},[73194],{"type":431,"value":72822},{"type":426,"tag":553,"props":73196,"children":73197},{"style":684},[73198],{"type":431,"value":6789},{"type":426,"tag":553,"props":73200,"children":73201},{"style":560},[73202],{"type":431,"value":73203},"Services",{"type":426,"tag":553,"props":73205,"children":73206},{"style":684},[73207],{"type":431,"value":52321},{"type":426,"tag":553,"props":73209,"children":73210},{"class":555,"line":606},[73211],{"type":426,"tag":553,"props":73212,"children":73213},{"emptyLinePlaceholder":831},[73214],{"type":431,"value":834},{"type":426,"tag":553,"props":73216,"children":73217},{"class":555,"line":623},[73218,73222,73226],{"type":426,"tag":553,"props":73219,"children":73220},{"style":795},[73221],{"type":431,"value":60828},{"type":426,"tag":553,"props":73223,"children":73224},{"style":795},[73225],{"type":431,"value":60833},{"type":426,"tag":553,"props":73227,"children":73228},{"style":560},[73229],{"type":431,"value":73230}," RapiwaClient\n",{"type":426,"tag":553,"props":73232,"children":73233},{"class":555,"line":637},[73234],{"type":426,"tag":553,"props":73235,"children":73236},{"style":684},[73237],{"type":431,"value":687},{"type":426,"tag":553,"props":73239,"children":73240},{"class":555,"line":646},[73241,73245,73250,73254,73259],{"type":426,"tag":553,"props":73242,"children":73243},{"style":795},[73244],{"type":431,"value":60857},{"type":426,"tag":553,"props":73246,"children":73247},{"style":795},[73248],{"type":431,"value":73249}," readonly",{"type":426,"tag":553,"props":73251,"children":73252},{"style":560},[73253],{"type":431,"value":72301},{"type":426,"tag":553,"props":73255,"children":73256},{"style":560},[73257],{"type":431,"value":73258}," _httpClient",{"type":426,"tag":553,"props":73260,"children":73261},{"style":684},[73262],{"type":431,"value":52321},{"type":426,"tag":553,"props":73264,"children":73265},{"class":555,"line":655},[73266,73270,73274,73279,73283,73288,73292,73297],{"type":426,"tag":553,"props":73267,"children":73268},{"style":795},[73269],{"type":431,"value":60857},{"type":426,"tag":553,"props":73271,"children":73272},{"style":795},[73273],{"type":431,"value":73249},{"type":426,"tag":553,"props":73275,"children":73276},{"style":560},[73277],{"type":431,"value":73278}," ILogger",{"type":426,"tag":553,"props":73280,"children":73281},{"style":684},[73282],{"type":431,"value":25949},{"type":426,"tag":553,"props":73284,"children":73285},{"style":560},[73286],{"type":431,"value":73287},"RapiwaClient",{"type":426,"tag":553,"props":73289,"children":73290},{"style":684},[73291],{"type":431,"value":70552},{"type":426,"tag":553,"props":73293,"children":73294},{"style":560},[73295],{"type":431,"value":73296},"_logger",{"type":426,"tag":553,"props":73298,"children":73299},{"style":684},[73300],{"type":431,"value":52321},{"type":426,"tag":553,"props":73302,"children":73303},{"class":555,"line":1036},[73304],{"type":426,"tag":553,"props":73305,"children":73306},{"emptyLinePlaceholder":831},[73307],{"type":431,"value":834},{"type":426,"tag":553,"props":73309,"children":73310},{"class":555,"line":1054},[73311,73315,73319,73323,73327,73331,73335,73340,73344,73348,73352,73357],{"type":426,"tag":553,"props":73312,"children":73313},{"style":795},[73314],{"type":431,"value":61004},{"type":426,"tag":553,"props":73316,"children":73317},{"style":560},[73318],{"type":431,"value":66860},{"type":426,"tag":553,"props":73320,"children":73321},{"style":684},[73322],{"type":431,"value":3275},{"type":426,"tag":553,"props":73324,"children":73325},{"style":560},[73326],{"type":431,"value":71505},{"type":426,"tag":553,"props":73328,"children":73329},{"style":560},[73330],{"type":431,"value":72288},{"type":426,"tag":553,"props":73332,"children":73333},{"style":684},[73334],{"type":431,"value":1907},{"type":426,"tag":553,"props":73336,"children":73337},{"style":560},[73338],{"type":431,"value":73339},"ILogger",{"type":426,"tag":553,"props":73341,"children":73342},{"style":684},[73343],{"type":431,"value":25949},{"type":426,"tag":553,"props":73345,"children":73346},{"style":560},[73347],{"type":431,"value":73287},{"type":426,"tag":553,"props":73349,"children":73350},{"style":684},[73351],{"type":431,"value":70552},{"type":426,"tag":553,"props":73353,"children":73354},{"style":560},[73355],{"type":431,"value":73356},"logger",{"type":426,"tag":553,"props":73358,"children":73359},{"style":684},[73360],{"type":431,"value":3262},{"type":426,"tag":553,"props":73362,"children":73363},{"class":555,"line":1080},[73364],{"type":426,"tag":553,"props":73365,"children":73366},{"style":684},[73367],{"type":431,"value":73368},"    {\n",{"type":426,"tag":553,"props":73370,"children":73371},{"class":555,"line":1097},[73372,73377,73381],{"type":426,"tag":553,"props":73373,"children":73374},{"style":684},[73375],{"type":431,"value":73376},"        _httpClient ",{"type":426,"tag":553,"props":73378,"children":73379},{"style":795},[73380],{"type":431,"value":957},{"type":426,"tag":553,"props":73382,"children":73383},{"style":684},[73384],{"type":431,"value":73385}," httpClient;\n",{"type":426,"tag":553,"props":73387,"children":73388},{"class":555,"line":1114},[73389,73394,73398],{"type":426,"tag":553,"props":73390,"children":73391},{"style":684},[73392],{"type":431,"value":73393},"        _logger ",{"type":426,"tag":553,"props":73395,"children":73396},{"style":795},[73397],{"type":431,"value":957},{"type":426,"tag":553,"props":73399,"children":73400},{"style":684},[73401],{"type":431,"value":73402}," logger;\n",{"type":426,"tag":553,"props":73404,"children":73405},{"class":555,"line":1127},[73406],{"type":426,"tag":553,"props":73407,"children":73408},{"style":684},[73409],{"type":431,"value":5546},{"type":426,"tag":553,"props":73411,"children":73412},{"class":555,"line":1167},[73413],{"type":426,"tag":553,"props":73414,"children":73415},{"emptyLinePlaceholder":831},[73416],{"type":431,"value":834},{"type":426,"tag":553,"props":73418,"children":73419},{"class":555,"line":1184},[73420,73425,73430],{"type":426,"tag":553,"props":73421,"children":73422},{"style":1975},[73423],{"type":431,"value":73424},"    \u002F\u002F\u002F \u003C",{"type":426,"tag":553,"props":73426,"children":73427},{"style":25952},[73428],{"type":431,"value":73429},"summary",{"type":426,"tag":553,"props":73431,"children":73432},{"style":1975},[73433],{"type":431,"value":26021},{"type":426,"tag":553,"props":73435,"children":73436},{"class":555,"line":1192},[73437],{"type":426,"tag":553,"props":73438,"children":73439},{"style":1975},[73440],{"type":431,"value":73441},"    \u002F\u002F\u002F Send a WhatsApp text message via Rapiwa API.\n",{"type":426,"tag":553,"props":73443,"children":73444},{"class":555,"line":1210},[73445,73450,73454],{"type":426,"tag":553,"props":73446,"children":73447},{"style":1975},[73448],{"type":431,"value":73449},"    \u002F\u002F\u002F \u003C\u002F",{"type":426,"tag":553,"props":73451,"children":73452},{"style":25952},[73453],{"type":431,"value":73429},{"type":426,"tag":553,"props":73455,"children":73456},{"style":1975},[73457],{"type":431,"value":26021},{"type":426,"tag":553,"props":73459,"children":73460},{"class":555,"line":1253},[73461,73465,73470,73474,73478,73483,73488,73492],{"type":426,"tag":553,"props":73462,"children":73463},{"style":1975},[73464],{"type":431,"value":73424},{"type":426,"tag":553,"props":73466,"children":73467},{"style":25952},[73468],{"type":431,"value":73469},"param",{"type":426,"tag":553,"props":73471,"children":73472},{"style":560},[73473],{"type":431,"value":25973},{"type":426,"tag":553,"props":73475,"children":73476},{"style":1975},[73477],{"type":431,"value":957},{"type":426,"tag":553,"props":73479,"children":73480},{"style":572},[73481],{"type":431,"value":73482},"\"phone\"",{"type":426,"tag":553,"props":73484,"children":73485},{"style":1975},[73486],{"type":431,"value":73487},">International format without '+', e.g. 8801234567890\u003C\u002F",{"type":426,"tag":553,"props":73489,"children":73490},{"style":25952},[73491],{"type":431,"value":73469},{"type":426,"tag":553,"props":73493,"children":73494},{"style":1975},[73495],{"type":431,"value":26021},{"type":426,"tag":553,"props":73497,"children":73498},{"class":555,"line":1302},[73499,73503,73507,73511,73515,73519,73524,73528],{"type":426,"tag":553,"props":73500,"children":73501},{"style":1975},[73502],{"type":431,"value":73424},{"type":426,"tag":553,"props":73504,"children":73505},{"style":25952},[73506],{"type":431,"value":73469},{"type":426,"tag":553,"props":73508,"children":73509},{"style":560},[73510],{"type":431,"value":25973},{"type":426,"tag":553,"props":73512,"children":73513},{"style":1975},[73514],{"type":431,"value":957},{"type":426,"tag":553,"props":73516,"children":73517},{"style":572},[73518],{"type":431,"value":45275},{"type":426,"tag":553,"props":73520,"children":73521},{"style":1975},[73522],{"type":431,"value":73523},">Text or WhatsApp-formatted message (*bold*, _italic_)\u003C\u002F",{"type":426,"tag":553,"props":73525,"children":73526},{"style":25952},[73527],{"type":431,"value":73469},{"type":426,"tag":553,"props":73529,"children":73530},{"style":1975},[73531],{"type":431,"value":26021},{"type":426,"tag":553,"props":73533,"children":73534},{"class":555,"line":1374},[73535,73539,73543,73547,73551,73555,73559,73564],{"type":426,"tag":553,"props":73536,"children":73537},{"style":795},[73538],{"type":431,"value":61004},{"type":426,"tag":553,"props":73540,"children":73541},{"style":795},[73542],{"type":431,"value":72192},{"type":426,"tag":553,"props":73544,"children":73545},{"style":560},[73546],{"type":431,"value":62641},{"type":426,"tag":553,"props":73548,"children":73549},{"style":684},[73550],{"type":431,"value":25949},{"type":426,"tag":553,"props":73552,"children":73553},{"style":560},[73554],{"type":431,"value":70547},{"type":426,"tag":553,"props":73556,"children":73557},{"style":684},[73558],{"type":431,"value":70552},{"type":426,"tag":553,"props":73560,"children":73561},{"style":560},[73562],{"type":431,"value":73563},"SendMessageAsync",{"type":426,"tag":553,"props":73565,"children":73566},{"style":684},[73567],{"type":431,"value":3172},{"type":426,"tag":553,"props":73569,"children":73570},{"class":555,"line":1414},[73571,73576,73580],{"type":426,"tag":553,"props":73572,"children":73573},{"style":795},[73574],{"type":431,"value":73575},"        string",{"type":426,"tag":553,"props":73577,"children":73578},{"style":560},[73579],{"type":431,"value":55668},{"type":426,"tag":553,"props":73581,"children":73582},{"style":684},[73583],{"type":431,"value":710},{"type":426,"tag":553,"props":73585,"children":73586},{"class":555,"line":1479},[73587,73591,73595],{"type":426,"tag":553,"props":73588,"children":73589},{"style":795},[73590],{"type":431,"value":73575},{"type":426,"tag":553,"props":73592,"children":73593},{"style":560},[73594],{"type":431,"value":55741},{"type":426,"tag":553,"props":73596,"children":73597},{"style":684},[73598],{"type":431,"value":710},{"type":426,"tag":553,"props":73600,"children":73601},{"class":555,"line":1517},[73602,73607,73612,73616,73621],{"type":426,"tag":553,"props":73603,"children":73604},{"style":560},[73605],{"type":431,"value":73606},"        CancellationToken",{"type":426,"tag":553,"props":73608,"children":73609},{"style":560},[73610],{"type":431,"value":73611}," cancellationToken",{"type":426,"tag":553,"props":73613,"children":73614},{"style":795},[73615],{"type":431,"value":8739},{"type":426,"tag":553,"props":73617,"children":73618},{"style":795},[73619],{"type":431,"value":73620}," default",{"type":426,"tag":553,"props":73622,"children":73623},{"style":684},[73624],{"type":431,"value":3262},{"type":426,"tag":553,"props":73626,"children":73627},{"class":555,"line":1560},[73628],{"type":426,"tag":553,"props":73629,"children":73630},{"style":684},[73631],{"type":431,"value":73368},{"type":426,"tag":553,"props":73633,"children":73634},{"class":555,"line":1598},[73635,73639,73643,73647,73651,73655],{"type":426,"tag":553,"props":73636,"children":73637},{"style":795},[73638],{"type":431,"value":69253},{"type":426,"tag":553,"props":73640,"children":73641},{"style":560},[73642],{"type":431,"value":72398},{"type":426,"tag":553,"props":73644,"children":73645},{"style":795},[73646],{"type":431,"value":8739},{"type":426,"tag":553,"props":73648,"children":73649},{"style":795},[73650],{"type":431,"value":52275},{"type":426,"tag":553,"props":73652,"children":73653},{"style":560},[73654],{"type":431,"value":68840},{"type":426,"tag":553,"props":73656,"children":73657},{"style":684},[73658],{"type":431,"value":62085},{"type":426,"tag":553,"props":73660,"children":73661},{"class":555,"line":1636},[73662],{"type":426,"tag":553,"props":73663,"children":73664},{"emptyLinePlaceholder":831},[73665],{"type":431,"value":834},{"type":426,"tag":553,"props":73667,"children":73668},{"class":555,"line":1645},[73669],{"type":426,"tag":553,"props":73670,"children":73671},{"style":795},[73672],{"type":431,"value":73673},"        try\n",{"type":426,"tag":553,"props":73675,"children":73676},{"class":555,"line":1653},[73677],{"type":426,"tag":553,"props":73678,"children":73679},{"style":684},[73680],{"type":431,"value":73681},"        {\n",{"type":426,"tag":553,"props":73683,"children":73684},{"class":555,"line":1667},[73685,73690,73694,73698,73702,73707,73711],{"type":426,"tag":553,"props":73686,"children":73687},{"style":795},[73688],{"type":431,"value":73689},"            var",{"type":426,"tag":553,"props":73691,"children":73692},{"style":560},[73693],{"type":431,"value":53061},{"type":426,"tag":553,"props":73695,"children":73696},{"style":795},[73697],{"type":431,"value":8739},{"type":426,"tag":553,"props":73699,"children":73700},{"style":795},[73701],{"type":431,"value":53070},{"type":426,"tag":553,"props":73703,"children":73704},{"style":684},[73705],{"type":431,"value":73706}," _httpClient.",{"type":426,"tag":553,"props":73708,"children":73709},{"style":560},[73710],{"type":431,"value":72442},{"type":426,"tag":553,"props":73712,"children":73713},{"style":684},[73714],{"type":431,"value":3172},{"type":426,"tag":553,"props":73716,"children":73717},{"class":555,"line":1680},[73718,73723],{"type":426,"tag":553,"props":73719,"children":73720},{"style":572},[73721],{"type":431,"value":73722},"                \"\u002Fsend-message\"",{"type":426,"tag":553,"props":73724,"children":73725},{"style":684},[73726],{"type":431,"value":710},{"type":426,"tag":553,"props":73728,"children":73729},{"class":555,"line":1740},[73730],{"type":426,"tag":553,"props":73731,"children":73732},{"style":684},[73733],{"type":431,"value":73734},"                request,\n",{"type":426,"tag":553,"props":73736,"children":73737},{"class":555,"line":1787},[73738],{"type":426,"tag":553,"props":73739,"children":73740},{"style":684},[73741],{"type":431,"value":73742},"                cancellationToken\n",{"type":426,"tag":553,"props":73744,"children":73745},{"class":555,"line":1796},[73746],{"type":426,"tag":553,"props":73747,"children":73748},{"style":684},[73749],{"type":431,"value":73750},"            );\n",{"type":426,"tag":553,"props":73752,"children":73753},{"class":555,"line":1804},[73754],{"type":426,"tag":553,"props":73755,"children":73756},{"emptyLinePlaceholder":831},[73757],{"type":431,"value":834},{"type":426,"tag":553,"props":73759,"children":73760},{"class":555,"line":1812},[73761,73765,73770,73774],{"type":426,"tag":553,"props":73762,"children":73763},{"style":795},[73764],{"type":431,"value":8980},{"type":426,"tag":553,"props":73766,"children":73767},{"style":684},[73768],{"type":431,"value":73769}," (response.StatusCode ",{"type":426,"tag":553,"props":73771,"children":73772},{"style":795},[73773],{"type":431,"value":1069},{"type":426,"tag":553,"props":73775,"children":73776},{"style":684},[73777],{"type":431,"value":73778}," System.Net.HttpStatusCode.Unauthorized)\n",{"type":426,"tag":553,"props":73780,"children":73781},{"class":555,"line":1847},[73782],{"type":426,"tag":553,"props":73783,"children":73784},{"style":684},[73785],{"type":431,"value":21084},{"type":426,"tag":553,"props":73787,"children":73788},{"class":555,"line":1856},[73789,73794,73798,73803],{"type":426,"tag":553,"props":73790,"children":73791},{"style":795},[73792],{"type":431,"value":73793},"                throw",{"type":426,"tag":553,"props":73795,"children":73796},{"style":795},[73797],{"type":431,"value":52275},{"type":426,"tag":553,"props":73799,"children":73800},{"style":560},[73801],{"type":431,"value":73802}," UnauthorizedAccessException",{"type":426,"tag":553,"props":73804,"children":73805},{"style":684},[73806],{"type":431,"value":3172},{"type":426,"tag":553,"props":73808,"children":73809},{"class":555,"line":1874},[73810],{"type":426,"tag":553,"props":73811,"children":73812},{"style":572},[73813],{"type":431,"value":73814},"                    \"Invalid Rapiwa API key. Check your appsettings.json → Rapiwa:ApiKey\"\n",{"type":426,"tag":553,"props":73816,"children":73817},{"class":555,"line":1882},[73818],{"type":426,"tag":553,"props":73819,"children":73820},{"style":684},[73821],{"type":431,"value":73822},"                );\n",{"type":426,"tag":553,"props":73824,"children":73825},{"class":555,"line":1981},[73826],{"type":426,"tag":553,"props":73827,"children":73828},{"style":684},[73829],{"type":431,"value":21329},{"type":426,"tag":553,"props":73831,"children":73832},{"class":555,"line":1989},[73833],{"type":426,"tag":553,"props":73834,"children":73835},{"emptyLinePlaceholder":831},[73836],{"type":431,"value":834},{"type":426,"tag":553,"props":73838,"children":73839},{"class":555,"line":2013},[73840,73845,73849],{"type":426,"tag":553,"props":73841,"children":73842},{"style":684},[73843],{"type":431,"value":73844},"            response.",{"type":426,"tag":553,"props":73846,"children":73847},{"style":560},[73848],{"type":431,"value":72493},{"type":426,"tag":553,"props":73850,"children":73851},{"style":684},[73852],{"type":431,"value":53227},{"type":426,"tag":553,"props":73854,"children":73855},{"class":555,"line":2055},[73856],{"type":426,"tag":553,"props":73857,"children":73858},{"emptyLinePlaceholder":831},[73859],{"type":431,"value":834},{"type":426,"tag":553,"props":73861,"children":73862},{"class":555,"line":2064},[73863,73867,73871,73875,73879,73883,73887,73891,73895],{"type":426,"tag":553,"props":73864,"children":73865},{"style":795},[73866],{"type":431,"value":73689},{"type":426,"tag":553,"props":73868,"children":73869},{"style":560},[73870],{"type":431,"value":53508},{"type":426,"tag":553,"props":73872,"children":73873},{"style":795},[73874],{"type":431,"value":8739},{"type":426,"tag":553,"props":73876,"children":73877},{"style":795},[73878],{"type":431,"value":53070},{"type":426,"tag":553,"props":73880,"children":73881},{"style":684},[73882],{"type":431,"value":72513},{"type":426,"tag":553,"props":73884,"children":73885},{"style":560},[73886],{"type":431,"value":72518},{"type":426,"tag":553,"props":73888,"children":73889},{"style":684},[73890],{"type":431,"value":25949},{"type":426,"tag":553,"props":73892,"children":73893},{"style":560},[73894],{"type":431,"value":70547},{"type":426,"tag":553,"props":73896,"children":73897},{"style":684},[73898],{"type":431,"value":73899},">(\n",{"type":426,"tag":553,"props":73901,"children":73902},{"class":555,"line":2087},[73903,73908],{"type":426,"tag":553,"props":73904,"children":73905},{"style":560},[73906],{"type":431,"value":73907},"                cancellationToken",{"type":426,"tag":553,"props":73909,"children":73910},{"style":684},[73911],{"type":431,"value":73912},": cancellationToken\n",{"type":426,"tag":553,"props":73914,"children":73915},{"class":555,"line":2096},[73916],{"type":426,"tag":553,"props":73917,"children":73918},{"style":684},[73919],{"type":431,"value":73750},{"type":426,"tag":553,"props":73921,"children":73922},{"class":555,"line":2105},[73923],{"type":426,"tag":553,"props":73924,"children":73925},{"emptyLinePlaceholder":831},[73926],{"type":431,"value":834},{"type":426,"tag":553,"props":73928,"children":73929},{"class":555,"line":2114},[73930,73935,73940],{"type":426,"tag":553,"props":73931,"children":73932},{"style":684},[73933],{"type":431,"value":73934},"            _logger.",{"type":426,"tag":553,"props":73936,"children":73937},{"style":560},[73938],{"type":431,"value":73939},"LogInformation",{"type":426,"tag":553,"props":73941,"children":73942},{"style":684},[73943],{"type":431,"value":3172},{"type":426,"tag":553,"props":73945,"children":73946},{"class":555,"line":2123},[73947,73952],{"type":426,"tag":553,"props":73948,"children":73949},{"style":572},[73950],{"type":431,"value":73951},"                \"WhatsApp sent to {Phone}: {Status} ({MessageId})\"",{"type":426,"tag":553,"props":73953,"children":73954},{"style":684},[73955],{"type":431,"value":710},{"type":426,"tag":553,"props":73957,"children":73958},{"class":555,"line":2132},[73959,73964,73968,73973,73977],{"type":426,"tag":553,"props":73960,"children":73961},{"style":684},[73962],{"type":431,"value":73963},"                phone, result",{"type":426,"tag":553,"props":73965,"children":73966},{"style":795},[73967],{"type":431,"value":68164},{"type":426,"tag":553,"props":73969,"children":73970},{"style":684},[73971],{"type":431,"value":73972},".Status, result",{"type":426,"tag":553,"props":73974,"children":73975},{"style":795},[73976],{"type":431,"value":68164},{"type":426,"tag":553,"props":73978,"children":73979},{"style":684},[73980],{"type":431,"value":73981},".MessageId\n",{"type":426,"tag":553,"props":73983,"children":73984},{"class":555,"line":2151},[73985],{"type":426,"tag":553,"props":73986,"children":73987},{"style":684},[73988],{"type":431,"value":73750},{"type":426,"tag":553,"props":73990,"children":73991},{"class":555,"line":2160},[73992],{"type":426,"tag":553,"props":73993,"children":73994},{"emptyLinePlaceholder":831},[73995],{"type":431,"value":834},{"type":426,"tag":553,"props":73997,"children":73998},{"class":555,"line":2174},[73999,74003,74007,74012,74016,74020,74024,74028,74033],{"type":426,"tag":553,"props":74000,"children":74001},{"style":795},[74002],{"type":431,"value":9188},{"type":426,"tag":553,"props":74004,"children":74005},{"style":684},[74006],{"type":431,"value":69769},{"type":426,"tag":553,"props":74008,"children":74009},{"style":795},[74010],{"type":431,"value":74011},"??",{"type":426,"tag":553,"props":74013,"children":74014},{"style":795},[74015],{"type":431,"value":72544},{"type":426,"tag":553,"props":74017,"children":74018},{"style":795},[74019],{"type":431,"value":52275},{"type":426,"tag":553,"props":74021,"children":74022},{"style":560},[74023],{"type":431,"value":72553},{"type":426,"tag":553,"props":74025,"children":74026},{"style":684},[74027],{"type":431,"value":3275},{"type":426,"tag":553,"props":74029,"children":74030},{"style":572},[74031],{"type":431,"value":74032},"\"Empty Rapiwa response\"",{"type":426,"tag":553,"props":74034,"children":74035},{"style":684},[74036],{"type":431,"value":11379},{"type":426,"tag":553,"props":74038,"children":74039},{"class":555,"line":2182},[74040],{"type":426,"tag":553,"props":74041,"children":74042},{"style":684},[74043],{"type":431,"value":15075},{"type":426,"tag":553,"props":74045,"children":74046},{"class":555,"line":2205},[74047,74052,74056,74061,74066],{"type":426,"tag":553,"props":74048,"children":74049},{"style":795},[74050],{"type":431,"value":74051},"        catch",{"type":426,"tag":553,"props":74053,"children":74054},{"style":684},[74055],{"type":431,"value":5684},{"type":426,"tag":553,"props":74057,"children":74058},{"style":560},[74059],{"type":431,"value":74060},"HttpRequestException",{"type":426,"tag":553,"props":74062,"children":74063},{"style":560},[74064],{"type":431,"value":74065}," ex",{"type":426,"tag":553,"props":74067,"children":74068},{"style":684},[74069],{"type":431,"value":3262},{"type":426,"tag":553,"props":74071,"children":74072},{"class":555,"line":2241},[74073],{"type":426,"tag":553,"props":74074,"children":74075},{"style":684},[74076],{"type":431,"value":73681},{"type":426,"tag":553,"props":74078,"children":74079},{"class":555,"line":2250},[74080,74084,74089,74094,74099],{"type":426,"tag":553,"props":74081,"children":74082},{"style":684},[74083],{"type":431,"value":73934},{"type":426,"tag":553,"props":74085,"children":74086},{"style":560},[74087],{"type":431,"value":74088},"LogError",{"type":426,"tag":553,"props":74090,"children":74091},{"style":684},[74092],{"type":431,"value":74093},"(ex, ",{"type":426,"tag":553,"props":74095,"children":74096},{"style":572},[74097],{"type":431,"value":74098},"\"Failed to send WhatsApp to {Phone}\"",{"type":426,"tag":553,"props":74100,"children":74101},{"style":684},[74102],{"type":431,"value":74103},", phone);\n",{"type":426,"tag":553,"props":74105,"children":74106},{"class":555,"line":2302},[74107,74111],{"type":426,"tag":553,"props":74108,"children":74109},{"style":795},[74110],{"type":431,"value":67753},{"type":426,"tag":553,"props":74112,"children":74113},{"style":684},[74114],{"type":431,"value":52321},{"type":426,"tag":553,"props":74116,"children":74117},{"class":555,"line":2353},[74118],{"type":426,"tag":553,"props":74119,"children":74120},{"style":684},[74121],{"type":431,"value":15075},{"type":426,"tag":553,"props":74123,"children":74124},{"class":555,"line":2390},[74125],{"type":426,"tag":553,"props":74126,"children":74127},{"style":684},[74128],{"type":431,"value":5546},{"type":426,"tag":553,"props":74130,"children":74131},{"class":555,"line":2440},[74132],{"type":426,"tag":553,"props":74133,"children":74134},{"style":684},[74135],{"type":431,"value":756},{"type":426,"tag":542,"props":74137,"children":74139},{"code":74138,"language":71711,"meta":417,"className":71712,"style":417},"\u002F\u002F Program.cs — register the typed client\nbuilder.Services.AddHttpClient\u003CRapiwaClient>(client =>\n{\n    client.BaseAddress = new Uri(\"https:\u002F\u002Fapp.rapiwa.com\");\n    client.DefaultRequestHeaders.Authorization =\n        new System.Net.Http.Headers.AuthenticationHeaderValue(\n            \"Bearer\",\n            builder.Configuration[\"Rapiwa:ApiKey\"]\n        );\n    client.Timeout = TimeSpan.FromSeconds(15);\n});\n",[74140],{"type":426,"tag":549,"props":74141,"children":74142},{"__ignoreMap":417},[74143,74151,74187,74194,74228,74240,74287,74299,74316,74323,74357],{"type":426,"tag":553,"props":74144,"children":74145},{"class":555,"line":556},[74146],{"type":426,"tag":553,"props":74147,"children":74148},{"style":1975},[74149],{"type":431,"value":74150},"\u002F\u002F Program.cs — register the typed client\n",{"type":426,"tag":553,"props":74152,"children":74153},{"class":555,"line":588},[74154,74159,74164,74168,74172,74177,74182],{"type":426,"tag":553,"props":74155,"children":74156},{"style":684},[74157],{"type":431,"value":74158},"builder.Services.",{"type":426,"tag":553,"props":74160,"children":74161},{"style":560},[74162],{"type":431,"value":74163},"AddHttpClient",{"type":426,"tag":553,"props":74165,"children":74166},{"style":684},[74167],{"type":431,"value":25949},{"type":426,"tag":553,"props":74169,"children":74170},{"style":560},[74171],{"type":431,"value":73287},{"type":426,"tag":553,"props":74173,"children":74174},{"style":684},[74175],{"type":431,"value":74176},">(",{"type":426,"tag":553,"props":74178,"children":74179},{"style":560},[74180],{"type":431,"value":74181},"client",{"type":426,"tag":553,"props":74183,"children":74184},{"style":795},[74185],{"type":431,"value":74186}," =>\n",{"type":426,"tag":553,"props":74188,"children":74189},{"class":555,"line":606},[74190],{"type":426,"tag":553,"props":74191,"children":74192},{"style":684},[74193],{"type":431,"value":687},{"type":426,"tag":553,"props":74195,"children":74196},{"class":555,"line":623},[74197,74202,74206,74210,74215,74219,74224],{"type":426,"tag":553,"props":74198,"children":74199},{"style":684},[74200],{"type":431,"value":74201},"    client.BaseAddress ",{"type":426,"tag":553,"props":74203,"children":74204},{"style":795},[74205],{"type":431,"value":957},{"type":426,"tag":553,"props":74207,"children":74208},{"style":795},[74209],{"type":431,"value":52275},{"type":426,"tag":553,"props":74211,"children":74212},{"style":560},[74213],{"type":431,"value":74214}," Uri",{"type":426,"tag":553,"props":74216,"children":74217},{"style":684},[74218],{"type":431,"value":3275},{"type":426,"tag":553,"props":74220,"children":74221},{"style":572},[74222],{"type":431,"value":74223},"\"https:\u002F\u002Fapp.rapiwa.com\"",{"type":426,"tag":553,"props":74225,"children":74226},{"style":684},[74227],{"type":431,"value":11379},{"type":426,"tag":553,"props":74229,"children":74230},{"class":555,"line":637},[74231,74236],{"type":426,"tag":553,"props":74232,"children":74233},{"style":684},[74234],{"type":431,"value":74235},"    client.DefaultRequestHeaders.Authorization ",{"type":426,"tag":553,"props":74237,"children":74238},{"style":795},[74239],{"type":431,"value":72318},{"type":426,"tag":553,"props":74241,"children":74242},{"class":555,"line":646},[74243,74247,74251,74255,74259,74263,74267,74271,74275,74279,74283],{"type":426,"tag":553,"props":74244,"children":74245},{"style":795},[74246],{"type":431,"value":72326},{"type":426,"tag":553,"props":74248,"children":74249},{"style":560},[74250],{"type":431,"value":71729},{"type":426,"tag":553,"props":74252,"children":74253},{"style":684},[74254],{"type":431,"value":6789},{"type":426,"tag":553,"props":74256,"children":74257},{"style":560},[74258],{"type":431,"value":71738},{"type":426,"tag":553,"props":74260,"children":74261},{"style":684},[74262],{"type":431,"value":6789},{"type":426,"tag":553,"props":74264,"children":74265},{"style":560},[74266],{"type":431,"value":71747},{"type":426,"tag":553,"props":74268,"children":74269},{"style":684},[74270],{"type":431,"value":6789},{"type":426,"tag":553,"props":74272,"children":74273},{"style":560},[74274],{"type":431,"value":72355},{"type":426,"tag":553,"props":74276,"children":74277},{"style":684},[74278],{"type":431,"value":6789},{"type":426,"tag":553,"props":74280,"children":74281},{"style":560},[74282],{"type":431,"value":72364},{"type":426,"tag":553,"props":74284,"children":74285},{"style":684},[74286],{"type":431,"value":3172},{"type":426,"tag":553,"props":74288,"children":74289},{"class":555,"line":655},[74290,74295],{"type":426,"tag":553,"props":74291,"children":74292},{"style":572},[74293],{"type":431,"value":74294},"            \"Bearer\"",{"type":426,"tag":553,"props":74296,"children":74297},{"style":684},[74298],{"type":431,"value":710},{"type":426,"tag":553,"props":74300,"children":74301},{"class":555,"line":1036},[74302,74307,74312],{"type":426,"tag":553,"props":74303,"children":74304},{"style":684},[74305],{"type":431,"value":74306},"            builder.Configuration[",{"type":426,"tag":553,"props":74308,"children":74309},{"style":572},[74310],{"type":431,"value":74311},"\"Rapiwa:ApiKey\"",{"type":426,"tag":553,"props":74313,"children":74314},{"style":684},[74315],{"type":431,"value":16523},{"type":426,"tag":553,"props":74317,"children":74318},{"class":555,"line":1054},[74319],{"type":426,"tag":553,"props":74320,"children":74321},{"style":684},[74322],{"type":431,"value":67428},{"type":426,"tag":553,"props":74324,"children":74325},{"class":555,"line":1080},[74326,74331,74335,74340,74345,74349,74353],{"type":426,"tag":553,"props":74327,"children":74328},{"style":684},[74329],{"type":431,"value":74330},"    client.Timeout ",{"type":426,"tag":553,"props":74332,"children":74333},{"style":795},[74334],{"type":431,"value":957},{"type":426,"tag":553,"props":74336,"children":74337},{"style":684},[74338],{"type":431,"value":74339}," TimeSpan.",{"type":426,"tag":553,"props":74341,"children":74342},{"style":560},[74343],{"type":431,"value":74344},"FromSeconds",{"type":426,"tag":553,"props":74346,"children":74347},{"style":684},[74348],{"type":431,"value":3275},{"type":426,"tag":553,"props":74350,"children":74351},{"style":566},[74352],{"type":431,"value":67516},{"type":426,"tag":553,"props":74354,"children":74355},{"style":684},[74356],{"type":431,"value":11379},{"type":426,"tag":553,"props":74358,"children":74359},{"class":555,"line":1097},[74360],{"type":426,"tag":553,"props":74361,"children":74362},{"style":684},[74363],{"type":431,"value":55916},{"type":426,"tag":542,"props":74365,"children":74367},{"code":74366,"language":673,"meta":417,"className":674,"style":417},"\u002F\u002F appsettings.json\n{\n  \"Rapiwa\": {\n    \"ApiKey\": \"YOUR_API_KEY\"\n  }\n}\n",[74368],{"type":426,"tag":549,"props":74369,"children":74370},{"__ignoreMap":417},[74371,74379,74386,74398,74414,74421],{"type":426,"tag":553,"props":74372,"children":74373},{"class":555,"line":556},[74374],{"type":426,"tag":553,"props":74375,"children":74376},{"style":1975},[74377],{"type":431,"value":74378},"\u002F\u002F appsettings.json\n",{"type":426,"tag":553,"props":74380,"children":74381},{"class":555,"line":588},[74382],{"type":426,"tag":553,"props":74383,"children":74384},{"style":684},[74385],{"type":431,"value":687},{"type":426,"tag":553,"props":74387,"children":74388},{"class":555,"line":606},[74389,74394],{"type":426,"tag":553,"props":74390,"children":74391},{"style":566},[74392],{"type":431,"value":74393},"  \"Rapiwa\"",{"type":426,"tag":553,"props":74395,"children":74396},{"style":684},[74397],{"type":431,"value":17102},{"type":426,"tag":553,"props":74399,"children":74400},{"class":555,"line":623},[74401,74406,74410],{"type":426,"tag":553,"props":74402,"children":74403},{"style":566},[74404],{"type":431,"value":74405},"    \"ApiKey\"",{"type":426,"tag":553,"props":74407,"children":74408},{"style":684},[74409],{"type":431,"value":700},{"type":426,"tag":553,"props":74411,"children":74412},{"style":572},[74413],{"type":431,"value":45386},{"type":426,"tag":553,"props":74415,"children":74416},{"class":555,"line":637},[74417],{"type":426,"tag":553,"props":74418,"children":74419},{"style":684},[74420],{"type":431,"value":60547},{"type":426,"tag":553,"props":74422,"children":74423},{"class":555,"line":646},[74424],{"type":426,"tag":553,"props":74425,"children":74426},{"style":684},[74427],{"type":431,"value":756},{"type":426,"tag":542,"props":74429,"children":74431},{"code":74430,"language":71711,"meta":417,"className":71712,"style":417},"\u002F\u002F Controller usage\n[ApiController]\n[Route(\"api\u002F[controller]\")]\npublic class OrdersController : ControllerBase\n{\n    private readonly RapiwaClient _rapiwa;\n\n    public OrdersController(RapiwaClient rapiwa) => _rapiwa = rapiwa;\n\n    [HttpPost]\n    public async Task\u003CIActionResult> CreateOrder([FromBody] CreateOrderRequest request)\n    {\n        var order = await _orderService.CreateAsync(request);\n\n        \u002F\u002F Send WhatsApp confirmation\n        if (!string.IsNullOrEmpty(order.CustomerPhone))\n        {\n            var message =\n                $\"Hi {order.CustomerFirstName}! ✅\\n\\n\" +\n                $\"Your order #{order.Id} is confirmed.\\n\" +\n                $\"Total: ${order.Total:F2}\\n\\n\" +\n                $\"We'll notify you when it ships!\";\n\n            await _rapiwa.SendMessageAsync(order.CustomerPhone, message);\n        }\n\n        return CreatedAtAction(nameof(GetOrder), new { id = order.Id }, order);\n    }\n}\n",[74432],{"type":426,"tag":549,"props":74433,"children":74434},{"__ignoreMap":417},[74435,74443,74459,74485,74511,74518,74542,74549,74596,74603,74619,74679,74686,74721,74728,74736,74769,74776,74792,74831,74869,74915,74927,74934,74956,74963,74970,75014,75021],{"type":426,"tag":553,"props":74436,"children":74437},{"class":555,"line":556},[74438],{"type":426,"tag":553,"props":74439,"children":74440},{"style":1975},[74441],{"type":431,"value":74442},"\u002F\u002F Controller usage\n",{"type":426,"tag":553,"props":74444,"children":74445},{"class":555,"line":588},[74446,74450,74455],{"type":426,"tag":553,"props":74447,"children":74448},{"style":684},[74449],{"type":431,"value":8051},{"type":426,"tag":553,"props":74451,"children":74452},{"style":560},[74453],{"type":431,"value":74454},"ApiController",{"type":426,"tag":553,"props":74456,"children":74457},{"style":684},[74458],{"type":431,"value":16523},{"type":426,"tag":553,"props":74460,"children":74461},{"class":555,"line":606},[74462,74466,74471,74475,74480],{"type":426,"tag":553,"props":74463,"children":74464},{"style":684},[74465],{"type":431,"value":8051},{"type":426,"tag":553,"props":74467,"children":74468},{"style":560},[74469],{"type":431,"value":74470},"Route",{"type":426,"tag":553,"props":74472,"children":74473},{"style":684},[74474],{"type":431,"value":3275},{"type":426,"tag":553,"props":74476,"children":74477},{"style":572},[74478],{"type":431,"value":74479},"\"api\u002F[controller]\"",{"type":426,"tag":553,"props":74481,"children":74482},{"style":684},[74483],{"type":431,"value":74484},")]\n",{"type":426,"tag":553,"props":74486,"children":74487},{"class":555,"line":623},[74488,74492,74496,74501,74506],{"type":426,"tag":553,"props":74489,"children":74490},{"style":795},[74491],{"type":431,"value":60828},{"type":426,"tag":553,"props":74493,"children":74494},{"style":795},[74495],{"type":431,"value":60833},{"type":426,"tag":553,"props":74497,"children":74498},{"style":560},[74499],{"type":431,"value":74500}," OrdersController",{"type":426,"tag":553,"props":74502,"children":74503},{"style":684},[74504],{"type":431,"value":74505}," : ",{"type":426,"tag":553,"props":74507,"children":74508},{"style":560},[74509],{"type":431,"value":74510},"ControllerBase\n",{"type":426,"tag":553,"props":74512,"children":74513},{"class":555,"line":637},[74514],{"type":426,"tag":553,"props":74515,"children":74516},{"style":684},[74517],{"type":431,"value":687},{"type":426,"tag":553,"props":74519,"children":74520},{"class":555,"line":646},[74521,74525,74529,74533,74538],{"type":426,"tag":553,"props":74522,"children":74523},{"style":795},[74524],{"type":431,"value":60857},{"type":426,"tag":553,"props":74526,"children":74527},{"style":795},[74528],{"type":431,"value":73249},{"type":426,"tag":553,"props":74530,"children":74531},{"style":560},[74532],{"type":431,"value":66860},{"type":426,"tag":553,"props":74534,"children":74535},{"style":560},[74536],{"type":431,"value":74537}," _rapiwa",{"type":426,"tag":553,"props":74539,"children":74540},{"style":684},[74541],{"type":431,"value":52321},{"type":426,"tag":553,"props":74543,"children":74544},{"class":555,"line":655},[74545],{"type":426,"tag":553,"props":74546,"children":74547},{"emptyLinePlaceholder":831},[74548],{"type":431,"value":834},{"type":426,"tag":553,"props":74550,"children":74551},{"class":555,"line":1036},[74552,74556,74560,74564,74568,74573,74577,74582,74587,74591],{"type":426,"tag":553,"props":74553,"children":74554},{"style":795},[74555],{"type":431,"value":61004},{"type":426,"tag":553,"props":74557,"children":74558},{"style":560},[74559],{"type":431,"value":74500},{"type":426,"tag":553,"props":74561,"children":74562},{"style":684},[74563],{"type":431,"value":3275},{"type":426,"tag":553,"props":74565,"children":74566},{"style":560},[74567],{"type":431,"value":73287},{"type":426,"tag":553,"props":74569,"children":74570},{"style":560},[74571],{"type":431,"value":74572}," rapiwa",{"type":426,"tag":553,"props":74574,"children":74575},{"style":684},[74576],{"type":431,"value":2987},{"type":426,"tag":553,"props":74578,"children":74579},{"style":795},[74580],{"type":431,"value":74581},"=>",{"type":426,"tag":553,"props":74583,"children":74584},{"style":684},[74585],{"type":431,"value":74586}," _rapiwa ",{"type":426,"tag":553,"props":74588,"children":74589},{"style":795},[74590],{"type":431,"value":957},{"type":426,"tag":553,"props":74592,"children":74593},{"style":684},[74594],{"type":431,"value":74595}," rapiwa;\n",{"type":426,"tag":553,"props":74597,"children":74598},{"class":555,"line":1054},[74599],{"type":426,"tag":553,"props":74600,"children":74601},{"emptyLinePlaceholder":831},[74602],{"type":431,"value":834},{"type":426,"tag":553,"props":74604,"children":74605},{"class":555,"line":1080},[74606,74610,74615],{"type":426,"tag":553,"props":74607,"children":74608},{"style":684},[74609],{"type":431,"value":71907},{"type":426,"tag":553,"props":74611,"children":74612},{"style":560},[74613],{"type":431,"value":74614},"HttpPost",{"type":426,"tag":553,"props":74616,"children":74617},{"style":684},[74618],{"type":431,"value":16523},{"type":426,"tag":553,"props":74620,"children":74621},{"class":555,"line":1097},[74622,74626,74630,74634,74638,74643,74647,74652,74657,74662,74666,74671,74675],{"type":426,"tag":553,"props":74623,"children":74624},{"style":795},[74625],{"type":431,"value":61004},{"type":426,"tag":553,"props":74627,"children":74628},{"style":795},[74629],{"type":431,"value":72192},{"type":426,"tag":553,"props":74631,"children":74632},{"style":560},[74633],{"type":431,"value":62641},{"type":426,"tag":553,"props":74635,"children":74636},{"style":684},[74637],{"type":431,"value":25949},{"type":426,"tag":553,"props":74639,"children":74640},{"style":560},[74641],{"type":431,"value":74642},"IActionResult",{"type":426,"tag":553,"props":74644,"children":74645},{"style":684},[74646],{"type":431,"value":70552},{"type":426,"tag":553,"props":74648,"children":74649},{"style":560},[74650],{"type":431,"value":74651},"CreateOrder",{"type":426,"tag":553,"props":74653,"children":74654},{"style":684},[74655],{"type":431,"value":74656},"([",{"type":426,"tag":553,"props":74658,"children":74659},{"style":560},[74660],{"type":431,"value":74661},"FromBody",{"type":426,"tag":553,"props":74663,"children":74664},{"style":684},[74665],{"type":431,"value":2229},{"type":426,"tag":553,"props":74667,"children":74668},{"style":560},[74669],{"type":431,"value":74670},"CreateOrderRequest",{"type":426,"tag":553,"props":74672,"children":74673},{"style":560},[74674],{"type":431,"value":72398},{"type":426,"tag":553,"props":74676,"children":74677},{"style":684},[74678],{"type":431,"value":3262},{"type":426,"tag":553,"props":74680,"children":74681},{"class":555,"line":1114},[74682],{"type":426,"tag":553,"props":74683,"children":74684},{"style":684},[74685],{"type":431,"value":73368},{"type":426,"tag":553,"props":74687,"children":74688},{"class":555,"line":1127},[74689,74693,74698,74702,74706,74711,74716],{"type":426,"tag":553,"props":74690,"children":74691},{"style":795},[74692],{"type":431,"value":69253},{"type":426,"tag":553,"props":74694,"children":74695},{"style":560},[74696],{"type":431,"value":74697}," order",{"type":426,"tag":553,"props":74699,"children":74700},{"style":795},[74701],{"type":431,"value":8739},{"type":426,"tag":553,"props":74703,"children":74704},{"style":795},[74705],{"type":431,"value":53070},{"type":426,"tag":553,"props":74707,"children":74708},{"style":684},[74709],{"type":431,"value":74710}," _orderService.",{"type":426,"tag":553,"props":74712,"children":74713},{"style":560},[74714],{"type":431,"value":74715},"CreateAsync",{"type":426,"tag":553,"props":74717,"children":74718},{"style":684},[74719],{"type":431,"value":74720},"(request);\n",{"type":426,"tag":553,"props":74722,"children":74723},{"class":555,"line":1167},[74724],{"type":426,"tag":553,"props":74725,"children":74726},{"emptyLinePlaceholder":831},[74727],{"type":431,"value":834},{"type":426,"tag":553,"props":74729,"children":74730},{"class":555,"line":1184},[74731],{"type":426,"tag":553,"props":74732,"children":74733},{"style":1975},[74734],{"type":431,"value":74735},"        \u002F\u002F Send WhatsApp confirmation\n",{"type":426,"tag":553,"props":74737,"children":74738},{"class":555,"line":1192},[74739,74743,74747,74751,74755,74759,74764],{"type":426,"tag":553,"props":74740,"children":74741},{"style":795},[74742],{"type":431,"value":2972},{"type":426,"tag":553,"props":74744,"children":74745},{"style":684},[74746],{"type":431,"value":5684},{"type":426,"tag":553,"props":74748,"children":74749},{"style":795},[74750],{"type":431,"value":4651},{"type":426,"tag":553,"props":74752,"children":74753},{"style":795},[74754],{"type":431,"value":71939},{"type":426,"tag":553,"props":74756,"children":74757},{"style":684},[74758],{"type":431,"value":6789},{"type":426,"tag":553,"props":74760,"children":74761},{"style":560},[74762],{"type":431,"value":74763},"IsNullOrEmpty",{"type":426,"tag":553,"props":74765,"children":74766},{"style":684},[74767],{"type":431,"value":74768},"(order.CustomerPhone))\n",{"type":426,"tag":553,"props":74770,"children":74771},{"class":555,"line":1210},[74772],{"type":426,"tag":553,"props":74773,"children":74774},{"style":684},[74775],{"type":431,"value":73681},{"type":426,"tag":553,"props":74777,"children":74778},{"class":555,"line":1253},[74779,74783,74787],{"type":426,"tag":553,"props":74780,"children":74781},{"style":795},[74782],{"type":431,"value":73689},{"type":426,"tag":553,"props":74784,"children":74785},{"style":560},[74786],{"type":431,"value":55741},{"type":426,"tag":553,"props":74788,"children":74789},{"style":795},[74790],{"type":431,"value":74791}," =\n",{"type":426,"tag":553,"props":74793,"children":74794},{"class":555,"line":1302},[74795,74800,74805,74809,74814,74819,74823,74827],{"type":426,"tag":553,"props":74796,"children":74797},{"style":572},[74798],{"type":431,"value":74799},"                $\"Hi {",{"type":426,"tag":553,"props":74801,"children":74802},{"style":684},[74803],{"type":431,"value":74804},"order",{"type":426,"tag":553,"props":74806,"children":74807},{"style":572},[74808],{"type":431,"value":6789},{"type":426,"tag":553,"props":74810,"children":74811},{"style":684},[74812],{"type":431,"value":74813},"CustomerFirstName",{"type":426,"tag":553,"props":74815,"children":74816},{"style":572},[74817],{"type":431,"value":74818},"}! ✅",{"type":426,"tag":553,"props":74820,"children":74821},{"style":566},[74822],{"type":431,"value":1295},{"type":426,"tag":553,"props":74824,"children":74825},{"style":572},[74826],{"type":431,"value":1527},{"type":426,"tag":553,"props":74828,"children":74829},{"style":795},[74830],{"type":431,"value":52888},{"type":426,"tag":553,"props":74832,"children":74833},{"class":555,"line":1374},[74834,74839,74843,74847,74852,74857,74861,74865],{"type":426,"tag":553,"props":74835,"children":74836},{"style":572},[74837],{"type":431,"value":74838},"                $\"Your order #{",{"type":426,"tag":553,"props":74840,"children":74841},{"style":684},[74842],{"type":431,"value":74804},{"type":426,"tag":553,"props":74844,"children":74845},{"style":572},[74846],{"type":431,"value":6789},{"type":426,"tag":553,"props":74848,"children":74849},{"style":684},[74850],{"type":431,"value":74851},"Id",{"type":426,"tag":553,"props":74853,"children":74854},{"style":572},[74855],{"type":431,"value":74856},"} is confirmed.",{"type":426,"tag":553,"props":74858,"children":74859},{"style":566},[74860],{"type":431,"value":3661},{"type":426,"tag":553,"props":74862,"children":74863},{"style":572},[74864],{"type":431,"value":1527},{"type":426,"tag":553,"props":74866,"children":74867},{"style":795},[74868],{"type":431,"value":52888},{"type":426,"tag":553,"props":74870,"children":74871},{"class":555,"line":1414},[74872,74877,74881,74885,74890,74894,74899,74903,74907,74911],{"type":426,"tag":553,"props":74873,"children":74874},{"style":572},[74875],{"type":431,"value":74876},"                $\"Total: ${",{"type":426,"tag":553,"props":74878,"children":74879},{"style":684},[74880],{"type":431,"value":74804},{"type":426,"tag":553,"props":74882,"children":74883},{"style":572},[74884],{"type":431,"value":6789},{"type":426,"tag":553,"props":74886,"children":74887},{"style":684},[74888],{"type":431,"value":74889},"Total",{"type":426,"tag":553,"props":74891,"children":74892},{"style":795},[74893],{"type":431,"value":19071},{"type":426,"tag":553,"props":74895,"children":74896},{"style":684},[74897],{"type":431,"value":74898},"F2",{"type":426,"tag":553,"props":74900,"children":74901},{"style":572},[74902],{"type":431,"value":982},{"type":426,"tag":553,"props":74904,"children":74905},{"style":566},[74906],{"type":431,"value":1295},{"type":426,"tag":553,"props":74908,"children":74909},{"style":572},[74910],{"type":431,"value":1527},{"type":426,"tag":553,"props":74912,"children":74913},{"style":795},[74914],{"type":431,"value":52888},{"type":426,"tag":553,"props":74916,"children":74917},{"class":555,"line":1479},[74918,74923],{"type":426,"tag":553,"props":74919,"children":74920},{"style":572},[74921],{"type":431,"value":74922},"                $\"We'll notify you when it ships!\"",{"type":426,"tag":553,"props":74924,"children":74925},{"style":684},[74926],{"type":431,"value":52321},{"type":426,"tag":553,"props":74928,"children":74929},{"class":555,"line":1517},[74930],{"type":426,"tag":553,"props":74931,"children":74932},{"emptyLinePlaceholder":831},[74933],{"type":431,"value":834},{"type":426,"tag":553,"props":74935,"children":74936},{"class":555,"line":1560},[74937,74942,74947,74951],{"type":426,"tag":553,"props":74938,"children":74939},{"style":795},[74940],{"type":431,"value":74941},"            await",{"type":426,"tag":553,"props":74943,"children":74944},{"style":684},[74945],{"type":431,"value":74946}," _rapiwa.",{"type":426,"tag":553,"props":74948,"children":74949},{"style":560},[74950],{"type":431,"value":73563},{"type":426,"tag":553,"props":74952,"children":74953},{"style":684},[74954],{"type":431,"value":74955},"(order.CustomerPhone, message);\n",{"type":426,"tag":553,"props":74957,"children":74958},{"class":555,"line":1598},[74959],{"type":426,"tag":553,"props":74960,"children":74961},{"style":684},[74962],{"type":431,"value":15075},{"type":426,"tag":553,"props":74964,"children":74965},{"class":555,"line":1636},[74966],{"type":426,"tag":553,"props":74967,"children":74968},{"emptyLinePlaceholder":831},[74969],{"type":431,"value":834},{"type":426,"tag":553,"props":74971,"children":74972},{"class":555,"line":1645},[74973,74977,74982,74986,74991,74996,75000,75005,75009],{"type":426,"tag":553,"props":74974,"children":74975},{"style":795},[74976],{"type":431,"value":8378},{"type":426,"tag":553,"props":74978,"children":74979},{"style":560},[74980],{"type":431,"value":74981}," CreatedAtAction",{"type":426,"tag":553,"props":74983,"children":74984},{"style":684},[74985],{"type":431,"value":3275},{"type":426,"tag":553,"props":74987,"children":74988},{"style":795},[74989],{"type":431,"value":74990},"nameof",{"type":426,"tag":553,"props":74992,"children":74993},{"style":684},[74994],{"type":431,"value":74995},"(GetOrder), ",{"type":426,"tag":553,"props":74997,"children":74998},{"style":795},[74999],{"type":431,"value":52602},{"type":426,"tag":553,"props":75001,"children":75002},{"style":684},[75003],{"type":431,"value":75004}," { id ",{"type":426,"tag":553,"props":75006,"children":75007},{"style":795},[75008],{"type":431,"value":957},{"type":426,"tag":553,"props":75010,"children":75011},{"style":684},[75012],{"type":431,"value":75013}," order.Id }, order);\n",{"type":426,"tag":553,"props":75015,"children":75016},{"class":555,"line":1653},[75017],{"type":426,"tag":553,"props":75018,"children":75019},{"style":684},[75020],{"type":431,"value":5546},{"type":426,"tag":553,"props":75022,"children":75023},{"class":555,"line":1667},[75024],{"type":426,"tag":553,"props":75025,"children":75026},{"style":684},[75027],{"type":431,"value":756},{"type":426,"tag":434,"props":75029,"children":75031},{"id":75030},"step-3-send-bulk-whatsapp-messages",[75032],{"type":431,"value":75033},"Step 3: Send Bulk WhatsApp Messages",{"type":426,"tag":542,"props":75035,"children":75037},{"code":75036,"language":71711,"meta":417,"className":71712,"style":417},"public async Task\u003CIReadOnlyList\u003C(string Phone, bool Success)>> SendBulkAsync(\n    IEnumerable\u003C(string Phone, string Message)> messages,\n    int delayMs = 1000,\n    CancellationToken cancellationToken = default)\n{\n    var results = new List\u003C(string Phone, bool Success)>();\n\n    foreach (var (phone, message) in messages)\n    {\n        try\n        {\n            var result = await SendMessageAsync(phone, message, cancellationToken);\n            results.Add((phone, result.IsSuccess));\n        }\n        catch (Exception ex)\n        {\n            _logger.LogError(ex, \"Failed to send to {Phone}\", phone);\n            results.Add((phone, false));\n        }\n\n        \u002F\u002F Rate limiting — 1 second between messages\n        await Task.Delay(delayMs, cancellationToken);\n    }\n\n    return results;\n}\n",[75038],{"type":426,"tag":549,"props":75039,"children":75040},{"__ignoreMap":417},[75041,75106,75153,75178,75202,75209,75263,75270,75315,75322,75329,75336,75365,75383,75390,75414,75421,75445,75470,75477,75484,75492,75515,75522,75529,75541],{"type":426,"tag":553,"props":75042,"children":75043},{"class":555,"line":556},[75044,75048,75052,75056,75060,75065,75070,75074,75079,75083,75087,75092,75097,75102],{"type":426,"tag":553,"props":75045,"children":75046},{"style":795},[75047],{"type":431,"value":60828},{"type":426,"tag":553,"props":75049,"children":75050},{"style":795},[75051],{"type":431,"value":72192},{"type":426,"tag":553,"props":75053,"children":75054},{"style":560},[75055],{"type":431,"value":62641},{"type":426,"tag":553,"props":75057,"children":75058},{"style":684},[75059],{"type":431,"value":25949},{"type":426,"tag":553,"props":75061,"children":75062},{"style":560},[75063],{"type":431,"value":75064},"IReadOnlyList",{"type":426,"tag":553,"props":75066,"children":75067},{"style":684},[75068],{"type":431,"value":75069},"\u003C(",{"type":426,"tag":553,"props":75071,"children":75072},{"style":795},[75073],{"type":431,"value":71939},{"type":426,"tag":553,"props":75075,"children":75076},{"style":560},[75077],{"type":431,"value":75078}," Phone",{"type":426,"tag":553,"props":75080,"children":75081},{"style":684},[75082],{"type":431,"value":1907},{"type":426,"tag":553,"props":75084,"children":75085},{"style":795},[75086],{"type":431,"value":28342},{"type":426,"tag":553,"props":75088,"children":75089},{"style":560},[75090],{"type":431,"value":75091}," Success",{"type":426,"tag":553,"props":75093,"children":75094},{"style":684},[75095],{"type":431,"value":75096},")>> ",{"type":426,"tag":553,"props":75098,"children":75099},{"style":560},[75100],{"type":431,"value":75101},"SendBulkAsync",{"type":426,"tag":553,"props":75103,"children":75104},{"style":684},[75105],{"type":431,"value":3172},{"type":426,"tag":553,"props":75107,"children":75108},{"class":555,"line":588},[75109,75114,75118,75122,75126,75130,75134,75139,75144,75149],{"type":426,"tag":553,"props":75110,"children":75111},{"style":560},[75112],{"type":431,"value":75113},"    IEnumerable",{"type":426,"tag":553,"props":75115,"children":75116},{"style":684},[75117],{"type":431,"value":75069},{"type":426,"tag":553,"props":75119,"children":75120},{"style":795},[75121],{"type":431,"value":71939},{"type":426,"tag":553,"props":75123,"children":75124},{"style":560},[75125],{"type":431,"value":75078},{"type":426,"tag":553,"props":75127,"children":75128},{"style":684},[75129],{"type":431,"value":1907},{"type":426,"tag":553,"props":75131,"children":75132},{"style":795},[75133],{"type":431,"value":71939},{"type":426,"tag":553,"props":75135,"children":75136},{"style":560},[75137],{"type":431,"value":75138}," Message",{"type":426,"tag":553,"props":75140,"children":75141},{"style":684},[75142],{"type":431,"value":75143},")> ",{"type":426,"tag":553,"props":75145,"children":75146},{"style":560},[75147],{"type":431,"value":75148},"messages",{"type":426,"tag":553,"props":75150,"children":75151},{"style":684},[75152],{"type":431,"value":710},{"type":426,"tag":553,"props":75154,"children":75155},{"class":555,"line":606},[75156,75161,75166,75170,75174],{"type":426,"tag":553,"props":75157,"children":75158},{"style":795},[75159],{"type":431,"value":75160},"    int",{"type":426,"tag":553,"props":75162,"children":75163},{"style":560},[75164],{"type":431,"value":75165}," delayMs",{"type":426,"tag":553,"props":75167,"children":75168},{"style":795},[75169],{"type":431,"value":8739},{"type":426,"tag":553,"props":75171,"children":75172},{"style":566},[75173],{"type":431,"value":15727},{"type":426,"tag":553,"props":75175,"children":75176},{"style":684},[75177],{"type":431,"value":710},{"type":426,"tag":553,"props":75179,"children":75180},{"class":555,"line":623},[75181,75186,75190,75194,75198],{"type":426,"tag":553,"props":75182,"children":75183},{"style":560},[75184],{"type":431,"value":75185},"    CancellationToken",{"type":426,"tag":553,"props":75187,"children":75188},{"style":560},[75189],{"type":431,"value":73611},{"type":426,"tag":553,"props":75191,"children":75192},{"style":795},[75193],{"type":431,"value":8739},{"type":426,"tag":553,"props":75195,"children":75196},{"style":795},[75197],{"type":431,"value":73620},{"type":426,"tag":553,"props":75199,"children":75200},{"style":684},[75201],{"type":431,"value":3262},{"type":426,"tag":553,"props":75203,"children":75204},{"class":555,"line":637},[75205],{"type":426,"tag":553,"props":75206,"children":75207},{"style":684},[75208],{"type":431,"value":687},{"type":426,"tag":553,"props":75210,"children":75211},{"class":555,"line":646},[75212,75216,75221,75225,75229,75234,75238,75242,75246,75250,75254,75258],{"type":426,"tag":553,"props":75213,"children":75214},{"style":795},[75215],{"type":431,"value":72393},{"type":426,"tag":553,"props":75217,"children":75218},{"style":560},[75219],{"type":431,"value":75220}," results",{"type":426,"tag":553,"props":75222,"children":75223},{"style":795},[75224],{"type":431,"value":8739},{"type":426,"tag":553,"props":75226,"children":75227},{"style":795},[75228],{"type":431,"value":52275},{"type":426,"tag":553,"props":75230,"children":75231},{"style":560},[75232],{"type":431,"value":75233}," List",{"type":426,"tag":553,"props":75235,"children":75236},{"style":684},[75237],{"type":431,"value":75069},{"type":426,"tag":553,"props":75239,"children":75240},{"style":795},[75241],{"type":431,"value":71939},{"type":426,"tag":553,"props":75243,"children":75244},{"style":560},[75245],{"type":431,"value":75078},{"type":426,"tag":553,"props":75247,"children":75248},{"style":684},[75249],{"type":431,"value":1907},{"type":426,"tag":553,"props":75251,"children":75252},{"style":795},[75253],{"type":431,"value":28342},{"type":426,"tag":553,"props":75255,"children":75256},{"style":560},[75257],{"type":431,"value":75091},{"type":426,"tag":553,"props":75259,"children":75260},{"style":684},[75261],{"type":431,"value":75262},")>();\n",{"type":426,"tag":553,"props":75264,"children":75265},{"class":555,"line":655},[75266],{"type":426,"tag":553,"props":75267,"children":75268},{"emptyLinePlaceholder":831},[75269],{"type":431,"value":834},{"type":426,"tag":553,"props":75271,"children":75272},{"class":555,"line":1036},[75273,75278,75282,75286,75290,75294,75298,75302,75306,75310],{"type":426,"tag":553,"props":75274,"children":75275},{"style":795},[75276],{"type":431,"value":75277},"    foreach",{"type":426,"tag":553,"props":75279,"children":75280},{"style":684},[75281],{"type":431,"value":5684},{"type":426,"tag":553,"props":75283,"children":75284},{"style":795},[75285],{"type":431,"value":72595},{"type":426,"tag":553,"props":75287,"children":75288},{"style":684},[75289],{"type":431,"value":5684},{"type":426,"tag":553,"props":75291,"children":75292},{"style":560},[75293],{"type":431,"value":37598},{"type":426,"tag":553,"props":75295,"children":75296},{"style":684},[75297],{"type":431,"value":1907},{"type":426,"tag":553,"props":75299,"children":75300},{"style":560},[75301],{"type":431,"value":2734},{"type":426,"tag":553,"props":75303,"children":75304},{"style":684},[75305],{"type":431,"value":2987},{"type":426,"tag":553,"props":75307,"children":75308},{"style":795},[75309],{"type":431,"value":2005},{"type":426,"tag":553,"props":75311,"children":75312},{"style":684},[75313],{"type":431,"value":75314}," messages)\n",{"type":426,"tag":553,"props":75316,"children":75317},{"class":555,"line":1054},[75318],{"type":426,"tag":553,"props":75319,"children":75320},{"style":684},[75321],{"type":431,"value":73368},{"type":426,"tag":553,"props":75323,"children":75324},{"class":555,"line":1080},[75325],{"type":426,"tag":553,"props":75326,"children":75327},{"style":795},[75328],{"type":431,"value":73673},{"type":426,"tag":553,"props":75330,"children":75331},{"class":555,"line":1097},[75332],{"type":426,"tag":553,"props":75333,"children":75334},{"style":684},[75335],{"type":431,"value":73681},{"type":426,"tag":553,"props":75337,"children":75338},{"class":555,"line":1114},[75339,75343,75347,75351,75355,75360],{"type":426,"tag":553,"props":75340,"children":75341},{"style":795},[75342],{"type":431,"value":73689},{"type":426,"tag":553,"props":75344,"children":75345},{"style":560},[75346],{"type":431,"value":53508},{"type":426,"tag":553,"props":75348,"children":75349},{"style":795},[75350],{"type":431,"value":8739},{"type":426,"tag":553,"props":75352,"children":75353},{"style":795},[75354],{"type":431,"value":53070},{"type":426,"tag":553,"props":75356,"children":75357},{"style":560},[75358],{"type":431,"value":75359}," SendMessageAsync",{"type":426,"tag":553,"props":75361,"children":75362},{"style":684},[75363],{"type":431,"value":75364},"(phone, message, cancellationToken);\n",{"type":426,"tag":553,"props":75366,"children":75367},{"class":555,"line":1127},[75368,75373,75378],{"type":426,"tag":553,"props":75369,"children":75370},{"style":684},[75371],{"type":431,"value":75372},"            results.",{"type":426,"tag":553,"props":75374,"children":75375},{"style":560},[75376],{"type":431,"value":75377},"Add",{"type":426,"tag":553,"props":75379,"children":75380},{"style":684},[75381],{"type":431,"value":75382},"((phone, result.IsSuccess));\n",{"type":426,"tag":553,"props":75384,"children":75385},{"class":555,"line":1167},[75386],{"type":426,"tag":553,"props":75387,"children":75388},{"style":684},[75389],{"type":431,"value":15075},{"type":426,"tag":553,"props":75391,"children":75392},{"class":555,"line":1184},[75393,75397,75401,75406,75410],{"type":426,"tag":553,"props":75394,"children":75395},{"style":795},[75396],{"type":431,"value":74051},{"type":426,"tag":553,"props":75398,"children":75399},{"style":684},[75400],{"type":431,"value":5684},{"type":426,"tag":553,"props":75402,"children":75403},{"style":560},[75404],{"type":431,"value":75405},"Exception",{"type":426,"tag":553,"props":75407,"children":75408},{"style":560},[75409],{"type":431,"value":74065},{"type":426,"tag":553,"props":75411,"children":75412},{"style":684},[75413],{"type":431,"value":3262},{"type":426,"tag":553,"props":75415,"children":75416},{"class":555,"line":1192},[75417],{"type":426,"tag":553,"props":75418,"children":75419},{"style":684},[75420],{"type":431,"value":73681},{"type":426,"tag":553,"props":75422,"children":75423},{"class":555,"line":1210},[75424,75428,75432,75436,75441],{"type":426,"tag":553,"props":75425,"children":75426},{"style":684},[75427],{"type":431,"value":73934},{"type":426,"tag":553,"props":75429,"children":75430},{"style":560},[75431],{"type":431,"value":74088},{"type":426,"tag":553,"props":75433,"children":75434},{"style":684},[75435],{"type":431,"value":74093},{"type":426,"tag":553,"props":75437,"children":75438},{"style":572},[75439],{"type":431,"value":75440},"\"Failed to send to {Phone}\"",{"type":426,"tag":553,"props":75442,"children":75443},{"style":684},[75444],{"type":431,"value":74103},{"type":426,"tag":553,"props":75446,"children":75447},{"class":555,"line":1253},[75448,75452,75456,75461,75466],{"type":426,"tag":553,"props":75449,"children":75450},{"style":684},[75451],{"type":431,"value":75372},{"type":426,"tag":553,"props":75453,"children":75454},{"style":560},[75455],{"type":431,"value":75377},{"type":426,"tag":553,"props":75457,"children":75458},{"style":684},[75459],{"type":431,"value":75460},"((phone, ",{"type":426,"tag":553,"props":75462,"children":75463},{"style":566},[75464],{"type":431,"value":75465},"false",{"type":426,"tag":553,"props":75467,"children":75468},{"style":684},[75469],{"type":431,"value":61669},{"type":426,"tag":553,"props":75471,"children":75472},{"class":555,"line":1302},[75473],{"type":426,"tag":553,"props":75474,"children":75475},{"style":684},[75476],{"type":431,"value":15075},{"type":426,"tag":553,"props":75478,"children":75479},{"class":555,"line":1374},[75480],{"type":426,"tag":553,"props":75481,"children":75482},{"emptyLinePlaceholder":831},[75483],{"type":431,"value":834},{"type":426,"tag":553,"props":75485,"children":75486},{"class":555,"line":1414},[75487],{"type":426,"tag":553,"props":75488,"children":75489},{"style":1975},[75490],{"type":431,"value":75491},"        \u002F\u002F Rate limiting — 1 second between messages\n",{"type":426,"tag":553,"props":75493,"children":75494},{"class":555,"line":1479},[75495,75500,75505,75510],{"type":426,"tag":553,"props":75496,"children":75497},{"style":795},[75498],{"type":431,"value":75499},"        await",{"type":426,"tag":553,"props":75501,"children":75502},{"style":684},[75503],{"type":431,"value":75504}," Task.",{"type":426,"tag":553,"props":75506,"children":75507},{"style":560},[75508],{"type":431,"value":75509},"Delay",{"type":426,"tag":553,"props":75511,"children":75512},{"style":684},[75513],{"type":431,"value":75514},"(delayMs, cancellationToken);\n",{"type":426,"tag":553,"props":75516,"children":75517},{"class":555,"line":1517},[75518],{"type":426,"tag":553,"props":75519,"children":75520},{"style":684},[75521],{"type":431,"value":5546},{"type":426,"tag":553,"props":75523,"children":75524},{"class":555,"line":1560},[75525],{"type":426,"tag":553,"props":75526,"children":75527},{"emptyLinePlaceholder":831},[75528],{"type":431,"value":834},{"type":426,"tag":553,"props":75530,"children":75531},{"class":555,"line":1598},[75532,75536],{"type":426,"tag":553,"props":75533,"children":75534},{"style":795},[75535],{"type":431,"value":1659},{"type":426,"tag":553,"props":75537,"children":75538},{"style":684},[75539],{"type":431,"value":75540}," results;\n",{"type":426,"tag":553,"props":75542,"children":75543},{"class":555,"line":1636},[75544],{"type":426,"tag":553,"props":75545,"children":75546},{"style":684},[75547],{"type":431,"value":756},{"type":426,"tag":434,"props":75549,"children":75551},{"id":75550},"step-4-handle-incoming-webhooks-in-aspnet-core",[75552],{"type":431,"value":75553},"Step 4: Handle Incoming Webhooks in ASP.NET Core",{"type":426,"tag":542,"props":75555,"children":75557},{"code":75556,"language":71711,"meta":417,"className":71712,"style":417},"\u002F\u002F WebhookController.cs\n[ApiController]\n[Route(\"api\u002Fwebhooks\")]\npublic class WhatsAppWebhookController : ControllerBase\n{\n    [HttpPost(\"whatsapp\")]\n    public async Task\u003CIActionResult> ReceiveWhatsApp(\n        [FromBody] RapiwaWebhookPayload payload)\n    {\n        if (payload.Event != \"message.received\")\n            return Ok(new { status = \"ignored\" });\n\n        var data = payload.Data;\n\n        \u002F\u002F Process asynchronously — don't block the response\n        _ = Task.Run(async () =>\n        {\n            var reply = GenerateReply(data.Message, data.SenderName);\n            if (reply != null)\n            {\n                await _rapiwa.SendMessageAsync(data.From, reply);\n            }\n        });\n\n        return Ok(new { status = \"ok\" });\n    }\n\n    private static string? GenerateReply(string message, string name)\n    {\n        var lower = message.ToLowerInvariant();\n\n        if (lower is \"hi\" or \"hello\")\n            return $\"Hello {name}! 👋 How can I help you today?\";\n\n        if (lower.Contains(\"price\") || lower.Contains(\"cost\"))\n            return \"Plans start at $5\u002Fmonth at rapiwa.com\";\n\n        return null;\n    }\n}\n\n\u002F\u002F Webhook payload models\npublic class RapiwaWebhookPayload\n{\n    [JsonPropertyName(\"event\")] public string Event { get; set; } = \"\";\n    [JsonPropertyName(\"data\")] public WebhookData Data { get; set; } = new();\n}\n\npublic class WebhookData\n{\n    [JsonPropertyName(\"from\")] public string From { get; set; } = \"\";\n    [JsonPropertyName(\"message\")] public string Message { get; set; } = \"\";\n    [JsonPropertyName(\"messageType\")] public string MessageType { get; set; } = \"text\";\n    [JsonPropertyName(\"senderName\")] public string SenderName { get; set; } = \"\";\n    [JsonPropertyName(\"timestamp\")] public string Timestamp { get; set; } = \"\";\n}\n",[75558],{"type":426,"tag":549,"props":75559,"children":75560},{"__ignoreMap":417},[75561,75569,75584,75608,75632,75639,75663,75699,75729,75736,75761,75799,75806,75827,75834,75842,75881,75888,75914,75938,75945,75966,75973,75981,75988,76024,76031,76038,76091,76098,76128,76135,76169,76194,76201,76257,76273,76280,76295,76302,76309,76316,76324,76340,76347,76418,76488,76495,76502,76518,76525,76594,76661,76731,76800,76868],{"type":426,"tag":553,"props":75562,"children":75563},{"class":555,"line":556},[75564],{"type":426,"tag":553,"props":75565,"children":75566},{"style":1975},[75567],{"type":431,"value":75568},"\u002F\u002F WebhookController.cs\n",{"type":426,"tag":553,"props":75570,"children":75571},{"class":555,"line":588},[75572,75576,75580],{"type":426,"tag":553,"props":75573,"children":75574},{"style":684},[75575],{"type":431,"value":8051},{"type":426,"tag":553,"props":75577,"children":75578},{"style":560},[75579],{"type":431,"value":74454},{"type":426,"tag":553,"props":75581,"children":75582},{"style":684},[75583],{"type":431,"value":16523},{"type":426,"tag":553,"props":75585,"children":75586},{"class":555,"line":606},[75587,75591,75595,75599,75604],{"type":426,"tag":553,"props":75588,"children":75589},{"style":684},[75590],{"type":431,"value":8051},{"type":426,"tag":553,"props":75592,"children":75593},{"style":560},[75594],{"type":431,"value":74470},{"type":426,"tag":553,"props":75596,"children":75597},{"style":684},[75598],{"type":431,"value":3275},{"type":426,"tag":553,"props":75600,"children":75601},{"style":572},[75602],{"type":431,"value":75603},"\"api\u002Fwebhooks\"",{"type":426,"tag":553,"props":75605,"children":75606},{"style":684},[75607],{"type":431,"value":74484},{"type":426,"tag":553,"props":75609,"children":75610},{"class":555,"line":623},[75611,75615,75619,75624,75628],{"type":426,"tag":553,"props":75612,"children":75613},{"style":795},[75614],{"type":431,"value":60828},{"type":426,"tag":553,"props":75616,"children":75617},{"style":795},[75618],{"type":431,"value":60833},{"type":426,"tag":553,"props":75620,"children":75621},{"style":560},[75622],{"type":431,"value":75623}," WhatsAppWebhookController",{"type":426,"tag":553,"props":75625,"children":75626},{"style":684},[75627],{"type":431,"value":74505},{"type":426,"tag":553,"props":75629,"children":75630},{"style":560},[75631],{"type":431,"value":74510},{"type":426,"tag":553,"props":75633,"children":75634},{"class":555,"line":637},[75635],{"type":426,"tag":553,"props":75636,"children":75637},{"style":684},[75638],{"type":431,"value":687},{"type":426,"tag":553,"props":75640,"children":75641},{"class":555,"line":646},[75642,75646,75650,75654,75659],{"type":426,"tag":553,"props":75643,"children":75644},{"style":684},[75645],{"type":431,"value":71907},{"type":426,"tag":553,"props":75647,"children":75648},{"style":560},[75649],{"type":431,"value":74614},{"type":426,"tag":553,"props":75651,"children":75652},{"style":684},[75653],{"type":431,"value":3275},{"type":426,"tag":553,"props":75655,"children":75656},{"style":572},[75657],{"type":431,"value":75658},"\"whatsapp\"",{"type":426,"tag":553,"props":75660,"children":75661},{"style":684},[75662],{"type":431,"value":74484},{"type":426,"tag":553,"props":75664,"children":75665},{"class":555,"line":655},[75666,75670,75674,75678,75682,75686,75690,75695],{"type":426,"tag":553,"props":75667,"children":75668},{"style":795},[75669],{"type":431,"value":61004},{"type":426,"tag":553,"props":75671,"children":75672},{"style":795},[75673],{"type":431,"value":72192},{"type":426,"tag":553,"props":75675,"children":75676},{"style":560},[75677],{"type":431,"value":62641},{"type":426,"tag":553,"props":75679,"children":75680},{"style":684},[75681],{"type":431,"value":25949},{"type":426,"tag":553,"props":75683,"children":75684},{"style":560},[75685],{"type":431,"value":74642},{"type":426,"tag":553,"props":75687,"children":75688},{"style":684},[75689],{"type":431,"value":70552},{"type":426,"tag":553,"props":75691,"children":75692},{"style":560},[75693],{"type":431,"value":75694},"ReceiveWhatsApp",{"type":426,"tag":553,"props":75696,"children":75697},{"style":684},[75698],{"type":431,"value":3172},{"type":426,"tag":553,"props":75700,"children":75701},{"class":555,"line":1036},[75702,75707,75711,75715,75720,75725],{"type":426,"tag":553,"props":75703,"children":75704},{"style":684},[75705],{"type":431,"value":75706},"        [",{"type":426,"tag":553,"props":75708,"children":75709},{"style":560},[75710],{"type":431,"value":74661},{"type":426,"tag":553,"props":75712,"children":75713},{"style":684},[75714],{"type":431,"value":2229},{"type":426,"tag":553,"props":75716,"children":75717},{"style":560},[75718],{"type":431,"value":75719},"RapiwaWebhookPayload",{"type":426,"tag":553,"props":75721,"children":75722},{"style":560},[75723],{"type":431,"value":75724}," payload",{"type":426,"tag":553,"props":75726,"children":75727},{"style":684},[75728],{"type":431,"value":3262},{"type":426,"tag":553,"props":75730,"children":75731},{"class":555,"line":1054},[75732],{"type":426,"tag":553,"props":75733,"children":75734},{"style":684},[75735],{"type":431,"value":73368},{"type":426,"tag":553,"props":75737,"children":75738},{"class":555,"line":1080},[75739,75743,75748,75752,75757],{"type":426,"tag":553,"props":75740,"children":75741},{"style":795},[75742],{"type":431,"value":2972},{"type":426,"tag":553,"props":75744,"children":75745},{"style":684},[75746],{"type":431,"value":75747}," (payload.Event ",{"type":426,"tag":553,"props":75749,"children":75750},{"style":795},[75751],{"type":431,"value":15114},{"type":426,"tag":553,"props":75753,"children":75754},{"style":572},[75755],{"type":431,"value":75756}," \"message.received\"",{"type":426,"tag":553,"props":75758,"children":75759},{"style":684},[75760],{"type":431,"value":3262},{"type":426,"tag":553,"props":75762,"children":75763},{"class":555,"line":1097},[75764,75768,75773,75777,75781,75786,75790,75795],{"type":426,"tag":553,"props":75765,"children":75766},{"style":795},[75767],{"type":431,"value":9188},{"type":426,"tag":553,"props":75769,"children":75770},{"style":560},[75771],{"type":431,"value":75772}," Ok",{"type":426,"tag":553,"props":75774,"children":75775},{"style":684},[75776],{"type":431,"value":3275},{"type":426,"tag":553,"props":75778,"children":75779},{"style":795},[75780],{"type":431,"value":52602},{"type":426,"tag":553,"props":75782,"children":75783},{"style":684},[75784],{"type":431,"value":75785}," { status ",{"type":426,"tag":553,"props":75787,"children":75788},{"style":795},[75789],{"type":431,"value":957},{"type":426,"tag":553,"props":75791,"children":75792},{"style":572},[75793],{"type":431,"value":75794}," \"ignored\"",{"type":426,"tag":553,"props":75796,"children":75797},{"style":684},[75798],{"type":431,"value":52295},{"type":426,"tag":553,"props":75800,"children":75801},{"class":555,"line":1114},[75802],{"type":426,"tag":553,"props":75803,"children":75804},{"emptyLinePlaceholder":831},[75805],{"type":431,"value":834},{"type":426,"tag":553,"props":75807,"children":75808},{"class":555,"line":1127},[75809,75813,75818,75822],{"type":426,"tag":553,"props":75810,"children":75811},{"style":795},[75812],{"type":431,"value":69253},{"type":426,"tag":553,"props":75814,"children":75815},{"style":560},[75816],{"type":431,"value":75817}," data",{"type":426,"tag":553,"props":75819,"children":75820},{"style":795},[75821],{"type":431,"value":8739},{"type":426,"tag":553,"props":75823,"children":75824},{"style":684},[75825],{"type":431,"value":75826}," payload.Data;\n",{"type":426,"tag":553,"props":75828,"children":75829},{"class":555,"line":1167},[75830],{"type":426,"tag":553,"props":75831,"children":75832},{"emptyLinePlaceholder":831},[75833],{"type":431,"value":834},{"type":426,"tag":553,"props":75835,"children":75836},{"class":555,"line":1184},[75837],{"type":426,"tag":553,"props":75838,"children":75839},{"style":1975},[75840],{"type":431,"value":75841},"        \u002F\u002F Process asynchronously — don't block the response\n",{"type":426,"tag":553,"props":75843,"children":75844},{"class":555,"line":1192},[75845,75850,75854,75858,75863,75867,75871,75876],{"type":426,"tag":553,"props":75846,"children":75847},{"style":684},[75848],{"type":431,"value":75849},"        _ ",{"type":426,"tag":553,"props":75851,"children":75852},{"style":795},[75853],{"type":431,"value":957},{"type":426,"tag":553,"props":75855,"children":75856},{"style":684},[75857],{"type":431,"value":75504},{"type":426,"tag":553,"props":75859,"children":75860},{"style":560},[75861],{"type":431,"value":75862},"Run",{"type":426,"tag":553,"props":75864,"children":75865},{"style":684},[75866],{"type":431,"value":3275},{"type":426,"tag":553,"props":75868,"children":75869},{"style":795},[75870],{"type":431,"value":52361},{"type":426,"tag":553,"props":75872,"children":75873},{"style":684},[75874],{"type":431,"value":75875}," () ",{"type":426,"tag":553,"props":75877,"children":75878},{"style":795},[75879],{"type":431,"value":75880},"=>\n",{"type":426,"tag":553,"props":75882,"children":75883},{"class":555,"line":1210},[75884],{"type":426,"tag":553,"props":75885,"children":75886},{"style":684},[75887],{"type":431,"value":73681},{"type":426,"tag":553,"props":75889,"children":75890},{"class":555,"line":1253},[75891,75895,75900,75904,75909],{"type":426,"tag":553,"props":75892,"children":75893},{"style":795},[75894],{"type":431,"value":73689},{"type":426,"tag":553,"props":75896,"children":75897},{"style":560},[75898],{"type":431,"value":75899}," reply",{"type":426,"tag":553,"props":75901,"children":75902},{"style":795},[75903],{"type":431,"value":8739},{"type":426,"tag":553,"props":75905,"children":75906},{"style":560},[75907],{"type":431,"value":75908}," GenerateReply",{"type":426,"tag":553,"props":75910,"children":75911},{"style":684},[75912],{"type":431,"value":75913},"(data.Message, data.SenderName);\n",{"type":426,"tag":553,"props":75915,"children":75916},{"class":555,"line":1302},[75917,75921,75926,75930,75934],{"type":426,"tag":553,"props":75918,"children":75919},{"style":795},[75920],{"type":431,"value":8980},{"type":426,"tag":553,"props":75922,"children":75923},{"style":684},[75924],{"type":431,"value":75925}," (reply ",{"type":426,"tag":553,"props":75927,"children":75928},{"style":795},[75929],{"type":431,"value":15114},{"type":426,"tag":553,"props":75931,"children":75932},{"style":566},[75933],{"type":431,"value":62188},{"type":426,"tag":553,"props":75935,"children":75936},{"style":684},[75937],{"type":431,"value":3262},{"type":426,"tag":553,"props":75939,"children":75940},{"class":555,"line":1374},[75941],{"type":426,"tag":553,"props":75942,"children":75943},{"style":684},[75944],{"type":431,"value":21084},{"type":426,"tag":553,"props":75946,"children":75947},{"class":555,"line":1414},[75948,75953,75957,75961],{"type":426,"tag":553,"props":75949,"children":75950},{"style":795},[75951],{"type":431,"value":75952},"                await",{"type":426,"tag":553,"props":75954,"children":75955},{"style":684},[75956],{"type":431,"value":74946},{"type":426,"tag":553,"props":75958,"children":75959},{"style":560},[75960],{"type":431,"value":73563},{"type":426,"tag":553,"props":75962,"children":75963},{"style":684},[75964],{"type":431,"value":75965},"(data.From, reply);\n",{"type":426,"tag":553,"props":75967,"children":75968},{"class":555,"line":1479},[75969],{"type":426,"tag":553,"props":75970,"children":75971},{"style":684},[75972],{"type":431,"value":21329},{"type":426,"tag":553,"props":75974,"children":75975},{"class":555,"line":1517},[75976],{"type":426,"tag":553,"props":75977,"children":75978},{"style":684},[75979],{"type":431,"value":75980},"        });\n",{"type":426,"tag":553,"props":75982,"children":75983},{"class":555,"line":1560},[75984],{"type":426,"tag":553,"props":75985,"children":75986},{"emptyLinePlaceholder":831},[75987],{"type":431,"value":834},{"type":426,"tag":553,"props":75989,"children":75990},{"class":555,"line":1598},[75991,75995,75999,76003,76007,76011,76015,76020],{"type":426,"tag":553,"props":75992,"children":75993},{"style":795},[75994],{"type":431,"value":8378},{"type":426,"tag":553,"props":75996,"children":75997},{"style":560},[75998],{"type":431,"value":75772},{"type":426,"tag":553,"props":76000,"children":76001},{"style":684},[76002],{"type":431,"value":3275},{"type":426,"tag":553,"props":76004,"children":76005},{"style":795},[76006],{"type":431,"value":52602},{"type":426,"tag":553,"props":76008,"children":76009},{"style":684},[76010],{"type":431,"value":75785},{"type":426,"tag":553,"props":76012,"children":76013},{"style":795},[76014],{"type":431,"value":957},{"type":426,"tag":553,"props":76016,"children":76017},{"style":572},[76018],{"type":431,"value":76019}," \"ok\"",{"type":426,"tag":553,"props":76021,"children":76022},{"style":684},[76023],{"type":431,"value":52295},{"type":426,"tag":553,"props":76025,"children":76026},{"class":555,"line":1636},[76027],{"type":426,"tag":553,"props":76028,"children":76029},{"style":684},[76030],{"type":431,"value":5546},{"type":426,"tag":553,"props":76032,"children":76033},{"class":555,"line":1645},[76034],{"type":426,"tag":553,"props":76035,"children":76036},{"emptyLinePlaceholder":831},[76037],{"type":431,"value":834},{"type":426,"tag":553,"props":76039,"children":76040},{"class":555,"line":1653},[76041,76045,76049,76054,76058,76063,76067,76071,76075,76079,76083,76087],{"type":426,"tag":553,"props":76042,"children":76043},{"style":795},[76044],{"type":431,"value":60857},{"type":426,"tag":553,"props":76046,"children":76047},{"style":795},[76048],{"type":431,"value":60862},{"type":426,"tag":553,"props":76050,"children":76051},{"style":795},[76052],{"type":431,"value":76053}," string",{"type":426,"tag":553,"props":76055,"children":76056},{"style":684},[76057],{"type":431,"value":72105},{"type":426,"tag":553,"props":76059,"children":76060},{"style":560},[76061],{"type":431,"value":76062},"GenerateReply",{"type":426,"tag":553,"props":76064,"children":76065},{"style":684},[76066],{"type":431,"value":3275},{"type":426,"tag":553,"props":76068,"children":76069},{"style":795},[76070],{"type":431,"value":71939},{"type":426,"tag":553,"props":76072,"children":76073},{"style":560},[76074],{"type":431,"value":55741},{"type":426,"tag":553,"props":76076,"children":76077},{"style":684},[76078],{"type":431,"value":1907},{"type":426,"tag":553,"props":76080,"children":76081},{"style":795},[76082],{"type":431,"value":71939},{"type":426,"tag":553,"props":76084,"children":76085},{"style":560},[76086],{"type":431,"value":25973},{"type":426,"tag":553,"props":76088,"children":76089},{"style":684},[76090],{"type":431,"value":3262},{"type":426,"tag":553,"props":76092,"children":76093},{"class":555,"line":1667},[76094],{"type":426,"tag":553,"props":76095,"children":76096},{"style":684},[76097],{"type":431,"value":73368},{"type":426,"tag":553,"props":76099,"children":76100},{"class":555,"line":1680},[76101,76105,76110,76114,76119,76124],{"type":426,"tag":553,"props":76102,"children":76103},{"style":795},[76104],{"type":431,"value":69253},{"type":426,"tag":553,"props":76106,"children":76107},{"style":560},[76108],{"type":431,"value":76109}," lower",{"type":426,"tag":553,"props":76111,"children":76112},{"style":795},[76113],{"type":431,"value":8739},{"type":426,"tag":553,"props":76115,"children":76116},{"style":684},[76117],{"type":431,"value":76118}," message.",{"type":426,"tag":553,"props":76120,"children":76121},{"style":560},[76122],{"type":431,"value":76123},"ToLowerInvariant",{"type":426,"tag":553,"props":76125,"children":76126},{"style":684},[76127],{"type":431,"value":53227},{"type":426,"tag":553,"props":76129,"children":76130},{"class":555,"line":1740},[76131],{"type":426,"tag":553,"props":76132,"children":76133},{"emptyLinePlaceholder":831},[76134],{"type":431,"value":834},{"type":426,"tag":553,"props":76136,"children":76137},{"class":555,"line":1787},[76138,76142,76147,76151,76156,76160,76165],{"type":426,"tag":553,"props":76139,"children":76140},{"style":795},[76141],{"type":431,"value":2972},{"type":426,"tag":553,"props":76143,"children":76144},{"style":684},[76145],{"type":431,"value":76146}," (lower ",{"type":426,"tag":553,"props":76148,"children":76149},{"style":795},[76150],{"type":431,"value":16744},{"type":426,"tag":553,"props":76152,"children":76153},{"style":572},[76154],{"type":431,"value":76155}," \"hi\"",{"type":426,"tag":553,"props":76157,"children":76158},{"style":795},[76159],{"type":431,"value":20490},{"type":426,"tag":553,"props":76161,"children":76162},{"style":572},[76163],{"type":431,"value":76164}," \"hello\"",{"type":426,"tag":553,"props":76166,"children":76167},{"style":684},[76168],{"type":431,"value":3262},{"type":426,"tag":553,"props":76170,"children":76171},{"class":555,"line":1796},[76172,76176,76181,76185,76190],{"type":426,"tag":553,"props":76173,"children":76174},{"style":795},[76175],{"type":431,"value":9188},{"type":426,"tag":553,"props":76177,"children":76178},{"style":572},[76179],{"type":431,"value":76180}," $\"Hello {",{"type":426,"tag":553,"props":76182,"children":76183},{"style":684},[76184],{"type":431,"value":24468},{"type":426,"tag":553,"props":76186,"children":76187},{"style":572},[76188],{"type":431,"value":76189},"}! 👋 How can I help you today?\"",{"type":426,"tag":553,"props":76191,"children":76192},{"style":684},[76193],{"type":431,"value":52321},{"type":426,"tag":553,"props":76195,"children":76196},{"class":555,"line":1804},[76197],{"type":426,"tag":553,"props":76198,"children":76199},{"emptyLinePlaceholder":831},[76200],{"type":431,"value":834},{"type":426,"tag":553,"props":76202,"children":76203},{"class":555,"line":1812},[76204,76208,76213,76218,76222,76227,76231,76235,76240,76244,76248,76253],{"type":426,"tag":553,"props":76205,"children":76206},{"style":795},[76207],{"type":431,"value":2972},{"type":426,"tag":553,"props":76209,"children":76210},{"style":684},[76211],{"type":431,"value":76212}," (lower.",{"type":426,"tag":553,"props":76214,"children":76215},{"style":560},[76216],{"type":431,"value":76217},"Contains",{"type":426,"tag":553,"props":76219,"children":76220},{"style":684},[76221],{"type":431,"value":3275},{"type":426,"tag":553,"props":76223,"children":76224},{"style":572},[76225],{"type":431,"value":76226},"\"price\"",{"type":426,"tag":553,"props":76228,"children":76229},{"style":684},[76230],{"type":431,"value":2987},{"type":426,"tag":553,"props":76232,"children":76233},{"style":795},[76234],{"type":431,"value":53296},{"type":426,"tag":553,"props":76236,"children":76237},{"style":684},[76238],{"type":431,"value":76239}," lower.",{"type":426,"tag":553,"props":76241,"children":76242},{"style":560},[76243],{"type":431,"value":76217},{"type":426,"tag":553,"props":76245,"children":76246},{"style":684},[76247],{"type":431,"value":3275},{"type":426,"tag":553,"props":76249,"children":76250},{"style":572},[76251],{"type":431,"value":76252},"\"cost\"",{"type":426,"tag":553,"props":76254,"children":76255},{"style":684},[76256],{"type":431,"value":6538},{"type":426,"tag":553,"props":76258,"children":76259},{"class":555,"line":1847},[76260,76264,76269],{"type":426,"tag":553,"props":76261,"children":76262},{"style":795},[76263],{"type":431,"value":9188},{"type":426,"tag":553,"props":76265,"children":76266},{"style":572},[76267],{"type":431,"value":76268}," \"Plans start at $5\u002Fmonth at rapiwa.com\"",{"type":426,"tag":553,"props":76270,"children":76271},{"style":684},[76272],{"type":431,"value":52321},{"type":426,"tag":553,"props":76274,"children":76275},{"class":555,"line":1856},[76276],{"type":426,"tag":553,"props":76277,"children":76278},{"emptyLinePlaceholder":831},[76279],{"type":431,"value":834},{"type":426,"tag":553,"props":76281,"children":76282},{"class":555,"line":1874},[76283,76287,76291],{"type":426,"tag":553,"props":76284,"children":76285},{"style":795},[76286],{"type":431,"value":8378},{"type":426,"tag":553,"props":76288,"children":76289},{"style":566},[76290],{"type":431,"value":62188},{"type":426,"tag":553,"props":76292,"children":76293},{"style":684},[76294],{"type":431,"value":52321},{"type":426,"tag":553,"props":76296,"children":76297},{"class":555,"line":1882},[76298],{"type":426,"tag":553,"props":76299,"children":76300},{"style":684},[76301],{"type":431,"value":5546},{"type":426,"tag":553,"props":76303,"children":76304},{"class":555,"line":1981},[76305],{"type":426,"tag":553,"props":76306,"children":76307},{"style":684},[76308],{"type":431,"value":756},{"type":426,"tag":553,"props":76310,"children":76311},{"class":555,"line":1989},[76312],{"type":426,"tag":553,"props":76313,"children":76314},{"emptyLinePlaceholder":831},[76315],{"type":431,"value":834},{"type":426,"tag":553,"props":76317,"children":76318},{"class":555,"line":2013},[76319],{"type":426,"tag":553,"props":76320,"children":76321},{"style":1975},[76322],{"type":431,"value":76323},"\u002F\u002F Webhook payload models\n",{"type":426,"tag":553,"props":76325,"children":76326},{"class":555,"line":2055},[76327,76331,76335],{"type":426,"tag":553,"props":76328,"children":76329},{"style":795},[76330],{"type":431,"value":60828},{"type":426,"tag":553,"props":76332,"children":76333},{"style":795},[76334],{"type":431,"value":60833},{"type":426,"tag":553,"props":76336,"children":76337},{"style":560},[76338],{"type":431,"value":76339}," RapiwaWebhookPayload\n",{"type":426,"tag":553,"props":76341,"children":76342},{"class":555,"line":2064},[76343],{"type":426,"tag":553,"props":76344,"children":76345},{"style":684},[76346],{"type":431,"value":687},{"type":426,"tag":553,"props":76348,"children":76349},{"class":555,"line":2087},[76350,76354,76358,76362,76367,76371,76375,76379,76384,76388,76392,76396,76400,76405,76409,76414],{"type":426,"tag":553,"props":76351,"children":76352},{"style":684},[76353],{"type":431,"value":71907},{"type":426,"tag":553,"props":76355,"children":76356},{"style":560},[76357],{"type":431,"value":71921},{"type":426,"tag":553,"props":76359,"children":76360},{"style":684},[76361],{"type":431,"value":3275},{"type":426,"tag":553,"props":76363,"children":76364},{"style":572},[76365],{"type":431,"value":76366},"\"event\"",{"type":426,"tag":553,"props":76368,"children":76369},{"style":684},[76370],{"type":431,"value":71934},{"type":426,"tag":553,"props":76372,"children":76373},{"style":795},[76374],{"type":431,"value":60828},{"type":426,"tag":553,"props":76376,"children":76377},{"style":795},[76378],{"type":431,"value":76053},{"type":426,"tag":553,"props":76380,"children":76381},{"style":560},[76382],{"type":431,"value":76383}," Event",{"type":426,"tag":553,"props":76385,"children":76386},{"style":684},[76387],{"type":431,"value":52174},{"type":426,"tag":553,"props":76389,"children":76390},{"style":795},[76391],{"type":431,"value":61532},{"type":426,"tag":553,"props":76393,"children":76394},{"style":684},[76395],{"type":431,"value":60918},{"type":426,"tag":553,"props":76397,"children":76398},{"style":795},[76399],{"type":431,"value":55967},{"type":426,"tag":553,"props":76401,"children":76402},{"style":684},[76403],{"type":431,"value":76404},"; } ",{"type":426,"tag":553,"props":76406,"children":76407},{"style":795},[76408],{"type":431,"value":957},{"type":426,"tag":553,"props":76410,"children":76411},{"style":572},[76412],{"type":431,"value":76413}," \"\"",{"type":426,"tag":553,"props":76415,"children":76416},{"style":684},[76417],{"type":431,"value":52321},{"type":426,"tag":553,"props":76419,"children":76420},{"class":555,"line":2096},[76421,76425,76429,76433,76438,76442,76446,76451,76456,76460,76464,76468,76472,76476,76480,76484],{"type":426,"tag":553,"props":76422,"children":76423},{"style":684},[76424],{"type":431,"value":71907},{"type":426,"tag":553,"props":76426,"children":76427},{"style":560},[76428],{"type":431,"value":71921},{"type":426,"tag":553,"props":76430,"children":76431},{"style":684},[76432],{"type":431,"value":3275},{"type":426,"tag":553,"props":76434,"children":76435},{"style":572},[76436],{"type":431,"value":76437},"\"data\"",{"type":426,"tag":553,"props":76439,"children":76440},{"style":684},[76441],{"type":431,"value":71934},{"type":426,"tag":553,"props":76443,"children":76444},{"style":795},[76445],{"type":431,"value":60828},{"type":426,"tag":553,"props":76447,"children":76448},{"style":560},[76449],{"type":431,"value":76450}," WebhookData",{"type":426,"tag":553,"props":76452,"children":76453},{"style":560},[76454],{"type":431,"value":76455}," Data",{"type":426,"tag":553,"props":76457,"children":76458},{"style":684},[76459],{"type":431,"value":52174},{"type":426,"tag":553,"props":76461,"children":76462},{"style":795},[76463],{"type":431,"value":61532},{"type":426,"tag":553,"props":76465,"children":76466},{"style":684},[76467],{"type":431,"value":60918},{"type":426,"tag":553,"props":76469,"children":76470},{"style":795},[76471],{"type":431,"value":55967},{"type":426,"tag":553,"props":76473,"children":76474},{"style":684},[76475],{"type":431,"value":76404},{"type":426,"tag":553,"props":76477,"children":76478},{"style":795},[76479],{"type":431,"value":957},{"type":426,"tag":553,"props":76481,"children":76482},{"style":795},[76483],{"type":431,"value":52275},{"type":426,"tag":553,"props":76485,"children":76486},{"style":684},[76487],{"type":431,"value":53227},{"type":426,"tag":553,"props":76489,"children":76490},{"class":555,"line":2105},[76491],{"type":426,"tag":553,"props":76492,"children":76493},{"style":684},[76494],{"type":431,"value":756},{"type":426,"tag":553,"props":76496,"children":76497},{"class":555,"line":2114},[76498],{"type":426,"tag":553,"props":76499,"children":76500},{"emptyLinePlaceholder":831},[76501],{"type":431,"value":834},{"type":426,"tag":553,"props":76503,"children":76504},{"class":555,"line":2123},[76505,76509,76513],{"type":426,"tag":553,"props":76506,"children":76507},{"style":795},[76508],{"type":431,"value":60828},{"type":426,"tag":553,"props":76510,"children":76511},{"style":795},[76512],{"type":431,"value":60833},{"type":426,"tag":553,"props":76514,"children":76515},{"style":560},[76516],{"type":431,"value":76517}," WebhookData\n",{"type":426,"tag":553,"props":76519,"children":76520},{"class":555,"line":2132},[76521],{"type":426,"tag":553,"props":76522,"children":76523},{"style":684},[76524],{"type":431,"value":687},{"type":426,"tag":553,"props":76526,"children":76527},{"class":555,"line":2151},[76528,76532,76536,76540,76545,76549,76553,76557,76562,76566,76570,76574,76578,76582,76586,76590],{"type":426,"tag":553,"props":76529,"children":76530},{"style":684},[76531],{"type":431,"value":71907},{"type":426,"tag":553,"props":76533,"children":76534},{"style":560},[76535],{"type":431,"value":71921},{"type":426,"tag":553,"props":76537,"children":76538},{"style":684},[76539],{"type":431,"value":3275},{"type":426,"tag":553,"props":76541,"children":76542},{"style":572},[76543],{"type":431,"value":76544},"\"from\"",{"type":426,"tag":553,"props":76546,"children":76547},{"style":684},[76548],{"type":431,"value":71934},{"type":426,"tag":553,"props":76550,"children":76551},{"style":795},[76552],{"type":431,"value":60828},{"type":426,"tag":553,"props":76554,"children":76555},{"style":795},[76556],{"type":431,"value":76053},{"type":426,"tag":553,"props":76558,"children":76559},{"style":560},[76560],{"type":431,"value":76561}," From",{"type":426,"tag":553,"props":76563,"children":76564},{"style":684},[76565],{"type":431,"value":52174},{"type":426,"tag":553,"props":76567,"children":76568},{"style":795},[76569],{"type":431,"value":61532},{"type":426,"tag":553,"props":76571,"children":76572},{"style":684},[76573],{"type":431,"value":60918},{"type":426,"tag":553,"props":76575,"children":76576},{"style":795},[76577],{"type":431,"value":55967},{"type":426,"tag":553,"props":76579,"children":76580},{"style":684},[76581],{"type":431,"value":76404},{"type":426,"tag":553,"props":76583,"children":76584},{"style":795},[76585],{"type":431,"value":957},{"type":426,"tag":553,"props":76587,"children":76588},{"style":572},[76589],{"type":431,"value":76413},{"type":426,"tag":553,"props":76591,"children":76592},{"style":684},[76593],{"type":431,"value":52321},{"type":426,"tag":553,"props":76595,"children":76596},{"class":555,"line":2160},[76597,76601,76605,76609,76613,76617,76621,76625,76629,76633,76637,76641,76645,76649,76653,76657],{"type":426,"tag":553,"props":76598,"children":76599},{"style":684},[76600],{"type":431,"value":71907},{"type":426,"tag":553,"props":76602,"children":76603},{"style":560},[76604],{"type":431,"value":71921},{"type":426,"tag":553,"props":76606,"children":76607},{"style":684},[76608],{"type":431,"value":3275},{"type":426,"tag":553,"props":76610,"children":76611},{"style":572},[76612],{"type":431,"value":45275},{"type":426,"tag":553,"props":76614,"children":76615},{"style":684},[76616],{"type":431,"value":71934},{"type":426,"tag":553,"props":76618,"children":76619},{"style":795},[76620],{"type":431,"value":60828},{"type":426,"tag":553,"props":76622,"children":76623},{"style":795},[76624],{"type":431,"value":76053},{"type":426,"tag":553,"props":76626,"children":76627},{"style":560},[76628],{"type":431,"value":75138},{"type":426,"tag":553,"props":76630,"children":76631},{"style":684},[76632],{"type":431,"value":52174},{"type":426,"tag":553,"props":76634,"children":76635},{"style":795},[76636],{"type":431,"value":61532},{"type":426,"tag":553,"props":76638,"children":76639},{"style":684},[76640],{"type":431,"value":60918},{"type":426,"tag":553,"props":76642,"children":76643},{"style":795},[76644],{"type":431,"value":55967},{"type":426,"tag":553,"props":76646,"children":76647},{"style":684},[76648],{"type":431,"value":76404},{"type":426,"tag":553,"props":76650,"children":76651},{"style":795},[76652],{"type":431,"value":957},{"type":426,"tag":553,"props":76654,"children":76655},{"style":572},[76656],{"type":431,"value":76413},{"type":426,"tag":553,"props":76658,"children":76659},{"style":684},[76660],{"type":431,"value":52321},{"type":426,"tag":553,"props":76662,"children":76663},{"class":555,"line":2174},[76664,76668,76672,76676,76681,76685,76689,76693,76698,76702,76706,76710,76714,76718,76722,76727],{"type":426,"tag":553,"props":76665,"children":76666},{"style":684},[76667],{"type":431,"value":71907},{"type":426,"tag":553,"props":76669,"children":76670},{"style":560},[76671],{"type":431,"value":71921},{"type":426,"tag":553,"props":76673,"children":76674},{"style":684},[76675],{"type":431,"value":3275},{"type":426,"tag":553,"props":76677,"children":76678},{"style":572},[76679],{"type":431,"value":76680},"\"messageType\"",{"type":426,"tag":553,"props":76682,"children":76683},{"style":684},[76684],{"type":431,"value":71934},{"type":426,"tag":553,"props":76686,"children":76687},{"style":795},[76688],{"type":431,"value":60828},{"type":426,"tag":553,"props":76690,"children":76691},{"style":795},[76692],{"type":431,"value":76053},{"type":426,"tag":553,"props":76694,"children":76695},{"style":560},[76696],{"type":431,"value":76697}," MessageType",{"type":426,"tag":553,"props":76699,"children":76700},{"style":684},[76701],{"type":431,"value":52174},{"type":426,"tag":553,"props":76703,"children":76704},{"style":795},[76705],{"type":431,"value":61532},{"type":426,"tag":553,"props":76707,"children":76708},{"style":684},[76709],{"type":431,"value":60918},{"type":426,"tag":553,"props":76711,"children":76712},{"style":795},[76713],{"type":431,"value":55967},{"type":426,"tag":553,"props":76715,"children":76716},{"style":684},[76717],{"type":431,"value":76404},{"type":426,"tag":553,"props":76719,"children":76720},{"style":795},[76721],{"type":431,"value":957},{"type":426,"tag":553,"props":76723,"children":76724},{"style":572},[76725],{"type":431,"value":76726}," \"text\"",{"type":426,"tag":553,"props":76728,"children":76729},{"style":684},[76730],{"type":431,"value":52321},{"type":426,"tag":553,"props":76732,"children":76733},{"class":555,"line":2182},[76734,76738,76742,76746,76751,76755,76759,76763,76768,76772,76776,76780,76784,76788,76792,76796],{"type":426,"tag":553,"props":76735,"children":76736},{"style":684},[76737],{"type":431,"value":71907},{"type":426,"tag":553,"props":76739,"children":76740},{"style":560},[76741],{"type":431,"value":71921},{"type":426,"tag":553,"props":76743,"children":76744},{"style":684},[76745],{"type":431,"value":3275},{"type":426,"tag":553,"props":76747,"children":76748},{"style":572},[76749],{"type":431,"value":76750},"\"senderName\"",{"type":426,"tag":553,"props":76752,"children":76753},{"style":684},[76754],{"type":431,"value":71934},{"type":426,"tag":553,"props":76756,"children":76757},{"style":795},[76758],{"type":431,"value":60828},{"type":426,"tag":553,"props":76760,"children":76761},{"style":795},[76762],{"type":431,"value":76053},{"type":426,"tag":553,"props":76764,"children":76765},{"style":560},[76766],{"type":431,"value":76767}," SenderName",{"type":426,"tag":553,"props":76769,"children":76770},{"style":684},[76771],{"type":431,"value":52174},{"type":426,"tag":553,"props":76773,"children":76774},{"style":795},[76775],{"type":431,"value":61532},{"type":426,"tag":553,"props":76777,"children":76778},{"style":684},[76779],{"type":431,"value":60918},{"type":426,"tag":553,"props":76781,"children":76782},{"style":795},[76783],{"type":431,"value":55967},{"type":426,"tag":553,"props":76785,"children":76786},{"style":684},[76787],{"type":431,"value":76404},{"type":426,"tag":553,"props":76789,"children":76790},{"style":795},[76791],{"type":431,"value":957},{"type":426,"tag":553,"props":76793,"children":76794},{"style":572},[76795],{"type":431,"value":76413},{"type":426,"tag":553,"props":76797,"children":76798},{"style":684},[76799],{"type":431,"value":52321},{"type":426,"tag":553,"props":76801,"children":76802},{"class":555,"line":2205},[76803,76807,76811,76815,76819,76823,76827,76831,76836,76840,76844,76848,76852,76856,76860,76864],{"type":426,"tag":553,"props":76804,"children":76805},{"style":684},[76806],{"type":431,"value":71907},{"type":426,"tag":553,"props":76808,"children":76809},{"style":560},[76810],{"type":431,"value":71921},{"type":426,"tag":553,"props":76812,"children":76813},{"style":684},[76814],{"type":431,"value":3275},{"type":426,"tag":553,"props":76816,"children":76817},{"style":572},[76818],{"type":431,"value":69007},{"type":426,"tag":553,"props":76820,"children":76821},{"style":684},[76822],{"type":431,"value":71934},{"type":426,"tag":553,"props":76824,"children":76825},{"style":795},[76826],{"type":431,"value":60828},{"type":426,"tag":553,"props":76828,"children":76829},{"style":795},[76830],{"type":431,"value":76053},{"type":426,"tag":553,"props":76832,"children":76833},{"style":560},[76834],{"type":431,"value":76835}," Timestamp",{"type":426,"tag":553,"props":76837,"children":76838},{"style":684},[76839],{"type":431,"value":52174},{"type":426,"tag":553,"props":76841,"children":76842},{"style":795},[76843],{"type":431,"value":61532},{"type":426,"tag":553,"props":76845,"children":76846},{"style":684},[76847],{"type":431,"value":60918},{"type":426,"tag":553,"props":76849,"children":76850},{"style":795},[76851],{"type":431,"value":55967},{"type":426,"tag":553,"props":76853,"children":76854},{"style":684},[76855],{"type":431,"value":76404},{"type":426,"tag":553,"props":76857,"children":76858},{"style":795},[76859],{"type":431,"value":957},{"type":426,"tag":553,"props":76861,"children":76862},{"style":572},[76863],{"type":431,"value":76413},{"type":426,"tag":553,"props":76865,"children":76866},{"style":684},[76867],{"type":431,"value":52321},{"type":426,"tag":553,"props":76869,"children":76870},{"class":555,"line":2241},[76871],{"type":426,"tag":553,"props":76872,"children":76873},{"style":684},[76874],{"type":431,"value":756},{"type":426,"tag":427,"props":76876,"children":76877},{},[76878],{"type":426,"tag":446,"props":76879,"children":76880},{},[76881],{"type":431,"value":55225},{"type":426,"tag":542,"props":76883,"children":76885},{"code":76884,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello from C# .NET! Sent using Rapiwa API.\"\n  }'\n",[76886],{"type":426,"tag":549,"props":76887,"children":76888},{"__ignoreMap":417},[76889,76912,76927,76942,76953,76960,76968],{"type":426,"tag":553,"props":76890,"children":76891},{"class":555,"line":556},[76892,76896,76900,76904,76908],{"type":426,"tag":553,"props":76893,"children":76894},{"style":560},[76895],{"type":431,"value":563},{"type":426,"tag":553,"props":76897,"children":76898},{"style":566},[76899],{"type":431,"value":569},{"type":426,"tag":553,"props":76901,"children":76902},{"style":572},[76903],{"type":431,"value":575},{"type":426,"tag":553,"props":76905,"children":76906},{"style":572},[76907],{"type":431,"value":580},{"type":426,"tag":553,"props":76909,"children":76910},{"style":566},[76911],{"type":431,"value":585},{"type":426,"tag":553,"props":76913,"children":76914},{"class":555,"line":588},[76915,76919,76923],{"type":426,"tag":553,"props":76916,"children":76917},{"style":566},[76918],{"type":431,"value":594},{"type":426,"tag":553,"props":76920,"children":76921},{"style":572},[76922],{"type":431,"value":599},{"type":426,"tag":553,"props":76924,"children":76925},{"style":566},[76926],{"type":431,"value":585},{"type":426,"tag":553,"props":76928,"children":76929},{"class":555,"line":606},[76930,76934,76938],{"type":426,"tag":553,"props":76931,"children":76932},{"style":566},[76933],{"type":431,"value":594},{"type":426,"tag":553,"props":76935,"children":76936},{"style":572},[76937],{"type":431,"value":616},{"type":426,"tag":553,"props":76939,"children":76940},{"style":566},[76941],{"type":431,"value":585},{"type":426,"tag":553,"props":76943,"children":76944},{"class":555,"line":623},[76945,76949],{"type":426,"tag":553,"props":76946,"children":76947},{"style":566},[76948],{"type":431,"value":629},{"type":426,"tag":553,"props":76950,"children":76951},{"style":572},[76952],{"type":431,"value":634},{"type":426,"tag":553,"props":76954,"children":76955},{"class":555,"line":637},[76956],{"type":426,"tag":553,"props":76957,"children":76958},{"style":572},[76959],{"type":431,"value":643},{"type":426,"tag":553,"props":76961,"children":76962},{"class":555,"line":646},[76963],{"type":426,"tag":553,"props":76964,"children":76965},{"style":572},[76966],{"type":431,"value":76967},"    \"message\": \"Hello from C# .NET! Sent using Rapiwa API.\"\n",{"type":426,"tag":553,"props":76969,"children":76970},{"class":555,"line":655},[76971],{"type":426,"tag":553,"props":76972,"children":76973},{"style":572},[76974],{"type":431,"value":661},{"type":426,"tag":434,"props":76976,"children":76977},{"id":18886},[76978],{"type":431,"value":18889},{"type":426,"tag":454,"props":76980,"children":76981},{},[76982,77015,77036,77046],{"type":426,"tag":458,"props":76983,"children":76984},{},[76985,76990,76992,76998,76999,77005,77007,77013],{"type":426,"tag":446,"props":76986,"children":76987},{},[76988],{"type":431,"value":76989},"HttpRequestException: 401",{"type":431,"value":76991},": API key is incorrect. Check ",{"type":426,"tag":549,"props":76993,"children":76995},{"className":76994},[],[76996],{"type":431,"value":76997},"appsettings.json",{"type":431,"value":5710},{"type":426,"tag":549,"props":77000,"children":77002},{"className":77001},[],[77003],{"type":431,"value":77004},"Rapiwa:ApiKey",{"type":431,"value":77006}," and run ",{"type":426,"tag":549,"props":77008,"children":77010},{"className":77009},[],[77011],{"type":431,"value":77012},"dotnet user-secrets",{"type":431,"value":77014}," to confirm",{"type":426,"tag":458,"props":77016,"children":77017},{},[77018,77023,77025,77030,77031],{"type":426,"tag":446,"props":77019,"children":77020},{},[77021],{"type":431,"value":77022},"HttpRequestException: 400",{"type":431,"value":77024},": Phone number format is wrong. Use international format without ",{"type":426,"tag":549,"props":77026,"children":77028},{"className":77027},[],[77029],{"type":431,"value":2033},{"type":431,"value":700},{"type":426,"tag":549,"props":77032,"children":77034},{"className":77033},[],[77035],{"type":431,"value":7237},{"type":426,"tag":458,"props":77037,"children":77038},{},[77039,77044],{"type":426,"tag":446,"props":77040,"children":77041},{},[77042],{"type":431,"value":77043},"TaskCanceledException",{"type":431,"value":77045},": The 15-second timeout was exceeded. Increase timeout or check network connectivity",{"type":426,"tag":458,"props":77047,"children":77048},{},[77049,77054,77056,77062],{"type":426,"tag":446,"props":77050,"children":77051},{},[77052],{"type":431,"value":77053},"JsonException",{"type":431,"value":77055},": The response JSON doesn't match your model. Log ",{"type":426,"tag":549,"props":77057,"children":77059},{"className":77058},[],[77060],{"type":431,"value":77061},"response.Content.ReadAsStringAsync()",{"type":431,"value":77063}," to inspect the actual response",{"type":426,"tag":434,"props":77065,"children":77066},{"id":4109},[77067],{"type":431,"value":4112},{"type":426,"tag":427,"props":77069,"children":77070},{},[77071,77076],{"type":426,"tag":446,"props":77072,"children":77073},{},[77074],{"type":431,"value":77075},"Is there a NuGet package for Rapiwa?",{"type":431,"value":77077},"\nNot yet. Use the typed client pattern in this tutorial — it's idiomatic .NET and gives you full control over the HTTP client lifecycle.",{"type":426,"tag":427,"props":77079,"children":77080},{},[77081,77086],{"type":426,"tag":446,"props":77082,"children":77083},{},[77084],{"type":431,"value":77085},"Does Rapiwa charge per WhatsApp message from .NET applications?",{"type":431,"value":30566},{"type":426,"tag":427,"props":77088,"children":77089},{},[77090,77095,77097,77102,77104,77109],{"type":426,"tag":446,"props":77091,"children":77092},{},[77093],{"type":431,"value":77094},"What .NET versions are supported?",{"type":431,"value":77096},"\nThe code in this tutorial works with .NET 6, 7, and 8. For .NET Framework 4.x, use ",{"type":426,"tag":549,"props":77098,"children":77100},{"className":77099},[],[77101],{"type":431,"value":66702},{"type":431,"value":77103}," or ",{"type":426,"tag":549,"props":77105,"children":77107},{"className":77106},[],[77108],{"type":431,"value":71505},{"type":431,"value":77110}," without the newer record syntax.",{"type":426,"tag":427,"props":77112,"children":77113},{},[77114,77119,77121,77127,77129,77134],{"type":426,"tag":446,"props":77115,"children":77116},{},[77117],{"type":431,"value":77118},"Can I use Polly for retry policies with the Rapiwa client?",{"type":431,"value":77120},"\nYes. Add Polly via ",{"type":426,"tag":549,"props":77122,"children":77124},{"className":77123},[],[77125],{"type":431,"value":77126},"Microsoft.Extensions.Http.Polly",{"type":431,"value":77128}," and configure retry policies on the named ",{"type":426,"tag":549,"props":77130,"children":77132},{"className":77131},[],[77133],{"type":431,"value":71505},{"type":431,"value":77135}," registration for resilient WhatsApp message delivery.",{"type":426,"tag":427,"props":77137,"children":77138},{},[77139,77144],{"type":426,"tag":446,"props":77140,"children":77141},{},[77142],{"type":431,"value":77143},"How do I format multi-line messages in C# strings?",{"type":431,"value":77145},"\nUse verbatim strings or raw string literals (C# 11+):",{"type":426,"tag":542,"props":77147,"children":77149},{"code":77148,"language":71711,"meta":417,"className":71712,"style":417},"var message = $\"\"\"\n    Hi {name}!\n    Your order #{id} is confirmed.\n    Total: ${total:F2}\n    \"\"\";\n",[77150],{"type":426,"tag":549,"props":77151,"children":77152},{"__ignoreMap":417},[77153,77173,77190,77208,77232],{"type":426,"tag":553,"props":77154,"children":77155},{"class":555,"line":556},[77156,77160,77164,77168],{"type":426,"tag":553,"props":77157,"children":77158},{"style":795},[77159],{"type":431,"value":72595},{"type":426,"tag":553,"props":77161,"children":77162},{"style":560},[77163],{"type":431,"value":55741},{"type":426,"tag":553,"props":77165,"children":77166},{"style":795},[77167],{"type":431,"value":8739},{"type":426,"tag":553,"props":77169,"children":77170},{"style":572},[77171],{"type":431,"value":77172}," $\"\"\"\n",{"type":426,"tag":553,"props":77174,"children":77175},{"class":555,"line":588},[77176,77181,77185],{"type":426,"tag":553,"props":77177,"children":77178},{"style":572},[77179],{"type":431,"value":77180},"    Hi {",{"type":426,"tag":553,"props":77182,"children":77183},{"style":684},[77184],{"type":431,"value":24468},{"type":426,"tag":553,"props":77186,"children":77187},{"style":572},[77188],{"type":431,"value":77189},"}!\n",{"type":426,"tag":553,"props":77191,"children":77192},{"class":555,"line":606},[77193,77198,77203],{"type":426,"tag":553,"props":77194,"children":77195},{"style":572},[77196],{"type":431,"value":77197},"    Your order #{",{"type":426,"tag":553,"props":77199,"children":77200},{"style":684},[77201],{"type":431,"value":77202},"id",{"type":426,"tag":553,"props":77204,"children":77205},{"style":572},[77206],{"type":431,"value":77207},"} is confirmed.\n",{"type":426,"tag":553,"props":77209,"children":77210},{"class":555,"line":623},[77211,77216,77220,77224,77228],{"type":426,"tag":553,"props":77212,"children":77213},{"style":572},[77214],{"type":431,"value":77215},"    Total: ${",{"type":426,"tag":553,"props":77217,"children":77218},{"style":684},[77219],{"type":431,"value":28805},{"type":426,"tag":553,"props":77221,"children":77222},{"style":795},[77223],{"type":431,"value":19071},{"type":426,"tag":553,"props":77225,"children":77226},{"style":684},[77227],{"type":431,"value":74898},{"type":426,"tag":553,"props":77229,"children":77230},{"style":572},[77231],{"type":431,"value":756},{"type":426,"tag":553,"props":77233,"children":77234},{"class":555,"line":637},[77235,77239],{"type":426,"tag":553,"props":77236,"children":77237},{"style":572},[77238],{"type":431,"value":15510},{"type":426,"tag":553,"props":77240,"children":77241},{"style":684},[77242],{"type":431,"value":52321},{"type":426,"tag":427,"props":77244,"children":77245},{},[77246,77248,77253,77254,77260,77262,77267],{"type":431,"value":77247},"Or use ",{"type":426,"tag":549,"props":77249,"children":77251},{"className":77250},[],[77252],{"type":431,"value":3661},{"type":431,"value":700},{"type":426,"tag":549,"props":77255,"children":77257},{"className":77256},[],[77258],{"type":431,"value":77259},"$\"Hi {name}!\\n\\nYour order is confirmed.\"",{"type":431,"value":77261}," — WhatsApp renders ",{"type":426,"tag":549,"props":77263,"children":77265},{"className":77264},[],[77266],{"type":431,"value":3661},{"type":431,"value":77268}," as a line break.",{"type":426,"tag":4164,"props":77270,"children":77271},{},[77272],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":77274},[77275,77276,77277,77278,77279,77280,77281],{"id":47624,"depth":588,"text":47627},{"id":71699,"depth":588,"text":71702},{"id":72786,"depth":588,"text":72789},{"id":75030,"depth":588,"text":75033},{"id":75550,"depth":588,"text":75553},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-csharp-dotnet-rapiwa.md","blog\u002Fwhatsapp-api-csharp-dotnet-rapiwa.md","blog\u002Fwhatsapp-api-csharp-dotnet-rapiwa",{"loc":97},{"_path":101,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":102,"description":103,"date":77287,"author":47538,"category":43,"_slug":77288,"image":77289,"body":77290,"_type":4187,"_id":78381,"_source":4189,"_file":78382,"_stem":78383,"_extension":4192,"sitemap":78384},"2026-03-03","rapiwa-zapier-whatsapp-integration","\u002Fimages\u002Fblog\u002Frapiwa-zapier-whatsapp-integration.svg",{"type":423,"children":77291,"toc":78363},[77292,77304,77310,77315,77396,77400,77422,77442,77448,77482,77488,77493,77535,77541,77546,77559,77573,77583,77615,77624,77659,77665,77671,77681,77691,77696,77704,77710,77719,77727,77731,77739,77744,77750,77759,77767,77771,77779,77793,77799,77808,77816,77820,77828,77834,77858,77934,77947,77953,77958,77986,77991,77997,78162,78167,78171,78249,78253,78276,78286,78296,78320,78359],{"type":426,"tag":427,"props":77293,"children":77294},{},[77295,77297,77302],{"type":431,"value":77296},"You can integrate Rapiwa WhatsApp API with Zapier using the ",{"type":426,"tag":446,"props":77298,"children":77299},{},[77300],{"type":431,"value":77301},"Webhooks by Zapier",{"type":431,"value":77303}," action to POST to Rapiwa's send-message endpoint. This connects WhatsApp to any of Zapier's 7,000+ apps — including Gmail, Google Sheets, HubSpot, Typeform, Calendly, Stripe, and Shopify — without writing code. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":77305,"children":77307},{"id":77306},"what-you-can-build-with-zapier-rapiwa",[77308],{"type":431,"value":77309},"What You Can Build with Zapier + Rapiwa",{"type":426,"tag":427,"props":77311,"children":77312},{},[77313],{"type":431,"value":77314},"Any trigger in Zapier's 7,000+ apps can now send a WhatsApp message:",{"type":426,"tag":454,"props":77316,"children":77317},{},[77318,77328,77338,77348,77358,77368,77378,77387],{"type":426,"tag":458,"props":77319,"children":77320},{},[77321,77326],{"type":426,"tag":446,"props":77322,"children":77323},{},[77324],{"type":431,"value":77325},"Google Forms",{"type":431,"value":77327}," → new response → WhatsApp confirmation",{"type":426,"tag":458,"props":77329,"children":77330},{},[77331,77336],{"type":426,"tag":446,"props":77332,"children":77333},{},[77334],{"type":431,"value":77335},"Calendly",{"type":431,"value":77337}," → appointment booked → WhatsApp reminder",{"type":426,"tag":458,"props":77339,"children":77340},{},[77341,77346],{"type":426,"tag":446,"props":77342,"children":77343},{},[77344],{"type":431,"value":77345},"HubSpot",{"type":431,"value":77347}," → new contact → WhatsApp greeting from sales rep",{"type":426,"tag":458,"props":77349,"children":77350},{},[77351,77356],{"type":426,"tag":446,"props":77352,"children":77353},{},[77354],{"type":431,"value":77355},"Stripe",{"type":431,"value":77357}," → payment successful → WhatsApp receipt",{"type":426,"tag":458,"props":77359,"children":77360},{},[77361,77366],{"type":426,"tag":446,"props":77362,"children":77363},{},[77364],{"type":431,"value":77365},"Gmail",{"type":431,"value":77367}," → email from VIP sender → WhatsApp alert",{"type":426,"tag":458,"props":77369,"children":77370},{},[77371,77376],{"type":426,"tag":446,"props":77372,"children":77373},{},[77374],{"type":431,"value":77375},"Shopify",{"type":431,"value":77377}," → order cancelled → WhatsApp apology",{"type":426,"tag":458,"props":77379,"children":77380},{},[77381,77385],{"type":426,"tag":446,"props":77382,"children":77383},{},[77384],{"type":431,"value":55421},{"type":431,"value":77386}," → record status updated → WhatsApp notification",{"type":426,"tag":458,"props":77388,"children":77389},{},[77390,77394],{"type":426,"tag":446,"props":77391,"children":77392},{},[77393],{"type":431,"value":47673},{"type":431,"value":77395}," → new row → WhatsApp message to that row's contact",{"type":426,"tag":434,"props":77397,"children":77398},{"id":47624},[77399],{"type":431,"value":47627},{"type":426,"tag":454,"props":77401,"children":77402},{},[77403,77413,77417],{"type":426,"tag":458,"props":77404,"children":77405},{},[77406,77407,77412],{"type":431,"value":48828},{"type":426,"tag":3819,"props":77408,"children":77410},{"href":3821,"rel":77409},[3823],[77411],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":77414,"children":77415},{},[77416],{"type":431,"value":48840},{"type":426,"tag":458,"props":77418,"children":77419},{},[77420],{"type":431,"value":77421},"Zapier account (free plan supports 5 Zaps, paid plans from $20\u002Fmonth)",{"type":426,"tag":41290,"props":77423,"children":77424},{},[77425],{"type":426,"tag":427,"props":77426,"children":77427},{},[77428,77433,77435,77440],{"type":426,"tag":446,"props":77429,"children":77430},{},[77431],{"type":431,"value":77432},"Note",{"type":431,"value":77434},": \"Webhooks by Zapier\" (used to call Rapiwa's API) requires ",{"type":426,"tag":446,"props":77436,"children":77437},{},[77438],{"type":431,"value":77439},"Zapier Starter plan or higher",{"type":431,"value":77441}," — it's not available on the free plan.",{"type":426,"tag":434,"props":77443,"children":77445},{"id":77444},"step-1-create-a-new-zap",[77446],{"type":431,"value":77447},"Step 1: Create a New Zap",{"type":426,"tag":6331,"props":77449,"children":77450},{},[77451,77463,77472,77477],{"type":426,"tag":458,"props":77452,"children":77453},{},[77454,77456],{"type":431,"value":77455},"Log in to ",{"type":426,"tag":3819,"props":77457,"children":77460},{"href":77458,"rel":77459},"https:\u002F\u002Fzapier.com",[3823],[77461],{"type":431,"value":77462},"zapier.com",{"type":426,"tag":458,"props":77464,"children":77465},{},[77466,77467],{"type":431,"value":47857},{"type":426,"tag":446,"props":77468,"children":77469},{},[77470],{"type":431,"value":77471},"Create Zap",{"type":426,"tag":458,"props":77473,"children":77474},{},[77475],{"type":431,"value":77476},"Choose your trigger app (e.g., Google Sheets, HubSpot, Calendly)",{"type":426,"tag":458,"props":77478,"children":77479},{},[77480],{"type":431,"value":77481},"Configure and test the trigger",{"type":426,"tag":434,"props":77483,"children":77485},{"id":77484},"step-2-add-the-rapiwa-action",[77486],{"type":431,"value":77487},"Step 2: Add the Rapiwa Action",{"type":426,"tag":427,"props":77489,"children":77490},{},[77491],{"type":431,"value":77492},"After setting up your trigger:",{"type":426,"tag":6331,"props":77494,"children":77495},{},[77496,77506,77515,77526],{"type":426,"tag":458,"props":77497,"children":77498},{},[77499,77500,77504],{"type":431,"value":47857},{"type":426,"tag":446,"props":77501,"children":77502},{},[77503],{"type":431,"value":2033},{"type":431,"value":77505}," to add an action",{"type":426,"tag":458,"props":77507,"children":77508},{},[77509,77511],{"type":431,"value":77510},"Search for ",{"type":426,"tag":446,"props":77512,"children":77513},{},[77514],{"type":431,"value":77301},{"type":426,"tag":458,"props":77516,"children":77517},{},[77518,77520,77524],{"type":431,"value":77519},"Select ",{"type":426,"tag":446,"props":77521,"children":77522},{},[77523],{"type":431,"value":67603},{"type":431,"value":77525}," as the event",{"type":426,"tag":458,"props":77527,"children":77528},{},[77529,77530],{"type":431,"value":47857},{"type":426,"tag":446,"props":77531,"children":77532},{},[77533],{"type":431,"value":77534},"Continue",{"type":426,"tag":434,"props":77536,"children":77538},{"id":77537},"step-3-configure-the-webhook-action",[77539],{"type":431,"value":77540},"Step 3: Configure the Webhook Action",{"type":426,"tag":427,"props":77542,"children":77543},{},[77544],{"type":431,"value":77545},"Fill in the webhook configuration:",{"type":426,"tag":427,"props":77547,"children":77548},{},[77549,77553,77554],{"type":426,"tag":446,"props":77550,"children":77551},{},[77552],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":77555,"children":77557},{"className":77556},[],[77558],{"type":431,"value":48098},{"type":426,"tag":427,"props":77560,"children":77561},{},[77562,77567,77568],{"type":426,"tag":446,"props":77563,"children":77564},{},[77565],{"type":431,"value":77566},"Payload type",{"type":431,"value":700},{"type":426,"tag":549,"props":77569,"children":77571},{"className":77570},[],[77572],{"type":431,"value":673},{"type":426,"tag":427,"props":77574,"children":77575},{},[77576,77581],{"type":426,"tag":446,"props":77577,"children":77578},{},[77579],{"type":431,"value":77580},"Data",{"type":431,"value":77582}," (key-value pairs):",{"type":426,"tag":454,"props":77584,"children":77585},{},[77586,77604],{"type":426,"tag":458,"props":77587,"children":77588},{},[77589,77591,77596,77598],{"type":431,"value":77590},"Key: ",{"type":426,"tag":549,"props":77592,"children":77594},{"className":77593},[],[77595],{"type":431,"value":39195},{"type":431,"value":77597}," | Value: ",{"type":426,"tag":549,"props":77599,"children":77601},{"className":77600},[],[77602],{"type":431,"value":77603},"{{phone_field_from_trigger}}",{"type":426,"tag":458,"props":77605,"children":77606},{},[77607,77608,77613],{"type":431,"value":77590},{"type":426,"tag":549,"props":77609,"children":77611},{"className":77610},[],[77612],{"type":431,"value":2734},{"type":431,"value":77614}," | Value: your message text",{"type":426,"tag":427,"props":77616,"children":77617},{},[77618,77622],{"type":426,"tag":446,"props":77619,"children":77620},{},[77621],{"type":431,"value":72355},{"type":431,"value":77623}," (click \"Headers\" section):",{"type":426,"tag":454,"props":77625,"children":77626},{},[77627,77642],{"type":426,"tag":458,"props":77628,"children":77629},{},[77630,77631,77636,77637],{"type":431,"value":77590},{"type":426,"tag":549,"props":77632,"children":77634},{"className":77633},[],[77635],{"type":431,"value":48106},{"type":431,"value":77597},{"type":426,"tag":549,"props":77638,"children":77640},{"className":77639},[],[77641],{"type":431,"value":48113},{"type":426,"tag":458,"props":77643,"children":77644},{},[77645,77646,77652,77653],{"type":431,"value":77590},{"type":426,"tag":549,"props":77647,"children":77649},{"className":77648},[],[77650],{"type":431,"value":77651},"Content-Type",{"type":431,"value":77597},{"type":426,"tag":549,"props":77654,"children":77656},{"className":77655},[],[77657],{"type":431,"value":77658},"application\u002Fjson",{"type":426,"tag":434,"props":77660,"children":77662},{"id":77661},"step-4-example-zaps",[77663],{"type":431,"value":77664},"Step 4: Example Zaps",{"type":426,"tag":515,"props":77666,"children":77668},{"id":77667},"zap-1-calendly-booking-whatsapp-reminder",[77669],{"type":431,"value":77670},"Zap 1: Calendly Booking → WhatsApp Reminder",{"type":426,"tag":427,"props":77672,"children":77673},{},[77674,77679],{"type":426,"tag":446,"props":77675,"children":77676},{},[77677],{"type":431,"value":77678},"Trigger",{"type":431,"value":77680},": Calendly → Invitee Created",{"type":426,"tag":427,"props":77682,"children":77683},{},[77684,77689],{"type":426,"tag":446,"props":77685,"children":77686},{},[77687],{"type":431,"value":77688},"Action",{"type":431,"value":77690},": Webhooks by Zapier → POST",{"type":426,"tag":427,"props":77692,"children":77693},{},[77694],{"type":431,"value":77695},"Data:",{"type":426,"tag":542,"props":77697,"children":77699},{"code":77698},"number: {{invitee_phone_number}}\nmessage: Hi {{invitee_name}}! ✅ Your appointment is confirmed.\n\n📅 Date: {{event_start_time}}\n📍 Location: {{location}}\n\nAdd to calendar: {{event_url}}\n\nReply here if you need to reschedule.\n",[77700],{"type":426,"tag":549,"props":77701,"children":77702},{"__ignoreMap":417},[77703],{"type":431,"value":77698},{"type":426,"tag":515,"props":77705,"children":77707},{"id":77706},"zap-2-google-sheets-whatsapp-blast",[77708],{"type":431,"value":77709},"Zap 2: Google Sheets → WhatsApp Blast",{"type":426,"tag":427,"props":77711,"children":77712},{},[77713,77717],{"type":426,"tag":446,"props":77714,"children":77715},{},[77716],{"type":431,"value":77678},{"type":431,"value":77718},": Google Sheets → New Spreadsheet Row",{"type":426,"tag":427,"props":77720,"children":77721},{},[77722,77726],{"type":426,"tag":446,"props":77723,"children":77724},{},[77725],{"type":431,"value":77688},{"type":431,"value":77690},{"type":426,"tag":427,"props":77728,"children":77729},{},[77730],{"type":431,"value":77695},{"type":426,"tag":542,"props":77732,"children":77734},{"code":77733},"number: {{column_phone}}\nmessage: {{column_message}}\n",[77735],{"type":426,"tag":549,"props":77736,"children":77737},{"__ignoreMap":417},[77738],{"type":431,"value":77733},{"type":426,"tag":427,"props":77740,"children":77741},{},[77742],{"type":431,"value":77743},"This sends a WhatsApp message for every new row added to your Google Sheet — perfect for appointment reminders, campaign sends, or invoice notifications.",{"type":426,"tag":515,"props":77745,"children":77747},{"id":77746},"zap-3-stripe-payment-whatsapp-receipt",[77748],{"type":431,"value":77749},"Zap 3: Stripe Payment → WhatsApp Receipt",{"type":426,"tag":427,"props":77751,"children":77752},{},[77753,77757],{"type":426,"tag":446,"props":77754,"children":77755},{},[77756],{"type":431,"value":77678},{"type":431,"value":77758},": Stripe → New Payment Intent",{"type":426,"tag":427,"props":77760,"children":77761},{},[77762,77766],{"type":426,"tag":446,"props":77763,"children":77764},{},[77765],{"type":431,"value":77688},{"type":431,"value":77690},{"type":426,"tag":427,"props":77768,"children":77769},{},[77770],{"type":431,"value":77695},{"type":426,"tag":542,"props":77772,"children":77774},{"code":77773},"number: {{metadata_customer_phone}}\nmessage: Payment received! ✅\n\nAmount: ${{amount_decimal}} {{currency_upper}}\nReference: {{id}}\nReceipt: {{charges_data_0_receipt_url}}\n\nThank you for your payment!\n",[77775],{"type":426,"tag":549,"props":77776,"children":77777},{"__ignoreMap":417},[77778],{"type":431,"value":77773},{"type":426,"tag":41290,"props":77780,"children":77781},{},[77782],{"type":426,"tag":427,"props":77783,"children":77784},{},[77785,77787,77792],{"type":431,"value":77786},"Store the customer's phone in Stripe payment metadata as ",{"type":426,"tag":549,"props":77788,"children":77790},{"className":77789},[],[77791],{"type":431,"value":47822},{"type":431,"value":6789},{"type":426,"tag":515,"props":77794,"children":77796},{"id":77795},"zap-4-hubspot-new-contact-whatsapp-greeting",[77797],{"type":431,"value":77798},"Zap 4: HubSpot New Contact → WhatsApp Greeting",{"type":426,"tag":427,"props":77800,"children":77801},{},[77802,77806],{"type":426,"tag":446,"props":77803,"children":77804},{},[77805],{"type":431,"value":77678},{"type":431,"value":77807},": HubSpot → New Contact",{"type":426,"tag":427,"props":77809,"children":77810},{},[77811,77815],{"type":426,"tag":446,"props":77812,"children":77813},{},[77814],{"type":431,"value":77688},{"type":431,"value":77690},{"type":426,"tag":427,"props":77817,"children":77818},{},[77819],{"type":431,"value":77695},{"type":426,"tag":542,"props":77821,"children":77823},{"code":77822},"number: {{phone}}\nmessage: Hi {{firstname}}! 👋 I'm Alex from [Company Name].\n\nI saw you just signed up — I'd love to connect and learn about your needs.\n\nWould you have 15 minutes for a quick call this week?\n— Alex\n",[77824],{"type":426,"tag":549,"props":77825,"children":77826},{"__ignoreMap":417},[77827],{"type":431,"value":77822},{"type":426,"tag":434,"props":77829,"children":77831},{"id":77830},"step-5-test-the-zap",[77832],{"type":431,"value":77833},"Step 5: Test the Zap",{"type":426,"tag":6331,"props":77835,"children":77836},{},[77837,77848,77853],{"type":426,"tag":458,"props":77838,"children":77839},{},[77840,77841,77846],{"type":431,"value":47857},{"type":426,"tag":446,"props":77842,"children":77843},{},[77844],{"type":431,"value":77845},"Test & Continue",{"type":431,"value":77847}," on the Webhooks action",{"type":426,"tag":458,"props":77849,"children":77850},{},[77851],{"type":431,"value":77852},"Zapier sends a test POST to Rapiwa with your configured data",{"type":426,"tag":458,"props":77854,"children":77855},{},[77856],{"type":431,"value":77857},"Check the response — it should show:",{"type":426,"tag":542,"props":77859,"children":77861},{"code":77860,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_zapier_abc123\",\n  \"timestamp\": \"2026-06-26T10:30:00Z\"\n}\n",[77862],{"type":426,"tag":549,"props":77863,"children":77864},{"__ignoreMap":417},[77865,77872,77891,77911,77927],{"type":426,"tag":553,"props":77866,"children":77867},{"class":555,"line":556},[77868],{"type":426,"tag":553,"props":77869,"children":77870},{"style":684},[77871],{"type":431,"value":687},{"type":426,"tag":553,"props":77873,"children":77874},{"class":555,"line":588},[77875,77879,77883,77887],{"type":426,"tag":553,"props":77876,"children":77877},{"style":566},[77878],{"type":431,"value":695},{"type":426,"tag":553,"props":77880,"children":77881},{"style":684},[77882],{"type":431,"value":700},{"type":426,"tag":553,"props":77884,"children":77885},{"style":572},[77886],{"type":431,"value":705},{"type":426,"tag":553,"props":77888,"children":77889},{"style":684},[77890],{"type":431,"value":710},{"type":426,"tag":553,"props":77892,"children":77893},{"class":555,"line":606},[77894,77898,77902,77907],{"type":426,"tag":553,"props":77895,"children":77896},{"style":566},[77897],{"type":431,"value":718},{"type":426,"tag":553,"props":77899,"children":77900},{"style":684},[77901],{"type":431,"value":700},{"type":426,"tag":553,"props":77903,"children":77904},{"style":572},[77905],{"type":431,"value":77906},"\"msg_zapier_abc123\"",{"type":426,"tag":553,"props":77908,"children":77909},{"style":684},[77910],{"type":431,"value":710},{"type":426,"tag":553,"props":77912,"children":77913},{"class":555,"line":623},[77914,77918,77922],{"type":426,"tag":553,"props":77915,"children":77916},{"style":566},[77917],{"type":431,"value":739},{"type":426,"tag":553,"props":77919,"children":77920},{"style":684},[77921],{"type":431,"value":700},{"type":426,"tag":553,"props":77923,"children":77924},{"style":572},[77925],{"type":431,"value":77926},"\"2026-06-26T10:30:00Z\"\n",{"type":426,"tag":553,"props":77928,"children":77929},{"class":555,"line":637},[77930],{"type":426,"tag":553,"props":77931,"children":77932},{"style":684},[77933],{"type":431,"value":756},{"type":426,"tag":6331,"props":77935,"children":77936},{"start":623},[77937,77942],{"type":426,"tag":458,"props":77938,"children":77939},{},[77940],{"type":431,"value":77941},"Check your WhatsApp — the test message should arrive within 5 seconds",{"type":426,"tag":458,"props":77943,"children":77944},{},[77945],{"type":431,"value":77946},"Turn on the Zap",{"type":426,"tag":434,"props":77948,"children":77950},{"id":77949},"step-6-receive-incoming-whatsapp-messages-in-zapier-optional",[77951],{"type":431,"value":77952},"Step 6: Receive Incoming WhatsApp Messages in Zapier (Optional)",{"type":426,"tag":427,"props":77954,"children":77955},{},[77956],{"type":431,"value":77957},"To receive incoming WhatsApp messages as Zapier triggers:",{"type":426,"tag":6331,"props":77959,"children":77960},{},[77961,77971,77976],{"type":426,"tag":458,"props":77962,"children":77963},{},[77964,77965,77969],{"type":431,"value":60194},{"type":426,"tag":446,"props":77966,"children":77967},{},[77968],{"type":431,"value":77301},{"type":431,"value":77970}," trigger (Catch Hook)",{"type":426,"tag":458,"props":77972,"children":77973},{},[77974],{"type":431,"value":77975},"Copy the Zapier-generated webhook URL",{"type":426,"tag":458,"props":77977,"children":77978},{},[77979,77981],{"type":431,"value":77980},"Register this URL in Rapiwa Dashboard → Webhooks → Events: ",{"type":426,"tag":549,"props":77982,"children":77984},{"className":77983},[],[77985],{"type":431,"value":7956},{"type":426,"tag":427,"props":77987,"children":77988},{},[77989],{"type":431,"value":77990},"Now incoming WhatsApp messages trigger your Zapier workflow.",{"type":426,"tag":434,"props":77992,"children":77994},{"id":77993},"zapier-vs-n8n-vs-makecom-for-whatsapp-automation",[77995],{"type":431,"value":77996},"Zapier vs n8n vs Make.com for WhatsApp Automation",{"type":426,"tag":10600,"props":77998,"children":77999},{},[78000,78024],{"type":426,"tag":10604,"props":78001,"children":78002},{},[78003],{"type":426,"tag":10608,"props":78004,"children":78005},{},[78006,78010,78015,78019],{"type":426,"tag":10612,"props":78007,"children":78008},{},[78009],{"type":431,"value":16096},{"type":426,"tag":10612,"props":78011,"children":78012},{},[78013],{"type":431,"value":78014},"Zapier",{"type":426,"tag":10612,"props":78016,"children":78017},{},[78018],{"type":431,"value":47653},{"type":426,"tag":10612,"props":78020,"children":78021},{},[78022],{"type":431,"value":78023},"Make.com",{"type":426,"tag":10623,"props":78025,"children":78026},{},[78027,78050,78072,78095,78118,78141],{"type":426,"tag":10608,"props":78028,"children":78029},{},[78030,78035,78040,78045],{"type":426,"tag":10630,"props":78031,"children":78032},{},[78033],{"type":431,"value":78034},"App integrations",{"type":426,"tag":10630,"props":78036,"children":78037},{},[78038],{"type":431,"value":78039},"7,000+",{"type":426,"tag":10630,"props":78041,"children":78042},{},[78043],{"type":431,"value":78044},"400+",{"type":426,"tag":10630,"props":78046,"children":78047},{},[78048],{"type":431,"value":78049},"2,000+",{"type":426,"tag":10608,"props":78051,"children":78052},{},[78053,78058,78063,78068],{"type":426,"tag":10630,"props":78054,"children":78055},{},[78056],{"type":431,"value":78057},"WhatsApp support",{"type":426,"tag":10630,"props":78059,"children":78060},{},[78061],{"type":431,"value":78062},"Via Webhooks",{"type":426,"tag":10630,"props":78064,"children":78065},{},[78066],{"type":431,"value":78067},"Via HTTP",{"type":426,"tag":10630,"props":78069,"children":78070},{},[78071],{"type":431,"value":78067},{"type":426,"tag":10608,"props":78073,"children":78074},{},[78075,78080,78085,78090],{"type":426,"tag":10630,"props":78076,"children":78077},{},[78078],{"type":431,"value":78079},"Free plan",{"type":426,"tag":10630,"props":78081,"children":78082},{},[78083],{"type":431,"value":78084},"5 Zaps (no webhooks)",{"type":426,"tag":10630,"props":78086,"children":78087},{},[78088],{"type":431,"value":78089},"Yes (self-hosted)",{"type":426,"tag":10630,"props":78091,"children":78092},{},[78093],{"type":431,"value":78094},"Yes (1,000 ops\u002Fmonth)",{"type":426,"tag":10608,"props":78096,"children":78097},{},[78098,78103,78108,78113],{"type":426,"tag":10630,"props":78099,"children":78100},{},[78101],{"type":431,"value":78102},"Paid starts at",{"type":426,"tag":10630,"props":78104,"children":78105},{},[78106],{"type":431,"value":78107},"$20\u002Fmonth",{"type":426,"tag":10630,"props":78109,"children":78110},{},[78111],{"type":431,"value":78112},"$20\u002Fmonth (cloud)",{"type":426,"tag":10630,"props":78114,"children":78115},{},[78116],{"type":431,"value":78117},"$9\u002Fmonth",{"type":426,"tag":10608,"props":78119,"children":78120},{},[78121,78126,78131,78136],{"type":426,"tag":10630,"props":78122,"children":78123},{},[78124],{"type":431,"value":78125},"Code scripting",{"type":426,"tag":10630,"props":78127,"children":78128},{},[78129],{"type":431,"value":78130},"No",{"type":426,"tag":10630,"props":78132,"children":78133},{},[78134],{"type":431,"value":78135},"Yes (JS)",{"type":426,"tag":10630,"props":78137,"children":78138},{},[78139],{"type":431,"value":78140},"Limited",{"type":426,"tag":10608,"props":78142,"children":78143},{},[78144,78148,78153,78157],{"type":426,"tag":10630,"props":78145,"children":78146},{},[78147],{"type":431,"value":46969},{"type":426,"tag":10630,"props":78149,"children":78150},{},[78151],{"type":431,"value":78152},"Maximum app coverage",{"type":426,"tag":10630,"props":78154,"children":78155},{},[78156],{"type":431,"value":47026},{"type":426,"tag":10630,"props":78158,"children":78159},{},[78160],{"type":431,"value":78161},"Mid-level users",{"type":426,"tag":427,"props":78163,"children":78164},{},[78165],{"type":431,"value":78166},"All three work equally well with Rapiwa's REST API.",{"type":426,"tag":434,"props":78168,"children":78169},{"id":18886},[78170],{"type":431,"value":18889},{"type":426,"tag":454,"props":78172,"children":78173},{},[78174,78197,78221,78231],{"type":426,"tag":458,"props":78175,"children":78176},{},[78177,78181,78183,78188,78190,78195],{"type":426,"tag":446,"props":78178,"children":78179},{},[78180],{"type":431,"value":8544},{"type":431,"value":78182},": The ",{"type":426,"tag":549,"props":78184,"children":78186},{"className":78185},[],[78187],{"type":431,"value":48106},{"type":431,"value":78189}," header must be ",{"type":426,"tag":549,"props":78191,"children":78193},{"className":78192},[],[78194],{"type":431,"value":48113},{"type":431,"value":78196}," (exact format). Check for extra spaces or incorrect key.",{"type":426,"tag":458,"props":78198,"children":78199},{},[78200,78205,78207,78212,78214,78219],{"type":426,"tag":446,"props":78201,"children":78202},{},[78203],{"type":431,"value":78204},"400 Bad Request — invalid number",{"type":431,"value":78206},": Ensure the phone field from your trigger contains a number in international format without ",{"type":426,"tag":549,"props":78208,"children":78210},{"className":78209},[],[78211],{"type":431,"value":2033},{"type":431,"value":78213},". Use Zapier's ",{"type":426,"tag":446,"props":78215,"children":78216},{},[78217],{"type":431,"value":78218},"Formatter",{"type":431,"value":78220}," step to remove non-digits: Format → Numbers → Remove Non-Numeric Characters.",{"type":426,"tag":458,"props":78222,"children":78223},{},[78224,78229],{"type":426,"tag":446,"props":78225,"children":78226},{},[78227],{"type":431,"value":78228},"Webhooks by Zapier unavailable",{"type":431,"value":78230},": Webhooks require Zapier Starter plan or higher. Upgrade from the free plan.",{"type":426,"tag":458,"props":78232,"children":78233},{},[78234,78239,78241,78247],{"type":426,"tag":446,"props":78235,"children":78236},{},[78237],{"type":431,"value":78238},"Zap running but no WhatsApp received",{"type":431,"value":78240},": Check the Zap run history in Zapier for the full request\u002Fresponse. Verify ",{"type":426,"tag":549,"props":78242,"children":78244},{"className":78243},[],[78245],{"type":431,"value":78246},"status: success",{"type":431,"value":78248}," in the response body.",{"type":426,"tag":434,"props":78250,"children":78251},{"id":4109},[78252],{"type":431,"value":4112},{"type":426,"tag":427,"props":78254,"children":78255},{},[78256,78261,78263,78267,78269,78274],{"type":426,"tag":446,"props":78257,"children":78258},{},[78259],{"type":431,"value":78260},"Is there a native Rapiwa app in Zapier?",{"type":431,"value":78262},"\nNot yet. Use ",{"type":426,"tag":446,"props":78264,"children":78265},{},[78266],{"type":431,"value":77301},{"type":431,"value":78268}," with a POST action to ",{"type":426,"tag":549,"props":78270,"children":78272},{"className":78271},[],[78273],{"type":431,"value":48098},{"type":431,"value":78275},". This provides identical functionality to a native integration.",{"type":426,"tag":427,"props":78277,"children":78278},{},[78279,78284],{"type":426,"tag":446,"props":78280,"children":78281},{},[78282],{"type":431,"value":78283},"Does Zapier charge per WhatsApp message?",{"type":431,"value":78285},"\nZapier charges per \"task\" (Zap execution), not per message. Rapiwa charges $5\u002Fmonth flat with no per-message fees. On Zapier's Starter plan (750 tasks\u002Fmonth), you can send up to 750 WhatsApp messages before needing to upgrade.",{"type":426,"tag":427,"props":78287,"children":78288},{},[78289,78294],{"type":426,"tag":446,"props":78290,"children":78291},{},[78292],{"type":431,"value":78293},"Can I use Zapier's free plan with Rapiwa?",{"type":431,"value":78295},"\nZapier's free plan doesn't include Webhooks by Zapier. You need Starter or higher to call Rapiwa's API from Zapier.",{"type":426,"tag":427,"props":78297,"children":78298},{},[78299,78304,78306,78311,78313,78318],{"type":426,"tag":446,"props":78300,"children":78301},{},[78302],{"type":431,"value":78303},"How do I handle multi-line messages in Zapier?",{"type":431,"value":78305},"\nIn the webhook data field, use ",{"type":426,"tag":549,"props":78307,"children":78309},{"className":78308},[],[78310],{"type":431,"value":3661},{"type":431,"value":78312}," for line breaks. Zapier passes ",{"type":426,"tag":549,"props":78314,"children":78316},{"className":78315},[],[78317],{"type":431,"value":3661},{"type":431,"value":78319}," as an actual newline in the JSON body, which WhatsApp renders as a line break.",{"type":426,"tag":427,"props":78321,"children":78322},{},[78323,78328,78330,78336,78337,78343,78345,78350,78351,78357],{"type":426,"tag":446,"props":78324,"children":78325},{},[78326],{"type":431,"value":78327},"Can I send images or documents via Zapier + Rapiwa?",{"type":431,"value":78329},"\nYes. Change the webhook URL to ",{"type":426,"tag":549,"props":78331,"children":78333},{"className":78332},[],[78334],{"type":431,"value":78335},"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image",{"type":431,"value":77103},{"type":426,"tag":549,"props":78338,"children":78340},{"className":78339},[],[78341],{"type":431,"value":78342},"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document",{"type":431,"value":78344}," and add the ",{"type":426,"tag":549,"props":78346,"children":78348},{"className":78347},[],[78349],{"type":431,"value":52833},{"type":431,"value":77103},{"type":426,"tag":549,"props":78352,"children":78354},{"className":78353},[],[78355],{"type":431,"value":78356},"documentUrl",{"type":431,"value":78358}," field in the data payload.",{"type":426,"tag":4164,"props":78360,"children":78361},{},[78362],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":78364},[78365,78366,78367,78368,78369,78370,78376,78377,78378,78379,78380],{"id":77306,"depth":588,"text":77309},{"id":47624,"depth":588,"text":47627},{"id":77444,"depth":588,"text":77447},{"id":77484,"depth":588,"text":77487},{"id":77537,"depth":588,"text":77540},{"id":77661,"depth":588,"text":77664,"children":78371},[78372,78373,78374,78375],{"id":77667,"depth":606,"text":77670},{"id":77706,"depth":606,"text":77709},{"id":77746,"depth":606,"text":77749},{"id":77795,"depth":606,"text":77798},{"id":77830,"depth":588,"text":77833},{"id":77949,"depth":588,"text":77952},{"id":77993,"depth":588,"text":77996},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:rapiwa-zapier-whatsapp-integration.md","blog\u002Frapiwa-zapier-whatsapp-integration.md","blog\u002Frapiwa-zapier-whatsapp-integration",{"loc":101},{"_path":105,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":106,"description":107,"date":78386,"author":36566,"category":22,"_slug":78387,"image":78388,"body":78389,"_type":4187,"_id":81554,"_source":4189,"_file":81555,"_stem":81556,"_extension":4192,"sitemap":81557},"2026-03-01","whatsapp-send-media-api-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-send-media-api-rapiwa.svg",{"type":423,"children":78390,"toc":81535},[78391,78396,78402,78537,78549,78553,78575,78581,78585,78686,78693,78769,78774,79183,79189,79472,79478,79483,79592,79598,79940,79946,80335,80341,80443,80648,80654,80659,80774,80782,81035,81041,81046,81431,81435,81477,81481,81491,81501,81511,81521,81531],{"type":426,"tag":427,"props":78392,"children":78393},{},[78394],{"type":431,"value":78395},"You can send WhatsApp media messages — images, PDFs, audio files, videos, and documents — using Rapiwa API by posting the media's publicly accessible URL to the relevant endpoint. Rapiwa supports image, document, and audio message types. All media endpoints use the same Bearer token authentication as text messages. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":78397,"children":78399},{"id":78398},"what-media-types-can-you-send",[78400],{"type":431,"value":78401},"What Media Types Can You Send?",{"type":426,"tag":10600,"props":78403,"children":78404},{},[78405,78426],{"type":426,"tag":10604,"props":78406,"children":78407},{},[78408],{"type":426,"tag":10608,"props":78409,"children":78410},{},[78411,78416,78421],{"type":426,"tag":10612,"props":78412,"children":78413},{},[78414],{"type":431,"value":78415},"Message type",{"type":426,"tag":10612,"props":78417,"children":78418},{},[78419],{"type":431,"value":78420},"Rapiwa endpoint",{"type":426,"tag":10612,"props":78422,"children":78423},{},[78424],{"type":431,"value":78425},"Supported formats",{"type":426,"tag":10623,"props":78427,"children":78428},{},[78429,78450,78471,78493,78515],{"type":426,"tag":10608,"props":78430,"children":78431},{},[78432,78437,78445],{"type":426,"tag":10630,"props":78433,"children":78434},{},[78435],{"type":431,"value":78436},"Image",{"type":426,"tag":10630,"props":78438,"children":78439},{},[78440],{"type":426,"tag":549,"props":78441,"children":78443},{"className":78442},[],[78444],{"type":431,"value":7833},{"type":426,"tag":10630,"props":78446,"children":78447},{},[78448],{"type":431,"value":78449},"JPEG, PNG, GIF, WebP",{"type":426,"tag":10608,"props":78451,"children":78452},{},[78453,78458,78466],{"type":426,"tag":10630,"props":78454,"children":78455},{},[78456],{"type":431,"value":78457},"Document \u002F PDF",{"type":426,"tag":10630,"props":78459,"children":78460},{},[78461],{"type":426,"tag":549,"props":78462,"children":78464},{"className":78463},[],[78465],{"type":431,"value":7868},{"type":426,"tag":10630,"props":78467,"children":78468},{},[78469],{"type":431,"value":78470},"PDF, DOCX, XLSX, PPTX",{"type":426,"tag":10608,"props":78472,"children":78473},{},[78474,78479,78488],{"type":426,"tag":10630,"props":78475,"children":78476},{},[78477],{"type":431,"value":78478},"Audio \u002F Voice",{"type":426,"tag":10630,"props":78480,"children":78481},{},[78482],{"type":426,"tag":549,"props":78483,"children":78485},{"className":78484},[],[78486],{"type":431,"value":78487},"\u002Fsend-audio",{"type":426,"tag":10630,"props":78489,"children":78490},{},[78491],{"type":431,"value":78492},"MP3, OGG, AAC, M4A",{"type":426,"tag":10608,"props":78494,"children":78495},{},[78496,78501,78510],{"type":426,"tag":10630,"props":78497,"children":78498},{},[78499],{"type":431,"value":78500},"Video",{"type":426,"tag":10630,"props":78502,"children":78503},{},[78504],{"type":426,"tag":549,"props":78505,"children":78507},{"className":78506},[],[78508],{"type":431,"value":78509},"\u002Fsend-video",{"type":426,"tag":10630,"props":78511,"children":78512},{},[78513],{"type":431,"value":78514},"MP4, 3GP",{"type":426,"tag":10608,"props":78516,"children":78517},{},[78518,78523,78532],{"type":426,"tag":10630,"props":78519,"children":78520},{},[78521],{"type":431,"value":78522},"Text message",{"type":426,"tag":10630,"props":78524,"children":78525},{},[78526],{"type":426,"tag":549,"props":78527,"children":78529},{"className":78528},[],[78530],{"type":431,"value":78531},"\u002Fsend-message",{"type":426,"tag":10630,"props":78533,"children":78534},{},[78535],{"type":431,"value":78536},"Plain text (with WhatsApp formatting)",{"type":426,"tag":427,"props":78538,"children":78539},{},[78540,78542,78547],{"type":431,"value":78541},"All media must be hosted at a ",{"type":426,"tag":446,"props":78543,"children":78544},{},[78545],{"type":431,"value":78546},"publicly accessible HTTPS URL",{"type":431,"value":78548},". Rapiwa fetches the media from the URL and delivers it to WhatsApp.",{"type":426,"tag":434,"props":78550,"children":78551},{"id":47624},[78552],{"type":431,"value":47627},{"type":426,"tag":454,"props":78554,"children":78555},{},[78556,78566,78570],{"type":426,"tag":458,"props":78557,"children":78558},{},[78559,78560,78565],{"type":431,"value":48828},{"type":426,"tag":3819,"props":78561,"children":78563},{"href":3821,"rel":78562},[3823],[78564],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":78567,"children":78568},{},[78569],{"type":431,"value":48840},{"type":426,"tag":458,"props":78571,"children":78572},{},[78573],{"type":431,"value":78574},"Media files hosted at public HTTPS URLs (S3, Cloudflare R2, Google Cloud Storage, or any CDN)",{"type":426,"tag":434,"props":78576,"children":78578},{"id":78577},"sending-an-image",[78579],{"type":431,"value":78580},"Sending an Image",{"type":426,"tag":515,"props":78582,"children":78583},{"id":563},[78584],{"type":431,"value":56365},{"type":426,"tag":542,"props":78586,"children":78588},{"className":546,"code":78587,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"imageUrl\": \"https:\u002F\u002Fyoursite.com\u002Fimages\u002Finvoice-preview.png\",\n    \"caption\": \"Your invoice for Order #1234 is ready! Total: $49.99\"\n  }'\n",[78589],{"type":426,"tag":549,"props":78590,"children":78591},{"__ignoreMap":417},[78592,78615,78630,78645,78656,78663,78671,78679],{"type":426,"tag":553,"props":78593,"children":78594},{"class":555,"line":556},[78595,78599,78603,78607,78611],{"type":426,"tag":553,"props":78596,"children":78597},{"style":560},[78598],{"type":431,"value":563},{"type":426,"tag":553,"props":78600,"children":78601},{"style":566},[78602],{"type":431,"value":569},{"type":426,"tag":553,"props":78604,"children":78605},{"style":572},[78606],{"type":431,"value":575},{"type":426,"tag":553,"props":78608,"children":78609},{"style":572},[78610],{"type":431,"value":53768},{"type":426,"tag":553,"props":78612,"children":78613},{"style":566},[78614],{"type":431,"value":585},{"type":426,"tag":553,"props":78616,"children":78617},{"class":555,"line":588},[78618,78622,78626],{"type":426,"tag":553,"props":78619,"children":78620},{"style":566},[78621],{"type":431,"value":594},{"type":426,"tag":553,"props":78623,"children":78624},{"style":572},[78625],{"type":431,"value":599},{"type":426,"tag":553,"props":78627,"children":78628},{"style":566},[78629],{"type":431,"value":585},{"type":426,"tag":553,"props":78631,"children":78632},{"class":555,"line":606},[78633,78637,78641],{"type":426,"tag":553,"props":78634,"children":78635},{"style":566},[78636],{"type":431,"value":594},{"type":426,"tag":553,"props":78638,"children":78639},{"style":572},[78640],{"type":431,"value":616},{"type":426,"tag":553,"props":78642,"children":78643},{"style":566},[78644],{"type":431,"value":585},{"type":426,"tag":553,"props":78646,"children":78647},{"class":555,"line":623},[78648,78652],{"type":426,"tag":553,"props":78649,"children":78650},{"style":566},[78651],{"type":431,"value":629},{"type":426,"tag":553,"props":78653,"children":78654},{"style":572},[78655],{"type":431,"value":634},{"type":426,"tag":553,"props":78657,"children":78658},{"class":555,"line":637},[78659],{"type":426,"tag":553,"props":78660,"children":78661},{"style":572},[78662],{"type":431,"value":643},{"type":426,"tag":553,"props":78664,"children":78665},{"class":555,"line":646},[78666],{"type":426,"tag":553,"props":78667,"children":78668},{"style":572},[78669],{"type":431,"value":78670},"    \"imageUrl\": \"https:\u002F\u002Fyoursite.com\u002Fimages\u002Finvoice-preview.png\",\n",{"type":426,"tag":553,"props":78672,"children":78673},{"class":555,"line":655},[78674],{"type":426,"tag":553,"props":78675,"children":78676},{"style":572},[78677],{"type":431,"value":78678},"    \"caption\": \"Your invoice for Order #1234 is ready! Total: $49.99\"\n",{"type":426,"tag":553,"props":78680,"children":78681},{"class":555,"line":1036},[78682],{"type":426,"tag":553,"props":78683,"children":78684},{"style":572},[78685],{"type":431,"value":661},{"type":426,"tag":427,"props":78687,"children":78688},{},[78689],{"type":426,"tag":446,"props":78690,"children":78691},{},[78692],{"type":431,"value":669},{"type":426,"tag":542,"props":78694,"children":78696},{"className":674,"code":78695,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_img_abc123\",\n  \"timestamp\": \"2026-06-25T10:30:00Z\"\n}\n",[78697],{"type":426,"tag":549,"props":78698,"children":78699},{"__ignoreMap":417},[78700,78707,78726,78746,78762],{"type":426,"tag":553,"props":78701,"children":78702},{"class":555,"line":556},[78703],{"type":426,"tag":553,"props":78704,"children":78705},{"style":684},[78706],{"type":431,"value":687},{"type":426,"tag":553,"props":78708,"children":78709},{"class":555,"line":588},[78710,78714,78718,78722],{"type":426,"tag":553,"props":78711,"children":78712},{"style":566},[78713],{"type":431,"value":695},{"type":426,"tag":553,"props":78715,"children":78716},{"style":684},[78717],{"type":431,"value":700},{"type":426,"tag":553,"props":78719,"children":78720},{"style":572},[78721],{"type":431,"value":705},{"type":426,"tag":553,"props":78723,"children":78724},{"style":684},[78725],{"type":431,"value":710},{"type":426,"tag":553,"props":78727,"children":78728},{"class":555,"line":606},[78729,78733,78737,78742],{"type":426,"tag":553,"props":78730,"children":78731},{"style":566},[78732],{"type":431,"value":718},{"type":426,"tag":553,"props":78734,"children":78735},{"style":684},[78736],{"type":431,"value":700},{"type":426,"tag":553,"props":78738,"children":78739},{"style":572},[78740],{"type":431,"value":78741},"\"msg_img_abc123\"",{"type":426,"tag":553,"props":78743,"children":78744},{"style":684},[78745],{"type":431,"value":710},{"type":426,"tag":553,"props":78747,"children":78748},{"class":555,"line":623},[78749,78753,78757],{"type":426,"tag":553,"props":78750,"children":78751},{"style":566},[78752],{"type":431,"value":739},{"type":426,"tag":553,"props":78754,"children":78755},{"style":684},[78756],{"type":431,"value":700},{"type":426,"tag":553,"props":78758,"children":78759},{"style":572},[78760],{"type":431,"value":78761},"\"2026-06-25T10:30:00Z\"\n",{"type":426,"tag":553,"props":78763,"children":78764},{"class":555,"line":637},[78765],{"type":426,"tag":553,"props":78766,"children":78767},{"style":684},[78768],{"type":431,"value":756},{"type":426,"tag":515,"props":78770,"children":78771},{"id":784},[78772],{"type":431,"value":78773},"Python",{"type":426,"tag":542,"props":78775,"children":78777},{"className":785,"code":78776,"language":784,"meta":417,"style":417},"import requests\n\ndef send_whatsapp_image(phone: str, image_url: str, caption: str = '') -> dict:\n    \"\"\"\n    Send an image via WhatsApp using Rapiwa API.\n    \n    Args:\n        phone: Recipient in international format (e.g., '8801234567890')\n        image_url: Publicly accessible HTTPS URL to the image\n        caption: Optional text caption shown below the image\n    \"\"\"\n    response = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image',\n        headers={'Authorization': 'Bearer YOUR_API_KEY'},\n        json={\n            'number': phone,\n            'imageUrl': image_url,\n            'caption': caption\n        },\n        timeout=30  # Images may take longer to process\n    )\n    return response.json()\n\n# Send a product image\nresult = send_whatsapp_image(\n    phone='8801234567890',\n    image_url='https:\u002F\u002Fyourstore.com\u002Fproducts\u002Flaptop-bag.jpg',\n    caption='Your ordered item: Laptop Bag (Black) — Order #1234'\n)\nprint(result)\n# {'status': 'success', 'messageId': 'msg_img_abc123'}\n",[78778],{"type":426,"tag":549,"props":78779,"children":78780},{"__ignoreMap":417},[78781,78792,78799,78857,78864,78872,78879,78887,78895,78903,78911,78918,78933,78944,78975,78990,79001,79012,79023,79030,79050,79057,79068,79075,79083,79099,79118,79139,79156,79163,79175],{"type":426,"tag":553,"props":78782,"children":78783},{"class":555,"line":556},[78784,78788],{"type":426,"tag":553,"props":78785,"children":78786},{"style":795},[78787],{"type":431,"value":798},{"type":426,"tag":553,"props":78789,"children":78790},{"style":684},[78791],{"type":431,"value":803},{"type":426,"tag":553,"props":78793,"children":78794},{"class":555,"line":588},[78795],{"type":426,"tag":553,"props":78796,"children":78797},{"emptyLinePlaceholder":831},[78798],{"type":431,"value":834},{"type":426,"tag":553,"props":78800,"children":78801},{"class":555,"line":606},[78802,78806,78811,78815,78819,78824,78828,78833,78837,78841,78845,78849,78853],{"type":426,"tag":553,"props":78803,"children":78804},{"style":795},[78805],{"type":431,"value":842},{"type":426,"tag":553,"props":78807,"children":78808},{"style":560},[78809],{"type":431,"value":78810}," send_whatsapp_image",{"type":426,"tag":553,"props":78812,"children":78813},{"style":684},[78814],{"type":431,"value":7446},{"type":426,"tag":553,"props":78816,"children":78817},{"style":566},[78818],{"type":431,"value":895},{"type":426,"tag":553,"props":78820,"children":78821},{"style":684},[78822],{"type":431,"value":78823},", image_url: ",{"type":426,"tag":553,"props":78825,"children":78826},{"style":566},[78827],{"type":431,"value":895},{"type":426,"tag":553,"props":78829,"children":78830},{"style":684},[78831],{"type":431,"value":78832},", caption: ",{"type":426,"tag":553,"props":78834,"children":78835},{"style":566},[78836],{"type":431,"value":895},{"type":426,"tag":553,"props":78838,"children":78839},{"style":795},[78840],{"type":431,"value":8739},{"type":426,"tag":553,"props":78842,"children":78843},{"style":572},[78844],{"type":431,"value":1024},{"type":426,"tag":553,"props":78846,"children":78847},{"style":684},[78848],{"type":431,"value":900},{"type":426,"tag":553,"props":78850,"children":78851},{"style":566},[78852],{"type":431,"value":857},{"type":426,"tag":553,"props":78854,"children":78855},{"style":684},[78856],{"type":431,"value":909},{"type":426,"tag":553,"props":78858,"children":78859},{"class":555,"line":623},[78860],{"type":426,"tag":553,"props":78861,"children":78862},{"style":572},[78863],{"type":431,"value":2673},{"type":426,"tag":553,"props":78865,"children":78866},{"class":555,"line":637},[78867],{"type":426,"tag":553,"props":78868,"children":78869},{"style":572},[78870],{"type":431,"value":78871},"    Send an image via WhatsApp using Rapiwa API.\n",{"type":426,"tag":553,"props":78873,"children":78874},{"class":555,"line":646},[78875],{"type":426,"tag":553,"props":78876,"children":78877},{"style":572},[78878],{"type":431,"value":917},{"type":426,"tag":553,"props":78880,"children":78881},{"class":555,"line":655},[78882],{"type":426,"tag":553,"props":78883,"children":78884},{"style":572},[78885],{"type":431,"value":78886},"    Args:\n",{"type":426,"tag":553,"props":78888,"children":78889},{"class":555,"line":1036},[78890],{"type":426,"tag":553,"props":78891,"children":78892},{"style":572},[78893],{"type":431,"value":78894},"        phone: Recipient in international format (e.g., '8801234567890')\n",{"type":426,"tag":553,"props":78896,"children":78897},{"class":555,"line":1054},[78898],{"type":426,"tag":553,"props":78899,"children":78900},{"style":572},[78901],{"type":431,"value":78902},"        image_url: Publicly accessible HTTPS URL to the image\n",{"type":426,"tag":553,"props":78904,"children":78905},{"class":555,"line":1080},[78906],{"type":426,"tag":553,"props":78907,"children":78908},{"style":572},[78909],{"type":431,"value":78910},"        caption: Optional text caption shown below the image\n",{"type":426,"tag":553,"props":78912,"children":78913},{"class":555,"line":1097},[78914],{"type":426,"tag":553,"props":78915,"children":78916},{"style":572},[78917],{"type":431,"value":2673},{"type":426,"tag":553,"props":78919,"children":78920},{"class":555,"line":1114},[78921,78925,78929],{"type":426,"tag":553,"props":78922,"children":78923},{"style":684},[78924],{"type":431,"value":8117},{"type":426,"tag":553,"props":78926,"children":78927},{"style":795},[78928],{"type":431,"value":957},{"type":426,"tag":553,"props":78930,"children":78931},{"style":684},[78932],{"type":431,"value":1664},{"type":426,"tag":553,"props":78934,"children":78935},{"class":555,"line":1127},[78936,78940],{"type":426,"tag":553,"props":78937,"children":78938},{"style":572},[78939],{"type":431,"value":43625},{"type":426,"tag":553,"props":78941,"children":78942},{"style":684},[78943],{"type":431,"value":710},{"type":426,"tag":553,"props":78945,"children":78946},{"class":555,"line":1167},[78947,78951,78955,78959,78963,78967,78971],{"type":426,"tag":553,"props":78948,"children":78949},{"style":1684},[78950],{"type":431,"value":1687},{"type":426,"tag":553,"props":78952,"children":78953},{"style":795},[78954],{"type":431,"value":957},{"type":426,"tag":553,"props":78956,"children":78957},{"style":684},[78958],{"type":431,"value":972},{"type":426,"tag":553,"props":78960,"children":78961},{"style":572},[78962],{"type":431,"value":1700},{"type":426,"tag":553,"props":78964,"children":78965},{"style":684},[78966],{"type":431,"value":700},{"type":426,"tag":553,"props":78968,"children":78969},{"style":572},[78970],{"type":431,"value":37695},{"type":426,"tag":553,"props":78972,"children":78973},{"style":684},[78974],{"type":431,"value":1737},{"type":426,"tag":553,"props":78976,"children":78977},{"class":555,"line":1184},[78978,78982,78986],{"type":426,"tag":553,"props":78979,"children":78980},{"style":1684},[78981],{"type":431,"value":1746},{"type":426,"tag":553,"props":78983,"children":78984},{"style":795},[78985],{"type":431,"value":957},{"type":426,"tag":553,"props":78987,"children":78988},{"style":684},[78989],{"type":431,"value":687},{"type":426,"tag":553,"props":78991,"children":78992},{"class":555,"line":1192},[78993,78997],{"type":426,"tag":553,"props":78994,"children":78995},{"style":572},[78996],{"type":431,"value":15045},{"type":426,"tag":553,"props":78998,"children":78999},{"style":684},[79000],{"type":431,"value":37726},{"type":426,"tag":553,"props":79002,"children":79003},{"class":555,"line":1210},[79004,79008],{"type":426,"tag":553,"props":79005,"children":79006},{"style":572},[79007],{"type":431,"value":43714},{"type":426,"tag":553,"props":79009,"children":79010},{"style":684},[79011],{"type":431,"value":51018},{"type":426,"tag":553,"props":79013,"children":79014},{"class":555,"line":1253},[79015,79019],{"type":426,"tag":553,"props":79016,"children":79017},{"style":572},[79018],{"type":431,"value":43736},{"type":426,"tag":553,"props":79020,"children":79021},{"style":684},[79022],{"type":431,"value":51030},{"type":426,"tag":553,"props":79024,"children":79025},{"class":555,"line":1302},[79026],{"type":426,"tag":553,"props":79027,"children":79028},{"style":684},[79029],{"type":431,"value":32445},{"type":426,"tag":553,"props":79031,"children":79032},{"class":555,"line":1374},[79033,79037,79041,79045],{"type":426,"tag":553,"props":79034,"children":79035},{"style":1684},[79036],{"type":431,"value":51045},{"type":426,"tag":553,"props":79038,"children":79039},{"style":795},[79040],{"type":431,"value":957},{"type":426,"tag":553,"props":79042,"children":79043},{"style":566},[79044],{"type":431,"value":26829},{"type":426,"tag":553,"props":79046,"children":79047},{"style":1975},[79048],{"type":431,"value":79049},"  # Images may take longer to process\n",{"type":426,"tag":553,"props":79051,"children":79052},{"class":555,"line":1414},[79053],{"type":426,"tag":553,"props":79054,"children":79055},{"style":684},[79056],{"type":431,"value":1642},{"type":426,"tag":553,"props":79058,"children":79059},{"class":555,"line":1479},[79060,79064],{"type":426,"tag":553,"props":79061,"children":79062},{"style":795},[79063],{"type":431,"value":1659},{"type":426,"tag":553,"props":79065,"children":79066},{"style":684},[79067],{"type":431,"value":9193},{"type":426,"tag":553,"props":79069,"children":79070},{"class":555,"line":1517},[79071],{"type":426,"tag":553,"props":79072,"children":79073},{"emptyLinePlaceholder":831},[79074],{"type":431,"value":834},{"type":426,"tag":553,"props":79076,"children":79077},{"class":555,"line":1560},[79078],{"type":426,"tag":553,"props":79079,"children":79080},{"style":1975},[79081],{"type":431,"value":79082},"# Send a product image\n",{"type":426,"tag":553,"props":79084,"children":79085},{"class":555,"line":1598},[79086,79090,79094],{"type":426,"tag":553,"props":79087,"children":79088},{"style":684},[79089],{"type":431,"value":3146},{"type":426,"tag":553,"props":79091,"children":79092},{"style":795},[79093],{"type":431,"value":957},{"type":426,"tag":553,"props":79095,"children":79096},{"style":684},[79097],{"type":431,"value":79098}," send_whatsapp_image(\n",{"type":426,"tag":553,"props":79100,"children":79101},{"class":555,"line":1636},[79102,79106,79110,79114],{"type":426,"tag":553,"props":79103,"children":79104},{"style":1684},[79105],{"type":431,"value":44046},{"type":426,"tag":553,"props":79107,"children":79108},{"style":795},[79109],{"type":431,"value":957},{"type":426,"tag":553,"props":79111,"children":79112},{"style":572},[79113],{"type":431,"value":10197},{"type":426,"tag":553,"props":79115,"children":79116},{"style":684},[79117],{"type":431,"value":710},{"type":426,"tag":553,"props":79119,"children":79120},{"class":555,"line":1645},[79121,79126,79130,79135],{"type":426,"tag":553,"props":79122,"children":79123},{"style":1684},[79124],{"type":431,"value":79125},"    image_url",{"type":426,"tag":553,"props":79127,"children":79128},{"style":795},[79129],{"type":431,"value":957},{"type":426,"tag":553,"props":79131,"children":79132},{"style":572},[79133],{"type":431,"value":79134},"'https:\u002F\u002Fyourstore.com\u002Fproducts\u002Flaptop-bag.jpg'",{"type":426,"tag":553,"props":79136,"children":79137},{"style":684},[79138],{"type":431,"value":710},{"type":426,"tag":553,"props":79140,"children":79141},{"class":555,"line":1653},[79142,79147,79151],{"type":426,"tag":553,"props":79143,"children":79144},{"style":1684},[79145],{"type":431,"value":79146},"    caption",{"type":426,"tag":553,"props":79148,"children":79149},{"style":795},[79150],{"type":431,"value":957},{"type":426,"tag":553,"props":79152,"children":79153},{"style":572},[79154],{"type":431,"value":79155},"'Your ordered item: Laptop Bag (Black) — Order #1234'\n",{"type":426,"tag":553,"props":79157,"children":79158},{"class":555,"line":1667},[79159],{"type":426,"tag":553,"props":79160,"children":79161},{"style":684},[79162],{"type":431,"value":3262},{"type":426,"tag":553,"props":79164,"children":79165},{"class":555,"line":1680},[79166,79170],{"type":426,"tag":553,"props":79167,"children":79168},{"style":566},[79169],{"type":431,"value":3270},{"type":426,"tag":553,"props":79171,"children":79172},{"style":684},[79173],{"type":431,"value":79174},"(result)\n",{"type":426,"tag":553,"props":79176,"children":79177},{"class":555,"line":1740},[79178],{"type":426,"tag":553,"props":79179,"children":79180},{"style":1975},[79181],{"type":431,"value":79182},"# {'status': 'success', 'messageId': 'msg_img_abc123'}\n",{"type":426,"tag":515,"props":79184,"children":79186},{"id":79185},"nodejs",[79187],{"type":431,"value":79188},"Node.js",{"type":426,"tag":542,"props":79190,"children":79192},{"className":52113,"code":79191,"language":52115,"meta":417,"style":417},"async function sendWhatsAppImage(phone, imageUrl, caption = '') {\n  const response = await fetch('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-image', {\n    method: 'POST',\n    headers: {\n      'Authorization': 'Bearer YOUR_API_KEY',\n      'Content-Type': 'application\u002Fjson'\n    },\n    body: JSON.stringify({ number: phone, imageUrl, caption })\n  });\n  return response.json();\n}\n\n\u002F\u002F Usage\nawait sendWhatsAppImage(\n  '8801234567890',\n  'https:\u002F\u002Fyoursite.com\u002Fqr-ticket-event.png',\n  'Your event ticket! Show this QR code at the entrance.'\n);\n",[79193],{"type":426,"tag":549,"props":79194,"children":79195},{"__ignoreMap":417},[79196,79249,79284,79299,79306,79325,79340,79347,79370,79377,79396,79403,79410,79417,79433,79445,79457,79465],{"type":426,"tag":553,"props":79197,"children":79198},{"class":555,"line":556},[79199,79203,79207,79212,79216,79220,79224,79228,79232,79237,79241,79245],{"type":426,"tag":553,"props":79200,"children":79201},{"style":795},[79202],{"type":431,"value":52361},{"type":426,"tag":553,"props":79204,"children":79205},{"style":795},[79206],{"type":431,"value":52366},{"type":426,"tag":553,"props":79208,"children":79209},{"style":560},[79210],{"type":431,"value":79211}," sendWhatsAppImage",{"type":426,"tag":553,"props":79213,"children":79214},{"style":684},[79215],{"type":431,"value":3275},{"type":426,"tag":553,"props":79217,"children":79218},{"style":1684},[79219],{"type":431,"value":37598},{"type":426,"tag":553,"props":79221,"children":79222},{"style":684},[79223],{"type":431,"value":1907},{"type":426,"tag":553,"props":79225,"children":79226},{"style":1684},[79227],{"type":431,"value":52833},{"type":426,"tag":553,"props":79229,"children":79230},{"style":684},[79231],{"type":431,"value":1907},{"type":426,"tag":553,"props":79233,"children":79234},{"style":1684},[79235],{"type":431,"value":79236},"caption",{"type":426,"tag":553,"props":79238,"children":79239},{"style":795},[79240],{"type":431,"value":8739},{"type":426,"tag":553,"props":79242,"children":79243},{"style":572},[79244],{"type":431,"value":1024},{"type":426,"tag":553,"props":79246,"children":79247},{"style":684},[79248],{"type":431,"value":52385},{"type":426,"tag":553,"props":79250,"children":79251},{"class":555,"line":588},[79252,79256,79260,79264,79268,79272,79276,79280],{"type":426,"tag":553,"props":79253,"children":79254},{"style":795},[79255],{"type":431,"value":52540},{"type":426,"tag":553,"props":79257,"children":79258},{"style":566},[79259],{"type":431,"value":53061},{"type":426,"tag":553,"props":79261,"children":79262},{"style":795},[79263],{"type":431,"value":8739},{"type":426,"tag":553,"props":79265,"children":79266},{"style":795},[79267],{"type":431,"value":53070},{"type":426,"tag":553,"props":79269,"children":79270},{"style":560},[79271],{"type":431,"value":52226},{"type":426,"tag":553,"props":79273,"children":79274},{"style":684},[79275],{"type":431,"value":3275},{"type":426,"tag":553,"props":79277,"children":79278},{"style":572},[79279],{"type":431,"value":53083},{"type":426,"tag":553,"props":79281,"children":79282},{"style":684},[79283],{"type":431,"value":53088},{"type":426,"tag":553,"props":79285,"children":79286},{"class":555,"line":606},[79287,79291,79295],{"type":426,"tag":553,"props":79288,"children":79289},{"style":684},[79290],{"type":431,"value":53096},{"type":426,"tag":553,"props":79292,"children":79293},{"style":572},[79294],{"type":431,"value":8056},{"type":426,"tag":553,"props":79296,"children":79297},{"style":684},[79298],{"type":431,"value":710},{"type":426,"tag":553,"props":79300,"children":79301},{"class":555,"line":623},[79302],{"type":426,"tag":553,"props":79303,"children":79304},{"style":684},[79305],{"type":431,"value":53112},{"type":426,"tag":553,"props":79307,"children":79308},{"class":555,"line":637},[79309,79313,79317,79321],{"type":426,"tag":553,"props":79310,"children":79311},{"style":572},[79312],{"type":431,"value":53120},{"type":426,"tag":553,"props":79314,"children":79315},{"style":684},[79316],{"type":431,"value":700},{"type":426,"tag":553,"props":79318,"children":79319},{"style":572},[79320],{"type":431,"value":37695},{"type":426,"tag":553,"props":79322,"children":79323},{"style":684},[79324],{"type":431,"value":710},{"type":426,"tag":553,"props":79326,"children":79327},{"class":555,"line":646},[79328,79332,79336],{"type":426,"tag":553,"props":79329,"children":79330},{"style":572},[79331],{"type":431,"value":53149},{"type":426,"tag":553,"props":79333,"children":79334},{"style":684},[79335],{"type":431,"value":700},{"type":426,"tag":553,"props":79337,"children":79338},{"style":572},[79339],{"type":431,"value":53158},{"type":426,"tag":553,"props":79341,"children":79342},{"class":555,"line":655},[79343],{"type":426,"tag":553,"props":79344,"children":79345},{"style":684},[79346],{"type":431,"value":17203},{"type":426,"tag":553,"props":79348,"children":79349},{"class":555,"line":1036},[79350,79354,79358,79362,79366],{"type":426,"tag":553,"props":79351,"children":79352},{"style":684},[79353],{"type":431,"value":53173},{"type":426,"tag":553,"props":79355,"children":79356},{"style":566},[79357],{"type":431,"value":53178},{"type":426,"tag":553,"props":79359,"children":79360},{"style":684},[79361],{"type":431,"value":6789},{"type":426,"tag":553,"props":79363,"children":79364},{"style":560},[79365],{"type":431,"value":53187},{"type":426,"tag":553,"props":79367,"children":79368},{"style":684},[79369],{"type":431,"value":53192},{"type":426,"tag":553,"props":79371,"children":79372},{"class":555,"line":1054},[79373],{"type":426,"tag":553,"props":79374,"children":79375},{"style":684},[79376],{"type":431,"value":52480},{"type":426,"tag":553,"props":79378,"children":79379},{"class":555,"line":1080},[79380,79384,79388,79392],{"type":426,"tag":553,"props":79381,"children":79382},{"style":795},[79383],{"type":431,"value":52393},{"type":426,"tag":553,"props":79385,"children":79386},{"style":684},[79387],{"type":431,"value":53218},{"type":426,"tag":553,"props":79389,"children":79390},{"style":560},[79391],{"type":431,"value":673},{"type":426,"tag":553,"props":79393,"children":79394},{"style":684},[79395],{"type":431,"value":53227},{"type":426,"tag":553,"props":79397,"children":79398},{"class":555,"line":1097},[79399],{"type":426,"tag":553,"props":79400,"children":79401},{"style":684},[79402],{"type":431,"value":756},{"type":426,"tag":553,"props":79404,"children":79405},{"class":555,"line":1114},[79406],{"type":426,"tag":553,"props":79407,"children":79408},{"emptyLinePlaceholder":831},[79409],{"type":431,"value":834},{"type":426,"tag":553,"props":79411,"children":79412},{"class":555,"line":1127},[79413],{"type":426,"tag":553,"props":79414,"children":79415},{"style":1975},[79416],{"type":431,"value":53575},{"type":426,"tag":553,"props":79418,"children":79419},{"class":555,"line":1167},[79420,79425,79429],{"type":426,"tag":553,"props":79421,"children":79422},{"style":795},[79423],{"type":431,"value":79424},"await",{"type":426,"tag":553,"props":79426,"children":79427},{"style":560},[79428],{"type":431,"value":79211},{"type":426,"tag":553,"props":79430,"children":79431},{"style":684},[79432],{"type":431,"value":3172},{"type":426,"tag":553,"props":79434,"children":79435},{"class":555,"line":1184},[79436,79441],{"type":426,"tag":553,"props":79437,"children":79438},{"style":572},[79439],{"type":431,"value":79440},"  '8801234567890'",{"type":426,"tag":553,"props":79442,"children":79443},{"style":684},[79444],{"type":431,"value":710},{"type":426,"tag":553,"props":79446,"children":79447},{"class":555,"line":1192},[79448,79453],{"type":426,"tag":553,"props":79449,"children":79450},{"style":572},[79451],{"type":431,"value":79452},"  'https:\u002F\u002Fyoursite.com\u002Fqr-ticket-event.png'",{"type":426,"tag":553,"props":79454,"children":79455},{"style":684},[79456],{"type":431,"value":710},{"type":426,"tag":553,"props":79458,"children":79459},{"class":555,"line":1210},[79460],{"type":426,"tag":553,"props":79461,"children":79462},{"style":572},[79463],{"type":431,"value":79464},"  'Your event ticket! Show this QR code at the entrance.'\n",{"type":426,"tag":553,"props":79466,"children":79467},{"class":555,"line":1253},[79468],{"type":426,"tag":553,"props":79469,"children":79470},{"style":684},[79471],{"type":431,"value":11379},{"type":426,"tag":434,"props":79473,"children":79475},{"id":79474},"sending-a-pdf-document",[79476],{"type":431,"value":79477},"Sending a PDF Document",{"type":426,"tag":515,"props":79479,"children":79481},{"id":79480},"curl-1",[79482],{"type":431,"value":56365},{"type":426,"tag":542,"props":79484,"children":79486},{"className":546,"code":79485,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"documentUrl\": \"https:\u002F\u002Fyoursite.com\u002Finvoices\u002Finvoice-1234.pdf\",\n    \"filename\": \"Invoice-1234.pdf\",\n    \"caption\": \"Invoice for your order #1234. Due date: June 30, 2026.\"\n  }'\n",[79487],{"type":426,"tag":549,"props":79488,"children":79489},{"__ignoreMap":417},[79490,79513,79528,79543,79554,79561,79569,79577,79585],{"type":426,"tag":553,"props":79491,"children":79492},{"class":555,"line":556},[79493,79497,79501,79505,79509],{"type":426,"tag":553,"props":79494,"children":79495},{"style":560},[79496],{"type":431,"value":563},{"type":426,"tag":553,"props":79498,"children":79499},{"style":566},[79500],{"type":431,"value":569},{"type":426,"tag":553,"props":79502,"children":79503},{"style":572},[79504],{"type":431,"value":575},{"type":426,"tag":553,"props":79506,"children":79507},{"style":572},[79508],{"type":431,"value":5244},{"type":426,"tag":553,"props":79510,"children":79511},{"style":566},[79512],{"type":431,"value":585},{"type":426,"tag":553,"props":79514,"children":79515},{"class":555,"line":588},[79516,79520,79524],{"type":426,"tag":553,"props":79517,"children":79518},{"style":566},[79519],{"type":431,"value":594},{"type":426,"tag":553,"props":79521,"children":79522},{"style":572},[79523],{"type":431,"value":599},{"type":426,"tag":553,"props":79525,"children":79526},{"style":566},[79527],{"type":431,"value":585},{"type":426,"tag":553,"props":79529,"children":79530},{"class":555,"line":606},[79531,79535,79539],{"type":426,"tag":553,"props":79532,"children":79533},{"style":566},[79534],{"type":431,"value":594},{"type":426,"tag":553,"props":79536,"children":79537},{"style":572},[79538],{"type":431,"value":616},{"type":426,"tag":553,"props":79540,"children":79541},{"style":566},[79542],{"type":431,"value":585},{"type":426,"tag":553,"props":79544,"children":79545},{"class":555,"line":623},[79546,79550],{"type":426,"tag":553,"props":79547,"children":79548},{"style":566},[79549],{"type":431,"value":629},{"type":426,"tag":553,"props":79551,"children":79552},{"style":572},[79553],{"type":431,"value":634},{"type":426,"tag":553,"props":79555,"children":79556},{"class":555,"line":637},[79557],{"type":426,"tag":553,"props":79558,"children":79559},{"style":572},[79560],{"type":431,"value":643},{"type":426,"tag":553,"props":79562,"children":79563},{"class":555,"line":646},[79564],{"type":426,"tag":553,"props":79565,"children":79566},{"style":572},[79567],{"type":431,"value":79568},"    \"documentUrl\": \"https:\u002F\u002Fyoursite.com\u002Finvoices\u002Finvoice-1234.pdf\",\n",{"type":426,"tag":553,"props":79570,"children":79571},{"class":555,"line":655},[79572],{"type":426,"tag":553,"props":79573,"children":79574},{"style":572},[79575],{"type":431,"value":79576},"    \"filename\": \"Invoice-1234.pdf\",\n",{"type":426,"tag":553,"props":79578,"children":79579},{"class":555,"line":1036},[79580],{"type":426,"tag":553,"props":79581,"children":79582},{"style":572},[79583],{"type":431,"value":79584},"    \"caption\": \"Invoice for your order #1234. Due date: June 30, 2026.\"\n",{"type":426,"tag":553,"props":79586,"children":79587},{"class":555,"line":1054},[79588],{"type":426,"tag":553,"props":79589,"children":79590},{"style":572},[79591],{"type":431,"value":661},{"type":426,"tag":515,"props":79593,"children":79595},{"id":79594},"python-send-invoice-pdf",[79596],{"type":431,"value":79597},"Python — Send Invoice PDF",{"type":426,"tag":542,"props":79599,"children":79601},{"className":785,"code":79600,"language":784,"meta":417,"style":417},"def send_whatsapp_pdf(phone: str, pdf_url: str, filename: str, caption: str = '') -> dict:\n    \"\"\"Send a PDF via WhatsApp.\"\"\"\n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document',\n        headers={'Authorization': 'Bearer YOUR_API_KEY'},\n        json={\n            'number': phone,\n            'documentUrl': pdf_url,\n            'filename': filename,\n            'caption': caption\n        },\n        timeout=30\n    ).json()\n\n# Example: Send invoice after order completion\nresult = send_whatsapp_pdf(\n    phone='8801234567890',\n    pdf_url='https:\u002F\u002Fyourstore.com\u002Finvoices\u002F1234.pdf',\n    filename='Invoice-1234.pdf',\n    caption='Your invoice is attached. Click to open or download.'\n)\n",[79602],{"type":426,"tag":549,"props":79603,"children":79604},{"__ignoreMap":417},[79605,79671,79679,79690,79702,79733,79748,79759,79772,79785,79796,79803,79818,79825,79832,79840,79856,79875,79896,79917,79933],{"type":426,"tag":553,"props":79606,"children":79607},{"class":555,"line":556},[79608,79612,79617,79621,79625,79630,79634,79639,79643,79647,79651,79655,79659,79663,79667],{"type":426,"tag":553,"props":79609,"children":79610},{"style":795},[79611],{"type":431,"value":842},{"type":426,"tag":553,"props":79613,"children":79614},{"style":560},[79615],{"type":431,"value":79616}," send_whatsapp_pdf",{"type":426,"tag":553,"props":79618,"children":79619},{"style":684},[79620],{"type":431,"value":7446},{"type":426,"tag":553,"props":79622,"children":79623},{"style":566},[79624],{"type":431,"value":895},{"type":426,"tag":553,"props":79626,"children":79627},{"style":684},[79628],{"type":431,"value":79629},", pdf_url: ",{"type":426,"tag":553,"props":79631,"children":79632},{"style":566},[79633],{"type":431,"value":895},{"type":426,"tag":553,"props":79635,"children":79636},{"style":684},[79637],{"type":431,"value":79638},", filename: ",{"type":426,"tag":553,"props":79640,"children":79641},{"style":566},[79642],{"type":431,"value":895},{"type":426,"tag":553,"props":79644,"children":79645},{"style":684},[79646],{"type":431,"value":78832},{"type":426,"tag":553,"props":79648,"children":79649},{"style":566},[79650],{"type":431,"value":895},{"type":426,"tag":553,"props":79652,"children":79653},{"style":795},[79654],{"type":431,"value":8739},{"type":426,"tag":553,"props":79656,"children":79657},{"style":572},[79658],{"type":431,"value":1024},{"type":426,"tag":553,"props":79660,"children":79661},{"style":684},[79662],{"type":431,"value":900},{"type":426,"tag":553,"props":79664,"children":79665},{"style":566},[79666],{"type":431,"value":857},{"type":426,"tag":553,"props":79668,"children":79669},{"style":684},[79670],{"type":431,"value":909},{"type":426,"tag":553,"props":79672,"children":79673},{"class":555,"line":588},[79674],{"type":426,"tag":553,"props":79675,"children":79676},{"style":572},[79677],{"type":431,"value":79678},"    \"\"\"Send a PDF via WhatsApp.\"\"\"\n",{"type":426,"tag":553,"props":79680,"children":79681},{"class":555,"line":606},[79682,79686],{"type":426,"tag":553,"props":79683,"children":79684},{"style":795},[79685],{"type":431,"value":1659},{"type":426,"tag":553,"props":79687,"children":79688},{"style":684},[79689],{"type":431,"value":1664},{"type":426,"tag":553,"props":79691,"children":79692},{"class":555,"line":623},[79693,79698],{"type":426,"tag":553,"props":79694,"children":79695},{"style":572},[79696],{"type":431,"value":79697},"        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document'",{"type":426,"tag":553,"props":79699,"children":79700},{"style":684},[79701],{"type":431,"value":710},{"type":426,"tag":553,"props":79703,"children":79704},{"class":555,"line":637},[79705,79709,79713,79717,79721,79725,79729],{"type":426,"tag":553,"props":79706,"children":79707},{"style":1684},[79708],{"type":431,"value":1687},{"type":426,"tag":553,"props":79710,"children":79711},{"style":795},[79712],{"type":431,"value":957},{"type":426,"tag":553,"props":79714,"children":79715},{"style":684},[79716],{"type":431,"value":972},{"type":426,"tag":553,"props":79718,"children":79719},{"style":572},[79720],{"type":431,"value":1700},{"type":426,"tag":553,"props":79722,"children":79723},{"style":684},[79724],{"type":431,"value":700},{"type":426,"tag":553,"props":79726,"children":79727},{"style":572},[79728],{"type":431,"value":37695},{"type":426,"tag":553,"props":79730,"children":79731},{"style":684},[79732],{"type":431,"value":1737},{"type":426,"tag":553,"props":79734,"children":79735},{"class":555,"line":646},[79736,79740,79744],{"type":426,"tag":553,"props":79737,"children":79738},{"style":1684},[79739],{"type":431,"value":1746},{"type":426,"tag":553,"props":79741,"children":79742},{"style":795},[79743],{"type":431,"value":957},{"type":426,"tag":553,"props":79745,"children":79746},{"style":684},[79747],{"type":431,"value":687},{"type":426,"tag":553,"props":79749,"children":79750},{"class":555,"line":655},[79751,79755],{"type":426,"tag":553,"props":79752,"children":79753},{"style":572},[79754],{"type":431,"value":15045},{"type":426,"tag":553,"props":79756,"children":79757},{"style":684},[79758],{"type":431,"value":37726},{"type":426,"tag":553,"props":79760,"children":79761},{"class":555,"line":1036},[79762,79767],{"type":426,"tag":553,"props":79763,"children":79764},{"style":572},[79765],{"type":431,"value":79766},"            'documentUrl'",{"type":426,"tag":553,"props":79768,"children":79769},{"style":684},[79770],{"type":431,"value":79771},": pdf_url,\n",{"type":426,"tag":553,"props":79773,"children":79774},{"class":555,"line":1054},[79775,79780],{"type":426,"tag":553,"props":79776,"children":79777},{"style":572},[79778],{"type":431,"value":79779},"            'filename'",{"type":426,"tag":553,"props":79781,"children":79782},{"style":684},[79783],{"type":431,"value":79784},": filename,\n",{"type":426,"tag":553,"props":79786,"children":79787},{"class":555,"line":1080},[79788,79792],{"type":426,"tag":553,"props":79789,"children":79790},{"style":572},[79791],{"type":431,"value":43736},{"type":426,"tag":553,"props":79793,"children":79794},{"style":684},[79795],{"type":431,"value":51030},{"type":426,"tag":553,"props":79797,"children":79798},{"class":555,"line":1097},[79799],{"type":426,"tag":553,"props":79800,"children":79801},{"style":684},[79802],{"type":431,"value":32445},{"type":426,"tag":553,"props":79804,"children":79805},{"class":555,"line":1114},[79806,79810,79814],{"type":426,"tag":553,"props":79807,"children":79808},{"style":1684},[79809],{"type":431,"value":51045},{"type":426,"tag":553,"props":79811,"children":79812},{"style":795},[79813],{"type":431,"value":957},{"type":426,"tag":553,"props":79815,"children":79816},{"style":566},[79817],{"type":431,"value":51054},{"type":426,"tag":553,"props":79819,"children":79820},{"class":555,"line":1127},[79821],{"type":426,"tag":553,"props":79822,"children":79823},{"style":684},[79824],{"type":431,"value":1793},{"type":426,"tag":553,"props":79826,"children":79827},{"class":555,"line":1167},[79828],{"type":426,"tag":553,"props":79829,"children":79830},{"emptyLinePlaceholder":831},[79831],{"type":431,"value":834},{"type":426,"tag":553,"props":79833,"children":79834},{"class":555,"line":1184},[79835],{"type":426,"tag":553,"props":79836,"children":79837},{"style":1975},[79838],{"type":431,"value":79839},"# Example: Send invoice after order completion\n",{"type":426,"tag":553,"props":79841,"children":79842},{"class":555,"line":1192},[79843,79847,79851],{"type":426,"tag":553,"props":79844,"children":79845},{"style":684},[79846],{"type":431,"value":3146},{"type":426,"tag":553,"props":79848,"children":79849},{"style":795},[79850],{"type":431,"value":957},{"type":426,"tag":553,"props":79852,"children":79853},{"style":684},[79854],{"type":431,"value":79855}," send_whatsapp_pdf(\n",{"type":426,"tag":553,"props":79857,"children":79858},{"class":555,"line":1210},[79859,79863,79867,79871],{"type":426,"tag":553,"props":79860,"children":79861},{"style":1684},[79862],{"type":431,"value":44046},{"type":426,"tag":553,"props":79864,"children":79865},{"style":795},[79866],{"type":431,"value":957},{"type":426,"tag":553,"props":79868,"children":79869},{"style":572},[79870],{"type":431,"value":10197},{"type":426,"tag":553,"props":79872,"children":79873},{"style":684},[79874],{"type":431,"value":710},{"type":426,"tag":553,"props":79876,"children":79877},{"class":555,"line":1253},[79878,79883,79887,79892],{"type":426,"tag":553,"props":79879,"children":79880},{"style":1684},[79881],{"type":431,"value":79882},"    pdf_url",{"type":426,"tag":553,"props":79884,"children":79885},{"style":795},[79886],{"type":431,"value":957},{"type":426,"tag":553,"props":79888,"children":79889},{"style":572},[79890],{"type":431,"value":79891},"'https:\u002F\u002Fyourstore.com\u002Finvoices\u002F1234.pdf'",{"type":426,"tag":553,"props":79893,"children":79894},{"style":684},[79895],{"type":431,"value":710},{"type":426,"tag":553,"props":79897,"children":79898},{"class":555,"line":1302},[79899,79904,79908,79913],{"type":426,"tag":553,"props":79900,"children":79901},{"style":1684},[79902],{"type":431,"value":79903},"    filename",{"type":426,"tag":553,"props":79905,"children":79906},{"style":795},[79907],{"type":431,"value":957},{"type":426,"tag":553,"props":79909,"children":79910},{"style":572},[79911],{"type":431,"value":79912},"'Invoice-1234.pdf'",{"type":426,"tag":553,"props":79914,"children":79915},{"style":684},[79916],{"type":431,"value":710},{"type":426,"tag":553,"props":79918,"children":79919},{"class":555,"line":1374},[79920,79924,79928],{"type":426,"tag":553,"props":79921,"children":79922},{"style":1684},[79923],{"type":431,"value":79146},{"type":426,"tag":553,"props":79925,"children":79926},{"style":795},[79927],{"type":431,"value":957},{"type":426,"tag":553,"props":79929,"children":79930},{"style":572},[79931],{"type":431,"value":79932},"'Your invoice is attached. Click to open or download.'\n",{"type":426,"tag":553,"props":79934,"children":79935},{"class":555,"line":1414},[79936],{"type":426,"tag":553,"props":79937,"children":79938},{"style":684},[79939],{"type":431,"value":3262},{"type":426,"tag":515,"props":79941,"children":79943},{"id":79942},"php-send-pdf",[79944],{"type":431,"value":79945},"PHP — Send PDF",{"type":426,"tag":542,"props":79947,"children":79951},{"className":79948,"code":79949,"language":79950,"meta":417,"style":417},"language-php shiki shiki-themes github-dark","function sendWhatsAppPDF(string $phone, string $pdfUrl, string $filename, string $caption = ''): array {\n    $ch = curl_init('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document');\n    curl_setopt_array($ch, [\n        CURLOPT_RETURNTRANSFER => true,\n        CURLOPT_POST => true,\n        CURLOPT_HTTPHEADER => [\n            'Authorization: Bearer YOUR_API_KEY',\n            'Content-Type: application\u002Fjson'\n        ],\n        CURLOPT_POSTFIELDS => json_encode([\n            'number' => $phone,\n            'documentUrl' => $pdfUrl,\n            'filename' => $filename,\n            'caption' => $caption\n        ])\n    ]);\n    $result = json_decode(curl_exec($ch), true);\n    curl_close($ch);\n    return $result;\n}\n","php",[79952],{"type":426,"tag":549,"props":79953,"children":79954},{"__ignoreMap":417},[79955,80033,80063,80076,80097,80117,80134,80146,80154,80162,80184,80200,80216,80232,80248,80256,80264,80303,80316,80328],{"type":426,"tag":553,"props":79956,"children":79957},{"class":555,"line":556},[79958,79963,79968,79972,79976,79981,79985,79990,79994,79999,80003,80008,80012,80016,80020,80024,80029],{"type":426,"tag":553,"props":79959,"children":79960},{"style":795},[79961],{"type":431,"value":79962},"function",{"type":426,"tag":553,"props":79964,"children":79965},{"style":560},[79966],{"type":431,"value":79967}," sendWhatsAppPDF",{"type":426,"tag":553,"props":79969,"children":79970},{"style":684},[79971],{"type":431,"value":3275},{"type":426,"tag":553,"props":79973,"children":79974},{"style":795},[79975],{"type":431,"value":71939},{"type":426,"tag":553,"props":79977,"children":79978},{"style":684},[79979],{"type":431,"value":79980}," $phone, ",{"type":426,"tag":553,"props":79982,"children":79983},{"style":795},[79984],{"type":431,"value":71939},{"type":426,"tag":553,"props":79986,"children":79987},{"style":684},[79988],{"type":431,"value":79989}," $pdfUrl, ",{"type":426,"tag":553,"props":79991,"children":79992},{"style":795},[79993],{"type":431,"value":71939},{"type":426,"tag":553,"props":79995,"children":79996},{"style":684},[79997],{"type":431,"value":79998}," $filename, ",{"type":426,"tag":553,"props":80000,"children":80001},{"style":795},[80002],{"type":431,"value":71939},{"type":426,"tag":553,"props":80004,"children":80005},{"style":684},[80006],{"type":431,"value":80007}," $caption ",{"type":426,"tag":553,"props":80009,"children":80010},{"style":795},[80011],{"type":431,"value":957},{"type":426,"tag":553,"props":80013,"children":80014},{"style":572},[80015],{"type":431,"value":1024},{"type":426,"tag":553,"props":80017,"children":80018},{"style":684},[80019],{"type":431,"value":5736},{"type":426,"tag":553,"props":80021,"children":80022},{"style":795},[80023],{"type":431,"value":19071},{"type":426,"tag":553,"props":80025,"children":80026},{"style":795},[80027],{"type":431,"value":80028}," array",{"type":426,"tag":553,"props":80030,"children":80031},{"style":684},[80032],{"type":431,"value":5458},{"type":426,"tag":553,"props":80034,"children":80035},{"class":555,"line":588},[80036,80041,80045,80050,80054,80059],{"type":426,"tag":553,"props":80037,"children":80038},{"style":684},[80039],{"type":431,"value":80040},"    $ch ",{"type":426,"tag":553,"props":80042,"children":80043},{"style":795},[80044],{"type":431,"value":957},{"type":426,"tag":553,"props":80046,"children":80047},{"style":566},[80048],{"type":431,"value":80049}," curl_init",{"type":426,"tag":553,"props":80051,"children":80052},{"style":684},[80053],{"type":431,"value":3275},{"type":426,"tag":553,"props":80055,"children":80056},{"style":572},[80057],{"type":431,"value":80058},"'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-document'",{"type":426,"tag":553,"props":80060,"children":80061},{"style":684},[80062],{"type":431,"value":11379},{"type":426,"tag":553,"props":80064,"children":80065},{"class":555,"line":606},[80066,80071],{"type":426,"tag":553,"props":80067,"children":80068},{"style":566},[80069],{"type":431,"value":80070},"    curl_setopt_array",{"type":426,"tag":553,"props":80072,"children":80073},{"style":684},[80074],{"type":431,"value":80075},"($ch, [\n",{"type":426,"tag":553,"props":80077,"children":80078},{"class":555,"line":623},[80079,80084,80088,80093],{"type":426,"tag":553,"props":80080,"children":80081},{"style":566},[80082],{"type":431,"value":80083},"        CURLOPT_RETURNTRANSFER",{"type":426,"tag":553,"props":80085,"children":80086},{"style":795},[80087],{"type":431,"value":53709},{"type":426,"tag":553,"props":80089,"children":80090},{"style":566},[80091],{"type":431,"value":80092}," true",{"type":426,"tag":553,"props":80094,"children":80095},{"style":684},[80096],{"type":431,"value":710},{"type":426,"tag":553,"props":80098,"children":80099},{"class":555,"line":637},[80100,80105,80109,80113],{"type":426,"tag":553,"props":80101,"children":80102},{"style":566},[80103],{"type":431,"value":80104},"        CURLOPT_POST",{"type":426,"tag":553,"props":80106,"children":80107},{"style":795},[80108],{"type":431,"value":53709},{"type":426,"tag":553,"props":80110,"children":80111},{"style":566},[80112],{"type":431,"value":80092},{"type":426,"tag":553,"props":80114,"children":80115},{"style":684},[80116],{"type":431,"value":710},{"type":426,"tag":553,"props":80118,"children":80119},{"class":555,"line":646},[80120,80125,80129],{"type":426,"tag":553,"props":80121,"children":80122},{"style":566},[80123],{"type":431,"value":80124},"        CURLOPT_HTTPHEADER",{"type":426,"tag":553,"props":80126,"children":80127},{"style":795},[80128],{"type":431,"value":53709},{"type":426,"tag":553,"props":80130,"children":80131},{"style":684},[80132],{"type":431,"value":80133}," [\n",{"type":426,"tag":553,"props":80135,"children":80136},{"class":555,"line":655},[80137,80142],{"type":426,"tag":553,"props":80138,"children":80139},{"style":572},[80140],{"type":431,"value":80141},"            'Authorization: Bearer YOUR_API_KEY'",{"type":426,"tag":553,"props":80143,"children":80144},{"style":684},[80145],{"type":431,"value":710},{"type":426,"tag":553,"props":80147,"children":80148},{"class":555,"line":1036},[80149],{"type":426,"tag":553,"props":80150,"children":80151},{"style":572},[80152],{"type":431,"value":80153},"            'Content-Type: application\u002Fjson'\n",{"type":426,"tag":553,"props":80155,"children":80156},{"class":555,"line":1054},[80157],{"type":426,"tag":553,"props":80158,"children":80159},{"style":684},[80160],{"type":431,"value":80161},"        ],\n",{"type":426,"tag":553,"props":80163,"children":80164},{"class":555,"line":1080},[80165,80170,80174,80179],{"type":426,"tag":553,"props":80166,"children":80167},{"style":566},[80168],{"type":431,"value":80169},"        CURLOPT_POSTFIELDS",{"type":426,"tag":553,"props":80171,"children":80172},{"style":795},[80173],{"type":431,"value":53709},{"type":426,"tag":553,"props":80175,"children":80176},{"style":566},[80177],{"type":431,"value":80178}," json_encode",{"type":426,"tag":553,"props":80180,"children":80181},{"style":684},[80182],{"type":431,"value":80183},"([\n",{"type":426,"tag":553,"props":80185,"children":80186},{"class":555,"line":1097},[80187,80191,80195],{"type":426,"tag":553,"props":80188,"children":80189},{"style":572},[80190],{"type":431,"value":15045},{"type":426,"tag":553,"props":80192,"children":80193},{"style":795},[80194],{"type":431,"value":53709},{"type":426,"tag":553,"props":80196,"children":80197},{"style":684},[80198],{"type":431,"value":80199}," $phone,\n",{"type":426,"tag":553,"props":80201,"children":80202},{"class":555,"line":1114},[80203,80207,80211],{"type":426,"tag":553,"props":80204,"children":80205},{"style":572},[80206],{"type":431,"value":79766},{"type":426,"tag":553,"props":80208,"children":80209},{"style":795},[80210],{"type":431,"value":53709},{"type":426,"tag":553,"props":80212,"children":80213},{"style":684},[80214],{"type":431,"value":80215}," $pdfUrl,\n",{"type":426,"tag":553,"props":80217,"children":80218},{"class":555,"line":1127},[80219,80223,80227],{"type":426,"tag":553,"props":80220,"children":80221},{"style":572},[80222],{"type":431,"value":79779},{"type":426,"tag":553,"props":80224,"children":80225},{"style":795},[80226],{"type":431,"value":53709},{"type":426,"tag":553,"props":80228,"children":80229},{"style":684},[80230],{"type":431,"value":80231}," $filename,\n",{"type":426,"tag":553,"props":80233,"children":80234},{"class":555,"line":1167},[80235,80239,80243],{"type":426,"tag":553,"props":80236,"children":80237},{"style":572},[80238],{"type":431,"value":43736},{"type":426,"tag":553,"props":80240,"children":80241},{"style":795},[80242],{"type":431,"value":53709},{"type":426,"tag":553,"props":80244,"children":80245},{"style":684},[80246],{"type":431,"value":80247}," $caption\n",{"type":426,"tag":553,"props":80249,"children":80250},{"class":555,"line":1184},[80251],{"type":426,"tag":553,"props":80252,"children":80253},{"style":684},[80254],{"type":431,"value":80255},"        ])\n",{"type":426,"tag":553,"props":80257,"children":80258},{"class":555,"line":1192},[80259],{"type":426,"tag":553,"props":80260,"children":80261},{"style":684},[80262],{"type":431,"value":80263},"    ]);\n",{"type":426,"tag":553,"props":80265,"children":80266},{"class":555,"line":1210},[80267,80272,80276,80281,80285,80290,80295,80299],{"type":426,"tag":553,"props":80268,"children":80269},{"style":684},[80270],{"type":431,"value":80271},"    $result ",{"type":426,"tag":553,"props":80273,"children":80274},{"style":795},[80275],{"type":431,"value":957},{"type":426,"tag":553,"props":80277,"children":80278},{"style":566},[80279],{"type":431,"value":80280}," json_decode",{"type":426,"tag":553,"props":80282,"children":80283},{"style":684},[80284],{"type":431,"value":3275},{"type":426,"tag":553,"props":80286,"children":80287},{"style":566},[80288],{"type":431,"value":80289},"curl_exec",{"type":426,"tag":553,"props":80291,"children":80292},{"style":684},[80293],{"type":431,"value":80294},"($ch), ",{"type":426,"tag":553,"props":80296,"children":80297},{"style":566},[80298],{"type":431,"value":48523},{"type":426,"tag":553,"props":80300,"children":80301},{"style":684},[80302],{"type":431,"value":11379},{"type":426,"tag":553,"props":80304,"children":80305},{"class":555,"line":1253},[80306,80311],{"type":426,"tag":553,"props":80307,"children":80308},{"style":566},[80309],{"type":431,"value":80310},"    curl_close",{"type":426,"tag":553,"props":80312,"children":80313},{"style":684},[80314],{"type":431,"value":80315},"($ch);\n",{"type":426,"tag":553,"props":80317,"children":80318},{"class":555,"line":1302},[80319,80323],{"type":426,"tag":553,"props":80320,"children":80321},{"style":795},[80322],{"type":431,"value":1659},{"type":426,"tag":553,"props":80324,"children":80325},{"style":684},[80326],{"type":431,"value":80327}," $result;\n",{"type":426,"tag":553,"props":80329,"children":80330},{"class":555,"line":1374},[80331],{"type":426,"tag":553,"props":80332,"children":80333},{"style":684},[80334],{"type":431,"value":756},{"type":426,"tag":434,"props":80336,"children":80338},{"id":80337},"sending-an-audio-message",[80339],{"type":431,"value":80340},"Sending an Audio Message",{"type":426,"tag":542,"props":80342,"children":80344},{"className":546,"code":80343,"language":545,"meta":417,"style":417},"# Send an audio file (MP3, OGG, M4A)\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-audio \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"audioUrl\": \"https:\u002F\u002Fyoursite.com\u002Faudio\u002Fwelcome-message.mp3\"\n  }'\n",[80345],{"type":426,"tag":549,"props":80346,"children":80347},{"__ignoreMap":417},[80348,80356,80380,80395,80410,80421,80428,80436],{"type":426,"tag":553,"props":80349,"children":80350},{"class":555,"line":556},[80351],{"type":426,"tag":553,"props":80352,"children":80353},{"style":1975},[80354],{"type":431,"value":80355},"# Send an audio file (MP3, OGG, M4A)\n",{"type":426,"tag":553,"props":80357,"children":80358},{"class":555,"line":588},[80359,80363,80367,80371,80376],{"type":426,"tag":553,"props":80360,"children":80361},{"style":560},[80362],{"type":431,"value":563},{"type":426,"tag":553,"props":80364,"children":80365},{"style":566},[80366],{"type":431,"value":569},{"type":426,"tag":553,"props":80368,"children":80369},{"style":572},[80370],{"type":431,"value":575},{"type":426,"tag":553,"props":80372,"children":80373},{"style":572},[80374],{"type":431,"value":80375}," https:\u002F\u002Fapp.rapiwa.com\u002Fsend-audio",{"type":426,"tag":553,"props":80377,"children":80378},{"style":566},[80379],{"type":431,"value":585},{"type":426,"tag":553,"props":80381,"children":80382},{"class":555,"line":606},[80383,80387,80391],{"type":426,"tag":553,"props":80384,"children":80385},{"style":566},[80386],{"type":431,"value":594},{"type":426,"tag":553,"props":80388,"children":80389},{"style":572},[80390],{"type":431,"value":599},{"type":426,"tag":553,"props":80392,"children":80393},{"style":566},[80394],{"type":431,"value":585},{"type":426,"tag":553,"props":80396,"children":80397},{"class":555,"line":623},[80398,80402,80406],{"type":426,"tag":553,"props":80399,"children":80400},{"style":566},[80401],{"type":431,"value":594},{"type":426,"tag":553,"props":80403,"children":80404},{"style":572},[80405],{"type":431,"value":616},{"type":426,"tag":553,"props":80407,"children":80408},{"style":566},[80409],{"type":431,"value":585},{"type":426,"tag":553,"props":80411,"children":80412},{"class":555,"line":637},[80413,80417],{"type":426,"tag":553,"props":80414,"children":80415},{"style":566},[80416],{"type":431,"value":629},{"type":426,"tag":553,"props":80418,"children":80419},{"style":572},[80420],{"type":431,"value":634},{"type":426,"tag":553,"props":80422,"children":80423},{"class":555,"line":646},[80424],{"type":426,"tag":553,"props":80425,"children":80426},{"style":572},[80427],{"type":431,"value":643},{"type":426,"tag":553,"props":80429,"children":80430},{"class":555,"line":655},[80431],{"type":426,"tag":553,"props":80432,"children":80433},{"style":572},[80434],{"type":431,"value":80435},"    \"audioUrl\": \"https:\u002F\u002Fyoursite.com\u002Faudio\u002Fwelcome-message.mp3\"\n",{"type":426,"tag":553,"props":80437,"children":80438},{"class":555,"line":1036},[80439],{"type":426,"tag":553,"props":80440,"children":80441},{"style":572},[80442],{"type":431,"value":661},{"type":426,"tag":542,"props":80444,"children":80446},{"className":785,"code":80445,"language":784,"meta":417,"style":417},"# Python — send voice message\ndef send_whatsapp_audio(phone: str, audio_url: str) -> dict:\n    return requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-audio',\n        headers={'Authorization': 'Bearer YOUR_API_KEY'},\n        json={'number': phone, 'audioUrl': audio_url},\n        timeout=30\n    ).json()\n\nresult = send_whatsapp_audio('8801234567890', 'https:\u002F\u002Fyoursite.com\u002Faudio\u002Freminder.mp3')\n",[80447],{"type":426,"tag":549,"props":80448,"children":80449},{"__ignoreMap":417},[80450,80458,80499,80510,80522,80553,80586,80601,80608,80615],{"type":426,"tag":553,"props":80451,"children":80452},{"class":555,"line":556},[80453],{"type":426,"tag":553,"props":80454,"children":80455},{"style":1975},[80456],{"type":431,"value":80457},"# Python — send voice message\n",{"type":426,"tag":553,"props":80459,"children":80460},{"class":555,"line":588},[80461,80465,80470,80474,80478,80483,80487,80491,80495],{"type":426,"tag":553,"props":80462,"children":80463},{"style":795},[80464],{"type":431,"value":842},{"type":426,"tag":553,"props":80466,"children":80467},{"style":560},[80468],{"type":431,"value":80469}," send_whatsapp_audio",{"type":426,"tag":553,"props":80471,"children":80472},{"style":684},[80473],{"type":431,"value":7446},{"type":426,"tag":553,"props":80475,"children":80476},{"style":566},[80477],{"type":431,"value":895},{"type":426,"tag":553,"props":80479,"children":80480},{"style":684},[80481],{"type":431,"value":80482},", audio_url: ",{"type":426,"tag":553,"props":80484,"children":80485},{"style":566},[80486],{"type":431,"value":895},{"type":426,"tag":553,"props":80488,"children":80489},{"style":684},[80490],{"type":431,"value":900},{"type":426,"tag":553,"props":80492,"children":80493},{"style":566},[80494],{"type":431,"value":857},{"type":426,"tag":553,"props":80496,"children":80497},{"style":684},[80498],{"type":431,"value":909},{"type":426,"tag":553,"props":80500,"children":80501},{"class":555,"line":606},[80502,80506],{"type":426,"tag":553,"props":80503,"children":80504},{"style":795},[80505],{"type":431,"value":1659},{"type":426,"tag":553,"props":80507,"children":80508},{"style":684},[80509],{"type":431,"value":1664},{"type":426,"tag":553,"props":80511,"children":80512},{"class":555,"line":623},[80513,80518],{"type":426,"tag":553,"props":80514,"children":80515},{"style":572},[80516],{"type":431,"value":80517},"        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-audio'",{"type":426,"tag":553,"props":80519,"children":80520},{"style":684},[80521],{"type":431,"value":710},{"type":426,"tag":553,"props":80523,"children":80524},{"class":555,"line":637},[80525,80529,80533,80537,80541,80545,80549],{"type":426,"tag":553,"props":80526,"children":80527},{"style":1684},[80528],{"type":431,"value":1687},{"type":426,"tag":553,"props":80530,"children":80531},{"style":795},[80532],{"type":431,"value":957},{"type":426,"tag":553,"props":80534,"children":80535},{"style":684},[80536],{"type":431,"value":972},{"type":426,"tag":553,"props":80538,"children":80539},{"style":572},[80540],{"type":431,"value":1700},{"type":426,"tag":553,"props":80542,"children":80543},{"style":684},[80544],{"type":431,"value":700},{"type":426,"tag":553,"props":80546,"children":80547},{"style":572},[80548],{"type":431,"value":37695},{"type":426,"tag":553,"props":80550,"children":80551},{"style":684},[80552],{"type":431,"value":1737},{"type":426,"tag":553,"props":80554,"children":80555},{"class":555,"line":646},[80556,80560,80564,80568,80572,80576,80581],{"type":426,"tag":553,"props":80557,"children":80558},{"style":1684},[80559],{"type":431,"value":1746},{"type":426,"tag":553,"props":80561,"children":80562},{"style":795},[80563],{"type":431,"value":957},{"type":426,"tag":553,"props":80565,"children":80566},{"style":684},[80567],{"type":431,"value":972},{"type":426,"tag":553,"props":80569,"children":80570},{"style":572},[80571],{"type":431,"value":1759},{"type":426,"tag":553,"props":80573,"children":80574},{"style":684},[80575],{"type":431,"value":8931},{"type":426,"tag":553,"props":80577,"children":80578},{"style":572},[80579],{"type":431,"value":80580},"'audioUrl'",{"type":426,"tag":553,"props":80582,"children":80583},{"style":684},[80584],{"type":431,"value":80585},": audio_url},\n",{"type":426,"tag":553,"props":80587,"children":80588},{"class":555,"line":655},[80589,80593,80597],{"type":426,"tag":553,"props":80590,"children":80591},{"style":1684},[80592],{"type":431,"value":51045},{"type":426,"tag":553,"props":80594,"children":80595},{"style":795},[80596],{"type":431,"value":957},{"type":426,"tag":553,"props":80598,"children":80599},{"style":566},[80600],{"type":431,"value":51054},{"type":426,"tag":553,"props":80602,"children":80603},{"class":555,"line":1036},[80604],{"type":426,"tag":553,"props":80605,"children":80606},{"style":684},[80607],{"type":431,"value":1793},{"type":426,"tag":553,"props":80609,"children":80610},{"class":555,"line":1054},[80611],{"type":426,"tag":553,"props":80612,"children":80613},{"emptyLinePlaceholder":831},[80614],{"type":431,"value":834},{"type":426,"tag":553,"props":80616,"children":80617},{"class":555,"line":1080},[80618,80622,80626,80631,80635,80639,80644],{"type":426,"tag":553,"props":80619,"children":80620},{"style":684},[80621],{"type":431,"value":3146},{"type":426,"tag":553,"props":80623,"children":80624},{"style":795},[80625],{"type":431,"value":957},{"type":426,"tag":553,"props":80627,"children":80628},{"style":684},[80629],{"type":431,"value":80630}," send_whatsapp_audio(",{"type":426,"tag":553,"props":80632,"children":80633},{"style":572},[80634],{"type":431,"value":10197},{"type":426,"tag":553,"props":80636,"children":80637},{"style":684},[80638],{"type":431,"value":1907},{"type":426,"tag":553,"props":80640,"children":80641},{"style":572},[80642],{"type":431,"value":80643},"'https:\u002F\u002Fyoursite.com\u002Faudio\u002Freminder.mp3'",{"type":426,"tag":553,"props":80645,"children":80646},{"style":684},[80647],{"type":431,"value":3262},{"type":426,"tag":434,"props":80649,"children":80651},{"id":80650},"hosting-media-files",[80652],{"type":431,"value":80653},"Hosting Media Files",{"type":426,"tag":427,"props":80655,"children":80656},{},[80657],{"type":431,"value":80658},"Media must be at a public URL. Options:",{"type":426,"tag":10600,"props":80660,"children":80661},{},[80662,80681],{"type":426,"tag":10604,"props":80663,"children":80664},{},[80665],{"type":426,"tag":10608,"props":80666,"children":80667},{},[80668,80673,80677],{"type":426,"tag":10612,"props":80669,"children":80670},{},[80671],{"type":431,"value":80672},"Service",{"type":426,"tag":10612,"props":80674,"children":80675},{},[80676],{"type":431,"value":505},{"type":426,"tag":10612,"props":80678,"children":80679},{},[80680],{"type":431,"value":46969},{"type":426,"tag":10623,"props":80682,"children":80683},{},[80684,80702,80720,80738,80756],{"type":426,"tag":10608,"props":80685,"children":80686},{},[80687,80692,80697],{"type":426,"tag":10630,"props":80688,"children":80689},{},[80690],{"type":431,"value":80691},"Amazon S3",{"type":426,"tag":10630,"props":80693,"children":80694},{},[80695],{"type":431,"value":80696},"~$0.023\u002FGB\u002Fmonth",{"type":426,"tag":10630,"props":80698,"children":80699},{},[80700],{"type":431,"value":80701},"Production, high volume",{"type":426,"tag":10608,"props":80703,"children":80704},{},[80705,80710,80715],{"type":426,"tag":10630,"props":80706,"children":80707},{},[80708],{"type":431,"value":80709},"Cloudflare R2",{"type":426,"tag":10630,"props":80711,"children":80712},{},[80713],{"type":431,"value":80714},"Free up to 10GB",{"type":426,"tag":10630,"props":80716,"children":80717},{},[80718],{"type":431,"value":80719},"Small to medium volume",{"type":426,"tag":10608,"props":80721,"children":80722},{},[80723,80728,80733],{"type":426,"tag":10630,"props":80724,"children":80725},{},[80726],{"type":431,"value":80727},"Google Cloud Storage",{"type":426,"tag":10630,"props":80729,"children":80730},{},[80731],{"type":431,"value":80732},"Free tier available",{"type":426,"tag":10630,"props":80734,"children":80735},{},[80736],{"type":431,"value":80737},"Google ecosystem projects",{"type":426,"tag":10608,"props":80739,"children":80740},{},[80741,80746,80751],{"type":426,"tag":10630,"props":80742,"children":80743},{},[80744],{"type":431,"value":80745},"GitHub (public repo)",{"type":426,"tag":10630,"props":80747,"children":80748},{},[80749],{"type":431,"value":80750},"Free",{"type":426,"tag":10630,"props":80752,"children":80753},{},[80754],{"type":431,"value":80755},"Testing, small images",{"type":426,"tag":10608,"props":80757,"children":80758},{},[80759,80764,80769],{"type":426,"tag":10630,"props":80760,"children":80761},{},[80762],{"type":431,"value":80763},"Your own VPS\u002FCDN",{"type":426,"tag":10630,"props":80765,"children":80766},{},[80767],{"type":431,"value":80768},"Varies",{"type":426,"tag":10630,"props":80770,"children":80771},{},[80772],{"type":431,"value":80773},"Full control",{"type":426,"tag":427,"props":80775,"children":80776},{},[80777],{"type":426,"tag":446,"props":80778,"children":80779},{},[80780],{"type":431,"value":80781},"Generate a public S3 URL (Python):",{"type":426,"tag":542,"props":80783,"children":80785},{"className":785,"code":80784,"language":784,"meta":417,"style":417},"import boto3\n\ns3 = boto3.client('s3')\n\n# Upload a PDF and generate a pre-signed URL (expires in 1 hour)\ns3.upload_file('invoice-1234.pdf', 'your-bucket', 'invoices\u002F1234.pdf')\n\nurl = s3.generate_presigned_url(\n    'get_object',\n    Params={'Bucket': 'your-bucket', 'Key': 'invoices\u002F1234.pdf'},\n    ExpiresIn=3600  # 1 hour\n)\n\n# Use the URL with Rapiwa send-document endpoint\nsend_whatsapp_pdf('8801234567890', url, 'Invoice-1234.pdf')\n",[80786],{"type":426,"tag":549,"props":80787,"children":80788},{"__ignoreMap":417},[80789,80800,80807,80831,80838,80846,80881,80888,80905,80917,80967,80988,80995,81002,81010],{"type":426,"tag":553,"props":80790,"children":80791},{"class":555,"line":556},[80792,80796],{"type":426,"tag":553,"props":80793,"children":80794},{"style":795},[80795],{"type":431,"value":798},{"type":426,"tag":553,"props":80797,"children":80798},{"style":684},[80799],{"type":431,"value":48939},{"type":426,"tag":553,"props":80801,"children":80802},{"class":555,"line":588},[80803],{"type":426,"tag":553,"props":80804,"children":80805},{"emptyLinePlaceholder":831},[80806],{"type":431,"value":834},{"type":426,"tag":553,"props":80808,"children":80809},{"class":555,"line":606},[80810,80815,80819,80823,80827],{"type":426,"tag":553,"props":80811,"children":80812},{"style":684},[80813],{"type":431,"value":80814},"s3 ",{"type":426,"tag":553,"props":80816,"children":80817},{"style":795},[80818],{"type":431,"value":957},{"type":426,"tag":553,"props":80820,"children":80821},{"style":684},[80822],{"type":431,"value":50173},{"type":426,"tag":553,"props":80824,"children":80825},{"style":572},[80826],{"type":431,"value":50178},{"type":426,"tag":553,"props":80828,"children":80829},{"style":684},[80830],{"type":431,"value":3262},{"type":426,"tag":553,"props":80832,"children":80833},{"class":555,"line":623},[80834],{"type":426,"tag":553,"props":80835,"children":80836},{"emptyLinePlaceholder":831},[80837],{"type":431,"value":834},{"type":426,"tag":553,"props":80839,"children":80840},{"class":555,"line":637},[80841],{"type":426,"tag":553,"props":80842,"children":80843},{"style":1975},[80844],{"type":431,"value":80845},"# Upload a PDF and generate a pre-signed URL (expires in 1 hour)\n",{"type":426,"tag":553,"props":80847,"children":80848},{"class":555,"line":646},[80849,80854,80859,80863,80868,80872,80877],{"type":426,"tag":553,"props":80850,"children":80851},{"style":684},[80852],{"type":431,"value":80853},"s3.upload_file(",{"type":426,"tag":553,"props":80855,"children":80856},{"style":572},[80857],{"type":431,"value":80858},"'invoice-1234.pdf'",{"type":426,"tag":553,"props":80860,"children":80861},{"style":684},[80862],{"type":431,"value":1907},{"type":426,"tag":553,"props":80864,"children":80865},{"style":572},[80866],{"type":431,"value":80867},"'your-bucket'",{"type":426,"tag":553,"props":80869,"children":80870},{"style":684},[80871],{"type":431,"value":1907},{"type":426,"tag":553,"props":80873,"children":80874},{"style":572},[80875],{"type":431,"value":80876},"'invoices\u002F1234.pdf'",{"type":426,"tag":553,"props":80878,"children":80879},{"style":684},[80880],{"type":431,"value":3262},{"type":426,"tag":553,"props":80882,"children":80883},{"class":555,"line":655},[80884],{"type":426,"tag":553,"props":80885,"children":80886},{"emptyLinePlaceholder":831},[80887],{"type":431,"value":834},{"type":426,"tag":553,"props":80889,"children":80890},{"class":555,"line":1036},[80891,80896,80900],{"type":426,"tag":553,"props":80892,"children":80893},{"style":684},[80894],{"type":431,"value":80895},"url ",{"type":426,"tag":553,"props":80897,"children":80898},{"style":795},[80899],{"type":431,"value":957},{"type":426,"tag":553,"props":80901,"children":80902},{"style":684},[80903],{"type":431,"value":80904}," s3.generate_presigned_url(\n",{"type":426,"tag":553,"props":80906,"children":80907},{"class":555,"line":1054},[80908,80913],{"type":426,"tag":553,"props":80909,"children":80910},{"style":572},[80911],{"type":431,"value":80912},"    'get_object'",{"type":426,"tag":553,"props":80914,"children":80915},{"style":684},[80916],{"type":431,"value":710},{"type":426,"tag":553,"props":80918,"children":80919},{"class":555,"line":1080},[80920,80925,80929,80933,80938,80942,80946,80950,80955,80959,80963],{"type":426,"tag":553,"props":80921,"children":80922},{"style":1684},[80923],{"type":431,"value":80924},"    Params",{"type":426,"tag":553,"props":80926,"children":80927},{"style":795},[80928],{"type":431,"value":957},{"type":426,"tag":553,"props":80930,"children":80931},{"style":684},[80932],{"type":431,"value":972},{"type":426,"tag":553,"props":80934,"children":80935},{"style":572},[80936],{"type":431,"value":80937},"'Bucket'",{"type":426,"tag":553,"props":80939,"children":80940},{"style":684},[80941],{"type":431,"value":700},{"type":426,"tag":553,"props":80943,"children":80944},{"style":572},[80945],{"type":431,"value":80867},{"type":426,"tag":553,"props":80947,"children":80948},{"style":684},[80949],{"type":431,"value":1907},{"type":426,"tag":553,"props":80951,"children":80952},{"style":572},[80953],{"type":431,"value":80954},"'Key'",{"type":426,"tag":553,"props":80956,"children":80957},{"style":684},[80958],{"type":431,"value":700},{"type":426,"tag":553,"props":80960,"children":80961},{"style":572},[80962],{"type":431,"value":80876},{"type":426,"tag":553,"props":80964,"children":80965},{"style":684},[80966],{"type":431,"value":1737},{"type":426,"tag":553,"props":80968,"children":80969},{"class":555,"line":1097},[80970,80975,80979,80983],{"type":426,"tag":553,"props":80971,"children":80972},{"style":1684},[80973],{"type":431,"value":80974},"    ExpiresIn",{"type":426,"tag":553,"props":80976,"children":80977},{"style":795},[80978],{"type":431,"value":957},{"type":426,"tag":553,"props":80980,"children":80981},{"style":566},[80982],{"type":431,"value":8431},{"type":426,"tag":553,"props":80984,"children":80985},{"style":1975},[80986],{"type":431,"value":80987},"  # 1 hour\n",{"type":426,"tag":553,"props":80989,"children":80990},{"class":555,"line":1114},[80991],{"type":426,"tag":553,"props":80992,"children":80993},{"style":684},[80994],{"type":431,"value":3262},{"type":426,"tag":553,"props":80996,"children":80997},{"class":555,"line":1127},[80998],{"type":426,"tag":553,"props":80999,"children":81000},{"emptyLinePlaceholder":831},[81001],{"type":431,"value":834},{"type":426,"tag":553,"props":81003,"children":81004},{"class":555,"line":1167},[81005],{"type":426,"tag":553,"props":81006,"children":81007},{"style":1975},[81008],{"type":431,"value":81009},"# Use the URL with Rapiwa send-document endpoint\n",{"type":426,"tag":553,"props":81011,"children":81012},{"class":555,"line":1184},[81013,81018,81022,81027,81031],{"type":426,"tag":553,"props":81014,"children":81015},{"style":684},[81016],{"type":431,"value":81017},"send_whatsapp_pdf(",{"type":426,"tag":553,"props":81019,"children":81020},{"style":572},[81021],{"type":431,"value":10197},{"type":426,"tag":553,"props":81023,"children":81024},{"style":684},[81025],{"type":431,"value":81026},", url, ",{"type":426,"tag":553,"props":81028,"children":81029},{"style":572},[81030],{"type":431,"value":79912},{"type":426,"tag":553,"props":81032,"children":81033},{"style":684},[81034],{"type":431,"value":3262},{"type":426,"tag":434,"props":81036,"children":81038},{"id":81037},"sending-media-in-a-sequence-text-image",[81039],{"type":431,"value":81040},"Sending Media in a Sequence (Text + Image)",{"type":426,"tag":427,"props":81042,"children":81043},{},[81044],{"type":431,"value":81045},"Combine a text message with an image for richer notifications:",{"type":426,"tag":542,"props":81047,"children":81049},{"className":785,"code":81048,"language":784,"meta":417,"style":417},"import time\n\ndef send_order_confirmation_with_image(phone: str, order: dict) -> None:\n    \"\"\"Send text message followed by product image.\"\"\"\n    \n    # 1. Send text confirmation\n    send_whatsapp_text(\n        phone,\n        f\"Hi {order['customer_name']}! ✅ Your order #{order['id']} is confirmed.\\n\"\n        f\"Total: ${order['total']}\\nEstimated delivery: {order['delivery_date']}\"\n    )\n    \n    # 2. Wait 1 second to ensure ordered delivery\n    time.sleep(1)\n    \n    # 3. Send product image\n    if order['product_image_url']:\n        send_whatsapp_image(\n            phone,\n            order['product_image_url'],\n            f\"Your ordered item: {order['product_name']}\"\n        )\n",[81050],{"type":426,"tag":549,"props":81051,"children":81052},{"__ignoreMap":417},[81053,81064,81071,81112,81120,81127,81135,81143,81151,81221,81283,81290,81297,81305,81320,81327,81335,81356,81364,81371,81387,81424],{"type":426,"tag":553,"props":81054,"children":81055},{"class":555,"line":556},[81056,81060],{"type":426,"tag":553,"props":81057,"children":81058},{"style":795},[81059],{"type":431,"value":798},{"type":426,"tag":553,"props":81061,"children":81062},{"style":684},[81063],{"type":431,"value":3081},{"type":426,"tag":553,"props":81065,"children":81066},{"class":555,"line":588},[81067],{"type":426,"tag":553,"props":81068,"children":81069},{"emptyLinePlaceholder":831},[81070],{"type":431,"value":834},{"type":426,"tag":553,"props":81072,"children":81073},{"class":555,"line":606},[81074,81078,81083,81087,81091,81096,81100,81104,81108],{"type":426,"tag":553,"props":81075,"children":81076},{"style":795},[81077],{"type":431,"value":842},{"type":426,"tag":553,"props":81079,"children":81080},{"style":560},[81081],{"type":431,"value":81082}," send_order_confirmation_with_image",{"type":426,"tag":553,"props":81084,"children":81085},{"style":684},[81086],{"type":431,"value":7446},{"type":426,"tag":553,"props":81088,"children":81089},{"style":566},[81090],{"type":431,"value":895},{"type":426,"tag":553,"props":81092,"children":81093},{"style":684},[81094],{"type":431,"value":81095},", order: ",{"type":426,"tag":553,"props":81097,"children":81098},{"style":566},[81099],{"type":431,"value":857},{"type":426,"tag":553,"props":81101,"children":81102},{"style":684},[81103],{"type":431,"value":900},{"type":426,"tag":553,"props":81105,"children":81106},{"style":566},[81107],{"type":431,"value":1840},{"type":426,"tag":553,"props":81109,"children":81110},{"style":684},[81111],{"type":431,"value":909},{"type":426,"tag":553,"props":81113,"children":81114},{"class":555,"line":623},[81115],{"type":426,"tag":553,"props":81116,"children":81117},{"style":572},[81118],{"type":431,"value":81119},"    \"\"\"Send text message followed by product image.\"\"\"\n",{"type":426,"tag":553,"props":81121,"children":81122},{"class":555,"line":637},[81123],{"type":426,"tag":553,"props":81124,"children":81125},{"style":684},[81126],{"type":431,"value":917},{"type":426,"tag":553,"props":81128,"children":81129},{"class":555,"line":646},[81130],{"type":426,"tag":553,"props":81131,"children":81132},{"style":1975},[81133],{"type":431,"value":81134},"    # 1. Send text confirmation\n",{"type":426,"tag":553,"props":81136,"children":81137},{"class":555,"line":655},[81138],{"type":426,"tag":553,"props":81139,"children":81140},{"style":684},[81141],{"type":431,"value":81142},"    send_whatsapp_text(\n",{"type":426,"tag":553,"props":81144,"children":81145},{"class":555,"line":1036},[81146],{"type":426,"tag":553,"props":81147,"children":81148},{"style":684},[81149],{"type":431,"value":81150},"        phone,\n",{"type":426,"tag":553,"props":81152,"children":81153},{"class":555,"line":1054},[81154,81158,81162,81166,81171,81175,81179,81183,81188,81192,81196,81200,81204,81208,81213,81217],{"type":426,"tag":553,"props":81155,"children":81156},{"style":795},[81157],{"type":431,"value":1216},{"type":426,"tag":553,"props":81159,"children":81160},{"style":572},[81161],{"type":431,"value":4625},{"type":426,"tag":553,"props":81163,"children":81164},{"style":566},[81165],{"type":431,"value":972},{"type":426,"tag":553,"props":81167,"children":81168},{"style":684},[81169],{"type":431,"value":81170},"order[",{"type":426,"tag":553,"props":81172,"children":81173},{"style":572},[81174],{"type":431,"value":22493},{"type":426,"tag":553,"props":81176,"children":81177},{"style":684},[81178],{"type":431,"value":1240},{"type":426,"tag":553,"props":81180,"children":81181},{"style":566},[81182],{"type":431,"value":982},{"type":426,"tag":553,"props":81184,"children":81185},{"style":572},[81186],{"type":431,"value":81187},"! ✅ Your order #",{"type":426,"tag":553,"props":81189,"children":81190},{"style":566},[81191],{"type":431,"value":972},{"type":426,"tag":553,"props":81193,"children":81194},{"style":684},[81195],{"type":431,"value":81170},{"type":426,"tag":553,"props":81197,"children":81198},{"style":572},[81199],{"type":431,"value":12142},{"type":426,"tag":553,"props":81201,"children":81202},{"style":684},[81203],{"type":431,"value":1240},{"type":426,"tag":553,"props":81205,"children":81206},{"style":566},[81207],{"type":431,"value":982},{"type":426,"tag":553,"props":81209,"children":81210},{"style":572},[81211],{"type":431,"value":81212}," is confirmed.",{"type":426,"tag":553,"props":81214,"children":81215},{"style":566},[81216],{"type":431,"value":3661},{"type":426,"tag":553,"props":81218,"children":81219},{"style":572},[81220],{"type":431,"value":1250},{"type":426,"tag":553,"props":81222,"children":81223},{"class":555,"line":1080},[81224,81228,81232,81236,81240,81245,81249,81253,81258,81262,81266,81271,81275,81279],{"type":426,"tag":553,"props":81225,"children":81226},{"style":795},[81227],{"type":431,"value":1216},{"type":426,"tag":553,"props":81229,"children":81230},{"style":572},[81231],{"type":431,"value":47177},{"type":426,"tag":553,"props":81233,"children":81234},{"style":566},[81235],{"type":431,"value":972},{"type":426,"tag":553,"props":81237,"children":81238},{"style":684},[81239],{"type":431,"value":81170},{"type":426,"tag":553,"props":81241,"children":81242},{"style":572},[81243],{"type":431,"value":81244},"'total'",{"type":426,"tag":553,"props":81246,"children":81247},{"style":684},[81248],{"type":431,"value":1240},{"type":426,"tag":553,"props":81250,"children":81251},{"style":566},[81252],{"type":431,"value":1407},{"type":426,"tag":553,"props":81254,"children":81255},{"style":572},[81256],{"type":431,"value":81257},"Estimated delivery: ",{"type":426,"tag":553,"props":81259,"children":81260},{"style":566},[81261],{"type":431,"value":972},{"type":426,"tag":553,"props":81263,"children":81264},{"style":684},[81265],{"type":431,"value":81170},{"type":426,"tag":553,"props":81267,"children":81268},{"style":572},[81269],{"type":431,"value":81270},"'delivery_date'",{"type":426,"tag":553,"props":81272,"children":81273},{"style":684},[81274],{"type":431,"value":1240},{"type":426,"tag":553,"props":81276,"children":81277},{"style":566},[81278],{"type":431,"value":982},{"type":426,"tag":553,"props":81280,"children":81281},{"style":572},[81282],{"type":431,"value":1250},{"type":426,"tag":553,"props":81284,"children":81285},{"class":555,"line":1097},[81286],{"type":426,"tag":553,"props":81287,"children":81288},{"style":684},[81289],{"type":431,"value":1642},{"type":426,"tag":553,"props":81291,"children":81292},{"class":555,"line":1114},[81293],{"type":426,"tag":553,"props":81294,"children":81295},{"style":684},[81296],{"type":431,"value":917},{"type":426,"tag":553,"props":81298,"children":81299},{"class":555,"line":1127},[81300],{"type":426,"tag":553,"props":81301,"children":81302},{"style":1975},[81303],{"type":431,"value":81304},"    # 2. Wait 1 second to ensure ordered delivery\n",{"type":426,"tag":553,"props":81306,"children":81307},{"class":555,"line":1167},[81308,81312,81316],{"type":426,"tag":553,"props":81309,"children":81310},{"style":684},[81311],{"type":431,"value":43150},{"type":426,"tag":553,"props":81313,"children":81314},{"style":566},[81315],{"type":431,"value":1921},{"type":426,"tag":553,"props":81317,"children":81318},{"style":684},[81319],{"type":431,"value":3262},{"type":426,"tag":553,"props":81321,"children":81322},{"class":555,"line":1184},[81323],{"type":426,"tag":553,"props":81324,"children":81325},{"style":684},[81326],{"type":431,"value":917},{"type":426,"tag":553,"props":81328,"children":81329},{"class":555,"line":1192},[81330],{"type":426,"tag":553,"props":81331,"children":81332},{"style":1975},[81333],{"type":431,"value":81334},"    # 3. Send product image\n",{"type":426,"tag":553,"props":81336,"children":81337},{"class":555,"line":1210},[81338,81342,81347,81352],{"type":426,"tag":553,"props":81339,"children":81340},{"style":795},[81341],{"type":431,"value":925},{"type":426,"tag":553,"props":81343,"children":81344},{"style":684},[81345],{"type":431,"value":81346}," order[",{"type":426,"tag":553,"props":81348,"children":81349},{"style":572},[81350],{"type":431,"value":81351},"'product_image_url'",{"type":426,"tag":553,"props":81353,"children":81354},{"style":684},[81355],{"type":431,"value":12008},{"type":426,"tag":553,"props":81357,"children":81358},{"class":555,"line":1253},[81359],{"type":426,"tag":553,"props":81360,"children":81361},{"style":684},[81362],{"type":431,"value":81363},"        send_whatsapp_image(\n",{"type":426,"tag":553,"props":81365,"children":81366},{"class":555,"line":1302},[81367],{"type":426,"tag":553,"props":81368,"children":81369},{"style":684},[81370],{"type":431,"value":67328},{"type":426,"tag":553,"props":81372,"children":81373},{"class":555,"line":1374},[81374,81379,81383],{"type":426,"tag":553,"props":81375,"children":81376},{"style":684},[81377],{"type":431,"value":81378},"            order[",{"type":426,"tag":553,"props":81380,"children":81381},{"style":572},[81382],{"type":431,"value":81351},{"type":426,"tag":553,"props":81384,"children":81385},{"style":684},[81386],{"type":431,"value":12804},{"type":426,"tag":553,"props":81388,"children":81389},{"class":555,"line":1414},[81390,81394,81399,81403,81407,81412,81416,81420],{"type":426,"tag":553,"props":81391,"children":81392},{"style":795},[81393],{"type":431,"value":3740},{"type":426,"tag":553,"props":81395,"children":81396},{"style":572},[81397],{"type":431,"value":81398},"\"Your ordered item: ",{"type":426,"tag":553,"props":81400,"children":81401},{"style":566},[81402],{"type":431,"value":972},{"type":426,"tag":553,"props":81404,"children":81405},{"style":684},[81406],{"type":431,"value":81170},{"type":426,"tag":553,"props":81408,"children":81409},{"style":572},[81410],{"type":431,"value":81411},"'product_name'",{"type":426,"tag":553,"props":81413,"children":81414},{"style":684},[81415],{"type":431,"value":1240},{"type":426,"tag":553,"props":81417,"children":81418},{"style":566},[81419],{"type":431,"value":982},{"type":426,"tag":553,"props":81421,"children":81422},{"style":572},[81423],{"type":431,"value":1250},{"type":426,"tag":553,"props":81425,"children":81426},{"class":555,"line":1479},[81427],{"type":426,"tag":553,"props":81428,"children":81429},{"style":684},[81430],{"type":431,"value":6037},{"type":426,"tag":434,"props":81432,"children":81433},{"id":18886},[81434],{"type":431,"value":18889},{"type":426,"tag":454,"props":81436,"children":81437},{},[81438,81448,81458,81468],{"type":426,"tag":458,"props":81439,"children":81440},{},[81441,81446],{"type":426,"tag":446,"props":81442,"children":81443},{},[81444],{"type":431,"value":81445},"HTTP 400 — invalid URL",{"type":431,"value":81447},": The media URL must be publicly accessible HTTPS. Test it in a browser first.",{"type":426,"tag":458,"props":81449,"children":81450},{},[81451,81456],{"type":426,"tag":446,"props":81452,"children":81453},{},[81454],{"type":431,"value":81455},"Image not displaying",{"type":431,"value":81457},": WhatsApp has size limits (images: 5MB, documents: 100MB). Compress large files before hosting.",{"type":426,"tag":458,"props":81459,"children":81460},{},[81461,81466],{"type":426,"tag":446,"props":81462,"children":81463},{},[81464],{"type":431,"value":81465},"Slow delivery for large files",{"type":431,"value":81467},": Rapiwa fetches the file before sending. Large PDFs (>2MB) may take 5–10 seconds. Use compressed files for faster delivery.",{"type":426,"tag":458,"props":81469,"children":81470},{},[81471,81475],{"type":426,"tag":446,"props":81472,"children":81473},{},[81474],{"type":431,"value":8544},{"type":431,"value":81476},": API key is wrong or expired — regenerate in Dashboard → API Keys.",{"type":426,"tag":434,"props":81478,"children":81479},{"id":4109},[81480],{"type":431,"value":4112},{"type":426,"tag":427,"props":81482,"children":81483},{},[81484,81489],{"type":426,"tag":446,"props":81485,"children":81486},{},[81487],{"type":431,"value":81488},"What is the maximum file size for WhatsApp media via Rapiwa?",{"type":431,"value":81490},"\nWhatsApp supports images up to 5MB, audio up to 16MB, video up to 16MB, and documents up to 100MB. Keep files as small as practical for fast delivery.",{"type":426,"tag":427,"props":81492,"children":81493},{},[81494,81499],{"type":426,"tag":446,"props":81495,"children":81496},{},[81497],{"type":431,"value":81498},"Can I send media without a public URL (from local files)?",{"type":431,"value":81500},"\nYou need to upload the file to a public URL first, then pass that URL to Rapiwa. Alternatively, upload the file to your server and serve it temporarily via HTTPS.",{"type":426,"tag":427,"props":81502,"children":81503},{},[81504,81509],{"type":426,"tag":446,"props":81505,"children":81506},{},[81507],{"type":431,"value":81508},"Does Rapiwa charge per media message?",{"type":431,"value":81510},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees — sending a PDF costs the same as sending a text message.",{"type":426,"tag":427,"props":81512,"children":81513},{},[81514,81519],{"type":426,"tag":446,"props":81515,"children":81516},{},[81517],{"type":431,"value":81518},"Can I send WhatsApp media from a private S3 bucket?",{"type":431,"value":81520},"\nUse pre-signed S3 URLs with a long enough expiry (minimum 10 minutes). The URL must be accessible when Rapiwa fetches the media.",{"type":426,"tag":427,"props":81522,"children":81523},{},[81524,81529],{"type":426,"tag":446,"props":81525,"children":81526},{},[81527],{"type":431,"value":81528},"Can I send multiple images in one message?",{"type":431,"value":81530},"\nWhatsApp doesn't support image albums via API. Send multiple images as separate messages with a short delay between each.",{"type":426,"tag":4164,"props":81532,"children":81533},{},[81534],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":81536},[81537,81538,81539,81544,81549,81550,81551,81552,81553],{"id":78398,"depth":588,"text":78401},{"id":47624,"depth":588,"text":47627},{"id":78577,"depth":588,"text":78580,"children":81540},[81541,81542,81543],{"id":563,"depth":606,"text":56365},{"id":784,"depth":606,"text":78773},{"id":79185,"depth":606,"text":79188},{"id":79474,"depth":588,"text":79477,"children":81545},[81546,81547,81548],{"id":79480,"depth":606,"text":56365},{"id":79594,"depth":606,"text":79597},{"id":79942,"depth":606,"text":79945},{"id":80337,"depth":588,"text":80340},{"id":80650,"depth":588,"text":80653},{"id":81037,"depth":588,"text":81040},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-send-media-api-rapiwa.md","blog\u002Fwhatsapp-send-media-api-rapiwa.md","blog\u002Fwhatsapp-send-media-api-rapiwa",{"loc":105},{"_path":109,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":110,"description":111,"date":81559,"author":4196,"category":22,"_slug":81560,"image":81561,"body":81562,"_type":4187,"_id":86238,"_source":4189,"_file":86239,"_stem":86240,"_extension":4192,"sitemap":86241},"2026-02-28","receive-whatsapp-messages-webhook-rapiwa","\u002Fimages\u002Fblog\u002Freceive-whatsapp-messages-webhook-rapiwa.svg",{"type":423,"children":81563,"toc":86226},[81564,81569,81575,81598,81606,81808,81812,81835,81841,83451,83457,83462,84427,84433,85727,85733,85738,85792,85797,85803,85874,85880,86093,86097,86160,86164,86174,86184,86202,86212,86222],{"type":426,"tag":427,"props":81565,"children":81566},{},[81567],{"type":431,"value":81568},"You can receive incoming WhatsApp messages by registering a webhook URL in your Rapiwa dashboard. When someone messages your connected WhatsApp number, Rapiwa sends a POST request to your URL with the message payload. This tutorial shows how to handle webhooks in Python (Flask and FastAPI), Node.js (Express), and PHP. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":81570,"children":81572},{"id":81571},"how-rapiwa-webhooks-work",[81573],{"type":431,"value":81574},"How Rapiwa Webhooks Work",{"type":426,"tag":6331,"props":81576,"children":81577},{},[81578,81583,81588,81593],{"type":426,"tag":458,"props":81579,"children":81580},{},[81581],{"type":431,"value":81582},"You register a public HTTPS URL in Rapiwa Dashboard → Webhooks",{"type":426,"tag":458,"props":81584,"children":81585},{},[81586],{"type":431,"value":81587},"A customer sends a message to your WhatsApp number",{"type":426,"tag":458,"props":81589,"children":81590},{},[81591],{"type":431,"value":81592},"Rapiwa POSTs the message to your URL within milliseconds",{"type":426,"tag":458,"props":81594,"children":81595},{},[81596],{"type":431,"value":81597},"Your server processes the message and optionally sends a reply",{"type":426,"tag":427,"props":81599,"children":81600},{},[81601],{"type":426,"tag":446,"props":81602,"children":81603},{},[81604],{"type":431,"value":81605},"Webhook payload example:",{"type":426,"tag":542,"props":81607,"children":81609},{"className":674,"code":81608,"language":673,"meta":417,"style":417},"{\n  \"event\": \"message.received\",\n  \"data\": {\n    \"from\": \"8801234567890\",\n    \"to\": \"8801111111111\",\n    \"messageId\": \"msg_incoming_abc123\",\n    \"messageType\": \"text\",\n    \"message\": \"Hello, I need help with my account\",\n    \"timestamp\": \"2026-06-24T10:30:00Z\",\n    \"senderName\": \"Sarah Johnson\"\n  }\n}\n",[81610],{"type":426,"tag":549,"props":81611,"children":81612},{"__ignoreMap":417},[81613,81620,81641,81653,81673,81694,81715,81736,81756,81777,81794,81801],{"type":426,"tag":553,"props":81614,"children":81615},{"class":555,"line":556},[81616],{"type":426,"tag":553,"props":81617,"children":81618},{"style":684},[81619],{"type":431,"value":687},{"type":426,"tag":553,"props":81621,"children":81622},{"class":555,"line":588},[81623,81628,81632,81637],{"type":426,"tag":553,"props":81624,"children":81625},{"style":566},[81626],{"type":431,"value":81627},"  \"event\"",{"type":426,"tag":553,"props":81629,"children":81630},{"style":684},[81631],{"type":431,"value":700},{"type":426,"tag":553,"props":81633,"children":81634},{"style":572},[81635],{"type":431,"value":81636},"\"message.received\"",{"type":426,"tag":553,"props":81638,"children":81639},{"style":684},[81640],{"type":431,"value":710},{"type":426,"tag":553,"props":81642,"children":81643},{"class":555,"line":606},[81644,81649],{"type":426,"tag":553,"props":81645,"children":81646},{"style":566},[81647],{"type":431,"value":81648},"  \"data\"",{"type":426,"tag":553,"props":81650,"children":81651},{"style":684},[81652],{"type":431,"value":17102},{"type":426,"tag":553,"props":81654,"children":81655},{"class":555,"line":623},[81656,81661,81665,81669],{"type":426,"tag":553,"props":81657,"children":81658},{"style":566},[81659],{"type":431,"value":81660},"    \"from\"",{"type":426,"tag":553,"props":81662,"children":81663},{"style":684},[81664],{"type":431,"value":700},{"type":426,"tag":553,"props":81666,"children":81667},{"style":572},[81668],{"type":431,"value":7286},{"type":426,"tag":553,"props":81670,"children":81671},{"style":684},[81672],{"type":431,"value":710},{"type":426,"tag":553,"props":81674,"children":81675},{"class":555,"line":637},[81676,81681,81685,81690],{"type":426,"tag":553,"props":81677,"children":81678},{"style":566},[81679],{"type":431,"value":81680},"    \"to\"",{"type":426,"tag":553,"props":81682,"children":81683},{"style":684},[81684],{"type":431,"value":700},{"type":426,"tag":553,"props":81686,"children":81687},{"style":572},[81688],{"type":431,"value":81689},"\"8801111111111\"",{"type":426,"tag":553,"props":81691,"children":81692},{"style":684},[81693],{"type":431,"value":710},{"type":426,"tag":553,"props":81695,"children":81696},{"class":555,"line":646},[81697,81702,81706,81711],{"type":426,"tag":553,"props":81698,"children":81699},{"style":566},[81700],{"type":431,"value":81701},"    \"messageId\"",{"type":426,"tag":553,"props":81703,"children":81704},{"style":684},[81705],{"type":431,"value":700},{"type":426,"tag":553,"props":81707,"children":81708},{"style":572},[81709],{"type":431,"value":81710},"\"msg_incoming_abc123\"",{"type":426,"tag":553,"props":81712,"children":81713},{"style":684},[81714],{"type":431,"value":710},{"type":426,"tag":553,"props":81716,"children":81717},{"class":555,"line":655},[81718,81723,81727,81732],{"type":426,"tag":553,"props":81719,"children":81720},{"style":566},[81721],{"type":431,"value":81722},"    \"messageType\"",{"type":426,"tag":553,"props":81724,"children":81725},{"style":684},[81726],{"type":431,"value":700},{"type":426,"tag":553,"props":81728,"children":81729},{"style":572},[81730],{"type":431,"value":81731},"\"text\"",{"type":426,"tag":553,"props":81733,"children":81734},{"style":684},[81735],{"type":431,"value":710},{"type":426,"tag":553,"props":81737,"children":81738},{"class":555,"line":1036},[81739,81743,81747,81752],{"type":426,"tag":553,"props":81740,"children":81741},{"style":566},[81742],{"type":431,"value":60530},{"type":426,"tag":553,"props":81744,"children":81745},{"style":684},[81746],{"type":431,"value":700},{"type":426,"tag":553,"props":81748,"children":81749},{"style":572},[81750],{"type":431,"value":81751},"\"Hello, I need help with my account\"",{"type":426,"tag":553,"props":81753,"children":81754},{"style":684},[81755],{"type":431,"value":710},{"type":426,"tag":553,"props":81757,"children":81758},{"class":555,"line":1054},[81759,81764,81768,81773],{"type":426,"tag":553,"props":81760,"children":81761},{"style":566},[81762],{"type":431,"value":81763},"    \"timestamp\"",{"type":426,"tag":553,"props":81765,"children":81766},{"style":684},[81767],{"type":431,"value":700},{"type":426,"tag":553,"props":81769,"children":81770},{"style":572},[81771],{"type":431,"value":81772},"\"2026-06-24T10:30:00Z\"",{"type":426,"tag":553,"props":81774,"children":81775},{"style":684},[81776],{"type":431,"value":710},{"type":426,"tag":553,"props":81778,"children":81779},{"class":555,"line":1080},[81780,81785,81789],{"type":426,"tag":553,"props":81781,"children":81782},{"style":566},[81783],{"type":431,"value":81784},"    \"senderName\"",{"type":426,"tag":553,"props":81786,"children":81787},{"style":684},[81788],{"type":431,"value":700},{"type":426,"tag":553,"props":81790,"children":81791},{"style":572},[81792],{"type":431,"value":81793},"\"Sarah Johnson\"\n",{"type":426,"tag":553,"props":81795,"children":81796},{"class":555,"line":1097},[81797],{"type":426,"tag":553,"props":81798,"children":81799},{"style":684},[81800],{"type":431,"value":60547},{"type":426,"tag":553,"props":81802,"children":81803},{"class":555,"line":1114},[81804],{"type":426,"tag":553,"props":81805,"children":81806},{"style":684},[81807],{"type":431,"value":756},{"type":426,"tag":434,"props":81809,"children":81810},{"id":47624},[81811],{"type":431,"value":47627},{"type":426,"tag":454,"props":81813,"children":81814},{},[81815,81825,81830],{"type":426,"tag":458,"props":81816,"children":81817},{},[81818,81819,81824],{"type":431,"value":48828},{"type":426,"tag":3819,"props":81820,"children":81822},{"href":3821,"rel":81821},[3823],[81823],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":81826,"children":81827},{},[81828],{"type":431,"value":81829},"A public HTTPS server (webhooks cannot be received on localhost without tunneling)",{"type":426,"tag":458,"props":81831,"children":81832},{},[81833],{"type":431,"value":81834},"Python 3.9+, Node.js 18+, or PHP 7.4+",{"type":426,"tag":434,"props":81836,"children":81838},{"id":81837},"method-1-python-flask",[81839],{"type":431,"value":81840},"Method 1: Python Flask",{"type":426,"tag":542,"props":81842,"children":81844},{"className":785,"code":81843,"language":784,"meta":417,"style":417},"# app.py\n# pip install flask requests\n\nfrom flask import Flask, request, jsonify\nimport requests\nimport logging\n\napp = Flask(__name__)\nlogging.basicConfig(level=logging.INFO)\n\nRAPIWA_API_KEY = 'YOUR_API_KEY'\n\n@app.route('\u002Fwebhook\u002Fwhatsapp', methods=['POST'])\ndef receive_whatsapp():\n    \"\"\"\n    Receive incoming WhatsApp messages from Rapiwa.\n    Must respond with 200 OK quickly — process async for slow operations.\n    \"\"\"\n    payload = request.get_json()\n\n    if not payload:\n        return jsonify({'error': 'No payload'}), 400\n\n    event = payload.get('event')\n    data = payload.get('data', {})\n\n    app.logger.info(f\"Received event: {event} from {data.get('from')}\")\n\n    if event == 'message.received':\n        process_message(data)\n\n    # Always return 200 immediately — processing happens asynchronously\n    return jsonify({'status': 'ok'}), 200\n\n\ndef process_message(data: dict) -> None:\n    \"\"\"Process an incoming WhatsApp message.\"\"\"\n    from_number = data['from']\n    message_type = data.get('messageType', 'text')\n    sender_name = data.get('senderName', 'Customer')\n\n    if message_type == 'text':\n        text = data.get('message', '').strip().lower()\n        reply = generate_reply(text, sender_name)\n\n        if reply:\n            send_reply(from_number, reply)\n\n    elif message_type == 'image':\n        media_url = data.get('mediaUrl')\n        send_reply(from_number, f\"Got your image! We'll process it shortly.\")\n\n    elif message_type == 'document':\n        filename = data.get('filename', 'document')\n        send_reply(from_number, f\"Thanks for sending {filename}. Our team will review it.\")\n\n\ndef generate_reply(text: str, name: str) -> str | None:\n    \"\"\"Generate an auto-reply based on message content.\"\"\"\n    if text in ('hi', 'hello', 'hey'):\n        return f\"Hello {name}! 👋 How can I help you today?\"\n\n    if 'price' in text or 'cost' in text or 'how much' in text:\n        return \"Our plans start at $5\u002Fmonth with no per-message fees. Visit rapiwa.com for full pricing!\"\n\n    if 'help' in text or 'support' in text:\n        return \"I've logged your support request. Our team will reply within 1 business hour. 🙏\"\n\n    return None  # No auto-reply — human handles it\n\n\ndef send_reply(phone: str, message: str) -> dict:\n    \"\"\"Send a WhatsApp reply via Rapiwa.\"\"\"\n    response = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': phone, 'message': message},\n        timeout=10\n    )\n    result = response.json()\n    app.logger.info(f\"Reply sent to {phone}: {result.get('status')}\")\n    return result\n\n\nif __name__ == '__main__':\n    app.run(host='0.0.0.0', port=3000, debug=False)\n",[81845],{"type":426,"tag":549,"props":81846,"children":81847},{"__ignoreMap":417},[81848,81856,81864,81871,81890,81901,81912,81919,81942,81969,81976,81991,81998,82037,82052,82059,82067,82075,82082,82097,82104,82120,82152,82159,82183,82206,82213,82276,82283,82307,82315,82322,82330,82361,82368,82375,82407,82415,82438,82469,82500,82507,82530,82563,82579,82586,82598,82606,82613,82637,82662,82683,82690,82714,82748,82786,82793,82800,82850,82858,82905,82938,82945,82999,83011,83018,83055,83067,83074,83090,83097,83104,83143,83151,83166,83177,83220,83251,83266,83273,83288,83348,83359,83366,83373,83396],{"type":426,"tag":553,"props":81849,"children":81850},{"class":555,"line":556},[81851],{"type":426,"tag":553,"props":81852,"children":81853},{"style":1975},[81854],{"type":431,"value":81855},"# app.py\n",{"type":426,"tag":553,"props":81857,"children":81858},{"class":555,"line":588},[81859],{"type":426,"tag":553,"props":81860,"children":81861},{"style":1975},[81862],{"type":431,"value":81863},"# pip install flask requests\n",{"type":426,"tag":553,"props":81865,"children":81866},{"class":555,"line":606},[81867],{"type":426,"tag":553,"props":81868,"children":81869},{"emptyLinePlaceholder":831},[81870],{"type":431,"value":834},{"type":426,"tag":553,"props":81872,"children":81873},{"class":555,"line":623},[81874,81878,81882,81886],{"type":426,"tag":553,"props":81875,"children":81876},{"style":795},[81877],{"type":431,"value":811},{"type":426,"tag":553,"props":81879,"children":81880},{"style":684},[81881],{"type":431,"value":13265},{"type":426,"tag":553,"props":81883,"children":81884},{"style":795},[81885],{"type":431,"value":798},{"type":426,"tag":553,"props":81887,"children":81888},{"style":684},[81889],{"type":431,"value":19220},{"type":426,"tag":553,"props":81891,"children":81892},{"class":555,"line":637},[81893,81897],{"type":426,"tag":553,"props":81894,"children":81895},{"style":795},[81896],{"type":431,"value":798},{"type":426,"tag":553,"props":81898,"children":81899},{"style":684},[81900],{"type":431,"value":803},{"type":426,"tag":553,"props":81902,"children":81903},{"class":555,"line":646},[81904,81908],{"type":426,"tag":553,"props":81905,"children":81906},{"style":795},[81907],{"type":431,"value":798},{"type":426,"tag":553,"props":81909,"children":81910},{"style":684},[81911],{"type":431,"value":63158},{"type":426,"tag":553,"props":81913,"children":81914},{"class":555,"line":655},[81915],{"type":426,"tag":553,"props":81916,"children":81917},{"emptyLinePlaceholder":831},[81918],{"type":431,"value":834},{"type":426,"tag":553,"props":81920,"children":81921},{"class":555,"line":1036},[81922,81926,81930,81934,81938],{"type":426,"tag":553,"props":81923,"children":81924},{"style":684},[81925],{"type":431,"value":13301},{"type":426,"tag":553,"props":81927,"children":81928},{"style":795},[81929],{"type":431,"value":957},{"type":426,"tag":553,"props":81931,"children":81932},{"style":684},[81933],{"type":431,"value":13310},{"type":426,"tag":553,"props":81935,"children":81936},{"style":566},[81937],{"type":431,"value":13315},{"type":426,"tag":553,"props":81939,"children":81940},{"style":684},[81941],{"type":431,"value":3262},{"type":426,"tag":553,"props":81943,"children":81944},{"class":555,"line":1054},[81945,81949,81953,81957,81961,81965],{"type":426,"tag":553,"props":81946,"children":81947},{"style":684},[81948],{"type":431,"value":63266},{"type":426,"tag":553,"props":81950,"children":81951},{"style":1684},[81952],{"type":431,"value":63271},{"type":426,"tag":553,"props":81954,"children":81955},{"style":795},[81956],{"type":431,"value":957},{"type":426,"tag":553,"props":81958,"children":81959},{"style":684},[81960],{"type":431,"value":63280},{"type":426,"tag":553,"props":81962,"children":81963},{"style":566},[81964],{"type":431,"value":63285},{"type":426,"tag":553,"props":81966,"children":81967},{"style":684},[81968],{"type":431,"value":3262},{"type":426,"tag":553,"props":81970,"children":81971},{"class":555,"line":1080},[81972],{"type":426,"tag":553,"props":81973,"children":81974},{"emptyLinePlaceholder":831},[81975],{"type":431,"value":834},{"type":426,"tag":553,"props":81977,"children":81978},{"class":555,"line":1097},[81979,81983,81987],{"type":426,"tag":553,"props":81980,"children":81981},{"style":566},[81982],{"type":431,"value":7156},{"type":426,"tag":553,"props":81984,"children":81985},{"style":795},[81986],{"type":431,"value":8739},{"type":426,"tag":553,"props":81988,"children":81989},{"style":572},[81990],{"type":431,"value":23292},{"type":426,"tag":553,"props":81992,"children":81993},{"class":555,"line":1114},[81994],{"type":426,"tag":553,"props":81995,"children":81996},{"emptyLinePlaceholder":831},[81997],{"type":431,"value":834},{"type":426,"tag":553,"props":81999,"children":82000},{"class":555,"line":1127},[82001,82005,82009,82013,82017,82021,82025,82029,82033],{"type":426,"tag":553,"props":82002,"children":82003},{"style":560},[82004],{"type":431,"value":8024},{"type":426,"tag":553,"props":82006,"children":82007},{"style":684},[82008],{"type":431,"value":3275},{"type":426,"tag":553,"props":82010,"children":82011},{"style":572},[82012],{"type":431,"value":8033},{"type":426,"tag":553,"props":82014,"children":82015},{"style":684},[82016],{"type":431,"value":1907},{"type":426,"tag":553,"props":82018,"children":82019},{"style":1684},[82020],{"type":431,"value":8042},{"type":426,"tag":553,"props":82022,"children":82023},{"style":795},[82024],{"type":431,"value":957},{"type":426,"tag":553,"props":82026,"children":82027},{"style":684},[82028],{"type":431,"value":8051},{"type":426,"tag":553,"props":82030,"children":82031},{"style":572},[82032],{"type":431,"value":8056},{"type":426,"tag":553,"props":82034,"children":82035},{"style":684},[82036],{"type":431,"value":8061},{"type":426,"tag":553,"props":82038,"children":82039},{"class":555,"line":1167},[82040,82044,82048],{"type":426,"tag":553,"props":82041,"children":82042},{"style":795},[82043],{"type":431,"value":842},{"type":426,"tag":553,"props":82045,"children":82046},{"style":560},[82047],{"type":431,"value":14085},{"type":426,"tag":553,"props":82049,"children":82050},{"style":684},[82051],{"type":431,"value":6433},{"type":426,"tag":553,"props":82053,"children":82054},{"class":555,"line":1184},[82055],{"type":426,"tag":553,"props":82056,"children":82057},{"style":572},[82058],{"type":431,"value":2673},{"type":426,"tag":553,"props":82060,"children":82061},{"class":555,"line":1192},[82062],{"type":426,"tag":553,"props":82063,"children":82064},{"style":572},[82065],{"type":431,"value":82066},"    Receive incoming WhatsApp messages from Rapiwa.\n",{"type":426,"tag":553,"props":82068,"children":82069},{"class":555,"line":1210},[82070],{"type":426,"tag":553,"props":82071,"children":82072},{"style":572},[82073],{"type":431,"value":82074},"    Must respond with 200 OK quickly — process async for slow operations.\n",{"type":426,"tag":553,"props":82076,"children":82077},{"class":555,"line":1253},[82078],{"type":426,"tag":553,"props":82079,"children":82080},{"style":572},[82081],{"type":431,"value":2673},{"type":426,"tag":553,"props":82083,"children":82084},{"class":555,"line":1302},[82085,82089,82093],{"type":426,"tag":553,"props":82086,"children":82087},{"style":684},[82088],{"type":431,"value":8085},{"type":426,"tag":553,"props":82090,"children":82091},{"style":795},[82092],{"type":431,"value":957},{"type":426,"tag":553,"props":82094,"children":82095},{"style":684},[82096],{"type":431,"value":8094},{"type":426,"tag":553,"props":82098,"children":82099},{"class":555,"line":1374},[82100],{"type":426,"tag":553,"props":82101,"children":82102},{"emptyLinePlaceholder":831},[82103],{"type":431,"value":834},{"type":426,"tag":553,"props":82105,"children":82106},{"class":555,"line":1414},[82107,82111,82115],{"type":426,"tag":553,"props":82108,"children":82109},{"style":795},[82110],{"type":431,"value":925},{"type":426,"tag":553,"props":82112,"children":82113},{"style":795},[82114],{"type":431,"value":12110},{"type":426,"tag":553,"props":82116,"children":82117},{"style":684},[82118],{"type":431,"value":82119}," payload:\n",{"type":426,"tag":553,"props":82121,"children":82122},{"class":555,"line":1479},[82123,82127,82131,82135,82139,82144,82148],{"type":426,"tag":553,"props":82124,"children":82125},{"style":795},[82126],{"type":431,"value":8378},{"type":426,"tag":553,"props":82128,"children":82129},{"style":684},[82130],{"type":431,"value":8126},{"type":426,"tag":553,"props":82132,"children":82133},{"style":572},[82134],{"type":431,"value":13699},{"type":426,"tag":553,"props":82136,"children":82137},{"style":684},[82138],{"type":431,"value":700},{"type":426,"tag":553,"props":82140,"children":82141},{"style":572},[82142],{"type":431,"value":82143},"'No payload'",{"type":426,"tag":553,"props":82145,"children":82146},{"style":684},[82147],{"type":431,"value":13713},{"type":426,"tag":553,"props":82149,"children":82150},{"style":566},[82151],{"type":431,"value":13858},{"type":426,"tag":553,"props":82153,"children":82154},{"class":555,"line":1517},[82155],{"type":426,"tag":553,"props":82156,"children":82157},{"emptyLinePlaceholder":831},[82158],{"type":431,"value":834},{"type":426,"tag":553,"props":82160,"children":82161},{"class":555,"line":1560},[82162,82167,82171,82175,82179],{"type":426,"tag":553,"props":82163,"children":82164},{"style":684},[82165],{"type":431,"value":82166},"    event ",{"type":426,"tag":553,"props":82168,"children":82169},{"style":795},[82170],{"type":431,"value":957},{"type":426,"tag":553,"props":82172,"children":82173},{"style":684},[82174],{"type":431,"value":8171},{"type":426,"tag":553,"props":82176,"children":82177},{"style":572},[82178],{"type":431,"value":8176},{"type":426,"tag":553,"props":82180,"children":82181},{"style":684},[82182],{"type":431,"value":3262},{"type":426,"tag":553,"props":82184,"children":82185},{"class":555,"line":1598},[82186,82190,82194,82198,82202],{"type":426,"tag":553,"props":82187,"children":82188},{"style":684},[82189],{"type":431,"value":13733},{"type":426,"tag":553,"props":82191,"children":82192},{"style":795},[82193],{"type":431,"value":957},{"type":426,"tag":553,"props":82195,"children":82196},{"style":684},[82197],{"type":431,"value":8171},{"type":426,"tag":553,"props":82199,"children":82200},{"style":572},[82201],{"type":431,"value":8206},{"type":426,"tag":553,"props":82203,"children":82204},{"style":684},[82205],{"type":431,"value":14262},{"type":426,"tag":553,"props":82207,"children":82208},{"class":555,"line":1636},[82209],{"type":426,"tag":553,"props":82210,"children":82211},{"emptyLinePlaceholder":831},[82212],{"type":431,"value":834},{"type":426,"tag":553,"props":82214,"children":82215},{"class":555,"line":1645},[82216,82221,82225,82230,82234,82239,82243,82248,82252,82256,82260,82264,82268,82272],{"type":426,"tag":553,"props":82217,"children":82218},{"style":684},[82219],{"type":431,"value":82220},"    app.logger.info(",{"type":426,"tag":553,"props":82222,"children":82223},{"style":795},[82224],{"type":431,"value":1709},{"type":426,"tag":553,"props":82226,"children":82227},{"style":572},[82228],{"type":431,"value":82229},"\"Received event: ",{"type":426,"tag":553,"props":82231,"children":82232},{"style":566},[82233],{"type":431,"value":972},{"type":426,"tag":553,"props":82235,"children":82236},{"style":684},[82237],{"type":431,"value":82238},"event",{"type":426,"tag":553,"props":82240,"children":82241},{"style":566},[82242],{"type":431,"value":982},{"type":426,"tag":553,"props":82244,"children":82245},{"style":572},[82246],{"type":431,"value":82247}," from ",{"type":426,"tag":553,"props":82249,"children":82250},{"style":566},[82251],{"type":431,"value":972},{"type":426,"tag":553,"props":82253,"children":82254},{"style":684},[82255],{"type":431,"value":14324},{"type":426,"tag":553,"props":82257,"children":82258},{"style":572},[82259],{"type":431,"value":14329},{"type":426,"tag":553,"props":82261,"children":82262},{"style":684},[82263],{"type":431,"value":5736},{"type":426,"tag":553,"props":82265,"children":82266},{"style":566},[82267],{"type":431,"value":982},{"type":426,"tag":553,"props":82269,"children":82270},{"style":572},[82271],{"type":431,"value":1527},{"type":426,"tag":553,"props":82273,"children":82274},{"style":684},[82275],{"type":431,"value":3262},{"type":426,"tag":553,"props":82277,"children":82278},{"class":555,"line":1653},[82279],{"type":426,"tag":553,"props":82280,"children":82281},{"emptyLinePlaceholder":831},[82282],{"type":431,"value":834},{"type":426,"tag":553,"props":82284,"children":82285},{"class":555,"line":1667},[82286,82290,82295,82299,82303],{"type":426,"tag":553,"props":82287,"children":82288},{"style":795},[82289],{"type":431,"value":925},{"type":426,"tag":553,"props":82291,"children":82292},{"style":684},[82293],{"type":431,"value":82294}," event ",{"type":426,"tag":553,"props":82296,"children":82297},{"style":795},[82298],{"type":431,"value":1069},{"type":426,"tag":553,"props":82300,"children":82301},{"style":572},[82302],{"type":431,"value":8189},{"type":426,"tag":553,"props":82304,"children":82305},{"style":684},[82306],{"type":431,"value":909},{"type":426,"tag":553,"props":82308,"children":82309},{"class":555,"line":1680},[82310],{"type":426,"tag":553,"props":82311,"children":82312},{"style":684},[82313],{"type":431,"value":82314},"        process_message(data)\n",{"type":426,"tag":553,"props":82316,"children":82317},{"class":555,"line":1740},[82318],{"type":426,"tag":553,"props":82319,"children":82320},{"emptyLinePlaceholder":831},[82321],{"type":431,"value":834},{"type":426,"tag":553,"props":82323,"children":82324},{"class":555,"line":1787},[82325],{"type":426,"tag":553,"props":82326,"children":82327},{"style":1975},[82328],{"type":431,"value":82329},"    # Always return 200 immediately — processing happens asynchronously\n",{"type":426,"tag":553,"props":82331,"children":82332},{"class":555,"line":1796},[82333,82337,82341,82345,82349,82353,82357],{"type":426,"tag":553,"props":82334,"children":82335},{"style":795},[82336],{"type":431,"value":1659},{"type":426,"tag":553,"props":82338,"children":82339},{"style":684},[82340],{"type":431,"value":8126},{"type":426,"tag":553,"props":82342,"children":82343},{"style":572},[82344],{"type":431,"value":2982},{"type":426,"tag":553,"props":82346,"children":82347},{"style":684},[82348],{"type":431,"value":700},{"type":426,"tag":553,"props":82350,"children":82351},{"style":572},[82352],{"type":431,"value":8139},{"type":426,"tag":553,"props":82354,"children":82355},{"style":684},[82356],{"type":431,"value":13713},{"type":426,"tag":553,"props":82358,"children":82359},{"style":566},[82360],{"type":431,"value":8234},{"type":426,"tag":553,"props":82362,"children":82363},{"class":555,"line":1804},[82364],{"type":426,"tag":553,"props":82365,"children":82366},{"emptyLinePlaceholder":831},[82367],{"type":431,"value":834},{"type":426,"tag":553,"props":82369,"children":82370},{"class":555,"line":1812},[82371],{"type":426,"tag":553,"props":82372,"children":82373},{"emptyLinePlaceholder":831},[82374],{"type":431,"value":834},{"type":426,"tag":553,"props":82376,"children":82377},{"class":555,"line":1847},[82378,82382,82387,82391,82395,82399,82403],{"type":426,"tag":553,"props":82379,"children":82380},{"style":795},[82381],{"type":431,"value":842},{"type":426,"tag":553,"props":82383,"children":82384},{"style":560},[82385],{"type":431,"value":82386}," process_message",{"type":426,"tag":553,"props":82388,"children":82389},{"style":684},[82390],{"type":431,"value":8278},{"type":426,"tag":553,"props":82392,"children":82393},{"style":566},[82394],{"type":431,"value":857},{"type":426,"tag":553,"props":82396,"children":82397},{"style":684},[82398],{"type":431,"value":900},{"type":426,"tag":553,"props":82400,"children":82401},{"style":566},[82402],{"type":431,"value":1840},{"type":426,"tag":553,"props":82404,"children":82405},{"style":684},[82406],{"type":431,"value":909},{"type":426,"tag":553,"props":82408,"children":82409},{"class":555,"line":1856},[82410],{"type":426,"tag":553,"props":82411,"children":82412},{"style":572},[82413],{"type":431,"value":82414},"    \"\"\"Process an incoming WhatsApp message.\"\"\"\n",{"type":426,"tag":553,"props":82416,"children":82417},{"class":555,"line":1874},[82418,82422,82426,82430,82434],{"type":426,"tag":553,"props":82419,"children":82420},{"style":684},[82421],{"type":431,"value":11505},{"type":426,"tag":553,"props":82423,"children":82424},{"style":795},[82425],{"type":431,"value":957},{"type":426,"tag":553,"props":82427,"children":82428},{"style":684},[82429],{"type":431,"value":20293},{"type":426,"tag":553,"props":82431,"children":82432},{"style":572},[82433],{"type":431,"value":14329},{"type":426,"tag":553,"props":82435,"children":82436},{"style":684},[82437],{"type":431,"value":16523},{"type":426,"tag":553,"props":82439,"children":82440},{"class":555,"line":1882},[82441,82445,82449,82453,82457,82461,82465],{"type":426,"tag":553,"props":82442,"children":82443},{"style":684},[82444],{"type":431,"value":65195},{"type":426,"tag":553,"props":82446,"children":82447},{"style":795},[82448],{"type":431,"value":957},{"type":426,"tag":553,"props":82450,"children":82451},{"style":684},[82452],{"type":431,"value":8311},{"type":426,"tag":553,"props":82454,"children":82455},{"style":572},[82456],{"type":431,"value":65208},{"type":426,"tag":553,"props":82458,"children":82459},{"style":684},[82460],{"type":431,"value":1907},{"type":426,"tag":553,"props":82462,"children":82463},{"style":572},[82464],{"type":431,"value":65217},{"type":426,"tag":553,"props":82466,"children":82467},{"style":684},[82468],{"type":431,"value":3262},{"type":426,"tag":553,"props":82470,"children":82471},{"class":555,"line":1981},[82472,82476,82480,82484,82488,82492,82496],{"type":426,"tag":553,"props":82473,"children":82474},{"style":684},[82475],{"type":431,"value":20341},{"type":426,"tag":553,"props":82477,"children":82478},{"style":795},[82479],{"type":431,"value":957},{"type":426,"tag":553,"props":82481,"children":82482},{"style":684},[82483],{"type":431,"value":8311},{"type":426,"tag":553,"props":82485,"children":82486},{"style":572},[82487],{"type":431,"value":20354},{"type":426,"tag":553,"props":82489,"children":82490},{"style":684},[82491],{"type":431,"value":1907},{"type":426,"tag":553,"props":82493,"children":82494},{"style":572},[82495],{"type":431,"value":20363},{"type":426,"tag":553,"props":82497,"children":82498},{"style":684},[82499],{"type":431,"value":3262},{"type":426,"tag":553,"props":82501,"children":82502},{"class":555,"line":1989},[82503],{"type":426,"tag":553,"props":82504,"children":82505},{"emptyLinePlaceholder":831},[82506],{"type":431,"value":834},{"type":426,"tag":553,"props":82508,"children":82509},{"class":555,"line":2013},[82510,82514,82518,82522,82526],{"type":426,"tag":553,"props":82511,"children":82512},{"style":795},[82513],{"type":431,"value":925},{"type":426,"tag":553,"props":82515,"children":82516},{"style":684},[82517],{"type":431,"value":65372},{"type":426,"tag":553,"props":82519,"children":82520},{"style":795},[82521],{"type":431,"value":1069},{"type":426,"tag":553,"props":82523,"children":82524},{"style":572},[82525],{"type":431,"value":65381},{"type":426,"tag":553,"props":82527,"children":82528},{"style":684},[82529],{"type":431,"value":909},{"type":426,"tag":553,"props":82531,"children":82532},{"class":555,"line":2055},[82533,82538,82542,82546,82550,82554,82558],{"type":426,"tag":553,"props":82534,"children":82535},{"style":684},[82536],{"type":431,"value":82537},"        text ",{"type":426,"tag":553,"props":82539,"children":82540},{"style":795},[82541],{"type":431,"value":957},{"type":426,"tag":553,"props":82543,"children":82544},{"style":684},[82545],{"type":431,"value":8311},{"type":426,"tag":553,"props":82547,"children":82548},{"style":572},[82549],{"type":431,"value":1779},{"type":426,"tag":553,"props":82551,"children":82552},{"style":684},[82553],{"type":431,"value":1907},{"type":426,"tag":553,"props":82555,"children":82556},{"style":572},[82557],{"type":431,"value":13605},{"type":426,"tag":553,"props":82559,"children":82560},{"style":684},[82561],{"type":431,"value":82562},").strip().lower()\n",{"type":426,"tag":553,"props":82564,"children":82565},{"class":555,"line":2064},[82566,82570,82574],{"type":426,"tag":553,"props":82567,"children":82568},{"style":684},[82569],{"type":431,"value":29537},{"type":426,"tag":553,"props":82571,"children":82572},{"style":795},[82573],{"type":431,"value":957},{"type":426,"tag":553,"props":82575,"children":82576},{"style":684},[82577],{"type":431,"value":82578}," generate_reply(text, sender_name)\n",{"type":426,"tag":553,"props":82580,"children":82581},{"class":555,"line":2087},[82582],{"type":426,"tag":553,"props":82583,"children":82584},{"emptyLinePlaceholder":831},[82585],{"type":431,"value":834},{"type":426,"tag":553,"props":82587,"children":82588},{"class":555,"line":2096},[82589,82593],{"type":426,"tag":553,"props":82590,"children":82591},{"style":795},[82592],{"type":431,"value":2972},{"type":426,"tag":553,"props":82594,"children":82595},{"style":684},[82596],{"type":431,"value":82597}," reply:\n",{"type":426,"tag":553,"props":82599,"children":82600},{"class":555,"line":2105},[82601],{"type":426,"tag":553,"props":82602,"children":82603},{"style":684},[82604],{"type":431,"value":82605},"            send_reply(from_number, reply)\n",{"type":426,"tag":553,"props":82607,"children":82608},{"class":555,"line":2114},[82609],{"type":426,"tag":553,"props":82610,"children":82611},{"emptyLinePlaceholder":831},[82612],{"type":431,"value":834},{"type":426,"tag":553,"props":82614,"children":82615},{"class":555,"line":2123},[82616,82620,82624,82628,82633],{"type":426,"tag":553,"props":82617,"children":82618},{"style":795},[82619],{"type":431,"value":1060},{"type":426,"tag":553,"props":82621,"children":82622},{"style":684},[82623],{"type":431,"value":65372},{"type":426,"tag":553,"props":82625,"children":82626},{"style":795},[82627],{"type":431,"value":1069},{"type":426,"tag":553,"props":82629,"children":82630},{"style":572},[82631],{"type":431,"value":82632}," 'image'",{"type":426,"tag":553,"props":82634,"children":82635},{"style":684},[82636],{"type":431,"value":909},{"type":426,"tag":553,"props":82638,"children":82639},{"class":555,"line":2132},[82640,82645,82649,82653,82658],{"type":426,"tag":553,"props":82641,"children":82642},{"style":684},[82643],{"type":431,"value":82644},"        media_url ",{"type":426,"tag":553,"props":82646,"children":82647},{"style":795},[82648],{"type":431,"value":957},{"type":426,"tag":553,"props":82650,"children":82651},{"style":684},[82652],{"type":431,"value":8311},{"type":426,"tag":553,"props":82654,"children":82655},{"style":572},[82656],{"type":431,"value":82657},"'mediaUrl'",{"type":426,"tag":553,"props":82659,"children":82660},{"style":684},[82661],{"type":431,"value":3262},{"type":426,"tag":553,"props":82663,"children":82664},{"class":555,"line":2151},[82665,82670,82674,82679],{"type":426,"tag":553,"props":82666,"children":82667},{"style":684},[82668],{"type":431,"value":82669},"        send_reply(from_number, ",{"type":426,"tag":553,"props":82671,"children":82672},{"style":795},[82673],{"type":431,"value":1709},{"type":426,"tag":553,"props":82675,"children":82676},{"style":572},[82677],{"type":431,"value":82678},"\"Got your image! We'll process it shortly.\"",{"type":426,"tag":553,"props":82680,"children":82681},{"style":684},[82682],{"type":431,"value":3262},{"type":426,"tag":553,"props":82684,"children":82685},{"class":555,"line":2160},[82686],{"type":426,"tag":553,"props":82687,"children":82688},{"emptyLinePlaceholder":831},[82689],{"type":431,"value":834},{"type":426,"tag":553,"props":82691,"children":82692},{"class":555,"line":2174},[82693,82697,82701,82705,82710],{"type":426,"tag":553,"props":82694,"children":82695},{"style":795},[82696],{"type":431,"value":1060},{"type":426,"tag":553,"props":82698,"children":82699},{"style":684},[82700],{"type":431,"value":65372},{"type":426,"tag":553,"props":82702,"children":82703},{"style":795},[82704],{"type":431,"value":1069},{"type":426,"tag":553,"props":82706,"children":82707},{"style":572},[82708],{"type":431,"value":82709}," 'document'",{"type":426,"tag":553,"props":82711,"children":82712},{"style":684},[82713],{"type":431,"value":909},{"type":426,"tag":553,"props":82715,"children":82716},{"class":555,"line":2182},[82717,82722,82726,82730,82735,82739,82744],{"type":426,"tag":553,"props":82718,"children":82719},{"style":684},[82720],{"type":431,"value":82721},"        filename ",{"type":426,"tag":553,"props":82723,"children":82724},{"style":795},[82725],{"type":431,"value":957},{"type":426,"tag":553,"props":82727,"children":82728},{"style":684},[82729],{"type":431,"value":8311},{"type":426,"tag":553,"props":82731,"children":82732},{"style":572},[82733],{"type":431,"value":82734},"'filename'",{"type":426,"tag":553,"props":82736,"children":82737},{"style":684},[82738],{"type":431,"value":1907},{"type":426,"tag":553,"props":82740,"children":82741},{"style":572},[82742],{"type":431,"value":82743},"'document'",{"type":426,"tag":553,"props":82745,"children":82746},{"style":684},[82747],{"type":431,"value":3262},{"type":426,"tag":553,"props":82749,"children":82750},{"class":555,"line":2205},[82751,82755,82759,82764,82768,82773,82777,82782],{"type":426,"tag":553,"props":82752,"children":82753},{"style":684},[82754],{"type":431,"value":82669},{"type":426,"tag":553,"props":82756,"children":82757},{"style":795},[82758],{"type":431,"value":1709},{"type":426,"tag":553,"props":82760,"children":82761},{"style":572},[82762],{"type":431,"value":82763},"\"Thanks for sending ",{"type":426,"tag":553,"props":82765,"children":82766},{"style":566},[82767],{"type":431,"value":972},{"type":426,"tag":553,"props":82769,"children":82770},{"style":684},[82771],{"type":431,"value":82772},"filename",{"type":426,"tag":553,"props":82774,"children":82775},{"style":566},[82776],{"type":431,"value":982},{"type":426,"tag":553,"props":82778,"children":82779},{"style":572},[82780],{"type":431,"value":82781},". Our team will review it.\"",{"type":426,"tag":553,"props":82783,"children":82784},{"style":684},[82785],{"type":431,"value":3262},{"type":426,"tag":553,"props":82787,"children":82788},{"class":555,"line":2241},[82789],{"type":426,"tag":553,"props":82790,"children":82791},{"emptyLinePlaceholder":831},[82792],{"type":431,"value":834},{"type":426,"tag":553,"props":82794,"children":82795},{"class":555,"line":2250},[82796],{"type":426,"tag":553,"props":82797,"children":82798},{"emptyLinePlaceholder":831},[82799],{"type":431,"value":834},{"type":426,"tag":553,"props":82801,"children":82802},{"class":555,"line":2302},[82803,82807,82812,82817,82821,82825,82829,82833,82837,82842,82846],{"type":426,"tag":553,"props":82804,"children":82805},{"style":795},[82806],{"type":431,"value":842},{"type":426,"tag":553,"props":82808,"children":82809},{"style":560},[82810],{"type":431,"value":82811}," generate_reply",{"type":426,"tag":553,"props":82813,"children":82814},{"style":684},[82815],{"type":431,"value":82816},"(text: ",{"type":426,"tag":553,"props":82818,"children":82819},{"style":566},[82820],{"type":431,"value":895},{"type":426,"tag":553,"props":82822,"children":82823},{"style":684},[82824],{"type":431,"value":44374},{"type":426,"tag":553,"props":82826,"children":82827},{"style":566},[82828],{"type":431,"value":895},{"type":426,"tag":553,"props":82830,"children":82831},{"style":684},[82832],{"type":431,"value":900},{"type":426,"tag":553,"props":82834,"children":82835},{"style":566},[82836],{"type":431,"value":895},{"type":426,"tag":553,"props":82838,"children":82839},{"style":795},[82840],{"type":431,"value":82841}," |",{"type":426,"tag":553,"props":82843,"children":82844},{"style":566},[82845],{"type":431,"value":39896},{"type":426,"tag":553,"props":82847,"children":82848},{"style":684},[82849],{"type":431,"value":909},{"type":426,"tag":553,"props":82851,"children":82852},{"class":555,"line":2353},[82853],{"type":426,"tag":553,"props":82854,"children":82855},{"style":572},[82856],{"type":431,"value":82857},"    \"\"\"Generate an auto-reply based on message content.\"\"\"\n",{"type":426,"tag":553,"props":82859,"children":82860},{"class":555,"line":2390},[82861,82865,82870,82874,82878,82883,82887,82892,82896,82901],{"type":426,"tag":553,"props":82862,"children":82863},{"style":795},[82864],{"type":431,"value":925},{"type":426,"tag":553,"props":82866,"children":82867},{"style":684},[82868],{"type":431,"value":82869}," text ",{"type":426,"tag":553,"props":82871,"children":82872},{"style":795},[82873],{"type":431,"value":2005},{"type":426,"tag":553,"props":82875,"children":82876},{"style":684},[82877],{"type":431,"value":5684},{"type":426,"tag":553,"props":82879,"children":82880},{"style":572},[82881],{"type":431,"value":82882},"'hi'",{"type":426,"tag":553,"props":82884,"children":82885},{"style":684},[82886],{"type":431,"value":1907},{"type":426,"tag":553,"props":82888,"children":82889},{"style":572},[82890],{"type":431,"value":82891},"'hello'",{"type":426,"tag":553,"props":82893,"children":82894},{"style":684},[82895],{"type":431,"value":1907},{"type":426,"tag":553,"props":82897,"children":82898},{"style":572},[82899],{"type":431,"value":82900},"'hey'",{"type":426,"tag":553,"props":82902,"children":82903},{"style":684},[82904],{"type":431,"value":8370},{"type":426,"tag":553,"props":82906,"children":82907},{"class":555,"line":2440},[82908,82912,82916,82921,82925,82929,82933],{"type":426,"tag":553,"props":82909,"children":82910},{"style":795},[82911],{"type":431,"value":8378},{"type":426,"tag":553,"props":82913,"children":82914},{"style":795},[82915],{"type":431,"value":962},{"type":426,"tag":553,"props":82917,"children":82918},{"style":572},[82919],{"type":431,"value":82920},"\"Hello ",{"type":426,"tag":553,"props":82922,"children":82923},{"style":566},[82924],{"type":431,"value":972},{"type":426,"tag":553,"props":82926,"children":82927},{"style":684},[82928],{"type":431,"value":24468},{"type":426,"tag":553,"props":82930,"children":82931},{"style":566},[82932],{"type":431,"value":982},{"type":426,"tag":553,"props":82934,"children":82935},{"style":572},[82936],{"type":431,"value":82937},"! 👋 How can I help you today?\"\n",{"type":426,"tag":553,"props":82939,"children":82940},{"class":555,"line":2488},[82941],{"type":426,"tag":553,"props":82942,"children":82943},{"emptyLinePlaceholder":831},[82944],{"type":431,"value":834},{"type":426,"tag":553,"props":82946,"children":82947},{"class":555,"line":2509},[82948,82952,82957,82961,82965,82969,82974,82978,82982,82986,82991,82995],{"type":426,"tag":553,"props":82949,"children":82950},{"style":795},[82951],{"type":431,"value":925},{"type":426,"tag":553,"props":82953,"children":82954},{"style":572},[82955],{"type":431,"value":82956}," 'price'",{"type":426,"tag":553,"props":82958,"children":82959},{"style":795},[82960],{"type":431,"value":54104},{"type":426,"tag":553,"props":82962,"children":82963},{"style":684},[82964],{"type":431,"value":82869},{"type":426,"tag":553,"props":82966,"children":82967},{"style":795},[82968],{"type":431,"value":13816},{"type":426,"tag":553,"props":82970,"children":82971},{"style":572},[82972],{"type":431,"value":82973}," 'cost'",{"type":426,"tag":553,"props":82975,"children":82976},{"style":795},[82977],{"type":431,"value":54104},{"type":426,"tag":553,"props":82979,"children":82980},{"style":684},[82981],{"type":431,"value":82869},{"type":426,"tag":553,"props":82983,"children":82984},{"style":795},[82985],{"type":431,"value":13816},{"type":426,"tag":553,"props":82987,"children":82988},{"style":572},[82989],{"type":431,"value":82990}," 'how much'",{"type":426,"tag":553,"props":82992,"children":82993},{"style":795},[82994],{"type":431,"value":54104},{"type":426,"tag":553,"props":82996,"children":82997},{"style":684},[82998],{"type":431,"value":65510},{"type":426,"tag":553,"props":83000,"children":83001},{"class":555,"line":2527},[83002,83006],{"type":426,"tag":553,"props":83003,"children":83004},{"style":795},[83005],{"type":431,"value":8378},{"type":426,"tag":553,"props":83007,"children":83008},{"style":572},[83009],{"type":431,"value":83010}," \"Our plans start at $5\u002Fmonth with no per-message fees. Visit rapiwa.com for full pricing!\"\n",{"type":426,"tag":553,"props":83012,"children":83013},{"class":555,"line":2545},[83014],{"type":426,"tag":553,"props":83015,"children":83016},{"emptyLinePlaceholder":831},[83017],{"type":431,"value":834},{"type":426,"tag":553,"props":83019,"children":83020},{"class":555,"line":12991},[83021,83025,83030,83034,83038,83042,83047,83051],{"type":426,"tag":553,"props":83022,"children":83023},{"style":795},[83024],{"type":431,"value":925},{"type":426,"tag":553,"props":83026,"children":83027},{"style":572},[83028],{"type":431,"value":83029}," 'help'",{"type":426,"tag":553,"props":83031,"children":83032},{"style":795},[83033],{"type":431,"value":54104},{"type":426,"tag":553,"props":83035,"children":83036},{"style":684},[83037],{"type":431,"value":82869},{"type":426,"tag":553,"props":83039,"children":83040},{"style":795},[83041],{"type":431,"value":13816},{"type":426,"tag":553,"props":83043,"children":83044},{"style":572},[83045],{"type":431,"value":83046}," 'support'",{"type":426,"tag":553,"props":83048,"children":83049},{"style":795},[83050],{"type":431,"value":54104},{"type":426,"tag":553,"props":83052,"children":83053},{"style":684},[83054],{"type":431,"value":65510},{"type":426,"tag":553,"props":83056,"children":83057},{"class":555,"line":13004},[83058,83062],{"type":426,"tag":553,"props":83059,"children":83060},{"style":795},[83061],{"type":431,"value":8378},{"type":426,"tag":553,"props":83063,"children":83064},{"style":572},[83065],{"type":431,"value":83066}," \"I've logged your support request. Our team will reply within 1 business hour. 🙏\"\n",{"type":426,"tag":553,"props":83068,"children":83069},{"class":555,"line":13012},[83070],{"type":426,"tag":553,"props":83071,"children":83072},{"emptyLinePlaceholder":831},[83073],{"type":431,"value":834},{"type":426,"tag":553,"props":83075,"children":83076},{"class":555,"line":13025},[83077,83081,83085],{"type":426,"tag":553,"props":83078,"children":83079},{"style":795},[83080],{"type":431,"value":1659},{"type":426,"tag":553,"props":83082,"children":83083},{"style":566},[83084],{"type":431,"value":39896},{"type":426,"tag":553,"props":83086,"children":83087},{"style":1975},[83088],{"type":431,"value":83089},"  # No auto-reply — human handles it\n",{"type":426,"tag":553,"props":83091,"children":83092},{"class":555,"line":13033},[83093],{"type":426,"tag":553,"props":83094,"children":83095},{"emptyLinePlaceholder":831},[83096],{"type":431,"value":834},{"type":426,"tag":553,"props":83098,"children":83099},{"class":555,"line":13069},[83100],{"type":426,"tag":553,"props":83101,"children":83102},{"emptyLinePlaceholder":831},[83103],{"type":431,"value":834},{"type":426,"tag":553,"props":83105,"children":83106},{"class":555,"line":13089},[83107,83111,83115,83119,83123,83127,83131,83135,83139],{"type":426,"tag":553,"props":83108,"children":83109},{"style":795},[83110],{"type":431,"value":842},{"type":426,"tag":553,"props":83112,"children":83113},{"style":560},[83114],{"type":431,"value":30247},{"type":426,"tag":553,"props":83116,"children":83117},{"style":684},[83118],{"type":431,"value":7446},{"type":426,"tag":553,"props":83120,"children":83121},{"style":566},[83122],{"type":431,"value":895},{"type":426,"tag":553,"props":83124,"children":83125},{"style":684},[83126],{"type":431,"value":8713},{"type":426,"tag":553,"props":83128,"children":83129},{"style":566},[83130],{"type":431,"value":895},{"type":426,"tag":553,"props":83132,"children":83133},{"style":684},[83134],{"type":431,"value":900},{"type":426,"tag":553,"props":83136,"children":83137},{"style":566},[83138],{"type":431,"value":857},{"type":426,"tag":553,"props":83140,"children":83141},{"style":684},[83142],{"type":431,"value":909},{"type":426,"tag":553,"props":83144,"children":83145},{"class":555,"line":13102},[83146],{"type":426,"tag":553,"props":83147,"children":83148},{"style":572},[83149],{"type":431,"value":83150},"    \"\"\"Send a WhatsApp reply via Rapiwa.\"\"\"\n",{"type":426,"tag":553,"props":83152,"children":83153},{"class":555,"line":13111},[83154,83158,83162],{"type":426,"tag":553,"props":83155,"children":83156},{"style":684},[83157],{"type":431,"value":8117},{"type":426,"tag":553,"props":83159,"children":83160},{"style":795},[83161],{"type":431,"value":957},{"type":426,"tag":553,"props":83163,"children":83164},{"style":684},[83165],{"type":431,"value":1664},{"type":426,"tag":553,"props":83167,"children":83168},{"class":555,"line":13120},[83169,83173],{"type":426,"tag":553,"props":83170,"children":83171},{"style":572},[83172],{"type":431,"value":1673},{"type":426,"tag":553,"props":83174,"children":83175},{"style":684},[83176],{"type":431,"value":710},{"type":426,"tag":553,"props":83178,"children":83179},{"class":555,"line":13129},[83180,83184,83188,83192,83196,83200,83204,83208,83212,83216],{"type":426,"tag":553,"props":83181,"children":83182},{"style":1684},[83183],{"type":431,"value":1687},{"type":426,"tag":553,"props":83185,"children":83186},{"style":795},[83187],{"type":431,"value":957},{"type":426,"tag":553,"props":83189,"children":83190},{"style":684},[83191],{"type":431,"value":972},{"type":426,"tag":553,"props":83193,"children":83194},{"style":572},[83195],{"type":431,"value":1700},{"type":426,"tag":553,"props":83197,"children":83198},{"style":684},[83199],{"type":431,"value":700},{"type":426,"tag":553,"props":83201,"children":83202},{"style":795},[83203],{"type":431,"value":1709},{"type":426,"tag":553,"props":83205,"children":83206},{"style":572},[83207],{"type":431,"value":1714},{"type":426,"tag":553,"props":83209,"children":83210},{"style":566},[83211],{"type":431,"value":20835},{"type":426,"tag":553,"props":83213,"children":83214},{"style":572},[83215],{"type":431,"value":1732},{"type":426,"tag":553,"props":83217,"children":83218},{"style":684},[83219],{"type":431,"value":1737},{"type":426,"tag":553,"props":83221,"children":83222},{"class":555,"line":13174},[83223,83227,83231,83235,83239,83243,83247],{"type":426,"tag":553,"props":83224,"children":83225},{"style":1684},[83226],{"type":431,"value":1746},{"type":426,"tag":553,"props":83228,"children":83229},{"style":795},[83230],{"type":431,"value":957},{"type":426,"tag":553,"props":83232,"children":83233},{"style":684},[83234],{"type":431,"value":972},{"type":426,"tag":553,"props":83236,"children":83237},{"style":572},[83238],{"type":431,"value":1759},{"type":426,"tag":553,"props":83240,"children":83241},{"style":684},[83242],{"type":431,"value":8931},{"type":426,"tag":553,"props":83244,"children":83245},{"style":572},[83246],{"type":431,"value":1779},{"type":426,"tag":553,"props":83248,"children":83249},{"style":684},[83250],{"type":431,"value":8940},{"type":426,"tag":553,"props":83252,"children":83253},{"class":555,"line":13205},[83254,83258,83262],{"type":426,"tag":553,"props":83255,"children":83256},{"style":1684},[83257],{"type":431,"value":51045},{"type":426,"tag":553,"props":83259,"children":83260},{"style":795},[83261],{"type":431,"value":957},{"type":426,"tag":553,"props":83263,"children":83264},{"style":566},[83265],{"type":431,"value":56966},{"type":426,"tag":553,"props":83267,"children":83268},{"class":555,"line":13218},[83269],{"type":426,"tag":553,"props":83270,"children":83271},{"style":684},[83272],{"type":431,"value":1642},{"type":426,"tag":553,"props":83274,"children":83275},{"class":555,"line":20616},[83276,83280,83284],{"type":426,"tag":553,"props":83277,"children":83278},{"style":684},[83279],{"type":431,"value":21488},{"type":426,"tag":553,"props":83281,"children":83282},{"style":795},[83283],{"type":431,"value":957},{"type":426,"tag":553,"props":83285,"children":83286},{"style":684},[83287],{"type":431,"value":9193},{"type":426,"tag":553,"props":83289,"children":83290},{"class":555,"line":20637},[83291,83295,83299,83304,83308,83312,83316,83320,83324,83328,83332,83336,83340,83344],{"type":426,"tag":553,"props":83292,"children":83293},{"style":684},[83294],{"type":431,"value":82220},{"type":426,"tag":553,"props":83296,"children":83297},{"style":795},[83298],{"type":431,"value":1709},{"type":426,"tag":553,"props":83300,"children":83301},{"style":572},[83302],{"type":431,"value":83303},"\"Reply sent to ",{"type":426,"tag":553,"props":83305,"children":83306},{"style":566},[83307],{"type":431,"value":972},{"type":426,"tag":553,"props":83309,"children":83310},{"style":684},[83311],{"type":431,"value":37598},{"type":426,"tag":553,"props":83313,"children":83314},{"style":566},[83315],{"type":431,"value":982},{"type":426,"tag":553,"props":83317,"children":83318},{"style":572},[83319],{"type":431,"value":700},{"type":426,"tag":553,"props":83321,"children":83322},{"style":566},[83323],{"type":431,"value":972},{"type":426,"tag":553,"props":83325,"children":83326},{"style":684},[83327],{"type":431,"value":12863},{"type":426,"tag":553,"props":83329,"children":83330},{"style":572},[83331],{"type":431,"value":2982},{"type":426,"tag":553,"props":83333,"children":83334},{"style":684},[83335],{"type":431,"value":5736},{"type":426,"tag":553,"props":83337,"children":83338},{"style":566},[83339],{"type":431,"value":982},{"type":426,"tag":553,"props":83341,"children":83342},{"style":572},[83343],{"type":431,"value":1527},{"type":426,"tag":553,"props":83345,"children":83346},{"style":684},[83347],{"type":431,"value":3262},{"type":426,"tag":553,"props":83349,"children":83350},{"class":555,"line":20650},[83351,83355],{"type":426,"tag":553,"props":83352,"children":83353},{"style":795},[83354],{"type":431,"value":1659},{"type":426,"tag":553,"props":83356,"children":83357},{"style":684},[83358],{"type":431,"value":13022},{"type":426,"tag":553,"props":83360,"children":83361},{"class":555,"line":20658},[83362],{"type":426,"tag":553,"props":83363,"children":83364},{"emptyLinePlaceholder":831},[83365],{"type":431,"value":834},{"type":426,"tag":553,"props":83367,"children":83368},{"class":555,"line":20666},[83369],{"type":426,"tag":553,"props":83370,"children":83371},{"emptyLinePlaceholder":831},[83372],{"type":431,"value":834},{"type":426,"tag":553,"props":83374,"children":83375},{"class":555,"line":20675},[83376,83380,83384,83388,83392],{"type":426,"tag":553,"props":83377,"children":83378},{"style":795},[83379],{"type":431,"value":7510},{"type":426,"tag":553,"props":83381,"children":83382},{"style":566},[83383],{"type":431,"value":51734},{"type":426,"tag":553,"props":83385,"children":83386},{"style":795},[83387],{"type":431,"value":51739},{"type":426,"tag":553,"props":83389,"children":83390},{"style":572},[83391],{"type":431,"value":51744},{"type":426,"tag":553,"props":83393,"children":83394},{"style":684},[83395],{"type":431,"value":909},{"type":426,"tag":553,"props":83397,"children":83398},{"class":555,"line":20684},[83399,83403,83407,83411,83415,83419,83423,83427,83431,83435,83439,83443,83447],{"type":426,"tag":553,"props":83400,"children":83401},{"style":684},[83402],{"type":431,"value":65922},{"type":426,"tag":553,"props":83404,"children":83405},{"style":1684},[83406],{"type":431,"value":65927},{"type":426,"tag":553,"props":83408,"children":83409},{"style":795},[83410],{"type":431,"value":957},{"type":426,"tag":553,"props":83412,"children":83413},{"style":572},[83414],{"type":431,"value":65936},{"type":426,"tag":553,"props":83416,"children":83417},{"style":684},[83418],{"type":431,"value":1907},{"type":426,"tag":553,"props":83420,"children":83421},{"style":1684},[83422],{"type":431,"value":65945},{"type":426,"tag":553,"props":83424,"children":83425},{"style":795},[83426],{"type":431,"value":957},{"type":426,"tag":553,"props":83428,"children":83429},{"style":566},[83430],{"type":431,"value":65954},{"type":426,"tag":553,"props":83432,"children":83433},{"style":684},[83434],{"type":431,"value":1907},{"type":426,"tag":553,"props":83436,"children":83437},{"style":1684},[83438],{"type":431,"value":61617},{"type":426,"tag":553,"props":83440,"children":83441},{"style":795},[83442],{"type":431,"value":957},{"type":426,"tag":553,"props":83444,"children":83445},{"style":566},[83446],{"type":431,"value":65971},{"type":426,"tag":553,"props":83448,"children":83449},{"style":684},[83450],{"type":431,"value":3262},{"type":426,"tag":434,"props":83452,"children":83454},{"id":83453},"method-2-python-fastapi-async",[83455],{"type":431,"value":83456},"Method 2: Python FastAPI (Async)",{"type":426,"tag":427,"props":83458,"children":83459},{},[83460],{"type":431,"value":83461},"FastAPI handles high webhook volumes with async processing:",{"type":426,"tag":542,"props":83463,"children":83465},{"className":785,"code":83464,"language":784,"meta":417,"style":417},"# main.py\n# pip install fastapi uvicorn httpx\n\nfrom fastapi import FastAPI, BackgroundTasks, Request\nfrom fastapi.responses import JSONResponse\nimport httpx\nimport logging\n\napp = FastAPI()\nlogger = logging.getLogger(__name__)\n\nRAPIWA_API_KEY = 'YOUR_API_KEY'\n\n\n@app.post('\u002Fwebhook\u002Fwhatsapp')\nasync def receive_whatsapp(request: Request, background_tasks: BackgroundTasks):\n    \"\"\"\n    Receives Rapiwa webhook. Returns 200 immediately.\n    Processes message in background to avoid timeouts.\n    \"\"\"\n    payload = await request.json()\n    event = payload.get('event')\n\n    if event == 'message.received':\n        # Process in background — don't block the response\n        background_tasks.add_task(process_message, payload['data'])\n\n    return JSONResponse({'status': 'ok'})\n\n\nasync def process_message(data: dict) -> None:\n    \"\"\"Background task to process incoming message and send reply.\"\"\"\n    from_number = data['from']\n    text = data.get('message', '').strip().lower()\n    sender_name = data.get('senderName', 'Customer')\n\n    reply = generate_reply(text, sender_name)\n\n    if reply:\n        async with httpx.AsyncClient() as client:\n            response = await client.post(\n                'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n                headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n                json={'number': from_number, 'message': reply},\n                timeout=10\n            )\n            logger.info(f\"Replied to {from_number}: {response.json()}\")\n\n\ndef generate_reply(text: str, name: str) -> str | None:\n    if text in ('hi', 'hello'):\n        return f\"Hello {name}! How can I help you today?\"\n    if 'price' in text:\n        return \"Plans start at $5\u002Fmonth — visit rapiwa.com for details.\"\n    return None\n\n\n# Run with: uvicorn main:app --host 0.0.0.0 --port 3000\n",[83466],{"type":426,"tag":549,"props":83467,"children":83468},{"__ignoreMap":417},[83469,83477,83485,83492,83513,83534,83546,83557,83564,83580,83603,83610,83625,83632,83639,83659,83680,83687,83695,83703,83710,83730,83753,83760,83783,83791,83807,83814,83842,83849,83856,83891,83899,83922,83953,83984,83991,84007,84014,84025,84051,84071,84082,84125,84158,84173,84180,84235,84242,84249,84296,84331,84363,84382,84394,84405,84412,84419],{"type":426,"tag":553,"props":83470,"children":83471},{"class":555,"line":556},[83472],{"type":426,"tag":553,"props":83473,"children":83474},{"style":1975},[83475],{"type":431,"value":83476},"# main.py\n",{"type":426,"tag":553,"props":83478,"children":83479},{"class":555,"line":588},[83480],{"type":426,"tag":553,"props":83481,"children":83482},{"style":1975},[83483],{"type":431,"value":83484},"# pip install fastapi uvicorn httpx\n",{"type":426,"tag":553,"props":83486,"children":83487},{"class":555,"line":606},[83488],{"type":426,"tag":553,"props":83489,"children":83490},{"emptyLinePlaceholder":831},[83491],{"type":431,"value":834},{"type":426,"tag":553,"props":83493,"children":83494},{"class":555,"line":623},[83495,83499,83504,83508],{"type":426,"tag":553,"props":83496,"children":83497},{"style":795},[83498],{"type":431,"value":811},{"type":426,"tag":553,"props":83500,"children":83501},{"style":684},[83502],{"type":431,"value":83503}," fastapi ",{"type":426,"tag":553,"props":83505,"children":83506},{"style":795},[83507],{"type":431,"value":798},{"type":426,"tag":553,"props":83509,"children":83510},{"style":684},[83511],{"type":431,"value":83512}," FastAPI, BackgroundTasks, Request\n",{"type":426,"tag":553,"props":83514,"children":83515},{"class":555,"line":637},[83516,83520,83525,83529],{"type":426,"tag":553,"props":83517,"children":83518},{"style":795},[83519],{"type":431,"value":811},{"type":426,"tag":553,"props":83521,"children":83522},{"style":684},[83523],{"type":431,"value":83524}," fastapi.responses ",{"type":426,"tag":553,"props":83526,"children":83527},{"style":795},[83528],{"type":431,"value":798},{"type":426,"tag":553,"props":83530,"children":83531},{"style":684},[83532],{"type":431,"value":83533}," JSONResponse\n",{"type":426,"tag":553,"props":83535,"children":83536},{"class":555,"line":646},[83537,83541],{"type":426,"tag":553,"props":83538,"children":83539},{"style":795},[83540],{"type":431,"value":798},{"type":426,"tag":553,"props":83542,"children":83543},{"style":684},[83544],{"type":431,"value":83545}," httpx\n",{"type":426,"tag":553,"props":83547,"children":83548},{"class":555,"line":655},[83549,83553],{"type":426,"tag":553,"props":83550,"children":83551},{"style":795},[83552],{"type":431,"value":798},{"type":426,"tag":553,"props":83554,"children":83555},{"style":684},[83556],{"type":431,"value":63158},{"type":426,"tag":553,"props":83558,"children":83559},{"class":555,"line":1036},[83560],{"type":426,"tag":553,"props":83561,"children":83562},{"emptyLinePlaceholder":831},[83563],{"type":431,"value":834},{"type":426,"tag":553,"props":83565,"children":83566},{"class":555,"line":1054},[83567,83571,83575],{"type":426,"tag":553,"props":83568,"children":83569},{"style":684},[83570],{"type":431,"value":13301},{"type":426,"tag":553,"props":83572,"children":83573},{"style":795},[83574],{"type":431,"value":957},{"type":426,"tag":553,"props":83576,"children":83577},{"style":684},[83578],{"type":431,"value":83579}," FastAPI()\n",{"type":426,"tag":553,"props":83581,"children":83582},{"class":555,"line":1080},[83583,83587,83591,83595,83599],{"type":426,"tag":553,"props":83584,"children":83585},{"style":684},[83586],{"type":431,"value":63297},{"type":426,"tag":553,"props":83588,"children":83589},{"style":795},[83590],{"type":431,"value":957},{"type":426,"tag":553,"props":83592,"children":83593},{"style":684},[83594],{"type":431,"value":63306},{"type":426,"tag":553,"props":83596,"children":83597},{"style":566},[83598],{"type":431,"value":13315},{"type":426,"tag":553,"props":83600,"children":83601},{"style":684},[83602],{"type":431,"value":3262},{"type":426,"tag":553,"props":83604,"children":83605},{"class":555,"line":1097},[83606],{"type":426,"tag":553,"props":83607,"children":83608},{"emptyLinePlaceholder":831},[83609],{"type":431,"value":834},{"type":426,"tag":553,"props":83611,"children":83612},{"class":555,"line":1114},[83613,83617,83621],{"type":426,"tag":553,"props":83614,"children":83615},{"style":566},[83616],{"type":431,"value":7156},{"type":426,"tag":553,"props":83618,"children":83619},{"style":795},[83620],{"type":431,"value":8739},{"type":426,"tag":553,"props":83622,"children":83623},{"style":572},[83624],{"type":431,"value":23292},{"type":426,"tag":553,"props":83626,"children":83627},{"class":555,"line":1127},[83628],{"type":426,"tag":553,"props":83629,"children":83630},{"emptyLinePlaceholder":831},[83631],{"type":431,"value":834},{"type":426,"tag":553,"props":83633,"children":83634},{"class":555,"line":1167},[83635],{"type":426,"tag":553,"props":83636,"children":83637},{"emptyLinePlaceholder":831},[83638],{"type":431,"value":834},{"type":426,"tag":553,"props":83640,"children":83641},{"class":555,"line":1184},[83642,83647,83651,83655],{"type":426,"tag":553,"props":83643,"children":83644},{"style":560},[83645],{"type":431,"value":83646},"@app.post",{"type":426,"tag":553,"props":83648,"children":83649},{"style":684},[83650],{"type":431,"value":3275},{"type":426,"tag":553,"props":83652,"children":83653},{"style":572},[83654],{"type":431,"value":8033},{"type":426,"tag":553,"props":83656,"children":83657},{"style":684},[83658],{"type":431,"value":3262},{"type":426,"tag":553,"props":83660,"children":83661},{"class":555,"line":1192},[83662,83666,83671,83675],{"type":426,"tag":553,"props":83663,"children":83664},{"style":795},[83665],{"type":431,"value":52361},{"type":426,"tag":553,"props":83667,"children":83668},{"style":795},[83669],{"type":431,"value":83670}," def",{"type":426,"tag":553,"props":83672,"children":83673},{"style":560},[83674],{"type":431,"value":14085},{"type":426,"tag":553,"props":83676,"children":83677},{"style":684},[83678],{"type":431,"value":83679},"(request: Request, background_tasks: BackgroundTasks):\n",{"type":426,"tag":553,"props":83681,"children":83682},{"class":555,"line":1210},[83683],{"type":426,"tag":553,"props":83684,"children":83685},{"style":572},[83686],{"type":431,"value":2673},{"type":426,"tag":553,"props":83688,"children":83689},{"class":555,"line":1253},[83690],{"type":426,"tag":553,"props":83691,"children":83692},{"style":572},[83693],{"type":431,"value":83694},"    Receives Rapiwa webhook. Returns 200 immediately.\n",{"type":426,"tag":553,"props":83696,"children":83697},{"class":555,"line":1302},[83698],{"type":426,"tag":553,"props":83699,"children":83700},{"style":572},[83701],{"type":431,"value":83702},"    Processes message in background to avoid timeouts.\n",{"type":426,"tag":553,"props":83704,"children":83705},{"class":555,"line":1374},[83706],{"type":426,"tag":553,"props":83707,"children":83708},{"style":572},[83709],{"type":431,"value":2673},{"type":426,"tag":553,"props":83711,"children":83712},{"class":555,"line":1414},[83713,83717,83721,83725],{"type":426,"tag":553,"props":83714,"children":83715},{"style":684},[83716],{"type":431,"value":8085},{"type":426,"tag":553,"props":83718,"children":83719},{"style":795},[83720],{"type":431,"value":957},{"type":426,"tag":553,"props":83722,"children":83723},{"style":795},[83724],{"type":431,"value":53070},{"type":426,"tag":553,"props":83726,"children":83727},{"style":684},[83728],{"type":431,"value":83729}," request.json()\n",{"type":426,"tag":553,"props":83731,"children":83732},{"class":555,"line":1479},[83733,83737,83741,83745,83749],{"type":426,"tag":553,"props":83734,"children":83735},{"style":684},[83736],{"type":431,"value":82166},{"type":426,"tag":553,"props":83738,"children":83739},{"style":795},[83740],{"type":431,"value":957},{"type":426,"tag":553,"props":83742,"children":83743},{"style":684},[83744],{"type":431,"value":8171},{"type":426,"tag":553,"props":83746,"children":83747},{"style":572},[83748],{"type":431,"value":8176},{"type":426,"tag":553,"props":83750,"children":83751},{"style":684},[83752],{"type":431,"value":3262},{"type":426,"tag":553,"props":83754,"children":83755},{"class":555,"line":1517},[83756],{"type":426,"tag":553,"props":83757,"children":83758},{"emptyLinePlaceholder":831},[83759],{"type":431,"value":834},{"type":426,"tag":553,"props":83761,"children":83762},{"class":555,"line":1560},[83763,83767,83771,83775,83779],{"type":426,"tag":553,"props":83764,"children":83765},{"style":795},[83766],{"type":431,"value":925},{"type":426,"tag":553,"props":83768,"children":83769},{"style":684},[83770],{"type":431,"value":82294},{"type":426,"tag":553,"props":83772,"children":83773},{"style":795},[83774],{"type":431,"value":1069},{"type":426,"tag":553,"props":83776,"children":83777},{"style":572},[83778],{"type":431,"value":8189},{"type":426,"tag":553,"props":83780,"children":83781},{"style":684},[83782],{"type":431,"value":909},{"type":426,"tag":553,"props":83784,"children":83785},{"class":555,"line":1598},[83786],{"type":426,"tag":553,"props":83787,"children":83788},{"style":1975},[83789],{"type":431,"value":83790},"        # Process in background — don't block the response\n",{"type":426,"tag":553,"props":83792,"children":83793},{"class":555,"line":1636},[83794,83799,83803],{"type":426,"tag":553,"props":83795,"children":83796},{"style":684},[83797],{"type":431,"value":83798},"        background_tasks.add_task(process_message, payload[",{"type":426,"tag":553,"props":83800,"children":83801},{"style":572},[83802],{"type":431,"value":8206},{"type":426,"tag":553,"props":83804,"children":83805},{"style":684},[83806],{"type":431,"value":8061},{"type":426,"tag":553,"props":83808,"children":83809},{"class":555,"line":1645},[83810],{"type":426,"tag":553,"props":83811,"children":83812},{"emptyLinePlaceholder":831},[83813],{"type":431,"value":834},{"type":426,"tag":553,"props":83815,"children":83816},{"class":555,"line":1653},[83817,83821,83826,83830,83834,83838],{"type":426,"tag":553,"props":83818,"children":83819},{"style":795},[83820],{"type":431,"value":1659},{"type":426,"tag":553,"props":83822,"children":83823},{"style":684},[83824],{"type":431,"value":83825}," JSONResponse({",{"type":426,"tag":553,"props":83827,"children":83828},{"style":572},[83829],{"type":431,"value":2982},{"type":426,"tag":553,"props":83831,"children":83832},{"style":684},[83833],{"type":431,"value":700},{"type":426,"tag":553,"props":83835,"children":83836},{"style":572},[83837],{"type":431,"value":8139},{"type":426,"tag":553,"props":83839,"children":83840},{"style":684},[83841],{"type":431,"value":8144},{"type":426,"tag":553,"props":83843,"children":83844},{"class":555,"line":1667},[83845],{"type":426,"tag":553,"props":83846,"children":83847},{"emptyLinePlaceholder":831},[83848],{"type":431,"value":834},{"type":426,"tag":553,"props":83850,"children":83851},{"class":555,"line":1680},[83852],{"type":426,"tag":553,"props":83853,"children":83854},{"emptyLinePlaceholder":831},[83855],{"type":431,"value":834},{"type":426,"tag":553,"props":83857,"children":83858},{"class":555,"line":1740},[83859,83863,83867,83871,83875,83879,83883,83887],{"type":426,"tag":553,"props":83860,"children":83861},{"style":795},[83862],{"type":431,"value":52361},{"type":426,"tag":553,"props":83864,"children":83865},{"style":795},[83866],{"type":431,"value":83670},{"type":426,"tag":553,"props":83868,"children":83869},{"style":560},[83870],{"type":431,"value":82386},{"type":426,"tag":553,"props":83872,"children":83873},{"style":684},[83874],{"type":431,"value":8278},{"type":426,"tag":553,"props":83876,"children":83877},{"style":566},[83878],{"type":431,"value":857},{"type":426,"tag":553,"props":83880,"children":83881},{"style":684},[83882],{"type":431,"value":900},{"type":426,"tag":553,"props":83884,"children":83885},{"style":566},[83886],{"type":431,"value":1840},{"type":426,"tag":553,"props":83888,"children":83889},{"style":684},[83890],{"type":431,"value":909},{"type":426,"tag":553,"props":83892,"children":83893},{"class":555,"line":1787},[83894],{"type":426,"tag":553,"props":83895,"children":83896},{"style":572},[83897],{"type":431,"value":83898},"    \"\"\"Background task to process incoming message and send reply.\"\"\"\n",{"type":426,"tag":553,"props":83900,"children":83901},{"class":555,"line":1796},[83902,83906,83910,83914,83918],{"type":426,"tag":553,"props":83903,"children":83904},{"style":684},[83905],{"type":431,"value":11505},{"type":426,"tag":553,"props":83907,"children":83908},{"style":795},[83909],{"type":431,"value":957},{"type":426,"tag":553,"props":83911,"children":83912},{"style":684},[83913],{"type":431,"value":20293},{"type":426,"tag":553,"props":83915,"children":83916},{"style":572},[83917],{"type":431,"value":14329},{"type":426,"tag":553,"props":83919,"children":83920},{"style":684},[83921],{"type":431,"value":16523},{"type":426,"tag":553,"props":83923,"children":83924},{"class":555,"line":1804},[83925,83929,83933,83937,83941,83945,83949],{"type":426,"tag":553,"props":83926,"children":83927},{"style":684},[83928],{"type":431,"value":65463},{"type":426,"tag":553,"props":83930,"children":83931},{"style":795},[83932],{"type":431,"value":957},{"type":426,"tag":553,"props":83934,"children":83935},{"style":684},[83936],{"type":431,"value":8311},{"type":426,"tag":553,"props":83938,"children":83939},{"style":572},[83940],{"type":431,"value":1779},{"type":426,"tag":553,"props":83942,"children":83943},{"style":684},[83944],{"type":431,"value":1907},{"type":426,"tag":553,"props":83946,"children":83947},{"style":572},[83948],{"type":431,"value":13605},{"type":426,"tag":553,"props":83950,"children":83951},{"style":684},[83952],{"type":431,"value":82562},{"type":426,"tag":553,"props":83954,"children":83955},{"class":555,"line":1812},[83956,83960,83964,83968,83972,83976,83980],{"type":426,"tag":553,"props":83957,"children":83958},{"style":684},[83959],{"type":431,"value":20341},{"type":426,"tag":553,"props":83961,"children":83962},{"style":795},[83963],{"type":431,"value":957},{"type":426,"tag":553,"props":83965,"children":83966},{"style":684},[83967],{"type":431,"value":8311},{"type":426,"tag":553,"props":83969,"children":83970},{"style":572},[83971],{"type":431,"value":20354},{"type":426,"tag":553,"props":83973,"children":83974},{"style":684},[83975],{"type":431,"value":1907},{"type":426,"tag":553,"props":83977,"children":83978},{"style":572},[83979],{"type":431,"value":20363},{"type":426,"tag":553,"props":83981,"children":83982},{"style":684},[83983],{"type":431,"value":3262},{"type":426,"tag":553,"props":83985,"children":83986},{"class":555,"line":1847},[83987],{"type":426,"tag":553,"props":83988,"children":83989},{"emptyLinePlaceholder":831},[83990],{"type":431,"value":834},{"type":426,"tag":553,"props":83992,"children":83993},{"class":555,"line":1856},[83994,83999,84003],{"type":426,"tag":553,"props":83995,"children":83996},{"style":684},[83997],{"type":431,"value":83998},"    reply ",{"type":426,"tag":553,"props":84000,"children":84001},{"style":795},[84002],{"type":431,"value":957},{"type":426,"tag":553,"props":84004,"children":84005},{"style":684},[84006],{"type":431,"value":82578},{"type":426,"tag":553,"props":84008,"children":84009},{"class":555,"line":1874},[84010],{"type":426,"tag":553,"props":84011,"children":84012},{"emptyLinePlaceholder":831},[84013],{"type":431,"value":834},{"type":426,"tag":553,"props":84015,"children":84016},{"class":555,"line":1882},[84017,84021],{"type":426,"tag":553,"props":84018,"children":84019},{"style":795},[84020],{"type":431,"value":925},{"type":426,"tag":553,"props":84022,"children":84023},{"style":684},[84024],{"type":431,"value":82597},{"type":426,"tag":553,"props":84026,"children":84027},{"class":555,"line":1981},[84028,84033,84038,84043,84047],{"type":426,"tag":553,"props":84029,"children":84030},{"style":795},[84031],{"type":431,"value":84032},"        async",{"type":426,"tag":553,"props":84034,"children":84035},{"style":795},[84036],{"type":431,"value":84037}," with",{"type":426,"tag":553,"props":84039,"children":84040},{"style":684},[84041],{"type":431,"value":84042}," httpx.AsyncClient() ",{"type":426,"tag":553,"props":84044,"children":84045},{"style":795},[84046],{"type":431,"value":10075},{"type":426,"tag":553,"props":84048,"children":84049},{"style":684},[84050],{"type":431,"value":17689},{"type":426,"tag":553,"props":84052,"children":84053},{"class":555,"line":1989},[84054,84058,84062,84066],{"type":426,"tag":553,"props":84055,"children":84056},{"style":684},[84057],{"type":431,"value":8834},{"type":426,"tag":553,"props":84059,"children":84060},{"style":795},[84061],{"type":431,"value":957},{"type":426,"tag":553,"props":84063,"children":84064},{"style":795},[84065],{"type":431,"value":53070},{"type":426,"tag":553,"props":84067,"children":84068},{"style":684},[84069],{"type":431,"value":84070}," client.post(\n",{"type":426,"tag":553,"props":84072,"children":84073},{"class":555,"line":2013},[84074,84078],{"type":426,"tag":553,"props":84075,"children":84076},{"style":572},[84077],{"type":431,"value":8850},{"type":426,"tag":553,"props":84079,"children":84080},{"style":684},[84081],{"type":431,"value":710},{"type":426,"tag":553,"props":84083,"children":84084},{"class":555,"line":2055},[84085,84089,84093,84097,84101,84105,84109,84113,84117,84121],{"type":426,"tag":553,"props":84086,"children":84087},{"style":1684},[84088],{"type":431,"value":8862},{"type":426,"tag":553,"props":84090,"children":84091},{"style":795},[84092],{"type":431,"value":957},{"type":426,"tag":553,"props":84094,"children":84095},{"style":684},[84096],{"type":431,"value":972},{"type":426,"tag":553,"props":84098,"children":84099},{"style":572},[84100],{"type":431,"value":1700},{"type":426,"tag":553,"props":84102,"children":84103},{"style":684},[84104],{"type":431,"value":700},{"type":426,"tag":553,"props":84106,"children":84107},{"style":795},[84108],{"type":431,"value":1709},{"type":426,"tag":553,"props":84110,"children":84111},{"style":572},[84112],{"type":431,"value":1714},{"type":426,"tag":553,"props":84114,"children":84115},{"style":566},[84116],{"type":431,"value":20835},{"type":426,"tag":553,"props":84118,"children":84119},{"style":572},[84120],{"type":431,"value":1732},{"type":426,"tag":553,"props":84122,"children":84123},{"style":684},[84124],{"type":431,"value":1737},{"type":426,"tag":553,"props":84126,"children":84127},{"class":555,"line":2064},[84128,84132,84136,84140,84144,84149,84153],{"type":426,"tag":553,"props":84129,"children":84130},{"style":1684},[84131],{"type":431,"value":8914},{"type":426,"tag":553,"props":84133,"children":84134},{"style":795},[84135],{"type":431,"value":957},{"type":426,"tag":553,"props":84137,"children":84138},{"style":684},[84139],{"type":431,"value":972},{"type":426,"tag":553,"props":84141,"children":84142},{"style":572},[84143],{"type":431,"value":1759},{"type":426,"tag":553,"props":84145,"children":84146},{"style":684},[84147],{"type":431,"value":84148},": from_number, ",{"type":426,"tag":553,"props":84150,"children":84151},{"style":572},[84152],{"type":431,"value":1779},{"type":426,"tag":553,"props":84154,"children":84155},{"style":684},[84156],{"type":431,"value":84157},": reply},\n",{"type":426,"tag":553,"props":84159,"children":84160},{"class":555,"line":2087},[84161,84165,84169],{"type":426,"tag":553,"props":84162,"children":84163},{"style":1684},[84164],{"type":431,"value":8948},{"type":426,"tag":553,"props":84166,"children":84167},{"style":795},[84168],{"type":431,"value":957},{"type":426,"tag":553,"props":84170,"children":84171},{"style":566},[84172],{"type":431,"value":56966},{"type":426,"tag":553,"props":84174,"children":84175},{"class":555,"line":2096},[84176],{"type":426,"tag":553,"props":84177,"children":84178},{"style":684},[84179],{"type":431,"value":2551},{"type":426,"tag":553,"props":84181,"children":84182},{"class":555,"line":2105},[84183,84188,84192,84197,84201,84206,84210,84214,84218,84223,84227,84231],{"type":426,"tag":553,"props":84184,"children":84185},{"style":684},[84186],{"type":431,"value":84187},"            logger.info(",{"type":426,"tag":553,"props":84189,"children":84190},{"style":795},[84191],{"type":431,"value":1709},{"type":426,"tag":553,"props":84193,"children":84194},{"style":572},[84195],{"type":431,"value":84196},"\"Replied to ",{"type":426,"tag":553,"props":84198,"children":84199},{"style":566},[84200],{"type":431,"value":972},{"type":426,"tag":553,"props":84202,"children":84203},{"style":684},[84204],{"type":431,"value":84205},"from_number",{"type":426,"tag":553,"props":84207,"children":84208},{"style":566},[84209],{"type":431,"value":982},{"type":426,"tag":553,"props":84211,"children":84212},{"style":572},[84213],{"type":431,"value":700},{"type":426,"tag":553,"props":84215,"children":84216},{"style":566},[84217],{"type":431,"value":972},{"type":426,"tag":553,"props":84219,"children":84220},{"style":684},[84221],{"type":431,"value":84222},"response.json()",{"type":426,"tag":553,"props":84224,"children":84225},{"style":566},[84226],{"type":431,"value":982},{"type":426,"tag":553,"props":84228,"children":84229},{"style":572},[84230],{"type":431,"value":1527},{"type":426,"tag":553,"props":84232,"children":84233},{"style":684},[84234],{"type":431,"value":3262},{"type":426,"tag":553,"props":84236,"children":84237},{"class":555,"line":2114},[84238],{"type":426,"tag":553,"props":84239,"children":84240},{"emptyLinePlaceholder":831},[84241],{"type":431,"value":834},{"type":426,"tag":553,"props":84243,"children":84244},{"class":555,"line":2123},[84245],{"type":426,"tag":553,"props":84246,"children":84247},{"emptyLinePlaceholder":831},[84248],{"type":431,"value":834},{"type":426,"tag":553,"props":84250,"children":84251},{"class":555,"line":2132},[84252,84256,84260,84264,84268,84272,84276,84280,84284,84288,84292],{"type":426,"tag":553,"props":84253,"children":84254},{"style":795},[84255],{"type":431,"value":842},{"type":426,"tag":553,"props":84257,"children":84258},{"style":560},[84259],{"type":431,"value":82811},{"type":426,"tag":553,"props":84261,"children":84262},{"style":684},[84263],{"type":431,"value":82816},{"type":426,"tag":553,"props":84265,"children":84266},{"style":566},[84267],{"type":431,"value":895},{"type":426,"tag":553,"props":84269,"children":84270},{"style":684},[84271],{"type":431,"value":44374},{"type":426,"tag":553,"props":84273,"children":84274},{"style":566},[84275],{"type":431,"value":895},{"type":426,"tag":553,"props":84277,"children":84278},{"style":684},[84279],{"type":431,"value":900},{"type":426,"tag":553,"props":84281,"children":84282},{"style":566},[84283],{"type":431,"value":895},{"type":426,"tag":553,"props":84285,"children":84286},{"style":795},[84287],{"type":431,"value":82841},{"type":426,"tag":553,"props":84289,"children":84290},{"style":566},[84291],{"type":431,"value":39896},{"type":426,"tag":553,"props":84293,"children":84294},{"style":684},[84295],{"type":431,"value":909},{"type":426,"tag":553,"props":84297,"children":84298},{"class":555,"line":2151},[84299,84303,84307,84311,84315,84319,84323,84327],{"type":426,"tag":553,"props":84300,"children":84301},{"style":795},[84302],{"type":431,"value":925},{"type":426,"tag":553,"props":84304,"children":84305},{"style":684},[84306],{"type":431,"value":82869},{"type":426,"tag":553,"props":84308,"children":84309},{"style":795},[84310],{"type":431,"value":2005},{"type":426,"tag":553,"props":84312,"children":84313},{"style":684},[84314],{"type":431,"value":5684},{"type":426,"tag":553,"props":84316,"children":84317},{"style":572},[84318],{"type":431,"value":82882},{"type":426,"tag":553,"props":84320,"children":84321},{"style":684},[84322],{"type":431,"value":1907},{"type":426,"tag":553,"props":84324,"children":84325},{"style":572},[84326],{"type":431,"value":82891},{"type":426,"tag":553,"props":84328,"children":84329},{"style":684},[84330],{"type":431,"value":8370},{"type":426,"tag":553,"props":84332,"children":84333},{"class":555,"line":2160},[84334,84338,84342,84346,84350,84354,84358],{"type":426,"tag":553,"props":84335,"children":84336},{"style":795},[84337],{"type":431,"value":8378},{"type":426,"tag":553,"props":84339,"children":84340},{"style":795},[84341],{"type":431,"value":962},{"type":426,"tag":553,"props":84343,"children":84344},{"style":572},[84345],{"type":431,"value":82920},{"type":426,"tag":553,"props":84347,"children":84348},{"style":566},[84349],{"type":431,"value":972},{"type":426,"tag":553,"props":84351,"children":84352},{"style":684},[84353],{"type":431,"value":24468},{"type":426,"tag":553,"props":84355,"children":84356},{"style":566},[84357],{"type":431,"value":982},{"type":426,"tag":553,"props":84359,"children":84360},{"style":572},[84361],{"type":431,"value":84362},"! How can I help you today?\"\n",{"type":426,"tag":553,"props":84364,"children":84365},{"class":555,"line":2174},[84366,84370,84374,84378],{"type":426,"tag":553,"props":84367,"children":84368},{"style":795},[84369],{"type":431,"value":925},{"type":426,"tag":553,"props":84371,"children":84372},{"style":572},[84373],{"type":431,"value":82956},{"type":426,"tag":553,"props":84375,"children":84376},{"style":795},[84377],{"type":431,"value":54104},{"type":426,"tag":553,"props":84379,"children":84380},{"style":684},[84381],{"type":431,"value":65510},{"type":426,"tag":553,"props":84383,"children":84384},{"class":555,"line":2182},[84385,84389],{"type":426,"tag":553,"props":84386,"children":84387},{"style":795},[84388],{"type":431,"value":8378},{"type":426,"tag":553,"props":84390,"children":84391},{"style":572},[84392],{"type":431,"value":84393}," \"Plans start at $5\u002Fmonth — visit rapiwa.com for details.\"\n",{"type":426,"tag":553,"props":84395,"children":84396},{"class":555,"line":2205},[84397,84401],{"type":426,"tag":553,"props":84398,"children":84399},{"style":795},[84400],{"type":431,"value":1659},{"type":426,"tag":553,"props":84402,"children":84403},{"style":566},[84404],{"type":431,"value":8781},{"type":426,"tag":553,"props":84406,"children":84407},{"class":555,"line":2241},[84408],{"type":426,"tag":553,"props":84409,"children":84410},{"emptyLinePlaceholder":831},[84411],{"type":431,"value":834},{"type":426,"tag":553,"props":84413,"children":84414},{"class":555,"line":2250},[84415],{"type":426,"tag":553,"props":84416,"children":84417},{"emptyLinePlaceholder":831},[84418],{"type":431,"value":834},{"type":426,"tag":553,"props":84420,"children":84421},{"class":555,"line":2302},[84422],{"type":426,"tag":553,"props":84423,"children":84424},{"style":1975},[84425],{"type":431,"value":84426},"# Run with: uvicorn main:app --host 0.0.0.0 --port 3000\n",{"type":426,"tag":434,"props":84428,"children":84430},{"id":84429},"method-3-nodejs-express",[84431],{"type":431,"value":84432},"Method 3: Node.js Express",{"type":426,"tag":542,"props":84434,"children":84436},{"className":52113,"code":84435,"language":52115,"meta":417,"style":417},"\u002F\u002F server.js\n\u002F\u002F npm install express node-fetch\n\nconst express = require('express');\nconst fetch = require('node-fetch');\n\nconst app = express();\napp.use(express.json());\n\nconst RAPIWA_API_KEY = process.env.RAPIWA_API_KEY || 'YOUR_API_KEY';\n\napp.post('\u002Fwebhook\u002Fwhatsapp', async (req, res) => {\n  \u002F\u002F Respond immediately — process async\n  res.status(200).json({ status: 'ok' });\n\n  const { event, data } = req.body;\n\n  if (event !== 'message.received') return;\n\n  const { from, message: text, messageType, senderName } = data;\n\n  if (messageType !== 'text') {\n    \u002F\u002F Handle media messages\n    await sendReply(from, `Thanks for your ${messageType}! Our team will review it.`);\n    return;\n  }\n\n  const reply = generateReply(text?.toLowerCase() ?? '', senderName);\n  if (reply) {\n    await sendReply(from, reply);\n  }\n});\n\nfunction generateReply(text, name) {\n  if (['hi', 'hello', 'hey'].includes(text)) {\n    return `Hello ${name}! 👋 How can I help you today?`;\n  }\n  if (text.includes('price') || text.includes('cost')) {\n    return 'Plans start at $5\u002Fmonth with no per-message fees. See rapiwa.com for details.';\n  }\n  if (text.includes('help')) {\n    return \"I've noted your request. Our team will reply within 1 business hour! 🙏\";\n  }\n  return null;\n}\n\nasync function sendReply(phone, message) {\n  try {\n    const res = await fetch('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', {\n      method: 'POST',\n      headers: {\n        'Authorization': `Bearer ${RAPIWA_API_KEY}`,\n        'Content-Type': 'application\u002Fjson'\n      },\n      body: JSON.stringify({ number: phone, message })\n    });\n    const result = await res.json();\n    console.log(`Reply to ${phone}:`, result.status);\n  } catch (err) {\n    console.error('Send failed:', err.message);\n  }\n}\n\napp.listen(3000, () => console.log('Webhook server listening on port 3000'));\n",[84437],{"type":426,"tag":549,"props":84438,"children":84439},{"__ignoreMap":417},[84440,84448,84456,84463,84496,84527,84534,84558,84584,84591,84628,84635,84692,84700,84741,84748,84784,84791,84826,84833,84895,84902,84926,84934,84970,84981,84988,84995,85042,85054,85070,85077,85084,85091,85122,85169,85194,85201,85255,85271,85278,85305,85321,85328,85343,85350,85357,85392,85404,85441,85457,85465,85493,85509,85517,85541,85549,85580,85614,85631,85656,85663,85670,85677],{"type":426,"tag":553,"props":84441,"children":84442},{"class":555,"line":556},[84443],{"type":426,"tag":553,"props":84444,"children":84445},{"style":1975},[84446],{"type":431,"value":84447},"\u002F\u002F server.js\n",{"type":426,"tag":553,"props":84449,"children":84450},{"class":555,"line":588},[84451],{"type":426,"tag":553,"props":84452,"children":84453},{"style":1975},[84454],{"type":431,"value":84455},"\u002F\u002F npm install express node-fetch\n",{"type":426,"tag":553,"props":84457,"children":84458},{"class":555,"line":606},[84459],{"type":426,"tag":553,"props":84460,"children":84461},{"emptyLinePlaceholder":831},[84462],{"type":431,"value":834},{"type":426,"tag":553,"props":84464,"children":84465},{"class":555,"line":623},[84466,84470,84475,84479,84483,84487,84492],{"type":426,"tag":553,"props":84467,"children":84468},{"style":795},[84469],{"type":431,"value":52135},{"type":426,"tag":553,"props":84471,"children":84472},{"style":566},[84473],{"type":431,"value":84474}," express",{"type":426,"tag":553,"props":84476,"children":84477},{"style":795},[84478],{"type":431,"value":8739},{"type":426,"tag":553,"props":84480,"children":84481},{"style":560},[84482],{"type":431,"value":52149},{"type":426,"tag":553,"props":84484,"children":84485},{"style":684},[84486],{"type":431,"value":3275},{"type":426,"tag":553,"props":84488,"children":84489},{"style":572},[84490],{"type":431,"value":84491},"'express'",{"type":426,"tag":553,"props":84493,"children":84494},{"style":684},[84495],{"type":431,"value":11379},{"type":426,"tag":553,"props":84497,"children":84498},{"class":555,"line":637},[84499,84503,84507,84511,84515,84519,84523],{"type":426,"tag":553,"props":84500,"children":84501},{"style":795},[84502],{"type":431,"value":52135},{"type":426,"tag":553,"props":84504,"children":84505},{"style":566},[84506],{"type":431,"value":52226},{"type":426,"tag":553,"props":84508,"children":84509},{"style":795},[84510],{"type":431,"value":8739},{"type":426,"tag":553,"props":84512,"children":84513},{"style":560},[84514],{"type":431,"value":52149},{"type":426,"tag":553,"props":84516,"children":84517},{"style":684},[84518],{"type":431,"value":3275},{"type":426,"tag":553,"props":84520,"children":84521},{"style":572},[84522],{"type":431,"value":52243},{"type":426,"tag":553,"props":84524,"children":84525},{"style":684},[84526],{"type":431,"value":11379},{"type":426,"tag":553,"props":84528,"children":84529},{"class":555,"line":646},[84530],{"type":426,"tag":553,"props":84531,"children":84532},{"emptyLinePlaceholder":831},[84533],{"type":431,"value":834},{"type":426,"tag":553,"props":84535,"children":84536},{"class":555,"line":655},[84537,84541,84546,84550,84554],{"type":426,"tag":553,"props":84538,"children":84539},{"style":795},[84540],{"type":431,"value":52135},{"type":426,"tag":553,"props":84542,"children":84543},{"style":566},[84544],{"type":431,"value":84545}," app",{"type":426,"tag":553,"props":84547,"children":84548},{"style":795},[84549],{"type":431,"value":8739},{"type":426,"tag":553,"props":84551,"children":84552},{"style":560},[84553],{"type":431,"value":84474},{"type":426,"tag":553,"props":84555,"children":84556},{"style":684},[84557],{"type":431,"value":53227},{"type":426,"tag":553,"props":84559,"children":84560},{"class":555,"line":1036},[84561,84566,84571,84576,84580],{"type":426,"tag":553,"props":84562,"children":84563},{"style":684},[84564],{"type":431,"value":84565},"app.",{"type":426,"tag":553,"props":84567,"children":84568},{"style":560},[84569],{"type":431,"value":84570},"use",{"type":426,"tag":553,"props":84572,"children":84573},{"style":684},[84574],{"type":431,"value":84575},"(express.",{"type":426,"tag":553,"props":84577,"children":84578},{"style":560},[84579],{"type":431,"value":673},{"type":426,"tag":553,"props":84581,"children":84582},{"style":684},[84583],{"type":431,"value":61503},{"type":426,"tag":553,"props":84585,"children":84586},{"class":555,"line":1054},[84587],{"type":426,"tag":553,"props":84588,"children":84589},{"emptyLinePlaceholder":831},[84590],{"type":431,"value":834},{"type":426,"tag":553,"props":84592,"children":84593},{"class":555,"line":1080},[84594,84598,84602,84606,84611,84615,84620,84624],{"type":426,"tag":553,"props":84595,"children":84596},{"style":795},[84597],{"type":431,"value":52135},{"type":426,"tag":553,"props":84599,"children":84600},{"style":566},[84601],{"type":431,"value":52307},{"type":426,"tag":553,"props":84603,"children":84604},{"style":795},[84605],{"type":431,"value":8739},{"type":426,"tag":553,"props":84607,"children":84608},{"style":684},[84609],{"type":431,"value":84610}," process.env.",{"type":426,"tag":553,"props":84612,"children":84613},{"style":566},[84614],{"type":431,"value":7156},{"type":426,"tag":553,"props":84616,"children":84617},{"style":795},[84618],{"type":431,"value":84619}," ||",{"type":426,"tag":553,"props":84621,"children":84622},{"style":572},[84623],{"type":431,"value":52316},{"type":426,"tag":553,"props":84625,"children":84626},{"style":684},[84627],{"type":431,"value":52321},{"type":426,"tag":553,"props":84629,"children":84630},{"class":555,"line":1097},[84631],{"type":426,"tag":553,"props":84632,"children":84633},{"emptyLinePlaceholder":831},[84634],{"type":431,"value":834},{"type":426,"tag":553,"props":84636,"children":84637},{"class":555,"line":1114},[84638,84642,84646,84650,84654,84658,84662,84666,84671,84675,84680,84684,84688],{"type":426,"tag":553,"props":84639,"children":84640},{"style":684},[84641],{"type":431,"value":84565},{"type":426,"tag":553,"props":84643,"children":84644},{"style":560},[84645],{"type":431,"value":70594},{"type":426,"tag":553,"props":84647,"children":84648},{"style":684},[84649],{"type":431,"value":3275},{"type":426,"tag":553,"props":84651,"children":84652},{"style":572},[84653],{"type":431,"value":8033},{"type":426,"tag":553,"props":84655,"children":84656},{"style":684},[84657],{"type":431,"value":1907},{"type":426,"tag":553,"props":84659,"children":84660},{"style":795},[84661],{"type":431,"value":52361},{"type":426,"tag":553,"props":84663,"children":84664},{"style":684},[84665],{"type":431,"value":5684},{"type":426,"tag":553,"props":84667,"children":84668},{"style":1684},[84669],{"type":431,"value":84670},"req",{"type":426,"tag":553,"props":84672,"children":84673},{"style":684},[84674],{"type":431,"value":1907},{"type":426,"tag":553,"props":84676,"children":84677},{"style":1684},[84678],{"type":431,"value":84679},"res",{"type":426,"tag":553,"props":84681,"children":84682},{"style":684},[84683],{"type":431,"value":2987},{"type":426,"tag":553,"props":84685,"children":84686},{"style":795},[84687],{"type":431,"value":74581},{"type":426,"tag":553,"props":84689,"children":84690},{"style":684},[84691],{"type":431,"value":5458},{"type":426,"tag":553,"props":84693,"children":84694},{"class":555,"line":1127},[84695],{"type":426,"tag":553,"props":84696,"children":84697},{"style":1975},[84698],{"type":431,"value":84699},"  \u002F\u002F Respond immediately — process async\n",{"type":426,"tag":553,"props":84701,"children":84702},{"class":555,"line":1167},[84703,84708,84712,84716,84720,84724,84728,84733,84737],{"type":426,"tag":553,"props":84704,"children":84705},{"style":684},[84706],{"type":431,"value":84707},"  res.",{"type":426,"tag":553,"props":84709,"children":84710},{"style":560},[84711],{"type":431,"value":67953},{"type":426,"tag":553,"props":84713,"children":84714},{"style":684},[84715],{"type":431,"value":3275},{"type":426,"tag":553,"props":84717,"children":84718},{"style":566},[84719],{"type":431,"value":10114},{"type":426,"tag":553,"props":84721,"children":84722},{"style":684},[84723],{"type":431,"value":53330},{"type":426,"tag":553,"props":84725,"children":84726},{"style":560},[84727],{"type":431,"value":673},{"type":426,"tag":553,"props":84729,"children":84730},{"style":684},[84731],{"type":431,"value":84732},"({ status: ",{"type":426,"tag":553,"props":84734,"children":84735},{"style":572},[84736],{"type":431,"value":8139},{"type":426,"tag":553,"props":84738,"children":84739},{"style":684},[84740],{"type":431,"value":52295},{"type":426,"tag":553,"props":84742,"children":84743},{"class":555,"line":1184},[84744],{"type":426,"tag":553,"props":84745,"children":84746},{"emptyLinePlaceholder":831},[84747],{"type":431,"value":834},{"type":426,"tag":553,"props":84749,"children":84750},{"class":555,"line":1192},[84751,84755,84759,84763,84767,84771,84775,84779],{"type":426,"tag":553,"props":84752,"children":84753},{"style":795},[84754],{"type":431,"value":52540},{"type":426,"tag":553,"props":84756,"children":84757},{"style":684},[84758],{"type":431,"value":52174},{"type":426,"tag":553,"props":84760,"children":84761},{"style":566},[84762],{"type":431,"value":82238},{"type":426,"tag":553,"props":84764,"children":84765},{"style":684},[84766],{"type":431,"value":1907},{"type":426,"tag":553,"props":84768,"children":84769},{"style":566},[84770],{"type":431,"value":54344},{"type":426,"tag":553,"props":84772,"children":84773},{"style":684},[84774],{"type":431,"value":52193},{"type":426,"tag":553,"props":84776,"children":84777},{"style":795},[84778],{"type":431,"value":957},{"type":426,"tag":553,"props":84780,"children":84781},{"style":684},[84782],{"type":431,"value":84783}," req.body;\n",{"type":426,"tag":553,"props":84785,"children":84786},{"class":555,"line":1210},[84787],{"type":426,"tag":553,"props":84788,"children":84789},{"emptyLinePlaceholder":831},[84790],{"type":431,"value":834},{"type":426,"tag":553,"props":84792,"children":84793},{"class":555,"line":1253},[84794,84799,84804,84809,84813,84817,84822],{"type":426,"tag":553,"props":84795,"children":84796},{"style":795},[84797],{"type":431,"value":84798},"  if",{"type":426,"tag":553,"props":84800,"children":84801},{"style":684},[84802],{"type":431,"value":84803}," (event ",{"type":426,"tag":553,"props":84805,"children":84806},{"style":795},[84807],{"type":431,"value":84808},"!==",{"type":426,"tag":553,"props":84810,"children":84811},{"style":572},[84812],{"type":431,"value":8189},{"type":426,"tag":553,"props":84814,"children":84815},{"style":684},[84816],{"type":431,"value":2987},{"type":426,"tag":553,"props":84818,"children":84819},{"style":795},[84820],{"type":431,"value":84821},"return",{"type":426,"tag":553,"props":84823,"children":84824},{"style":684},[84825],{"type":431,"value":52321},{"type":426,"tag":553,"props":84827,"children":84828},{"class":555,"line":1302},[84829],{"type":426,"tag":553,"props":84830,"children":84831},{"emptyLinePlaceholder":831},[84832],{"type":431,"value":834},{"type":426,"tag":553,"props":84834,"children":84835},{"class":555,"line":1374},[84836,84840,84844,84848,84852,84856,84860,84864,84868,84873,84877,84882,84886,84890],{"type":426,"tag":553,"props":84837,"children":84838},{"style":795},[84839],{"type":431,"value":52540},{"type":426,"tag":553,"props":84841,"children":84842},{"style":684},[84843],{"type":431,"value":52174},{"type":426,"tag":553,"props":84845,"children":84846},{"style":566},[84847],{"type":431,"value":811},{"type":426,"tag":553,"props":84849,"children":84850},{"style":684},[84851],{"type":431,"value":1907},{"type":426,"tag":553,"props":84853,"children":84854},{"style":1684},[84855],{"type":431,"value":2734},{"type":426,"tag":553,"props":84857,"children":84858},{"style":684},[84859],{"type":431,"value":700},{"type":426,"tag":553,"props":84861,"children":84862},{"style":566},[84863],{"type":431,"value":431},{"type":426,"tag":553,"props":84865,"children":84866},{"style":684},[84867],{"type":431,"value":1907},{"type":426,"tag":553,"props":84869,"children":84870},{"style":566},[84871],{"type":431,"value":84872},"messageType",{"type":426,"tag":553,"props":84874,"children":84875},{"style":684},[84876],{"type":431,"value":1907},{"type":426,"tag":553,"props":84878,"children":84879},{"style":566},[84880],{"type":431,"value":84881},"senderName",{"type":426,"tag":553,"props":84883,"children":84884},{"style":684},[84885],{"type":431,"value":52193},{"type":426,"tag":553,"props":84887,"children":84888},{"style":795},[84889],{"type":431,"value":957},{"type":426,"tag":553,"props":84891,"children":84892},{"style":684},[84893],{"type":431,"value":84894}," data;\n",{"type":426,"tag":553,"props":84896,"children":84897},{"class":555,"line":1414},[84898],{"type":426,"tag":553,"props":84899,"children":84900},{"emptyLinePlaceholder":831},[84901],{"type":431,"value":834},{"type":426,"tag":553,"props":84903,"children":84904},{"class":555,"line":1479},[84905,84909,84914,84918,84922],{"type":426,"tag":553,"props":84906,"children":84907},{"style":795},[84908],{"type":431,"value":84798},{"type":426,"tag":553,"props":84910,"children":84911},{"style":684},[84912],{"type":431,"value":84913}," (messageType ",{"type":426,"tag":553,"props":84915,"children":84916},{"style":795},[84917],{"type":431,"value":84808},{"type":426,"tag":553,"props":84919,"children":84920},{"style":572},[84921],{"type":431,"value":65381},{"type":426,"tag":553,"props":84923,"children":84924},{"style":684},[84925],{"type":431,"value":52385},{"type":426,"tag":553,"props":84927,"children":84928},{"class":555,"line":1517},[84929],{"type":426,"tag":553,"props":84930,"children":84931},{"style":1975},[84932],{"type":431,"value":84933},"    \u002F\u002F Handle media messages\n",{"type":426,"tag":553,"props":84935,"children":84936},{"class":555,"line":1560},[84937,84942,84947,84952,84957,84961,84966],{"type":426,"tag":553,"props":84938,"children":84939},{"style":795},[84940],{"type":431,"value":84941},"    await",{"type":426,"tag":553,"props":84943,"children":84944},{"style":560},[84945],{"type":431,"value":84946}," sendReply",{"type":426,"tag":553,"props":84948,"children":84949},{"style":684},[84950],{"type":431,"value":84951},"(from, ",{"type":426,"tag":553,"props":84953,"children":84954},{"style":572},[84955],{"type":431,"value":84956},"`Thanks for your ${",{"type":426,"tag":553,"props":84958,"children":84959},{"style":684},[84960],{"type":431,"value":84872},{"type":426,"tag":553,"props":84962,"children":84963},{"style":572},[84964],{"type":431,"value":84965},"}! Our team will review it.`",{"type":426,"tag":553,"props":84967,"children":84968},{"style":684},[84969],{"type":431,"value":11379},{"type":426,"tag":553,"props":84971,"children":84972},{"class":555,"line":1598},[84973,84977],{"type":426,"tag":553,"props":84974,"children":84975},{"style":795},[84976],{"type":431,"value":1659},{"type":426,"tag":553,"props":84978,"children":84979},{"style":684},[84980],{"type":431,"value":52321},{"type":426,"tag":553,"props":84982,"children":84983},{"class":555,"line":1636},[84984],{"type":426,"tag":553,"props":84985,"children":84986},{"style":684},[84987],{"type":431,"value":60547},{"type":426,"tag":553,"props":84989,"children":84990},{"class":555,"line":1645},[84991],{"type":426,"tag":553,"props":84992,"children":84993},{"emptyLinePlaceholder":831},[84994],{"type":431,"value":834},{"type":426,"tag":553,"props":84996,"children":84997},{"class":555,"line":1653},[84998,85002,85006,85010,85015,85020,85025,85029,85033,85037],{"type":426,"tag":553,"props":84999,"children":85000},{"style":795},[85001],{"type":431,"value":52540},{"type":426,"tag":553,"props":85003,"children":85004},{"style":566},[85005],{"type":431,"value":75899},{"type":426,"tag":553,"props":85007,"children":85008},{"style":795},[85009],{"type":431,"value":8739},{"type":426,"tag":553,"props":85011,"children":85012},{"style":560},[85013],{"type":431,"value":85014}," generateReply",{"type":426,"tag":553,"props":85016,"children":85017},{"style":684},[85018],{"type":431,"value":85019},"(text?.",{"type":426,"tag":553,"props":85021,"children":85022},{"style":560},[85023],{"type":431,"value":85024},"toLowerCase",{"type":426,"tag":553,"props":85026,"children":85027},{"style":684},[85028],{"type":431,"value":61573},{"type":426,"tag":553,"props":85030,"children":85031},{"style":795},[85032],{"type":431,"value":74011},{"type":426,"tag":553,"props":85034,"children":85035},{"style":572},[85036],{"type":431,"value":1024},{"type":426,"tag":553,"props":85038,"children":85039},{"style":684},[85040],{"type":431,"value":85041},", senderName);\n",{"type":426,"tag":553,"props":85043,"children":85044},{"class":555,"line":1667},[85045,85049],{"type":426,"tag":553,"props":85046,"children":85047},{"style":795},[85048],{"type":431,"value":84798},{"type":426,"tag":553,"props":85050,"children":85051},{"style":684},[85052],{"type":431,"value":85053}," (reply) {\n",{"type":426,"tag":553,"props":85055,"children":85056},{"class":555,"line":1680},[85057,85061,85065],{"type":426,"tag":553,"props":85058,"children":85059},{"style":795},[85060],{"type":431,"value":84941},{"type":426,"tag":553,"props":85062,"children":85063},{"style":560},[85064],{"type":431,"value":84946},{"type":426,"tag":553,"props":85066,"children":85067},{"style":684},[85068],{"type":431,"value":85069},"(from, reply);\n",{"type":426,"tag":553,"props":85071,"children":85072},{"class":555,"line":1740},[85073],{"type":426,"tag":553,"props":85074,"children":85075},{"style":684},[85076],{"type":431,"value":60547},{"type":426,"tag":553,"props":85078,"children":85079},{"class":555,"line":1787},[85080],{"type":426,"tag":553,"props":85081,"children":85082},{"style":684},[85083],{"type":431,"value":55916},{"type":426,"tag":553,"props":85085,"children":85086},{"class":555,"line":1796},[85087],{"type":426,"tag":553,"props":85088,"children":85089},{"emptyLinePlaceholder":831},[85090],{"type":431,"value":834},{"type":426,"tag":553,"props":85092,"children":85093},{"class":555,"line":1804},[85094,85098,85102,85106,85110,85114,85118],{"type":426,"tag":553,"props":85095,"children":85096},{"style":795},[85097],{"type":431,"value":79962},{"type":426,"tag":553,"props":85099,"children":85100},{"style":560},[85101],{"type":431,"value":85014},{"type":426,"tag":553,"props":85103,"children":85104},{"style":684},[85105],{"type":431,"value":3275},{"type":426,"tag":553,"props":85107,"children":85108},{"style":1684},[85109],{"type":431,"value":431},{"type":426,"tag":553,"props":85111,"children":85112},{"style":684},[85113],{"type":431,"value":1907},{"type":426,"tag":553,"props":85115,"children":85116},{"style":1684},[85117],{"type":431,"value":24468},{"type":426,"tag":553,"props":85119,"children":85120},{"style":684},[85121],{"type":431,"value":52385},{"type":426,"tag":553,"props":85123,"children":85124},{"class":555,"line":1812},[85125,85129,85134,85138,85142,85146,85150,85154,85159,85164],{"type":426,"tag":553,"props":85126,"children":85127},{"style":795},[85128],{"type":431,"value":84798},{"type":426,"tag":553,"props":85130,"children":85131},{"style":684},[85132],{"type":431,"value":85133}," ([",{"type":426,"tag":553,"props":85135,"children":85136},{"style":572},[85137],{"type":431,"value":82882},{"type":426,"tag":553,"props":85139,"children":85140},{"style":684},[85141],{"type":431,"value":1907},{"type":426,"tag":553,"props":85143,"children":85144},{"style":572},[85145],{"type":431,"value":82891},{"type":426,"tag":553,"props":85147,"children":85148},{"style":684},[85149],{"type":431,"value":1907},{"type":426,"tag":553,"props":85151,"children":85152},{"style":572},[85153],{"type":431,"value":82900},{"type":426,"tag":553,"props":85155,"children":85156},{"style":684},[85157],{"type":431,"value":85158},"].",{"type":426,"tag":553,"props":85160,"children":85161},{"style":560},[85162],{"type":431,"value":85163},"includes",{"type":426,"tag":553,"props":85165,"children":85166},{"style":684},[85167],{"type":431,"value":85168},"(text)) {\n",{"type":426,"tag":553,"props":85170,"children":85171},{"class":555,"line":1847},[85172,85176,85181,85185,85190],{"type":426,"tag":553,"props":85173,"children":85174},{"style":795},[85175],{"type":431,"value":1659},{"type":426,"tag":553,"props":85177,"children":85178},{"style":572},[85179],{"type":431,"value":85180}," `Hello ${",{"type":426,"tag":553,"props":85182,"children":85183},{"style":684},[85184],{"type":431,"value":24468},{"type":426,"tag":553,"props":85186,"children":85187},{"style":572},[85188],{"type":431,"value":85189},"}! 👋 How can I help you today?`",{"type":426,"tag":553,"props":85191,"children":85192},{"style":684},[85193],{"type":431,"value":52321},{"type":426,"tag":553,"props":85195,"children":85196},{"class":555,"line":1856},[85197],{"type":426,"tag":553,"props":85198,"children":85199},{"style":684},[85200],{"type":431,"value":60547},{"type":426,"tag":553,"props":85202,"children":85203},{"class":555,"line":1874},[85204,85208,85213,85217,85221,85225,85229,85233,85238,85242,85246,85250],{"type":426,"tag":553,"props":85205,"children":85206},{"style":795},[85207],{"type":431,"value":84798},{"type":426,"tag":553,"props":85209,"children":85210},{"style":684},[85211],{"type":431,"value":85212}," (text.",{"type":426,"tag":553,"props":85214,"children":85215},{"style":560},[85216],{"type":431,"value":85163},{"type":426,"tag":553,"props":85218,"children":85219},{"style":684},[85220],{"type":431,"value":3275},{"type":426,"tag":553,"props":85222,"children":85223},{"style":572},[85224],{"type":431,"value":19954},{"type":426,"tag":553,"props":85226,"children":85227},{"style":684},[85228],{"type":431,"value":2987},{"type":426,"tag":553,"props":85230,"children":85231},{"style":795},[85232],{"type":431,"value":53296},{"type":426,"tag":553,"props":85234,"children":85235},{"style":684},[85236],{"type":431,"value":85237}," text.",{"type":426,"tag":553,"props":85239,"children":85240},{"style":560},[85241],{"type":431,"value":85163},{"type":426,"tag":553,"props":85243,"children":85244},{"style":684},[85245],{"type":431,"value":3275},{"type":426,"tag":553,"props":85247,"children":85248},{"style":572},[85249],{"type":431,"value":19963},{"type":426,"tag":553,"props":85251,"children":85252},{"style":684},[85253],{"type":431,"value":85254},")) {\n",{"type":426,"tag":553,"props":85256,"children":85257},{"class":555,"line":1882},[85258,85262,85267],{"type":426,"tag":553,"props":85259,"children":85260},{"style":795},[85261],{"type":431,"value":1659},{"type":426,"tag":553,"props":85263,"children":85264},{"style":572},[85265],{"type":431,"value":85266}," 'Plans start at $5\u002Fmonth with no per-message fees. See rapiwa.com for details.'",{"type":426,"tag":553,"props":85268,"children":85269},{"style":684},[85270],{"type":431,"value":52321},{"type":426,"tag":553,"props":85272,"children":85273},{"class":555,"line":1981},[85274],{"type":426,"tag":553,"props":85275,"children":85276},{"style":684},[85277],{"type":431,"value":60547},{"type":426,"tag":553,"props":85279,"children":85280},{"class":555,"line":1989},[85281,85285,85289,85293,85297,85301],{"type":426,"tag":553,"props":85282,"children":85283},{"style":795},[85284],{"type":431,"value":84798},{"type":426,"tag":553,"props":85286,"children":85287},{"style":684},[85288],{"type":431,"value":85212},{"type":426,"tag":553,"props":85290,"children":85291},{"style":560},[85292],{"type":431,"value":85163},{"type":426,"tag":553,"props":85294,"children":85295},{"style":684},[85296],{"type":431,"value":3275},{"type":426,"tag":553,"props":85298,"children":85299},{"style":572},[85300],{"type":431,"value":20068},{"type":426,"tag":553,"props":85302,"children":85303},{"style":684},[85304],{"type":431,"value":85254},{"type":426,"tag":553,"props":85306,"children":85307},{"class":555,"line":2013},[85308,85312,85317],{"type":426,"tag":553,"props":85309,"children":85310},{"style":795},[85311],{"type":431,"value":1659},{"type":426,"tag":553,"props":85313,"children":85314},{"style":572},[85315],{"type":431,"value":85316}," \"I've noted your request. Our team will reply within 1 business hour! 🙏\"",{"type":426,"tag":553,"props":85318,"children":85319},{"style":684},[85320],{"type":431,"value":52321},{"type":426,"tag":553,"props":85322,"children":85323},{"class":555,"line":2055},[85324],{"type":426,"tag":553,"props":85325,"children":85326},{"style":684},[85327],{"type":431,"value":60547},{"type":426,"tag":553,"props":85329,"children":85330},{"class":555,"line":2064},[85331,85335,85339],{"type":426,"tag":553,"props":85332,"children":85333},{"style":795},[85334],{"type":431,"value":52393},{"type":426,"tag":553,"props":85336,"children":85337},{"style":566},[85338],{"type":431,"value":62188},{"type":426,"tag":553,"props":85340,"children":85341},{"style":684},[85342],{"type":431,"value":52321},{"type":426,"tag":553,"props":85344,"children":85345},{"class":555,"line":2087},[85346],{"type":426,"tag":553,"props":85347,"children":85348},{"style":684},[85349],{"type":431,"value":756},{"type":426,"tag":553,"props":85351,"children":85352},{"class":555,"line":2096},[85353],{"type":426,"tag":553,"props":85354,"children":85355},{"emptyLinePlaceholder":831},[85356],{"type":431,"value":834},{"type":426,"tag":553,"props":85358,"children":85359},{"class":555,"line":2105},[85360,85364,85368,85372,85376,85380,85384,85388],{"type":426,"tag":553,"props":85361,"children":85362},{"style":795},[85363],{"type":431,"value":52361},{"type":426,"tag":553,"props":85365,"children":85366},{"style":795},[85367],{"type":431,"value":52366},{"type":426,"tag":553,"props":85369,"children":85370},{"style":560},[85371],{"type":431,"value":84946},{"type":426,"tag":553,"props":85373,"children":85374},{"style":684},[85375],{"type":431,"value":3275},{"type":426,"tag":553,"props":85377,"children":85378},{"style":1684},[85379],{"type":431,"value":37598},{"type":426,"tag":553,"props":85381,"children":85382},{"style":684},[85383],{"type":431,"value":1907},{"type":426,"tag":553,"props":85385,"children":85386},{"style":1684},[85387],{"type":431,"value":2734},{"type":426,"tag":553,"props":85389,"children":85390},{"style":684},[85391],{"type":431,"value":52385},{"type":426,"tag":553,"props":85393,"children":85394},{"class":555,"line":2114},[85395,85400],{"type":426,"tag":553,"props":85396,"children":85397},{"style":795},[85398],{"type":431,"value":85399},"  try",{"type":426,"tag":553,"props":85401,"children":85402},{"style":684},[85403],{"type":431,"value":5458},{"type":426,"tag":553,"props":85405,"children":85406},{"class":555,"line":2123},[85407,85412,85417,85421,85425,85429,85433,85437],{"type":426,"tag":553,"props":85408,"children":85409},{"style":795},[85410],{"type":431,"value":85411},"    const",{"type":426,"tag":553,"props":85413,"children":85414},{"style":566},[85415],{"type":431,"value":85416}," res",{"type":426,"tag":553,"props":85418,"children":85419},{"style":795},[85420],{"type":431,"value":8739},{"type":426,"tag":553,"props":85422,"children":85423},{"style":795},[85424],{"type":431,"value":53070},{"type":426,"tag":553,"props":85426,"children":85427},{"style":560},[85428],{"type":431,"value":52226},{"type":426,"tag":553,"props":85430,"children":85431},{"style":684},[85432],{"type":431,"value":3275},{"type":426,"tag":553,"props":85434,"children":85435},{"style":572},[85436],{"type":431,"value":55802},{"type":426,"tag":553,"props":85438,"children":85439},{"style":684},[85440],{"type":431,"value":53088},{"type":426,"tag":553,"props":85442,"children":85443},{"class":555,"line":2132},[85444,85449,85453],{"type":426,"tag":553,"props":85445,"children":85446},{"style":684},[85447],{"type":431,"value":85448},"      method: ",{"type":426,"tag":553,"props":85450,"children":85451},{"style":572},[85452],{"type":431,"value":8056},{"type":426,"tag":553,"props":85454,"children":85455},{"style":684},[85456],{"type":431,"value":710},{"type":426,"tag":553,"props":85458,"children":85459},{"class":555,"line":2151},[85460],{"type":426,"tag":553,"props":85461,"children":85462},{"style":684},[85463],{"type":431,"value":85464},"      headers: {\n",{"type":426,"tag":553,"props":85466,"children":85467},{"class":555,"line":2160},[85468,85473,85477,85481,85485,85489],{"type":426,"tag":553,"props":85469,"children":85470},{"style":572},[85471],{"type":431,"value":85472},"        'Authorization'",{"type":426,"tag":553,"props":85474,"children":85475},{"style":684},[85476],{"type":431,"value":700},{"type":426,"tag":553,"props":85478,"children":85479},{"style":572},[85480],{"type":431,"value":53129},{"type":426,"tag":553,"props":85482,"children":85483},{"style":566},[85484],{"type":431,"value":7156},{"type":426,"tag":553,"props":85486,"children":85487},{"style":572},[85488],{"type":431,"value":52718},{"type":426,"tag":553,"props":85490,"children":85491},{"style":684},[85492],{"type":431,"value":710},{"type":426,"tag":553,"props":85494,"children":85495},{"class":555,"line":2174},[85496,85501,85505],{"type":426,"tag":553,"props":85497,"children":85498},{"style":572},[85499],{"type":431,"value":85500},"        'Content-Type'",{"type":426,"tag":553,"props":85502,"children":85503},{"style":684},[85504],{"type":431,"value":700},{"type":426,"tag":553,"props":85506,"children":85507},{"style":572},[85508],{"type":431,"value":53158},{"type":426,"tag":553,"props":85510,"children":85511},{"class":555,"line":2182},[85512],{"type":426,"tag":553,"props":85513,"children":85514},{"style":684},[85515],{"type":431,"value":85516},"      },\n",{"type":426,"tag":553,"props":85518,"children":85519},{"class":555,"line":2205},[85520,85525,85529,85533,85537],{"type":426,"tag":553,"props":85521,"children":85522},{"style":684},[85523],{"type":431,"value":85524},"      body: ",{"type":426,"tag":553,"props":85526,"children":85527},{"style":566},[85528],{"type":431,"value":53178},{"type":426,"tag":553,"props":85530,"children":85531},{"style":684},[85532],{"type":431,"value":6789},{"type":426,"tag":553,"props":85534,"children":85535},{"style":560},[85536],{"type":431,"value":53187},{"type":426,"tag":553,"props":85538,"children":85539},{"style":684},[85540],{"type":431,"value":55908},{"type":426,"tag":553,"props":85542,"children":85543},{"class":555,"line":2241},[85544],{"type":426,"tag":553,"props":85545,"children":85546},{"style":684},[85547],{"type":431,"value":85548},"    });\n",{"type":426,"tag":553,"props":85550,"children":85551},{"class":555,"line":2250},[85552,85556,85560,85564,85568,85572,85576],{"type":426,"tag":553,"props":85553,"children":85554},{"style":795},[85555],{"type":431,"value":85411},{"type":426,"tag":553,"props":85557,"children":85558},{"style":566},[85559],{"type":431,"value":53508},{"type":426,"tag":553,"props":85561,"children":85562},{"style":795},[85563],{"type":431,"value":8739},{"type":426,"tag":553,"props":85565,"children":85566},{"style":795},[85567],{"type":431,"value":53070},{"type":426,"tag":553,"props":85569,"children":85570},{"style":684},[85571],{"type":431,"value":61715},{"type":426,"tag":553,"props":85573,"children":85574},{"style":560},[85575],{"type":431,"value":673},{"type":426,"tag":553,"props":85577,"children":85578},{"style":684},[85579],{"type":431,"value":53227},{"type":426,"tag":553,"props":85581,"children":85582},{"class":555,"line":2302},[85583,85588,85592,85596,85601,85605,85610],{"type":426,"tag":553,"props":85584,"children":85585},{"style":684},[85586],{"type":431,"value":85587},"    console.",{"type":426,"tag":553,"props":85589,"children":85590},{"style":560},[85591],{"type":431,"value":53719},{"type":426,"tag":553,"props":85593,"children":85594},{"style":684},[85595],{"type":431,"value":3275},{"type":426,"tag":553,"props":85597,"children":85598},{"style":572},[85599],{"type":431,"value":85600},"`Reply to ${",{"type":426,"tag":553,"props":85602,"children":85603},{"style":684},[85604],{"type":431,"value":37598},{"type":426,"tag":553,"props":85606,"children":85607},{"style":572},[85608],{"type":431,"value":85609},"}:`",{"type":426,"tag":553,"props":85611,"children":85612},{"style":684},[85613],{"type":431,"value":56017},{"type":426,"tag":553,"props":85615,"children":85616},{"class":555,"line":2353},[85617,85622,85626],{"type":426,"tag":553,"props":85618,"children":85619},{"style":684},[85620],{"type":431,"value":85621},"  } ",{"type":426,"tag":553,"props":85623,"children":85624},{"style":795},[85625],{"type":431,"value":61750},{"type":426,"tag":553,"props":85627,"children":85628},{"style":684},[85629],{"type":431,"value":85630}," (err) {\n",{"type":426,"tag":553,"props":85632,"children":85633},{"class":555,"line":2390},[85634,85638,85642,85646,85651],{"type":426,"tag":553,"props":85635,"children":85636},{"style":684},[85637],{"type":431,"value":85587},{"type":426,"tag":553,"props":85639,"children":85640},{"style":560},[85641],{"type":431,"value":70759},{"type":426,"tag":553,"props":85643,"children":85644},{"style":684},[85645],{"type":431,"value":3275},{"type":426,"tag":553,"props":85647,"children":85648},{"style":572},[85649],{"type":431,"value":85650},"'Send failed:'",{"type":426,"tag":553,"props":85652,"children":85653},{"style":684},[85654],{"type":431,"value":85655},", err.message);\n",{"type":426,"tag":553,"props":85657,"children":85658},{"class":555,"line":2440},[85659],{"type":426,"tag":553,"props":85660,"children":85661},{"style":684},[85662],{"type":431,"value":60547},{"type":426,"tag":553,"props":85664,"children":85665},{"class":555,"line":2488},[85666],{"type":426,"tag":553,"props":85667,"children":85668},{"style":684},[85669],{"type":431,"value":756},{"type":426,"tag":553,"props":85671,"children":85672},{"class":555,"line":2509},[85673],{"type":426,"tag":553,"props":85674,"children":85675},{"emptyLinePlaceholder":831},[85676],{"type":431,"value":834},{"type":426,"tag":553,"props":85678,"children":85679},{"class":555,"line":2527},[85680,85684,85689,85693,85697,85702,85706,85710,85714,85718,85723],{"type":426,"tag":553,"props":85681,"children":85682},{"style":684},[85683],{"type":431,"value":84565},{"type":426,"tag":553,"props":85685,"children":85686},{"style":560},[85687],{"type":431,"value":85688},"listen",{"type":426,"tag":553,"props":85690,"children":85691},{"style":684},[85692],{"type":431,"value":3275},{"type":426,"tag":553,"props":85694,"children":85695},{"style":566},[85696],{"type":431,"value":65954},{"type":426,"tag":553,"props":85698,"children":85699},{"style":684},[85700],{"type":431,"value":85701},", () ",{"type":426,"tag":553,"props":85703,"children":85704},{"style":795},[85705],{"type":431,"value":74581},{"type":426,"tag":553,"props":85707,"children":85708},{"style":684},[85709],{"type":431,"value":53714},{"type":426,"tag":553,"props":85711,"children":85712},{"style":560},[85713],{"type":431,"value":53719},{"type":426,"tag":553,"props":85715,"children":85716},{"style":684},[85717],{"type":431,"value":3275},{"type":426,"tag":553,"props":85719,"children":85720},{"style":572},[85721],{"type":431,"value":85722},"'Webhook server listening on port 3000'",{"type":426,"tag":553,"props":85724,"children":85725},{"style":684},[85726],{"type":431,"value":61669},{"type":426,"tag":434,"props":85728,"children":85730},{"id":85729},"registering-your-webhook-in-rapiwa",[85731],{"type":431,"value":85732},"Registering Your Webhook in Rapiwa",{"type":426,"tag":427,"props":85734,"children":85735},{},[85736],{"type":431,"value":85737},"Once your server is deployed to a public URL:",{"type":426,"tag":6331,"props":85739,"children":85740},{},[85741,85746,85756,85765,85774,85784],{"type":426,"tag":458,"props":85742,"children":85743},{},[85744],{"type":431,"value":85745},"Log in to Rapiwa Dashboard",{"type":426,"tag":458,"props":85747,"children":85748},{},[85749,85751],{"type":431,"value":85750},"Navigate to ",{"type":426,"tag":446,"props":85752,"children":85753},{},[85754],{"type":431,"value":85755},"Settings → Webhooks",{"type":426,"tag":458,"props":85757,"children":85758},{},[85759,85760],{"type":431,"value":47857},{"type":426,"tag":446,"props":85761,"children":85762},{},[85763],{"type":431,"value":85764},"Add Webhook",{"type":426,"tag":458,"props":85766,"children":85767},{},[85768,85769],{"type":431,"value":62466},{"type":426,"tag":549,"props":85770,"children":85772},{"className":85771},[],[85773],{"type":431,"value":66007},{"type":426,"tag":458,"props":85775,"children":85776},{},[85777,85779],{"type":431,"value":85778},"Events: select ",{"type":426,"tag":549,"props":85780,"children":85782},{"className":85781},[],[85783],{"type":431,"value":7956},{"type":426,"tag":458,"props":85785,"children":85786},{},[85787,85788],{"type":431,"value":47857},{"type":426,"tag":446,"props":85789,"children":85790},{},[85791],{"type":431,"value":66022},{"type":426,"tag":427,"props":85793,"children":85794},{},[85795],{"type":431,"value":85796},"Test by sending a WhatsApp message to your Rapiwa number.",{"type":426,"tag":434,"props":85798,"children":85800},{"id":85799},"testing-locally-with-ngrok",[85801],{"type":431,"value":85802},"Testing Locally with ngrok",{"type":426,"tag":542,"props":85804,"children":85806},{"className":546,"code":85805,"language":545,"meta":417,"style":417},"# Install ngrok and run\nngrok http 3000\n\n# ngrok gives you a public URL like:\n# https:\u002F\u002Fabc123.ngrok.io → localhost:3000\n\n# Register https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook\u002Fwhatsapp in Rapiwa Dashboard\n",[85807],{"type":426,"tag":549,"props":85808,"children":85809},{"__ignoreMap":417},[85810,85818,85836,85843,85851,85859,85866],{"type":426,"tag":553,"props":85811,"children":85812},{"class":555,"line":556},[85813],{"type":426,"tag":553,"props":85814,"children":85815},{"style":1975},[85816],{"type":431,"value":85817},"# Install ngrok and run\n",{"type":426,"tag":553,"props":85819,"children":85820},{"class":555,"line":588},[85821,85826,85831],{"type":426,"tag":553,"props":85822,"children":85823},{"style":560},[85824],{"type":431,"value":85825},"ngrok",{"type":426,"tag":553,"props":85827,"children":85828},{"style":572},[85829],{"type":431,"value":85830}," http",{"type":426,"tag":553,"props":85832,"children":85833},{"style":566},[85834],{"type":431,"value":85835}," 3000\n",{"type":426,"tag":553,"props":85837,"children":85838},{"class":555,"line":606},[85839],{"type":426,"tag":553,"props":85840,"children":85841},{"emptyLinePlaceholder":831},[85842],{"type":431,"value":834},{"type":426,"tag":553,"props":85844,"children":85845},{"class":555,"line":623},[85846],{"type":426,"tag":553,"props":85847,"children":85848},{"style":1975},[85849],{"type":431,"value":85850},"# ngrok gives you a public URL like:\n",{"type":426,"tag":553,"props":85852,"children":85853},{"class":555,"line":637},[85854],{"type":426,"tag":553,"props":85855,"children":85856},{"style":1975},[85857],{"type":431,"value":85858},"# https:\u002F\u002Fabc123.ngrok.io → localhost:3000\n",{"type":426,"tag":553,"props":85860,"children":85861},{"class":555,"line":646},[85862],{"type":426,"tag":553,"props":85863,"children":85864},{"emptyLinePlaceholder":831},[85865],{"type":431,"value":834},{"type":426,"tag":553,"props":85867,"children":85868},{"class":555,"line":655},[85869],{"type":426,"tag":553,"props":85870,"children":85871},{"style":1975},[85872],{"type":431,"value":85873},"# Register https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook\u002Fwhatsapp in Rapiwa Dashboard\n",{"type":426,"tag":434,"props":85875,"children":85877},{"id":85876},"handling-different-message-types",[85878],{"type":431,"value":85879},"Handling Different Message Types",{"type":426,"tag":542,"props":85881,"children":85883},{"className":785,"code":85882,"language":784,"meta":417,"style":417},"def process_message(data: dict) -> None:\n    message_type = data.get('messageType')\n\n    handlers = {\n        'text': handle_text,\n        'image': handle_image,\n        'document': handle_document,\n        'audio': handle_audio,\n        'video': handle_video,\n        'location': handle_location,\n        'contact': handle_contact,\n    }\n\n    handler = handlers.get(message_type, handle_unknown)\n    handler(data)\n",[85884],{"type":426,"tag":549,"props":85885,"children":85886},{"__ignoreMap":417},[85887,85918,85941,85948,85964,85977,85990,86003,86016,86029,86041,86054,86061,86068,86085],{"type":426,"tag":553,"props":85888,"children":85889},{"class":555,"line":556},[85890,85894,85898,85902,85906,85910,85914],{"type":426,"tag":553,"props":85891,"children":85892},{"style":795},[85893],{"type":431,"value":842},{"type":426,"tag":553,"props":85895,"children":85896},{"style":560},[85897],{"type":431,"value":82386},{"type":426,"tag":553,"props":85899,"children":85900},{"style":684},[85901],{"type":431,"value":8278},{"type":426,"tag":553,"props":85903,"children":85904},{"style":566},[85905],{"type":431,"value":857},{"type":426,"tag":553,"props":85907,"children":85908},{"style":684},[85909],{"type":431,"value":900},{"type":426,"tag":553,"props":85911,"children":85912},{"style":566},[85913],{"type":431,"value":1840},{"type":426,"tag":553,"props":85915,"children":85916},{"style":684},[85917],{"type":431,"value":909},{"type":426,"tag":553,"props":85919,"children":85920},{"class":555,"line":588},[85921,85925,85929,85933,85937],{"type":426,"tag":553,"props":85922,"children":85923},{"style":684},[85924],{"type":431,"value":65195},{"type":426,"tag":553,"props":85926,"children":85927},{"style":795},[85928],{"type":431,"value":957},{"type":426,"tag":553,"props":85930,"children":85931},{"style":684},[85932],{"type":431,"value":8311},{"type":426,"tag":553,"props":85934,"children":85935},{"style":572},[85936],{"type":431,"value":65208},{"type":426,"tag":553,"props":85938,"children":85939},{"style":684},[85940],{"type":431,"value":3262},{"type":426,"tag":553,"props":85942,"children":85943},{"class":555,"line":606},[85944],{"type":426,"tag":553,"props":85945,"children":85946},{"emptyLinePlaceholder":831},[85947],{"type":431,"value":834},{"type":426,"tag":553,"props":85949,"children":85950},{"class":555,"line":623},[85951,85956,85960],{"type":426,"tag":553,"props":85952,"children":85953},{"style":684},[85954],{"type":431,"value":85955},"    handlers ",{"type":426,"tag":553,"props":85957,"children":85958},{"style":795},[85959],{"type":431,"value":957},{"type":426,"tag":553,"props":85961,"children":85962},{"style":684},[85963],{"type":431,"value":5458},{"type":426,"tag":553,"props":85965,"children":85966},{"class":555,"line":637},[85967,85972],{"type":426,"tag":553,"props":85968,"children":85969},{"style":572},[85970],{"type":431,"value":85971},"        'text'",{"type":426,"tag":553,"props":85973,"children":85974},{"style":684},[85975],{"type":431,"value":85976},": handle_text,\n",{"type":426,"tag":553,"props":85978,"children":85979},{"class":555,"line":646},[85980,85985],{"type":426,"tag":553,"props":85981,"children":85982},{"style":572},[85983],{"type":431,"value":85984},"        'image'",{"type":426,"tag":553,"props":85986,"children":85987},{"style":684},[85988],{"type":431,"value":85989},": handle_image,\n",{"type":426,"tag":553,"props":85991,"children":85992},{"class":555,"line":655},[85993,85998],{"type":426,"tag":553,"props":85994,"children":85995},{"style":572},[85996],{"type":431,"value":85997},"        'document'",{"type":426,"tag":553,"props":85999,"children":86000},{"style":684},[86001],{"type":431,"value":86002},": handle_document,\n",{"type":426,"tag":553,"props":86004,"children":86005},{"class":555,"line":1036},[86006,86011],{"type":426,"tag":553,"props":86007,"children":86008},{"style":572},[86009],{"type":431,"value":86010},"        'audio'",{"type":426,"tag":553,"props":86012,"children":86013},{"style":684},[86014],{"type":431,"value":86015},": handle_audio,\n",{"type":426,"tag":553,"props":86017,"children":86018},{"class":555,"line":1054},[86019,86024],{"type":426,"tag":553,"props":86020,"children":86021},{"style":572},[86022],{"type":431,"value":86023},"        'video'",{"type":426,"tag":553,"props":86025,"children":86026},{"style":684},[86027],{"type":431,"value":86028},": handle_video,\n",{"type":426,"tag":553,"props":86030,"children":86031},{"class":555,"line":1080},[86032,86036],{"type":426,"tag":553,"props":86033,"children":86034},{"style":572},[86035],{"type":431,"value":44124},{"type":426,"tag":553,"props":86037,"children":86038},{"style":684},[86039],{"type":431,"value":86040},": handle_location,\n",{"type":426,"tag":553,"props":86042,"children":86043},{"class":555,"line":1097},[86044,86049],{"type":426,"tag":553,"props":86045,"children":86046},{"style":572},[86047],{"type":431,"value":86048},"        'contact'",{"type":426,"tag":553,"props":86050,"children":86051},{"style":684},[86052],{"type":431,"value":86053},": handle_contact,\n",{"type":426,"tag":553,"props":86055,"children":86056},{"class":555,"line":1114},[86057],{"type":426,"tag":553,"props":86058,"children":86059},{"style":684},[86060],{"type":431,"value":5546},{"type":426,"tag":553,"props":86062,"children":86063},{"class":555,"line":1127},[86064],{"type":426,"tag":553,"props":86065,"children":86066},{"emptyLinePlaceholder":831},[86067],{"type":431,"value":834},{"type":426,"tag":553,"props":86069,"children":86070},{"class":555,"line":1167},[86071,86076,86080],{"type":426,"tag":553,"props":86072,"children":86073},{"style":684},[86074],{"type":431,"value":86075},"    handler ",{"type":426,"tag":553,"props":86077,"children":86078},{"style":795},[86079],{"type":431,"value":957},{"type":426,"tag":553,"props":86081,"children":86082},{"style":684},[86083],{"type":431,"value":86084}," handlers.get(message_type, handle_unknown)\n",{"type":426,"tag":553,"props":86086,"children":86087},{"class":555,"line":1184},[86088],{"type":426,"tag":553,"props":86089,"children":86090},{"style":684},[86091],{"type":431,"value":86092},"    handler(data)\n",{"type":426,"tag":434,"props":86094,"children":86095},{"id":18886},[86096],{"type":431,"value":18889},{"type":426,"tag":454,"props":86098,"children":86099},{},[86100,86116,86133,86150],{"type":426,"tag":458,"props":86101,"children":86102},{},[86103,86108,86110],{"type":426,"tag":446,"props":86104,"children":86105},{},[86106],{"type":431,"value":86107},"Rapiwa webhook fires but server returns 404",{"type":431,"value":86109},": Check your server route is correctly defined at ",{"type":426,"tag":549,"props":86111,"children":86113},{"className":86112},[],[86114],{"type":431,"value":86115},"\u002Fwebhook\u002Fwhatsapp",{"type":426,"tag":458,"props":86117,"children":86118},{},[86119,86124,86126,86131],{"type":426,"tag":446,"props":86120,"children":86121},{},[86122],{"type":431,"value":86123},"Webhook timing out",{"type":431,"value":86125},": Rapiwa expects a response within ~10 seconds. Return ",{"type":426,"tag":549,"props":86127,"children":86129},{"className":86128},[],[86130],{"type":431,"value":7930},{"type":431,"value":86132}," immediately, then process in background",{"type":426,"tag":458,"props":86134,"children":86135},{},[86136,86141,86143,86148],{"type":426,"tag":446,"props":86137,"children":86138},{},[86139],{"type":431,"value":86140},"Duplicate messages",{"type":431,"value":86142},": Implement idempotency by checking ",{"type":426,"tag":549,"props":86144,"children":86146},{"className":86145},[],[86147],{"type":431,"value":8253},{"type":431,"value":86149}," in a database before processing",{"type":426,"tag":458,"props":86151,"children":86152},{},[86153,86158],{"type":426,"tag":446,"props":86154,"children":86155},{},[86156],{"type":431,"value":86157},"Webhook not firing at all",{"type":431,"value":86159},": Verify the webhook URL is registered in Rapiwa Dashboard and the n8n\u002Fserver is accessible from the internet",{"type":426,"tag":434,"props":86161,"children":86162},{"id":4109},[86163],{"type":431,"value":4112},{"type":426,"tag":427,"props":86165,"children":86166},{},[86167,86172],{"type":426,"tag":446,"props":86168,"children":86169},{},[86170],{"type":431,"value":86171},"How quickly does Rapiwa fire webhooks after a message is received?",{"type":431,"value":86173},"\nRapiwa delivers webhook events within milliseconds of receiving a message — typically under 500ms.",{"type":426,"tag":427,"props":86175,"children":86176},{},[86177,86182],{"type":426,"tag":446,"props":86178,"children":86179},{},[86180],{"type":431,"value":86181},"Does Rapiwa retry failed webhooks?",{"type":431,"value":86183},"\nYes. If your server returns a non-200 status or doesn't respond, Rapiwa retries with exponential backoff.",{"type":426,"tag":427,"props":86185,"children":86186},{},[86187,86192,86194,86200],{"type":426,"tag":446,"props":86188,"children":86189},{},[86190],{"type":431,"value":86191},"Can I receive webhooks for multiple WhatsApp numbers on the same URL?",{"type":431,"value":86193},"\nYes. The webhook payload includes ",{"type":426,"tag":549,"props":86195,"children":86197},{"className":86196},[],[86198],{"type":431,"value":86199},"data.to",{"type":431,"value":86201}," (your WhatsApp number) so you can route logic based on which number received the message.",{"type":426,"tag":427,"props":86203,"children":86204},{},[86205,86210],{"type":426,"tag":446,"props":86206,"children":86207},{},[86208],{"type":431,"value":86209},"Do I need to handle verification challenges like Facebook webhooks?",{"type":431,"value":86211},"\nRapiwa does not use a verification challenge for webhook registration — just register the URL directly. Validate incoming requests by checking the payload structure.",{"type":426,"tag":427,"props":86213,"children":86214},{},[86215,86220],{"type":426,"tag":446,"props":86216,"children":86217},{},[86218],{"type":431,"value":86219},"Does Rapiwa charge for incoming webhook events?",{"type":431,"value":86221},"\nNo. Webhooks are included in all Rapiwa plans at no extra cost.",{"type":426,"tag":4164,"props":86223,"children":86224},{},[86225],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":86227},[86228,86229,86230,86231,86232,86233,86234,86235,86236,86237],{"id":81571,"depth":588,"text":81574},{"id":47624,"depth":588,"text":47627},{"id":81837,"depth":588,"text":81840},{"id":83453,"depth":588,"text":83456},{"id":84429,"depth":588,"text":84432},{"id":85729,"depth":588,"text":85732},{"id":85799,"depth":588,"text":85802},{"id":85876,"depth":588,"text":85879},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:receive-whatsapp-messages-webhook-rapiwa.md","blog\u002Freceive-whatsapp-messages-webhook-rapiwa.md","blog\u002Freceive-whatsapp-messages-webhook-rapiwa",{"loc":109},{"_path":113,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":114,"description":115,"date":86243,"author":18999,"category":22,"_slug":86244,"image":86245,"body":86246,"_type":4187,"_id":90813,"_source":4189,"_file":90814,"_stem":90815,"_extension":4192,"sitemap":90816},"2026-02-27","whatsapp-api-php-tutorial-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-php-tutorial-rapiwa.svg",{"type":423,"children":86247,"toc":90802},[86248,86260,86266,86271,86316,86320,86354,86360,86365,87370,87377,87385,87391,87396,87420,88764,88770,88775,89719,89725,89737,90385,90391,90402,90497,90505,90644,90648,90705,90709,90727,90736,90746,90788,90798],{"type":426,"tag":427,"props":86249,"children":86250},{},[86251,86253,86258],{"type":431,"value":86252},"You can send WhatsApp messages in PHP using the Rapiwa API with a single cURL call. Send a POST request to ",{"type":426,"tag":549,"props":86254,"children":86256},{"className":86255},[],[86257],{"type":431,"value":48098},{"type":431,"value":86259}," with your API key, phone number, and message. This tutorial covers native PHP cURL, Guzzle HTTP Client, and GuzzleHTTP with retry logic. Rapiwa costs $5\u002Fmonth flat with no per-message fees — no framework required.",{"type":426,"tag":434,"props":86261,"children":86263},{"id":86262},"what-is-rapiwas-php-api",[86264],{"type":431,"value":86265},"What Is Rapiwa's PHP API?",{"type":426,"tag":427,"props":86267,"children":86268},{},[86269],{"type":431,"value":86270},"Rapiwa provides a REST API that accepts standard HTTP POST requests. Any PHP script that can make HTTP requests can send WhatsApp messages. You do not need a WhatsApp Business account, Meta verification, or per-message fees.",{"type":426,"tag":427,"props":86272,"children":86273},{},[86274,86279,86280,86285,86290,86291,86296,86301,86302,86307,86309,86314],{"type":426,"tag":446,"props":86275,"children":86276},{},[86277],{"type":431,"value":86278},"API endpoint",{"type":431,"value":700},{"type":426,"tag":549,"props":86281,"children":86283},{"className":86282},[],[86284],{"type":431,"value":7216},{"type":426,"tag":446,"props":86286,"children":86287},{},[86288],{"type":431,"value":86289},"Authentication",{"type":431,"value":700},{"type":426,"tag":549,"props":86292,"children":86294},{"className":86293},[],[86295],{"type":431,"value":10711},{"type":426,"tag":446,"props":86297,"children":86298},{},[86299],{"type":431,"value":86300},"Required fields",{"type":431,"value":700},{"type":426,"tag":549,"props":86303,"children":86305},{"className":86304},[],[86306],{"type":431,"value":39195},{"type":431,"value":86308}," (international format), ",{"type":426,"tag":549,"props":86310,"children":86312},{"className":86311},[],[86313],{"type":431,"value":2734},{"type":431,"value":86315}," (text string)",{"type":426,"tag":434,"props":86317,"children":86318},{"id":47624},[86319],{"type":431,"value":47627},{"type":426,"tag":454,"props":86321,"children":86322},{},[86323,86333,86337,86342],{"type":426,"tag":458,"props":86324,"children":86325},{},[86326,86327,86332],{"type":431,"value":48828},{"type":426,"tag":3819,"props":86328,"children":86330},{"href":3821,"rel":86329},[3823],[86331],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":86334,"children":86335},{},[86336],{"type":431,"value":48840},{"type":426,"tag":458,"props":86338,"children":86339},{},[86340],{"type":431,"value":86341},"PHP 7.4 or higher",{"type":426,"tag":458,"props":86343,"children":86344},{},[86345,86347,86352],{"type":431,"value":86346},"The ",{"type":426,"tag":549,"props":86348,"children":86350},{"className":86349},[],[86351],{"type":431,"value":563},{"type":431,"value":86353}," PHP extension enabled (enabled by default in most PHP installations)",{"type":426,"tag":434,"props":86355,"children":86357},{"id":86356},"method-1-native-php-curl-no-dependencies",[86358],{"type":431,"value":86359},"Method 1: Native PHP cURL (No Dependencies)",{"type":426,"tag":427,"props":86361,"children":86362},{},[86363],{"type":431,"value":86364},"This works in any PHP environment:",{"type":426,"tag":542,"props":86366,"children":86368},{"code":86367,"language":79950,"meta":417,"className":79948,"style":417},"\u003C?php\n\nfunction sendWhatsApp(string $phone, string $message, string $apiKey): array\n{\n    $ch = curl_init('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message');\n\n    curl_setopt_array($ch, [\n        CURLOPT_RETURNTRANSFER => true,\n        CURLOPT_POST           => true,\n        CURLOPT_TIMEOUT        => 15,\n        CURLOPT_HTTPHEADER     => [\n            \"Authorization: Bearer {$apiKey}\",\n            'Content-Type: application\u002Fjson',\n        ],\n        CURLOPT_POSTFIELDS => json_encode([\n            'number'  => $phone,\n            'message' => $message,\n        ]),\n    ]);\n\n    $response = curl_exec($ch);\n    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n\n    if (curl_errno($ch)) {\n        $error = curl_error($ch);\n        curl_close($ch);\n        throw new \\RuntimeException(\"cURL error: {$error}\");\n    }\n\n    curl_close($ch);\n\n    $result = json_decode($response, true);\n\n    if ($httpCode === 401) {\n        throw new \\InvalidArgumentException('Invalid API key. Check your Rapiwa Dashboard → API Keys.');\n    }\n\n    if ($httpCode === 400) {\n        throw new \\InvalidArgumentException('Bad request: ' . json_encode($result));\n    }\n\n    return $result;\n}\n\n\u002F\u002F Usage\n$apiKey = 'YOUR_RAPIWA_API_KEY';\n\ntry {\n    $result = sendWhatsApp(\n        phone: '8801234567890',    \u002F\u002F Bangladesh number\n        message: \"Hello from PHP! This message was sent using Rapiwa API.\",\n        apiKey: $apiKey\n    );\n\n    if ($result['status'] === 'success') {\n        echo \"Message sent! ID: {$result['messageId']}\\n\";\n    }\n} catch (\\Exception $e) {\n    echo \"Error: \" . $e->getMessage() . \"\\n\";\n}\n",[86369],{"type":426,"tag":549,"props":86370,"children":86371},{"__ignoreMap":417},[86372,86385,86392,86443,86450,86477,86484,86495,86514,86534,86556,86572,86593,86605,86612,86631,86647,86663,86671,86678,86685,86706,86737,86744,86765,86786,86798,86837,86844,86851,86862,86869,86897,86904,86928,86957,86964,86971,86994,87032,87039,87046,87057,87064,87071,87078,87098,87105,87117,87136,87161,87181,87194,87201,87208,87240,87275,87282,87308,87363],{"type":426,"tag":553,"props":86373,"children":86374},{"class":555,"line":556},[86375,86380],{"type":426,"tag":553,"props":86376,"children":86377},{"style":795},[86378],{"type":431,"value":86379},"\u003C?",{"type":426,"tag":553,"props":86381,"children":86382},{"style":566},[86383],{"type":431,"value":86384},"php\n",{"type":426,"tag":553,"props":86386,"children":86387},{"class":555,"line":588},[86388],{"type":426,"tag":553,"props":86389,"children":86390},{"emptyLinePlaceholder":831},[86391],{"type":431,"value":834},{"type":426,"tag":553,"props":86393,"children":86394},{"class":555,"line":606},[86395,86399,86404,86408,86412,86416,86420,86425,86429,86434,86438],{"type":426,"tag":553,"props":86396,"children":86397},{"style":795},[86398],{"type":431,"value":79962},{"type":426,"tag":553,"props":86400,"children":86401},{"style":560},[86402],{"type":431,"value":86403}," sendWhatsApp",{"type":426,"tag":553,"props":86405,"children":86406},{"style":684},[86407],{"type":431,"value":3275},{"type":426,"tag":553,"props":86409,"children":86410},{"style":795},[86411],{"type":431,"value":71939},{"type":426,"tag":553,"props":86413,"children":86414},{"style":684},[86415],{"type":431,"value":79980},{"type":426,"tag":553,"props":86417,"children":86418},{"style":795},[86419],{"type":431,"value":71939},{"type":426,"tag":553,"props":86421,"children":86422},{"style":684},[86423],{"type":431,"value":86424}," $message, ",{"type":426,"tag":553,"props":86426,"children":86427},{"style":795},[86428],{"type":431,"value":71939},{"type":426,"tag":553,"props":86430,"children":86431},{"style":684},[86432],{"type":431,"value":86433}," $apiKey)",{"type":426,"tag":553,"props":86435,"children":86436},{"style":795},[86437],{"type":431,"value":19071},{"type":426,"tag":553,"props":86439,"children":86440},{"style":795},[86441],{"type":431,"value":86442}," array\n",{"type":426,"tag":553,"props":86444,"children":86445},{"class":555,"line":623},[86446],{"type":426,"tag":553,"props":86447,"children":86448},{"style":684},[86449],{"type":431,"value":687},{"type":426,"tag":553,"props":86451,"children":86452},{"class":555,"line":637},[86453,86457,86461,86465,86469,86473],{"type":426,"tag":553,"props":86454,"children":86455},{"style":684},[86456],{"type":431,"value":80040},{"type":426,"tag":553,"props":86458,"children":86459},{"style":795},[86460],{"type":431,"value":957},{"type":426,"tag":553,"props":86462,"children":86463},{"style":566},[86464],{"type":431,"value":80049},{"type":426,"tag":553,"props":86466,"children":86467},{"style":684},[86468],{"type":431,"value":3275},{"type":426,"tag":553,"props":86470,"children":86471},{"style":572},[86472],{"type":431,"value":55802},{"type":426,"tag":553,"props":86474,"children":86475},{"style":684},[86476],{"type":431,"value":11379},{"type":426,"tag":553,"props":86478,"children":86479},{"class":555,"line":646},[86480],{"type":426,"tag":553,"props":86481,"children":86482},{"emptyLinePlaceholder":831},[86483],{"type":431,"value":834},{"type":426,"tag":553,"props":86485,"children":86486},{"class":555,"line":655},[86487,86491],{"type":426,"tag":553,"props":86488,"children":86489},{"style":566},[86490],{"type":431,"value":80070},{"type":426,"tag":553,"props":86492,"children":86493},{"style":684},[86494],{"type":431,"value":80075},{"type":426,"tag":553,"props":86496,"children":86497},{"class":555,"line":1036},[86498,86502,86506,86510],{"type":426,"tag":553,"props":86499,"children":86500},{"style":566},[86501],{"type":431,"value":80083},{"type":426,"tag":553,"props":86503,"children":86504},{"style":795},[86505],{"type":431,"value":53709},{"type":426,"tag":553,"props":86507,"children":86508},{"style":566},[86509],{"type":431,"value":80092},{"type":426,"tag":553,"props":86511,"children":86512},{"style":684},[86513],{"type":431,"value":710},{"type":426,"tag":553,"props":86515,"children":86516},{"class":555,"line":1054},[86517,86521,86526,86530],{"type":426,"tag":553,"props":86518,"children":86519},{"style":566},[86520],{"type":431,"value":80104},{"type":426,"tag":553,"props":86522,"children":86523},{"style":795},[86524],{"type":431,"value":86525},"           =>",{"type":426,"tag":553,"props":86527,"children":86528},{"style":566},[86529],{"type":431,"value":80092},{"type":426,"tag":553,"props":86531,"children":86532},{"style":684},[86533],{"type":431,"value":710},{"type":426,"tag":553,"props":86535,"children":86536},{"class":555,"line":1080},[86537,86542,86547,86552],{"type":426,"tag":553,"props":86538,"children":86539},{"style":566},[86540],{"type":431,"value":86541},"        CURLOPT_TIMEOUT",{"type":426,"tag":553,"props":86543,"children":86544},{"style":795},[86545],{"type":431,"value":86546},"        =>",{"type":426,"tag":553,"props":86548,"children":86549},{"style":566},[86550],{"type":431,"value":86551}," 15",{"type":426,"tag":553,"props":86553,"children":86554},{"style":684},[86555],{"type":431,"value":710},{"type":426,"tag":553,"props":86557,"children":86558},{"class":555,"line":1097},[86559,86563,86568],{"type":426,"tag":553,"props":86560,"children":86561},{"style":566},[86562],{"type":431,"value":80124},{"type":426,"tag":553,"props":86564,"children":86565},{"style":795},[86566],{"type":431,"value":86567},"     =>",{"type":426,"tag":553,"props":86569,"children":86570},{"style":684},[86571],{"type":431,"value":80133},{"type":426,"tag":553,"props":86573,"children":86574},{"class":555,"line":1114},[86575,86580,86585,86589],{"type":426,"tag":553,"props":86576,"children":86577},{"style":572},[86578],{"type":431,"value":86579},"            \"Authorization: Bearer {",{"type":426,"tag":553,"props":86581,"children":86582},{"style":684},[86583],{"type":431,"value":86584},"$apiKey",{"type":426,"tag":553,"props":86586,"children":86587},{"style":572},[86588],{"type":431,"value":67316},{"type":426,"tag":553,"props":86590,"children":86591},{"style":684},[86592],{"type":431,"value":710},{"type":426,"tag":553,"props":86594,"children":86595},{"class":555,"line":1127},[86596,86601],{"type":426,"tag":553,"props":86597,"children":86598},{"style":572},[86599],{"type":431,"value":86600},"            'Content-Type: application\u002Fjson'",{"type":426,"tag":553,"props":86602,"children":86603},{"style":684},[86604],{"type":431,"value":710},{"type":426,"tag":553,"props":86606,"children":86607},{"class":555,"line":1167},[86608],{"type":426,"tag":553,"props":86609,"children":86610},{"style":684},[86611],{"type":431,"value":80161},{"type":426,"tag":553,"props":86613,"children":86614},{"class":555,"line":1184},[86615,86619,86623,86627],{"type":426,"tag":553,"props":86616,"children":86617},{"style":566},[86618],{"type":431,"value":80169},{"type":426,"tag":553,"props":86620,"children":86621},{"style":795},[86622],{"type":431,"value":53709},{"type":426,"tag":553,"props":86624,"children":86625},{"style":566},[86626],{"type":431,"value":80178},{"type":426,"tag":553,"props":86628,"children":86629},{"style":684},[86630],{"type":431,"value":80183},{"type":426,"tag":553,"props":86632,"children":86633},{"class":555,"line":1192},[86634,86638,86643],{"type":426,"tag":553,"props":86635,"children":86636},{"style":572},[86637],{"type":431,"value":15045},{"type":426,"tag":553,"props":86639,"children":86640},{"style":795},[86641],{"type":431,"value":86642},"  =>",{"type":426,"tag":553,"props":86644,"children":86645},{"style":684},[86646],{"type":431,"value":80199},{"type":426,"tag":553,"props":86648,"children":86649},{"class":555,"line":1210},[86650,86654,86658],{"type":426,"tag":553,"props":86651,"children":86652},{"style":572},[86653],{"type":431,"value":15058},{"type":426,"tag":553,"props":86655,"children":86656},{"style":795},[86657],{"type":431,"value":53709},{"type":426,"tag":553,"props":86659,"children":86660},{"style":684},[86661],{"type":431,"value":86662}," $message,\n",{"type":426,"tag":553,"props":86664,"children":86665},{"class":555,"line":1253},[86666],{"type":426,"tag":553,"props":86667,"children":86668},{"style":684},[86669],{"type":431,"value":86670},"        ]),\n",{"type":426,"tag":553,"props":86672,"children":86673},{"class":555,"line":1302},[86674],{"type":426,"tag":553,"props":86675,"children":86676},{"style":684},[86677],{"type":431,"value":80263},{"type":426,"tag":553,"props":86679,"children":86680},{"class":555,"line":1374},[86681],{"type":426,"tag":553,"props":86682,"children":86683},{"emptyLinePlaceholder":831},[86684],{"type":431,"value":834},{"type":426,"tag":553,"props":86686,"children":86687},{"class":555,"line":1414},[86688,86693,86697,86702],{"type":426,"tag":553,"props":86689,"children":86690},{"style":684},[86691],{"type":431,"value":86692},"    $response ",{"type":426,"tag":553,"props":86694,"children":86695},{"style":795},[86696],{"type":431,"value":957},{"type":426,"tag":553,"props":86698,"children":86699},{"style":566},[86700],{"type":431,"value":86701}," curl_exec",{"type":426,"tag":553,"props":86703,"children":86704},{"style":684},[86705],{"type":431,"value":80315},{"type":426,"tag":553,"props":86707,"children":86708},{"class":555,"line":1479},[86709,86714,86718,86723,86728,86733],{"type":426,"tag":553,"props":86710,"children":86711},{"style":684},[86712],{"type":431,"value":86713},"    $httpCode ",{"type":426,"tag":553,"props":86715,"children":86716},{"style":795},[86717],{"type":431,"value":957},{"type":426,"tag":553,"props":86719,"children":86720},{"style":566},[86721],{"type":431,"value":86722}," curl_getinfo",{"type":426,"tag":553,"props":86724,"children":86725},{"style":684},[86726],{"type":431,"value":86727},"($ch, ",{"type":426,"tag":553,"props":86729,"children":86730},{"style":566},[86731],{"type":431,"value":86732},"CURLINFO_HTTP_CODE",{"type":426,"tag":553,"props":86734,"children":86735},{"style":684},[86736],{"type":431,"value":11379},{"type":426,"tag":553,"props":86738,"children":86739},{"class":555,"line":1517},[86740],{"type":426,"tag":553,"props":86741,"children":86742},{"emptyLinePlaceholder":831},[86743],{"type":431,"value":834},{"type":426,"tag":553,"props":86745,"children":86746},{"class":555,"line":1560},[86747,86751,86755,86760],{"type":426,"tag":553,"props":86748,"children":86749},{"style":795},[86750],{"type":431,"value":925},{"type":426,"tag":553,"props":86752,"children":86753},{"style":684},[86754],{"type":431,"value":5684},{"type":426,"tag":553,"props":86756,"children":86757},{"style":566},[86758],{"type":431,"value":86759},"curl_errno",{"type":426,"tag":553,"props":86761,"children":86762},{"style":684},[86763],{"type":431,"value":86764},"($ch)) {\n",{"type":426,"tag":553,"props":86766,"children":86767},{"class":555,"line":1598},[86768,86773,86777,86782],{"type":426,"tag":553,"props":86769,"children":86770},{"style":684},[86771],{"type":431,"value":86772},"        $error ",{"type":426,"tag":553,"props":86774,"children":86775},{"style":795},[86776],{"type":431,"value":957},{"type":426,"tag":553,"props":86778,"children":86779},{"style":566},[86780],{"type":431,"value":86781}," curl_error",{"type":426,"tag":553,"props":86783,"children":86784},{"style":684},[86785],{"type":431,"value":80315},{"type":426,"tag":553,"props":86787,"children":86788},{"class":555,"line":1636},[86789,86794],{"type":426,"tag":553,"props":86790,"children":86791},{"style":566},[86792],{"type":431,"value":86793},"        curl_close",{"type":426,"tag":553,"props":86795,"children":86796},{"style":684},[86797],{"type":431,"value":80315},{"type":426,"tag":553,"props":86799,"children":86800},{"class":555,"line":1645},[86801,86806,86810,86815,86819,86824,86829,86833],{"type":426,"tag":553,"props":86802,"children":86803},{"style":795},[86804],{"type":431,"value":86805},"        throw",{"type":426,"tag":553,"props":86807,"children":86808},{"style":795},[86809],{"type":431,"value":52275},{"type":426,"tag":553,"props":86811,"children":86812},{"style":566},[86813],{"type":431,"value":86814}," \\RuntimeException",{"type":426,"tag":553,"props":86816,"children":86817},{"style":684},[86818],{"type":431,"value":3275},{"type":426,"tag":553,"props":86820,"children":86821},{"style":572},[86822],{"type":431,"value":86823},"\"cURL error: {",{"type":426,"tag":553,"props":86825,"children":86826},{"style":684},[86827],{"type":431,"value":86828},"$error",{"type":426,"tag":553,"props":86830,"children":86831},{"style":572},[86832],{"type":431,"value":67316},{"type":426,"tag":553,"props":86834,"children":86835},{"style":684},[86836],{"type":431,"value":11379},{"type":426,"tag":553,"props":86838,"children":86839},{"class":555,"line":1653},[86840],{"type":426,"tag":553,"props":86841,"children":86842},{"style":684},[86843],{"type":431,"value":5546},{"type":426,"tag":553,"props":86845,"children":86846},{"class":555,"line":1667},[86847],{"type":426,"tag":553,"props":86848,"children":86849},{"emptyLinePlaceholder":831},[86850],{"type":431,"value":834},{"type":426,"tag":553,"props":86852,"children":86853},{"class":555,"line":1680},[86854,86858],{"type":426,"tag":553,"props":86855,"children":86856},{"style":566},[86857],{"type":431,"value":80310},{"type":426,"tag":553,"props":86859,"children":86860},{"style":684},[86861],{"type":431,"value":80315},{"type":426,"tag":553,"props":86863,"children":86864},{"class":555,"line":1740},[86865],{"type":426,"tag":553,"props":86866,"children":86867},{"emptyLinePlaceholder":831},[86868],{"type":431,"value":834},{"type":426,"tag":553,"props":86870,"children":86871},{"class":555,"line":1787},[86872,86876,86880,86884,86889,86893],{"type":426,"tag":553,"props":86873,"children":86874},{"style":684},[86875],{"type":431,"value":80271},{"type":426,"tag":553,"props":86877,"children":86878},{"style":795},[86879],{"type":431,"value":957},{"type":426,"tag":553,"props":86881,"children":86882},{"style":566},[86883],{"type":431,"value":80280},{"type":426,"tag":553,"props":86885,"children":86886},{"style":684},[86887],{"type":431,"value":86888},"($response, ",{"type":426,"tag":553,"props":86890,"children":86891},{"style":566},[86892],{"type":431,"value":48523},{"type":426,"tag":553,"props":86894,"children":86895},{"style":684},[86896],{"type":431,"value":11379},{"type":426,"tag":553,"props":86898,"children":86899},{"class":555,"line":1796},[86900],{"type":426,"tag":553,"props":86901,"children":86902},{"emptyLinePlaceholder":831},[86903],{"type":431,"value":834},{"type":426,"tag":553,"props":86905,"children":86906},{"class":555,"line":1804},[86907,86911,86916,86920,86924],{"type":426,"tag":553,"props":86908,"children":86909},{"style":795},[86910],{"type":431,"value":925},{"type":426,"tag":553,"props":86912,"children":86913},{"style":684},[86914],{"type":431,"value":86915}," ($httpCode ",{"type":426,"tag":553,"props":86917,"children":86918},{"style":795},[86919],{"type":431,"value":55042},{"type":426,"tag":553,"props":86921,"children":86922},{"style":566},[86923],{"type":431,"value":8994},{"type":426,"tag":553,"props":86925,"children":86926},{"style":684},[86927],{"type":431,"value":52385},{"type":426,"tag":553,"props":86929,"children":86930},{"class":555,"line":1812},[86931,86935,86939,86944,86948,86953],{"type":426,"tag":553,"props":86932,"children":86933},{"style":795},[86934],{"type":431,"value":86805},{"type":426,"tag":553,"props":86936,"children":86937},{"style":795},[86938],{"type":431,"value":52275},{"type":426,"tag":553,"props":86940,"children":86941},{"style":566},[86942],{"type":431,"value":86943}," \\InvalidArgumentException",{"type":426,"tag":553,"props":86945,"children":86946},{"style":684},[86947],{"type":431,"value":3275},{"type":426,"tag":553,"props":86949,"children":86950},{"style":572},[86951],{"type":431,"value":86952},"'Invalid API key. Check your Rapiwa Dashboard → API Keys.'",{"type":426,"tag":553,"props":86954,"children":86955},{"style":684},[86956],{"type":431,"value":11379},{"type":426,"tag":553,"props":86958,"children":86959},{"class":555,"line":1847},[86960],{"type":426,"tag":553,"props":86961,"children":86962},{"style":684},[86963],{"type":431,"value":5546},{"type":426,"tag":553,"props":86965,"children":86966},{"class":555,"line":1856},[86967],{"type":426,"tag":553,"props":86968,"children":86969},{"emptyLinePlaceholder":831},[86970],{"type":431,"value":834},{"type":426,"tag":553,"props":86972,"children":86973},{"class":555,"line":1874},[86974,86978,86982,86986,86990],{"type":426,"tag":553,"props":86975,"children":86976},{"style":795},[86977],{"type":431,"value":925},{"type":426,"tag":553,"props":86979,"children":86980},{"style":684},[86981],{"type":431,"value":86915},{"type":426,"tag":553,"props":86983,"children":86984},{"style":795},[86985],{"type":431,"value":55042},{"type":426,"tag":553,"props":86987,"children":86988},{"style":566},[86989],{"type":431,"value":67817},{"type":426,"tag":553,"props":86991,"children":86992},{"style":684},[86993],{"type":431,"value":52385},{"type":426,"tag":553,"props":86995,"children":86996},{"class":555,"line":1882},[86997,87001,87005,87009,87013,87018,87023,87027],{"type":426,"tag":553,"props":86998,"children":86999},{"style":795},[87000],{"type":431,"value":86805},{"type":426,"tag":553,"props":87002,"children":87003},{"style":795},[87004],{"type":431,"value":52275},{"type":426,"tag":553,"props":87006,"children":87007},{"style":566},[87008],{"type":431,"value":86943},{"type":426,"tag":553,"props":87010,"children":87011},{"style":684},[87012],{"type":431,"value":3275},{"type":426,"tag":553,"props":87014,"children":87015},{"style":572},[87016],{"type":431,"value":87017},"'Bad request: '",{"type":426,"tag":553,"props":87019,"children":87020},{"style":795},[87021],{"type":431,"value":87022}," .",{"type":426,"tag":553,"props":87024,"children":87025},{"style":566},[87026],{"type":431,"value":80178},{"type":426,"tag":553,"props":87028,"children":87029},{"style":684},[87030],{"type":431,"value":87031},"($result));\n",{"type":426,"tag":553,"props":87033,"children":87034},{"class":555,"line":1981},[87035],{"type":426,"tag":553,"props":87036,"children":87037},{"style":684},[87038],{"type":431,"value":5546},{"type":426,"tag":553,"props":87040,"children":87041},{"class":555,"line":1989},[87042],{"type":426,"tag":553,"props":87043,"children":87044},{"emptyLinePlaceholder":831},[87045],{"type":431,"value":834},{"type":426,"tag":553,"props":87047,"children":87048},{"class":555,"line":2013},[87049,87053],{"type":426,"tag":553,"props":87050,"children":87051},{"style":795},[87052],{"type":431,"value":1659},{"type":426,"tag":553,"props":87054,"children":87055},{"style":684},[87056],{"type":431,"value":80327},{"type":426,"tag":553,"props":87058,"children":87059},{"class":555,"line":2055},[87060],{"type":426,"tag":553,"props":87061,"children":87062},{"style":684},[87063],{"type":431,"value":756},{"type":426,"tag":553,"props":87065,"children":87066},{"class":555,"line":2064},[87067],{"type":426,"tag":553,"props":87068,"children":87069},{"emptyLinePlaceholder":831},[87070],{"type":431,"value":834},{"type":426,"tag":553,"props":87072,"children":87073},{"class":555,"line":2087},[87074],{"type":426,"tag":553,"props":87075,"children":87076},{"style":1975},[87077],{"type":431,"value":53575},{"type":426,"tag":553,"props":87079,"children":87080},{"class":555,"line":2096},[87081,87086,87090,87094],{"type":426,"tag":553,"props":87082,"children":87083},{"style":684},[87084],{"type":431,"value":87085},"$apiKey ",{"type":426,"tag":553,"props":87087,"children":87088},{"style":795},[87089],{"type":431,"value":957},{"type":426,"tag":553,"props":87091,"children":87092},{"style":572},[87093],{"type":431,"value":55718},{"type":426,"tag":553,"props":87095,"children":87096},{"style":684},[87097],{"type":431,"value":52321},{"type":426,"tag":553,"props":87099,"children":87100},{"class":555,"line":2105},[87101],{"type":426,"tag":553,"props":87102,"children":87103},{"emptyLinePlaceholder":831},[87104],{"type":431,"value":834},{"type":426,"tag":553,"props":87106,"children":87107},{"class":555,"line":2114},[87108,87113],{"type":426,"tag":553,"props":87109,"children":87110},{"style":795},[87111],{"type":431,"value":87112},"try",{"type":426,"tag":553,"props":87114,"children":87115},{"style":684},[87116],{"type":431,"value":5458},{"type":426,"tag":553,"props":87118,"children":87119},{"class":555,"line":2123},[87120,87124,87128,87132],{"type":426,"tag":553,"props":87121,"children":87122},{"style":684},[87123],{"type":431,"value":80271},{"type":426,"tag":553,"props":87125,"children":87126},{"style":795},[87127],{"type":431,"value":957},{"type":426,"tag":553,"props":87129,"children":87130},{"style":560},[87131],{"type":431,"value":86403},{"type":426,"tag":553,"props":87133,"children":87134},{"style":684},[87135],{"type":431,"value":3172},{"type":426,"tag":553,"props":87137,"children":87138},{"class":555,"line":2132},[87139,87143,87147,87151,87156],{"type":426,"tag":553,"props":87140,"children":87141},{"style":560},[87142],{"type":431,"value":31465},{"type":426,"tag":553,"props":87144,"children":87145},{"style":684},[87146],{"type":431,"value":700},{"type":426,"tag":553,"props":87148,"children":87149},{"style":572},[87150],{"type":431,"value":10197},{"type":426,"tag":553,"props":87152,"children":87153},{"style":684},[87154],{"type":431,"value":87155},",    ",{"type":426,"tag":553,"props":87157,"children":87158},{"style":1975},[87159],{"type":431,"value":87160},"\u002F\u002F Bangladesh number\n",{"type":426,"tag":553,"props":87162,"children":87163},{"class":555,"line":2151},[87164,87168,87172,87177],{"type":426,"tag":553,"props":87165,"children":87166},{"style":560},[87167],{"type":431,"value":31481},{"type":426,"tag":553,"props":87169,"children":87170},{"style":684},[87171],{"type":431,"value":700},{"type":426,"tag":553,"props":87173,"children":87174},{"style":572},[87175],{"type":431,"value":87176},"\"Hello from PHP! This message was sent using Rapiwa API.\"",{"type":426,"tag":553,"props":87178,"children":87179},{"style":684},[87180],{"type":431,"value":710},{"type":426,"tag":553,"props":87182,"children":87183},{"class":555,"line":2160},[87184,87189],{"type":426,"tag":553,"props":87185,"children":87186},{"style":560},[87187],{"type":431,"value":87188},"        apiKey",{"type":426,"tag":553,"props":87190,"children":87191},{"style":684},[87192],{"type":431,"value":87193},": $apiKey\n",{"type":426,"tag":553,"props":87195,"children":87196},{"class":555,"line":2174},[87197],{"type":426,"tag":553,"props":87198,"children":87199},{"style":684},[87200],{"type":431,"value":72473},{"type":426,"tag":553,"props":87202,"children":87203},{"class":555,"line":2182},[87204],{"type":426,"tag":553,"props":87205,"children":87206},{"emptyLinePlaceholder":831},[87207],{"type":431,"value":834},{"type":426,"tag":553,"props":87209,"children":87210},{"class":555,"line":2205},[87211,87215,87220,87224,87228,87232,87236],{"type":426,"tag":553,"props":87212,"children":87213},{"style":795},[87214],{"type":431,"value":925},{"type":426,"tag":553,"props":87216,"children":87217},{"style":684},[87218],{"type":431,"value":87219}," ($result[",{"type":426,"tag":553,"props":87221,"children":87222},{"style":572},[87223],{"type":431,"value":2982},{"type":426,"tag":553,"props":87225,"children":87226},{"style":684},[87227],{"type":431,"value":2229},{"type":426,"tag":553,"props":87229,"children":87230},{"style":795},[87231],{"type":431,"value":55042},{"type":426,"tag":553,"props":87233,"children":87234},{"style":572},[87235],{"type":431,"value":2996},{"type":426,"tag":553,"props":87237,"children":87238},{"style":684},[87239],{"type":431,"value":52385},{"type":426,"tag":553,"props":87241,"children":87242},{"class":555,"line":2241},[87243,87248,87253,87258,87263,87267,87271],{"type":426,"tag":553,"props":87244,"children":87245},{"style":566},[87246],{"type":431,"value":87247},"        echo",{"type":426,"tag":553,"props":87249,"children":87250},{"style":572},[87251],{"type":431,"value":87252}," \"Message sent! ID: {",{"type":426,"tag":553,"props":87254,"children":87255},{"style":684},[87256],{"type":431,"value":87257},"$result",{"type":426,"tag":553,"props":87259,"children":87260},{"style":572},[87261],{"type":431,"value":87262},"['messageId']}",{"type":426,"tag":553,"props":87264,"children":87265},{"style":566},[87266],{"type":431,"value":3661},{"type":426,"tag":553,"props":87268,"children":87269},{"style":572},[87270],{"type":431,"value":1527},{"type":426,"tag":553,"props":87272,"children":87273},{"style":684},[87274],{"type":431,"value":52321},{"type":426,"tag":553,"props":87276,"children":87277},{"class":555,"line":2250},[87278],{"type":426,"tag":553,"props":87279,"children":87280},{"style":684},[87281],{"type":431,"value":5546},{"type":426,"tag":553,"props":87283,"children":87284},{"class":555,"line":2302},[87285,87290,87294,87298,87303],{"type":426,"tag":553,"props":87286,"children":87287},{"style":684},[87288],{"type":431,"value":87289},"} ",{"type":426,"tag":553,"props":87291,"children":87292},{"style":795},[87293],{"type":431,"value":61750},{"type":426,"tag":553,"props":87295,"children":87296},{"style":684},[87297],{"type":431,"value":5684},{"type":426,"tag":553,"props":87299,"children":87300},{"style":566},[87301],{"type":431,"value":87302},"\\Exception",{"type":426,"tag":553,"props":87304,"children":87305},{"style":684},[87306],{"type":431,"value":87307}," $e) {\n",{"type":426,"tag":553,"props":87309,"children":87310},{"class":555,"line":2353},[87311,87316,87321,87325,87330,87334,87338,87342,87346,87351,87355,87359],{"type":426,"tag":553,"props":87312,"children":87313},{"style":566},[87314],{"type":431,"value":87315},"    echo",{"type":426,"tag":553,"props":87317,"children":87318},{"style":572},[87319],{"type":431,"value":87320}," \"Error: \"",{"type":426,"tag":553,"props":87322,"children":87323},{"style":795},[87324],{"type":431,"value":87022},{"type":426,"tag":553,"props":87326,"children":87327},{"style":684},[87328],{"type":431,"value":87329}," $e",{"type":426,"tag":553,"props":87331,"children":87332},{"style":795},[87333],{"type":431,"value":70711},{"type":426,"tag":553,"props":87335,"children":87336},{"style":560},[87337],{"type":431,"value":61798},{"type":426,"tag":553,"props":87339,"children":87340},{"style":684},[87341],{"type":431,"value":61573},{"type":426,"tag":553,"props":87343,"children":87344},{"style":795},[87345],{"type":431,"value":6789},{"type":426,"tag":553,"props":87347,"children":87348},{"style":572},[87349],{"type":431,"value":87350}," \"",{"type":426,"tag":553,"props":87352,"children":87353},{"style":566},[87354],{"type":431,"value":3661},{"type":426,"tag":553,"props":87356,"children":87357},{"style":572},[87358],{"type":431,"value":1527},{"type":426,"tag":553,"props":87360,"children":87361},{"style":684},[87362],{"type":431,"value":52321},{"type":426,"tag":553,"props":87364,"children":87365},{"class":555,"line":2390},[87366],{"type":426,"tag":553,"props":87367,"children":87368},{"style":684},[87369],{"type":431,"value":756},{"type":426,"tag":427,"props":87371,"children":87372},{},[87373],{"type":426,"tag":446,"props":87374,"children":87375},{},[87376],{"type":431,"value":72775},{"type":426,"tag":542,"props":87378,"children":87380},{"code":87379},"Message sent! ID: msg_abc123xyz\n",[87381],{"type":426,"tag":549,"props":87382,"children":87383},{"__ignoreMap":417},[87384],{"type":431,"value":87379},{"type":426,"tag":434,"props":87386,"children":87388},{"id":87387},"method-2-guzzle-http-client",[87389],{"type":431,"value":87390},"Method 2: Guzzle HTTP Client",{"type":426,"tag":427,"props":87392,"children":87393},{},[87394],{"type":431,"value":87395},"If your project uses Composer, Guzzle provides a cleaner API:",{"type":426,"tag":542,"props":87397,"children":87399},{"code":87398,"language":545,"meta":417,"className":546,"style":417},"composer require guzzlehttp\u002Fguzzle\n",[87400],{"type":426,"tag":549,"props":87401,"children":87402},{"__ignoreMap":417},[87403],{"type":426,"tag":553,"props":87404,"children":87405},{"class":555,"line":556},[87406,87411,87415],{"type":426,"tag":553,"props":87407,"children":87408},{"style":560},[87409],{"type":431,"value":87410},"composer",{"type":426,"tag":553,"props":87412,"children":87413},{"style":572},[87414],{"type":431,"value":52149},{"type":426,"tag":553,"props":87416,"children":87417},{"style":572},[87418],{"type":431,"value":87419}," guzzlehttp\u002Fguzzle\n",{"type":426,"tag":542,"props":87421,"children":87423},{"code":87422,"language":79950,"meta":417,"className":79948,"style":417},"\u003C?php\n\nrequire 'vendor\u002Fautoload.php';\n\nuse GuzzleHttp\\Client;\nuse GuzzleHttp\\Exception\\ClientException;\nuse GuzzleHttp\\Exception\\ConnectException;\n\nclass RapiwaClient\n{\n    private Client $http;\n\n    public function __construct(private string $apiKey)\n    {\n        $this->http = new Client([\n            'base_uri' => 'https:\u002F\u002Fapp.rapiwa.com',\n            'timeout'  => 15,\n            'headers'  => [\n                'Authorization' => \"Bearer {$apiKey}\",\n                'Content-Type'  => 'application\u002Fjson',\n            ],\n        ]);\n    }\n\n    public function sendMessage(string $phone, string $message): array\n    {\n        try {\n            $response = $this->http->post('\u002Fsend-message', [\n                'json' => compact('number' => $phone, 'message'),\n            ]);\n\n            return json_decode($response->getBody()->getContents(), true);\n\n        } catch (ClientException $e) {\n            $statusCode = $e->getResponse()->getStatusCode();\n\n            if ($statusCode === 401) {\n                throw new \\RuntimeException('Invalid API key');\n            }\n\n            throw new \\RuntimeException(\"API error {$statusCode}: \" . $e->getResponse()->getBody());\n\n        } catch (ConnectException $e) {\n            throw new \\RuntimeException('Cannot connect to Rapiwa API: ' . $e->getMessage());\n        }\n    }\n\n    public function sendImage(string $phone, string $imageUrl, string $caption = ''): array\n    {\n        $response = $this->http->post('\u002Fsend-image', [\n            'json' => [\n                'number'   => $phone,\n                'imageUrl' => $imageUrl,\n                'caption'  => $caption,\n            ],\n        ]);\n\n        return json_decode($response->getBody()->getContents(), true);\n    }\n}\n\n\u002F\u002F Usage\n$rapiwa = new RapiwaClient('YOUR_API_KEY');\n\n$result = $rapiwa->sendMessage(\n    phone: '8801234567890',\n    message: \"Hello from Guzzle! *Bold text* and _italic text_ both work in WhatsApp.\"\n);\n\necho \"Status: {$result['status']}\\n\";\necho \"Message ID: {$result['messageId']}\\n\";\n",[87424],{"type":426,"tag":549,"props":87425,"children":87426},{"__ignoreMap":417},[87427,87438,87445,87462,87469,87485,87501,87517,87524,87535,87542,87559,87566,87600,87607,87640,87661,87681,87697,87726,87747,87755,87763,87770,87777,87821,87828,87839,87887,87928,87936,87943,87994,88001,88025,88066,88073,88097,88125,88132,88139,88205,88212,88236,88280,88287,88294,88301,88366,88373,88418,88434,88451,88468,88485,88492,88499,88506,88553,88560,88567,88574,88581,88613,88620,88649,88668,88684,88691,88698,88732],{"type":426,"tag":553,"props":87428,"children":87429},{"class":555,"line":556},[87430,87434],{"type":426,"tag":553,"props":87431,"children":87432},{"style":795},[87433],{"type":431,"value":86379},{"type":426,"tag":553,"props":87435,"children":87436},{"style":566},[87437],{"type":431,"value":86384},{"type":426,"tag":553,"props":87439,"children":87440},{"class":555,"line":588},[87441],{"type":426,"tag":553,"props":87442,"children":87443},{"emptyLinePlaceholder":831},[87444],{"type":431,"value":834},{"type":426,"tag":553,"props":87446,"children":87447},{"class":555,"line":606},[87448,87453,87458],{"type":426,"tag":553,"props":87449,"children":87450},{"style":795},[87451],{"type":431,"value":87452},"require",{"type":426,"tag":553,"props":87454,"children":87455},{"style":572},[87456],{"type":431,"value":87457}," 'vendor\u002Fautoload.php'",{"type":426,"tag":553,"props":87459,"children":87460},{"style":684},[87461],{"type":431,"value":52321},{"type":426,"tag":553,"props":87463,"children":87464},{"class":555,"line":623},[87465],{"type":426,"tag":553,"props":87466,"children":87467},{"emptyLinePlaceholder":831},[87468],{"type":431,"value":834},{"type":426,"tag":553,"props":87470,"children":87471},{"class":555,"line":637},[87472,87476,87481],{"type":426,"tag":553,"props":87473,"children":87474},{"style":795},[87475],{"type":431,"value":84570},{"type":426,"tag":553,"props":87477,"children":87478},{"style":566},[87479],{"type":431,"value":87480}," GuzzleHttp\\Client",{"type":426,"tag":553,"props":87482,"children":87483},{"style":684},[87484],{"type":431,"value":52321},{"type":426,"tag":553,"props":87486,"children":87487},{"class":555,"line":646},[87488,87492,87497],{"type":426,"tag":553,"props":87489,"children":87490},{"style":795},[87491],{"type":431,"value":84570},{"type":426,"tag":553,"props":87493,"children":87494},{"style":566},[87495],{"type":431,"value":87496}," GuzzleHttp\\Exception\\ClientException",{"type":426,"tag":553,"props":87498,"children":87499},{"style":684},[87500],{"type":431,"value":52321},{"type":426,"tag":553,"props":87502,"children":87503},{"class":555,"line":655},[87504,87508,87513],{"type":426,"tag":553,"props":87505,"children":87506},{"style":795},[87507],{"type":431,"value":84570},{"type":426,"tag":553,"props":87509,"children":87510},{"style":566},[87511],{"type":431,"value":87512}," GuzzleHttp\\Exception\\ConnectException",{"type":426,"tag":553,"props":87514,"children":87515},{"style":684},[87516],{"type":431,"value":52321},{"type":426,"tag":553,"props":87518,"children":87519},{"class":555,"line":1036},[87520],{"type":426,"tag":553,"props":87521,"children":87522},{"emptyLinePlaceholder":831},[87523],{"type":431,"value":834},{"type":426,"tag":553,"props":87525,"children":87526},{"class":555,"line":1054},[87527,87531],{"type":426,"tag":553,"props":87528,"children":87529},{"style":795},[87530],{"type":431,"value":11909},{"type":426,"tag":553,"props":87532,"children":87533},{"style":560},[87534],{"type":431,"value":73230},{"type":426,"tag":553,"props":87536,"children":87537},{"class":555,"line":1080},[87538],{"type":426,"tag":553,"props":87539,"children":87540},{"style":684},[87541],{"type":431,"value":687},{"type":426,"tag":553,"props":87543,"children":87544},{"class":555,"line":1097},[87545,87549,87554],{"type":426,"tag":553,"props":87546,"children":87547},{"style":795},[87548],{"type":431,"value":60857},{"type":426,"tag":553,"props":87550,"children":87551},{"style":566},[87552],{"type":431,"value":87553}," Client",{"type":426,"tag":553,"props":87555,"children":87556},{"style":684},[87557],{"type":431,"value":87558}," $http;\n",{"type":426,"tag":553,"props":87560,"children":87561},{"class":555,"line":1114},[87562],{"type":426,"tag":553,"props":87563,"children":87564},{"emptyLinePlaceholder":831},[87565],{"type":431,"value":834},{"type":426,"tag":553,"props":87567,"children":87568},{"class":555,"line":1127},[87569,87573,87577,87582,87586,87591,87595],{"type":426,"tag":553,"props":87570,"children":87571},{"style":795},[87572],{"type":431,"value":61004},{"type":426,"tag":553,"props":87574,"children":87575},{"style":795},[87576],{"type":431,"value":52366},{"type":426,"tag":553,"props":87578,"children":87579},{"style":566},[87580],{"type":431,"value":87581}," __construct",{"type":426,"tag":553,"props":87583,"children":87584},{"style":684},[87585],{"type":431,"value":3275},{"type":426,"tag":553,"props":87587,"children":87588},{"style":795},[87589],{"type":431,"value":87590},"private",{"type":426,"tag":553,"props":87592,"children":87593},{"style":795},[87594],{"type":431,"value":76053},{"type":426,"tag":553,"props":87596,"children":87597},{"style":684},[87598],{"type":431,"value":87599}," $apiKey)\n",{"type":426,"tag":553,"props":87601,"children":87602},{"class":555,"line":1167},[87603],{"type":426,"tag":553,"props":87604,"children":87605},{"style":684},[87606],{"type":431,"value":73368},{"type":426,"tag":553,"props":87608,"children":87609},{"class":555,"line":1184},[87610,87615,87619,87624,87628,87632,87636],{"type":426,"tag":553,"props":87611,"children":87612},{"style":566},[87613],{"type":431,"value":87614},"        $this",{"type":426,"tag":553,"props":87616,"children":87617},{"style":795},[87618],{"type":431,"value":70711},{"type":426,"tag":553,"props":87620,"children":87621},{"style":684},[87622],{"type":431,"value":87623},"http ",{"type":426,"tag":553,"props":87625,"children":87626},{"style":795},[87627],{"type":431,"value":957},{"type":426,"tag":553,"props":87629,"children":87630},{"style":795},[87631],{"type":431,"value":52275},{"type":426,"tag":553,"props":87633,"children":87634},{"style":566},[87635],{"type":431,"value":87553},{"type":426,"tag":553,"props":87637,"children":87638},{"style":684},[87639],{"type":431,"value":80183},{"type":426,"tag":553,"props":87641,"children":87642},{"class":555,"line":1192},[87643,87648,87652,87657],{"type":426,"tag":553,"props":87644,"children":87645},{"style":572},[87646],{"type":431,"value":87647},"            'base_uri'",{"type":426,"tag":553,"props":87649,"children":87650},{"style":795},[87651],{"type":431,"value":53709},{"type":426,"tag":553,"props":87653,"children":87654},{"style":572},[87655],{"type":431,"value":87656}," 'https:\u002F\u002Fapp.rapiwa.com'",{"type":426,"tag":553,"props":87658,"children":87659},{"style":684},[87660],{"type":431,"value":710},{"type":426,"tag":553,"props":87662,"children":87663},{"class":555,"line":1210},[87664,87669,87673,87677],{"type":426,"tag":553,"props":87665,"children":87666},{"style":572},[87667],{"type":431,"value":87668},"            'timeout'",{"type":426,"tag":553,"props":87670,"children":87671},{"style":795},[87672],{"type":431,"value":86642},{"type":426,"tag":553,"props":87674,"children":87675},{"style":566},[87676],{"type":431,"value":86551},{"type":426,"tag":553,"props":87678,"children":87679},{"style":684},[87680],{"type":431,"value":710},{"type":426,"tag":553,"props":87682,"children":87683},{"class":555,"line":1253},[87684,87689,87693],{"type":426,"tag":553,"props":87685,"children":87686},{"style":572},[87687],{"type":431,"value":87688},"            'headers'",{"type":426,"tag":553,"props":87690,"children":87691},{"style":795},[87692],{"type":431,"value":86642},{"type":426,"tag":553,"props":87694,"children":87695},{"style":684},[87696],{"type":431,"value":80133},{"type":426,"tag":553,"props":87698,"children":87699},{"class":555,"line":1302},[87700,87705,87709,87714,87718,87722],{"type":426,"tag":553,"props":87701,"children":87702},{"style":572},[87703],{"type":431,"value":87704},"                'Authorization'",{"type":426,"tag":553,"props":87706,"children":87707},{"style":795},[87708],{"type":431,"value":53709},{"type":426,"tag":553,"props":87710,"children":87711},{"style":572},[87712],{"type":431,"value":87713}," \"Bearer {",{"type":426,"tag":553,"props":87715,"children":87716},{"style":684},[87717],{"type":431,"value":86584},{"type":426,"tag":553,"props":87719,"children":87720},{"style":572},[87721],{"type":431,"value":67316},{"type":426,"tag":553,"props":87723,"children":87724},{"style":684},[87725],{"type":431,"value":710},{"type":426,"tag":553,"props":87727,"children":87728},{"class":555,"line":1374},[87729,87734,87738,87743],{"type":426,"tag":553,"props":87730,"children":87731},{"style":572},[87732],{"type":431,"value":87733},"                'Content-Type'",{"type":426,"tag":553,"props":87735,"children":87736},{"style":795},[87737],{"type":431,"value":86642},{"type":426,"tag":553,"props":87739,"children":87740},{"style":572},[87741],{"type":431,"value":87742}," 'application\u002Fjson'",{"type":426,"tag":553,"props":87744,"children":87745},{"style":684},[87746],{"type":431,"value":710},{"type":426,"tag":553,"props":87748,"children":87749},{"class":555,"line":1414},[87750],{"type":426,"tag":553,"props":87751,"children":87752},{"style":684},[87753],{"type":431,"value":87754},"            ],\n",{"type":426,"tag":553,"props":87756,"children":87757},{"class":555,"line":1479},[87758],{"type":426,"tag":553,"props":87759,"children":87760},{"style":684},[87761],{"type":431,"value":87762},"        ]);\n",{"type":426,"tag":553,"props":87764,"children":87765},{"class":555,"line":1517},[87766],{"type":426,"tag":553,"props":87767,"children":87768},{"style":684},[87769],{"type":431,"value":5546},{"type":426,"tag":553,"props":87771,"children":87772},{"class":555,"line":1560},[87773],{"type":426,"tag":553,"props":87774,"children":87775},{"emptyLinePlaceholder":831},[87776],{"type":431,"value":834},{"type":426,"tag":553,"props":87778,"children":87779},{"class":555,"line":1598},[87780,87784,87788,87792,87796,87800,87804,87808,87813,87817],{"type":426,"tag":553,"props":87781,"children":87782},{"style":795},[87783],{"type":431,"value":61004},{"type":426,"tag":553,"props":87785,"children":87786},{"style":795},[87787],{"type":431,"value":52366},{"type":426,"tag":553,"props":87789,"children":87790},{"style":560},[87791],{"type":431,"value":67188},{"type":426,"tag":553,"props":87793,"children":87794},{"style":684},[87795],{"type":431,"value":3275},{"type":426,"tag":553,"props":87797,"children":87798},{"style":795},[87799],{"type":431,"value":71939},{"type":426,"tag":553,"props":87801,"children":87802},{"style":684},[87803],{"type":431,"value":79980},{"type":426,"tag":553,"props":87805,"children":87806},{"style":795},[87807],{"type":431,"value":71939},{"type":426,"tag":553,"props":87809,"children":87810},{"style":684},[87811],{"type":431,"value":87812}," $message)",{"type":426,"tag":553,"props":87814,"children":87815},{"style":795},[87816],{"type":431,"value":19071},{"type":426,"tag":553,"props":87818,"children":87819},{"style":795},[87820],{"type":431,"value":86442},{"type":426,"tag":553,"props":87822,"children":87823},{"class":555,"line":1636},[87824],{"type":426,"tag":553,"props":87825,"children":87826},{"style":684},[87827],{"type":431,"value":73368},{"type":426,"tag":553,"props":87829,"children":87830},{"class":555,"line":1645},[87831,87835],{"type":426,"tag":553,"props":87832,"children":87833},{"style":795},[87834],{"type":431,"value":8822},{"type":426,"tag":553,"props":87836,"children":87837},{"style":684},[87838],{"type":431,"value":5458},{"type":426,"tag":553,"props":87840,"children":87841},{"class":555,"line":1653},[87842,87847,87851,87856,87860,87865,87869,87873,87877,87882],{"type":426,"tag":553,"props":87843,"children":87844},{"style":684},[87845],{"type":431,"value":87846},"            $response ",{"type":426,"tag":553,"props":87848,"children":87849},{"style":795},[87850],{"type":431,"value":957},{"type":426,"tag":553,"props":87852,"children":87853},{"style":566},[87854],{"type":431,"value":87855}," $this",{"type":426,"tag":553,"props":87857,"children":87858},{"style":795},[87859],{"type":431,"value":70711},{"type":426,"tag":553,"props":87861,"children":87862},{"style":684},[87863],{"type":431,"value":87864},"http",{"type":426,"tag":553,"props":87866,"children":87867},{"style":795},[87868],{"type":431,"value":70711},{"type":426,"tag":553,"props":87870,"children":87871},{"style":560},[87872],{"type":431,"value":70594},{"type":426,"tag":553,"props":87874,"children":87875},{"style":684},[87876],{"type":431,"value":3275},{"type":426,"tag":553,"props":87878,"children":87879},{"style":572},[87880],{"type":431,"value":87881},"'\u002Fsend-message'",{"type":426,"tag":553,"props":87883,"children":87884},{"style":684},[87885],{"type":431,"value":87886},", [\n",{"type":426,"tag":553,"props":87888,"children":87889},{"class":555,"line":1667},[87890,87895,87899,87904,87908,87912,87916,87920,87924],{"type":426,"tag":553,"props":87891,"children":87892},{"style":572},[87893],{"type":431,"value":87894},"                'json'",{"type":426,"tag":553,"props":87896,"children":87897},{"style":795},[87898],{"type":431,"value":53709},{"type":426,"tag":553,"props":87900,"children":87901},{"style":566},[87902],{"type":431,"value":87903}," compact",{"type":426,"tag":553,"props":87905,"children":87906},{"style":684},[87907],{"type":431,"value":3275},{"type":426,"tag":553,"props":87909,"children":87910},{"style":572},[87911],{"type":431,"value":1759},{"type":426,"tag":553,"props":87913,"children":87914},{"style":795},[87915],{"type":431,"value":53709},{"type":426,"tag":553,"props":87917,"children":87918},{"style":684},[87919],{"type":431,"value":79980},{"type":426,"tag":553,"props":87921,"children":87922},{"style":572},[87923],{"type":431,"value":1779},{"type":426,"tag":553,"props":87925,"children":87926},{"style":684},[87927],{"type":431,"value":11615},{"type":426,"tag":553,"props":87929,"children":87930},{"class":555,"line":1680},[87931],{"type":426,"tag":553,"props":87932,"children":87933},{"style":684},[87934],{"type":431,"value":87935},"            ]);\n",{"type":426,"tag":553,"props":87937,"children":87938},{"class":555,"line":1740},[87939],{"type":426,"tag":553,"props":87940,"children":87941},{"emptyLinePlaceholder":831},[87942],{"type":431,"value":834},{"type":426,"tag":553,"props":87944,"children":87945},{"class":555,"line":1787},[87946,87950,87954,87959,87963,87967,87972,87976,87981,87986,87990],{"type":426,"tag":553,"props":87947,"children":87948},{"style":795},[87949],{"type":431,"value":9188},{"type":426,"tag":553,"props":87951,"children":87952},{"style":566},[87953],{"type":431,"value":80280},{"type":426,"tag":553,"props":87955,"children":87956},{"style":684},[87957],{"type":431,"value":87958},"($response",{"type":426,"tag":553,"props":87960,"children":87961},{"style":795},[87962],{"type":431,"value":70711},{"type":426,"tag":553,"props":87964,"children":87965},{"style":560},[87966],{"type":431,"value":61498},{"type":426,"tag":553,"props":87968,"children":87969},{"style":684},[87970],{"type":431,"value":87971},"()",{"type":426,"tag":553,"props":87973,"children":87974},{"style":795},[87975],{"type":431,"value":70711},{"type":426,"tag":553,"props":87977,"children":87978},{"style":560},[87979],{"type":431,"value":87980},"getContents",{"type":426,"tag":553,"props":87982,"children":87983},{"style":684},[87984],{"type":431,"value":87985},"(), ",{"type":426,"tag":553,"props":87987,"children":87988},{"style":566},[87989],{"type":431,"value":48523},{"type":426,"tag":553,"props":87991,"children":87992},{"style":684},[87993],{"type":431,"value":11379},{"type":426,"tag":553,"props":87995,"children":87996},{"class":555,"line":1796},[87997],{"type":426,"tag":553,"props":87998,"children":87999},{"emptyLinePlaceholder":831},[88000],{"type":431,"value":834},{"type":426,"tag":553,"props":88002,"children":88003},{"class":555,"line":1804},[88004,88008,88012,88016,88021],{"type":426,"tag":553,"props":88005,"children":88006},{"style":684},[88007],{"type":431,"value":61745},{"type":426,"tag":553,"props":88009,"children":88010},{"style":795},[88011],{"type":431,"value":61750},{"type":426,"tag":553,"props":88013,"children":88014},{"style":684},[88015],{"type":431,"value":5684},{"type":426,"tag":553,"props":88017,"children":88018},{"style":566},[88019],{"type":431,"value":88020},"ClientException",{"type":426,"tag":553,"props":88022,"children":88023},{"style":684},[88024],{"type":431,"value":87307},{"type":426,"tag":553,"props":88026,"children":88027},{"class":555,"line":1812},[88028,88033,88037,88041,88045,88050,88054,88058,88062],{"type":426,"tag":553,"props":88029,"children":88030},{"style":684},[88031],{"type":431,"value":88032},"            $statusCode ",{"type":426,"tag":553,"props":88034,"children":88035},{"style":795},[88036],{"type":431,"value":957},{"type":426,"tag":553,"props":88038,"children":88039},{"style":684},[88040],{"type":431,"value":87329},{"type":426,"tag":553,"props":88042,"children":88043},{"style":795},[88044],{"type":431,"value":70711},{"type":426,"tag":553,"props":88046,"children":88047},{"style":560},[88048],{"type":431,"value":88049},"getResponse",{"type":426,"tag":553,"props":88051,"children":88052},{"style":684},[88053],{"type":431,"value":87971},{"type":426,"tag":553,"props":88055,"children":88056},{"style":795},[88057],{"type":431,"value":70711},{"type":426,"tag":553,"props":88059,"children":88060},{"style":560},[88061],{"type":431,"value":61568},{"type":426,"tag":553,"props":88063,"children":88064},{"style":684},[88065],{"type":431,"value":53227},{"type":426,"tag":553,"props":88067,"children":88068},{"class":555,"line":1847},[88069],{"type":426,"tag":553,"props":88070,"children":88071},{"emptyLinePlaceholder":831},[88072],{"type":431,"value":834},{"type":426,"tag":553,"props":88074,"children":88075},{"class":555,"line":1856},[88076,88080,88085,88089,88093],{"type":426,"tag":553,"props":88077,"children":88078},{"style":795},[88079],{"type":431,"value":8980},{"type":426,"tag":553,"props":88081,"children":88082},{"style":684},[88083],{"type":431,"value":88084}," ($statusCode ",{"type":426,"tag":553,"props":88086,"children":88087},{"style":795},[88088],{"type":431,"value":55042},{"type":426,"tag":553,"props":88090,"children":88091},{"style":566},[88092],{"type":431,"value":8994},{"type":426,"tag":553,"props":88094,"children":88095},{"style":684},[88096],{"type":431,"value":52385},{"type":426,"tag":553,"props":88098,"children":88099},{"class":555,"line":1874},[88100,88104,88108,88112,88116,88121],{"type":426,"tag":553,"props":88101,"children":88102},{"style":795},[88103],{"type":431,"value":73793},{"type":426,"tag":553,"props":88105,"children":88106},{"style":795},[88107],{"type":431,"value":52275},{"type":426,"tag":553,"props":88109,"children":88110},{"style":566},[88111],{"type":431,"value":86814},{"type":426,"tag":553,"props":88113,"children":88114},{"style":684},[88115],{"type":431,"value":3275},{"type":426,"tag":553,"props":88117,"children":88118},{"style":572},[88119],{"type":431,"value":88120},"'Invalid API key'",{"type":426,"tag":553,"props":88122,"children":88123},{"style":684},[88124],{"type":431,"value":11379},{"type":426,"tag":553,"props":88126,"children":88127},{"class":555,"line":1882},[88128],{"type":426,"tag":553,"props":88129,"children":88130},{"style":684},[88131],{"type":431,"value":21329},{"type":426,"tag":553,"props":88133,"children":88134},{"class":555,"line":1981},[88135],{"type":426,"tag":553,"props":88136,"children":88137},{"emptyLinePlaceholder":831},[88138],{"type":431,"value":834},{"type":426,"tag":553,"props":88140,"children":88141},{"class":555,"line":1989},[88142,88146,88150,88154,88158,88163,88168,88173,88177,88181,88185,88189,88193,88197,88201],{"type":426,"tag":553,"props":88143,"children":88144},{"style":795},[88145],{"type":431,"value":67753},{"type":426,"tag":553,"props":88147,"children":88148},{"style":795},[88149],{"type":431,"value":52275},{"type":426,"tag":553,"props":88151,"children":88152},{"style":566},[88153],{"type":431,"value":86814},{"type":426,"tag":553,"props":88155,"children":88156},{"style":684},[88157],{"type":431,"value":3275},{"type":426,"tag":553,"props":88159,"children":88160},{"style":572},[88161],{"type":431,"value":88162},"\"API error {",{"type":426,"tag":553,"props":88164,"children":88165},{"style":684},[88166],{"type":431,"value":88167},"$statusCode",{"type":426,"tag":553,"props":88169,"children":88170},{"style":572},[88171],{"type":431,"value":88172},"}: \"",{"type":426,"tag":553,"props":88174,"children":88175},{"style":795},[88176],{"type":431,"value":87022},{"type":426,"tag":553,"props":88178,"children":88179},{"style":684},[88180],{"type":431,"value":87329},{"type":426,"tag":553,"props":88182,"children":88183},{"style":795},[88184],{"type":431,"value":70711},{"type":426,"tag":553,"props":88186,"children":88187},{"style":560},[88188],{"type":431,"value":88049},{"type":426,"tag":553,"props":88190,"children":88191},{"style":684},[88192],{"type":431,"value":87971},{"type":426,"tag":553,"props":88194,"children":88195},{"style":795},[88196],{"type":431,"value":70711},{"type":426,"tag":553,"props":88198,"children":88199},{"style":560},[88200],{"type":431,"value":61498},{"type":426,"tag":553,"props":88202,"children":88203},{"style":684},[88204],{"type":431,"value":61503},{"type":426,"tag":553,"props":88206,"children":88207},{"class":555,"line":2013},[88208],{"type":426,"tag":553,"props":88209,"children":88210},{"emptyLinePlaceholder":831},[88211],{"type":431,"value":834},{"type":426,"tag":553,"props":88213,"children":88214},{"class":555,"line":2055},[88215,88219,88223,88227,88232],{"type":426,"tag":553,"props":88216,"children":88217},{"style":684},[88218],{"type":431,"value":61745},{"type":426,"tag":553,"props":88220,"children":88221},{"style":795},[88222],{"type":431,"value":61750},{"type":426,"tag":553,"props":88224,"children":88225},{"style":684},[88226],{"type":431,"value":5684},{"type":426,"tag":553,"props":88228,"children":88229},{"style":566},[88230],{"type":431,"value":88231},"ConnectException",{"type":426,"tag":553,"props":88233,"children":88234},{"style":684},[88235],{"type":431,"value":87307},{"type":426,"tag":553,"props":88237,"children":88238},{"class":555,"line":2064},[88239,88243,88247,88251,88255,88260,88264,88268,88272,88276],{"type":426,"tag":553,"props":88240,"children":88241},{"style":795},[88242],{"type":431,"value":67753},{"type":426,"tag":553,"props":88244,"children":88245},{"style":795},[88246],{"type":431,"value":52275},{"type":426,"tag":553,"props":88248,"children":88249},{"style":566},[88250],{"type":431,"value":86814},{"type":426,"tag":553,"props":88252,"children":88253},{"style":684},[88254],{"type":431,"value":3275},{"type":426,"tag":553,"props":88256,"children":88257},{"style":572},[88258],{"type":431,"value":88259},"'Cannot connect to Rapiwa API: '",{"type":426,"tag":553,"props":88261,"children":88262},{"style":795},[88263],{"type":431,"value":87022},{"type":426,"tag":553,"props":88265,"children":88266},{"style":684},[88267],{"type":431,"value":87329},{"type":426,"tag":553,"props":88269,"children":88270},{"style":795},[88271],{"type":431,"value":70711},{"type":426,"tag":553,"props":88273,"children":88274},{"style":560},[88275],{"type":431,"value":61798},{"type":426,"tag":553,"props":88277,"children":88278},{"style":684},[88279],{"type":431,"value":61503},{"type":426,"tag":553,"props":88281,"children":88282},{"class":555,"line":2087},[88283],{"type":426,"tag":553,"props":88284,"children":88285},{"style":684},[88286],{"type":431,"value":15075},{"type":426,"tag":553,"props":88288,"children":88289},{"class":555,"line":2096},[88290],{"type":426,"tag":553,"props":88291,"children":88292},{"style":684},[88293],{"type":431,"value":5546},{"type":426,"tag":553,"props":88295,"children":88296},{"class":555,"line":2105},[88297],{"type":426,"tag":553,"props":88298,"children":88299},{"emptyLinePlaceholder":831},[88300],{"type":431,"value":834},{"type":426,"tag":553,"props":88302,"children":88303},{"class":555,"line":2114},[88304,88308,88312,88317,88321,88325,88329,88333,88338,88342,88346,88350,88354,88358,88362],{"type":426,"tag":553,"props":88305,"children":88306},{"style":795},[88307],{"type":431,"value":61004},{"type":426,"tag":553,"props":88309,"children":88310},{"style":795},[88311],{"type":431,"value":52366},{"type":426,"tag":553,"props":88313,"children":88314},{"style":560},[88315],{"type":431,"value":88316}," sendImage",{"type":426,"tag":553,"props":88318,"children":88319},{"style":684},[88320],{"type":431,"value":3275},{"type":426,"tag":553,"props":88322,"children":88323},{"style":795},[88324],{"type":431,"value":71939},{"type":426,"tag":553,"props":88326,"children":88327},{"style":684},[88328],{"type":431,"value":79980},{"type":426,"tag":553,"props":88330,"children":88331},{"style":795},[88332],{"type":431,"value":71939},{"type":426,"tag":553,"props":88334,"children":88335},{"style":684},[88336],{"type":431,"value":88337}," $imageUrl, ",{"type":426,"tag":553,"props":88339,"children":88340},{"style":795},[88341],{"type":431,"value":71939},{"type":426,"tag":553,"props":88343,"children":88344},{"style":684},[88345],{"type":431,"value":80007},{"type":426,"tag":553,"props":88347,"children":88348},{"style":795},[88349],{"type":431,"value":957},{"type":426,"tag":553,"props":88351,"children":88352},{"style":572},[88353],{"type":431,"value":1024},{"type":426,"tag":553,"props":88355,"children":88356},{"style":684},[88357],{"type":431,"value":5736},{"type":426,"tag":553,"props":88359,"children":88360},{"style":795},[88361],{"type":431,"value":19071},{"type":426,"tag":553,"props":88363,"children":88364},{"style":795},[88365],{"type":431,"value":86442},{"type":426,"tag":553,"props":88367,"children":88368},{"class":555,"line":2123},[88369],{"type":426,"tag":553,"props":88370,"children":88371},{"style":684},[88372],{"type":431,"value":73368},{"type":426,"tag":553,"props":88374,"children":88375},{"class":555,"line":2132},[88376,88381,88385,88389,88393,88397,88401,88405,88409,88414],{"type":426,"tag":553,"props":88377,"children":88378},{"style":684},[88379],{"type":431,"value":88380},"        $response ",{"type":426,"tag":553,"props":88382,"children":88383},{"style":795},[88384],{"type":431,"value":957},{"type":426,"tag":553,"props":88386,"children":88387},{"style":566},[88388],{"type":431,"value":87855},{"type":426,"tag":553,"props":88390,"children":88391},{"style":795},[88392],{"type":431,"value":70711},{"type":426,"tag":553,"props":88394,"children":88395},{"style":684},[88396],{"type":431,"value":87864},{"type":426,"tag":553,"props":88398,"children":88399},{"style":795},[88400],{"type":431,"value":70711},{"type":426,"tag":553,"props":88402,"children":88403},{"style":560},[88404],{"type":431,"value":70594},{"type":426,"tag":553,"props":88406,"children":88407},{"style":684},[88408],{"type":431,"value":3275},{"type":426,"tag":553,"props":88410,"children":88411},{"style":572},[88412],{"type":431,"value":88413},"'\u002Fsend-image'",{"type":426,"tag":553,"props":88415,"children":88416},{"style":684},[88417],{"type":431,"value":87886},{"type":426,"tag":553,"props":88419,"children":88420},{"class":555,"line":2151},[88421,88426,88430],{"type":426,"tag":553,"props":88422,"children":88423},{"style":572},[88424],{"type":431,"value":88425},"            'json'",{"type":426,"tag":553,"props":88427,"children":88428},{"style":795},[88429],{"type":431,"value":53709},{"type":426,"tag":553,"props":88431,"children":88432},{"style":684},[88433],{"type":431,"value":80133},{"type":426,"tag":553,"props":88435,"children":88436},{"class":555,"line":2160},[88437,88442,88447],{"type":426,"tag":553,"props":88438,"children":88439},{"style":572},[88440],{"type":431,"value":88441},"                'number'",{"type":426,"tag":553,"props":88443,"children":88444},{"style":795},[88445],{"type":431,"value":88446},"   =>",{"type":426,"tag":553,"props":88448,"children":88449},{"style":684},[88450],{"type":431,"value":80199},{"type":426,"tag":553,"props":88452,"children":88453},{"class":555,"line":2174},[88454,88459,88463],{"type":426,"tag":553,"props":88455,"children":88456},{"style":572},[88457],{"type":431,"value":88458},"                'imageUrl'",{"type":426,"tag":553,"props":88460,"children":88461},{"style":795},[88462],{"type":431,"value":53709},{"type":426,"tag":553,"props":88464,"children":88465},{"style":684},[88466],{"type":431,"value":88467}," $imageUrl,\n",{"type":426,"tag":553,"props":88469,"children":88470},{"class":555,"line":2182},[88471,88476,88480],{"type":426,"tag":553,"props":88472,"children":88473},{"style":572},[88474],{"type":431,"value":88475},"                'caption'",{"type":426,"tag":553,"props":88477,"children":88478},{"style":795},[88479],{"type":431,"value":86642},{"type":426,"tag":553,"props":88481,"children":88482},{"style":684},[88483],{"type":431,"value":88484}," $caption,\n",{"type":426,"tag":553,"props":88486,"children":88487},{"class":555,"line":2205},[88488],{"type":426,"tag":553,"props":88489,"children":88490},{"style":684},[88491],{"type":431,"value":87754},{"type":426,"tag":553,"props":88493,"children":88494},{"class":555,"line":2241},[88495],{"type":426,"tag":553,"props":88496,"children":88497},{"style":684},[88498],{"type":431,"value":87762},{"type":426,"tag":553,"props":88500,"children":88501},{"class":555,"line":2250},[88502],{"type":426,"tag":553,"props":88503,"children":88504},{"emptyLinePlaceholder":831},[88505],{"type":431,"value":834},{"type":426,"tag":553,"props":88507,"children":88508},{"class":555,"line":2302},[88509,88513,88517,88521,88525,88529,88533,88537,88541,88545,88549],{"type":426,"tag":553,"props":88510,"children":88511},{"style":795},[88512],{"type":431,"value":8378},{"type":426,"tag":553,"props":88514,"children":88515},{"style":566},[88516],{"type":431,"value":80280},{"type":426,"tag":553,"props":88518,"children":88519},{"style":684},[88520],{"type":431,"value":87958},{"type":426,"tag":553,"props":88522,"children":88523},{"style":795},[88524],{"type":431,"value":70711},{"type":426,"tag":553,"props":88526,"children":88527},{"style":560},[88528],{"type":431,"value":61498},{"type":426,"tag":553,"props":88530,"children":88531},{"style":684},[88532],{"type":431,"value":87971},{"type":426,"tag":553,"props":88534,"children":88535},{"style":795},[88536],{"type":431,"value":70711},{"type":426,"tag":553,"props":88538,"children":88539},{"style":560},[88540],{"type":431,"value":87980},{"type":426,"tag":553,"props":88542,"children":88543},{"style":684},[88544],{"type":431,"value":87985},{"type":426,"tag":553,"props":88546,"children":88547},{"style":566},[88548],{"type":431,"value":48523},{"type":426,"tag":553,"props":88550,"children":88551},{"style":684},[88552],{"type":431,"value":11379},{"type":426,"tag":553,"props":88554,"children":88555},{"class":555,"line":2353},[88556],{"type":426,"tag":553,"props":88557,"children":88558},{"style":684},[88559],{"type":431,"value":5546},{"type":426,"tag":553,"props":88561,"children":88562},{"class":555,"line":2390},[88563],{"type":426,"tag":553,"props":88564,"children":88565},{"style":684},[88566],{"type":431,"value":756},{"type":426,"tag":553,"props":88568,"children":88569},{"class":555,"line":2440},[88570],{"type":426,"tag":553,"props":88571,"children":88572},{"emptyLinePlaceholder":831},[88573],{"type":431,"value":834},{"type":426,"tag":553,"props":88575,"children":88576},{"class":555,"line":2488},[88577],{"type":426,"tag":553,"props":88578,"children":88579},{"style":1975},[88580],{"type":431,"value":53575},{"type":426,"tag":553,"props":88582,"children":88583},{"class":555,"line":2509},[88584,88589,88593,88597,88601,88605,88609],{"type":426,"tag":553,"props":88585,"children":88586},{"style":684},[88587],{"type":431,"value":88588},"$rapiwa ",{"type":426,"tag":553,"props":88590,"children":88591},{"style":795},[88592],{"type":431,"value":957},{"type":426,"tag":553,"props":88594,"children":88595},{"style":795},[88596],{"type":431,"value":52275},{"type":426,"tag":553,"props":88598,"children":88599},{"style":566},[88600],{"type":431,"value":66860},{"type":426,"tag":553,"props":88602,"children":88603},{"style":684},[88604],{"type":431,"value":3275},{"type":426,"tag":553,"props":88606,"children":88607},{"style":572},[88608],{"type":431,"value":38451},{"type":426,"tag":553,"props":88610,"children":88611},{"style":684},[88612],{"type":431,"value":11379},{"type":426,"tag":553,"props":88614,"children":88615},{"class":555,"line":2527},[88616],{"type":426,"tag":553,"props":88617,"children":88618},{"emptyLinePlaceholder":831},[88619],{"type":431,"value":834},{"type":426,"tag":553,"props":88621,"children":88622},{"class":555,"line":2545},[88623,88628,88632,88637,88641,88645],{"type":426,"tag":553,"props":88624,"children":88625},{"style":684},[88626],{"type":431,"value":88627},"$result ",{"type":426,"tag":553,"props":88629,"children":88630},{"style":795},[88631],{"type":431,"value":957},{"type":426,"tag":553,"props":88633,"children":88634},{"style":684},[88635],{"type":431,"value":88636}," $rapiwa",{"type":426,"tag":553,"props":88638,"children":88639},{"style":795},[88640],{"type":431,"value":70711},{"type":426,"tag":553,"props":88642,"children":88643},{"style":560},[88644],{"type":431,"value":68378},{"type":426,"tag":553,"props":88646,"children":88647},{"style":684},[88648],{"type":431,"value":3172},{"type":426,"tag":553,"props":88650,"children":88651},{"class":555,"line":12991},[88652,88656,88660,88664],{"type":426,"tag":553,"props":88653,"children":88654},{"style":560},[88655],{"type":431,"value":44046},{"type":426,"tag":553,"props":88657,"children":88658},{"style":684},[88659],{"type":431,"value":700},{"type":426,"tag":553,"props":88661,"children":88662},{"style":572},[88663],{"type":431,"value":10197},{"type":426,"tag":553,"props":88665,"children":88666},{"style":684},[88667],{"type":431,"value":710},{"type":426,"tag":553,"props":88669,"children":88670},{"class":555,"line":13004},[88671,88675,88679],{"type":426,"tag":553,"props":88672,"children":88673},{"style":560},[88674],{"type":431,"value":3163},{"type":426,"tag":553,"props":88676,"children":88677},{"style":684},[88678],{"type":431,"value":700},{"type":426,"tag":553,"props":88680,"children":88681},{"style":572},[88682],{"type":431,"value":88683},"\"Hello from Guzzle! *Bold text* and _italic text_ both work in WhatsApp.\"\n",{"type":426,"tag":553,"props":88685,"children":88686},{"class":555,"line":13012},[88687],{"type":426,"tag":553,"props":88688,"children":88689},{"style":684},[88690],{"type":431,"value":11379},{"type":426,"tag":553,"props":88692,"children":88693},{"class":555,"line":13025},[88694],{"type":426,"tag":553,"props":88695,"children":88696},{"emptyLinePlaceholder":831},[88697],{"type":431,"value":834},{"type":426,"tag":553,"props":88699,"children":88700},{"class":555,"line":13033},[88701,88706,88711,88715,88720,88724,88728],{"type":426,"tag":553,"props":88702,"children":88703},{"style":566},[88704],{"type":431,"value":88705},"echo",{"type":426,"tag":553,"props":88707,"children":88708},{"style":572},[88709],{"type":431,"value":88710}," \"Status: {",{"type":426,"tag":553,"props":88712,"children":88713},{"style":684},[88714],{"type":431,"value":87257},{"type":426,"tag":553,"props":88716,"children":88717},{"style":572},[88718],{"type":431,"value":88719},"['status']}",{"type":426,"tag":553,"props":88721,"children":88722},{"style":566},[88723],{"type":431,"value":3661},{"type":426,"tag":553,"props":88725,"children":88726},{"style":572},[88727],{"type":431,"value":1527},{"type":426,"tag":553,"props":88729,"children":88730},{"style":684},[88731],{"type":431,"value":52321},{"type":426,"tag":553,"props":88733,"children":88734},{"class":555,"line":13069},[88735,88739,88744,88748,88752,88756,88760],{"type":426,"tag":553,"props":88736,"children":88737},{"style":566},[88738],{"type":431,"value":88705},{"type":426,"tag":553,"props":88740,"children":88741},{"style":572},[88742],{"type":431,"value":88743}," \"Message ID: {",{"type":426,"tag":553,"props":88745,"children":88746},{"style":684},[88747],{"type":431,"value":87257},{"type":426,"tag":553,"props":88749,"children":88750},{"style":572},[88751],{"type":431,"value":87262},{"type":426,"tag":553,"props":88753,"children":88754},{"style":566},[88755],{"type":431,"value":3661},{"type":426,"tag":553,"props":88757,"children":88758},{"style":572},[88759],{"type":431,"value":1527},{"type":426,"tag":553,"props":88761,"children":88762},{"style":684},[88763],{"type":431,"value":52321},{"type":426,"tag":434,"props":88765,"children":88767},{"id":88766},"method-3-send-bulk-whatsapp-messages-in-php",[88768],{"type":431,"value":88769},"Method 3: Send Bulk WhatsApp Messages in PHP",{"type":426,"tag":427,"props":88771,"children":88772},{},[88773],{"type":431,"value":88774},"Send the same message (or personalized messages) to a list of contacts:",{"type":426,"tag":542,"props":88776,"children":88778},{"code":88777,"language":79950,"meta":417,"className":79948,"style":417},"\u003C?php\n\nfunction sendBulkWhatsApp(array $contacts, string $apiKey, int $delayMs = 1000): array\n{\n    $results = [];\n\n    foreach ($contacts as $contact) {\n        $phone   = $contact['phone'];\n        $message = $contact['message'];\n\n        try {\n            $result = sendWhatsApp($phone, $message, $apiKey);\n            $results[] = [\n                'phone'   => $phone,\n                'status'  => 'sent',\n                'message_id' => $result['messageId'] ?? null,\n            ];\n        } catch (\\Exception $e) {\n            $results[] = [\n                'phone'  => $phone,\n                'status' => 'failed',\n                'error'  => $e->getMessage(),\n            ];\n        }\n\n        \u002F\u002F Respect rate limits — wait between sends\n        usleep($delayMs * 1000);\n    }\n\n    return $results;\n}\n\n\u002F\u002F Build your contact list with personalized messages\n$contacts = [\n    [\n        'phone'   => '8801234567890',\n        'message' => \"Hi Sarah! Your invoice #1001 is ready. Total: \\$49.99\",\n    ],\n    [\n        'phone'   => '447700900123',\n        'message' => \"Hi James! Your invoice #1002 is ready. Total: \\$79.99\",\n    ],\n    [\n        'phone'   => '12125551234',\n        'message' => \"Hi Emma! Your invoice #1003 is ready. Total: \\$29.99\",\n    ],\n];\n\n$results = sendBulkWhatsApp($contacts, 'YOUR_API_KEY', delayMs: 1000);\n\nforeach ($results as $r) {\n    echo \"{$r['phone']}: {$r['status']}\" . ($r['message_id'] ? \" ({$r['message_id']})\" : \" — {$r['error']}\") . \"\\n\";\n}\n",[88779],{"type":426,"tag":549,"props":88780,"children":88781},{"__ignoreMap":417},[88782,88793,88800,88864,88871,88888,88895,88916,88942,88966,88973,88984,89005,89021,89037,89057,89094,89102,89125,89140,89155,89174,89202,89209,89216,89223,89231,89256,89263,89270,89282,89289,89296,89304,89320,89328,89348,89378,89386,89393,89413,89442,89449,89456,89476,89505,89512,89519,89526,89573,89580,89602,89712],{"type":426,"tag":553,"props":88783,"children":88784},{"class":555,"line":556},[88785,88789],{"type":426,"tag":553,"props":88786,"children":88787},{"style":795},[88788],{"type":431,"value":86379},{"type":426,"tag":553,"props":88790,"children":88791},{"style":566},[88792],{"type":431,"value":86384},{"type":426,"tag":553,"props":88794,"children":88795},{"class":555,"line":588},[88796],{"type":426,"tag":553,"props":88797,"children":88798},{"emptyLinePlaceholder":831},[88799],{"type":431,"value":834},{"type":426,"tag":553,"props":88801,"children":88802},{"class":555,"line":606},[88803,88807,88812,88816,88821,88826,88830,88835,88839,88844,88848,88852,88856,88860],{"type":426,"tag":553,"props":88804,"children":88805},{"style":795},[88806],{"type":431,"value":79962},{"type":426,"tag":553,"props":88808,"children":88809},{"style":560},[88810],{"type":431,"value":88811}," sendBulkWhatsApp",{"type":426,"tag":553,"props":88813,"children":88814},{"style":684},[88815],{"type":431,"value":3275},{"type":426,"tag":553,"props":88817,"children":88818},{"style":795},[88819],{"type":431,"value":88820},"array",{"type":426,"tag":553,"props":88822,"children":88823},{"style":684},[88824],{"type":431,"value":88825}," $contacts, ",{"type":426,"tag":553,"props":88827,"children":88828},{"style":795},[88829],{"type":431,"value":71939},{"type":426,"tag":553,"props":88831,"children":88832},{"style":684},[88833],{"type":431,"value":88834}," $apiKey, ",{"type":426,"tag":553,"props":88836,"children":88837},{"style":795},[88838],{"type":431,"value":885},{"type":426,"tag":553,"props":88840,"children":88841},{"style":684},[88842],{"type":431,"value":88843}," $delayMs ",{"type":426,"tag":553,"props":88845,"children":88846},{"style":795},[88847],{"type":431,"value":957},{"type":426,"tag":553,"props":88849,"children":88850},{"style":566},[88851],{"type":431,"value":15727},{"type":426,"tag":553,"props":88853,"children":88854},{"style":684},[88855],{"type":431,"value":5736},{"type":426,"tag":553,"props":88857,"children":88858},{"style":795},[88859],{"type":431,"value":19071},{"type":426,"tag":553,"props":88861,"children":88862},{"style":795},[88863],{"type":431,"value":86442},{"type":426,"tag":553,"props":88865,"children":88866},{"class":555,"line":623},[88867],{"type":426,"tag":553,"props":88868,"children":88869},{"style":684},[88870],{"type":431,"value":687},{"type":426,"tag":553,"props":88872,"children":88873},{"class":555,"line":637},[88874,88879,88883],{"type":426,"tag":553,"props":88875,"children":88876},{"style":684},[88877],{"type":431,"value":88878},"    $results ",{"type":426,"tag":553,"props":88880,"children":88881},{"style":795},[88882],{"type":431,"value":957},{"type":426,"tag":553,"props":88884,"children":88885},{"style":684},[88886],{"type":431,"value":88887}," [];\n",{"type":426,"tag":553,"props":88889,"children":88890},{"class":555,"line":646},[88891],{"type":426,"tag":553,"props":88892,"children":88893},{"emptyLinePlaceholder":831},[88894],{"type":431,"value":834},{"type":426,"tag":553,"props":88896,"children":88897},{"class":555,"line":655},[88898,88902,88907,88911],{"type":426,"tag":553,"props":88899,"children":88900},{"style":795},[88901],{"type":431,"value":75277},{"type":426,"tag":553,"props":88903,"children":88904},{"style":684},[88905],{"type":431,"value":88906}," ($contacts ",{"type":426,"tag":553,"props":88908,"children":88909},{"style":795},[88910],{"type":431,"value":10075},{"type":426,"tag":553,"props":88912,"children":88913},{"style":684},[88914],{"type":431,"value":88915}," $contact) {\n",{"type":426,"tag":553,"props":88917,"children":88918},{"class":555,"line":1036},[88919,88924,88928,88933,88937],{"type":426,"tag":553,"props":88920,"children":88921},{"style":684},[88922],{"type":431,"value":88923},"        $phone   ",{"type":426,"tag":553,"props":88925,"children":88926},{"style":795},[88927],{"type":431,"value":957},{"type":426,"tag":553,"props":88929,"children":88930},{"style":684},[88931],{"type":431,"value":88932}," $contact[",{"type":426,"tag":553,"props":88934,"children":88935},{"style":572},[88936],{"type":431,"value":1769},{"type":426,"tag":553,"props":88938,"children":88939},{"style":684},[88940],{"type":431,"value":88941},"];\n",{"type":426,"tag":553,"props":88943,"children":88944},{"class":555,"line":1054},[88945,88950,88954,88958,88962],{"type":426,"tag":553,"props":88946,"children":88947},{"style":684},[88948],{"type":431,"value":88949},"        $message ",{"type":426,"tag":553,"props":88951,"children":88952},{"style":795},[88953],{"type":431,"value":957},{"type":426,"tag":553,"props":88955,"children":88956},{"style":684},[88957],{"type":431,"value":88932},{"type":426,"tag":553,"props":88959,"children":88960},{"style":572},[88961],{"type":431,"value":1779},{"type":426,"tag":553,"props":88963,"children":88964},{"style":684},[88965],{"type":431,"value":88941},{"type":426,"tag":553,"props":88967,"children":88968},{"class":555,"line":1080},[88969],{"type":426,"tag":553,"props":88970,"children":88971},{"emptyLinePlaceholder":831},[88972],{"type":431,"value":834},{"type":426,"tag":553,"props":88974,"children":88975},{"class":555,"line":1097},[88976,88980],{"type":426,"tag":553,"props":88977,"children":88978},{"style":795},[88979],{"type":431,"value":8822},{"type":426,"tag":553,"props":88981,"children":88982},{"style":684},[88983],{"type":431,"value":5458},{"type":426,"tag":553,"props":88985,"children":88986},{"class":555,"line":1114},[88987,88992,88996,89000],{"type":426,"tag":553,"props":88988,"children":88989},{"style":684},[88990],{"type":431,"value":88991},"            $result ",{"type":426,"tag":553,"props":88993,"children":88994},{"style":795},[88995],{"type":431,"value":957},{"type":426,"tag":553,"props":88997,"children":88998},{"style":560},[88999],{"type":431,"value":86403},{"type":426,"tag":553,"props":89001,"children":89002},{"style":684},[89003],{"type":431,"value":89004},"($phone, $message, $apiKey);\n",{"type":426,"tag":553,"props":89006,"children":89007},{"class":555,"line":1127},[89008,89013,89017],{"type":426,"tag":553,"props":89009,"children":89010},{"style":684},[89011],{"type":431,"value":89012},"            $results[] ",{"type":426,"tag":553,"props":89014,"children":89015},{"style":795},[89016],{"type":431,"value":957},{"type":426,"tag":553,"props":89018,"children":89019},{"style":684},[89020],{"type":431,"value":80133},{"type":426,"tag":553,"props":89022,"children":89023},{"class":555,"line":1167},[89024,89029,89033],{"type":426,"tag":553,"props":89025,"children":89026},{"style":572},[89027],{"type":431,"value":89028},"                'phone'",{"type":426,"tag":553,"props":89030,"children":89031},{"style":795},[89032],{"type":431,"value":88446},{"type":426,"tag":553,"props":89034,"children":89035},{"style":684},[89036],{"type":431,"value":80199},{"type":426,"tag":553,"props":89038,"children":89039},{"class":555,"line":1184},[89040,89044,89048,89053],{"type":426,"tag":553,"props":89041,"children":89042},{"style":572},[89043],{"type":431,"value":18102},{"type":426,"tag":553,"props":89045,"children":89046},{"style":795},[89047],{"type":431,"value":86642},{"type":426,"tag":553,"props":89049,"children":89050},{"style":572},[89051],{"type":431,"value":89052}," 'sent'",{"type":426,"tag":553,"props":89054,"children":89055},{"style":684},[89056],{"type":431,"value":710},{"type":426,"tag":553,"props":89058,"children":89059},{"class":555,"line":1192},[89060,89065,89069,89074,89078,89082,89086,89090],{"type":426,"tag":553,"props":89061,"children":89062},{"style":572},[89063],{"type":431,"value":89064},"                'message_id'",{"type":426,"tag":553,"props":89066,"children":89067},{"style":795},[89068],{"type":431,"value":53709},{"type":426,"tag":553,"props":89070,"children":89071},{"style":684},[89072],{"type":431,"value":89073}," $result[",{"type":426,"tag":553,"props":89075,"children":89076},{"style":572},[89077],{"type":431,"value":8316},{"type":426,"tag":553,"props":89079,"children":89080},{"style":684},[89081],{"type":431,"value":2229},{"type":426,"tag":553,"props":89083,"children":89084},{"style":795},[89085],{"type":431,"value":74011},{"type":426,"tag":553,"props":89087,"children":89088},{"style":566},[89089],{"type":431,"value":62188},{"type":426,"tag":553,"props":89091,"children":89092},{"style":684},[89093],{"type":431,"value":710},{"type":426,"tag":553,"props":89095,"children":89096},{"class":555,"line":1210},[89097],{"type":426,"tag":553,"props":89098,"children":89099},{"style":684},[89100],{"type":431,"value":89101},"            ];\n",{"type":426,"tag":553,"props":89103,"children":89104},{"class":555,"line":1253},[89105,89109,89113,89117,89121],{"type":426,"tag":553,"props":89106,"children":89107},{"style":684},[89108],{"type":431,"value":61745},{"type":426,"tag":553,"props":89110,"children":89111},{"style":795},[89112],{"type":431,"value":61750},{"type":426,"tag":553,"props":89114,"children":89115},{"style":684},[89116],{"type":431,"value":5684},{"type":426,"tag":553,"props":89118,"children":89119},{"style":566},[89120],{"type":431,"value":87302},{"type":426,"tag":553,"props":89122,"children":89123},{"style":684},[89124],{"type":431,"value":87307},{"type":426,"tag":553,"props":89126,"children":89127},{"class":555,"line":1302},[89128,89132,89136],{"type":426,"tag":553,"props":89129,"children":89130},{"style":684},[89131],{"type":431,"value":89012},{"type":426,"tag":553,"props":89133,"children":89134},{"style":795},[89135],{"type":431,"value":957},{"type":426,"tag":553,"props":89137,"children":89138},{"style":684},[89139],{"type":431,"value":80133},{"type":426,"tag":553,"props":89141,"children":89142},{"class":555,"line":1374},[89143,89147,89151],{"type":426,"tag":553,"props":89144,"children":89145},{"style":572},[89146],{"type":431,"value":89028},{"type":426,"tag":553,"props":89148,"children":89149},{"style":795},[89150],{"type":431,"value":86642},{"type":426,"tag":553,"props":89152,"children":89153},{"style":684},[89154],{"type":431,"value":80199},{"type":426,"tag":553,"props":89156,"children":89157},{"class":555,"line":1414},[89158,89162,89166,89170],{"type":426,"tag":553,"props":89159,"children":89160},{"style":572},[89161],{"type":431,"value":18102},{"type":426,"tag":553,"props":89163,"children":89164},{"style":795},[89165],{"type":431,"value":53709},{"type":426,"tag":553,"props":89167,"children":89168},{"style":572},[89169],{"type":431,"value":55989},{"type":426,"tag":553,"props":89171,"children":89172},{"style":684},[89173],{"type":431,"value":710},{"type":426,"tag":553,"props":89175,"children":89176},{"class":555,"line":1479},[89177,89182,89186,89190,89194,89198],{"type":426,"tag":553,"props":89178,"children":89179},{"style":572},[89180],{"type":431,"value":89181},"                'error'",{"type":426,"tag":553,"props":89183,"children":89184},{"style":795},[89185],{"type":431,"value":86642},{"type":426,"tag":553,"props":89187,"children":89188},{"style":684},[89189],{"type":431,"value":87329},{"type":426,"tag":553,"props":89191,"children":89192},{"style":795},[89193],{"type":431,"value":70711},{"type":426,"tag":553,"props":89195,"children":89196},{"style":560},[89197],{"type":431,"value":61798},{"type":426,"tag":553,"props":89199,"children":89200},{"style":684},[89201],{"type":431,"value":11349},{"type":426,"tag":553,"props":89203,"children":89204},{"class":555,"line":1517},[89205],{"type":426,"tag":553,"props":89206,"children":89207},{"style":684},[89208],{"type":431,"value":89101},{"type":426,"tag":553,"props":89210,"children":89211},{"class":555,"line":1560},[89212],{"type":426,"tag":553,"props":89213,"children":89214},{"style":684},[89215],{"type":431,"value":15075},{"type":426,"tag":553,"props":89217,"children":89218},{"class":555,"line":1598},[89219],{"type":426,"tag":553,"props":89220,"children":89221},{"emptyLinePlaceholder":831},[89222],{"type":431,"value":834},{"type":426,"tag":553,"props":89224,"children":89225},{"class":555,"line":1636},[89226],{"type":426,"tag":553,"props":89227,"children":89228},{"style":1975},[89229],{"type":431,"value":89230},"        \u002F\u002F Respect rate limits — wait between sends\n",{"type":426,"tag":553,"props":89232,"children":89233},{"class":555,"line":1645},[89234,89239,89244,89248,89252],{"type":426,"tag":553,"props":89235,"children":89236},{"style":566},[89237],{"type":431,"value":89238},"        usleep",{"type":426,"tag":553,"props":89240,"children":89241},{"style":684},[89242],{"type":431,"value":89243},"($delayMs ",{"type":426,"tag":553,"props":89245,"children":89246},{"style":795},[89247],{"type":431,"value":5801},{"type":426,"tag":553,"props":89249,"children":89250},{"style":566},[89251],{"type":431,"value":15727},{"type":426,"tag":553,"props":89253,"children":89254},{"style":684},[89255],{"type":431,"value":11379},{"type":426,"tag":553,"props":89257,"children":89258},{"class":555,"line":1653},[89259],{"type":426,"tag":553,"props":89260,"children":89261},{"style":684},[89262],{"type":431,"value":5546},{"type":426,"tag":553,"props":89264,"children":89265},{"class":555,"line":1667},[89266],{"type":426,"tag":553,"props":89267,"children":89268},{"emptyLinePlaceholder":831},[89269],{"type":431,"value":834},{"type":426,"tag":553,"props":89271,"children":89272},{"class":555,"line":1680},[89273,89277],{"type":426,"tag":553,"props":89274,"children":89275},{"style":795},[89276],{"type":431,"value":1659},{"type":426,"tag":553,"props":89278,"children":89279},{"style":684},[89280],{"type":431,"value":89281}," $results;\n",{"type":426,"tag":553,"props":89283,"children":89284},{"class":555,"line":1740},[89285],{"type":426,"tag":553,"props":89286,"children":89287},{"style":684},[89288],{"type":431,"value":756},{"type":426,"tag":553,"props":89290,"children":89291},{"class":555,"line":1787},[89292],{"type":426,"tag":553,"props":89293,"children":89294},{"emptyLinePlaceholder":831},[89295],{"type":431,"value":834},{"type":426,"tag":553,"props":89297,"children":89298},{"class":555,"line":1796},[89299],{"type":426,"tag":553,"props":89300,"children":89301},{"style":1975},[89302],{"type":431,"value":89303},"\u002F\u002F Build your contact list with personalized messages\n",{"type":426,"tag":553,"props":89305,"children":89306},{"class":555,"line":1804},[89307,89312,89316],{"type":426,"tag":553,"props":89308,"children":89309},{"style":684},[89310],{"type":431,"value":89311},"$contacts ",{"type":426,"tag":553,"props":89313,"children":89314},{"style":795},[89315],{"type":431,"value":957},{"type":426,"tag":553,"props":89317,"children":89318},{"style":684},[89319],{"type":431,"value":80133},{"type":426,"tag":553,"props":89321,"children":89322},{"class":555,"line":1812},[89323],{"type":426,"tag":553,"props":89324,"children":89325},{"style":684},[89326],{"type":431,"value":89327},"    [\n",{"type":426,"tag":553,"props":89329,"children":89330},{"class":555,"line":1847},[89331,89335,89339,89344],{"type":426,"tag":553,"props":89332,"children":89333},{"style":572},[89334],{"type":431,"value":51817},{"type":426,"tag":553,"props":89336,"children":89337},{"style":795},[89338],{"type":431,"value":88446},{"type":426,"tag":553,"props":89340,"children":89341},{"style":572},[89342],{"type":431,"value":89343}," '8801234567890'",{"type":426,"tag":553,"props":89345,"children":89346},{"style":684},[89347],{"type":431,"value":710},{"type":426,"tag":553,"props":89349,"children":89350},{"class":555,"line":1856},[89351,89355,89359,89364,89369,89374],{"type":426,"tag":553,"props":89352,"children":89353},{"style":572},[89354],{"type":431,"value":38956},{"type":426,"tag":553,"props":89356,"children":89357},{"style":795},[89358],{"type":431,"value":53709},{"type":426,"tag":553,"props":89360,"children":89361},{"style":572},[89362],{"type":431,"value":89363}," \"Hi Sarah! Your invoice #1001 is ready. Total: ",{"type":426,"tag":553,"props":89365,"children":89366},{"style":566},[89367],{"type":431,"value":89368},"\\$",{"type":426,"tag":553,"props":89370,"children":89371},{"style":572},[89372],{"type":431,"value":89373},"49.99\"",{"type":426,"tag":553,"props":89375,"children":89376},{"style":684},[89377],{"type":431,"value":710},{"type":426,"tag":553,"props":89379,"children":89380},{"class":555,"line":1874},[89381],{"type":426,"tag":553,"props":89382,"children":89383},{"style":684},[89384],{"type":431,"value":89385},"    ],\n",{"type":426,"tag":553,"props":89387,"children":89388},{"class":555,"line":1882},[89389],{"type":426,"tag":553,"props":89390,"children":89391},{"style":684},[89392],{"type":431,"value":89327},{"type":426,"tag":553,"props":89394,"children":89395},{"class":555,"line":1981},[89396,89400,89404,89409],{"type":426,"tag":553,"props":89397,"children":89398},{"style":572},[89399],{"type":431,"value":51817},{"type":426,"tag":553,"props":89401,"children":89402},{"style":795},[89403],{"type":431,"value":88446},{"type":426,"tag":553,"props":89405,"children":89406},{"style":572},[89407],{"type":431,"value":89408}," '447700900123'",{"type":426,"tag":553,"props":89410,"children":89411},{"style":684},[89412],{"type":431,"value":710},{"type":426,"tag":553,"props":89414,"children":89415},{"class":555,"line":1989},[89416,89420,89424,89429,89433,89438],{"type":426,"tag":553,"props":89417,"children":89418},{"style":572},[89419],{"type":431,"value":38956},{"type":426,"tag":553,"props":89421,"children":89422},{"style":795},[89423],{"type":431,"value":53709},{"type":426,"tag":553,"props":89425,"children":89426},{"style":572},[89427],{"type":431,"value":89428}," \"Hi James! Your invoice #1002 is ready. Total: ",{"type":426,"tag":553,"props":89430,"children":89431},{"style":566},[89432],{"type":431,"value":89368},{"type":426,"tag":553,"props":89434,"children":89435},{"style":572},[89436],{"type":431,"value":89437},"79.99\"",{"type":426,"tag":553,"props":89439,"children":89440},{"style":684},[89441],{"type":431,"value":710},{"type":426,"tag":553,"props":89443,"children":89444},{"class":555,"line":2013},[89445],{"type":426,"tag":553,"props":89446,"children":89447},{"style":684},[89448],{"type":431,"value":89385},{"type":426,"tag":553,"props":89450,"children":89451},{"class":555,"line":2055},[89452],{"type":426,"tag":553,"props":89453,"children":89454},{"style":684},[89455],{"type":431,"value":89327},{"type":426,"tag":553,"props":89457,"children":89458},{"class":555,"line":2064},[89459,89463,89467,89472],{"type":426,"tag":553,"props":89460,"children":89461},{"style":572},[89462],{"type":431,"value":51817},{"type":426,"tag":553,"props":89464,"children":89465},{"style":795},[89466],{"type":431,"value":88446},{"type":426,"tag":553,"props":89468,"children":89469},{"style":572},[89470],{"type":431,"value":89471}," '12125551234'",{"type":426,"tag":553,"props":89473,"children":89474},{"style":684},[89475],{"type":431,"value":710},{"type":426,"tag":553,"props":89477,"children":89478},{"class":555,"line":2087},[89479,89483,89487,89492,89496,89501],{"type":426,"tag":553,"props":89480,"children":89481},{"style":572},[89482],{"type":431,"value":38956},{"type":426,"tag":553,"props":89484,"children":89485},{"style":795},[89486],{"type":431,"value":53709},{"type":426,"tag":553,"props":89488,"children":89489},{"style":572},[89490],{"type":431,"value":89491}," \"Hi Emma! Your invoice #1003 is ready. Total: ",{"type":426,"tag":553,"props":89493,"children":89494},{"style":566},[89495],{"type":431,"value":89368},{"type":426,"tag":553,"props":89497,"children":89498},{"style":572},[89499],{"type":431,"value":89500},"29.99\"",{"type":426,"tag":553,"props":89502,"children":89503},{"style":684},[89504],{"type":431,"value":710},{"type":426,"tag":553,"props":89506,"children":89507},{"class":555,"line":2096},[89508],{"type":426,"tag":553,"props":89509,"children":89510},{"style":684},[89511],{"type":431,"value":89385},{"type":426,"tag":553,"props":89513,"children":89514},{"class":555,"line":2105},[89515],{"type":426,"tag":553,"props":89516,"children":89517},{"style":684},[89518],{"type":431,"value":88941},{"type":426,"tag":553,"props":89520,"children":89521},{"class":555,"line":2114},[89522],{"type":426,"tag":553,"props":89523,"children":89524},{"emptyLinePlaceholder":831},[89525],{"type":431,"value":834},{"type":426,"tag":553,"props":89527,"children":89528},{"class":555,"line":2123},[89529,89534,89538,89542,89547,89551,89555,89560,89564,89569],{"type":426,"tag":553,"props":89530,"children":89531},{"style":684},[89532],{"type":431,"value":89533},"$results ",{"type":426,"tag":553,"props":89535,"children":89536},{"style":795},[89537],{"type":431,"value":957},{"type":426,"tag":553,"props":89539,"children":89540},{"style":560},[89541],{"type":431,"value":88811},{"type":426,"tag":553,"props":89543,"children":89544},{"style":684},[89545],{"type":431,"value":89546},"($contacts, ",{"type":426,"tag":553,"props":89548,"children":89549},{"style":572},[89550],{"type":431,"value":38451},{"type":426,"tag":553,"props":89552,"children":89553},{"style":684},[89554],{"type":431,"value":1907},{"type":426,"tag":553,"props":89556,"children":89557},{"style":560},[89558],{"type":431,"value":89559},"delayMs",{"type":426,"tag":553,"props":89561,"children":89562},{"style":684},[89563],{"type":431,"value":700},{"type":426,"tag":553,"props":89565,"children":89566},{"style":566},[89567],{"type":431,"value":89568},"1000",{"type":426,"tag":553,"props":89570,"children":89571},{"style":684},[89572],{"type":431,"value":11379},{"type":426,"tag":553,"props":89574,"children":89575},{"class":555,"line":2132},[89576],{"type":426,"tag":553,"props":89577,"children":89578},{"emptyLinePlaceholder":831},[89579],{"type":431,"value":834},{"type":426,"tag":553,"props":89581,"children":89582},{"class":555,"line":2151},[89583,89588,89593,89597],{"type":426,"tag":553,"props":89584,"children":89585},{"style":795},[89586],{"type":431,"value":89587},"foreach",{"type":426,"tag":553,"props":89589,"children":89590},{"style":684},[89591],{"type":431,"value":89592}," ($results ",{"type":426,"tag":553,"props":89594,"children":89595},{"style":795},[89596],{"type":431,"value":10075},{"type":426,"tag":553,"props":89598,"children":89599},{"style":684},[89600],{"type":431,"value":89601}," $r) {\n",{"type":426,"tag":553,"props":89603,"children":89604},{"class":555,"line":2160},[89605,89609,89614,89619,89624,89628,89633,89637,89642,89647,89651,89655,89660,89664,89669,89674,89679,89683,89688,89692,89696,89700,89704,89708],{"type":426,"tag":553,"props":89606,"children":89607},{"style":566},[89608],{"type":431,"value":87315},{"type":426,"tag":553,"props":89610,"children":89611},{"style":572},[89612],{"type":431,"value":89613}," \"{",{"type":426,"tag":553,"props":89615,"children":89616},{"style":684},[89617],{"type":431,"value":89618},"$r",{"type":426,"tag":553,"props":89620,"children":89621},{"style":572},[89622],{"type":431,"value":89623},"['phone']}: {",{"type":426,"tag":553,"props":89625,"children":89626},{"style":684},[89627],{"type":431,"value":89618},{"type":426,"tag":553,"props":89629,"children":89630},{"style":572},[89631],{"type":431,"value":89632},"['status']}\"",{"type":426,"tag":553,"props":89634,"children":89635},{"style":795},[89636],{"type":431,"value":87022},{"type":426,"tag":553,"props":89638,"children":89639},{"style":684},[89640],{"type":431,"value":89641}," ($r[",{"type":426,"tag":553,"props":89643,"children":89644},{"style":572},[89645],{"type":431,"value":89646},"'message_id'",{"type":426,"tag":553,"props":89648,"children":89649},{"style":684},[89650],{"type":431,"value":2229},{"type":426,"tag":553,"props":89652,"children":89653},{"style":795},[89654],{"type":431,"value":68164},{"type":426,"tag":553,"props":89656,"children":89657},{"style":572},[89658],{"type":431,"value":89659}," \" ({",{"type":426,"tag":553,"props":89661,"children":89662},{"style":684},[89663],{"type":431,"value":89618},{"type":426,"tag":553,"props":89665,"children":89666},{"style":572},[89667],{"type":431,"value":89668},"['message_id']})\"",{"type":426,"tag":553,"props":89670,"children":89671},{"style":795},[89672],{"type":431,"value":89673}," :",{"type":426,"tag":553,"props":89675,"children":89676},{"style":572},[89677],{"type":431,"value":89678}," \" — {",{"type":426,"tag":553,"props":89680,"children":89681},{"style":684},[89682],{"type":431,"value":89618},{"type":426,"tag":553,"props":89684,"children":89685},{"style":572},[89686],{"type":431,"value":89687},"['error']}\"",{"type":426,"tag":553,"props":89689,"children":89690},{"style":684},[89691],{"type":431,"value":2987},{"type":426,"tag":553,"props":89693,"children":89694},{"style":795},[89695],{"type":431,"value":6789},{"type":426,"tag":553,"props":89697,"children":89698},{"style":572},[89699],{"type":431,"value":87350},{"type":426,"tag":553,"props":89701,"children":89702},{"style":566},[89703],{"type":431,"value":3661},{"type":426,"tag":553,"props":89705,"children":89706},{"style":572},[89707],{"type":431,"value":1527},{"type":426,"tag":553,"props":89709,"children":89710},{"style":684},[89711],{"type":431,"value":52321},{"type":426,"tag":553,"props":89713,"children":89714},{"class":555,"line":2174},[89715],{"type":426,"tag":553,"props":89716,"children":89717},{"style":684},[89718],{"type":431,"value":756},{"type":426,"tag":434,"props":89720,"children":89722},{"id":89721},"method-4-wordpress-integration-no-plugin",[89723],{"type":431,"value":89724},"Method 4: WordPress Integration (No Plugin)",{"type":426,"tag":427,"props":89726,"children":89727},{},[89728,89730,89736],{"type":431,"value":89729},"Send WhatsApp messages from WordPress using ",{"type":426,"tag":549,"props":89731,"children":89733},{"className":89732},[],[89734],{"type":431,"value":89735},"wp_remote_post()",{"type":431,"value":19071},{"type":426,"tag":542,"props":89738,"children":89740},{"code":89739,"language":79950,"meta":417,"className":79948,"style":417},"\u003C?php\n\u002F\u002F Add to your theme's functions.php or a custom plugin\n\nfunction rapiwa_send_whatsapp(string $phone, string $message): bool\n{\n    $response = wp_remote_post('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', [\n        'timeout' => 15,\n        'headers' => [\n            'Authorization' => 'Bearer ' . get_option('rapiwa_api_key'),\n            'Content-Type'  => 'application\u002Fjson',\n        ],\n        'body' => wp_json_encode([\n            'number'  => $phone,\n            'message' => $message,\n        ]),\n    ]);\n\n    if (is_wp_error($response)) {\n        error_log('Rapiwa error: ' . $response->get_error_message());\n        return false;\n    }\n\n    $body = json_decode(wp_remote_retrieve_body($response), true);\n    return $body['status'] === 'success';\n}\n\n\u002F\u002F Example: Send WhatsApp on WooCommerce order completion\nadd_action('woocommerce_order_status_completed', function (int $order_id) {\n    $order = wc_get_order($order_id);\n    $phone = $order->get_billing_phone();\n\n    if ($phone) {\n        $message = \"Hi {$order->get_billing_first_name()}! ✅ Order #{$order_id} completed. Thank you!\";\n        rapiwa_send_whatsapp($phone, $message);\n    }\n});\n",[89741],{"type":426,"tag":549,"props":89742,"children":89743},{"__ignoreMap":417},[89744,89755,89763,89770,89811,89818,89846,89866,89882,89920,89940,89947,89968,89983,89998,90005,90012,90019,90040,90078,90094,90101,90108,90146,90178,90185,90192,90200,90238,90260,90290,90297,90309,90358,90371,90378],{"type":426,"tag":553,"props":89745,"children":89746},{"class":555,"line":556},[89747,89751],{"type":426,"tag":553,"props":89748,"children":89749},{"style":795},[89750],{"type":431,"value":86379},{"type":426,"tag":553,"props":89752,"children":89753},{"style":566},[89754],{"type":431,"value":86384},{"type":426,"tag":553,"props":89756,"children":89757},{"class":555,"line":588},[89758],{"type":426,"tag":553,"props":89759,"children":89760},{"style":1975},[89761],{"type":431,"value":89762},"\u002F\u002F Add to your theme's functions.php or a custom plugin\n",{"type":426,"tag":553,"props":89764,"children":89765},{"class":555,"line":606},[89766],{"type":426,"tag":553,"props":89767,"children":89768},{"emptyLinePlaceholder":831},[89769],{"type":431,"value":834},{"type":426,"tag":553,"props":89771,"children":89772},{"class":555,"line":623},[89773,89777,89782,89786,89790,89794,89798,89802,89806],{"type":426,"tag":553,"props":89774,"children":89775},{"style":795},[89776],{"type":431,"value":79962},{"type":426,"tag":553,"props":89778,"children":89779},{"style":560},[89780],{"type":431,"value":89781}," rapiwa_send_whatsapp",{"type":426,"tag":553,"props":89783,"children":89784},{"style":684},[89785],{"type":431,"value":3275},{"type":426,"tag":553,"props":89787,"children":89788},{"style":795},[89789],{"type":431,"value":71939},{"type":426,"tag":553,"props":89791,"children":89792},{"style":684},[89793],{"type":431,"value":79980},{"type":426,"tag":553,"props":89795,"children":89796},{"style":795},[89797],{"type":431,"value":71939},{"type":426,"tag":553,"props":89799,"children":89800},{"style":684},[89801],{"type":431,"value":87812},{"type":426,"tag":553,"props":89803,"children":89804},{"style":795},[89805],{"type":431,"value":19071},{"type":426,"tag":553,"props":89807,"children":89808},{"style":795},[89809],{"type":431,"value":89810}," bool\n",{"type":426,"tag":553,"props":89812,"children":89813},{"class":555,"line":637},[89814],{"type":426,"tag":553,"props":89815,"children":89816},{"style":684},[89817],{"type":431,"value":687},{"type":426,"tag":553,"props":89819,"children":89820},{"class":555,"line":646},[89821,89825,89829,89834,89838,89842],{"type":426,"tag":553,"props":89822,"children":89823},{"style":684},[89824],{"type":431,"value":86692},{"type":426,"tag":553,"props":89826,"children":89827},{"style":795},[89828],{"type":431,"value":957},{"type":426,"tag":553,"props":89830,"children":89831},{"style":560},[89832],{"type":431,"value":89833}," wp_remote_post",{"type":426,"tag":553,"props":89835,"children":89836},{"style":684},[89837],{"type":431,"value":3275},{"type":426,"tag":553,"props":89839,"children":89840},{"style":572},[89841],{"type":431,"value":55802},{"type":426,"tag":553,"props":89843,"children":89844},{"style":684},[89845],{"type":431,"value":87886},{"type":426,"tag":553,"props":89847,"children":89848},{"class":555,"line":655},[89849,89854,89858,89862],{"type":426,"tag":553,"props":89850,"children":89851},{"style":572},[89852],{"type":431,"value":89853},"        'timeout'",{"type":426,"tag":553,"props":89855,"children":89856},{"style":795},[89857],{"type":431,"value":53709},{"type":426,"tag":553,"props":89859,"children":89860},{"style":566},[89861],{"type":431,"value":86551},{"type":426,"tag":553,"props":89863,"children":89864},{"style":684},[89865],{"type":431,"value":710},{"type":426,"tag":553,"props":89867,"children":89868},{"class":555,"line":1036},[89869,89874,89878],{"type":426,"tag":553,"props":89870,"children":89871},{"style":572},[89872],{"type":431,"value":89873},"        'headers'",{"type":426,"tag":553,"props":89875,"children":89876},{"style":795},[89877],{"type":431,"value":53709},{"type":426,"tag":553,"props":89879,"children":89880},{"style":684},[89881],{"type":431,"value":80133},{"type":426,"tag":553,"props":89883,"children":89884},{"class":555,"line":1054},[89885,89890,89894,89899,89903,89908,89912,89916],{"type":426,"tag":553,"props":89886,"children":89887},{"style":572},[89888],{"type":431,"value":89889},"            'Authorization'",{"type":426,"tag":553,"props":89891,"children":89892},{"style":795},[89893],{"type":431,"value":53709},{"type":426,"tag":553,"props":89895,"children":89896},{"style":572},[89897],{"type":431,"value":89898}," 'Bearer '",{"type":426,"tag":553,"props":89900,"children":89901},{"style":795},[89902],{"type":431,"value":87022},{"type":426,"tag":553,"props":89904,"children":89905},{"style":560},[89906],{"type":431,"value":89907}," get_option",{"type":426,"tag":553,"props":89909,"children":89910},{"style":684},[89911],{"type":431,"value":3275},{"type":426,"tag":553,"props":89913,"children":89914},{"style":572},[89915],{"type":431,"value":14901},{"type":426,"tag":553,"props":89917,"children":89918},{"style":684},[89919],{"type":431,"value":11615},{"type":426,"tag":553,"props":89921,"children":89922},{"class":555,"line":1080},[89923,89928,89932,89936],{"type":426,"tag":553,"props":89924,"children":89925},{"style":572},[89926],{"type":431,"value":89927},"            'Content-Type'",{"type":426,"tag":553,"props":89929,"children":89930},{"style":795},[89931],{"type":431,"value":86642},{"type":426,"tag":553,"props":89933,"children":89934},{"style":572},[89935],{"type":431,"value":87742},{"type":426,"tag":553,"props":89937,"children":89938},{"style":684},[89939],{"type":431,"value":710},{"type":426,"tag":553,"props":89941,"children":89942},{"class":555,"line":1097},[89943],{"type":426,"tag":553,"props":89944,"children":89945},{"style":684},[89946],{"type":431,"value":80161},{"type":426,"tag":553,"props":89948,"children":89949},{"class":555,"line":1114},[89950,89955,89959,89964],{"type":426,"tag":553,"props":89951,"children":89952},{"style":572},[89953],{"type":431,"value":89954},"        'body'",{"type":426,"tag":553,"props":89956,"children":89957},{"style":795},[89958],{"type":431,"value":53709},{"type":426,"tag":553,"props":89960,"children":89961},{"style":560},[89962],{"type":431,"value":89963}," wp_json_encode",{"type":426,"tag":553,"props":89965,"children":89966},{"style":684},[89967],{"type":431,"value":80183},{"type":426,"tag":553,"props":89969,"children":89970},{"class":555,"line":1127},[89971,89975,89979],{"type":426,"tag":553,"props":89972,"children":89973},{"style":572},[89974],{"type":431,"value":15045},{"type":426,"tag":553,"props":89976,"children":89977},{"style":795},[89978],{"type":431,"value":86642},{"type":426,"tag":553,"props":89980,"children":89981},{"style":684},[89982],{"type":431,"value":80199},{"type":426,"tag":553,"props":89984,"children":89985},{"class":555,"line":1167},[89986,89990,89994],{"type":426,"tag":553,"props":89987,"children":89988},{"style":572},[89989],{"type":431,"value":15058},{"type":426,"tag":553,"props":89991,"children":89992},{"style":795},[89993],{"type":431,"value":53709},{"type":426,"tag":553,"props":89995,"children":89996},{"style":684},[89997],{"type":431,"value":86662},{"type":426,"tag":553,"props":89999,"children":90000},{"class":555,"line":1184},[90001],{"type":426,"tag":553,"props":90002,"children":90003},{"style":684},[90004],{"type":431,"value":86670},{"type":426,"tag":553,"props":90006,"children":90007},{"class":555,"line":1192},[90008],{"type":426,"tag":553,"props":90009,"children":90010},{"style":684},[90011],{"type":431,"value":80263},{"type":426,"tag":553,"props":90013,"children":90014},{"class":555,"line":1210},[90015],{"type":426,"tag":553,"props":90016,"children":90017},{"emptyLinePlaceholder":831},[90018],{"type":431,"value":834},{"type":426,"tag":553,"props":90020,"children":90021},{"class":555,"line":1253},[90022,90026,90030,90035],{"type":426,"tag":553,"props":90023,"children":90024},{"style":795},[90025],{"type":431,"value":925},{"type":426,"tag":553,"props":90027,"children":90028},{"style":684},[90029],{"type":431,"value":5684},{"type":426,"tag":553,"props":90031,"children":90032},{"style":560},[90033],{"type":431,"value":90034},"is_wp_error",{"type":426,"tag":553,"props":90036,"children":90037},{"style":684},[90038],{"type":431,"value":90039},"($response)) {\n",{"type":426,"tag":553,"props":90041,"children":90042},{"class":555,"line":1302},[90043,90048,90052,90056,90060,90065,90069,90074],{"type":426,"tag":553,"props":90044,"children":90045},{"style":566},[90046],{"type":431,"value":90047},"        error_log",{"type":426,"tag":553,"props":90049,"children":90050},{"style":684},[90051],{"type":431,"value":3275},{"type":426,"tag":553,"props":90053,"children":90054},{"style":572},[90055],{"type":431,"value":61706},{"type":426,"tag":553,"props":90057,"children":90058},{"style":795},[90059],{"type":431,"value":87022},{"type":426,"tag":553,"props":90061,"children":90062},{"style":684},[90063],{"type":431,"value":90064}," $response",{"type":426,"tag":553,"props":90066,"children":90067},{"style":795},[90068],{"type":431,"value":70711},{"type":426,"tag":553,"props":90070,"children":90071},{"style":560},[90072],{"type":431,"value":90073},"get_error_message",{"type":426,"tag":553,"props":90075,"children":90076},{"style":684},[90077],{"type":431,"value":61503},{"type":426,"tag":553,"props":90079,"children":90080},{"class":555,"line":1374},[90081,90085,90090],{"type":426,"tag":553,"props":90082,"children":90083},{"style":795},[90084],{"type":431,"value":8378},{"type":426,"tag":553,"props":90086,"children":90087},{"style":566},[90088],{"type":431,"value":90089}," false",{"type":426,"tag":553,"props":90091,"children":90092},{"style":684},[90093],{"type":431,"value":52321},{"type":426,"tag":553,"props":90095,"children":90096},{"class":555,"line":1414},[90097],{"type":426,"tag":553,"props":90098,"children":90099},{"style":684},[90100],{"type":431,"value":5546},{"type":426,"tag":553,"props":90102,"children":90103},{"class":555,"line":1479},[90104],{"type":426,"tag":553,"props":90105,"children":90106},{"emptyLinePlaceholder":831},[90107],{"type":431,"value":834},{"type":426,"tag":553,"props":90109,"children":90110},{"class":555,"line":1517},[90111,90116,90120,90124,90128,90133,90138,90142],{"type":426,"tag":553,"props":90112,"children":90113},{"style":684},[90114],{"type":431,"value":90115},"    $body ",{"type":426,"tag":553,"props":90117,"children":90118},{"style":795},[90119],{"type":431,"value":957},{"type":426,"tag":553,"props":90121,"children":90122},{"style":566},[90123],{"type":431,"value":80280},{"type":426,"tag":553,"props":90125,"children":90126},{"style":684},[90127],{"type":431,"value":3275},{"type":426,"tag":553,"props":90129,"children":90130},{"style":560},[90131],{"type":431,"value":90132},"wp_remote_retrieve_body",{"type":426,"tag":553,"props":90134,"children":90135},{"style":684},[90136],{"type":431,"value":90137},"($response), ",{"type":426,"tag":553,"props":90139,"children":90140},{"style":566},[90141],{"type":431,"value":48523},{"type":426,"tag":553,"props":90143,"children":90144},{"style":684},[90145],{"type":431,"value":11379},{"type":426,"tag":553,"props":90147,"children":90148},{"class":555,"line":1560},[90149,90153,90158,90162,90166,90170,90174],{"type":426,"tag":553,"props":90150,"children":90151},{"style":795},[90152],{"type":431,"value":1659},{"type":426,"tag":553,"props":90154,"children":90155},{"style":684},[90156],{"type":431,"value":90157}," $body[",{"type":426,"tag":553,"props":90159,"children":90160},{"style":572},[90161],{"type":431,"value":2982},{"type":426,"tag":553,"props":90163,"children":90164},{"style":684},[90165],{"type":431,"value":2229},{"type":426,"tag":553,"props":90167,"children":90168},{"style":795},[90169],{"type":431,"value":55042},{"type":426,"tag":553,"props":90171,"children":90172},{"style":572},[90173],{"type":431,"value":2996},{"type":426,"tag":553,"props":90175,"children":90176},{"style":684},[90177],{"type":431,"value":52321},{"type":426,"tag":553,"props":90179,"children":90180},{"class":555,"line":1598},[90181],{"type":426,"tag":553,"props":90182,"children":90183},{"style":684},[90184],{"type":431,"value":756},{"type":426,"tag":553,"props":90186,"children":90187},{"class":555,"line":1636},[90188],{"type":426,"tag":553,"props":90189,"children":90190},{"emptyLinePlaceholder":831},[90191],{"type":431,"value":834},{"type":426,"tag":553,"props":90193,"children":90194},{"class":555,"line":1645},[90195],{"type":426,"tag":553,"props":90196,"children":90197},{"style":1975},[90198],{"type":431,"value":90199},"\u002F\u002F Example: Send WhatsApp on WooCommerce order completion\n",{"type":426,"tag":553,"props":90201,"children":90202},{"class":555,"line":1653},[90203,90208,90212,90217,90221,90225,90229,90233],{"type":426,"tag":553,"props":90204,"children":90205},{"style":560},[90206],{"type":431,"value":90207},"add_action",{"type":426,"tag":553,"props":90209,"children":90210},{"style":684},[90211],{"type":431,"value":3275},{"type":426,"tag":553,"props":90213,"children":90214},{"style":572},[90215],{"type":431,"value":90216},"'woocommerce_order_status_completed'",{"type":426,"tag":553,"props":90218,"children":90219},{"style":684},[90220],{"type":431,"value":1907},{"type":426,"tag":553,"props":90222,"children":90223},{"style":795},[90224],{"type":431,"value":79962},{"type":426,"tag":553,"props":90226,"children":90227},{"style":684},[90228],{"type":431,"value":5684},{"type":426,"tag":553,"props":90230,"children":90231},{"style":795},[90232],{"type":431,"value":885},{"type":426,"tag":553,"props":90234,"children":90235},{"style":684},[90236],{"type":431,"value":90237}," $order_id) {\n",{"type":426,"tag":553,"props":90239,"children":90240},{"class":555,"line":1667},[90241,90246,90250,90255],{"type":426,"tag":553,"props":90242,"children":90243},{"style":684},[90244],{"type":431,"value":90245},"    $order ",{"type":426,"tag":553,"props":90247,"children":90248},{"style":795},[90249],{"type":431,"value":957},{"type":426,"tag":553,"props":90251,"children":90252},{"style":560},[90253],{"type":431,"value":90254}," wc_get_order",{"type":426,"tag":553,"props":90256,"children":90257},{"style":684},[90258],{"type":431,"value":90259},"($order_id);\n",{"type":426,"tag":553,"props":90261,"children":90262},{"class":555,"line":1680},[90263,90268,90272,90277,90281,90286],{"type":426,"tag":553,"props":90264,"children":90265},{"style":684},[90266],{"type":431,"value":90267},"    $phone ",{"type":426,"tag":553,"props":90269,"children":90270},{"style":795},[90271],{"type":431,"value":957},{"type":426,"tag":553,"props":90273,"children":90274},{"style":684},[90275],{"type":431,"value":90276}," $order",{"type":426,"tag":553,"props":90278,"children":90279},{"style":795},[90280],{"type":431,"value":70711},{"type":426,"tag":553,"props":90282,"children":90283},{"style":560},[90284],{"type":431,"value":90285},"get_billing_phone",{"type":426,"tag":553,"props":90287,"children":90288},{"style":684},[90289],{"type":431,"value":53227},{"type":426,"tag":553,"props":90291,"children":90292},{"class":555,"line":1740},[90293],{"type":426,"tag":553,"props":90294,"children":90295},{"emptyLinePlaceholder":831},[90296],{"type":431,"value":834},{"type":426,"tag":553,"props":90298,"children":90299},{"class":555,"line":1787},[90300,90304],{"type":426,"tag":553,"props":90301,"children":90302},{"style":795},[90303],{"type":431,"value":925},{"type":426,"tag":553,"props":90305,"children":90306},{"style":684},[90307],{"type":431,"value":90308}," ($phone) {\n",{"type":426,"tag":553,"props":90310,"children":90311},{"class":555,"line":1796},[90312,90316,90320,90325,90330,90334,90339,90344,90349,90354],{"type":426,"tag":553,"props":90313,"children":90314},{"style":684},[90315],{"type":431,"value":88949},{"type":426,"tag":553,"props":90317,"children":90318},{"style":795},[90319],{"type":431,"value":957},{"type":426,"tag":553,"props":90321,"children":90322},{"style":572},[90323],{"type":431,"value":90324}," \"Hi {",{"type":426,"tag":553,"props":90326,"children":90327},{"style":684},[90328],{"type":431,"value":90329},"$order",{"type":426,"tag":553,"props":90331,"children":90332},{"style":795},[90333],{"type":431,"value":70711},{"type":426,"tag":553,"props":90335,"children":90336},{"style":560},[90337],{"type":431,"value":90338},"get_billing_first_name",{"type":426,"tag":553,"props":90340,"children":90341},{"style":572},[90342],{"type":431,"value":90343},"()}! ✅ Order #{",{"type":426,"tag":553,"props":90345,"children":90346},{"style":684},[90347],{"type":431,"value":90348},"$order_id",{"type":426,"tag":553,"props":90350,"children":90351},{"style":572},[90352],{"type":431,"value":90353},"} completed. Thank you!\"",{"type":426,"tag":553,"props":90355,"children":90356},{"style":684},[90357],{"type":431,"value":52321},{"type":426,"tag":553,"props":90359,"children":90360},{"class":555,"line":1804},[90361,90366],{"type":426,"tag":553,"props":90362,"children":90363},{"style":560},[90364],{"type":431,"value":90365},"        rapiwa_send_whatsapp",{"type":426,"tag":553,"props":90367,"children":90368},{"style":684},[90369],{"type":431,"value":90370},"($phone, $message);\n",{"type":426,"tag":553,"props":90372,"children":90373},{"class":555,"line":1812},[90374],{"type":426,"tag":553,"props":90375,"children":90376},{"style":684},[90377],{"type":431,"value":5546},{"type":426,"tag":553,"props":90379,"children":90380},{"class":555,"line":1847},[90381],{"type":426,"tag":553,"props":90382,"children":90383},{"style":684},[90384],{"type":431,"value":55916},{"type":426,"tag":434,"props":90386,"children":90388},{"id":90387},"phone-number-format",[90389],{"type":431,"value":90390},"Phone Number Format",{"type":426,"tag":427,"props":90392,"children":90393},{},[90394,90396,90401],{"type":431,"value":90395},"Always format numbers in international format without ",{"type":426,"tag":549,"props":90397,"children":90399},{"className":90398},[],[90400],{"type":431,"value":2033},{"type":431,"value":19071},{"type":426,"tag":10600,"props":90403,"children":90404},{},[90405,90426],{"type":426,"tag":10604,"props":90406,"children":90407},{},[90408],{"type":426,"tag":10608,"props":90409,"children":90410},{},[90411,90416,90421],{"type":426,"tag":10612,"props":90412,"children":90413},{},[90414],{"type":431,"value":90415},"Country",{"type":426,"tag":10612,"props":90417,"children":90418},{},[90419],{"type":431,"value":90420},"Example (wrong)",{"type":426,"tag":10612,"props":90422,"children":90423},{},[90424],{"type":431,"value":90425},"Example (correct)",{"type":426,"tag":10623,"props":90427,"children":90428},{},[90429,90446,90463,90480],{"type":426,"tag":10608,"props":90430,"children":90431},{},[90432,90437,90442],{"type":426,"tag":10630,"props":90433,"children":90434},{},[90435],{"type":431,"value":90436},"Bangladesh",{"type":426,"tag":10630,"props":90438,"children":90439},{},[90440],{"type":431,"value":90441},"+880 1234-567890",{"type":426,"tag":10630,"props":90443,"children":90444},{},[90445],{"type":431,"value":7237},{"type":426,"tag":10608,"props":90447,"children":90448},{},[90449,90454,90459],{"type":426,"tag":10630,"props":90450,"children":90451},{},[90452],{"type":431,"value":90453},"UK",{"type":426,"tag":10630,"props":90455,"children":90456},{},[90457],{"type":431,"value":90458},"+44 7700 900123",{"type":426,"tag":10630,"props":90460,"children":90461},{},[90462],{"type":431,"value":6779},{"type":426,"tag":10608,"props":90464,"children":90465},{},[90466,90471,90476],{"type":426,"tag":10630,"props":90467,"children":90468},{},[90469],{"type":431,"value":90470},"USA",{"type":426,"tag":10630,"props":90472,"children":90473},{},[90474],{"type":431,"value":90475},"+1 (212) 555-1234",{"type":426,"tag":10630,"props":90477,"children":90478},{},[90479],{"type":431,"value":36525},{"type":426,"tag":10608,"props":90481,"children":90482},{},[90483,90488,90493],{"type":426,"tag":10630,"props":90484,"children":90485},{},[90486],{"type":431,"value":90487},"India",{"type":426,"tag":10630,"props":90489,"children":90490},{},[90491],{"type":431,"value":90492},"+91 98765 43210",{"type":426,"tag":10630,"props":90494,"children":90495},{},[90496],{"type":431,"value":6787},{"type":426,"tag":427,"props":90498,"children":90499},{},[90500],{"type":426,"tag":446,"props":90501,"children":90502},{},[90503],{"type":431,"value":90504},"PHP helper to clean phone numbers:",{"type":426,"tag":542,"props":90506,"children":90508},{"code":90507,"language":79950,"meta":417,"className":79948,"style":417},"function cleanPhoneNumber(string $phone): string {\n    \u002F\u002F Remove +, spaces, dashes, parentheses\n    return preg_replace('\u002F[^0-9]\u002F', '', $phone);\n}\n\necho cleanPhoneNumber('+880-1234-567890'); \u002F\u002F 8801234567890\n",[90509],{"type":426,"tag":549,"props":90510,"children":90511},{"__ignoreMap":417},[90512,90549,90557,90602,90609,90616],{"type":426,"tag":553,"props":90513,"children":90514},{"class":555,"line":556},[90515,90519,90524,90528,90532,90537,90541,90545],{"type":426,"tag":553,"props":90516,"children":90517},{"style":795},[90518],{"type":431,"value":79962},{"type":426,"tag":553,"props":90520,"children":90521},{"style":560},[90522],{"type":431,"value":90523}," cleanPhoneNumber",{"type":426,"tag":553,"props":90525,"children":90526},{"style":684},[90527],{"type":431,"value":3275},{"type":426,"tag":553,"props":90529,"children":90530},{"style":795},[90531],{"type":431,"value":71939},{"type":426,"tag":553,"props":90533,"children":90534},{"style":684},[90535],{"type":431,"value":90536}," $phone)",{"type":426,"tag":553,"props":90538,"children":90539},{"style":795},[90540],{"type":431,"value":19071},{"type":426,"tag":553,"props":90542,"children":90543},{"style":795},[90544],{"type":431,"value":76053},{"type":426,"tag":553,"props":90546,"children":90547},{"style":684},[90548],{"type":431,"value":5458},{"type":426,"tag":553,"props":90550,"children":90551},{"class":555,"line":588},[90552],{"type":426,"tag":553,"props":90553,"children":90554},{"style":1975},[90555],{"type":431,"value":90556},"    \u002F\u002F Remove +, spaces, dashes, parentheses\n",{"type":426,"tag":553,"props":90558,"children":90559},{"class":555,"line":606},[90560,90564,90569,90573,90578,90584,90589,90593,90597],{"type":426,"tag":553,"props":90561,"children":90562},{"style":795},[90563],{"type":431,"value":1659},{"type":426,"tag":553,"props":90565,"children":90566},{"style":566},[90567],{"type":431,"value":90568}," preg_replace",{"type":426,"tag":553,"props":90570,"children":90571},{"style":684},[90572],{"type":431,"value":3275},{"type":426,"tag":553,"props":90574,"children":90575},{"style":572},[90576],{"type":431,"value":90577},"'\u002F",{"type":426,"tag":553,"props":90579,"children":90581},{"style":90580},"--shiki-default:#DBEDFF",[90582],{"type":431,"value":90583},"[^0-9]",{"type":426,"tag":553,"props":90585,"children":90586},{"style":572},[90587],{"type":431,"value":90588},"\u002F'",{"type":426,"tag":553,"props":90590,"children":90591},{"style":684},[90592],{"type":431,"value":1907},{"type":426,"tag":553,"props":90594,"children":90595},{"style":572},[90596],{"type":431,"value":13605},{"type":426,"tag":553,"props":90598,"children":90599},{"style":684},[90600],{"type":431,"value":90601},", $phone);\n",{"type":426,"tag":553,"props":90603,"children":90604},{"class":555,"line":623},[90605],{"type":426,"tag":553,"props":90606,"children":90607},{"style":684},[90608],{"type":431,"value":756},{"type":426,"tag":553,"props":90610,"children":90611},{"class":555,"line":637},[90612],{"type":426,"tag":553,"props":90613,"children":90614},{"emptyLinePlaceholder":831},[90615],{"type":431,"value":834},{"type":426,"tag":553,"props":90617,"children":90618},{"class":555,"line":646},[90619,90623,90627,90631,90635,90639],{"type":426,"tag":553,"props":90620,"children":90621},{"style":566},[90622],{"type":431,"value":88705},{"type":426,"tag":553,"props":90624,"children":90625},{"style":560},[90626],{"type":431,"value":90523},{"type":426,"tag":553,"props":90628,"children":90629},{"style":684},[90630],{"type":431,"value":3275},{"type":426,"tag":553,"props":90632,"children":90633},{"style":572},[90634],{"type":431,"value":7548},{"type":426,"tag":553,"props":90636,"children":90637},{"style":684},[90638],{"type":431,"value":61204},{"type":426,"tag":553,"props":90640,"children":90641},{"style":1975},[90642],{"type":431,"value":90643},"\u002F\u002F 8801234567890\n",{"type":426,"tag":434,"props":90645,"children":90646},{"id":18886},[90647],{"type":431,"value":18889},{"type":426,"tag":454,"props":90649,"children":90650},{},[90651,90668,90677,90687],{"type":426,"tag":458,"props":90652,"children":90653},{},[90654,90659,90661,90666],{"type":426,"tag":446,"props":90655,"children":90656},{},[90657],{"type":431,"value":90658},"cURL error 7: Failed to connect",{"type":431,"value":90660},": Your PHP server can't reach ",{"type":426,"tag":549,"props":90662,"children":90664},{"className":90663},[],[90665],{"type":431,"value":71426},{"type":431,"value":90667},". Check outbound HTTPS access on port 443.",{"type":426,"tag":458,"props":90669,"children":90670},{},[90671,90675],{"type":426,"tag":446,"props":90672,"children":90673},{},[90674],{"type":431,"value":71440},{"type":431,"value":90676},": API key is wrong or expired. Regenerate at Rapiwa Dashboard → API Keys.",{"type":426,"tag":458,"props":90678,"children":90679},{},[90680,90685],{"type":426,"tag":446,"props":90681,"children":90682},{},[90683],{"type":431,"value":90684},"HTTP 400 — number format",{"type":431,"value":90686},": Strip all non-digit characters from the phone number.",{"type":426,"tag":458,"props":90688,"children":90689},{},[90690,90695,90697,90703],{"type":426,"tag":446,"props":90691,"children":90692},{},[90693],{"type":431,"value":90694},"json_decode returns null",{"type":431,"value":90696},": Check ",{"type":426,"tag":549,"props":90698,"children":90700},{"className":90699},[],[90701],{"type":431,"value":90702},"json_last_error_msg()",{"type":431,"value":90704}," to diagnose the response parsing issue.",{"type":426,"tag":434,"props":90706,"children":90707},{"id":4109},[90708],{"type":431,"value":4112},{"type":426,"tag":427,"props":90710,"children":90711},{},[90712,90717,90719,90725],{"type":426,"tag":446,"props":90713,"children":90714},{},[90715],{"type":431,"value":90716},"Can I send WhatsApp messages from PHP without a library?",{"type":431,"value":90718},"\nYes. Native PHP ",{"type":426,"tag":549,"props":90720,"children":90722},{"className":90721},[],[90723],{"type":431,"value":90724},"curl_*",{"type":431,"value":90726}," functions are all you need — no Guzzle or other library required.",{"type":426,"tag":427,"props":90728,"children":90729},{},[90730,90735],{"type":426,"tag":446,"props":90731,"children":90732},{},[90733],{"type":431,"value":90734},"Does Rapiwa charge per message sent from PHP?",{"type":431,"value":30566},{"type":426,"tag":427,"props":90737,"children":90738},{},[90739,90744],{"type":426,"tag":446,"props":90740,"children":90741},{},[90742],{"type":431,"value":90743},"What PHP version is required?",{"type":431,"value":90745},"\nPHP 7.4 or higher. The code uses named arguments (PHP 8.0+) in some examples — remove them for PHP 7.4 compatibility.",{"type":426,"tag":427,"props":90747,"children":90748},{},[90749,90762,90764,90770,90772,90778,90780,90786],{"type":426,"tag":446,"props":90750,"children":90751},{},[90752,90754,90760],{"type":431,"value":90753},"Can I use ",{"type":426,"tag":549,"props":90755,"children":90757},{"className":90756},[],[90758],{"type":431,"value":90759},"file_get_contents",{"type":431,"value":90761}," instead of cURL?",{"type":431,"value":90763},"\nYes, if ",{"type":426,"tag":549,"props":90765,"children":90767},{"className":90766},[],[90768],{"type":431,"value":90769},"allow_url_fopen = On",{"type":431,"value":90771}," in your ",{"type":426,"tag":549,"props":90773,"children":90775},{"className":90774},[],[90776],{"type":431,"value":90777},"php.ini",{"type":431,"value":90779},". Use ",{"type":426,"tag":549,"props":90781,"children":90783},{"className":90782},[],[90784],{"type":431,"value":90785},"stream_context_create()",{"type":431,"value":90787}," with POST method and headers. The cURL method is more reliable and widely supported.",{"type":426,"tag":427,"props":90789,"children":90790},{},[90791,90796],{"type":426,"tag":446,"props":90792,"children":90793},{},[90794],{"type":431,"value":90795},"How many messages can I send per second with the PHP API?",{"type":431,"value":90797},"\nRapiwa recommends a 1-second delay between messages for bulk sends. For time-sensitive single messages (OTPs, order notifications), there is no minimum delay.",{"type":426,"tag":4164,"props":90799,"children":90800},{},[90801],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":90803},[90804,90805,90806,90807,90808,90809,90810,90811,90812],{"id":86262,"depth":588,"text":86265},{"id":47624,"depth":588,"text":47627},{"id":86356,"depth":588,"text":86359},{"id":87387,"depth":588,"text":87390},{"id":88766,"depth":588,"text":88769},{"id":89721,"depth":588,"text":89724},{"id":90387,"depth":588,"text":90390},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-php-tutorial-rapiwa.md","blog\u002Fwhatsapp-api-php-tutorial-rapiwa.md","blog\u002Fwhatsapp-api-php-tutorial-rapiwa",{"loc":113},{"_path":117,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":118,"description":119,"date":90818,"author":4196,"category":22,"_slug":90819,"image":90820,"body":90821,"_type":4187,"_id":95518,"_source":4189,"_file":95519,"_stem":95520,"_extension":4192,"sitemap":95521},"2026-02-25","whatsapp-api-laravel-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-laravel-rapiwa.svg",{"type":423,"children":90822,"toc":95505},[90823,90843,90847,90885,90896,90943,90955,91052,91058,91095,92417,92423,92435,92562,92568,93179,93185,93190,93608,93616,94084,94092,94175,94183,94224,94230,94235,94263,94688,94696,94787,94795,94888,94895,94971,94977,95073,95321,95325,95407,95411,95421,95438,95448,95491,95501],{"type":426,"tag":427,"props":90824,"children":90825},{},[90826,90828,90833,90835,90841],{"type":431,"value":90827},"You can send WhatsApp messages from a Laravel application using Rapiwa API by creating a service class that calls ",{"type":426,"tag":549,"props":90829,"children":90831},{"className":90830},[],[90832],{"type":431,"value":7216},{"type":431,"value":90834},". This guide shows how to build a reusable ",{"type":426,"tag":549,"props":90836,"children":90838},{"className":90837},[],[90839],{"type":431,"value":90840},"RapiwaService",{"type":431,"value":90842},", create a Laravel Notification channel, and queue WhatsApp messages for high-throughput applications. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":90844,"children":90845},{"id":47624},[90846],{"type":431,"value":47627},{"type":426,"tag":454,"props":90848,"children":90849},{},[90850,90860,90864,90869,90874],{"type":426,"tag":458,"props":90851,"children":90852},{},[90853,90854,90859],{"type":431,"value":48828},{"type":426,"tag":3819,"props":90855,"children":90857},{"href":3821,"rel":90856},[3823],[90858],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":90861,"children":90862},{},[90863],{"type":431,"value":48840},{"type":426,"tag":458,"props":90865,"children":90866},{},[90867],{"type":431,"value":90868},"Laravel 9.x, 10.x, or 11.x",{"type":426,"tag":458,"props":90870,"children":90871},{},[90872],{"type":431,"value":90873},"PHP 8.1+",{"type":426,"tag":458,"props":90875,"children":90876},{},[90877,90883],{"type":426,"tag":549,"props":90878,"children":90880},{"className":90879},[],[90881],{"type":431,"value":90882},"composer require guzzlehttp\u002Fguzzle",{"type":431,"value":90884}," (usually included with Laravel)",{"type":426,"tag":434,"props":90886,"children":90888},{"id":90887},"step-1-add-rapiwa-credentials-to-env",[90889,90891],{"type":431,"value":90890},"Step 1: Add Rapiwa Credentials to ",{"type":426,"tag":549,"props":90892,"children":90894},{"className":90893},[],[90895],{"type":431,"value":7139},{"type":426,"tag":542,"props":90897,"children":90899},{"className":546,"code":90898,"language":545,"meta":417,"style":417},"# Add to .env\nRAPIWA_API_KEY=your_api_key_here\nRAPIWA_API_URL=https:\u002F\u002Fapp.rapiwa.com\n",[90900],{"type":426,"tag":549,"props":90901,"children":90902},{"__ignoreMap":417},[90903,90911,90927],{"type":426,"tag":553,"props":90904,"children":90905},{"class":555,"line":556},[90906],{"type":426,"tag":553,"props":90907,"children":90908},{"style":1975},[90909],{"type":431,"value":90910},"# Add to .env\n",{"type":426,"tag":553,"props":90912,"children":90913},{"class":555,"line":588},[90914,90918,90922],{"type":426,"tag":553,"props":90915,"children":90916},{"style":684},[90917],{"type":431,"value":7156},{"type":426,"tag":553,"props":90919,"children":90920},{"style":795},[90921],{"type":431,"value":957},{"type":426,"tag":553,"props":90923,"children":90924},{"style":572},[90925],{"type":431,"value":90926},"your_api_key_here\n",{"type":426,"tag":553,"props":90928,"children":90929},{"class":555,"line":606},[90930,90935,90939],{"type":426,"tag":553,"props":90931,"children":90932},{"style":684},[90933],{"type":431,"value":90934},"RAPIWA_API_URL",{"type":426,"tag":553,"props":90936,"children":90937},{"style":795},[90938],{"type":431,"value":957},{"type":426,"tag":553,"props":90940,"children":90941},{"style":572},[90942],{"type":431,"value":7182},{"type":426,"tag":427,"props":90944,"children":90945},{},[90946,90948,90954],{"type":431,"value":90947},"Add to ",{"type":426,"tag":549,"props":90949,"children":90951},{"className":90950},[],[90952],{"type":431,"value":90953},"config\u002Fservices.php",{"type":431,"value":19071},{"type":426,"tag":542,"props":90956,"children":90958},{"className":79948,"code":90957,"language":79950,"meta":417,"style":417},"'rapiwa' => [\n    'key' => env('RAPIWA_API_KEY'),\n    'url' => env('RAPIWA_API_URL', 'https:\u002F\u002Fapp.rapiwa.com'),\n],\n",[90959],{"type":426,"tag":549,"props":90960,"children":90961},{"__ignoreMap":417},[90962,90978,91007,91045],{"type":426,"tag":553,"props":90963,"children":90964},{"class":555,"line":556},[90965,90970,90974],{"type":426,"tag":553,"props":90966,"children":90967},{"style":572},[90968],{"type":431,"value":90969},"'rapiwa'",{"type":426,"tag":553,"props":90971,"children":90972},{"style":795},[90973],{"type":431,"value":53709},{"type":426,"tag":553,"props":90975,"children":90976},{"style":684},[90977],{"type":431,"value":80133},{"type":426,"tag":553,"props":90979,"children":90980},{"class":555,"line":588},[90981,90986,90990,90995,90999,91003],{"type":426,"tag":553,"props":90982,"children":90983},{"style":572},[90984],{"type":431,"value":90985},"    'key'",{"type":426,"tag":553,"props":90987,"children":90988},{"style":795},[90989],{"type":431,"value":53709},{"type":426,"tag":553,"props":90991,"children":90992},{"style":560},[90993],{"type":431,"value":90994}," env",{"type":426,"tag":553,"props":90996,"children":90997},{"style":684},[90998],{"type":431,"value":3275},{"type":426,"tag":553,"props":91000,"children":91001},{"style":572},[91002],{"type":431,"value":9533},{"type":426,"tag":553,"props":91004,"children":91005},{"style":684},[91006],{"type":431,"value":11615},{"type":426,"tag":553,"props":91008,"children":91009},{"class":555,"line":606},[91010,91015,91019,91023,91027,91032,91036,91041],{"type":426,"tag":553,"props":91011,"children":91012},{"style":572},[91013],{"type":431,"value":91014},"    'url'",{"type":426,"tag":553,"props":91016,"children":91017},{"style":795},[91018],{"type":431,"value":53709},{"type":426,"tag":553,"props":91020,"children":91021},{"style":560},[91022],{"type":431,"value":90994},{"type":426,"tag":553,"props":91024,"children":91025},{"style":684},[91026],{"type":431,"value":3275},{"type":426,"tag":553,"props":91028,"children":91029},{"style":572},[91030],{"type":431,"value":91031},"'RAPIWA_API_URL'",{"type":426,"tag":553,"props":91033,"children":91034},{"style":684},[91035],{"type":431,"value":1907},{"type":426,"tag":553,"props":91037,"children":91038},{"style":572},[91039],{"type":431,"value":91040},"'https:\u002F\u002Fapp.rapiwa.com'",{"type":426,"tag":553,"props":91042,"children":91043},{"style":684},[91044],{"type":431,"value":11615},{"type":426,"tag":553,"props":91046,"children":91047},{"class":555,"line":623},[91048],{"type":426,"tag":553,"props":91049,"children":91050},{"style":684},[91051],{"type":431,"value":12804},{"type":426,"tag":434,"props":91053,"children":91055},{"id":91054},"step-2-create-the-rapiwaservice",[91056],{"type":431,"value":91057},"Step 2: Create the RapiwaService",{"type":426,"tag":542,"props":91059,"children":91061},{"className":546,"code":91060,"language":545,"meta":417,"style":417},"php artisan make:service RapiwaService\n# If make:service is not available, create app\u002FServices\u002FRapiwaService.php manually\n",[91062],{"type":426,"tag":549,"props":91063,"children":91064},{"__ignoreMap":417},[91065,91087],{"type":426,"tag":553,"props":91066,"children":91067},{"class":555,"line":556},[91068,91072,91077,91082],{"type":426,"tag":553,"props":91069,"children":91070},{"style":560},[91071],{"type":431,"value":79950},{"type":426,"tag":553,"props":91073,"children":91074},{"style":572},[91075],{"type":431,"value":91076}," artisan",{"type":426,"tag":553,"props":91078,"children":91079},{"style":572},[91080],{"type":431,"value":91081}," make:service",{"type":426,"tag":553,"props":91083,"children":91084},{"style":572},[91085],{"type":431,"value":91086}," RapiwaService\n",{"type":426,"tag":553,"props":91088,"children":91089},{"class":555,"line":588},[91090],{"type":426,"tag":553,"props":91091,"children":91092},{"style":1975},[91093],{"type":431,"value":91094},"# If make:service is not available, create app\u002FServices\u002FRapiwaService.php manually\n",{"type":426,"tag":542,"props":91096,"children":91098},{"className":79948,"code":91097,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F app\u002FServices\u002FRapiwaService.php\n\nnamespace App\\Services;\n\nuse Illuminate\\Support\\Facades\\Http;\nuse Illuminate\\Http\\Client\\Response;\n\nclass RapiwaService\n{\n    private string $apiKey;\n    private string $baseUrl;\n\n    public function __construct()\n    {\n        $this->apiKey = config('services.rapiwa.key');\n        $this->baseUrl = config('services.rapiwa.url');\n    }\n\n    \u002F**\n     * Send a text message via WhatsApp.\n     *\n     * @param string $phone  International format without '+', e.g. 8801234567890\n     * @param string $message  Plain text or WhatsApp-formatted text (*bold*, _italic_)\n     * @return array{status: string, messageId: string}\n     *\u002F\n    public function sendMessage(string $phone, string $message): array\n    {\n        $response = Http::withToken($this->apiKey)\n            ->timeout(10)\n            ->post(\"{$this->baseUrl}\u002Fsend-message\", [\n                'number' => $phone,\n                'message' => $message,\n            ]);\n\n        $this->handleErrors($response);\n\n        return $response->json();\n    }\n\n    \u002F**\n     * Send an image message via WhatsApp.\n     *\n     * @param string $phone\n     * @param string $imageUrl  Publicly accessible image URL\n     * @param string $caption   Optional image caption\n     *\u002F\n    public function sendImage(string $phone, string $imageUrl, string $caption = ''): array\n    {\n        $response = Http::withToken($this->apiKey)\n            ->timeout(15)\n            ->post(\"{$this->baseUrl}\u002Fsend-image\", [\n                'number' => $phone,\n                'imageUrl' => $imageUrl,\n                'caption' => $caption,\n            ]);\n\n        $this->handleErrors($response);\n\n        return $response->json();\n    }\n\n    private function handleErrors(Response $response): void\n    {\n        if ($response->status() === 401) {\n            throw new \\RuntimeException('Rapiwa API key is invalid or expired. Check config\u002Fservices.php rapiwa.key');\n        }\n\n        if ($response->status() === 400) {\n            throw new \\InvalidArgumentException('Invalid request to Rapiwa API: ' . $response->body());\n        }\n\n        if ($response->failed()) {\n            throw new \\RuntimeException('Rapiwa API request failed: ' . $response->body());\n        }\n    }\n}\n",[91099],{"type":426,"tag":549,"props":91100,"children":91101},{"__ignoreMap":417},[91102,91113,91121,91128,91144,91151,91167,91183,91190,91201,91208,91224,91240,91247,91266,91273,91311,91348,91355,91362,91369,91377,91384,91404,91424,91452,91459,91502,91509,91552,91576,91617,91632,91648,91655,91662,91683,91690,91713,91720,91727,91734,91742,91749,91769,91789,91809,91816,91879,91886,91925,91948,91988,92003,92018,92033,92040,92047,92066,92073,92096,92103,92110,92149,92156,92192,92220,92227,92234,92269,92313,92320,92327,92352,92396,92403,92410],{"type":426,"tag":553,"props":91103,"children":91104},{"class":555,"line":556},[91105,91109],{"type":426,"tag":553,"props":91106,"children":91107},{"style":795},[91108],{"type":431,"value":86379},{"type":426,"tag":553,"props":91110,"children":91111},{"style":566},[91112],{"type":431,"value":86384},{"type":426,"tag":553,"props":91114,"children":91115},{"class":555,"line":588},[91116],{"type":426,"tag":553,"props":91117,"children":91118},{"style":1975},[91119],{"type":431,"value":91120},"\u002F\u002F app\u002FServices\u002FRapiwaService.php\n",{"type":426,"tag":553,"props":91122,"children":91123},{"class":555,"line":606},[91124],{"type":426,"tag":553,"props":91125,"children":91126},{"emptyLinePlaceholder":831},[91127],{"type":431,"value":834},{"type":426,"tag":553,"props":91129,"children":91130},{"class":555,"line":623},[91131,91135,91140],{"type":426,"tag":553,"props":91132,"children":91133},{"style":795},[91134],{"type":431,"value":72817},{"type":426,"tag":553,"props":91136,"children":91137},{"style":560},[91138],{"type":431,"value":91139}," App\\Services",{"type":426,"tag":553,"props":91141,"children":91142},{"style":684},[91143],{"type":431,"value":52321},{"type":426,"tag":553,"props":91145,"children":91146},{"class":555,"line":637},[91147],{"type":426,"tag":553,"props":91148,"children":91149},{"emptyLinePlaceholder":831},[91150],{"type":431,"value":834},{"type":426,"tag":553,"props":91152,"children":91153},{"class":555,"line":646},[91154,91158,91163],{"type":426,"tag":553,"props":91155,"children":91156},{"style":795},[91157],{"type":431,"value":84570},{"type":426,"tag":553,"props":91159,"children":91160},{"style":566},[91161],{"type":431,"value":91162}," Illuminate\\Support\\Facades\\Http",{"type":426,"tag":553,"props":91164,"children":91165},{"style":684},[91166],{"type":431,"value":52321},{"type":426,"tag":553,"props":91168,"children":91169},{"class":555,"line":655},[91170,91174,91179],{"type":426,"tag":553,"props":91171,"children":91172},{"style":795},[91173],{"type":431,"value":84570},{"type":426,"tag":553,"props":91175,"children":91176},{"style":566},[91177],{"type":431,"value":91178}," Illuminate\\Http\\Client\\Response",{"type":426,"tag":553,"props":91180,"children":91181},{"style":684},[91182],{"type":431,"value":52321},{"type":426,"tag":553,"props":91184,"children":91185},{"class":555,"line":1036},[91186],{"type":426,"tag":553,"props":91187,"children":91188},{"emptyLinePlaceholder":831},[91189],{"type":431,"value":834},{"type":426,"tag":553,"props":91191,"children":91192},{"class":555,"line":1054},[91193,91197],{"type":426,"tag":553,"props":91194,"children":91195},{"style":795},[91196],{"type":431,"value":11909},{"type":426,"tag":553,"props":91198,"children":91199},{"style":560},[91200],{"type":431,"value":91086},{"type":426,"tag":553,"props":91202,"children":91203},{"class":555,"line":1080},[91204],{"type":426,"tag":553,"props":91205,"children":91206},{"style":684},[91207],{"type":431,"value":687},{"type":426,"tag":553,"props":91209,"children":91210},{"class":555,"line":1097},[91211,91215,91219],{"type":426,"tag":553,"props":91212,"children":91213},{"style":795},[91214],{"type":431,"value":60857},{"type":426,"tag":553,"props":91216,"children":91217},{"style":795},[91218],{"type":431,"value":76053},{"type":426,"tag":553,"props":91220,"children":91221},{"style":684},[91222],{"type":431,"value":91223}," $apiKey;\n",{"type":426,"tag":553,"props":91225,"children":91226},{"class":555,"line":1114},[91227,91231,91235],{"type":426,"tag":553,"props":91228,"children":91229},{"style":795},[91230],{"type":431,"value":60857},{"type":426,"tag":553,"props":91232,"children":91233},{"style":795},[91234],{"type":431,"value":76053},{"type":426,"tag":553,"props":91236,"children":91237},{"style":684},[91238],{"type":431,"value":91239}," $baseUrl;\n",{"type":426,"tag":553,"props":91241,"children":91242},{"class":555,"line":1127},[91243],{"type":426,"tag":553,"props":91244,"children":91245},{"emptyLinePlaceholder":831},[91246],{"type":431,"value":834},{"type":426,"tag":553,"props":91248,"children":91249},{"class":555,"line":1167},[91250,91254,91258,91262],{"type":426,"tag":553,"props":91251,"children":91252},{"style":795},[91253],{"type":431,"value":61004},{"type":426,"tag":553,"props":91255,"children":91256},{"style":795},[91257],{"type":431,"value":52366},{"type":426,"tag":553,"props":91259,"children":91260},{"style":566},[91261],{"type":431,"value":87581},{"type":426,"tag":553,"props":91263,"children":91264},{"style":684},[91265],{"type":431,"value":11683},{"type":426,"tag":553,"props":91267,"children":91268},{"class":555,"line":1184},[91269],{"type":426,"tag":553,"props":91270,"children":91271},{"style":684},[91272],{"type":431,"value":73368},{"type":426,"tag":553,"props":91274,"children":91275},{"class":555,"line":1192},[91276,91280,91284,91289,91293,91298,91302,91307],{"type":426,"tag":553,"props":91277,"children":91278},{"style":566},[91279],{"type":431,"value":87614},{"type":426,"tag":553,"props":91281,"children":91282},{"style":795},[91283],{"type":431,"value":70711},{"type":426,"tag":553,"props":91285,"children":91286},{"style":684},[91287],{"type":431,"value":91288},"apiKey ",{"type":426,"tag":553,"props":91290,"children":91291},{"style":795},[91292],{"type":431,"value":957},{"type":426,"tag":553,"props":91294,"children":91295},{"style":560},[91296],{"type":431,"value":91297}," config",{"type":426,"tag":553,"props":91299,"children":91300},{"style":684},[91301],{"type":431,"value":3275},{"type":426,"tag":553,"props":91303,"children":91304},{"style":572},[91305],{"type":431,"value":91306},"'services.rapiwa.key'",{"type":426,"tag":553,"props":91308,"children":91309},{"style":684},[91310],{"type":431,"value":11379},{"type":426,"tag":553,"props":91312,"children":91313},{"class":555,"line":1210},[91314,91318,91322,91327,91331,91335,91339,91344],{"type":426,"tag":553,"props":91315,"children":91316},{"style":566},[91317],{"type":431,"value":87614},{"type":426,"tag":553,"props":91319,"children":91320},{"style":795},[91321],{"type":431,"value":70711},{"type":426,"tag":553,"props":91323,"children":91324},{"style":684},[91325],{"type":431,"value":91326},"baseUrl ",{"type":426,"tag":553,"props":91328,"children":91329},{"style":795},[91330],{"type":431,"value":957},{"type":426,"tag":553,"props":91332,"children":91333},{"style":560},[91334],{"type":431,"value":91297},{"type":426,"tag":553,"props":91336,"children":91337},{"style":684},[91338],{"type":431,"value":3275},{"type":426,"tag":553,"props":91340,"children":91341},{"style":572},[91342],{"type":431,"value":91343},"'services.rapiwa.url'",{"type":426,"tag":553,"props":91345,"children":91346},{"style":684},[91347],{"type":431,"value":11379},{"type":426,"tag":553,"props":91349,"children":91350},{"class":555,"line":1253},[91351],{"type":426,"tag":553,"props":91352,"children":91353},{"style":684},[91354],{"type":431,"value":5546},{"type":426,"tag":553,"props":91356,"children":91357},{"class":555,"line":1302},[91358],{"type":426,"tag":553,"props":91359,"children":91360},{"emptyLinePlaceholder":831},[91361],{"type":431,"value":834},{"type":426,"tag":553,"props":91363,"children":91364},{"class":555,"line":1374},[91365],{"type":426,"tag":553,"props":91366,"children":91367},{"style":1975},[91368],{"type":431,"value":60938},{"type":426,"tag":553,"props":91370,"children":91371},{"class":555,"line":1414},[91372],{"type":426,"tag":553,"props":91373,"children":91374},{"style":1975},[91375],{"type":431,"value":91376},"     * Send a text message via WhatsApp.\n",{"type":426,"tag":553,"props":91378,"children":91379},{"class":555,"line":1479},[91380],{"type":426,"tag":553,"props":91381,"children":91382},{"style":1975},[91383],{"type":431,"value":67105},{"type":426,"tag":553,"props":91385,"children":91386},{"class":555,"line":1517},[91387,91391,91395,91399],{"type":426,"tag":553,"props":91388,"children":91389},{"style":1975},[91390],{"type":431,"value":67113},{"type":426,"tag":553,"props":91392,"children":91393},{"style":795},[91394],{"type":431,"value":67118},{"type":426,"tag":553,"props":91396,"children":91397},{"style":795},[91398],{"type":431,"value":76053},{"type":426,"tag":553,"props":91400,"children":91401},{"style":1975},[91402],{"type":431,"value":91403}," $phone  International format without '+', e.g. 8801234567890\n",{"type":426,"tag":553,"props":91405,"children":91406},{"class":555,"line":1560},[91407,91411,91415,91419],{"type":426,"tag":553,"props":91408,"children":91409},{"style":1975},[91410],{"type":431,"value":67113},{"type":426,"tag":553,"props":91412,"children":91413},{"style":795},[91414],{"type":431,"value":67118},{"type":426,"tag":553,"props":91416,"children":91417},{"style":795},[91418],{"type":431,"value":76053},{"type":426,"tag":553,"props":91420,"children":91421},{"style":1975},[91422],{"type":431,"value":91423}," $message  Plain text or WhatsApp-formatted text (*bold*, _italic_)\n",{"type":426,"tag":553,"props":91425,"children":91426},{"class":555,"line":1598},[91427,91431,91435,91439,91443,91447],{"type":426,"tag":553,"props":91428,"children":91429},{"style":1975},[91430],{"type":431,"value":67113},{"type":426,"tag":553,"props":91432,"children":91433},{"style":795},[91434],{"type":431,"value":67159},{"type":426,"tag":553,"props":91436,"children":91437},{"style":795},[91438],{"type":431,"value":80028},{"type":426,"tag":553,"props":91440,"children":91441},{"style":1975},[91442],{"type":431,"value":972},{"type":426,"tag":553,"props":91444,"children":91445},{"style":566},[91446],{"type":431,"value":67953},{"type":426,"tag":553,"props":91448,"children":91449},{"style":1975},[91450],{"type":431,"value":91451},": string, messageId: string}\n",{"type":426,"tag":553,"props":91453,"children":91454},{"class":555,"line":1636},[91455],{"type":426,"tag":553,"props":91456,"children":91457},{"style":1975},[91458],{"type":431,"value":60962},{"type":426,"tag":553,"props":91460,"children":91461},{"class":555,"line":1645},[91462,91466,91470,91474,91478,91482,91486,91490,91494,91498],{"type":426,"tag":553,"props":91463,"children":91464},{"style":795},[91465],{"type":431,"value":61004},{"type":426,"tag":553,"props":91467,"children":91468},{"style":795},[91469],{"type":431,"value":52366},{"type":426,"tag":553,"props":91471,"children":91472},{"style":560},[91473],{"type":431,"value":67188},{"type":426,"tag":553,"props":91475,"children":91476},{"style":684},[91477],{"type":431,"value":3275},{"type":426,"tag":553,"props":91479,"children":91480},{"style":795},[91481],{"type":431,"value":71939},{"type":426,"tag":553,"props":91483,"children":91484},{"style":684},[91485],{"type":431,"value":79980},{"type":426,"tag":553,"props":91487,"children":91488},{"style":795},[91489],{"type":431,"value":71939},{"type":426,"tag":553,"props":91491,"children":91492},{"style":684},[91493],{"type":431,"value":87812},{"type":426,"tag":553,"props":91495,"children":91496},{"style":795},[91497],{"type":431,"value":19071},{"type":426,"tag":553,"props":91499,"children":91500},{"style":795},[91501],{"type":431,"value":86442},{"type":426,"tag":553,"props":91503,"children":91504},{"class":555,"line":1653},[91505],{"type":426,"tag":553,"props":91506,"children":91507},{"style":684},[91508],{"type":431,"value":73368},{"type":426,"tag":553,"props":91510,"children":91511},{"class":555,"line":1667},[91512,91516,91520,91524,91529,91534,91538,91543,91547],{"type":426,"tag":553,"props":91513,"children":91514},{"style":684},[91515],{"type":431,"value":88380},{"type":426,"tag":553,"props":91517,"children":91518},{"style":795},[91519],{"type":431,"value":957},{"type":426,"tag":553,"props":91521,"children":91522},{"style":566},[91523],{"type":431,"value":61386},{"type":426,"tag":553,"props":91525,"children":91526},{"style":795},[91527],{"type":431,"value":91528},"::",{"type":426,"tag":553,"props":91530,"children":91531},{"style":560},[91532],{"type":431,"value":91533},"withToken",{"type":426,"tag":553,"props":91535,"children":91536},{"style":684},[91537],{"type":431,"value":3275},{"type":426,"tag":553,"props":91539,"children":91540},{"style":566},[91541],{"type":431,"value":91542},"$this",{"type":426,"tag":553,"props":91544,"children":91545},{"style":795},[91546],{"type":431,"value":70711},{"type":426,"tag":553,"props":91548,"children":91549},{"style":684},[91550],{"type":431,"value":91551},"apiKey)\n",{"type":426,"tag":553,"props":91553,"children":91554},{"class":555,"line":1680},[91555,91560,91564,91568,91572],{"type":426,"tag":553,"props":91556,"children":91557},{"style":795},[91558],{"type":431,"value":91559},"            ->",{"type":426,"tag":553,"props":91561,"children":91562},{"style":560},[91563],{"type":431,"value":67499},{"type":426,"tag":553,"props":91565,"children":91566},{"style":684},[91567],{"type":431,"value":3275},{"type":426,"tag":553,"props":91569,"children":91570},{"style":566},[91571],{"type":431,"value":11479},{"type":426,"tag":553,"props":91573,"children":91574},{"style":684},[91575],{"type":431,"value":3262},{"type":426,"tag":553,"props":91577,"children":91578},{"class":555,"line":1740},[91579,91583,91587,91591,91596,91600,91604,91608,91613],{"type":426,"tag":553,"props":91580,"children":91581},{"style":795},[91582],{"type":431,"value":91559},{"type":426,"tag":553,"props":91584,"children":91585},{"style":560},[91586],{"type":431,"value":70594},{"type":426,"tag":553,"props":91588,"children":91589},{"style":684},[91590],{"type":431,"value":3275},{"type":426,"tag":553,"props":91592,"children":91593},{"style":572},[91594],{"type":431,"value":91595},"\"{",{"type":426,"tag":553,"props":91597,"children":91598},{"style":566},[91599],{"type":431,"value":91542},{"type":426,"tag":553,"props":91601,"children":91602},{"style":795},[91603],{"type":431,"value":70711},{"type":426,"tag":553,"props":91605,"children":91606},{"style":684},[91607],{"type":431,"value":70409},{"type":426,"tag":553,"props":91609,"children":91610},{"style":572},[91611],{"type":431,"value":91612},"}\u002Fsend-message\"",{"type":426,"tag":553,"props":91614,"children":91615},{"style":684},[91616],{"type":431,"value":87886},{"type":426,"tag":553,"props":91618,"children":91619},{"class":555,"line":1787},[91620,91624,91628],{"type":426,"tag":553,"props":91621,"children":91622},{"style":572},[91623],{"type":431,"value":88441},{"type":426,"tag":553,"props":91625,"children":91626},{"style":795},[91627],{"type":431,"value":53709},{"type":426,"tag":553,"props":91629,"children":91630},{"style":684},[91631],{"type":431,"value":80199},{"type":426,"tag":553,"props":91633,"children":91634},{"class":555,"line":1796},[91635,91640,91644],{"type":426,"tag":553,"props":91636,"children":91637},{"style":572},[91638],{"type":431,"value":91639},"                'message'",{"type":426,"tag":553,"props":91641,"children":91642},{"style":795},[91643],{"type":431,"value":53709},{"type":426,"tag":553,"props":91645,"children":91646},{"style":684},[91647],{"type":431,"value":86662},{"type":426,"tag":553,"props":91649,"children":91650},{"class":555,"line":1804},[91651],{"type":426,"tag":553,"props":91652,"children":91653},{"style":684},[91654],{"type":431,"value":87935},{"type":426,"tag":553,"props":91656,"children":91657},{"class":555,"line":1812},[91658],{"type":426,"tag":553,"props":91659,"children":91660},{"emptyLinePlaceholder":831},[91661],{"type":431,"value":834},{"type":426,"tag":553,"props":91663,"children":91664},{"class":555,"line":1847},[91665,91669,91673,91678],{"type":426,"tag":553,"props":91666,"children":91667},{"style":566},[91668],{"type":431,"value":87614},{"type":426,"tag":553,"props":91670,"children":91671},{"style":795},[91672],{"type":431,"value":70711},{"type":426,"tag":553,"props":91674,"children":91675},{"style":560},[91676],{"type":431,"value":91677},"handleErrors",{"type":426,"tag":553,"props":91679,"children":91680},{"style":684},[91681],{"type":431,"value":91682},"($response);\n",{"type":426,"tag":553,"props":91684,"children":91685},{"class":555,"line":1856},[91686],{"type":426,"tag":553,"props":91687,"children":91688},{"emptyLinePlaceholder":831},[91689],{"type":431,"value":834},{"type":426,"tag":553,"props":91691,"children":91692},{"class":555,"line":1874},[91693,91697,91701,91705,91709],{"type":426,"tag":553,"props":91694,"children":91695},{"style":795},[91696],{"type":431,"value":8378},{"type":426,"tag":553,"props":91698,"children":91699},{"style":684},[91700],{"type":431,"value":90064},{"type":426,"tag":553,"props":91702,"children":91703},{"style":795},[91704],{"type":431,"value":70711},{"type":426,"tag":553,"props":91706,"children":91707},{"style":560},[91708],{"type":431,"value":673},{"type":426,"tag":553,"props":91710,"children":91711},{"style":684},[91712],{"type":431,"value":53227},{"type":426,"tag":553,"props":91714,"children":91715},{"class":555,"line":1882},[91716],{"type":426,"tag":553,"props":91717,"children":91718},{"style":684},[91719],{"type":431,"value":5546},{"type":426,"tag":553,"props":91721,"children":91722},{"class":555,"line":1981},[91723],{"type":426,"tag":553,"props":91724,"children":91725},{"emptyLinePlaceholder":831},[91726],{"type":431,"value":834},{"type":426,"tag":553,"props":91728,"children":91729},{"class":555,"line":1989},[91730],{"type":426,"tag":553,"props":91731,"children":91732},{"style":1975},[91733],{"type":431,"value":60938},{"type":426,"tag":553,"props":91735,"children":91736},{"class":555,"line":2013},[91737],{"type":426,"tag":553,"props":91738,"children":91739},{"style":1975},[91740],{"type":431,"value":91741},"     * Send an image message via WhatsApp.\n",{"type":426,"tag":553,"props":91743,"children":91744},{"class":555,"line":2055},[91745],{"type":426,"tag":553,"props":91746,"children":91747},{"style":1975},[91748],{"type":431,"value":67105},{"type":426,"tag":553,"props":91750,"children":91751},{"class":555,"line":2064},[91752,91756,91760,91764],{"type":426,"tag":553,"props":91753,"children":91754},{"style":1975},[91755],{"type":431,"value":67113},{"type":426,"tag":553,"props":91757,"children":91758},{"style":795},[91759],{"type":431,"value":67118},{"type":426,"tag":553,"props":91761,"children":91762},{"style":795},[91763],{"type":431,"value":76053},{"type":426,"tag":553,"props":91765,"children":91766},{"style":1975},[91767],{"type":431,"value":91768}," $phone\n",{"type":426,"tag":553,"props":91770,"children":91771},{"class":555,"line":2087},[91772,91776,91780,91784],{"type":426,"tag":553,"props":91773,"children":91774},{"style":1975},[91775],{"type":431,"value":67113},{"type":426,"tag":553,"props":91777,"children":91778},{"style":795},[91779],{"type":431,"value":67118},{"type":426,"tag":553,"props":91781,"children":91782},{"style":795},[91783],{"type":431,"value":76053},{"type":426,"tag":553,"props":91785,"children":91786},{"style":1975},[91787],{"type":431,"value":91788}," $imageUrl  Publicly accessible image URL\n",{"type":426,"tag":553,"props":91790,"children":91791},{"class":555,"line":2096},[91792,91796,91800,91804],{"type":426,"tag":553,"props":91793,"children":91794},{"style":1975},[91795],{"type":431,"value":67113},{"type":426,"tag":553,"props":91797,"children":91798},{"style":795},[91799],{"type":431,"value":67118},{"type":426,"tag":553,"props":91801,"children":91802},{"style":795},[91803],{"type":431,"value":76053},{"type":426,"tag":553,"props":91805,"children":91806},{"style":1975},[91807],{"type":431,"value":91808}," $caption   Optional image caption\n",{"type":426,"tag":553,"props":91810,"children":91811},{"class":555,"line":2105},[91812],{"type":426,"tag":553,"props":91813,"children":91814},{"style":1975},[91815],{"type":431,"value":60962},{"type":426,"tag":553,"props":91817,"children":91818},{"class":555,"line":2114},[91819,91823,91827,91831,91835,91839,91843,91847,91851,91855,91859,91863,91867,91871,91875],{"type":426,"tag":553,"props":91820,"children":91821},{"style":795},[91822],{"type":431,"value":61004},{"type":426,"tag":553,"props":91824,"children":91825},{"style":795},[91826],{"type":431,"value":52366},{"type":426,"tag":553,"props":91828,"children":91829},{"style":560},[91830],{"type":431,"value":88316},{"type":426,"tag":553,"props":91832,"children":91833},{"style":684},[91834],{"type":431,"value":3275},{"type":426,"tag":553,"props":91836,"children":91837},{"style":795},[91838],{"type":431,"value":71939},{"type":426,"tag":553,"props":91840,"children":91841},{"style":684},[91842],{"type":431,"value":79980},{"type":426,"tag":553,"props":91844,"children":91845},{"style":795},[91846],{"type":431,"value":71939},{"type":426,"tag":553,"props":91848,"children":91849},{"style":684},[91850],{"type":431,"value":88337},{"type":426,"tag":553,"props":91852,"children":91853},{"style":795},[91854],{"type":431,"value":71939},{"type":426,"tag":553,"props":91856,"children":91857},{"style":684},[91858],{"type":431,"value":80007},{"type":426,"tag":553,"props":91860,"children":91861},{"style":795},[91862],{"type":431,"value":957},{"type":426,"tag":553,"props":91864,"children":91865},{"style":572},[91866],{"type":431,"value":1024},{"type":426,"tag":553,"props":91868,"children":91869},{"style":684},[91870],{"type":431,"value":5736},{"type":426,"tag":553,"props":91872,"children":91873},{"style":795},[91874],{"type":431,"value":19071},{"type":426,"tag":553,"props":91876,"children":91877},{"style":795},[91878],{"type":431,"value":86442},{"type":426,"tag":553,"props":91880,"children":91881},{"class":555,"line":2123},[91882],{"type":426,"tag":553,"props":91883,"children":91884},{"style":684},[91885],{"type":431,"value":73368},{"type":426,"tag":553,"props":91887,"children":91888},{"class":555,"line":2132},[91889,91893,91897,91901,91905,91909,91913,91917,91921],{"type":426,"tag":553,"props":91890,"children":91891},{"style":684},[91892],{"type":431,"value":88380},{"type":426,"tag":553,"props":91894,"children":91895},{"style":795},[91896],{"type":431,"value":957},{"type":426,"tag":553,"props":91898,"children":91899},{"style":566},[91900],{"type":431,"value":61386},{"type":426,"tag":553,"props":91902,"children":91903},{"style":795},[91904],{"type":431,"value":91528},{"type":426,"tag":553,"props":91906,"children":91907},{"style":560},[91908],{"type":431,"value":91533},{"type":426,"tag":553,"props":91910,"children":91911},{"style":684},[91912],{"type":431,"value":3275},{"type":426,"tag":553,"props":91914,"children":91915},{"style":566},[91916],{"type":431,"value":91542},{"type":426,"tag":553,"props":91918,"children":91919},{"style":795},[91920],{"type":431,"value":70711},{"type":426,"tag":553,"props":91922,"children":91923},{"style":684},[91924],{"type":431,"value":91551},{"type":426,"tag":553,"props":91926,"children":91927},{"class":555,"line":2151},[91928,91932,91936,91940,91944],{"type":426,"tag":553,"props":91929,"children":91930},{"style":795},[91931],{"type":431,"value":91559},{"type":426,"tag":553,"props":91933,"children":91934},{"style":560},[91935],{"type":431,"value":67499},{"type":426,"tag":553,"props":91937,"children":91938},{"style":684},[91939],{"type":431,"value":3275},{"type":426,"tag":553,"props":91941,"children":91942},{"style":566},[91943],{"type":431,"value":67516},{"type":426,"tag":553,"props":91945,"children":91946},{"style":684},[91947],{"type":431,"value":3262},{"type":426,"tag":553,"props":91949,"children":91950},{"class":555,"line":2160},[91951,91955,91959,91963,91967,91971,91975,91979,91984],{"type":426,"tag":553,"props":91952,"children":91953},{"style":795},[91954],{"type":431,"value":91559},{"type":426,"tag":553,"props":91956,"children":91957},{"style":560},[91958],{"type":431,"value":70594},{"type":426,"tag":553,"props":91960,"children":91961},{"style":684},[91962],{"type":431,"value":3275},{"type":426,"tag":553,"props":91964,"children":91965},{"style":572},[91966],{"type":431,"value":91595},{"type":426,"tag":553,"props":91968,"children":91969},{"style":566},[91970],{"type":431,"value":91542},{"type":426,"tag":553,"props":91972,"children":91973},{"style":795},[91974],{"type":431,"value":70711},{"type":426,"tag":553,"props":91976,"children":91977},{"style":684},[91978],{"type":431,"value":70409},{"type":426,"tag":553,"props":91980,"children":91981},{"style":572},[91982],{"type":431,"value":91983},"}\u002Fsend-image\"",{"type":426,"tag":553,"props":91985,"children":91986},{"style":684},[91987],{"type":431,"value":87886},{"type":426,"tag":553,"props":91989,"children":91990},{"class":555,"line":2174},[91991,91995,91999],{"type":426,"tag":553,"props":91992,"children":91993},{"style":572},[91994],{"type":431,"value":88441},{"type":426,"tag":553,"props":91996,"children":91997},{"style":795},[91998],{"type":431,"value":53709},{"type":426,"tag":553,"props":92000,"children":92001},{"style":684},[92002],{"type":431,"value":80199},{"type":426,"tag":553,"props":92004,"children":92005},{"class":555,"line":2182},[92006,92010,92014],{"type":426,"tag":553,"props":92007,"children":92008},{"style":572},[92009],{"type":431,"value":88458},{"type":426,"tag":553,"props":92011,"children":92012},{"style":795},[92013],{"type":431,"value":53709},{"type":426,"tag":553,"props":92015,"children":92016},{"style":684},[92017],{"type":431,"value":88467},{"type":426,"tag":553,"props":92019,"children":92020},{"class":555,"line":2205},[92021,92025,92029],{"type":426,"tag":553,"props":92022,"children":92023},{"style":572},[92024],{"type":431,"value":88475},{"type":426,"tag":553,"props":92026,"children":92027},{"style":795},[92028],{"type":431,"value":53709},{"type":426,"tag":553,"props":92030,"children":92031},{"style":684},[92032],{"type":431,"value":88484},{"type":426,"tag":553,"props":92034,"children":92035},{"class":555,"line":2241},[92036],{"type":426,"tag":553,"props":92037,"children":92038},{"style":684},[92039],{"type":431,"value":87935},{"type":426,"tag":553,"props":92041,"children":92042},{"class":555,"line":2250},[92043],{"type":426,"tag":553,"props":92044,"children":92045},{"emptyLinePlaceholder":831},[92046],{"type":431,"value":834},{"type":426,"tag":553,"props":92048,"children":92049},{"class":555,"line":2302},[92050,92054,92058,92062],{"type":426,"tag":553,"props":92051,"children":92052},{"style":566},[92053],{"type":431,"value":87614},{"type":426,"tag":553,"props":92055,"children":92056},{"style":795},[92057],{"type":431,"value":70711},{"type":426,"tag":553,"props":92059,"children":92060},{"style":560},[92061],{"type":431,"value":91677},{"type":426,"tag":553,"props":92063,"children":92064},{"style":684},[92065],{"type":431,"value":91682},{"type":426,"tag":553,"props":92067,"children":92068},{"class":555,"line":2353},[92069],{"type":426,"tag":553,"props":92070,"children":92071},{"emptyLinePlaceholder":831},[92072],{"type":431,"value":834},{"type":426,"tag":553,"props":92074,"children":92075},{"class":555,"line":2390},[92076,92080,92084,92088,92092],{"type":426,"tag":553,"props":92077,"children":92078},{"style":795},[92079],{"type":431,"value":8378},{"type":426,"tag":553,"props":92081,"children":92082},{"style":684},[92083],{"type":431,"value":90064},{"type":426,"tag":553,"props":92085,"children":92086},{"style":795},[92087],{"type":431,"value":70711},{"type":426,"tag":553,"props":92089,"children":92090},{"style":560},[92091],{"type":431,"value":673},{"type":426,"tag":553,"props":92093,"children":92094},{"style":684},[92095],{"type":431,"value":53227},{"type":426,"tag":553,"props":92097,"children":92098},{"class":555,"line":2440},[92099],{"type":426,"tag":553,"props":92100,"children":92101},{"style":684},[92102],{"type":431,"value":5546},{"type":426,"tag":553,"props":92104,"children":92105},{"class":555,"line":2488},[92106],{"type":426,"tag":553,"props":92107,"children":92108},{"emptyLinePlaceholder":831},[92109],{"type":431,"value":834},{"type":426,"tag":553,"props":92111,"children":92112},{"class":555,"line":2509},[92113,92117,92121,92126,92130,92135,92140,92144],{"type":426,"tag":553,"props":92114,"children":92115},{"style":795},[92116],{"type":431,"value":60857},{"type":426,"tag":553,"props":92118,"children":92119},{"style":795},[92120],{"type":431,"value":52366},{"type":426,"tag":553,"props":92122,"children":92123},{"style":560},[92124],{"type":431,"value":92125}," handleErrors",{"type":426,"tag":553,"props":92127,"children":92128},{"style":684},[92129],{"type":431,"value":3275},{"type":426,"tag":553,"props":92131,"children":92132},{"style":566},[92133],{"type":431,"value":92134},"Response",{"type":426,"tag":553,"props":92136,"children":92137},{"style":684},[92138],{"type":431,"value":92139}," $response)",{"type":426,"tag":553,"props":92141,"children":92142},{"style":795},[92143],{"type":431,"value":19071},{"type":426,"tag":553,"props":92145,"children":92146},{"style":795},[92147],{"type":431,"value":92148}," void\n",{"type":426,"tag":553,"props":92150,"children":92151},{"class":555,"line":2527},[92152],{"type":426,"tag":553,"props":92153,"children":92154},{"style":684},[92155],{"type":431,"value":73368},{"type":426,"tag":553,"props":92157,"children":92158},{"class":555,"line":2545},[92159,92163,92168,92172,92176,92180,92184,92188],{"type":426,"tag":553,"props":92160,"children":92161},{"style":795},[92162],{"type":431,"value":2972},{"type":426,"tag":553,"props":92164,"children":92165},{"style":684},[92166],{"type":431,"value":92167}," ($response",{"type":426,"tag":553,"props":92169,"children":92170},{"style":795},[92171],{"type":431,"value":70711},{"type":426,"tag":553,"props":92173,"children":92174},{"style":560},[92175],{"type":431,"value":67953},{"type":426,"tag":553,"props":92177,"children":92178},{"style":684},[92179],{"type":431,"value":61573},{"type":426,"tag":553,"props":92181,"children":92182},{"style":795},[92183],{"type":431,"value":55042},{"type":426,"tag":553,"props":92185,"children":92186},{"style":566},[92187],{"type":431,"value":8994},{"type":426,"tag":553,"props":92189,"children":92190},{"style":684},[92191],{"type":431,"value":52385},{"type":426,"tag":553,"props":92193,"children":92194},{"class":555,"line":12991},[92195,92199,92203,92207,92211,92216],{"type":426,"tag":553,"props":92196,"children":92197},{"style":795},[92198],{"type":431,"value":67753},{"type":426,"tag":553,"props":92200,"children":92201},{"style":795},[92202],{"type":431,"value":52275},{"type":426,"tag":553,"props":92204,"children":92205},{"style":566},[92206],{"type":431,"value":86814},{"type":426,"tag":553,"props":92208,"children":92209},{"style":684},[92210],{"type":431,"value":3275},{"type":426,"tag":553,"props":92212,"children":92213},{"style":572},[92214],{"type":431,"value":92215},"'Rapiwa API key is invalid or expired. Check config\u002Fservices.php rapiwa.key'",{"type":426,"tag":553,"props":92217,"children":92218},{"style":684},[92219],{"type":431,"value":11379},{"type":426,"tag":553,"props":92221,"children":92222},{"class":555,"line":13004},[92223],{"type":426,"tag":553,"props":92224,"children":92225},{"style":684},[92226],{"type":431,"value":15075},{"type":426,"tag":553,"props":92228,"children":92229},{"class":555,"line":13012},[92230],{"type":426,"tag":553,"props":92231,"children":92232},{"emptyLinePlaceholder":831},[92233],{"type":431,"value":834},{"type":426,"tag":553,"props":92235,"children":92236},{"class":555,"line":13025},[92237,92241,92245,92249,92253,92257,92261,92265],{"type":426,"tag":553,"props":92238,"children":92239},{"style":795},[92240],{"type":431,"value":2972},{"type":426,"tag":553,"props":92242,"children":92243},{"style":684},[92244],{"type":431,"value":92167},{"type":426,"tag":553,"props":92246,"children":92247},{"style":795},[92248],{"type":431,"value":70711},{"type":426,"tag":553,"props":92250,"children":92251},{"style":560},[92252],{"type":431,"value":67953},{"type":426,"tag":553,"props":92254,"children":92255},{"style":684},[92256],{"type":431,"value":61573},{"type":426,"tag":553,"props":92258,"children":92259},{"style":795},[92260],{"type":431,"value":55042},{"type":426,"tag":553,"props":92262,"children":92263},{"style":566},[92264],{"type":431,"value":67817},{"type":426,"tag":553,"props":92266,"children":92267},{"style":684},[92268],{"type":431,"value":52385},{"type":426,"tag":553,"props":92270,"children":92271},{"class":555,"line":13033},[92272,92276,92280,92284,92288,92293,92297,92301,92305,92309],{"type":426,"tag":553,"props":92273,"children":92274},{"style":795},[92275],{"type":431,"value":67753},{"type":426,"tag":553,"props":92277,"children":92278},{"style":795},[92279],{"type":431,"value":52275},{"type":426,"tag":553,"props":92281,"children":92282},{"style":566},[92283],{"type":431,"value":86943},{"type":426,"tag":553,"props":92285,"children":92286},{"style":684},[92287],{"type":431,"value":3275},{"type":426,"tag":553,"props":92289,"children":92290},{"style":572},[92291],{"type":431,"value":92292},"'Invalid request to Rapiwa API: '",{"type":426,"tag":553,"props":92294,"children":92295},{"style":795},[92296],{"type":431,"value":87022},{"type":426,"tag":553,"props":92298,"children":92299},{"style":684},[92300],{"type":431,"value":90064},{"type":426,"tag":553,"props":92302,"children":92303},{"style":795},[92304],{"type":431,"value":70711},{"type":426,"tag":553,"props":92306,"children":92307},{"style":560},[92308],{"type":431,"value":67859},{"type":426,"tag":553,"props":92310,"children":92311},{"style":684},[92312],{"type":431,"value":61503},{"type":426,"tag":553,"props":92314,"children":92315},{"class":555,"line":13069},[92316],{"type":426,"tag":553,"props":92317,"children":92318},{"style":684},[92319],{"type":431,"value":15075},{"type":426,"tag":553,"props":92321,"children":92322},{"class":555,"line":13089},[92323],{"type":426,"tag":553,"props":92324,"children":92325},{"emptyLinePlaceholder":831},[92326],{"type":431,"value":834},{"type":426,"tag":553,"props":92328,"children":92329},{"class":555,"line":13102},[92330,92334,92338,92342,92347],{"type":426,"tag":553,"props":92331,"children":92332},{"style":795},[92333],{"type":431,"value":2972},{"type":426,"tag":553,"props":92335,"children":92336},{"style":684},[92337],{"type":431,"value":92167},{"type":426,"tag":553,"props":92339,"children":92340},{"style":795},[92341],{"type":431,"value":70711},{"type":426,"tag":553,"props":92343,"children":92344},{"style":560},[92345],{"type":431,"value":92346},"failed",{"type":426,"tag":553,"props":92348,"children":92349},{"style":684},[92350],{"type":431,"value":92351},"()) {\n",{"type":426,"tag":553,"props":92353,"children":92354},{"class":555,"line":13111},[92355,92359,92363,92367,92371,92376,92380,92384,92388,92392],{"type":426,"tag":553,"props":92356,"children":92357},{"style":795},[92358],{"type":431,"value":67753},{"type":426,"tag":553,"props":92360,"children":92361},{"style":795},[92362],{"type":431,"value":52275},{"type":426,"tag":553,"props":92364,"children":92365},{"style":566},[92366],{"type":431,"value":86814},{"type":426,"tag":553,"props":92368,"children":92369},{"style":684},[92370],{"type":431,"value":3275},{"type":426,"tag":553,"props":92372,"children":92373},{"style":572},[92374],{"type":431,"value":92375},"'Rapiwa API request failed: '",{"type":426,"tag":553,"props":92377,"children":92378},{"style":795},[92379],{"type":431,"value":87022},{"type":426,"tag":553,"props":92381,"children":92382},{"style":684},[92383],{"type":431,"value":90064},{"type":426,"tag":553,"props":92385,"children":92386},{"style":795},[92387],{"type":431,"value":70711},{"type":426,"tag":553,"props":92389,"children":92390},{"style":560},[92391],{"type":431,"value":67859},{"type":426,"tag":553,"props":92393,"children":92394},{"style":684},[92395],{"type":431,"value":61503},{"type":426,"tag":553,"props":92397,"children":92398},{"class":555,"line":13120},[92399],{"type":426,"tag":553,"props":92400,"children":92401},{"style":684},[92402],{"type":431,"value":15075},{"type":426,"tag":553,"props":92404,"children":92405},{"class":555,"line":13129},[92406],{"type":426,"tag":553,"props":92407,"children":92408},{"style":684},[92409],{"type":431,"value":5546},{"type":426,"tag":553,"props":92411,"children":92412},{"class":555,"line":13174},[92413],{"type":426,"tag":553,"props":92414,"children":92415},{"style":684},[92416],{"type":431,"value":756},{"type":426,"tag":434,"props":92418,"children":92420},{"id":92419},"step-3-register-as-a-singleton-optional",[92421],{"type":431,"value":92422},"Step 3: Register as a Singleton (Optional)",{"type":426,"tag":427,"props":92424,"children":92425},{},[92426,92428,92434],{"type":431,"value":92427},"In ",{"type":426,"tag":549,"props":92429,"children":92431},{"className":92430},[],[92432],{"type":431,"value":92433},"app\u002FProviders\u002FAppServiceProvider.php",{"type":431,"value":19071},{"type":426,"tag":542,"props":92436,"children":92438},{"className":79948,"code":92437,"language":79950,"meta":417,"style":417},"public function register(): void\n{\n    $this->app->singleton(RapiwaService::class, function ($app) {\n        return new RapiwaService();\n    });\n}\n",[92439],{"type":426,"tag":549,"props":92440,"children":92441},{"__ignoreMap":417},[92442,92470,92477,92529,92548,92555],{"type":426,"tag":553,"props":92443,"children":92444},{"class":555,"line":556},[92445,92449,92453,92458,92462,92466],{"type":426,"tag":553,"props":92446,"children":92447},{"style":795},[92448],{"type":431,"value":60828},{"type":426,"tag":553,"props":92450,"children":92451},{"style":795},[92452],{"type":431,"value":52366},{"type":426,"tag":553,"props":92454,"children":92455},{"style":560},[92456],{"type":431,"value":92457}," register",{"type":426,"tag":553,"props":92459,"children":92460},{"style":684},[92461],{"type":431,"value":87971},{"type":426,"tag":553,"props":92463,"children":92464},{"style":795},[92465],{"type":431,"value":19071},{"type":426,"tag":553,"props":92467,"children":92468},{"style":795},[92469],{"type":431,"value":92148},{"type":426,"tag":553,"props":92471,"children":92472},{"class":555,"line":588},[92473],{"type":426,"tag":553,"props":92474,"children":92475},{"style":684},[92476],{"type":431,"value":687},{"type":426,"tag":553,"props":92478,"children":92479},{"class":555,"line":606},[92480,92485,92489,92494,92498,92503,92507,92511,92516,92520,92524],{"type":426,"tag":553,"props":92481,"children":92482},{"style":566},[92483],{"type":431,"value":92484},"    $this",{"type":426,"tag":553,"props":92486,"children":92487},{"style":795},[92488],{"type":431,"value":70711},{"type":426,"tag":553,"props":92490,"children":92491},{"style":684},[92492],{"type":431,"value":92493},"app",{"type":426,"tag":553,"props":92495,"children":92496},{"style":795},[92497],{"type":431,"value":70711},{"type":426,"tag":553,"props":92499,"children":92500},{"style":560},[92501],{"type":431,"value":92502},"singleton",{"type":426,"tag":553,"props":92504,"children":92505},{"style":684},[92506],{"type":431,"value":3275},{"type":426,"tag":553,"props":92508,"children":92509},{"style":566},[92510],{"type":431,"value":90840},{"type":426,"tag":553,"props":92512,"children":92513},{"style":795},[92514],{"type":431,"value":92515},"::class",{"type":426,"tag":553,"props":92517,"children":92518},{"style":684},[92519],{"type":431,"value":1907},{"type":426,"tag":553,"props":92521,"children":92522},{"style":795},[92523],{"type":431,"value":79962},{"type":426,"tag":553,"props":92525,"children":92526},{"style":684},[92527],{"type":431,"value":92528}," ($app) {\n",{"type":426,"tag":553,"props":92530,"children":92531},{"class":555,"line":623},[92532,92536,92540,92544],{"type":426,"tag":553,"props":92533,"children":92534},{"style":795},[92535],{"type":431,"value":8378},{"type":426,"tag":553,"props":92537,"children":92538},{"style":795},[92539],{"type":431,"value":52275},{"type":426,"tag":553,"props":92541,"children":92542},{"style":566},[92543],{"type":431,"value":60838},{"type":426,"tag":553,"props":92545,"children":92546},{"style":684},[92547],{"type":431,"value":53227},{"type":426,"tag":553,"props":92549,"children":92550},{"class":555,"line":637},[92551],{"type":426,"tag":553,"props":92552,"children":92553},{"style":684},[92554],{"type":431,"value":85548},{"type":426,"tag":553,"props":92556,"children":92557},{"class":555,"line":646},[92558],{"type":426,"tag":553,"props":92559,"children":92560},{"style":684},[92561],{"type":431,"value":756},{"type":426,"tag":434,"props":92563,"children":92565},{"id":92564},"step-4-use-in-controllers",[92566],{"type":431,"value":92567},"Step 4: Use in Controllers",{"type":426,"tag":542,"props":92569,"children":92571},{"className":79948,"code":92570,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F app\u002FHttp\u002FControllers\u002FOrderController.php\n\nnamespace App\\Http\\Controllers;\n\nuse App\\Services\\RapiwaService;\nuse Illuminate\\Http\\Request;\n\nclass OrderController extends Controller\n{\n    public function __construct(private RapiwaService $rapiwa) {}\n\n    public function store(Request $request): \\Illuminate\\Http\\JsonResponse\n    {\n        \u002F\u002F Create the order\n        $order = Order::create($request->validated());\n\n        \u002F\u002F Send WhatsApp confirmation\n        if ($order->customer->phone) {\n            $message = \"Hi {$order->customer->first_name}! ✅\\n\\n\"\n                . \"Your order #{$order->id} has been confirmed.\\n\"\n                . \"Total: \\${$order->total}\\n\\n\"\n                . \"We'll notify you when it ships!\";\n\n            $this->rapiwa->sendMessage(\n                phone: $order->customer->phone,\n                message: $message\n            );\n        }\n\n        return response()->json(['order' => $order], 201);\n    }\n}\n",[92572],{"type":426,"tag":549,"props":92573,"children":92574},{"__ignoreMap":417},[92575,92586,92594,92601,92617,92624,92640,92656,92663,92685,92692,92724,92731,92770,92777,92785,92828,92835,92842,92871,92920,92957,93001,93017,93024,93053,93081,93094,93101,93108,93115,93165,93172],{"type":426,"tag":553,"props":92576,"children":92577},{"class":555,"line":556},[92578,92582],{"type":426,"tag":553,"props":92579,"children":92580},{"style":795},[92581],{"type":431,"value":86379},{"type":426,"tag":553,"props":92583,"children":92584},{"style":566},[92585],{"type":431,"value":86384},{"type":426,"tag":553,"props":92587,"children":92588},{"class":555,"line":588},[92589],{"type":426,"tag":553,"props":92590,"children":92591},{"style":1975},[92592],{"type":431,"value":92593},"\u002F\u002F app\u002FHttp\u002FControllers\u002FOrderController.php\n",{"type":426,"tag":553,"props":92595,"children":92596},{"class":555,"line":606},[92597],{"type":426,"tag":553,"props":92598,"children":92599},{"emptyLinePlaceholder":831},[92600],{"type":431,"value":834},{"type":426,"tag":553,"props":92602,"children":92603},{"class":555,"line":623},[92604,92608,92613],{"type":426,"tag":553,"props":92605,"children":92606},{"style":795},[92607],{"type":431,"value":72817},{"type":426,"tag":553,"props":92609,"children":92610},{"style":560},[92611],{"type":431,"value":92612}," App\\Http\\Controllers",{"type":426,"tag":553,"props":92614,"children":92615},{"style":684},[92616],{"type":431,"value":52321},{"type":426,"tag":553,"props":92618,"children":92619},{"class":555,"line":637},[92620],{"type":426,"tag":553,"props":92621,"children":92622},{"emptyLinePlaceholder":831},[92623],{"type":431,"value":834},{"type":426,"tag":553,"props":92625,"children":92626},{"class":555,"line":646},[92627,92631,92636],{"type":426,"tag":553,"props":92628,"children":92629},{"style":795},[92630],{"type":431,"value":84570},{"type":426,"tag":553,"props":92632,"children":92633},{"style":566},[92634],{"type":431,"value":92635}," App\\Services\\RapiwaService",{"type":426,"tag":553,"props":92637,"children":92638},{"style":684},[92639],{"type":431,"value":52321},{"type":426,"tag":553,"props":92641,"children":92642},{"class":555,"line":655},[92643,92647,92652],{"type":426,"tag":553,"props":92644,"children":92645},{"style":795},[92646],{"type":431,"value":84570},{"type":426,"tag":553,"props":92648,"children":92649},{"style":566},[92650],{"type":431,"value":92651}," Illuminate\\Http\\Request",{"type":426,"tag":553,"props":92653,"children":92654},{"style":684},[92655],{"type":431,"value":52321},{"type":426,"tag":553,"props":92657,"children":92658},{"class":555,"line":1036},[92659],{"type":426,"tag":553,"props":92660,"children":92661},{"emptyLinePlaceholder":831},[92662],{"type":431,"value":834},{"type":426,"tag":553,"props":92664,"children":92665},{"class":555,"line":1054},[92666,92670,92675,92680],{"type":426,"tag":553,"props":92667,"children":92668},{"style":795},[92669],{"type":431,"value":11909},{"type":426,"tag":553,"props":92671,"children":92672},{"style":560},[92673],{"type":431,"value":92674}," OrderController",{"type":426,"tag":553,"props":92676,"children":92677},{"style":795},[92678],{"type":431,"value":92679}," extends",{"type":426,"tag":553,"props":92681,"children":92682},{"style":560},[92683],{"type":431,"value":92684}," Controller\n",{"type":426,"tag":553,"props":92686,"children":92687},{"class":555,"line":1080},[92688],{"type":426,"tag":553,"props":92689,"children":92690},{"style":684},[92691],{"type":431,"value":687},{"type":426,"tag":553,"props":92693,"children":92694},{"class":555,"line":1097},[92695,92699,92703,92707,92711,92715,92719],{"type":426,"tag":553,"props":92696,"children":92697},{"style":795},[92698],{"type":431,"value":61004},{"type":426,"tag":553,"props":92700,"children":92701},{"style":795},[92702],{"type":431,"value":52366},{"type":426,"tag":553,"props":92704,"children":92705},{"style":566},[92706],{"type":431,"value":87581},{"type":426,"tag":553,"props":92708,"children":92709},{"style":684},[92710],{"type":431,"value":3275},{"type":426,"tag":553,"props":92712,"children":92713},{"style":795},[92714],{"type":431,"value":87590},{"type":426,"tag":553,"props":92716,"children":92717},{"style":566},[92718],{"type":431,"value":60838},{"type":426,"tag":553,"props":92720,"children":92721},{"style":684},[92722],{"type":431,"value":92723}," $rapiwa) {}\n",{"type":426,"tag":553,"props":92725,"children":92726},{"class":555,"line":1114},[92727],{"type":426,"tag":553,"props":92728,"children":92729},{"emptyLinePlaceholder":831},[92730],{"type":431,"value":834},{"type":426,"tag":553,"props":92732,"children":92733},{"class":555,"line":1127},[92734,92738,92742,92747,92751,92756,92761,92765],{"type":426,"tag":553,"props":92735,"children":92736},{"style":795},[92737],{"type":431,"value":61004},{"type":426,"tag":553,"props":92739,"children":92740},{"style":795},[92741],{"type":431,"value":52366},{"type":426,"tag":553,"props":92743,"children":92744},{"style":560},[92745],{"type":431,"value":92746}," store",{"type":426,"tag":553,"props":92748,"children":92749},{"style":684},[92750],{"type":431,"value":3275},{"type":426,"tag":553,"props":92752,"children":92753},{"style":566},[92754],{"type":431,"value":92755},"Request",{"type":426,"tag":553,"props":92757,"children":92758},{"style":684},[92759],{"type":431,"value":92760}," $request)",{"type":426,"tag":553,"props":92762,"children":92763},{"style":795},[92764],{"type":431,"value":19071},{"type":426,"tag":553,"props":92766,"children":92767},{"style":566},[92768],{"type":431,"value":92769}," \\Illuminate\\Http\\JsonResponse\n",{"type":426,"tag":553,"props":92771,"children":92772},{"class":555,"line":1167},[92773],{"type":426,"tag":553,"props":92774,"children":92775},{"style":684},[92776],{"type":431,"value":73368},{"type":426,"tag":553,"props":92778,"children":92779},{"class":555,"line":1184},[92780],{"type":426,"tag":553,"props":92781,"children":92782},{"style":1975},[92783],{"type":431,"value":92784},"        \u002F\u002F Create the order\n",{"type":426,"tag":553,"props":92786,"children":92787},{"class":555,"line":1192},[92788,92793,92797,92802,92806,92810,92815,92819,92824],{"type":426,"tag":553,"props":92789,"children":92790},{"style":684},[92791],{"type":431,"value":92792},"        $order ",{"type":426,"tag":553,"props":92794,"children":92795},{"style":795},[92796],{"type":431,"value":957},{"type":426,"tag":553,"props":92798,"children":92799},{"style":566},[92800],{"type":431,"value":92801}," Order",{"type":426,"tag":553,"props":92803,"children":92804},{"style":795},[92805],{"type":431,"value":91528},{"type":426,"tag":553,"props":92807,"children":92808},{"style":560},[92809],{"type":431,"value":67482},{"type":426,"tag":553,"props":92811,"children":92812},{"style":684},[92813],{"type":431,"value":92814},"($request",{"type":426,"tag":553,"props":92816,"children":92817},{"style":795},[92818],{"type":431,"value":70711},{"type":426,"tag":553,"props":92820,"children":92821},{"style":560},[92822],{"type":431,"value":92823},"validated",{"type":426,"tag":553,"props":92825,"children":92826},{"style":684},[92827],{"type":431,"value":61503},{"type":426,"tag":553,"props":92829,"children":92830},{"class":555,"line":1210},[92831],{"type":426,"tag":553,"props":92832,"children":92833},{"emptyLinePlaceholder":831},[92834],{"type":431,"value":834},{"type":426,"tag":553,"props":92836,"children":92837},{"class":555,"line":1253},[92838],{"type":426,"tag":553,"props":92839,"children":92840},{"style":1975},[92841],{"type":431,"value":74735},{"type":426,"tag":553,"props":92843,"children":92844},{"class":555,"line":1302},[92845,92849,92854,92858,92862,92866],{"type":426,"tag":553,"props":92846,"children":92847},{"style":795},[92848],{"type":431,"value":2972},{"type":426,"tag":553,"props":92850,"children":92851},{"style":684},[92852],{"type":431,"value":92853}," ($order",{"type":426,"tag":553,"props":92855,"children":92856},{"style":795},[92857],{"type":431,"value":70711},{"type":426,"tag":553,"props":92859,"children":92860},{"style":684},[92861],{"type":431,"value":48654},{"type":426,"tag":553,"props":92863,"children":92864},{"style":795},[92865],{"type":431,"value":70711},{"type":426,"tag":553,"props":92867,"children":92868},{"style":684},[92869],{"type":431,"value":92870},"phone) {\n",{"type":426,"tag":553,"props":92872,"children":92873},{"class":555,"line":1374},[92874,92879,92883,92887,92891,92895,92899,92903,92908,92912,92916],{"type":426,"tag":553,"props":92875,"children":92876},{"style":684},[92877],{"type":431,"value":92878},"            $message ",{"type":426,"tag":553,"props":92880,"children":92881},{"style":795},[92882],{"type":431,"value":957},{"type":426,"tag":553,"props":92884,"children":92885},{"style":572},[92886],{"type":431,"value":90324},{"type":426,"tag":553,"props":92888,"children":92889},{"style":684},[92890],{"type":431,"value":90329},{"type":426,"tag":553,"props":92892,"children":92893},{"style":795},[92894],{"type":431,"value":70711},{"type":426,"tag":553,"props":92896,"children":92897},{"style":684},[92898],{"type":431,"value":48654},{"type":426,"tag":553,"props":92900,"children":92901},{"style":795},[92902],{"type":431,"value":70711},{"type":426,"tag":553,"props":92904,"children":92905},{"style":684},[92906],{"type":431,"value":92907},"first_name",{"type":426,"tag":553,"props":92909,"children":92910},{"style":572},[92911],{"type":431,"value":74818},{"type":426,"tag":553,"props":92913,"children":92914},{"style":566},[92915],{"type":431,"value":1295},{"type":426,"tag":553,"props":92917,"children":92918},{"style":572},[92919],{"type":431,"value":1250},{"type":426,"tag":553,"props":92921,"children":92922},{"class":555,"line":1414},[92923,92927,92932,92936,92940,92944,92949,92953],{"type":426,"tag":553,"props":92924,"children":92925},{"style":795},[92926],{"type":431,"value":67025},{"type":426,"tag":553,"props":92928,"children":92929},{"style":572},[92930],{"type":431,"value":92931}," \"Your order #{",{"type":426,"tag":553,"props":92933,"children":92934},{"style":684},[92935],{"type":431,"value":90329},{"type":426,"tag":553,"props":92937,"children":92938},{"style":795},[92939],{"type":431,"value":70711},{"type":426,"tag":553,"props":92941,"children":92942},{"style":684},[92943],{"type":431,"value":77202},{"type":426,"tag":553,"props":92945,"children":92946},{"style":572},[92947],{"type":431,"value":92948},"} has been confirmed.",{"type":426,"tag":553,"props":92950,"children":92951},{"style":566},[92952],{"type":431,"value":3661},{"type":426,"tag":553,"props":92954,"children":92955},{"style":572},[92956],{"type":431,"value":1250},{"type":426,"tag":553,"props":92958,"children":92959},{"class":555,"line":1479},[92960,92964,92969,92973,92977,92981,92985,92989,92993,92997],{"type":426,"tag":553,"props":92961,"children":92962},{"style":795},[92963],{"type":431,"value":67025},{"type":426,"tag":553,"props":92965,"children":92966},{"style":572},[92967],{"type":431,"value":92968}," \"Total: ",{"type":426,"tag":553,"props":92970,"children":92971},{"style":566},[92972],{"type":431,"value":89368},{"type":426,"tag":553,"props":92974,"children":92975},{"style":572},[92976],{"type":431,"value":972},{"type":426,"tag":553,"props":92978,"children":92979},{"style":684},[92980],{"type":431,"value":90329},{"type":426,"tag":553,"props":92982,"children":92983},{"style":795},[92984],{"type":431,"value":70711},{"type":426,"tag":553,"props":92986,"children":92987},{"style":684},[92988],{"type":431,"value":28805},{"type":426,"tag":553,"props":92990,"children":92991},{"style":572},[92992],{"type":431,"value":982},{"type":426,"tag":553,"props":92994,"children":92995},{"style":566},[92996],{"type":431,"value":1295},{"type":426,"tag":553,"props":92998,"children":92999},{"style":572},[93000],{"type":431,"value":1250},{"type":426,"tag":553,"props":93002,"children":93003},{"class":555,"line":1517},[93004,93008,93013],{"type":426,"tag":553,"props":93005,"children":93006},{"style":795},[93007],{"type":431,"value":67025},{"type":426,"tag":553,"props":93009,"children":93010},{"style":572},[93011],{"type":431,"value":93012}," \"We'll notify you when it ships!\"",{"type":426,"tag":553,"props":93014,"children":93015},{"style":684},[93016],{"type":431,"value":52321},{"type":426,"tag":553,"props":93018,"children":93019},{"class":555,"line":1560},[93020],{"type":426,"tag":553,"props":93021,"children":93022},{"emptyLinePlaceholder":831},[93023],{"type":431,"value":834},{"type":426,"tag":553,"props":93025,"children":93026},{"class":555,"line":1598},[93027,93032,93036,93041,93045,93049],{"type":426,"tag":553,"props":93028,"children":93029},{"style":566},[93030],{"type":431,"value":93031},"            $this",{"type":426,"tag":553,"props":93033,"children":93034},{"style":795},[93035],{"type":431,"value":70711},{"type":426,"tag":553,"props":93037,"children":93038},{"style":684},[93039],{"type":431,"value":93040},"rapiwa",{"type":426,"tag":553,"props":93042,"children":93043},{"style":795},[93044],{"type":431,"value":70711},{"type":426,"tag":553,"props":93046,"children":93047},{"style":560},[93048],{"type":431,"value":68378},{"type":426,"tag":553,"props":93050,"children":93051},{"style":684},[93052],{"type":431,"value":3172},{"type":426,"tag":553,"props":93054,"children":93055},{"class":555,"line":1636},[93056,93060,93065,93069,93073,93077],{"type":426,"tag":553,"props":93057,"children":93058},{"style":560},[93059],{"type":431,"value":42898},{"type":426,"tag":553,"props":93061,"children":93062},{"style":684},[93063],{"type":431,"value":93064},": $order",{"type":426,"tag":553,"props":93066,"children":93067},{"style":795},[93068],{"type":431,"value":70711},{"type":426,"tag":553,"props":93070,"children":93071},{"style":684},[93072],{"type":431,"value":48654},{"type":426,"tag":553,"props":93074,"children":93075},{"style":795},[93076],{"type":431,"value":70711},{"type":426,"tag":553,"props":93078,"children":93079},{"style":684},[93080],{"type":431,"value":24202},{"type":426,"tag":553,"props":93082,"children":93083},{"class":555,"line":1645},[93084,93089],{"type":426,"tag":553,"props":93085,"children":93086},{"style":560},[93087],{"type":431,"value":93088},"                message",{"type":426,"tag":553,"props":93090,"children":93091},{"style":684},[93092],{"type":431,"value":93093},": $message\n",{"type":426,"tag":553,"props":93095,"children":93096},{"class":555,"line":1653},[93097],{"type":426,"tag":553,"props":93098,"children":93099},{"style":684},[93100],{"type":431,"value":73750},{"type":426,"tag":553,"props":93102,"children":93103},{"class":555,"line":1667},[93104],{"type":426,"tag":553,"props":93105,"children":93106},{"style":684},[93107],{"type":431,"value":15075},{"type":426,"tag":553,"props":93109,"children":93110},{"class":555,"line":1680},[93111],{"type":426,"tag":553,"props":93112,"children":93113},{"emptyLinePlaceholder":831},[93114],{"type":431,"value":834},{"type":426,"tag":553,"props":93116,"children":93117},{"class":555,"line":1740},[93118,93122,93126,93130,93134,93138,93142,93147,93151,93156,93161],{"type":426,"tag":553,"props":93119,"children":93120},{"style":795},[93121],{"type":431,"value":8378},{"type":426,"tag":553,"props":93123,"children":93124},{"style":560},[93125],{"type":431,"value":53061},{"type":426,"tag":553,"props":93127,"children":93128},{"style":684},[93129],{"type":431,"value":87971},{"type":426,"tag":553,"props":93131,"children":93132},{"style":795},[93133],{"type":431,"value":70711},{"type":426,"tag":553,"props":93135,"children":93136},{"style":560},[93137],{"type":431,"value":673},{"type":426,"tag":553,"props":93139,"children":93140},{"style":684},[93141],{"type":431,"value":74656},{"type":426,"tag":553,"props":93143,"children":93144},{"style":572},[93145],{"type":431,"value":93146},"'order'",{"type":426,"tag":553,"props":93148,"children":93149},{"style":795},[93150],{"type":431,"value":53709},{"type":426,"tag":553,"props":93152,"children":93153},{"style":684},[93154],{"type":431,"value":93155}," $order], ",{"type":426,"tag":553,"props":93157,"children":93158},{"style":566},[93159],{"type":431,"value":93160},"201",{"type":426,"tag":553,"props":93162,"children":93163},{"style":684},[93164],{"type":431,"value":11379},{"type":426,"tag":553,"props":93166,"children":93167},{"class":555,"line":1787},[93168],{"type":426,"tag":553,"props":93169,"children":93170},{"style":684},[93171],{"type":431,"value":5546},{"type":426,"tag":553,"props":93173,"children":93174},{"class":555,"line":1796},[93175],{"type":426,"tag":553,"props":93176,"children":93177},{"style":684},[93178],{"type":431,"value":756},{"type":426,"tag":434,"props":93180,"children":93182},{"id":93181},"step-5-laravel-notification-channel",[93183],{"type":431,"value":93184},"Step 5: Laravel Notification Channel",{"type":426,"tag":427,"props":93186,"children":93187},{},[93188],{"type":431,"value":93189},"Create a custom notification channel for clean, reusable WhatsApp notifications:",{"type":426,"tag":542,"props":93191,"children":93193},{"className":79948,"code":93192,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F app\u002FChannels\u002FWhatsAppChannel.php\n\nnamespace App\\Channels;\n\nuse App\\Services\\RapiwaService;\nuse Illuminate\\Notifications\\Notification;\n\nclass WhatsAppChannel\n{\n    public function __construct(private RapiwaService $rapiwa) {}\n\n    public function send(mixed $notifiable, Notification $notification): void\n    {\n        $message = $notification->toWhatsApp($notifiable);\n\n        if (!$message) return;\n\n        $phone = $notifiable->routeNotificationFor('whatsApp');\n\n        if (!$phone) return;\n\n        $this->rapiwa->sendMessage(phone: $phone, message: $message);\n    }\n}\n",[93194],{"type":426,"tag":549,"props":93195,"children":93196},{"__ignoreMap":417},[93197,93208,93216,93223,93239,93246,93261,93277,93284,93296,93303,93334,93341,93389,93396,93426,93433,93461,93468,93507,93514,93542,93549,93594,93601],{"type":426,"tag":553,"props":93198,"children":93199},{"class":555,"line":556},[93200,93204],{"type":426,"tag":553,"props":93201,"children":93202},{"style":795},[93203],{"type":431,"value":86379},{"type":426,"tag":553,"props":93205,"children":93206},{"style":566},[93207],{"type":431,"value":86384},{"type":426,"tag":553,"props":93209,"children":93210},{"class":555,"line":588},[93211],{"type":426,"tag":553,"props":93212,"children":93213},{"style":1975},[93214],{"type":431,"value":93215},"\u002F\u002F app\u002FChannels\u002FWhatsAppChannel.php\n",{"type":426,"tag":553,"props":93217,"children":93218},{"class":555,"line":606},[93219],{"type":426,"tag":553,"props":93220,"children":93221},{"emptyLinePlaceholder":831},[93222],{"type":431,"value":834},{"type":426,"tag":553,"props":93224,"children":93225},{"class":555,"line":623},[93226,93230,93235],{"type":426,"tag":553,"props":93227,"children":93228},{"style":795},[93229],{"type":431,"value":72817},{"type":426,"tag":553,"props":93231,"children":93232},{"style":560},[93233],{"type":431,"value":93234}," App\\Channels",{"type":426,"tag":553,"props":93236,"children":93237},{"style":684},[93238],{"type":431,"value":52321},{"type":426,"tag":553,"props":93240,"children":93241},{"class":555,"line":637},[93242],{"type":426,"tag":553,"props":93243,"children":93244},{"emptyLinePlaceholder":831},[93245],{"type":431,"value":834},{"type":426,"tag":553,"props":93247,"children":93248},{"class":555,"line":646},[93249,93253,93257],{"type":426,"tag":553,"props":93250,"children":93251},{"style":795},[93252],{"type":431,"value":84570},{"type":426,"tag":553,"props":93254,"children":93255},{"style":566},[93256],{"type":431,"value":92635},{"type":426,"tag":553,"props":93258,"children":93259},{"style":684},[93260],{"type":431,"value":52321},{"type":426,"tag":553,"props":93262,"children":93263},{"class":555,"line":655},[93264,93268,93273],{"type":426,"tag":553,"props":93265,"children":93266},{"style":795},[93267],{"type":431,"value":84570},{"type":426,"tag":553,"props":93269,"children":93270},{"style":566},[93271],{"type":431,"value":93272}," Illuminate\\Notifications\\Notification",{"type":426,"tag":553,"props":93274,"children":93275},{"style":684},[93276],{"type":431,"value":52321},{"type":426,"tag":553,"props":93278,"children":93279},{"class":555,"line":1036},[93280],{"type":426,"tag":553,"props":93281,"children":93282},{"emptyLinePlaceholder":831},[93283],{"type":431,"value":834},{"type":426,"tag":553,"props":93285,"children":93286},{"class":555,"line":1054},[93287,93291],{"type":426,"tag":553,"props":93288,"children":93289},{"style":795},[93290],{"type":431,"value":11909},{"type":426,"tag":553,"props":93292,"children":93293},{"style":560},[93294],{"type":431,"value":93295}," WhatsAppChannel\n",{"type":426,"tag":553,"props":93297,"children":93298},{"class":555,"line":1080},[93299],{"type":426,"tag":553,"props":93300,"children":93301},{"style":684},[93302],{"type":431,"value":687},{"type":426,"tag":553,"props":93304,"children":93305},{"class":555,"line":1097},[93306,93310,93314,93318,93322,93326,93330],{"type":426,"tag":553,"props":93307,"children":93308},{"style":795},[93309],{"type":431,"value":61004},{"type":426,"tag":553,"props":93311,"children":93312},{"style":795},[93313],{"type":431,"value":52366},{"type":426,"tag":553,"props":93315,"children":93316},{"style":566},[93317],{"type":431,"value":87581},{"type":426,"tag":553,"props":93319,"children":93320},{"style":684},[93321],{"type":431,"value":3275},{"type":426,"tag":553,"props":93323,"children":93324},{"style":795},[93325],{"type":431,"value":87590},{"type":426,"tag":553,"props":93327,"children":93328},{"style":566},[93329],{"type":431,"value":60838},{"type":426,"tag":553,"props":93331,"children":93332},{"style":684},[93333],{"type":431,"value":92723},{"type":426,"tag":553,"props":93335,"children":93336},{"class":555,"line":1114},[93337],{"type":426,"tag":553,"props":93338,"children":93339},{"emptyLinePlaceholder":831},[93340],{"type":431,"value":834},{"type":426,"tag":553,"props":93342,"children":93343},{"class":555,"line":1127},[93344,93348,93352,93357,93361,93366,93371,93376,93381,93385],{"type":426,"tag":553,"props":93345,"children":93346},{"style":795},[93347],{"type":431,"value":61004},{"type":426,"tag":553,"props":93349,"children":93350},{"style":795},[93351],{"type":431,"value":52366},{"type":426,"tag":553,"props":93353,"children":93354},{"style":560},[93355],{"type":431,"value":93356}," send",{"type":426,"tag":553,"props":93358,"children":93359},{"style":684},[93360],{"type":431,"value":3275},{"type":426,"tag":553,"props":93362,"children":93363},{"style":795},[93364],{"type":431,"value":93365},"mixed",{"type":426,"tag":553,"props":93367,"children":93368},{"style":684},[93369],{"type":431,"value":93370}," $notifiable, ",{"type":426,"tag":553,"props":93372,"children":93373},{"style":566},[93374],{"type":431,"value":93375},"Notification",{"type":426,"tag":553,"props":93377,"children":93378},{"style":684},[93379],{"type":431,"value":93380}," $notification)",{"type":426,"tag":553,"props":93382,"children":93383},{"style":795},[93384],{"type":431,"value":19071},{"type":426,"tag":553,"props":93386,"children":93387},{"style":795},[93388],{"type":431,"value":92148},{"type":426,"tag":553,"props":93390,"children":93391},{"class":555,"line":1167},[93392],{"type":426,"tag":553,"props":93393,"children":93394},{"style":684},[93395],{"type":431,"value":73368},{"type":426,"tag":553,"props":93397,"children":93398},{"class":555,"line":1184},[93399,93403,93407,93412,93416,93421],{"type":426,"tag":553,"props":93400,"children":93401},{"style":684},[93402],{"type":431,"value":88949},{"type":426,"tag":553,"props":93404,"children":93405},{"style":795},[93406],{"type":431,"value":957},{"type":426,"tag":553,"props":93408,"children":93409},{"style":684},[93410],{"type":431,"value":93411}," $notification",{"type":426,"tag":553,"props":93413,"children":93414},{"style":795},[93415],{"type":431,"value":70711},{"type":426,"tag":553,"props":93417,"children":93418},{"style":560},[93419],{"type":431,"value":93420},"toWhatsApp",{"type":426,"tag":553,"props":93422,"children":93423},{"style":684},[93424],{"type":431,"value":93425},"($notifiable);\n",{"type":426,"tag":553,"props":93427,"children":93428},{"class":555,"line":1192},[93429],{"type":426,"tag":553,"props":93430,"children":93431},{"emptyLinePlaceholder":831},[93432],{"type":431,"value":834},{"type":426,"tag":553,"props":93434,"children":93435},{"class":555,"line":1210},[93436,93440,93444,93448,93453,93457],{"type":426,"tag":553,"props":93437,"children":93438},{"style":795},[93439],{"type":431,"value":2972},{"type":426,"tag":553,"props":93441,"children":93442},{"style":684},[93443],{"type":431,"value":5684},{"type":426,"tag":553,"props":93445,"children":93446},{"style":795},[93447],{"type":431,"value":4651},{"type":426,"tag":553,"props":93449,"children":93450},{"style":684},[93451],{"type":431,"value":93452},"$message) ",{"type":426,"tag":553,"props":93454,"children":93455},{"style":795},[93456],{"type":431,"value":84821},{"type":426,"tag":553,"props":93458,"children":93459},{"style":684},[93460],{"type":431,"value":52321},{"type":426,"tag":553,"props":93462,"children":93463},{"class":555,"line":1253},[93464],{"type":426,"tag":553,"props":93465,"children":93466},{"emptyLinePlaceholder":831},[93467],{"type":431,"value":834},{"type":426,"tag":553,"props":93469,"children":93470},{"class":555,"line":1302},[93471,93476,93480,93485,93489,93494,93498,93503],{"type":426,"tag":553,"props":93472,"children":93473},{"style":684},[93474],{"type":431,"value":93475},"        $phone ",{"type":426,"tag":553,"props":93477,"children":93478},{"style":795},[93479],{"type":431,"value":957},{"type":426,"tag":553,"props":93481,"children":93482},{"style":684},[93483],{"type":431,"value":93484}," $notifiable",{"type":426,"tag":553,"props":93486,"children":93487},{"style":795},[93488],{"type":431,"value":70711},{"type":426,"tag":553,"props":93490,"children":93491},{"style":560},[93492],{"type":431,"value":93493},"routeNotificationFor",{"type":426,"tag":553,"props":93495,"children":93496},{"style":684},[93497],{"type":431,"value":3275},{"type":426,"tag":553,"props":93499,"children":93500},{"style":572},[93501],{"type":431,"value":93502},"'whatsApp'",{"type":426,"tag":553,"props":93504,"children":93505},{"style":684},[93506],{"type":431,"value":11379},{"type":426,"tag":553,"props":93508,"children":93509},{"class":555,"line":1374},[93510],{"type":426,"tag":553,"props":93511,"children":93512},{"emptyLinePlaceholder":831},[93513],{"type":431,"value":834},{"type":426,"tag":553,"props":93515,"children":93516},{"class":555,"line":1414},[93517,93521,93525,93529,93534,93538],{"type":426,"tag":553,"props":93518,"children":93519},{"style":795},[93520],{"type":431,"value":2972},{"type":426,"tag":553,"props":93522,"children":93523},{"style":684},[93524],{"type":431,"value":5684},{"type":426,"tag":553,"props":93526,"children":93527},{"style":795},[93528],{"type":431,"value":4651},{"type":426,"tag":553,"props":93530,"children":93531},{"style":684},[93532],{"type":431,"value":93533},"$phone) ",{"type":426,"tag":553,"props":93535,"children":93536},{"style":795},[93537],{"type":431,"value":84821},{"type":426,"tag":553,"props":93539,"children":93540},{"style":684},[93541],{"type":431,"value":52321},{"type":426,"tag":553,"props":93543,"children":93544},{"class":555,"line":1479},[93545],{"type":426,"tag":553,"props":93546,"children":93547},{"emptyLinePlaceholder":831},[93548],{"type":431,"value":834},{"type":426,"tag":553,"props":93550,"children":93551},{"class":555,"line":1517},[93552,93556,93560,93564,93568,93572,93576,93580,93585,93589],{"type":426,"tag":553,"props":93553,"children":93554},{"style":566},[93555],{"type":431,"value":87614},{"type":426,"tag":553,"props":93557,"children":93558},{"style":795},[93559],{"type":431,"value":70711},{"type":426,"tag":553,"props":93561,"children":93562},{"style":684},[93563],{"type":431,"value":93040},{"type":426,"tag":553,"props":93565,"children":93566},{"style":795},[93567],{"type":431,"value":70711},{"type":426,"tag":553,"props":93569,"children":93570},{"style":560},[93571],{"type":431,"value":68378},{"type":426,"tag":553,"props":93573,"children":93574},{"style":684},[93575],{"type":431,"value":3275},{"type":426,"tag":553,"props":93577,"children":93578},{"style":560},[93579],{"type":431,"value":37598},{"type":426,"tag":553,"props":93581,"children":93582},{"style":684},[93583],{"type":431,"value":93584},": $phone, ",{"type":426,"tag":553,"props":93586,"children":93587},{"style":560},[93588],{"type":431,"value":2734},{"type":426,"tag":553,"props":93590,"children":93591},{"style":684},[93592],{"type":431,"value":93593},": $message);\n",{"type":426,"tag":553,"props":93595,"children":93596},{"class":555,"line":1560},[93597],{"type":426,"tag":553,"props":93598,"children":93599},{"style":684},[93600],{"type":431,"value":5546},{"type":426,"tag":553,"props":93602,"children":93603},{"class":555,"line":1598},[93604],{"type":426,"tag":553,"props":93605,"children":93606},{"style":684},[93607],{"type":431,"value":756},{"type":426,"tag":427,"props":93609,"children":93610},{},[93611],{"type":426,"tag":446,"props":93612,"children":93613},{},[93614],{"type":431,"value":93615},"Example Notification class:",{"type":426,"tag":542,"props":93617,"children":93619},{"className":79948,"code":93618,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F app\u002FNotifications\u002FOrderShippedNotification.php\n\nnamespace App\\Notifications;\n\nuse App\\Channels\\WhatsAppChannel;\nuse Illuminate\\Notifications\\Notification;\n\nclass OrderShippedNotification extends Notification\n{\n    public function __construct(private Order $order) {}\n\n    public function via(mixed $notifiable): array\n    {\n        return [WhatsAppChannel::class];\n    }\n\n    public function toWhatsApp(mixed $notifiable): string\n    {\n        return \"Hi {$notifiable->first_name}! 🚚\\n\\n\"\n            . \"Your order #{$this->order->id} has shipped!\\n\\n\"\n            . \"Tracking: {$this->order->tracking_number}\\n\"\n            . \"Track here: {$this->order->tracking_url}\";\n    }\n}\n",[93620],{"type":426,"tag":549,"props":93621,"children":93622},{"__ignoreMap":417},[93623,93634,93642,93649,93665,93672,93688,93703,93710,93731,93738,93770,93777,93814,93821,93845,93852,93859,93896,93903,93940,93985,94030,94070,94077],{"type":426,"tag":553,"props":93624,"children":93625},{"class":555,"line":556},[93626,93630],{"type":426,"tag":553,"props":93627,"children":93628},{"style":795},[93629],{"type":431,"value":86379},{"type":426,"tag":553,"props":93631,"children":93632},{"style":566},[93633],{"type":431,"value":86384},{"type":426,"tag":553,"props":93635,"children":93636},{"class":555,"line":588},[93637],{"type":426,"tag":553,"props":93638,"children":93639},{"style":1975},[93640],{"type":431,"value":93641},"\u002F\u002F app\u002FNotifications\u002FOrderShippedNotification.php\n",{"type":426,"tag":553,"props":93643,"children":93644},{"class":555,"line":606},[93645],{"type":426,"tag":553,"props":93646,"children":93647},{"emptyLinePlaceholder":831},[93648],{"type":431,"value":834},{"type":426,"tag":553,"props":93650,"children":93651},{"class":555,"line":623},[93652,93656,93661],{"type":426,"tag":553,"props":93653,"children":93654},{"style":795},[93655],{"type":431,"value":72817},{"type":426,"tag":553,"props":93657,"children":93658},{"style":560},[93659],{"type":431,"value":93660}," App\\Notifications",{"type":426,"tag":553,"props":93662,"children":93663},{"style":684},[93664],{"type":431,"value":52321},{"type":426,"tag":553,"props":93666,"children":93667},{"class":555,"line":637},[93668],{"type":426,"tag":553,"props":93669,"children":93670},{"emptyLinePlaceholder":831},[93671],{"type":431,"value":834},{"type":426,"tag":553,"props":93673,"children":93674},{"class":555,"line":646},[93675,93679,93684],{"type":426,"tag":553,"props":93676,"children":93677},{"style":795},[93678],{"type":431,"value":84570},{"type":426,"tag":553,"props":93680,"children":93681},{"style":566},[93682],{"type":431,"value":93683}," App\\Channels\\WhatsAppChannel",{"type":426,"tag":553,"props":93685,"children":93686},{"style":684},[93687],{"type":431,"value":52321},{"type":426,"tag":553,"props":93689,"children":93690},{"class":555,"line":655},[93691,93695,93699],{"type":426,"tag":553,"props":93692,"children":93693},{"style":795},[93694],{"type":431,"value":84570},{"type":426,"tag":553,"props":93696,"children":93697},{"style":566},[93698],{"type":431,"value":93272},{"type":426,"tag":553,"props":93700,"children":93701},{"style":684},[93702],{"type":431,"value":52321},{"type":426,"tag":553,"props":93704,"children":93705},{"class":555,"line":1036},[93706],{"type":426,"tag":553,"props":93707,"children":93708},{"emptyLinePlaceholder":831},[93709],{"type":431,"value":834},{"type":426,"tag":553,"props":93711,"children":93712},{"class":555,"line":1054},[93713,93717,93722,93726],{"type":426,"tag":553,"props":93714,"children":93715},{"style":795},[93716],{"type":431,"value":11909},{"type":426,"tag":553,"props":93718,"children":93719},{"style":560},[93720],{"type":431,"value":93721}," OrderShippedNotification",{"type":426,"tag":553,"props":93723,"children":93724},{"style":795},[93725],{"type":431,"value":92679},{"type":426,"tag":553,"props":93727,"children":93728},{"style":560},[93729],{"type":431,"value":93730}," Notification\n",{"type":426,"tag":553,"props":93732,"children":93733},{"class":555,"line":1080},[93734],{"type":426,"tag":553,"props":93735,"children":93736},{"style":684},[93737],{"type":431,"value":687},{"type":426,"tag":553,"props":93739,"children":93740},{"class":555,"line":1097},[93741,93745,93749,93753,93757,93761,93765],{"type":426,"tag":553,"props":93742,"children":93743},{"style":795},[93744],{"type":431,"value":61004},{"type":426,"tag":553,"props":93746,"children":93747},{"style":795},[93748],{"type":431,"value":52366},{"type":426,"tag":553,"props":93750,"children":93751},{"style":566},[93752],{"type":431,"value":87581},{"type":426,"tag":553,"props":93754,"children":93755},{"style":684},[93756],{"type":431,"value":3275},{"type":426,"tag":553,"props":93758,"children":93759},{"style":795},[93760],{"type":431,"value":87590},{"type":426,"tag":553,"props":93762,"children":93763},{"style":566},[93764],{"type":431,"value":92801},{"type":426,"tag":553,"props":93766,"children":93767},{"style":684},[93768],{"type":431,"value":93769}," $order) {}\n",{"type":426,"tag":553,"props":93771,"children":93772},{"class":555,"line":1114},[93773],{"type":426,"tag":553,"props":93774,"children":93775},{"emptyLinePlaceholder":831},[93776],{"type":431,"value":834},{"type":426,"tag":553,"props":93778,"children":93779},{"class":555,"line":1127},[93780,93784,93788,93793,93797,93801,93806,93810],{"type":426,"tag":553,"props":93781,"children":93782},{"style":795},[93783],{"type":431,"value":61004},{"type":426,"tag":553,"props":93785,"children":93786},{"style":795},[93787],{"type":431,"value":52366},{"type":426,"tag":553,"props":93789,"children":93790},{"style":560},[93791],{"type":431,"value":93792}," via",{"type":426,"tag":553,"props":93794,"children":93795},{"style":684},[93796],{"type":431,"value":3275},{"type":426,"tag":553,"props":93798,"children":93799},{"style":795},[93800],{"type":431,"value":93365},{"type":426,"tag":553,"props":93802,"children":93803},{"style":684},[93804],{"type":431,"value":93805}," $notifiable)",{"type":426,"tag":553,"props":93807,"children":93808},{"style":795},[93809],{"type":431,"value":19071},{"type":426,"tag":553,"props":93811,"children":93812},{"style":795},[93813],{"type":431,"value":86442},{"type":426,"tag":553,"props":93815,"children":93816},{"class":555,"line":1167},[93817],{"type":426,"tag":553,"props":93818,"children":93819},{"style":684},[93820],{"type":431,"value":73368},{"type":426,"tag":553,"props":93822,"children":93823},{"class":555,"line":1184},[93824,93828,93832,93837,93841],{"type":426,"tag":553,"props":93825,"children":93826},{"style":795},[93827],{"type":431,"value":8378},{"type":426,"tag":553,"props":93829,"children":93830},{"style":684},[93831],{"type":431,"value":1897},{"type":426,"tag":553,"props":93833,"children":93834},{"style":566},[93835],{"type":431,"value":93836},"WhatsAppChannel",{"type":426,"tag":553,"props":93838,"children":93839},{"style":795},[93840],{"type":431,"value":92515},{"type":426,"tag":553,"props":93842,"children":93843},{"style":684},[93844],{"type":431,"value":88941},{"type":426,"tag":553,"props":93846,"children":93847},{"class":555,"line":1192},[93848],{"type":426,"tag":553,"props":93849,"children":93850},{"style":684},[93851],{"type":431,"value":5546},{"type":426,"tag":553,"props":93853,"children":93854},{"class":555,"line":1210},[93855],{"type":426,"tag":553,"props":93856,"children":93857},{"emptyLinePlaceholder":831},[93858],{"type":431,"value":834},{"type":426,"tag":553,"props":93860,"children":93861},{"class":555,"line":1253},[93862,93866,93870,93875,93879,93883,93887,93891],{"type":426,"tag":553,"props":93863,"children":93864},{"style":795},[93865],{"type":431,"value":61004},{"type":426,"tag":553,"props":93867,"children":93868},{"style":795},[93869],{"type":431,"value":52366},{"type":426,"tag":553,"props":93871,"children":93872},{"style":560},[93873],{"type":431,"value":93874}," toWhatsApp",{"type":426,"tag":553,"props":93876,"children":93877},{"style":684},[93878],{"type":431,"value":3275},{"type":426,"tag":553,"props":93880,"children":93881},{"style":795},[93882],{"type":431,"value":93365},{"type":426,"tag":553,"props":93884,"children":93885},{"style":684},[93886],{"type":431,"value":93805},{"type":426,"tag":553,"props":93888,"children":93889},{"style":795},[93890],{"type":431,"value":19071},{"type":426,"tag":553,"props":93892,"children":93893},{"style":795},[93894],{"type":431,"value":93895}," string\n",{"type":426,"tag":553,"props":93897,"children":93898},{"class":555,"line":1302},[93899],{"type":426,"tag":553,"props":93900,"children":93901},{"style":684},[93902],{"type":431,"value":73368},{"type":426,"tag":553,"props":93904,"children":93905},{"class":555,"line":1374},[93906,93910,93914,93919,93923,93927,93932,93936],{"type":426,"tag":553,"props":93907,"children":93908},{"style":795},[93909],{"type":431,"value":8378},{"type":426,"tag":553,"props":93911,"children":93912},{"style":572},[93913],{"type":431,"value":90324},{"type":426,"tag":553,"props":93915,"children":93916},{"style":684},[93917],{"type":431,"value":93918},"$notifiable",{"type":426,"tag":553,"props":93920,"children":93921},{"style":795},[93922],{"type":431,"value":70711},{"type":426,"tag":553,"props":93924,"children":93925},{"style":684},[93926],{"type":431,"value":92907},{"type":426,"tag":553,"props":93928,"children":93929},{"style":572},[93930],{"type":431,"value":93931},"}! 🚚",{"type":426,"tag":553,"props":93933,"children":93934},{"style":566},[93935],{"type":431,"value":1295},{"type":426,"tag":553,"props":93937,"children":93938},{"style":572},[93939],{"type":431,"value":1250},{"type":426,"tag":553,"props":93941,"children":93942},{"class":555,"line":1414},[93943,93948,93952,93956,93960,93964,93968,93972,93977,93981],{"type":426,"tag":553,"props":93944,"children":93945},{"style":795},[93946],{"type":431,"value":93947},"            .",{"type":426,"tag":553,"props":93949,"children":93950},{"style":572},[93951],{"type":431,"value":92931},{"type":426,"tag":553,"props":93953,"children":93954},{"style":566},[93955],{"type":431,"value":91542},{"type":426,"tag":553,"props":93957,"children":93958},{"style":795},[93959],{"type":431,"value":70711},{"type":426,"tag":553,"props":93961,"children":93962},{"style":684},[93963],{"type":431,"value":74804},{"type":426,"tag":553,"props":93965,"children":93966},{"style":795},[93967],{"type":431,"value":70711},{"type":426,"tag":553,"props":93969,"children":93970},{"style":684},[93971],{"type":431,"value":77202},{"type":426,"tag":553,"props":93973,"children":93974},{"style":572},[93975],{"type":431,"value":93976},"} has shipped!",{"type":426,"tag":553,"props":93978,"children":93979},{"style":566},[93980],{"type":431,"value":1295},{"type":426,"tag":553,"props":93982,"children":93983},{"style":572},[93984],{"type":431,"value":1250},{"type":426,"tag":553,"props":93986,"children":93987},{"class":555,"line":1479},[93988,93992,93997,94001,94005,94009,94013,94018,94022,94026],{"type":426,"tag":553,"props":93989,"children":93990},{"style":795},[93991],{"type":431,"value":93947},{"type":426,"tag":553,"props":93993,"children":93994},{"style":572},[93995],{"type":431,"value":93996}," \"Tracking: {",{"type":426,"tag":553,"props":93998,"children":93999},{"style":566},[94000],{"type":431,"value":91542},{"type":426,"tag":553,"props":94002,"children":94003},{"style":795},[94004],{"type":431,"value":70711},{"type":426,"tag":553,"props":94006,"children":94007},{"style":684},[94008],{"type":431,"value":74804},{"type":426,"tag":553,"props":94010,"children":94011},{"style":795},[94012],{"type":431,"value":70711},{"type":426,"tag":553,"props":94014,"children":94015},{"style":684},[94016],{"type":431,"value":94017},"tracking_number",{"type":426,"tag":553,"props":94019,"children":94020},{"style":572},[94021],{"type":431,"value":982},{"type":426,"tag":553,"props":94023,"children":94024},{"style":566},[94025],{"type":431,"value":3661},{"type":426,"tag":553,"props":94027,"children":94028},{"style":572},[94029],{"type":431,"value":1250},{"type":426,"tag":553,"props":94031,"children":94032},{"class":555,"line":1517},[94033,94037,94042,94046,94050,94054,94058,94062,94066],{"type":426,"tag":553,"props":94034,"children":94035},{"style":795},[94036],{"type":431,"value":93947},{"type":426,"tag":553,"props":94038,"children":94039},{"style":572},[94040],{"type":431,"value":94041}," \"Track here: {",{"type":426,"tag":553,"props":94043,"children":94044},{"style":566},[94045],{"type":431,"value":91542},{"type":426,"tag":553,"props":94047,"children":94048},{"style":795},[94049],{"type":431,"value":70711},{"type":426,"tag":553,"props":94051,"children":94052},{"style":684},[94053],{"type":431,"value":74804},{"type":426,"tag":553,"props":94055,"children":94056},{"style":795},[94057],{"type":431,"value":70711},{"type":426,"tag":553,"props":94059,"children":94060},{"style":684},[94061],{"type":431,"value":47251},{"type":426,"tag":553,"props":94063,"children":94064},{"style":572},[94065],{"type":431,"value":67316},{"type":426,"tag":553,"props":94067,"children":94068},{"style":684},[94069],{"type":431,"value":52321},{"type":426,"tag":553,"props":94071,"children":94072},{"class":555,"line":1560},[94073],{"type":426,"tag":553,"props":94074,"children":94075},{"style":684},[94076],{"type":431,"value":5546},{"type":426,"tag":553,"props":94078,"children":94079},{"class":555,"line":1598},[94080],{"type":426,"tag":553,"props":94081,"children":94082},{"style":684},[94083],{"type":431,"value":756},{"type":426,"tag":427,"props":94085,"children":94086},{},[94087],{"type":426,"tag":446,"props":94088,"children":94089},{},[94090],{"type":431,"value":94091},"Add route to User model:",{"type":426,"tag":542,"props":94093,"children":94095},{"className":79948,"code":94094,"language":79950,"meta":417,"style":417},"\u002F\u002F app\u002FModels\u002FUser.php\npublic function routeNotificationForWhatsApp(): ?string\n{\n    return $this->phone; \u002F\u002F Returns international format phone number\n}\n",[94096],{"type":426,"tag":549,"props":94097,"children":94098},{"__ignoreMap":417},[94099,94107,94136,94143,94168],{"type":426,"tag":553,"props":94100,"children":94101},{"class":555,"line":556},[94102],{"type":426,"tag":553,"props":94103,"children":94104},{"style":1975},[94105],{"type":431,"value":94106},"\u002F\u002F app\u002FModels\u002FUser.php\n",{"type":426,"tag":553,"props":94108,"children":94109},{"class":555,"line":588},[94110,94114,94118,94123,94127,94131],{"type":426,"tag":553,"props":94111,"children":94112},{"style":795},[94113],{"type":431,"value":60828},{"type":426,"tag":553,"props":94115,"children":94116},{"style":795},[94117],{"type":431,"value":52366},{"type":426,"tag":553,"props":94119,"children":94120},{"style":560},[94121],{"type":431,"value":94122}," routeNotificationForWhatsApp",{"type":426,"tag":553,"props":94124,"children":94125},{"style":684},[94126],{"type":431,"value":87971},{"type":426,"tag":553,"props":94128,"children":94129},{"style":795},[94130],{"type":431,"value":19071},{"type":426,"tag":553,"props":94132,"children":94133},{"style":795},[94134],{"type":431,"value":94135}," ?string\n",{"type":426,"tag":553,"props":94137,"children":94138},{"class":555,"line":606},[94139],{"type":426,"tag":553,"props":94140,"children":94141},{"style":684},[94142],{"type":431,"value":687},{"type":426,"tag":553,"props":94144,"children":94145},{"class":555,"line":623},[94146,94150,94154,94158,94163],{"type":426,"tag":553,"props":94147,"children":94148},{"style":795},[94149],{"type":431,"value":1659},{"type":426,"tag":553,"props":94151,"children":94152},{"style":566},[94153],{"type":431,"value":87855},{"type":426,"tag":553,"props":94155,"children":94156},{"style":795},[94157],{"type":431,"value":70711},{"type":426,"tag":553,"props":94159,"children":94160},{"style":684},[94161],{"type":431,"value":94162},"phone; ",{"type":426,"tag":553,"props":94164,"children":94165},{"style":1975},[94166],{"type":431,"value":94167},"\u002F\u002F Returns international format phone number\n",{"type":426,"tag":553,"props":94169,"children":94170},{"class":555,"line":637},[94171],{"type":426,"tag":553,"props":94172,"children":94173},{"style":684},[94174],{"type":431,"value":756},{"type":426,"tag":427,"props":94176,"children":94177},{},[94178],{"type":426,"tag":446,"props":94179,"children":94180},{},[94181],{"type":431,"value":94182},"Send the notification:",{"type":426,"tag":542,"props":94184,"children":94186},{"className":79948,"code":94185,"language":79950,"meta":417,"style":417},"$user->notify(new OrderShippedNotification($order));\n",[94187],{"type":426,"tag":549,"props":94188,"children":94189},{"__ignoreMap":417},[94190],{"type":426,"tag":553,"props":94191,"children":94192},{"class":555,"line":556},[94193,94198,94202,94207,94211,94215,94219],{"type":426,"tag":553,"props":94194,"children":94195},{"style":684},[94196],{"type":431,"value":94197},"$user",{"type":426,"tag":553,"props":94199,"children":94200},{"style":795},[94201],{"type":431,"value":70711},{"type":426,"tag":553,"props":94203,"children":94204},{"style":560},[94205],{"type":431,"value":94206},"notify",{"type":426,"tag":553,"props":94208,"children":94209},{"style":684},[94210],{"type":431,"value":3275},{"type":426,"tag":553,"props":94212,"children":94213},{"style":795},[94214],{"type":431,"value":52602},{"type":426,"tag":553,"props":94216,"children":94217},{"style":566},[94218],{"type":431,"value":93721},{"type":426,"tag":553,"props":94220,"children":94221},{"style":684},[94222],{"type":431,"value":94223},"($order));\n",{"type":426,"tag":434,"props":94225,"children":94227},{"id":94226},"step-6-queue-whatsapp-messages",[94228],{"type":431,"value":94229},"Step 6: Queue WhatsApp Messages",{"type":426,"tag":427,"props":94231,"children":94232},{},[94233],{"type":431,"value":94234},"For high-volume applications, queue WhatsApp sends to avoid slowing down HTTP responses:",{"type":426,"tag":542,"props":94236,"children":94238},{"className":546,"code":94237,"language":545,"meta":417,"style":417},"php artisan make:job SendWhatsAppMessage\n",[94239],{"type":426,"tag":549,"props":94240,"children":94241},{"__ignoreMap":417},[94242],{"type":426,"tag":553,"props":94243,"children":94244},{"class":555,"line":556},[94245,94249,94253,94258],{"type":426,"tag":553,"props":94246,"children":94247},{"style":560},[94248],{"type":431,"value":79950},{"type":426,"tag":553,"props":94250,"children":94251},{"style":572},[94252],{"type":431,"value":91076},{"type":426,"tag":553,"props":94254,"children":94255},{"style":572},[94256],{"type":431,"value":94257}," make:job",{"type":426,"tag":553,"props":94259,"children":94260},{"style":572},[94261],{"type":431,"value":94262}," SendWhatsAppMessage\n",{"type":426,"tag":542,"props":94264,"children":94266},{"className":79948,"code":94265,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F app\u002FJobs\u002FSendWhatsAppMessage.php\n\nnamespace App\\Jobs;\n\nuse App\\Services\\RapiwaService;\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\n\nclass SendWhatsAppMessage implements ShouldQueue\n{\n    use Dispatchable, Queueable;\n\n    public int $tries = 3;\n    public int $backoff = 60; \u002F\u002F Retry after 60 seconds on failure\n\n    public function __construct(\n        private string $phone,\n        private string $message\n    ) {}\n\n    public function handle(RapiwaService $rapiwa): void\n    {\n        $rapiwa->sendMessage($this->phone, $this->message);\n    }\n}\n",[94267],{"type":426,"tag":549,"props":94268,"children":94269},{"__ignoreMap":417},[94270,94281,94289,94296,94312,94319,94334,94350,94366,94382,94389,94411,94418,94444,94451,94479,94512,94519,94538,94554,94570,94577,94584,94621,94628,94674,94681],{"type":426,"tag":553,"props":94271,"children":94272},{"class":555,"line":556},[94273,94277],{"type":426,"tag":553,"props":94274,"children":94275},{"style":795},[94276],{"type":431,"value":86379},{"type":426,"tag":553,"props":94278,"children":94279},{"style":566},[94280],{"type":431,"value":86384},{"type":426,"tag":553,"props":94282,"children":94283},{"class":555,"line":588},[94284],{"type":426,"tag":553,"props":94285,"children":94286},{"style":1975},[94287],{"type":431,"value":94288},"\u002F\u002F app\u002FJobs\u002FSendWhatsAppMessage.php\n",{"type":426,"tag":553,"props":94290,"children":94291},{"class":555,"line":606},[94292],{"type":426,"tag":553,"props":94293,"children":94294},{"emptyLinePlaceholder":831},[94295],{"type":431,"value":834},{"type":426,"tag":553,"props":94297,"children":94298},{"class":555,"line":623},[94299,94303,94308],{"type":426,"tag":553,"props":94300,"children":94301},{"style":795},[94302],{"type":431,"value":72817},{"type":426,"tag":553,"props":94304,"children":94305},{"style":560},[94306],{"type":431,"value":94307}," App\\Jobs",{"type":426,"tag":553,"props":94309,"children":94310},{"style":684},[94311],{"type":431,"value":52321},{"type":426,"tag":553,"props":94313,"children":94314},{"class":555,"line":637},[94315],{"type":426,"tag":553,"props":94316,"children":94317},{"emptyLinePlaceholder":831},[94318],{"type":431,"value":834},{"type":426,"tag":553,"props":94320,"children":94321},{"class":555,"line":646},[94322,94326,94330],{"type":426,"tag":553,"props":94323,"children":94324},{"style":795},[94325],{"type":431,"value":84570},{"type":426,"tag":553,"props":94327,"children":94328},{"style":566},[94329],{"type":431,"value":92635},{"type":426,"tag":553,"props":94331,"children":94332},{"style":684},[94333],{"type":431,"value":52321},{"type":426,"tag":553,"props":94335,"children":94336},{"class":555,"line":655},[94337,94341,94346],{"type":426,"tag":553,"props":94338,"children":94339},{"style":795},[94340],{"type":431,"value":84570},{"type":426,"tag":553,"props":94342,"children":94343},{"style":566},[94344],{"type":431,"value":94345}," Illuminate\\Bus\\Queueable",{"type":426,"tag":553,"props":94347,"children":94348},{"style":684},[94349],{"type":431,"value":52321},{"type":426,"tag":553,"props":94351,"children":94352},{"class":555,"line":1036},[94353,94357,94362],{"type":426,"tag":553,"props":94354,"children":94355},{"style":795},[94356],{"type":431,"value":84570},{"type":426,"tag":553,"props":94358,"children":94359},{"style":566},[94360],{"type":431,"value":94361}," Illuminate\\Contracts\\Queue\\ShouldQueue",{"type":426,"tag":553,"props":94363,"children":94364},{"style":684},[94365],{"type":431,"value":52321},{"type":426,"tag":553,"props":94367,"children":94368},{"class":555,"line":1054},[94369,94373,94378],{"type":426,"tag":553,"props":94370,"children":94371},{"style":795},[94372],{"type":431,"value":84570},{"type":426,"tag":553,"props":94374,"children":94375},{"style":566},[94376],{"type":431,"value":94377}," Illuminate\\Foundation\\Bus\\Dispatchable",{"type":426,"tag":553,"props":94379,"children":94380},{"style":684},[94381],{"type":431,"value":52321},{"type":426,"tag":553,"props":94383,"children":94384},{"class":555,"line":1080},[94385],{"type":426,"tag":553,"props":94386,"children":94387},{"emptyLinePlaceholder":831},[94388],{"type":431,"value":834},{"type":426,"tag":553,"props":94390,"children":94391},{"class":555,"line":1097},[94392,94396,94401,94406],{"type":426,"tag":553,"props":94393,"children":94394},{"style":795},[94395],{"type":431,"value":11909},{"type":426,"tag":553,"props":94397,"children":94398},{"style":560},[94399],{"type":431,"value":94400}," SendWhatsAppMessage",{"type":426,"tag":553,"props":94402,"children":94403},{"style":795},[94404],{"type":431,"value":94405}," implements",{"type":426,"tag":553,"props":94407,"children":94408},{"style":560},[94409],{"type":431,"value":94410}," ShouldQueue\n",{"type":426,"tag":553,"props":94412,"children":94413},{"class":555,"line":1114},[94414],{"type":426,"tag":553,"props":94415,"children":94416},{"style":684},[94417],{"type":431,"value":687},{"type":426,"tag":553,"props":94419,"children":94420},{"class":555,"line":1127},[94421,94426,94431,94435,94440],{"type":426,"tag":553,"props":94422,"children":94423},{"style":795},[94424],{"type":431,"value":94425},"    use",{"type":426,"tag":553,"props":94427,"children":94428},{"style":566},[94429],{"type":431,"value":94430}," Dispatchable",{"type":426,"tag":553,"props":94432,"children":94433},{"style":684},[94434],{"type":431,"value":1907},{"type":426,"tag":553,"props":94436,"children":94437},{"style":566},[94438],{"type":431,"value":94439},"Queueable",{"type":426,"tag":553,"props":94441,"children":94442},{"style":684},[94443],{"type":431,"value":52321},{"type":426,"tag":553,"props":94445,"children":94446},{"class":555,"line":1167},[94447],{"type":426,"tag":553,"props":94448,"children":94449},{"emptyLinePlaceholder":831},[94450],{"type":431,"value":834},{"type":426,"tag":553,"props":94452,"children":94453},{"class":555,"line":1184},[94454,94458,94462,94467,94471,94475],{"type":426,"tag":553,"props":94455,"children":94456},{"style":795},[94457],{"type":431,"value":61004},{"type":426,"tag":553,"props":94459,"children":94460},{"style":795},[94461],{"type":431,"value":22011},{"type":426,"tag":553,"props":94463,"children":94464},{"style":684},[94465],{"type":431,"value":94466}," $tries ",{"type":426,"tag":553,"props":94468,"children":94469},{"style":795},[94470],{"type":431,"value":957},{"type":426,"tag":553,"props":94472,"children":94473},{"style":566},[94474],{"type":431,"value":8744},{"type":426,"tag":553,"props":94476,"children":94477},{"style":684},[94478],{"type":431,"value":52321},{"type":426,"tag":553,"props":94480,"children":94481},{"class":555,"line":1192},[94482,94486,94490,94495,94499,94503,94507],{"type":426,"tag":553,"props":94483,"children":94484},{"style":795},[94485],{"type":431,"value":61004},{"type":426,"tag":553,"props":94487,"children":94488},{"style":795},[94489],{"type":431,"value":22011},{"type":426,"tag":553,"props":94491,"children":94492},{"style":684},[94493],{"type":431,"value":94494}," $backoff ",{"type":426,"tag":553,"props":94496,"children":94497},{"style":795},[94498],{"type":431,"value":957},{"type":426,"tag":553,"props":94500,"children":94501},{"style":566},[94502],{"type":431,"value":49849},{"type":426,"tag":553,"props":94504,"children":94505},{"style":684},[94506],{"type":431,"value":60918},{"type":426,"tag":553,"props":94508,"children":94509},{"style":1975},[94510],{"type":431,"value":94511},"\u002F\u002F Retry after 60 seconds on failure\n",{"type":426,"tag":553,"props":94513,"children":94514},{"class":555,"line":1210},[94515],{"type":426,"tag":553,"props":94516,"children":94517},{"emptyLinePlaceholder":831},[94518],{"type":431,"value":834},{"type":426,"tag":553,"props":94520,"children":94521},{"class":555,"line":1253},[94522,94526,94530,94534],{"type":426,"tag":553,"props":94523,"children":94524},{"style":795},[94525],{"type":431,"value":61004},{"type":426,"tag":553,"props":94527,"children":94528},{"style":795},[94529],{"type":431,"value":52366},{"type":426,"tag":553,"props":94531,"children":94532},{"style":566},[94533],{"type":431,"value":87581},{"type":426,"tag":553,"props":94535,"children":94536},{"style":684},[94537],{"type":431,"value":3172},{"type":426,"tag":553,"props":94539,"children":94540},{"class":555,"line":1302},[94541,94546,94550],{"type":426,"tag":553,"props":94542,"children":94543},{"style":795},[94544],{"type":431,"value":94545},"        private",{"type":426,"tag":553,"props":94547,"children":94548},{"style":795},[94549],{"type":431,"value":76053},{"type":426,"tag":553,"props":94551,"children":94552},{"style":684},[94553],{"type":431,"value":80199},{"type":426,"tag":553,"props":94555,"children":94556},{"class":555,"line":1374},[94557,94561,94565],{"type":426,"tag":553,"props":94558,"children":94559},{"style":795},[94560],{"type":431,"value":94545},{"type":426,"tag":553,"props":94562,"children":94563},{"style":795},[94564],{"type":431,"value":76053},{"type":426,"tag":553,"props":94566,"children":94567},{"style":684},[94568],{"type":431,"value":94569}," $message\n",{"type":426,"tag":553,"props":94571,"children":94572},{"class":555,"line":1414},[94573],{"type":426,"tag":553,"props":94574,"children":94575},{"style":684},[94576],{"type":431,"value":68902},{"type":426,"tag":553,"props":94578,"children":94579},{"class":555,"line":1479},[94580],{"type":426,"tag":553,"props":94581,"children":94582},{"emptyLinePlaceholder":831},[94583],{"type":431,"value":834},{"type":426,"tag":553,"props":94585,"children":94586},{"class":555,"line":1517},[94587,94591,94595,94600,94604,94608,94613,94617],{"type":426,"tag":553,"props":94588,"children":94589},{"style":795},[94590],{"type":431,"value":61004},{"type":426,"tag":553,"props":94592,"children":94593},{"style":795},[94594],{"type":431,"value":52366},{"type":426,"tag":553,"props":94596,"children":94597},{"style":560},[94598],{"type":431,"value":94599}," handle",{"type":426,"tag":553,"props":94601,"children":94602},{"style":684},[94603],{"type":431,"value":3275},{"type":426,"tag":553,"props":94605,"children":94606},{"style":566},[94607],{"type":431,"value":90840},{"type":426,"tag":553,"props":94609,"children":94610},{"style":684},[94611],{"type":431,"value":94612}," $rapiwa)",{"type":426,"tag":553,"props":94614,"children":94615},{"style":795},[94616],{"type":431,"value":19071},{"type":426,"tag":553,"props":94618,"children":94619},{"style":795},[94620],{"type":431,"value":92148},{"type":426,"tag":553,"props":94622,"children":94623},{"class":555,"line":1560},[94624],{"type":426,"tag":553,"props":94625,"children":94626},{"style":684},[94627],{"type":431,"value":73368},{"type":426,"tag":553,"props":94629,"children":94630},{"class":555,"line":1598},[94631,94636,94640,94644,94648,94652,94656,94661,94665,94669],{"type":426,"tag":553,"props":94632,"children":94633},{"style":684},[94634],{"type":431,"value":94635},"        $rapiwa",{"type":426,"tag":553,"props":94637,"children":94638},{"style":795},[94639],{"type":431,"value":70711},{"type":426,"tag":553,"props":94641,"children":94642},{"style":560},[94643],{"type":431,"value":68378},{"type":426,"tag":553,"props":94645,"children":94646},{"style":684},[94647],{"type":431,"value":3275},{"type":426,"tag":553,"props":94649,"children":94650},{"style":566},[94651],{"type":431,"value":91542},{"type":426,"tag":553,"props":94653,"children":94654},{"style":795},[94655],{"type":431,"value":70711},{"type":426,"tag":553,"props":94657,"children":94658},{"style":684},[94659],{"type":431,"value":94660},"phone, ",{"type":426,"tag":553,"props":94662,"children":94663},{"style":566},[94664],{"type":431,"value":91542},{"type":426,"tag":553,"props":94666,"children":94667},{"style":795},[94668],{"type":431,"value":70711},{"type":426,"tag":553,"props":94670,"children":94671},{"style":684},[94672],{"type":431,"value":94673},"message);\n",{"type":426,"tag":553,"props":94675,"children":94676},{"class":555,"line":1636},[94677],{"type":426,"tag":553,"props":94678,"children":94679},{"style":684},[94680],{"type":431,"value":5546},{"type":426,"tag":553,"props":94682,"children":94683},{"class":555,"line":1645},[94684],{"type":426,"tag":553,"props":94685,"children":94686},{"style":684},[94687],{"type":431,"value":756},{"type":426,"tag":427,"props":94689,"children":94690},{},[94691],{"type":426,"tag":446,"props":94692,"children":94693},{},[94694],{"type":431,"value":94695},"Dispatch the job:",{"type":426,"tag":542,"props":94697,"children":94699},{"className":79948,"code":94698,"language":79950,"meta":417,"style":417},"SendWhatsAppMessage::dispatch($user->phone, $message)\n    ->delay(now()->addMinutes(5)); \u002F\u002F Optional delay\n",[94700],{"type":426,"tag":549,"props":94701,"children":94702},{"__ignoreMap":417},[94703,94734],{"type":426,"tag":553,"props":94704,"children":94705},{"class":555,"line":556},[94706,94711,94715,94720,94725,94729],{"type":426,"tag":553,"props":94707,"children":94708},{"style":566},[94709],{"type":431,"value":94710},"SendWhatsAppMessage",{"type":426,"tag":553,"props":94712,"children":94713},{"style":795},[94714],{"type":431,"value":91528},{"type":426,"tag":553,"props":94716,"children":94717},{"style":560},[94718],{"type":431,"value":94719},"dispatch",{"type":426,"tag":553,"props":94721,"children":94722},{"style":684},[94723],{"type":431,"value":94724},"($user",{"type":426,"tag":553,"props":94726,"children":94727},{"style":795},[94728],{"type":431,"value":70711},{"type":426,"tag":553,"props":94730,"children":94731},{"style":684},[94732],{"type":431,"value":94733},"phone, $message)\n",{"type":426,"tag":553,"props":94735,"children":94736},{"class":555,"line":588},[94737,94742,94747,94751,94756,94760,94764,94769,94773,94777,94782],{"type":426,"tag":553,"props":94738,"children":94739},{"style":795},[94740],{"type":431,"value":94741},"    ->",{"type":426,"tag":553,"props":94743,"children":94744},{"style":560},[94745],{"type":431,"value":94746},"delay",{"type":426,"tag":553,"props":94748,"children":94749},{"style":684},[94750],{"type":431,"value":3275},{"type":426,"tag":553,"props":94752,"children":94753},{"style":560},[94754],{"type":431,"value":94755},"now",{"type":426,"tag":553,"props":94757,"children":94758},{"style":684},[94759],{"type":431,"value":87971},{"type":426,"tag":553,"props":94761,"children":94762},{"style":795},[94763],{"type":431,"value":70711},{"type":426,"tag":553,"props":94765,"children":94766},{"style":560},[94767],{"type":431,"value":94768},"addMinutes",{"type":426,"tag":553,"props":94770,"children":94771},{"style":684},[94772],{"type":431,"value":3275},{"type":426,"tag":553,"props":94774,"children":94775},{"style":566},[94776],{"type":431,"value":9306},{"type":426,"tag":553,"props":94778,"children":94779},{"style":684},[94780],{"type":431,"value":94781},")); ",{"type":426,"tag":553,"props":94783,"children":94784},{"style":1975},[94785],{"type":431,"value":94786},"\u002F\u002F Optional delay\n",{"type":426,"tag":427,"props":94788,"children":94789},{},[94790],{"type":426,"tag":446,"props":94791,"children":94792},{},[94793],{"type":431,"value":94794},"Test cURL (verify API key before integrating):",{"type":426,"tag":542,"props":94796,"children":94798},{"className":546,"code":94797,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello from Laravel! This is a test from Rapiwa API.\"\n  }'\n",[94799],{"type":426,"tag":549,"props":94800,"children":94801},{"__ignoreMap":417},[94802,94825,94840,94855,94866,94873,94881],{"type":426,"tag":553,"props":94803,"children":94804},{"class":555,"line":556},[94805,94809,94813,94817,94821],{"type":426,"tag":553,"props":94806,"children":94807},{"style":560},[94808],{"type":431,"value":563},{"type":426,"tag":553,"props":94810,"children":94811},{"style":566},[94812],{"type":431,"value":569},{"type":426,"tag":553,"props":94814,"children":94815},{"style":572},[94816],{"type":431,"value":575},{"type":426,"tag":553,"props":94818,"children":94819},{"style":572},[94820],{"type":431,"value":580},{"type":426,"tag":553,"props":94822,"children":94823},{"style":566},[94824],{"type":431,"value":585},{"type":426,"tag":553,"props":94826,"children":94827},{"class":555,"line":588},[94828,94832,94836],{"type":426,"tag":553,"props":94829,"children":94830},{"style":566},[94831],{"type":431,"value":594},{"type":426,"tag":553,"props":94833,"children":94834},{"style":572},[94835],{"type":431,"value":599},{"type":426,"tag":553,"props":94837,"children":94838},{"style":566},[94839],{"type":431,"value":585},{"type":426,"tag":553,"props":94841,"children":94842},{"class":555,"line":606},[94843,94847,94851],{"type":426,"tag":553,"props":94844,"children":94845},{"style":566},[94846],{"type":431,"value":594},{"type":426,"tag":553,"props":94848,"children":94849},{"style":572},[94850],{"type":431,"value":616},{"type":426,"tag":553,"props":94852,"children":94853},{"style":566},[94854],{"type":431,"value":585},{"type":426,"tag":553,"props":94856,"children":94857},{"class":555,"line":623},[94858,94862],{"type":426,"tag":553,"props":94859,"children":94860},{"style":566},[94861],{"type":431,"value":629},{"type":426,"tag":553,"props":94863,"children":94864},{"style":572},[94865],{"type":431,"value":634},{"type":426,"tag":553,"props":94867,"children":94868},{"class":555,"line":637},[94869],{"type":426,"tag":553,"props":94870,"children":94871},{"style":572},[94872],{"type":431,"value":643},{"type":426,"tag":553,"props":94874,"children":94875},{"class":555,"line":646},[94876],{"type":426,"tag":553,"props":94877,"children":94878},{"style":572},[94879],{"type":431,"value":94880},"    \"message\": \"Hello from Laravel! This is a test from Rapiwa API.\"\n",{"type":426,"tag":553,"props":94882,"children":94883},{"class":555,"line":655},[94884],{"type":426,"tag":553,"props":94885,"children":94886},{"style":572},[94887],{"type":431,"value":661},{"type":426,"tag":427,"props":94889,"children":94890},{},[94891],{"type":426,"tag":446,"props":94892,"children":94893},{},[94894],{"type":431,"value":669},{"type":426,"tag":542,"props":94896,"children":94898},{"className":674,"code":94897,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_laravel_abc123\",\n  \"timestamp\": \"2026-06-22T10:30:00Z\"\n}\n",[94899],{"type":426,"tag":549,"props":94900,"children":94901},{"__ignoreMap":417},[94902,94909,94928,94948,94964],{"type":426,"tag":553,"props":94903,"children":94904},{"class":555,"line":556},[94905],{"type":426,"tag":553,"props":94906,"children":94907},{"style":684},[94908],{"type":431,"value":687},{"type":426,"tag":553,"props":94910,"children":94911},{"class":555,"line":588},[94912,94916,94920,94924],{"type":426,"tag":553,"props":94913,"children":94914},{"style":566},[94915],{"type":431,"value":695},{"type":426,"tag":553,"props":94917,"children":94918},{"style":684},[94919],{"type":431,"value":700},{"type":426,"tag":553,"props":94921,"children":94922},{"style":572},[94923],{"type":431,"value":705},{"type":426,"tag":553,"props":94925,"children":94926},{"style":684},[94927],{"type":431,"value":710},{"type":426,"tag":553,"props":94929,"children":94930},{"class":555,"line":606},[94931,94935,94939,94944],{"type":426,"tag":553,"props":94932,"children":94933},{"style":566},[94934],{"type":431,"value":718},{"type":426,"tag":553,"props":94936,"children":94937},{"style":684},[94938],{"type":431,"value":700},{"type":426,"tag":553,"props":94940,"children":94941},{"style":572},[94942],{"type":431,"value":94943},"\"msg_laravel_abc123\"",{"type":426,"tag":553,"props":94945,"children":94946},{"style":684},[94947],{"type":431,"value":710},{"type":426,"tag":553,"props":94949,"children":94950},{"class":555,"line":623},[94951,94955,94959],{"type":426,"tag":553,"props":94952,"children":94953},{"style":566},[94954],{"type":431,"value":739},{"type":426,"tag":553,"props":94956,"children":94957},{"style":684},[94958],{"type":431,"value":700},{"type":426,"tag":553,"props":94960,"children":94961},{"style":572},[94962],{"type":431,"value":94963},"\"2026-06-22T10:30:00Z\"\n",{"type":426,"tag":553,"props":94965,"children":94966},{"class":555,"line":637},[94967],{"type":426,"tag":553,"props":94968,"children":94969},{"style":684},[94970],{"type":431,"value":756},{"type":426,"tag":434,"props":94972,"children":94974},{"id":94973},"step-7-handle-incoming-webhooks-in-laravel",[94975],{"type":431,"value":94976},"Step 7: Handle Incoming Webhooks in Laravel",{"type":426,"tag":542,"props":94978,"children":94980},{"className":79948,"code":94979,"language":79950,"meta":417,"style":417},"\u002F\u002F routes\u002Fapi.php\nRoute::post('\u002Fwhatsapp\u002Fwebhook', [WhatsAppWebhookController::class, 'handle'])\n    ->withoutMiddleware([\\App\\Http\\Middleware\\VerifyCsrfToken::class]);\n",[94981],{"type":426,"tag":549,"props":94982,"children":94983},{"__ignoreMap":417},[94984,94992,95043],{"type":426,"tag":553,"props":94985,"children":94986},{"class":555,"line":556},[94987],{"type":426,"tag":553,"props":94988,"children":94989},{"style":1975},[94990],{"type":431,"value":94991},"\u002F\u002F routes\u002Fapi.php\n",{"type":426,"tag":553,"props":94993,"children":94994},{"class":555,"line":588},[94995,94999,95003,95007,95011,95016,95021,95026,95030,95034,95039],{"type":426,"tag":553,"props":94996,"children":94997},{"style":566},[94998],{"type":431,"value":74470},{"type":426,"tag":553,"props":95000,"children":95001},{"style":795},[95002],{"type":431,"value":91528},{"type":426,"tag":553,"props":95004,"children":95005},{"style":560},[95006],{"type":431,"value":70594},{"type":426,"tag":553,"props":95008,"children":95009},{"style":684},[95010],{"type":431,"value":3275},{"type":426,"tag":553,"props":95012,"children":95013},{"style":572},[95014],{"type":431,"value":95015},"'\u002Fwhatsapp\u002Fwebhook'",{"type":426,"tag":553,"props":95017,"children":95018},{"style":684},[95019],{"type":431,"value":95020},", [",{"type":426,"tag":553,"props":95022,"children":95023},{"style":566},[95024],{"type":431,"value":95025},"WhatsAppWebhookController",{"type":426,"tag":553,"props":95027,"children":95028},{"style":795},[95029],{"type":431,"value":92515},{"type":426,"tag":553,"props":95031,"children":95032},{"style":684},[95033],{"type":431,"value":1907},{"type":426,"tag":553,"props":95035,"children":95036},{"style":572},[95037],{"type":431,"value":95038},"'handle'",{"type":426,"tag":553,"props":95040,"children":95041},{"style":684},[95042],{"type":431,"value":8061},{"type":426,"tag":553,"props":95044,"children":95045},{"class":555,"line":606},[95046,95050,95055,95059,95064,95068],{"type":426,"tag":553,"props":95047,"children":95048},{"style":795},[95049],{"type":431,"value":94741},{"type":426,"tag":553,"props":95051,"children":95052},{"style":560},[95053],{"type":431,"value":95054},"withoutMiddleware",{"type":426,"tag":553,"props":95056,"children":95057},{"style":684},[95058],{"type":431,"value":74656},{"type":426,"tag":553,"props":95060,"children":95061},{"style":566},[95062],{"type":431,"value":95063},"\\App\\Http\\Middleware\\VerifyCsrfToken",{"type":426,"tag":553,"props":95065,"children":95066},{"style":795},[95067],{"type":431,"value":92515},{"type":426,"tag":553,"props":95069,"children":95070},{"style":684},[95071],{"type":431,"value":95072},"]);\n",{"type":426,"tag":542,"props":95074,"children":95076},{"className":79948,"code":95075,"language":79950,"meta":417,"style":417},"\u002F\u002F app\u002FHttp\u002FControllers\u002FWhatsAppWebhookController.php\npublic function handle(Request $request): JsonResponse\n{\n    $event = $request->input('event');\n    $data = $request->input('data');\n\n    if ($event === 'message.received') {\n        ProcessIncomingWhatsApp::dispatch($data);\n    }\n\n    return response()->json(['status' => 'ok']);\n}\n",[95077],{"type":426,"tag":549,"props":95078,"children":95079},{"__ignoreMap":417},[95080,95088,95124,95131,95168,95204,95211,95235,95256,95263,95270,95314],{"type":426,"tag":553,"props":95081,"children":95082},{"class":555,"line":556},[95083],{"type":426,"tag":553,"props":95084,"children":95085},{"style":1975},[95086],{"type":431,"value":95087},"\u002F\u002F app\u002FHttp\u002FControllers\u002FWhatsAppWebhookController.php\n",{"type":426,"tag":553,"props":95089,"children":95090},{"class":555,"line":588},[95091,95095,95099,95103,95107,95111,95115,95119],{"type":426,"tag":553,"props":95092,"children":95093},{"style":795},[95094],{"type":431,"value":60828},{"type":426,"tag":553,"props":95096,"children":95097},{"style":795},[95098],{"type":431,"value":52366},{"type":426,"tag":553,"props":95100,"children":95101},{"style":560},[95102],{"type":431,"value":94599},{"type":426,"tag":553,"props":95104,"children":95105},{"style":684},[95106],{"type":431,"value":3275},{"type":426,"tag":553,"props":95108,"children":95109},{"style":566},[95110],{"type":431,"value":92755},{"type":426,"tag":553,"props":95112,"children":95113},{"style":684},[95114],{"type":431,"value":92760},{"type":426,"tag":553,"props":95116,"children":95117},{"style":795},[95118],{"type":431,"value":19071},{"type":426,"tag":553,"props":95120,"children":95121},{"style":566},[95122],{"type":431,"value":95123}," JsonResponse\n",{"type":426,"tag":553,"props":95125,"children":95126},{"class":555,"line":606},[95127],{"type":426,"tag":553,"props":95128,"children":95129},{"style":684},[95130],{"type":431,"value":687},{"type":426,"tag":553,"props":95132,"children":95133},{"class":555,"line":623},[95134,95139,95143,95148,95152,95156,95160,95164],{"type":426,"tag":553,"props":95135,"children":95136},{"style":684},[95137],{"type":431,"value":95138},"    $event ",{"type":426,"tag":553,"props":95140,"children":95141},{"style":795},[95142],{"type":431,"value":957},{"type":426,"tag":553,"props":95144,"children":95145},{"style":684},[95146],{"type":431,"value":95147}," $request",{"type":426,"tag":553,"props":95149,"children":95150},{"style":795},[95151],{"type":431,"value":70711},{"type":426,"tag":553,"props":95153,"children":95154},{"style":560},[95155],{"type":431,"value":6906},{"type":426,"tag":553,"props":95157,"children":95158},{"style":684},[95159],{"type":431,"value":3275},{"type":426,"tag":553,"props":95161,"children":95162},{"style":572},[95163],{"type":431,"value":8176},{"type":426,"tag":553,"props":95165,"children":95166},{"style":684},[95167],{"type":431,"value":11379},{"type":426,"tag":553,"props":95169,"children":95170},{"class":555,"line":637},[95171,95176,95180,95184,95188,95192,95196,95200],{"type":426,"tag":553,"props":95172,"children":95173},{"style":684},[95174],{"type":431,"value":95175},"    $data ",{"type":426,"tag":553,"props":95177,"children":95178},{"style":795},[95179],{"type":431,"value":957},{"type":426,"tag":553,"props":95181,"children":95182},{"style":684},[95183],{"type":431,"value":95147},{"type":426,"tag":553,"props":95185,"children":95186},{"style":795},[95187],{"type":431,"value":70711},{"type":426,"tag":553,"props":95189,"children":95190},{"style":560},[95191],{"type":431,"value":6906},{"type":426,"tag":553,"props":95193,"children":95194},{"style":684},[95195],{"type":431,"value":3275},{"type":426,"tag":553,"props":95197,"children":95198},{"style":572},[95199],{"type":431,"value":8206},{"type":426,"tag":553,"props":95201,"children":95202},{"style":684},[95203],{"type":431,"value":11379},{"type":426,"tag":553,"props":95205,"children":95206},{"class":555,"line":646},[95207],{"type":426,"tag":553,"props":95208,"children":95209},{"emptyLinePlaceholder":831},[95210],{"type":431,"value":834},{"type":426,"tag":553,"props":95212,"children":95213},{"class":555,"line":655},[95214,95218,95223,95227,95231],{"type":426,"tag":553,"props":95215,"children":95216},{"style":795},[95217],{"type":431,"value":925},{"type":426,"tag":553,"props":95219,"children":95220},{"style":684},[95221],{"type":431,"value":95222}," ($event ",{"type":426,"tag":553,"props":95224,"children":95225},{"style":795},[95226],{"type":431,"value":55042},{"type":426,"tag":553,"props":95228,"children":95229},{"style":572},[95230],{"type":431,"value":8189},{"type":426,"tag":553,"props":95232,"children":95233},{"style":684},[95234],{"type":431,"value":52385},{"type":426,"tag":553,"props":95236,"children":95237},{"class":555,"line":1036},[95238,95243,95247,95251],{"type":426,"tag":553,"props":95239,"children":95240},{"style":566},[95241],{"type":431,"value":95242},"        ProcessIncomingWhatsApp",{"type":426,"tag":553,"props":95244,"children":95245},{"style":795},[95246],{"type":431,"value":91528},{"type":426,"tag":553,"props":95248,"children":95249},{"style":560},[95250],{"type":431,"value":94719},{"type":426,"tag":553,"props":95252,"children":95253},{"style":684},[95254],{"type":431,"value":95255},"($data);\n",{"type":426,"tag":553,"props":95257,"children":95258},{"class":555,"line":1054},[95259],{"type":426,"tag":553,"props":95260,"children":95261},{"style":684},[95262],{"type":431,"value":5546},{"type":426,"tag":553,"props":95264,"children":95265},{"class":555,"line":1080},[95266],{"type":426,"tag":553,"props":95267,"children":95268},{"emptyLinePlaceholder":831},[95269],{"type":431,"value":834},{"type":426,"tag":553,"props":95271,"children":95272},{"class":555,"line":1097},[95273,95277,95281,95285,95289,95293,95297,95301,95305,95310],{"type":426,"tag":553,"props":95274,"children":95275},{"style":795},[95276],{"type":431,"value":1659},{"type":426,"tag":553,"props":95278,"children":95279},{"style":560},[95280],{"type":431,"value":53061},{"type":426,"tag":553,"props":95282,"children":95283},{"style":684},[95284],{"type":431,"value":87971},{"type":426,"tag":553,"props":95286,"children":95287},{"style":795},[95288],{"type":431,"value":70711},{"type":426,"tag":553,"props":95290,"children":95291},{"style":560},[95292],{"type":431,"value":673},{"type":426,"tag":553,"props":95294,"children":95295},{"style":684},[95296],{"type":431,"value":74656},{"type":426,"tag":553,"props":95298,"children":95299},{"style":572},[95300],{"type":431,"value":2982},{"type":426,"tag":553,"props":95302,"children":95303},{"style":795},[95304],{"type":431,"value":53709},{"type":426,"tag":553,"props":95306,"children":95307},{"style":572},[95308],{"type":431,"value":95309}," 'ok'",{"type":426,"tag":553,"props":95311,"children":95312},{"style":684},[95313],{"type":431,"value":95072},{"type":426,"tag":553,"props":95315,"children":95316},{"class":555,"line":1114},[95317],{"type":426,"tag":553,"props":95318,"children":95319},{"style":684},[95320],{"type":431,"value":756},{"type":426,"tag":434,"props":95322,"children":95323},{"id":18886},[95324],{"type":431,"value":18889},{"type":426,"tag":454,"props":95326,"children":95327},{},[95328,95346,95362,95378],{"type":426,"tag":458,"props":95329,"children":95330},{},[95331,95336,95338,95344],{"type":426,"tag":446,"props":95332,"children":95333},{},[95334],{"type":431,"value":95335},"cURL error: SSL certificate problem",{"type":431,"value":95337},": In local dev, you may need to disable SSL verification: ",{"type":426,"tag":549,"props":95339,"children":95341},{"className":95340},[],[95342],{"type":431,"value":95343},"Http::withoutVerifying()->...",{"type":431,"value":95345}," (never in production)",{"type":426,"tag":458,"props":95347,"children":95348},{},[95349,95354,95355,95360],{"type":426,"tag":446,"props":95350,"children":95351},{},[95352],{"type":431,"value":95353},"GuzzleHttp\\Exception\\ConnectException",{"type":431,"value":71420},{"type":426,"tag":549,"props":95356,"children":95358},{"className":95357},[],[95359],{"type":431,"value":71426},{"type":431,"value":95361},". Check firewall rules and outbound HTTPS access",{"type":426,"tag":458,"props":95363,"children":95364},{},[95365,95370,95372],{"type":426,"tag":446,"props":95366,"children":95367},{},[95368],{"type":431,"value":95369},"TypeError: phone must be string",{"type":431,"value":95371},": Ensure phone numbers are cast to string — ",{"type":426,"tag":549,"props":95373,"children":95375},{"className":95374},[],[95376],{"type":431,"value":95377},"(string) $user->phone",{"type":426,"tag":458,"props":95379,"children":95380},{},[95381,95385,95386,95392,95394,95400,95402],{"type":426,"tag":446,"props":95382,"children":95383},{},[95384],{"type":431,"value":8544},{"type":431,"value":90696},{"type":426,"tag":549,"props":95387,"children":95389},{"className":95388},[],[95390],{"type":431,"value":95391},"config('services.rapiwa.key')",{"type":431,"value":95393}," — run ",{"type":426,"tag":549,"props":95395,"children":95397},{"className":95396},[],[95398],{"type":431,"value":95399},"php artisan config:clear",{"type":431,"value":95401}," if you recently updated ",{"type":426,"tag":549,"props":95403,"children":95405},{"className":95404},[],[95406],{"type":431,"value":7139},{"type":426,"tag":434,"props":95408,"children":95409},{"id":4109},[95410],{"type":431,"value":4112},{"type":426,"tag":427,"props":95412,"children":95413},{},[95414,95419],{"type":426,"tag":446,"props":95415,"children":95416},{},[95417],{"type":431,"value":95418},"Is there a Rapiwa Laravel package on Packagist?",{"type":431,"value":95420},"\nNot yet — a community package is on the roadmap. For now, use the service class pattern in this tutorial, which gives you full control.",{"type":426,"tag":427,"props":95422,"children":95423},{},[95424,95429,95431,95436],{"type":426,"tag":446,"props":95425,"children":95426},{},[95427],{"type":431,"value":95428},"Can I send WhatsApp messages from Laravel Queues on AWS SQS?",{"type":431,"value":95430},"\nYes. The ",{"type":426,"tag":549,"props":95432,"children":95434},{"className":95433},[],[95435],{"type":431,"value":94710},{"type":431,"value":95437}," job works with any Laravel queue driver including Redis, database, and SQS.",{"type":426,"tag":427,"props":95439,"children":95440},{},[95441,95446],{"type":426,"tag":446,"props":95442,"children":95443},{},[95444],{"type":431,"value":95445},"Does Rapiwa charge per message sent from Laravel?",{"type":431,"value":95447},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Send unlimited messages from your Laravel application.",{"type":426,"tag":427,"props":95449,"children":95450},{},[95451,95456,95458,95463,95464,95469,95470,95475,95476,95482,95484,95489],{"type":426,"tag":446,"props":95452,"children":95453},{},[95454],{"type":431,"value":95455},"How do I format WhatsApp text in PHP strings?",{"type":431,"value":95457},"\nWhatsApp supports: ",{"type":426,"tag":549,"props":95459,"children":95461},{"className":95460},[],[95462],{"type":431,"value":7672},{"type":431,"value":1907},{"type":426,"tag":549,"props":95465,"children":95467},{"className":95466},[],[95468],{"type":431,"value":7683},{"type":431,"value":1907},{"type":426,"tag":549,"props":95471,"children":95473},{"className":95472},[],[95474],{"type":431,"value":7693},{"type":431,"value":1907},{"type":426,"tag":549,"props":95477,"children":95479},{"className":95478},[],[95480],{"type":431,"value":95481},"\\",{"type":431,"value":95483},"``monospace```",{"type":426,"tag":549,"props":95485,"children":95487},{"className":95486},[],[95488],{"type":431,"value":90779},{"type":431,"value":95490},"\\n` for line breaks in PHP strings.",{"type":426,"tag":427,"props":95492,"children":95493},{},[95494,95499],{"type":426,"tag":446,"props":95495,"children":95496},{},[95497],{"type":431,"value":95498},"Can I send multiple messages in one API call?",{"type":431,"value":95500},"\nNo — each API call sends one message. For bulk sends, loop over your contacts and call the API once per number (with a 1-second delay to respect rate limits).",{"type":426,"tag":4164,"props":95502,"children":95503},{},[95504],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":95506},[95507,95508,95510,95511,95512,95513,95514,95515,95516,95517],{"id":47624,"depth":588,"text":47627},{"id":90887,"depth":588,"text":95509},"Step 1: Add Rapiwa Credentials to .env",{"id":91054,"depth":588,"text":91057},{"id":92419,"depth":588,"text":92422},{"id":92564,"depth":588,"text":92567},{"id":93181,"depth":588,"text":93184},{"id":94226,"depth":588,"text":94229},{"id":94973,"depth":588,"text":94976},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-laravel-rapiwa.md","blog\u002Fwhatsapp-api-laravel-rapiwa.md","blog\u002Fwhatsapp-api-laravel-rapiwa",{"loc":117},{"_path":121,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":122,"description":123,"date":95523,"author":47538,"category":22,"_slug":95524,"image":95525,"body":95526,"_type":4187,"_id":99034,"_source":4189,"_file":99035,"_stem":99036,"_extension":4192,"sitemap":99037},"2026-02-24","whatsapp-chatbot-dialogflow-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-chatbot-dialogflow-rapiwa.svg",{"type":423,"children":95527,"toc":99019},[95528,95533,95537,95545,95558,95562,95594,95600,95648,95654,95659,95667,95680,95688,95701,95709,95722,95730,95738,95744,95784,95790,97424,97432,97481,97487,98638,98646,98677,98683,98722,98728,98829,98835,98847,98852,98870,98874,98923,98927,98937,98971,98981,98991,99015],{"type":426,"tag":427,"props":95529,"children":95530},{},[95531],{"type":431,"value":95532},"You can build a natural language WhatsApp chatbot by connecting Google Dialogflow (for intent recognition) with Rapiwa API (for WhatsApp delivery). When a customer sends a message to your WhatsApp number, Rapiwa's webhook forwards it to your server, which sends it to Dialogflow for intent matching, then replies via Rapiwa. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":95534,"children":95535},{"id":10999},[95536],{"type":431,"value":11002},{"type":426,"tag":542,"props":95538,"children":95540},{"code":95539},"Customer WhatsApp message\n  → Rapiwa webhook\n  → Your server (Node.js\u002FPython)\n  → Dialogflow detectIntent\n  → Response text\n  → Rapiwa API (send reply)\n  → Customer WhatsApp\n",[95541],{"type":426,"tag":549,"props":95542,"children":95543},{"__ignoreMap":417},[95544],{"type":431,"value":95539},{"type":426,"tag":427,"props":95546,"children":95547},{},[95548,95550,95556],{"type":431,"value":95549},"This architecture handles natural language queries — customers can type \"What are your prices?\" or \"How much does it cost?\" and Dialogflow maps both to the same ",{"type":426,"tag":549,"props":95551,"children":95553},{"className":95552},[],[95554],{"type":431,"value":95555},"pricing_query",{"type":431,"value":95557}," intent.",{"type":426,"tag":434,"props":95559,"children":95560},{"id":47624},[95561],{"type":431,"value":47627},{"type":426,"tag":454,"props":95563,"children":95564},{},[95565,95575,95579,95584,95589],{"type":426,"tag":458,"props":95566,"children":95567},{},[95568,95569,95574],{"type":431,"value":48828},{"type":426,"tag":3819,"props":95570,"children":95572},{"href":3821,"rel":95571},[3823],[95573],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":95576,"children":95577},{},[95578],{"type":431,"value":48840},{"type":426,"tag":458,"props":95580,"children":95581},{},[95582],{"type":431,"value":95583},"Google Cloud project with Dialogflow ES enabled",{"type":426,"tag":458,"props":95585,"children":95586},{},[95587],{"type":431,"value":95588},"Dialogflow service account JSON key",{"type":426,"tag":458,"props":95590,"children":95591},{},[95592],{"type":431,"value":95593},"Node.js 18+ or Python 3.9+ server",{"type":426,"tag":434,"props":95595,"children":95597},{"id":95596},"step-1-set-up-dialogflow-es-agent",[95598],{"type":431,"value":95599},"Step 1: Set Up Dialogflow ES Agent",{"type":426,"tag":6331,"props":95601,"children":95602},{},[95603,95614,95623,95634,95639],{"type":426,"tag":458,"props":95604,"children":95605},{},[95606,95607],{"type":431,"value":47846},{"type":426,"tag":3819,"props":95608,"children":95611},{"href":95609,"rel":95610},"https:\u002F\u002Fdialogflow.cloud.google.com\u002F",[3823],[95612],{"type":431,"value":95613},"dialogflow.cloud.google.com",{"type":426,"tag":458,"props":95615,"children":95616},{},[95617,95618],{"type":431,"value":47857},{"type":426,"tag":446,"props":95619,"children":95620},{},[95621],{"type":431,"value":95622},"Create new agent",{"type":426,"tag":458,"props":95624,"children":95625},{},[95626,95628],{"type":431,"value":95627},"Name: ",{"type":426,"tag":549,"props":95629,"children":95631},{"className":95630},[],[95632],{"type":431,"value":95633},"WhatsApp Support Bot",{"type":426,"tag":458,"props":95635,"children":95636},{},[95637],{"type":431,"value":95638},"Language: English (or your target language)",{"type":426,"tag":458,"props":95640,"children":95641},{},[95642,95643],{"type":431,"value":47857},{"type":426,"tag":446,"props":95644,"children":95645},{},[95646],{"type":431,"value":95647},"Create",{"type":426,"tag":515,"props":95649,"children":95651},{"id":95650},"create-intents",[95652],{"type":431,"value":95653},"Create Intents",{"type":426,"tag":427,"props":95655,"children":95656},{},[95657],{"type":431,"value":95658},"In Dialogflow, create intents for each customer query category:",{"type":426,"tag":427,"props":95660,"children":95661},{},[95662],{"type":426,"tag":446,"props":95663,"children":95664},{},[95665],{"type":431,"value":95666},"Intent: pricing_query",{"type":426,"tag":454,"props":95668,"children":95669},{},[95670,95675],{"type":426,"tag":458,"props":95671,"children":95672},{},[95673],{"type":431,"value":95674},"Training phrases: \"What are your prices?\", \"How much does it cost?\", \"Tell me about pricing\", \"What's the cheapest plan?\", \"Monthly fee?\"",{"type":426,"tag":458,"props":95676,"children":95677},{},[95678],{"type":431,"value":95679},"Response: \"Rapiwa plans start at $5\u002Fmonth with no per-message fees. You get unlimited messages. See all plans at rapiwa.com\"",{"type":426,"tag":427,"props":95681,"children":95682},{},[95683],{"type":426,"tag":446,"props":95684,"children":95685},{},[95686],{"type":431,"value":95687},"Intent: trial_query",{"type":426,"tag":454,"props":95689,"children":95690},{},[95691,95696],{"type":426,"tag":458,"props":95692,"children":95693},{},[95694],{"type":431,"value":95695},"Training phrases: \"Do you have a free trial?\", \"Can I try for free?\", \"Free version available?\", \"How do I start?\"",{"type":426,"tag":458,"props":95697,"children":95698},{},[95699],{"type":431,"value":95700},"Response: \"Yes! Rapiwa offers a 3-day free trial with no credit card required. Sign up at rapiwa.com\"",{"type":426,"tag":427,"props":95702,"children":95703},{},[95704],{"type":426,"tag":446,"props":95705,"children":95706},{},[95707],{"type":431,"value":95708},"Intent: support_request",{"type":426,"tag":454,"props":95710,"children":95711},{},[95712,95717],{"type":426,"tag":458,"props":95713,"children":95714},{},[95715],{"type":431,"value":95716},"Training phrases: \"I need help\", \"Support please\", \"Having a problem\", \"Something isn't working\"",{"type":426,"tag":458,"props":95718,"children":95719},{},[95720],{"type":431,"value":95721},"Response: \"Our support team is here to help! Please describe your issue and we'll get back to you within 1 business hour.\"",{"type":426,"tag":427,"props":95723,"children":95724},{},[95725],{"type":426,"tag":446,"props":95726,"children":95727},{},[95728],{"type":431,"value":95729},"Default Fallback Intent",{"type":426,"tag":454,"props":95731,"children":95732},{},[95733],{"type":426,"tag":458,"props":95734,"children":95735},{},[95736],{"type":431,"value":95737},"Response: \"I'm not sure I understood that. Could you rephrase? You can ask about pricing, features, or getting started.\"",{"type":426,"tag":515,"props":95739,"children":95741},{"id":95740},"create-a-service-account",[95742],{"type":431,"value":95743},"Create a Service Account",{"type":426,"tag":6331,"props":95745,"children":95746},{},[95747,95757,95768,95779],{"type":426,"tag":458,"props":95748,"children":95749},{},[95750,95752],{"type":431,"value":95751},"Google Cloud Console → ",{"type":426,"tag":446,"props":95753,"children":95754},{},[95755],{"type":431,"value":95756},"IAM & Admin → Service Accounts",{"type":426,"tag":458,"props":95758,"children":95759},{},[95760,95762],{"type":431,"value":95761},"Create new service account: ",{"type":426,"tag":549,"props":95763,"children":95765},{"className":95764},[],[95766],{"type":431,"value":95767},"dialogflow-bot",{"type":426,"tag":458,"props":95769,"children":95770},{},[95771,95773],{"type":431,"value":95772},"Role: ",{"type":426,"tag":549,"props":95774,"children":95776},{"className":95775},[],[95777],{"type":431,"value":95778},"Dialogflow API Client",{"type":426,"tag":458,"props":95780,"children":95781},{},[95782],{"type":431,"value":95783},"Create and download JSON key",{"type":426,"tag":434,"props":95785,"children":95787},{"id":95786},"step-2-build-the-webhook-server-nodejs",[95788],{"type":431,"value":95789},"Step 2: Build the Webhook Server (Node.js)",{"type":426,"tag":542,"props":95791,"children":95793},{"code":95792,"language":52115,"meta":417,"className":52113,"style":417},"\u002F\u002F server.js\nconst express = require('express');\nconst fetch = require('node-fetch');\nconst { SessionsClient } = require('@google-cloud\u002Fdialogflow');\n\nconst app = express();\napp.use(express.json());\n\nconst RAPIWA_API_KEY = 'YOUR_RAPIWA_API_KEY';\nconst DIALOGFLOW_PROJECT_ID = 'your-gcloud-project-id';\n\n\u002F\u002F Initialize Dialogflow client\nconst dialogflowClient = new SessionsClient({\n  keyFilename: '.\u002Fdialogflow-service-account.json'\n});\n\n\u002F\u002F Rapiwa webhook endpoint\napp.post('\u002Fwebhook\u002Fwhatsapp', async (req, res) => {\n  \u002F\u002F Acknowledge receipt immediately\n  res.status(200).json({ status: 'ok' });\n  \n  const { event, data } = req.body;\n  \n  if (event !== 'message.received' || data.messageType !== 'text') {\n    return; \u002F\u002F Only handle text messages\n  }\n  \n  const { from, message: userMessage } = data;\n  \n  try {\n    \u002F\u002F Get Dialogflow response\n    const dialogflowResponse = await detectIntent(from, userMessage);\n    \n    \u002F\u002F Send reply via Rapiwa\n    await sendWhatsAppMessage(from, dialogflowResponse);\n    \n    console.log(`Replied to ${from}: ${dialogflowResponse}`);\n  } catch (error) {\n    console.error('Error processing message:', error);\n    \u002F\u002F Send fallback message\n    await sendWhatsAppMessage(from, \"Sorry, I'm having trouble right now. Please try again in a moment.\");\n  }\n});\n\n\u002F**\n * Send user message to Dialogflow and get intent response.\n * Uses phone number as session ID for conversation context.\n *\u002F\nasync function detectIntent(sessionId, text) {\n  const sessionPath = dialogflowClient.projectAgentSessionPath(\n    DIALOGFLOW_PROJECT_ID,\n    sessionId\n  );\n  \n  const request = {\n    session: sessionPath,\n    queryInput: {\n      text: {\n        text: text,\n        languageCode: 'en-US'\n      }\n    }\n  };\n  \n  const [response] = await dialogflowClient.detectIntent(request);\n  const result = response.queryResult;\n  \n  console.log(`Detected intent: ${result.intent?.displayName || 'Default Fallback'}`);\n  console.log(`Confidence: ${result.intentDetectionConfidence}`);\n  \n  return result.fulfillmentText;\n}\n\n\u002F**\n * Send a WhatsApp message via Rapiwa API.\n *\u002F\nasync function sendWhatsAppMessage(phone, message) {\n  const response = await fetch('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', {\n    method: 'POST',\n    headers: {\n      'Authorization': `Bearer ${RAPIWA_API_KEY}`,\n      'Content-Type': 'application\u002Fjson'\n    },\n    body: JSON.stringify({ number: phone, message })\n  });\n  \n  const result = await response.json();\n  \n  if (result.status !== 'success') {\n    throw new Error(`Rapiwa error: ${JSON.stringify(result)}`);\n  }\n  \n  return result;\n}\n\napp.listen(3000, () => console.log('WhatsApp chatbot server running on port 3000'));\n",[95794],{"type":426,"tag":549,"props":95795,"children":95796},{"__ignoreMap":417},[95797,95804,95835,95866,95907,95914,95937,95960,95967,95990,96015,96022,96030,96059,96072,96079,96086,96094,96149,96157,96196,96203,96238,96245,96285,96301,96308,96315,96359,96366,96377,96385,96415,96422,96430,96447,96454,96496,96512,96537,96545,96569,96576,96583,96590,96598,96606,96614,96622,96658,96688,96700,96708,96716,96723,96742,96750,96758,96766,96774,96787,96795,96802,96810,96817,96858,96878,96885,96942,96983,96990,97002,97009,97016,97023,97031,97038,97073,97108,97123,97130,97157,97172,97179,97202,97209,97216,97247,97254,97278,97336,97343,97350,97362,97369,97376],{"type":426,"tag":553,"props":95798,"children":95799},{"class":555,"line":556},[95800],{"type":426,"tag":553,"props":95801,"children":95802},{"style":1975},[95803],{"type":431,"value":84447},{"type":426,"tag":553,"props":95805,"children":95806},{"class":555,"line":588},[95807,95811,95815,95819,95823,95827,95831],{"type":426,"tag":553,"props":95808,"children":95809},{"style":795},[95810],{"type":431,"value":52135},{"type":426,"tag":553,"props":95812,"children":95813},{"style":566},[95814],{"type":431,"value":84474},{"type":426,"tag":553,"props":95816,"children":95817},{"style":795},[95818],{"type":431,"value":8739},{"type":426,"tag":553,"props":95820,"children":95821},{"style":560},[95822],{"type":431,"value":52149},{"type":426,"tag":553,"props":95824,"children":95825},{"style":684},[95826],{"type":431,"value":3275},{"type":426,"tag":553,"props":95828,"children":95829},{"style":572},[95830],{"type":431,"value":84491},{"type":426,"tag":553,"props":95832,"children":95833},{"style":684},[95834],{"type":431,"value":11379},{"type":426,"tag":553,"props":95836,"children":95837},{"class":555,"line":606},[95838,95842,95846,95850,95854,95858,95862],{"type":426,"tag":553,"props":95839,"children":95840},{"style":795},[95841],{"type":431,"value":52135},{"type":426,"tag":553,"props":95843,"children":95844},{"style":566},[95845],{"type":431,"value":52226},{"type":426,"tag":553,"props":95847,"children":95848},{"style":795},[95849],{"type":431,"value":8739},{"type":426,"tag":553,"props":95851,"children":95852},{"style":560},[95853],{"type":431,"value":52149},{"type":426,"tag":553,"props":95855,"children":95856},{"style":684},[95857],{"type":431,"value":3275},{"type":426,"tag":553,"props":95859,"children":95860},{"style":572},[95861],{"type":431,"value":52243},{"type":426,"tag":553,"props":95863,"children":95864},{"style":684},[95865],{"type":431,"value":11379},{"type":426,"tag":553,"props":95867,"children":95868},{"class":555,"line":623},[95869,95873,95877,95882,95886,95890,95894,95898,95903],{"type":426,"tag":553,"props":95870,"children":95871},{"style":795},[95872],{"type":431,"value":52135},{"type":426,"tag":553,"props":95874,"children":95875},{"style":684},[95876],{"type":431,"value":52174},{"type":426,"tag":553,"props":95878,"children":95879},{"style":566},[95880],{"type":431,"value":95881},"SessionsClient",{"type":426,"tag":553,"props":95883,"children":95884},{"style":684},[95885],{"type":431,"value":52193},{"type":426,"tag":553,"props":95887,"children":95888},{"style":795},[95889],{"type":431,"value":957},{"type":426,"tag":553,"props":95891,"children":95892},{"style":560},[95893],{"type":431,"value":52149},{"type":426,"tag":553,"props":95895,"children":95896},{"style":684},[95897],{"type":431,"value":3275},{"type":426,"tag":553,"props":95899,"children":95900},{"style":572},[95901],{"type":431,"value":95902},"'@google-cloud\u002Fdialogflow'",{"type":426,"tag":553,"props":95904,"children":95905},{"style":684},[95906],{"type":431,"value":11379},{"type":426,"tag":553,"props":95908,"children":95909},{"class":555,"line":637},[95910],{"type":426,"tag":553,"props":95911,"children":95912},{"emptyLinePlaceholder":831},[95913],{"type":431,"value":834},{"type":426,"tag":553,"props":95915,"children":95916},{"class":555,"line":646},[95917,95921,95925,95929,95933],{"type":426,"tag":553,"props":95918,"children":95919},{"style":795},[95920],{"type":431,"value":52135},{"type":426,"tag":553,"props":95922,"children":95923},{"style":566},[95924],{"type":431,"value":84545},{"type":426,"tag":553,"props":95926,"children":95927},{"style":795},[95928],{"type":431,"value":8739},{"type":426,"tag":553,"props":95930,"children":95931},{"style":560},[95932],{"type":431,"value":84474},{"type":426,"tag":553,"props":95934,"children":95935},{"style":684},[95936],{"type":431,"value":53227},{"type":426,"tag":553,"props":95938,"children":95939},{"class":555,"line":655},[95940,95944,95948,95952,95956],{"type":426,"tag":553,"props":95941,"children":95942},{"style":684},[95943],{"type":431,"value":84565},{"type":426,"tag":553,"props":95945,"children":95946},{"style":560},[95947],{"type":431,"value":84570},{"type":426,"tag":553,"props":95949,"children":95950},{"style":684},[95951],{"type":431,"value":84575},{"type":426,"tag":553,"props":95953,"children":95954},{"style":560},[95955],{"type":431,"value":673},{"type":426,"tag":553,"props":95957,"children":95958},{"style":684},[95959],{"type":431,"value":61503},{"type":426,"tag":553,"props":95961,"children":95962},{"class":555,"line":1036},[95963],{"type":426,"tag":553,"props":95964,"children":95965},{"emptyLinePlaceholder":831},[95966],{"type":431,"value":834},{"type":426,"tag":553,"props":95968,"children":95969},{"class":555,"line":1054},[95970,95974,95978,95982,95986],{"type":426,"tag":553,"props":95971,"children":95972},{"style":795},[95973],{"type":431,"value":52135},{"type":426,"tag":553,"props":95975,"children":95976},{"style":566},[95977],{"type":431,"value":52307},{"type":426,"tag":553,"props":95979,"children":95980},{"style":795},[95981],{"type":431,"value":8739},{"type":426,"tag":553,"props":95983,"children":95984},{"style":572},[95985],{"type":431,"value":55718},{"type":426,"tag":553,"props":95987,"children":95988},{"style":684},[95989],{"type":431,"value":52321},{"type":426,"tag":553,"props":95991,"children":95992},{"class":555,"line":1080},[95993,95997,96002,96006,96011],{"type":426,"tag":553,"props":95994,"children":95995},{"style":795},[95996],{"type":431,"value":52135},{"type":426,"tag":553,"props":95998,"children":95999},{"style":566},[96000],{"type":431,"value":96001}," DIALOGFLOW_PROJECT_ID",{"type":426,"tag":553,"props":96003,"children":96004},{"style":795},[96005],{"type":431,"value":8739},{"type":426,"tag":553,"props":96007,"children":96008},{"style":572},[96009],{"type":431,"value":96010}," 'your-gcloud-project-id'",{"type":426,"tag":553,"props":96012,"children":96013},{"style":684},[96014],{"type":431,"value":52321},{"type":426,"tag":553,"props":96016,"children":96017},{"class":555,"line":1097},[96018],{"type":426,"tag":553,"props":96019,"children":96020},{"emptyLinePlaceholder":831},[96021],{"type":431,"value":834},{"type":426,"tag":553,"props":96023,"children":96024},{"class":555,"line":1114},[96025],{"type":426,"tag":553,"props":96026,"children":96027},{"style":1975},[96028],{"type":431,"value":96029},"\u002F\u002F Initialize Dialogflow client\n",{"type":426,"tag":553,"props":96031,"children":96032},{"class":555,"line":1127},[96033,96037,96042,96046,96050,96055],{"type":426,"tag":553,"props":96034,"children":96035},{"style":795},[96036],{"type":431,"value":52135},{"type":426,"tag":553,"props":96038,"children":96039},{"style":566},[96040],{"type":431,"value":96041}," dialogflowClient",{"type":426,"tag":553,"props":96043,"children":96044},{"style":795},[96045],{"type":431,"value":8739},{"type":426,"tag":553,"props":96047,"children":96048},{"style":795},[96049],{"type":431,"value":52275},{"type":426,"tag":553,"props":96051,"children":96052},{"style":560},[96053],{"type":431,"value":96054}," SessionsClient",{"type":426,"tag":553,"props":96056,"children":96057},{"style":684},[96058],{"type":431,"value":52612},{"type":426,"tag":553,"props":96060,"children":96061},{"class":555,"line":1167},[96062,96067],{"type":426,"tag":553,"props":96063,"children":96064},{"style":684},[96065],{"type":431,"value":96066},"  keyFilename: ",{"type":426,"tag":553,"props":96068,"children":96069},{"style":572},[96070],{"type":431,"value":96071},"'.\u002Fdialogflow-service-account.json'\n",{"type":426,"tag":553,"props":96073,"children":96074},{"class":555,"line":1184},[96075],{"type":426,"tag":553,"props":96076,"children":96077},{"style":684},[96078],{"type":431,"value":55916},{"type":426,"tag":553,"props":96080,"children":96081},{"class":555,"line":1192},[96082],{"type":426,"tag":553,"props":96083,"children":96084},{"emptyLinePlaceholder":831},[96085],{"type":431,"value":834},{"type":426,"tag":553,"props":96087,"children":96088},{"class":555,"line":1210},[96089],{"type":426,"tag":553,"props":96090,"children":96091},{"style":1975},[96092],{"type":431,"value":96093},"\u002F\u002F Rapiwa webhook endpoint\n",{"type":426,"tag":553,"props":96095,"children":96096},{"class":555,"line":1253},[96097,96101,96105,96109,96113,96117,96121,96125,96129,96133,96137,96141,96145],{"type":426,"tag":553,"props":96098,"children":96099},{"style":684},[96100],{"type":431,"value":84565},{"type":426,"tag":553,"props":96102,"children":96103},{"style":560},[96104],{"type":431,"value":70594},{"type":426,"tag":553,"props":96106,"children":96107},{"style":684},[96108],{"type":431,"value":3275},{"type":426,"tag":553,"props":96110,"children":96111},{"style":572},[96112],{"type":431,"value":8033},{"type":426,"tag":553,"props":96114,"children":96115},{"style":684},[96116],{"type":431,"value":1907},{"type":426,"tag":553,"props":96118,"children":96119},{"style":795},[96120],{"type":431,"value":52361},{"type":426,"tag":553,"props":96122,"children":96123},{"style":684},[96124],{"type":431,"value":5684},{"type":426,"tag":553,"props":96126,"children":96127},{"style":1684},[96128],{"type":431,"value":84670},{"type":426,"tag":553,"props":96130,"children":96131},{"style":684},[96132],{"type":431,"value":1907},{"type":426,"tag":553,"props":96134,"children":96135},{"style":1684},[96136],{"type":431,"value":84679},{"type":426,"tag":553,"props":96138,"children":96139},{"style":684},[96140],{"type":431,"value":2987},{"type":426,"tag":553,"props":96142,"children":96143},{"style":795},[96144],{"type":431,"value":74581},{"type":426,"tag":553,"props":96146,"children":96147},{"style":684},[96148],{"type":431,"value":5458},{"type":426,"tag":553,"props":96150,"children":96151},{"class":555,"line":1302},[96152],{"type":426,"tag":553,"props":96153,"children":96154},{"style":1975},[96155],{"type":431,"value":96156},"  \u002F\u002F Acknowledge receipt immediately\n",{"type":426,"tag":553,"props":96158,"children":96159},{"class":555,"line":1374},[96160,96164,96168,96172,96176,96180,96184,96188,96192],{"type":426,"tag":553,"props":96161,"children":96162},{"style":684},[96163],{"type":431,"value":84707},{"type":426,"tag":553,"props":96165,"children":96166},{"style":560},[96167],{"type":431,"value":67953},{"type":426,"tag":553,"props":96169,"children":96170},{"style":684},[96171],{"type":431,"value":3275},{"type":426,"tag":553,"props":96173,"children":96174},{"style":566},[96175],{"type":431,"value":10114},{"type":426,"tag":553,"props":96177,"children":96178},{"style":684},[96179],{"type":431,"value":53330},{"type":426,"tag":553,"props":96181,"children":96182},{"style":560},[96183],{"type":431,"value":673},{"type":426,"tag":553,"props":96185,"children":96186},{"style":684},[96187],{"type":431,"value":84732},{"type":426,"tag":553,"props":96189,"children":96190},{"style":572},[96191],{"type":431,"value":8139},{"type":426,"tag":553,"props":96193,"children":96194},{"style":684},[96195],{"type":431,"value":52295},{"type":426,"tag":553,"props":96197,"children":96198},{"class":555,"line":1414},[96199],{"type":426,"tag":553,"props":96200,"children":96201},{"style":684},[96202],{"type":431,"value":52575},{"type":426,"tag":553,"props":96204,"children":96205},{"class":555,"line":1479},[96206,96210,96214,96218,96222,96226,96230,96234],{"type":426,"tag":553,"props":96207,"children":96208},{"style":795},[96209],{"type":431,"value":52540},{"type":426,"tag":553,"props":96211,"children":96212},{"style":684},[96213],{"type":431,"value":52174},{"type":426,"tag":553,"props":96215,"children":96216},{"style":566},[96217],{"type":431,"value":82238},{"type":426,"tag":553,"props":96219,"children":96220},{"style":684},[96221],{"type":431,"value":1907},{"type":426,"tag":553,"props":96223,"children":96224},{"style":566},[96225],{"type":431,"value":54344},{"type":426,"tag":553,"props":96227,"children":96228},{"style":684},[96229],{"type":431,"value":52193},{"type":426,"tag":553,"props":96231,"children":96232},{"style":795},[96233],{"type":431,"value":957},{"type":426,"tag":553,"props":96235,"children":96236},{"style":684},[96237],{"type":431,"value":84783},{"type":426,"tag":553,"props":96239,"children":96240},{"class":555,"line":1517},[96241],{"type":426,"tag":553,"props":96242,"children":96243},{"style":684},[96244],{"type":431,"value":52575},{"type":426,"tag":553,"props":96246,"children":96247},{"class":555,"line":1560},[96248,96252,96256,96260,96264,96268,96273,96277,96281],{"type":426,"tag":553,"props":96249,"children":96250},{"style":795},[96251],{"type":431,"value":84798},{"type":426,"tag":553,"props":96253,"children":96254},{"style":684},[96255],{"type":431,"value":84803},{"type":426,"tag":553,"props":96257,"children":96258},{"style":795},[96259],{"type":431,"value":84808},{"type":426,"tag":553,"props":96261,"children":96262},{"style":572},[96263],{"type":431,"value":8189},{"type":426,"tag":553,"props":96265,"children":96266},{"style":795},[96267],{"type":431,"value":84619},{"type":426,"tag":553,"props":96269,"children":96270},{"style":684},[96271],{"type":431,"value":96272}," data.messageType ",{"type":426,"tag":553,"props":96274,"children":96275},{"style":795},[96276],{"type":431,"value":84808},{"type":426,"tag":553,"props":96278,"children":96279},{"style":572},[96280],{"type":431,"value":65381},{"type":426,"tag":553,"props":96282,"children":96283},{"style":684},[96284],{"type":431,"value":52385},{"type":426,"tag":553,"props":96286,"children":96287},{"class":555,"line":1598},[96288,96292,96296],{"type":426,"tag":553,"props":96289,"children":96290},{"style":795},[96291],{"type":431,"value":1659},{"type":426,"tag":553,"props":96293,"children":96294},{"style":684},[96295],{"type":431,"value":60918},{"type":426,"tag":553,"props":96297,"children":96298},{"style":1975},[96299],{"type":431,"value":96300},"\u002F\u002F Only handle text messages\n",{"type":426,"tag":553,"props":96302,"children":96303},{"class":555,"line":1636},[96304],{"type":426,"tag":553,"props":96305,"children":96306},{"style":684},[96307],{"type":431,"value":60547},{"type":426,"tag":553,"props":96309,"children":96310},{"class":555,"line":1645},[96311],{"type":426,"tag":553,"props":96312,"children":96313},{"style":684},[96314],{"type":431,"value":52575},{"type":426,"tag":553,"props":96316,"children":96317},{"class":555,"line":1653},[96318,96322,96326,96330,96334,96338,96342,96347,96351,96355],{"type":426,"tag":553,"props":96319,"children":96320},{"style":795},[96321],{"type":431,"value":52540},{"type":426,"tag":553,"props":96323,"children":96324},{"style":684},[96325],{"type":431,"value":52174},{"type":426,"tag":553,"props":96327,"children":96328},{"style":566},[96329],{"type":431,"value":811},{"type":426,"tag":553,"props":96331,"children":96332},{"style":684},[96333],{"type":431,"value":1907},{"type":426,"tag":553,"props":96335,"children":96336},{"style":1684},[96337],{"type":431,"value":2734},{"type":426,"tag":553,"props":96339,"children":96340},{"style":684},[96341],{"type":431,"value":700},{"type":426,"tag":553,"props":96343,"children":96344},{"style":566},[96345],{"type":431,"value":96346},"userMessage",{"type":426,"tag":553,"props":96348,"children":96349},{"style":684},[96350],{"type":431,"value":52193},{"type":426,"tag":553,"props":96352,"children":96353},{"style":795},[96354],{"type":431,"value":957},{"type":426,"tag":553,"props":96356,"children":96357},{"style":684},[96358],{"type":431,"value":84894},{"type":426,"tag":553,"props":96360,"children":96361},{"class":555,"line":1667},[96362],{"type":426,"tag":553,"props":96363,"children":96364},{"style":684},[96365],{"type":431,"value":52575},{"type":426,"tag":553,"props":96367,"children":96368},{"class":555,"line":1680},[96369,96373],{"type":426,"tag":553,"props":96370,"children":96371},{"style":795},[96372],{"type":431,"value":85399},{"type":426,"tag":553,"props":96374,"children":96375},{"style":684},[96376],{"type":431,"value":5458},{"type":426,"tag":553,"props":96378,"children":96379},{"class":555,"line":1740},[96380],{"type":426,"tag":553,"props":96381,"children":96382},{"style":1975},[96383],{"type":431,"value":96384},"    \u002F\u002F Get Dialogflow response\n",{"type":426,"tag":553,"props":96386,"children":96387},{"class":555,"line":1787},[96388,96392,96397,96401,96405,96410],{"type":426,"tag":553,"props":96389,"children":96390},{"style":795},[96391],{"type":431,"value":85411},{"type":426,"tag":553,"props":96393,"children":96394},{"style":566},[96395],{"type":431,"value":96396}," dialogflowResponse",{"type":426,"tag":553,"props":96398,"children":96399},{"style":795},[96400],{"type":431,"value":8739},{"type":426,"tag":553,"props":96402,"children":96403},{"style":795},[96404],{"type":431,"value":53070},{"type":426,"tag":553,"props":96406,"children":96407},{"style":560},[96408],{"type":431,"value":96409}," detectIntent",{"type":426,"tag":553,"props":96411,"children":96412},{"style":684},[96413],{"type":431,"value":96414},"(from, userMessage);\n",{"type":426,"tag":553,"props":96416,"children":96417},{"class":555,"line":1796},[96418],{"type":426,"tag":553,"props":96419,"children":96420},{"style":684},[96421],{"type":431,"value":917},{"type":426,"tag":553,"props":96423,"children":96424},{"class":555,"line":1804},[96425],{"type":426,"tag":553,"props":96426,"children":96427},{"style":1975},[96428],{"type":431,"value":96429},"    \u002F\u002F Send reply via Rapiwa\n",{"type":426,"tag":553,"props":96431,"children":96432},{"class":555,"line":1812},[96433,96437,96442],{"type":426,"tag":553,"props":96434,"children":96435},{"style":795},[96436],{"type":431,"value":84941},{"type":426,"tag":553,"props":96438,"children":96439},{"style":560},[96440],{"type":431,"value":96441}," sendWhatsAppMessage",{"type":426,"tag":553,"props":96443,"children":96444},{"style":684},[96445],{"type":431,"value":96446},"(from, dialogflowResponse);\n",{"type":426,"tag":553,"props":96448,"children":96449},{"class":555,"line":1847},[96450],{"type":426,"tag":553,"props":96451,"children":96452},{"style":684},[96453],{"type":431,"value":917},{"type":426,"tag":553,"props":96455,"children":96456},{"class":555,"line":1856},[96457,96461,96465,96469,96474,96478,96483,96488,96492],{"type":426,"tag":553,"props":96458,"children":96459},{"style":684},[96460],{"type":431,"value":85587},{"type":426,"tag":553,"props":96462,"children":96463},{"style":560},[96464],{"type":431,"value":53719},{"type":426,"tag":553,"props":96466,"children":96467},{"style":684},[96468],{"type":431,"value":3275},{"type":426,"tag":553,"props":96470,"children":96471},{"style":572},[96472],{"type":431,"value":96473},"`Replied to ${",{"type":426,"tag":553,"props":96475,"children":96476},{"style":684},[96477],{"type":431,"value":811},{"type":426,"tag":553,"props":96479,"children":96480},{"style":572},[96481],{"type":431,"value":96482},"}: ${",{"type":426,"tag":553,"props":96484,"children":96485},{"style":684},[96486],{"type":431,"value":96487},"dialogflowResponse",{"type":426,"tag":553,"props":96489,"children":96490},{"style":572},[96491],{"type":431,"value":52718},{"type":426,"tag":553,"props":96493,"children":96494},{"style":684},[96495],{"type":431,"value":11379},{"type":426,"tag":553,"props":96497,"children":96498},{"class":555,"line":1874},[96499,96503,96507],{"type":426,"tag":553,"props":96500,"children":96501},{"style":684},[96502],{"type":431,"value":85621},{"type":426,"tag":553,"props":96504,"children":96505},{"style":795},[96506],{"type":431,"value":61750},{"type":426,"tag":553,"props":96508,"children":96509},{"style":684},[96510],{"type":431,"value":96511}," (error) {\n",{"type":426,"tag":553,"props":96513,"children":96514},{"class":555,"line":1882},[96515,96519,96523,96527,96532],{"type":426,"tag":553,"props":96516,"children":96517},{"style":684},[96518],{"type":431,"value":85587},{"type":426,"tag":553,"props":96520,"children":96521},{"style":560},[96522],{"type":431,"value":70759},{"type":426,"tag":553,"props":96524,"children":96525},{"style":684},[96526],{"type":431,"value":3275},{"type":426,"tag":553,"props":96528,"children":96529},{"style":572},[96530],{"type":431,"value":96531},"'Error processing message:'",{"type":426,"tag":553,"props":96533,"children":96534},{"style":684},[96535],{"type":431,"value":96536},", error);\n",{"type":426,"tag":553,"props":96538,"children":96539},{"class":555,"line":1981},[96540],{"type":426,"tag":553,"props":96541,"children":96542},{"style":1975},[96543],{"type":431,"value":96544},"    \u002F\u002F Send fallback message\n",{"type":426,"tag":553,"props":96546,"children":96547},{"class":555,"line":1989},[96548,96552,96556,96560,96565],{"type":426,"tag":553,"props":96549,"children":96550},{"style":795},[96551],{"type":431,"value":84941},{"type":426,"tag":553,"props":96553,"children":96554},{"style":560},[96555],{"type":431,"value":96441},{"type":426,"tag":553,"props":96557,"children":96558},{"style":684},[96559],{"type":431,"value":84951},{"type":426,"tag":553,"props":96561,"children":96562},{"style":572},[96563],{"type":431,"value":96564},"\"Sorry, I'm having trouble right now. Please try again in a moment.\"",{"type":426,"tag":553,"props":96566,"children":96567},{"style":684},[96568],{"type":431,"value":11379},{"type":426,"tag":553,"props":96570,"children":96571},{"class":555,"line":2013},[96572],{"type":426,"tag":553,"props":96573,"children":96574},{"style":684},[96575],{"type":431,"value":60547},{"type":426,"tag":553,"props":96577,"children":96578},{"class":555,"line":2055},[96579],{"type":426,"tag":553,"props":96580,"children":96581},{"style":684},[96582],{"type":431,"value":55916},{"type":426,"tag":553,"props":96584,"children":96585},{"class":555,"line":2064},[96586],{"type":426,"tag":553,"props":96587,"children":96588},{"emptyLinePlaceholder":831},[96589],{"type":431,"value":834},{"type":426,"tag":553,"props":96591,"children":96592},{"class":555,"line":2087},[96593],{"type":426,"tag":553,"props":96594,"children":96595},{"style":1975},[96596],{"type":431,"value":96597},"\u002F**\n",{"type":426,"tag":553,"props":96599,"children":96600},{"class":555,"line":2096},[96601],{"type":426,"tag":553,"props":96602,"children":96603},{"style":1975},[96604],{"type":431,"value":96605}," * Send user message to Dialogflow and get intent response.\n",{"type":426,"tag":553,"props":96607,"children":96608},{"class":555,"line":2105},[96609],{"type":426,"tag":553,"props":96610,"children":96611},{"style":1975},[96612],{"type":431,"value":96613}," * Uses phone number as session ID for conversation context.\n",{"type":426,"tag":553,"props":96615,"children":96616},{"class":555,"line":2114},[96617],{"type":426,"tag":553,"props":96618,"children":96619},{"style":1975},[96620],{"type":431,"value":96621}," *\u002F\n",{"type":426,"tag":553,"props":96623,"children":96624},{"class":555,"line":2123},[96625,96629,96633,96637,96641,96646,96650,96654],{"type":426,"tag":553,"props":96626,"children":96627},{"style":795},[96628],{"type":431,"value":52361},{"type":426,"tag":553,"props":96630,"children":96631},{"style":795},[96632],{"type":431,"value":52366},{"type":426,"tag":553,"props":96634,"children":96635},{"style":560},[96636],{"type":431,"value":96409},{"type":426,"tag":553,"props":96638,"children":96639},{"style":684},[96640],{"type":431,"value":3275},{"type":426,"tag":553,"props":96642,"children":96643},{"style":1684},[96644],{"type":431,"value":96645},"sessionId",{"type":426,"tag":553,"props":96647,"children":96648},{"style":684},[96649],{"type":431,"value":1907},{"type":426,"tag":553,"props":96651,"children":96652},{"style":1684},[96653],{"type":431,"value":431},{"type":426,"tag":553,"props":96655,"children":96656},{"style":684},[96657],{"type":431,"value":52385},{"type":426,"tag":553,"props":96659,"children":96660},{"class":555,"line":2132},[96661,96665,96670,96674,96679,96684],{"type":426,"tag":553,"props":96662,"children":96663},{"style":795},[96664],{"type":431,"value":52540},{"type":426,"tag":553,"props":96666,"children":96667},{"style":566},[96668],{"type":431,"value":96669}," sessionPath",{"type":426,"tag":553,"props":96671,"children":96672},{"style":795},[96673],{"type":431,"value":8739},{"type":426,"tag":553,"props":96675,"children":96676},{"style":684},[96677],{"type":431,"value":96678}," dialogflowClient.",{"type":426,"tag":553,"props":96680,"children":96681},{"style":560},[96682],{"type":431,"value":96683},"projectAgentSessionPath",{"type":426,"tag":553,"props":96685,"children":96686},{"style":684},[96687],{"type":431,"value":3172},{"type":426,"tag":553,"props":96689,"children":96690},{"class":555,"line":2151},[96691,96696],{"type":426,"tag":553,"props":96692,"children":96693},{"style":566},[96694],{"type":431,"value":96695},"    DIALOGFLOW_PROJECT_ID",{"type":426,"tag":553,"props":96697,"children":96698},{"style":684},[96699],{"type":431,"value":710},{"type":426,"tag":553,"props":96701,"children":96702},{"class":555,"line":2160},[96703],{"type":426,"tag":553,"props":96704,"children":96705},{"style":684},[96706],{"type":431,"value":96707},"    sessionId\n",{"type":426,"tag":553,"props":96709,"children":96710},{"class":555,"line":2174},[96711],{"type":426,"tag":553,"props":96712,"children":96713},{"style":684},[96714],{"type":431,"value":96715},"  );\n",{"type":426,"tag":553,"props":96717,"children":96718},{"class":555,"line":2182},[96719],{"type":426,"tag":553,"props":96720,"children":96721},{"style":684},[96722],{"type":431,"value":52575},{"type":426,"tag":553,"props":96724,"children":96725},{"class":555,"line":2205},[96726,96730,96734,96738],{"type":426,"tag":553,"props":96727,"children":96728},{"style":795},[96729],{"type":431,"value":52540},{"type":426,"tag":553,"props":96731,"children":96732},{"style":566},[96733],{"type":431,"value":72398},{"type":426,"tag":553,"props":96735,"children":96736},{"style":795},[96737],{"type":431,"value":8739},{"type":426,"tag":553,"props":96739,"children":96740},{"style":684},[96741],{"type":431,"value":5458},{"type":426,"tag":553,"props":96743,"children":96744},{"class":555,"line":2241},[96745],{"type":426,"tag":553,"props":96746,"children":96747},{"style":684},[96748],{"type":431,"value":96749},"    session: sessionPath,\n",{"type":426,"tag":553,"props":96751,"children":96752},{"class":555,"line":2250},[96753],{"type":426,"tag":553,"props":96754,"children":96755},{"style":684},[96756],{"type":431,"value":96757},"    queryInput: {\n",{"type":426,"tag":553,"props":96759,"children":96760},{"class":555,"line":2302},[96761],{"type":426,"tag":553,"props":96762,"children":96763},{"style":684},[96764],{"type":431,"value":96765},"      text: {\n",{"type":426,"tag":553,"props":96767,"children":96768},{"class":555,"line":2353},[96769],{"type":426,"tag":553,"props":96770,"children":96771},{"style":684},[96772],{"type":431,"value":96773},"        text: text,\n",{"type":426,"tag":553,"props":96775,"children":96776},{"class":555,"line":2390},[96777,96782],{"type":426,"tag":553,"props":96778,"children":96779},{"style":684},[96780],{"type":431,"value":96781},"        languageCode: ",{"type":426,"tag":553,"props":96783,"children":96784},{"style":572},[96785],{"type":431,"value":96786},"'en-US'\n",{"type":426,"tag":553,"props":96788,"children":96789},{"class":555,"line":2440},[96790],{"type":426,"tag":553,"props":96791,"children":96792},{"style":684},[96793],{"type":431,"value":96794},"      }\n",{"type":426,"tag":553,"props":96796,"children":96797},{"class":555,"line":2488},[96798],{"type":426,"tag":553,"props":96799,"children":96800},{"style":684},[96801],{"type":431,"value":5546},{"type":426,"tag":553,"props":96803,"children":96804},{"class":555,"line":2509},[96805],{"type":426,"tag":553,"props":96806,"children":96807},{"style":684},[96808],{"type":431,"value":96809},"  };\n",{"type":426,"tag":553,"props":96811,"children":96812},{"class":555,"line":2527},[96813],{"type":426,"tag":553,"props":96814,"children":96815},{"style":684},[96816],{"type":431,"value":52575},{"type":426,"tag":553,"props":96818,"children":96819},{"class":555,"line":2545},[96820,96824,96828,96833,96837,96841,96845,96849,96854],{"type":426,"tag":553,"props":96821,"children":96822},{"style":795},[96823],{"type":431,"value":52540},{"type":426,"tag":553,"props":96825,"children":96826},{"style":684},[96827],{"type":431,"value":1897},{"type":426,"tag":553,"props":96829,"children":96830},{"style":566},[96831],{"type":431,"value":96832},"response",{"type":426,"tag":553,"props":96834,"children":96835},{"style":684},[96836],{"type":431,"value":2229},{"type":426,"tag":553,"props":96838,"children":96839},{"style":795},[96840],{"type":431,"value":957},{"type":426,"tag":553,"props":96842,"children":96843},{"style":795},[96844],{"type":431,"value":53070},{"type":426,"tag":553,"props":96846,"children":96847},{"style":684},[96848],{"type":431,"value":96678},{"type":426,"tag":553,"props":96850,"children":96851},{"style":560},[96852],{"type":431,"value":96853},"detectIntent",{"type":426,"tag":553,"props":96855,"children":96856},{"style":684},[96857],{"type":431,"value":74720},{"type":426,"tag":553,"props":96859,"children":96860},{"class":555,"line":12991},[96861,96865,96869,96873],{"type":426,"tag":553,"props":96862,"children":96863},{"style":795},[96864],{"type":431,"value":52540},{"type":426,"tag":553,"props":96866,"children":96867},{"style":566},[96868],{"type":431,"value":53508},{"type":426,"tag":553,"props":96870,"children":96871},{"style":795},[96872],{"type":431,"value":8739},{"type":426,"tag":553,"props":96874,"children":96875},{"style":684},[96876],{"type":431,"value":96877}," response.queryResult;\n",{"type":426,"tag":553,"props":96879,"children":96880},{"class":555,"line":13004},[96881],{"type":426,"tag":553,"props":96882,"children":96883},{"style":684},[96884],{"type":431,"value":52575},{"type":426,"tag":553,"props":96886,"children":96887},{"class":555,"line":13012},[96888,96893,96897,96901,96906,96910,96914,96919,96924,96929,96933,96938],{"type":426,"tag":553,"props":96889,"children":96890},{"style":684},[96891],{"type":431,"value":96892},"  console.",{"type":426,"tag":553,"props":96894,"children":96895},{"style":560},[96896],{"type":431,"value":53719},{"type":426,"tag":553,"props":96898,"children":96899},{"style":684},[96900],{"type":431,"value":3275},{"type":426,"tag":553,"props":96902,"children":96903},{"style":572},[96904],{"type":431,"value":96905},"`Detected intent: ${",{"type":426,"tag":553,"props":96907,"children":96908},{"style":684},[96909],{"type":431,"value":53704},{"type":426,"tag":553,"props":96911,"children":96912},{"style":572},[96913],{"type":431,"value":6789},{"type":426,"tag":553,"props":96915,"children":96916},{"style":684},[96917],{"type":431,"value":96918},"intent",{"type":426,"tag":553,"props":96920,"children":96921},{"style":572},[96922],{"type":431,"value":96923},"?.",{"type":426,"tag":553,"props":96925,"children":96926},{"style":684},[96927],{"type":431,"value":96928},"displayName",{"type":426,"tag":553,"props":96930,"children":96931},{"style":795},[96932],{"type":431,"value":84619},{"type":426,"tag":553,"props":96934,"children":96935},{"style":572},[96936],{"type":431,"value":96937}," 'Default Fallback'}`",{"type":426,"tag":553,"props":96939,"children":96940},{"style":684},[96941],{"type":431,"value":11379},{"type":426,"tag":553,"props":96943,"children":96944},{"class":555,"line":13025},[96945,96949,96953,96957,96962,96966,96970,96975,96979],{"type":426,"tag":553,"props":96946,"children":96947},{"style":684},[96948],{"type":431,"value":96892},{"type":426,"tag":553,"props":96950,"children":96951},{"style":560},[96952],{"type":431,"value":53719},{"type":426,"tag":553,"props":96954,"children":96955},{"style":684},[96956],{"type":431,"value":3275},{"type":426,"tag":553,"props":96958,"children":96959},{"style":572},[96960],{"type":431,"value":96961},"`Confidence: ${",{"type":426,"tag":553,"props":96963,"children":96964},{"style":684},[96965],{"type":431,"value":53704},{"type":426,"tag":553,"props":96967,"children":96968},{"style":572},[96969],{"type":431,"value":6789},{"type":426,"tag":553,"props":96971,"children":96972},{"style":684},[96973],{"type":431,"value":96974},"intentDetectionConfidence",{"type":426,"tag":553,"props":96976,"children":96977},{"style":572},[96978],{"type":431,"value":52718},{"type":426,"tag":553,"props":96980,"children":96981},{"style":684},[96982],{"type":431,"value":11379},{"type":426,"tag":553,"props":96984,"children":96985},{"class":555,"line":13033},[96986],{"type":426,"tag":553,"props":96987,"children":96988},{"style":684},[96989],{"type":431,"value":52575},{"type":426,"tag":553,"props":96991,"children":96992},{"class":555,"line":13069},[96993,96997],{"type":426,"tag":553,"props":96994,"children":96995},{"style":795},[96996],{"type":431,"value":52393},{"type":426,"tag":553,"props":96998,"children":96999},{"style":684},[97000],{"type":431,"value":97001}," result.fulfillmentText;\n",{"type":426,"tag":553,"props":97003,"children":97004},{"class":555,"line":13089},[97005],{"type":426,"tag":553,"props":97006,"children":97007},{"style":684},[97008],{"type":431,"value":756},{"type":426,"tag":553,"props":97010,"children":97011},{"class":555,"line":13102},[97012],{"type":426,"tag":553,"props":97013,"children":97014},{"emptyLinePlaceholder":831},[97015],{"type":431,"value":834},{"type":426,"tag":553,"props":97017,"children":97018},{"class":555,"line":13111},[97019],{"type":426,"tag":553,"props":97020,"children":97021},{"style":1975},[97022],{"type":431,"value":96597},{"type":426,"tag":553,"props":97024,"children":97025},{"class":555,"line":13120},[97026],{"type":426,"tag":553,"props":97027,"children":97028},{"style":1975},[97029],{"type":431,"value":97030}," * Send a WhatsApp message via Rapiwa API.\n",{"type":426,"tag":553,"props":97032,"children":97033},{"class":555,"line":13129},[97034],{"type":426,"tag":553,"props":97035,"children":97036},{"style":1975},[97037],{"type":431,"value":96621},{"type":426,"tag":553,"props":97039,"children":97040},{"class":555,"line":13174},[97041,97045,97049,97053,97057,97061,97065,97069],{"type":426,"tag":553,"props":97042,"children":97043},{"style":795},[97044],{"type":431,"value":52361},{"type":426,"tag":553,"props":97046,"children":97047},{"style":795},[97048],{"type":431,"value":52366},{"type":426,"tag":553,"props":97050,"children":97051},{"style":560},[97052],{"type":431,"value":96441},{"type":426,"tag":553,"props":97054,"children":97055},{"style":684},[97056],{"type":431,"value":3275},{"type":426,"tag":553,"props":97058,"children":97059},{"style":1684},[97060],{"type":431,"value":37598},{"type":426,"tag":553,"props":97062,"children":97063},{"style":684},[97064],{"type":431,"value":1907},{"type":426,"tag":553,"props":97066,"children":97067},{"style":1684},[97068],{"type":431,"value":2734},{"type":426,"tag":553,"props":97070,"children":97071},{"style":684},[97072],{"type":431,"value":52385},{"type":426,"tag":553,"props":97074,"children":97075},{"class":555,"line":13205},[97076,97080,97084,97088,97092,97096,97100,97104],{"type":426,"tag":553,"props":97077,"children":97078},{"style":795},[97079],{"type":431,"value":52540},{"type":426,"tag":553,"props":97081,"children":97082},{"style":566},[97083],{"type":431,"value":53061},{"type":426,"tag":553,"props":97085,"children":97086},{"style":795},[97087],{"type":431,"value":8739},{"type":426,"tag":553,"props":97089,"children":97090},{"style":795},[97091],{"type":431,"value":53070},{"type":426,"tag":553,"props":97093,"children":97094},{"style":560},[97095],{"type":431,"value":52226},{"type":426,"tag":553,"props":97097,"children":97098},{"style":684},[97099],{"type":431,"value":3275},{"type":426,"tag":553,"props":97101,"children":97102},{"style":572},[97103],{"type":431,"value":55802},{"type":426,"tag":553,"props":97105,"children":97106},{"style":684},[97107],{"type":431,"value":53088},{"type":426,"tag":553,"props":97109,"children":97110},{"class":555,"line":13218},[97111,97115,97119],{"type":426,"tag":553,"props":97112,"children":97113},{"style":684},[97114],{"type":431,"value":53096},{"type":426,"tag":553,"props":97116,"children":97117},{"style":572},[97118],{"type":431,"value":8056},{"type":426,"tag":553,"props":97120,"children":97121},{"style":684},[97122],{"type":431,"value":710},{"type":426,"tag":553,"props":97124,"children":97125},{"class":555,"line":20616},[97126],{"type":426,"tag":553,"props":97127,"children":97128},{"style":684},[97129],{"type":431,"value":53112},{"type":426,"tag":553,"props":97131,"children":97132},{"class":555,"line":20637},[97133,97137,97141,97145,97149,97153],{"type":426,"tag":553,"props":97134,"children":97135},{"style":572},[97136],{"type":431,"value":53120},{"type":426,"tag":553,"props":97138,"children":97139},{"style":684},[97140],{"type":431,"value":700},{"type":426,"tag":553,"props":97142,"children":97143},{"style":572},[97144],{"type":431,"value":53129},{"type":426,"tag":553,"props":97146,"children":97147},{"style":566},[97148],{"type":431,"value":7156},{"type":426,"tag":553,"props":97150,"children":97151},{"style":572},[97152],{"type":431,"value":52718},{"type":426,"tag":553,"props":97154,"children":97155},{"style":684},[97156],{"type":431,"value":710},{"type":426,"tag":553,"props":97158,"children":97159},{"class":555,"line":20650},[97160,97164,97168],{"type":426,"tag":553,"props":97161,"children":97162},{"style":572},[97163],{"type":431,"value":53149},{"type":426,"tag":553,"props":97165,"children":97166},{"style":684},[97167],{"type":431,"value":700},{"type":426,"tag":553,"props":97169,"children":97170},{"style":572},[97171],{"type":431,"value":53158},{"type":426,"tag":553,"props":97173,"children":97174},{"class":555,"line":20658},[97175],{"type":426,"tag":553,"props":97176,"children":97177},{"style":684},[97178],{"type":431,"value":17203},{"type":426,"tag":553,"props":97180,"children":97181},{"class":555,"line":20666},[97182,97186,97190,97194,97198],{"type":426,"tag":553,"props":97183,"children":97184},{"style":684},[97185],{"type":431,"value":53173},{"type":426,"tag":553,"props":97187,"children":97188},{"style":566},[97189],{"type":431,"value":53178},{"type":426,"tag":553,"props":97191,"children":97192},{"style":684},[97193],{"type":431,"value":6789},{"type":426,"tag":553,"props":97195,"children":97196},{"style":560},[97197],{"type":431,"value":53187},{"type":426,"tag":553,"props":97199,"children":97200},{"style":684},[97201],{"type":431,"value":55908},{"type":426,"tag":553,"props":97203,"children":97204},{"class":555,"line":20675},[97205],{"type":426,"tag":553,"props":97206,"children":97207},{"style":684},[97208],{"type":431,"value":52480},{"type":426,"tag":553,"props":97210,"children":97211},{"class":555,"line":20684},[97212],{"type":426,"tag":553,"props":97213,"children":97214},{"style":684},[97215],{"type":431,"value":52575},{"type":426,"tag":553,"props":97217,"children":97218},{"class":555,"line":20692},[97219,97223,97227,97231,97235,97239,97243],{"type":426,"tag":553,"props":97220,"children":97221},{"style":795},[97222],{"type":431,"value":52540},{"type":426,"tag":553,"props":97224,"children":97225},{"style":566},[97226],{"type":431,"value":53508},{"type":426,"tag":553,"props":97228,"children":97229},{"style":795},[97230],{"type":431,"value":8739},{"type":426,"tag":553,"props":97232,"children":97233},{"style":795},[97234],{"type":431,"value":53070},{"type":426,"tag":553,"props":97236,"children":97237},{"style":684},[97238],{"type":431,"value":53218},{"type":426,"tag":553,"props":97240,"children":97241},{"style":560},[97242],{"type":431,"value":673},{"type":426,"tag":553,"props":97244,"children":97245},{"style":684},[97246],{"type":431,"value":53227},{"type":426,"tag":553,"props":97248,"children":97249},{"class":555,"line":20720},[97250],{"type":426,"tag":553,"props":97251,"children":97252},{"style":684},[97253],{"type":431,"value":52575},{"type":426,"tag":553,"props":97255,"children":97256},{"class":555,"line":20728},[97257,97261,97266,97270,97274],{"type":426,"tag":553,"props":97258,"children":97259},{"style":795},[97260],{"type":431,"value":84798},{"type":426,"tag":553,"props":97262,"children":97263},{"style":684},[97264],{"type":431,"value":97265}," (result.status ",{"type":426,"tag":553,"props":97267,"children":97268},{"style":795},[97269],{"type":431,"value":84808},{"type":426,"tag":553,"props":97271,"children":97272},{"style":572},[97273],{"type":431,"value":2996},{"type":426,"tag":553,"props":97275,"children":97276},{"style":684},[97277],{"type":431,"value":52385},{"type":426,"tag":553,"props":97279,"children":97280},{"class":555,"line":20736},[97281,97286,97290,97295,97299,97304,97308,97312,97316,97320,97324,97328,97332],{"type":426,"tag":553,"props":97282,"children":97283},{"style":795},[97284],{"type":431,"value":97285},"    throw",{"type":426,"tag":553,"props":97287,"children":97288},{"style":795},[97289],{"type":431,"value":52275},{"type":426,"tag":553,"props":97291,"children":97292},{"style":560},[97293],{"type":431,"value":97294}," Error",{"type":426,"tag":553,"props":97296,"children":97297},{"style":684},[97298],{"type":431,"value":3275},{"type":426,"tag":553,"props":97300,"children":97301},{"style":572},[97302],{"type":431,"value":97303},"`Rapiwa error: ${",{"type":426,"tag":553,"props":97305,"children":97306},{"style":566},[97307],{"type":431,"value":53178},{"type":426,"tag":553,"props":97309,"children":97310},{"style":572},[97311],{"type":431,"value":6789},{"type":426,"tag":553,"props":97313,"children":97314},{"style":560},[97315],{"type":431,"value":53187},{"type":426,"tag":553,"props":97317,"children":97318},{"style":572},[97319],{"type":431,"value":3275},{"type":426,"tag":553,"props":97321,"children":97322},{"style":684},[97323],{"type":431,"value":53704},{"type":426,"tag":553,"props":97325,"children":97326},{"style":572},[97327],{"type":431,"value":5736},{"type":426,"tag":553,"props":97329,"children":97330},{"style":572},[97331],{"type":431,"value":52718},{"type":426,"tag":553,"props":97333,"children":97334},{"style":684},[97335],{"type":431,"value":11379},{"type":426,"tag":553,"props":97337,"children":97338},{"class":555,"line":20777},[97339],{"type":426,"tag":553,"props":97340,"children":97341},{"style":684},[97342],{"type":431,"value":60547},{"type":426,"tag":553,"props":97344,"children":97345},{"class":555,"line":20789},[97346],{"type":426,"tag":553,"props":97347,"children":97348},{"style":684},[97349],{"type":431,"value":52575},{"type":426,"tag":553,"props":97351,"children":97352},{"class":555,"line":20801},[97353,97357],{"type":426,"tag":553,"props":97354,"children":97355},{"style":795},[97356],{"type":431,"value":52393},{"type":426,"tag":553,"props":97358,"children":97359},{"style":684},[97360],{"type":431,"value":97361}," result;\n",{"type":426,"tag":553,"props":97363,"children":97364},{"class":555,"line":20846},[97365],{"type":426,"tag":553,"props":97366,"children":97367},{"style":684},[97368],{"type":431,"value":756},{"type":426,"tag":553,"props":97370,"children":97371},{"class":555,"line":20878},[97372],{"type":426,"tag":553,"props":97373,"children":97374},{"emptyLinePlaceholder":831},[97375],{"type":431,"value":834},{"type":426,"tag":553,"props":97377,"children":97378},{"class":555,"line":24807},[97379,97383,97387,97391,97395,97399,97403,97407,97411,97415,97420],{"type":426,"tag":553,"props":97380,"children":97381},{"style":684},[97382],{"type":431,"value":84565},{"type":426,"tag":553,"props":97384,"children":97385},{"style":560},[97386],{"type":431,"value":85688},{"type":426,"tag":553,"props":97388,"children":97389},{"style":684},[97390],{"type":431,"value":3275},{"type":426,"tag":553,"props":97392,"children":97393},{"style":566},[97394],{"type":431,"value":65954},{"type":426,"tag":553,"props":97396,"children":97397},{"style":684},[97398],{"type":431,"value":85701},{"type":426,"tag":553,"props":97400,"children":97401},{"style":795},[97402],{"type":431,"value":74581},{"type":426,"tag":553,"props":97404,"children":97405},{"style":684},[97406],{"type":431,"value":53714},{"type":426,"tag":553,"props":97408,"children":97409},{"style":560},[97410],{"type":431,"value":53719},{"type":426,"tag":553,"props":97412,"children":97413},{"style":684},[97414],{"type":431,"value":3275},{"type":426,"tag":553,"props":97416,"children":97417},{"style":572},[97418],{"type":431,"value":97419},"'WhatsApp chatbot server running on port 3000'",{"type":426,"tag":553,"props":97421,"children":97422},{"style":684},[97423],{"type":431,"value":61669},{"type":426,"tag":427,"props":97425,"children":97426},{},[97427],{"type":426,"tag":446,"props":97428,"children":97429},{},[97430],{"type":431,"value":97431},"Install dependencies:",{"type":426,"tag":542,"props":97433,"children":97435},{"code":97434,"language":545,"meta":417,"className":546,"style":417},"npm init -y\nnpm install express node-fetch @google-cloud\u002Fdialogflow\n",[97436],{"type":426,"tag":549,"props":97437,"children":97438},{"__ignoreMap":417},[97439,97456],{"type":426,"tag":553,"props":97440,"children":97441},{"class":555,"line":556},[97442,97446,97451],{"type":426,"tag":553,"props":97443,"children":97444},{"style":560},[97445],{"type":431,"value":52091},{"type":426,"tag":553,"props":97447,"children":97448},{"style":572},[97449],{"type":431,"value":97450}," init",{"type":426,"tag":553,"props":97452,"children":97453},{"style":566},[97454],{"type":431,"value":97455}," -y\n",{"type":426,"tag":553,"props":97457,"children":97458},{"class":555,"line":588},[97459,97463,97467,97471,97476],{"type":426,"tag":553,"props":97460,"children":97461},{"style":560},[97462],{"type":431,"value":52091},{"type":426,"tag":553,"props":97464,"children":97465},{"style":572},[97466],{"type":431,"value":48876},{"type":426,"tag":553,"props":97468,"children":97469},{"style":572},[97470],{"type":431,"value":84474},{"type":426,"tag":553,"props":97472,"children":97473},{"style":572},[97474],{"type":431,"value":97475}," node-fetch",{"type":426,"tag":553,"props":97477,"children":97478},{"style":572},[97479],{"type":431,"value":97480}," @google-cloud\u002Fdialogflow\n",{"type":426,"tag":434,"props":97482,"children":97484},{"id":97483},"step-3-python-alternative",[97485],{"type":431,"value":97486},"Step 3: Python Alternative",{"type":426,"tag":542,"props":97488,"children":97490},{"code":97489,"language":784,"meta":417,"className":785,"style":417},"# server.py\nfrom flask import Flask, request, jsonify\nfrom google.cloud import dialogflow_v2 as dialogflow\nimport requests\nimport os\n\napp = Flask(__name__)\n\nRAPIWA_API_KEY = os.environ.get('RAPIWA_API_KEY')\nDIALOGFLOW_PROJECT_ID = os.environ.get('DIALOGFLOW_PROJECT_ID')\n\nos.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'dialogflow-service-account.json'\n\ndef detect_intent(session_id: str, text: str) -> str:\n    \"\"\"Send text to Dialogflow and return the fulfillment response.\"\"\"\n    client = dialogflow.SessionsClient()\n    session = client.session_path(DIALOGFLOW_PROJECT_ID, session_id)\n    \n    text_input = dialogflow.TextInput(text=text, language_code='en-US')\n    query_input = dialogflow.QueryInput(text=text_input)\n    \n    response = client.detect_intent(\n        request={'session': session, 'query_input': query_input}\n    )\n    \n    return response.query_result.fulfillment_text\n\ndef send_whatsapp_reply(phone: str, message: str) -> dict:\n    \"\"\"Send a WhatsApp message via Rapiwa.\"\"\"\n    response = requests.post(\n        'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message',\n        headers={'Authorization': f'Bearer {RAPIWA_API_KEY}'},\n        json={'number': phone, 'message': message}\n    )\n    return response.json()\n\n@app.route('\u002Fwebhook\u002Fwhatsapp', methods=['POST'])\ndef handle_whatsapp_webhook():\n    data = request.json\n    \n    if data.get('event') != 'message.received':\n        return jsonify({'status': 'ok'})\n    \n    msg_data = data['data']\n    phone = msg_data['from']\n    text = msg_data.get('message', '')\n    \n    if not text:\n        return jsonify({'status': 'ok'})  # Skip non-text messages\n    \n    # Get Dialogflow response\n    reply = detect_intent(session_id=phone, text=text)\n    \n    if not reply:\n        reply = \"I'm not sure how to help with that. Try asking about our pricing or free trial.\"\n    \n    # Send reply via Rapiwa\n    send_whatsapp_reply(phone, reply)\n    \n    return jsonify({'status': 'ok'})\n\nif __name__ == '__main__':\n    app.run(port=3000, debug=False)\n",[97491],{"type":426,"tag":549,"props":97492,"children":97493},{"__ignoreMap":417},[97494,97502,97521,97551,97562,97573,97580,97603,97610,97633,97658,97665,97691,97698,97739,97747,97764,97790,97797,97845,97875,97882,97898,97934,97941,97948,97960,97967,98007,98014,98029,98040,98083,98114,98121,98132,98139,98178,98194,98210,98217,98248,98275,98282,98306,98330,98362,98369,98384,98417,98424,98432,98474,98481,98496,98512,98519,98527,98535,98542,98569,98576,98599],{"type":426,"tag":553,"props":97495,"children":97496},{"class":555,"line":556},[97497],{"type":426,"tag":553,"props":97498,"children":97499},{"style":1975},[97500],{"type":431,"value":97501},"# server.py\n",{"type":426,"tag":553,"props":97503,"children":97504},{"class":555,"line":588},[97505,97509,97513,97517],{"type":426,"tag":553,"props":97506,"children":97507},{"style":795},[97508],{"type":431,"value":811},{"type":426,"tag":553,"props":97510,"children":97511},{"style":684},[97512],{"type":431,"value":13265},{"type":426,"tag":553,"props":97514,"children":97515},{"style":795},[97516],{"type":431,"value":798},{"type":426,"tag":553,"props":97518,"children":97519},{"style":684},[97520],{"type":431,"value":19220},{"type":426,"tag":553,"props":97522,"children":97523},{"class":555,"line":606},[97524,97528,97533,97537,97542,97546],{"type":426,"tag":553,"props":97525,"children":97526},{"style":795},[97527],{"type":431,"value":811},{"type":426,"tag":553,"props":97529,"children":97530},{"style":684},[97531],{"type":431,"value":97532}," google.cloud ",{"type":426,"tag":553,"props":97534,"children":97535},{"style":795},[97536],{"type":431,"value":798},{"type":426,"tag":553,"props":97538,"children":97539},{"style":684},[97540],{"type":431,"value":97541}," dialogflow_v2 ",{"type":426,"tag":553,"props":97543,"children":97544},{"style":795},[97545],{"type":431,"value":10075},{"type":426,"tag":553,"props":97547,"children":97548},{"style":684},[97549],{"type":431,"value":97550}," dialogflow\n",{"type":426,"tag":553,"props":97552,"children":97553},{"class":555,"line":623},[97554,97558],{"type":426,"tag":553,"props":97555,"children":97556},{"style":795},[97557],{"type":431,"value":798},{"type":426,"tag":553,"props":97559,"children":97560},{"style":684},[97561],{"type":431,"value":803},{"type":426,"tag":553,"props":97563,"children":97564},{"class":555,"line":637},[97565,97569],{"type":426,"tag":553,"props":97566,"children":97567},{"style":795},[97568],{"type":431,"value":798},{"type":426,"tag":553,"props":97570,"children":97571},{"style":684},[97572],{"type":431,"value":19255},{"type":426,"tag":553,"props":97574,"children":97575},{"class":555,"line":646},[97576],{"type":426,"tag":553,"props":97577,"children":97578},{"emptyLinePlaceholder":831},[97579],{"type":431,"value":834},{"type":426,"tag":553,"props":97581,"children":97582},{"class":555,"line":655},[97583,97587,97591,97595,97599],{"type":426,"tag":553,"props":97584,"children":97585},{"style":684},[97586],{"type":431,"value":13301},{"type":426,"tag":553,"props":97588,"children":97589},{"style":795},[97590],{"type":431,"value":957},{"type":426,"tag":553,"props":97592,"children":97593},{"style":684},[97594],{"type":431,"value":13310},{"type":426,"tag":553,"props":97596,"children":97597},{"style":566},[97598],{"type":431,"value":13315},{"type":426,"tag":553,"props":97600,"children":97601},{"style":684},[97602],{"type":431,"value":3262},{"type":426,"tag":553,"props":97604,"children":97605},{"class":555,"line":1036},[97606],{"type":426,"tag":553,"props":97607,"children":97608},{"emptyLinePlaceholder":831},[97609],{"type":431,"value":834},{"type":426,"tag":553,"props":97611,"children":97612},{"class":555,"line":1054},[97613,97617,97621,97625,97629],{"type":426,"tag":553,"props":97614,"children":97615},{"style":566},[97616],{"type":431,"value":7156},{"type":426,"tag":553,"props":97618,"children":97619},{"style":795},[97620],{"type":431,"value":8739},{"type":426,"tag":553,"props":97622,"children":97623},{"style":684},[97624],{"type":431,"value":19308},{"type":426,"tag":553,"props":97626,"children":97627},{"style":572},[97628],{"type":431,"value":9533},{"type":426,"tag":553,"props":97630,"children":97631},{"style":684},[97632],{"type":431,"value":3262},{"type":426,"tag":553,"props":97634,"children":97635},{"class":555,"line":1080},[97636,97641,97645,97649,97654],{"type":426,"tag":553,"props":97637,"children":97638},{"style":566},[97639],{"type":431,"value":97640},"DIALOGFLOW_PROJECT_ID",{"type":426,"tag":553,"props":97642,"children":97643},{"style":795},[97644],{"type":431,"value":8739},{"type":426,"tag":553,"props":97646,"children":97647},{"style":684},[97648],{"type":431,"value":19308},{"type":426,"tag":553,"props":97650,"children":97651},{"style":572},[97652],{"type":431,"value":97653},"'DIALOGFLOW_PROJECT_ID'",{"type":426,"tag":553,"props":97655,"children":97656},{"style":684},[97657],{"type":431,"value":3262},{"type":426,"tag":553,"props":97659,"children":97660},{"class":555,"line":1097},[97661],{"type":426,"tag":553,"props":97662,"children":97663},{"emptyLinePlaceholder":831},[97664],{"type":431,"value":834},{"type":426,"tag":553,"props":97666,"children":97667},{"class":555,"line":1114},[97668,97673,97678,97682,97686],{"type":426,"tag":553,"props":97669,"children":97670},{"style":684},[97671],{"type":431,"value":97672},"os.environ[",{"type":426,"tag":553,"props":97674,"children":97675},{"style":572},[97676],{"type":431,"value":97677},"'GOOGLE_APPLICATION_CREDENTIALS'",{"type":426,"tag":553,"props":97679,"children":97680},{"style":684},[97681],{"type":431,"value":2229},{"type":426,"tag":553,"props":97683,"children":97684},{"style":795},[97685],{"type":431,"value":957},{"type":426,"tag":553,"props":97687,"children":97688},{"style":572},[97689],{"type":431,"value":97690}," 'dialogflow-service-account.json'\n",{"type":426,"tag":553,"props":97692,"children":97693},{"class":555,"line":1127},[97694],{"type":426,"tag":553,"props":97695,"children":97696},{"emptyLinePlaceholder":831},[97697],{"type":431,"value":834},{"type":426,"tag":553,"props":97699,"children":97700},{"class":555,"line":1167},[97701,97705,97710,97715,97719,97723,97727,97731,97735],{"type":426,"tag":553,"props":97702,"children":97703},{"style":795},[97704],{"type":431,"value":842},{"type":426,"tag":553,"props":97706,"children":97707},{"style":560},[97708],{"type":431,"value":97709}," detect_intent",{"type":426,"tag":553,"props":97711,"children":97712},{"style":684},[97713],{"type":431,"value":97714},"(session_id: ",{"type":426,"tag":553,"props":97716,"children":97717},{"style":566},[97718],{"type":431,"value":895},{"type":426,"tag":553,"props":97720,"children":97721},{"style":684},[97722],{"type":431,"value":64055},{"type":426,"tag":553,"props":97724,"children":97725},{"style":566},[97726],{"type":431,"value":895},{"type":426,"tag":553,"props":97728,"children":97729},{"style":684},[97730],{"type":431,"value":900},{"type":426,"tag":553,"props":97732,"children":97733},{"style":566},[97734],{"type":431,"value":895},{"type":426,"tag":553,"props":97736,"children":97737},{"style":684},[97738],{"type":431,"value":909},{"type":426,"tag":553,"props":97740,"children":97741},{"class":555,"line":1184},[97742],{"type":426,"tag":553,"props":97743,"children":97744},{"style":572},[97745],{"type":431,"value":97746},"    \"\"\"Send text to Dialogflow and return the fulfillment response.\"\"\"\n",{"type":426,"tag":553,"props":97748,"children":97749},{"class":555,"line":1192},[97750,97755,97759],{"type":426,"tag":553,"props":97751,"children":97752},{"style":684},[97753],{"type":431,"value":97754},"    client ",{"type":426,"tag":553,"props":97756,"children":97757},{"style":795},[97758],{"type":431,"value":957},{"type":426,"tag":553,"props":97760,"children":97761},{"style":684},[97762],{"type":431,"value":97763}," dialogflow.SessionsClient()\n",{"type":426,"tag":553,"props":97765,"children":97766},{"class":555,"line":1210},[97767,97772,97776,97781,97785],{"type":426,"tag":553,"props":97768,"children":97769},{"style":684},[97770],{"type":431,"value":97771},"    session ",{"type":426,"tag":553,"props":97773,"children":97774},{"style":795},[97775],{"type":431,"value":957},{"type":426,"tag":553,"props":97777,"children":97778},{"style":684},[97779],{"type":431,"value":97780}," client.session_path(",{"type":426,"tag":553,"props":97782,"children":97783},{"style":566},[97784],{"type":431,"value":97640},{"type":426,"tag":553,"props":97786,"children":97787},{"style":684},[97788],{"type":431,"value":97789},", session_id)\n",{"type":426,"tag":553,"props":97791,"children":97792},{"class":555,"line":1253},[97793],{"type":426,"tag":553,"props":97794,"children":97795},{"style":684},[97796],{"type":431,"value":917},{"type":426,"tag":553,"props":97798,"children":97799},{"class":555,"line":1302},[97800,97805,97809,97814,97818,97822,97827,97832,97836,97841],{"type":426,"tag":553,"props":97801,"children":97802},{"style":684},[97803],{"type":431,"value":97804},"    text_input ",{"type":426,"tag":553,"props":97806,"children":97807},{"style":795},[97808],{"type":431,"value":957},{"type":426,"tag":553,"props":97810,"children":97811},{"style":684},[97812],{"type":431,"value":97813}," dialogflow.TextInput(",{"type":426,"tag":553,"props":97815,"children":97816},{"style":1684},[97817],{"type":431,"value":431},{"type":426,"tag":553,"props":97819,"children":97820},{"style":795},[97821],{"type":431,"value":957},{"type":426,"tag":553,"props":97823,"children":97824},{"style":684},[97825],{"type":431,"value":97826},"text, ",{"type":426,"tag":553,"props":97828,"children":97829},{"style":1684},[97830],{"type":431,"value":97831},"language_code",{"type":426,"tag":553,"props":97833,"children":97834},{"style":795},[97835],{"type":431,"value":957},{"type":426,"tag":553,"props":97837,"children":97838},{"style":572},[97839],{"type":431,"value":97840},"'en-US'",{"type":426,"tag":553,"props":97842,"children":97843},{"style":684},[97844],{"type":431,"value":3262},{"type":426,"tag":553,"props":97846,"children":97847},{"class":555,"line":1374},[97848,97853,97857,97862,97866,97870],{"type":426,"tag":553,"props":97849,"children":97850},{"style":684},[97851],{"type":431,"value":97852},"    query_input ",{"type":426,"tag":553,"props":97854,"children":97855},{"style":795},[97856],{"type":431,"value":957},{"type":426,"tag":553,"props":97858,"children":97859},{"style":684},[97860],{"type":431,"value":97861}," dialogflow.QueryInput(",{"type":426,"tag":553,"props":97863,"children":97864},{"style":1684},[97865],{"type":431,"value":431},{"type":426,"tag":553,"props":97867,"children":97868},{"style":795},[97869],{"type":431,"value":957},{"type":426,"tag":553,"props":97871,"children":97872},{"style":684},[97873],{"type":431,"value":97874},"text_input)\n",{"type":426,"tag":553,"props":97876,"children":97877},{"class":555,"line":1414},[97878],{"type":426,"tag":553,"props":97879,"children":97880},{"style":684},[97881],{"type":431,"value":917},{"type":426,"tag":553,"props":97883,"children":97884},{"class":555,"line":1479},[97885,97889,97893],{"type":426,"tag":553,"props":97886,"children":97887},{"style":684},[97888],{"type":431,"value":8117},{"type":426,"tag":553,"props":97890,"children":97891},{"style":795},[97892],{"type":431,"value":957},{"type":426,"tag":553,"props":97894,"children":97895},{"style":684},[97896],{"type":431,"value":97897}," client.detect_intent(\n",{"type":426,"tag":553,"props":97899,"children":97900},{"class":555,"line":1517},[97901,97906,97910,97914,97919,97924,97929],{"type":426,"tag":553,"props":97902,"children":97903},{"style":1684},[97904],{"type":431,"value":97905},"        request",{"type":426,"tag":553,"props":97907,"children":97908},{"style":795},[97909],{"type":431,"value":957},{"type":426,"tag":553,"props":97911,"children":97912},{"style":684},[97913],{"type":431,"value":972},{"type":426,"tag":553,"props":97915,"children":97916},{"style":572},[97917],{"type":431,"value":97918},"'session'",{"type":426,"tag":553,"props":97920,"children":97921},{"style":684},[97922],{"type":431,"value":97923},": session, ",{"type":426,"tag":553,"props":97925,"children":97926},{"style":572},[97927],{"type":431,"value":97928},"'query_input'",{"type":426,"tag":553,"props":97930,"children":97931},{"style":684},[97932],{"type":431,"value":97933},": query_input}\n",{"type":426,"tag":553,"props":97935,"children":97936},{"class":555,"line":1560},[97937],{"type":426,"tag":553,"props":97938,"children":97939},{"style":684},[97940],{"type":431,"value":1642},{"type":426,"tag":553,"props":97942,"children":97943},{"class":555,"line":1598},[97944],{"type":426,"tag":553,"props":97945,"children":97946},{"style":684},[97947],{"type":431,"value":917},{"type":426,"tag":553,"props":97949,"children":97950},{"class":555,"line":1636},[97951,97955],{"type":426,"tag":553,"props":97952,"children":97953},{"style":795},[97954],{"type":431,"value":1659},{"type":426,"tag":553,"props":97956,"children":97957},{"style":684},[97958],{"type":431,"value":97959}," response.query_result.fulfillment_text\n",{"type":426,"tag":553,"props":97961,"children":97962},{"class":555,"line":1645},[97963],{"type":426,"tag":553,"props":97964,"children":97965},{"emptyLinePlaceholder":831},[97966],{"type":431,"value":834},{"type":426,"tag":553,"props":97968,"children":97969},{"class":555,"line":1653},[97970,97974,97979,97983,97987,97991,97995,97999,98003],{"type":426,"tag":553,"props":97971,"children":97972},{"style":795},[97973],{"type":431,"value":842},{"type":426,"tag":553,"props":97975,"children":97976},{"style":560},[97977],{"type":431,"value":97978}," send_whatsapp_reply",{"type":426,"tag":553,"props":97980,"children":97981},{"style":684},[97982],{"type":431,"value":7446},{"type":426,"tag":553,"props":97984,"children":97985},{"style":566},[97986],{"type":431,"value":895},{"type":426,"tag":553,"props":97988,"children":97989},{"style":684},[97990],{"type":431,"value":8713},{"type":426,"tag":553,"props":97992,"children":97993},{"style":566},[97994],{"type":431,"value":895},{"type":426,"tag":553,"props":97996,"children":97997},{"style":684},[97998],{"type":431,"value":900},{"type":426,"tag":553,"props":98000,"children":98001},{"style":566},[98002],{"type":431,"value":857},{"type":426,"tag":553,"props":98004,"children":98005},{"style":684},[98006],{"type":431,"value":909},{"type":426,"tag":553,"props":98008,"children":98009},{"class":555,"line":1667},[98010],{"type":426,"tag":553,"props":98011,"children":98012},{"style":572},[98013],{"type":431,"value":56850},{"type":426,"tag":553,"props":98015,"children":98016},{"class":555,"line":1680},[98017,98021,98025],{"type":426,"tag":553,"props":98018,"children":98019},{"style":684},[98020],{"type":431,"value":8117},{"type":426,"tag":553,"props":98022,"children":98023},{"style":795},[98024],{"type":431,"value":957},{"type":426,"tag":553,"props":98026,"children":98027},{"style":684},[98028],{"type":431,"value":1664},{"type":426,"tag":553,"props":98030,"children":98031},{"class":555,"line":1740},[98032,98036],{"type":426,"tag":553,"props":98033,"children":98034},{"style":572},[98035],{"type":431,"value":1673},{"type":426,"tag":553,"props":98037,"children":98038},{"style":684},[98039],{"type":431,"value":710},{"type":426,"tag":553,"props":98041,"children":98042},{"class":555,"line":1787},[98043,98047,98051,98055,98059,98063,98067,98071,98075,98079],{"type":426,"tag":553,"props":98044,"children":98045},{"style":1684},[98046],{"type":431,"value":1687},{"type":426,"tag":553,"props":98048,"children":98049},{"style":795},[98050],{"type":431,"value":957},{"type":426,"tag":553,"props":98052,"children":98053},{"style":684},[98054],{"type":431,"value":972},{"type":426,"tag":553,"props":98056,"children":98057},{"style":572},[98058],{"type":431,"value":1700},{"type":426,"tag":553,"props":98060,"children":98061},{"style":684},[98062],{"type":431,"value":700},{"type":426,"tag":553,"props":98064,"children":98065},{"style":795},[98066],{"type":431,"value":1709},{"type":426,"tag":553,"props":98068,"children":98069},{"style":572},[98070],{"type":431,"value":1714},{"type":426,"tag":553,"props":98072,"children":98073},{"style":566},[98074],{"type":431,"value":20835},{"type":426,"tag":553,"props":98076,"children":98077},{"style":572},[98078],{"type":431,"value":1732},{"type":426,"tag":553,"props":98080,"children":98081},{"style":684},[98082],{"type":431,"value":1737},{"type":426,"tag":553,"props":98084,"children":98085},{"class":555,"line":1796},[98086,98090,98094,98098,98102,98106,98110],{"type":426,"tag":553,"props":98087,"children":98088},{"style":1684},[98089],{"type":431,"value":1746},{"type":426,"tag":553,"props":98091,"children":98092},{"style":795},[98093],{"type":431,"value":957},{"type":426,"tag":553,"props":98095,"children":98096},{"style":684},[98097],{"type":431,"value":972},{"type":426,"tag":553,"props":98099,"children":98100},{"style":572},[98101],{"type":431,"value":1759},{"type":426,"tag":553,"props":98103,"children":98104},{"style":684},[98105],{"type":431,"value":8931},{"type":426,"tag":553,"props":98107,"children":98108},{"style":572},[98109],{"type":431,"value":1779},{"type":426,"tag":553,"props":98111,"children":98112},{"style":684},[98113],{"type":431,"value":1784},{"type":426,"tag":553,"props":98115,"children":98116},{"class":555,"line":1804},[98117],{"type":426,"tag":553,"props":98118,"children":98119},{"style":684},[98120],{"type":431,"value":1642},{"type":426,"tag":553,"props":98122,"children":98123},{"class":555,"line":1812},[98124,98128],{"type":426,"tag":553,"props":98125,"children":98126},{"style":795},[98127],{"type":431,"value":1659},{"type":426,"tag":553,"props":98129,"children":98130},{"style":684},[98131],{"type":431,"value":9193},{"type":426,"tag":553,"props":98133,"children":98134},{"class":555,"line":1847},[98135],{"type":426,"tag":553,"props":98136,"children":98137},{"emptyLinePlaceholder":831},[98138],{"type":431,"value":834},{"type":426,"tag":553,"props":98140,"children":98141},{"class":555,"line":1856},[98142,98146,98150,98154,98158,98162,98166,98170,98174],{"type":426,"tag":553,"props":98143,"children":98144},{"style":560},[98145],{"type":431,"value":8024},{"type":426,"tag":553,"props":98147,"children":98148},{"style":684},[98149],{"type":431,"value":3275},{"type":426,"tag":553,"props":98151,"children":98152},{"style":572},[98153],{"type":431,"value":8033},{"type":426,"tag":553,"props":98155,"children":98156},{"style":684},[98157],{"type":431,"value":1907},{"type":426,"tag":553,"props":98159,"children":98160},{"style":1684},[98161],{"type":431,"value":8042},{"type":426,"tag":553,"props":98163,"children":98164},{"style":795},[98165],{"type":431,"value":957},{"type":426,"tag":553,"props":98167,"children":98168},{"style":684},[98169],{"type":431,"value":8051},{"type":426,"tag":553,"props":98171,"children":98172},{"style":572},[98173],{"type":431,"value":8056},{"type":426,"tag":553,"props":98175,"children":98176},{"style":684},[98177],{"type":431,"value":8061},{"type":426,"tag":553,"props":98179,"children":98180},{"class":555,"line":1874},[98181,98185,98190],{"type":426,"tag":553,"props":98182,"children":98183},{"style":795},[98184],{"type":431,"value":842},{"type":426,"tag":553,"props":98186,"children":98187},{"style":560},[98188],{"type":431,"value":98189}," handle_whatsapp_webhook",{"type":426,"tag":553,"props":98191,"children":98192},{"style":684},[98193],{"type":431,"value":6433},{"type":426,"tag":553,"props":98195,"children":98196},{"class":555,"line":1882},[98197,98201,98205],{"type":426,"tag":553,"props":98198,"children":98199},{"style":684},[98200],{"type":431,"value":13733},{"type":426,"tag":553,"props":98202,"children":98203},{"style":795},[98204],{"type":431,"value":957},{"type":426,"tag":553,"props":98206,"children":98207},{"style":684},[98208],{"type":431,"value":98209}," request.json\n",{"type":426,"tag":553,"props":98211,"children":98212},{"class":555,"line":1981},[98213],{"type":426,"tag":553,"props":98214,"children":98215},{"style":684},[98216],{"type":431,"value":917},{"type":426,"tag":553,"props":98218,"children":98219},{"class":555,"line":1989},[98220,98224,98228,98232,98236,98240,98244],{"type":426,"tag":553,"props":98221,"children":98222},{"style":795},[98223],{"type":431,"value":925},{"type":426,"tag":553,"props":98225,"children":98226},{"style":684},[98227],{"type":431,"value":8311},{"type":426,"tag":553,"props":98229,"children":98230},{"style":572},[98231],{"type":431,"value":8176},{"type":426,"tag":553,"props":98233,"children":98234},{"style":684},[98235],{"type":431,"value":2987},{"type":426,"tag":553,"props":98237,"children":98238},{"style":795},[98239],{"type":431,"value":15114},{"type":426,"tag":553,"props":98241,"children":98242},{"style":572},[98243],{"type":431,"value":8189},{"type":426,"tag":553,"props":98245,"children":98246},{"style":684},[98247],{"type":431,"value":909},{"type":426,"tag":553,"props":98249,"children":98250},{"class":555,"line":2013},[98251,98255,98259,98263,98267,98271],{"type":426,"tag":553,"props":98252,"children":98253},{"style":795},[98254],{"type":431,"value":8378},{"type":426,"tag":553,"props":98256,"children":98257},{"style":684},[98258],{"type":431,"value":8126},{"type":426,"tag":553,"props":98260,"children":98261},{"style":572},[98262],{"type":431,"value":2982},{"type":426,"tag":553,"props":98264,"children":98265},{"style":684},[98266],{"type":431,"value":700},{"type":426,"tag":553,"props":98268,"children":98269},{"style":572},[98270],{"type":431,"value":8139},{"type":426,"tag":553,"props":98272,"children":98273},{"style":684},[98274],{"type":431,"value":8144},{"type":426,"tag":553,"props":98276,"children":98277},{"class":555,"line":2055},[98278],{"type":426,"tag":553,"props":98279,"children":98280},{"style":684},[98281],{"type":431,"value":917},{"type":426,"tag":553,"props":98283,"children":98284},{"class":555,"line":2064},[98285,98290,98294,98298,98302],{"type":426,"tag":553,"props":98286,"children":98287},{"style":684},[98288],{"type":431,"value":98289},"    msg_data ",{"type":426,"tag":553,"props":98291,"children":98292},{"style":795},[98293],{"type":431,"value":957},{"type":426,"tag":553,"props":98295,"children":98296},{"style":684},[98297],{"type":431,"value":20293},{"type":426,"tag":553,"props":98299,"children":98300},{"style":572},[98301],{"type":431,"value":8206},{"type":426,"tag":553,"props":98303,"children":98304},{"style":684},[98305],{"type":431,"value":16523},{"type":426,"tag":553,"props":98307,"children":98308},{"class":555,"line":2087},[98309,98313,98317,98322,98326],{"type":426,"tag":553,"props":98310,"children":98311},{"style":684},[98312],{"type":431,"value":20284},{"type":426,"tag":553,"props":98314,"children":98315},{"style":795},[98316],{"type":431,"value":957},{"type":426,"tag":553,"props":98318,"children":98319},{"style":684},[98320],{"type":431,"value":98321}," msg_data[",{"type":426,"tag":553,"props":98323,"children":98324},{"style":572},[98325],{"type":431,"value":14329},{"type":426,"tag":553,"props":98327,"children":98328},{"style":684},[98329],{"type":431,"value":16523},{"type":426,"tag":553,"props":98331,"children":98332},{"class":555,"line":2096},[98333,98337,98341,98346,98350,98354,98358],{"type":426,"tag":553,"props":98334,"children":98335},{"style":684},[98336],{"type":431,"value":65463},{"type":426,"tag":553,"props":98338,"children":98339},{"style":795},[98340],{"type":431,"value":957},{"type":426,"tag":553,"props":98342,"children":98343},{"style":684},[98344],{"type":431,"value":98345}," msg_data.get(",{"type":426,"tag":553,"props":98347,"children":98348},{"style":572},[98349],{"type":431,"value":1779},{"type":426,"tag":553,"props":98351,"children":98352},{"style":684},[98353],{"type":431,"value":1907},{"type":426,"tag":553,"props":98355,"children":98356},{"style":572},[98357],{"type":431,"value":13605},{"type":426,"tag":553,"props":98359,"children":98360},{"style":684},[98361],{"type":431,"value":3262},{"type":426,"tag":553,"props":98363,"children":98364},{"class":555,"line":2105},[98365],{"type":426,"tag":553,"props":98366,"children":98367},{"style":684},[98368],{"type":431,"value":917},{"type":426,"tag":553,"props":98370,"children":98371},{"class":555,"line":2114},[98372,98376,98380],{"type":426,"tag":553,"props":98373,"children":98374},{"style":795},[98375],{"type":431,"value":925},{"type":426,"tag":553,"props":98377,"children":98378},{"style":795},[98379],{"type":431,"value":12110},{"type":426,"tag":553,"props":98381,"children":98382},{"style":684},[98383],{"type":431,"value":65510},{"type":426,"tag":553,"props":98385,"children":98386},{"class":555,"line":2123},[98387,98391,98395,98399,98403,98407,98412],{"type":426,"tag":553,"props":98388,"children":98389},{"style":795},[98390],{"type":431,"value":8378},{"type":426,"tag":553,"props":98392,"children":98393},{"style":684},[98394],{"type":431,"value":8126},{"type":426,"tag":553,"props":98396,"children":98397},{"style":572},[98398],{"type":431,"value":2982},{"type":426,"tag":553,"props":98400,"children":98401},{"style":684},[98402],{"type":431,"value":700},{"type":426,"tag":553,"props":98404,"children":98405},{"style":572},[98406],{"type":431,"value":8139},{"type":426,"tag":553,"props":98408,"children":98409},{"style":684},[98410],{"type":431,"value":98411},"})  ",{"type":426,"tag":553,"props":98413,"children":98414},{"style":1975},[98415],{"type":431,"value":98416},"# Skip non-text messages\n",{"type":426,"tag":553,"props":98418,"children":98419},{"class":555,"line":2132},[98420],{"type":426,"tag":553,"props":98421,"children":98422},{"style":684},[98423],{"type":431,"value":917},{"type":426,"tag":553,"props":98425,"children":98426},{"class":555,"line":2151},[98427],{"type":426,"tag":553,"props":98428,"children":98429},{"style":1975},[98430],{"type":431,"value":98431},"    # Get Dialogflow response\n",{"type":426,"tag":553,"props":98433,"children":98434},{"class":555,"line":2160},[98435,98439,98443,98448,98453,98457,98461,98465,98469],{"type":426,"tag":553,"props":98436,"children":98437},{"style":684},[98438],{"type":431,"value":83998},{"type":426,"tag":553,"props":98440,"children":98441},{"style":795},[98442],{"type":431,"value":957},{"type":426,"tag":553,"props":98444,"children":98445},{"style":684},[98446],{"type":431,"value":98447}," detect_intent(",{"type":426,"tag":553,"props":98449,"children":98450},{"style":1684},[98451],{"type":431,"value":98452},"session_id",{"type":426,"tag":553,"props":98454,"children":98455},{"style":795},[98456],{"type":431,"value":957},{"type":426,"tag":553,"props":98458,"children":98459},{"style":684},[98460],{"type":431,"value":94660},{"type":426,"tag":553,"props":98462,"children":98463},{"style":1684},[98464],{"type":431,"value":431},{"type":426,"tag":553,"props":98466,"children":98467},{"style":795},[98468],{"type":431,"value":957},{"type":426,"tag":553,"props":98470,"children":98471},{"style":684},[98472],{"type":431,"value":98473},"text)\n",{"type":426,"tag":553,"props":98475,"children":98476},{"class":555,"line":2174},[98477],{"type":426,"tag":553,"props":98478,"children":98479},{"style":684},[98480],{"type":431,"value":917},{"type":426,"tag":553,"props":98482,"children":98483},{"class":555,"line":2182},[98484,98488,98492],{"type":426,"tag":553,"props":98485,"children":98486},{"style":795},[98487],{"type":431,"value":925},{"type":426,"tag":553,"props":98489,"children":98490},{"style":795},[98491],{"type":431,"value":12110},{"type":426,"tag":553,"props":98493,"children":98494},{"style":684},[98495],{"type":431,"value":82597},{"type":426,"tag":553,"props":98497,"children":98498},{"class":555,"line":2205},[98499,98503,98507],{"type":426,"tag":553,"props":98500,"children":98501},{"style":684},[98502],{"type":431,"value":29537},{"type":426,"tag":553,"props":98504,"children":98505},{"style":795},[98506],{"type":431,"value":957},{"type":426,"tag":553,"props":98508,"children":98509},{"style":572},[98510],{"type":431,"value":98511}," \"I'm not sure how to help with that. Try asking about our pricing or free trial.\"\n",{"type":426,"tag":553,"props":98513,"children":98514},{"class":555,"line":2241},[98515],{"type":426,"tag":553,"props":98516,"children":98517},{"style":684},[98518],{"type":431,"value":917},{"type":426,"tag":553,"props":98520,"children":98521},{"class":555,"line":2250},[98522],{"type":426,"tag":553,"props":98523,"children":98524},{"style":1975},[98525],{"type":431,"value":98526},"    # Send reply via Rapiwa\n",{"type":426,"tag":553,"props":98528,"children":98529},{"class":555,"line":2302},[98530],{"type":426,"tag":553,"props":98531,"children":98532},{"style":684},[98533],{"type":431,"value":98534},"    send_whatsapp_reply(phone, reply)\n",{"type":426,"tag":553,"props":98536,"children":98537},{"class":555,"line":2353},[98538],{"type":426,"tag":553,"props":98539,"children":98540},{"style":684},[98541],{"type":431,"value":917},{"type":426,"tag":553,"props":98543,"children":98544},{"class":555,"line":2390},[98545,98549,98553,98557,98561,98565],{"type":426,"tag":553,"props":98546,"children":98547},{"style":795},[98548],{"type":431,"value":1659},{"type":426,"tag":553,"props":98550,"children":98551},{"style":684},[98552],{"type":431,"value":8126},{"type":426,"tag":553,"props":98554,"children":98555},{"style":572},[98556],{"type":431,"value":2982},{"type":426,"tag":553,"props":98558,"children":98559},{"style":684},[98560],{"type":431,"value":700},{"type":426,"tag":553,"props":98562,"children":98563},{"style":572},[98564],{"type":431,"value":8139},{"type":426,"tag":553,"props":98566,"children":98567},{"style":684},[98568],{"type":431,"value":8144},{"type":426,"tag":553,"props":98570,"children":98571},{"class":555,"line":2440},[98572],{"type":426,"tag":553,"props":98573,"children":98574},{"emptyLinePlaceholder":831},[98575],{"type":431,"value":834},{"type":426,"tag":553,"props":98577,"children":98578},{"class":555,"line":2488},[98579,98583,98587,98591,98595],{"type":426,"tag":553,"props":98580,"children":98581},{"style":795},[98582],{"type":431,"value":7510},{"type":426,"tag":553,"props":98584,"children":98585},{"style":566},[98586],{"type":431,"value":51734},{"type":426,"tag":553,"props":98588,"children":98589},{"style":795},[98590],{"type":431,"value":51739},{"type":426,"tag":553,"props":98592,"children":98593},{"style":572},[98594],{"type":431,"value":51744},{"type":426,"tag":553,"props":98596,"children":98597},{"style":684},[98598],{"type":431,"value":909},{"type":426,"tag":553,"props":98600,"children":98601},{"class":555,"line":2509},[98602,98606,98610,98614,98618,98622,98626,98630,98634],{"type":426,"tag":553,"props":98603,"children":98604},{"style":684},[98605],{"type":431,"value":65922},{"type":426,"tag":553,"props":98607,"children":98608},{"style":1684},[98609],{"type":431,"value":65945},{"type":426,"tag":553,"props":98611,"children":98612},{"style":795},[98613],{"type":431,"value":957},{"type":426,"tag":553,"props":98615,"children":98616},{"style":566},[98617],{"type":431,"value":65954},{"type":426,"tag":553,"props":98619,"children":98620},{"style":684},[98621],{"type":431,"value":1907},{"type":426,"tag":553,"props":98623,"children":98624},{"style":1684},[98625],{"type":431,"value":61617},{"type":426,"tag":553,"props":98627,"children":98628},{"style":795},[98629],{"type":431,"value":957},{"type":426,"tag":553,"props":98631,"children":98632},{"style":566},[98633],{"type":431,"value":65971},{"type":426,"tag":553,"props":98635,"children":98636},{"style":684},[98637],{"type":431,"value":3262},{"type":426,"tag":427,"props":98639,"children":98640},{},[98641],{"type":426,"tag":446,"props":98642,"children":98643},{},[98644],{"type":431,"value":98645},"Install:",{"type":426,"tag":542,"props":98647,"children":98649},{"code":98648,"language":545,"meta":417,"className":546,"style":417},"pip install flask google-cloud-dialogflow requests\n",[98650],{"type":426,"tag":549,"props":98651,"children":98652},{"__ignoreMap":417},[98653],{"type":426,"tag":553,"props":98654,"children":98655},{"class":555,"line":556},[98656,98660,98664,98668,98673],{"type":426,"tag":553,"props":98657,"children":98658},{"style":560},[98659],{"type":431,"value":48871},{"type":426,"tag":553,"props":98661,"children":98662},{"style":572},[98663],{"type":431,"value":48876},{"type":426,"tag":553,"props":98665,"children":98666},{"style":572},[98667],{"type":431,"value":63070},{"type":426,"tag":553,"props":98669,"children":98670},{"style":572},[98671],{"type":431,"value":98672}," google-cloud-dialogflow",{"type":426,"tag":553,"props":98674,"children":98675},{"style":572},[98676],{"type":431,"value":803},{"type":426,"tag":434,"props":98678,"children":98680},{"id":98679},"step-4-register-webhook-in-rapiwa",[98681],{"type":431,"value":98682},"Step 4: Register Webhook in Rapiwa",{"type":426,"tag":6331,"props":98684,"children":98685},{},[98686,98691,98717],{"type":426,"tag":458,"props":98687,"children":98688},{},[98689],{"type":431,"value":98690},"Deploy your server to a public URL (e.g., Railway, Render, Heroku, or VPS)",{"type":426,"tag":458,"props":98692,"children":98693},{},[98694,98695],{"type":431,"value":65994},{"type":426,"tag":454,"props":98696,"children":98697},{},[98698,98708],{"type":426,"tag":458,"props":98699,"children":98700},{},[98701,98702],{"type":431,"value":62466},{"type":426,"tag":549,"props":98703,"children":98705},{"className":98704},[],[98706],{"type":431,"value":98707},"https:\u002F\u002Fyour-server.com\u002Fwebhook\u002Fwhatsapp",{"type":426,"tag":458,"props":98709,"children":98710},{},[98711,98712],{"type":431,"value":66012},{"type":426,"tag":549,"props":98713,"children":98715},{"className":98714},[],[98716],{"type":431,"value":7956},{"type":426,"tag":458,"props":98718,"children":98719},{},[98720],{"type":431,"value":98721},"Test by sending a WhatsApp message to your Rapiwa number",{"type":426,"tag":434,"props":98723,"children":98725},{"id":98724},"step-5-test-intent-detection",[98726],{"type":431,"value":98727},"Step 5: Test Intent Detection",{"type":426,"tag":542,"props":98729,"children":98731},{"code":98730,"language":545,"meta":417,"className":546,"style":417},"# Test your cURL directly\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello! This is your Dialogflow-powered WhatsApp assistant. Ask me about pricing or how to get started!\"\n  }'\n",[98732],{"type":426,"tag":549,"props":98733,"children":98734},{"__ignoreMap":417},[98735,98743,98766,98781,98796,98807,98814,98822],{"type":426,"tag":553,"props":98736,"children":98737},{"class":555,"line":556},[98738],{"type":426,"tag":553,"props":98739,"children":98740},{"style":1975},[98741],{"type":431,"value":98742},"# Test your cURL directly\n",{"type":426,"tag":553,"props":98744,"children":98745},{"class":555,"line":588},[98746,98750,98754,98758,98762],{"type":426,"tag":553,"props":98747,"children":98748},{"style":560},[98749],{"type":431,"value":563},{"type":426,"tag":553,"props":98751,"children":98752},{"style":566},[98753],{"type":431,"value":569},{"type":426,"tag":553,"props":98755,"children":98756},{"style":572},[98757],{"type":431,"value":575},{"type":426,"tag":553,"props":98759,"children":98760},{"style":572},[98761],{"type":431,"value":580},{"type":426,"tag":553,"props":98763,"children":98764},{"style":566},[98765],{"type":431,"value":585},{"type":426,"tag":553,"props":98767,"children":98768},{"class":555,"line":606},[98769,98773,98777],{"type":426,"tag":553,"props":98770,"children":98771},{"style":566},[98772],{"type":431,"value":594},{"type":426,"tag":553,"props":98774,"children":98775},{"style":572},[98776],{"type":431,"value":599},{"type":426,"tag":553,"props":98778,"children":98779},{"style":566},[98780],{"type":431,"value":585},{"type":426,"tag":553,"props":98782,"children":98783},{"class":555,"line":623},[98784,98788,98792],{"type":426,"tag":553,"props":98785,"children":98786},{"style":566},[98787],{"type":431,"value":594},{"type":426,"tag":553,"props":98789,"children":98790},{"style":572},[98791],{"type":431,"value":616},{"type":426,"tag":553,"props":98793,"children":98794},{"style":566},[98795],{"type":431,"value":585},{"type":426,"tag":553,"props":98797,"children":98798},{"class":555,"line":637},[98799,98803],{"type":426,"tag":553,"props":98800,"children":98801},{"style":566},[98802],{"type":431,"value":629},{"type":426,"tag":553,"props":98804,"children":98805},{"style":572},[98806],{"type":431,"value":634},{"type":426,"tag":553,"props":98808,"children":98809},{"class":555,"line":646},[98810],{"type":426,"tag":553,"props":98811,"children":98812},{"style":572},[98813],{"type":431,"value":643},{"type":426,"tag":553,"props":98815,"children":98816},{"class":555,"line":655},[98817],{"type":426,"tag":553,"props":98818,"children":98819},{"style":572},[98820],{"type":431,"value":98821},"    \"message\": \"Hello! This is your Dialogflow-powered WhatsApp assistant. Ask me about pricing or how to get started!\"\n",{"type":426,"tag":553,"props":98823,"children":98824},{"class":555,"line":1036},[98825],{"type":426,"tag":553,"props":98826,"children":98827},{"style":572},[98828],{"type":431,"value":661},{"type":426,"tag":434,"props":98830,"children":98832},{"id":98831},"adding-context-for-multi-turn-conversations",[98833],{"type":431,"value":98834},"Adding Context for Multi-Turn Conversations",{"type":426,"tag":427,"props":98836,"children":98837},{},[98838,98840,98845],{"type":431,"value":98839},"Dialogflow maintains conversation context per ",{"type":426,"tag":549,"props":98841,"children":98843},{"className":98842},[],[98844],{"type":431,"value":98452},{"type":431,"value":98846},". Using the phone number as session ID means each customer has their own conversation history — Dialogflow remembers previous messages in the session.",{"type":426,"tag":427,"props":98848,"children":98849},{},[98850],{"type":431,"value":98851},"Example multi-turn:",{"type":426,"tag":6331,"props":98853,"children":98854},{},[98855,98860,98865],{"type":426,"tag":458,"props":98856,"children":98857},{},[98858],{"type":431,"value":98859},"Customer: \"What are your plans?\"",{"type":426,"tag":458,"props":98861,"children":98862},{},[98863],{"type":431,"value":98864},"Bot: \"Starter is $5\u002Fmonth, Professional is $X...\"",{"type":426,"tag":458,"props":98866,"children":98867},{},[98868],{"type":431,"value":98869},"Customer: \"What about the Enterprise plan?\" ← Dialogflow remembers the context is about plans",{"type":426,"tag":434,"props":98871,"children":98872},{"id":18886},[98873],{"type":431,"value":18889},{"type":426,"tag":454,"props":98875,"children":98876},{},[98877,98894,98904,98914],{"type":426,"tag":458,"props":98878,"children":98879},{},[98880,98885,98887,98892],{"type":426,"tag":446,"props":98881,"children":98882},{},[98883],{"type":431,"value":98884},"Dialogflow 404",{"type":431,"value":98886},": Your ",{"type":426,"tag":549,"props":98888,"children":98890},{"className":98889},[],[98891],{"type":431,"value":97640},{"type":431,"value":98893}," is wrong. Copy it from Google Cloud Console → Project ID",{"type":426,"tag":458,"props":98895,"children":98896},{},[98897,98902],{"type":426,"tag":446,"props":98898,"children":98899},{},[98900],{"type":431,"value":98901},"Authentication failed",{"type":431,"value":98903},": The service account JSON file path is incorrect, or the file is missing the Dialogflow API Client role",{"type":426,"tag":458,"props":98905,"children":98906},{},[98907,98912],{"type":426,"tag":446,"props":98908,"children":98909},{},[98910],{"type":431,"value":98911},"Empty fulfillment response",{"type":431,"value":98913},": Your Dialogflow intent doesn't have a response configured. Add response text in the Dialogflow console",{"type":426,"tag":458,"props":98915,"children":98916},{},[98917,98921],{"type":426,"tag":446,"props":98918,"children":98919},{},[98920],{"type":431,"value":26117},{"type":431,"value":98922},": Regenerate your API key in Dashboard → API Keys",{"type":426,"tag":434,"props":98924,"children":98925},{"id":4109},[98926],{"type":431,"value":4112},{"type":426,"tag":427,"props":98928,"children":98929},{},[98930,98935],{"type":426,"tag":446,"props":98931,"children":98932},{},[98933],{"type":431,"value":98934},"Is Dialogflow free?",{"type":431,"value":98936},"\nDialogflow ES is free up to 180 requests\u002Fminute (standard edition). For production chatbots with high volume, you may need to upgrade to Dialogflow CX (paid).",{"type":426,"tag":427,"props":98938,"children":98939},{},[98940,98945,98947,98953,98955,98961,98963,98969],{"type":426,"tag":446,"props":98941,"children":98942},{},[98943],{"type":431,"value":98944},"Can Dialogflow understand different languages?",{"type":431,"value":98946},"\nYes. Dialogflow supports 30+ languages. Change ",{"type":426,"tag":549,"props":98948,"children":98950},{"className":98949},[],[98951],{"type":431,"value":98952},"languageCode: 'en-US'",{"type":431,"value":98954}," to the language code for your target audience (e.g., ",{"type":426,"tag":549,"props":98956,"children":98958},{"className":98957},[],[98959],{"type":431,"value":98960},"'es'",{"type":431,"value":98962}," for Spanish, ",{"type":426,"tag":549,"props":98964,"children":98966},{"className":98965},[],[98967],{"type":431,"value":98968},"'pt-BR'",{"type":431,"value":98970}," for Brazilian Portuguese).",{"type":426,"tag":427,"props":98972,"children":98973},{},[98974,98979],{"type":426,"tag":446,"props":98975,"children":98976},{},[98977],{"type":431,"value":98978},"What is the difference between Dialogflow ES and Dialogflow CX?",{"type":431,"value":98980},"\nDialogflow ES (Essentials) is simpler and free for standard use. Dialogflow CX (Complex) offers advanced conversation flows and is suitable for enterprise-scale chatbots.",{"type":426,"tag":427,"props":98982,"children":98983},{},[98984,98989],{"type":426,"tag":446,"props":98985,"children":98986},{},[98987],{"type":431,"value":98988},"Does Rapiwa charge per chatbot reply message?",{"type":431,"value":98990},"\nNo. Rapiwa is $5\u002Fmonth flat with no per-message fees — the chatbot can handle unlimited conversations.",{"type":426,"tag":427,"props":98992,"children":98993},{},[98994,98999,99001,99006,99008,99013],{"type":426,"tag":446,"props":98995,"children":98996},{},[98997],{"type":431,"value":98998},"Can I use OpenAI or Gemini instead of Dialogflow?",{"type":431,"value":99000},"\nYes. Replace the ",{"type":426,"tag":549,"props":99002,"children":99004},{"className":99003},[],[99005],{"type":431,"value":96853},{"type":431,"value":99007}," function with an OpenAI or Gemini API call. See our post on ",{"type":426,"tag":3819,"props":99009,"children":99010},{"href":89},[99011],{"type":431,"value":99012},"Building a WhatsApp AI Chatbot with Python and Gemini",{"type":431,"value":99014}," for that approach.",{"type":426,"tag":4164,"props":99016,"children":99017},{},[99018],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":99020},[99021,99022,99023,99027,99028,99029,99030,99031,99032,99033],{"id":10999,"depth":588,"text":11002},{"id":47624,"depth":588,"text":47627},{"id":95596,"depth":588,"text":95599,"children":99024},[99025,99026],{"id":95650,"depth":606,"text":95653},{"id":95740,"depth":606,"text":95743},{"id":95786,"depth":588,"text":95789},{"id":97483,"depth":588,"text":97486},{"id":98679,"depth":588,"text":98682},{"id":98724,"depth":588,"text":98727},{"id":98831,"depth":588,"text":98834},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-chatbot-dialogflow-rapiwa.md","blog\u002Fwhatsapp-chatbot-dialogflow-rapiwa.md","blog\u002Fwhatsapp-chatbot-dialogflow-rapiwa",{"loc":121},{"_path":125,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":126,"description":127,"date":99039,"author":26210,"category":43,"_slug":99040,"image":99041,"body":99042,"_type":4187,"_id":100475,"_source":4189,"_file":100476,"_stem":100477,"_extension":4192,"sitemap":100478},"2026-02-23","whatsapp-lead-capture-bot-rapiwa-n8n","\u002Fimages\u002Fblog\u002Fwhatsapp-lead-capture-bot-rapiwa-n8n.svg",{"type":423,"children":99043,"toc":100453},[99044,99049,99055,99060,99088,99097,99103,99108,99228,99232,99260,99266,99271,99342,99353,99359,99364,99372,99378,99420,99426,99432,99440,99451,99457,99469,99512,99518,99576,99601,99607,99673,99691,99697,99745,99762,99768,99773,99830,99854,99860,99865,99910,99967,99974,100067,100074,100150,100156,100168,100176,100182,100220,100226,100231,100290,100295,100299,100354,100358,100368,100400,100410,100426,100449],{"type":426,"tag":427,"props":99045,"children":99046},{},[99047],{"type":431,"value":99048},"You can build a WhatsApp lead capture bot using Rapiwa API and n8n that automatically collects leads from incoming WhatsApp messages. When a prospect messages your WhatsApp number, the bot asks for their name, email, and requirement, stores the data in Google Sheets, and notifies your sales team via Slack or email. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":99050,"children":99052},{"id":99051},"what-this-bot-does",[99053],{"type":431,"value":99054},"What This Bot Does",{"type":426,"tag":427,"props":99056,"children":99057},{},[99058],{"type":431,"value":99059},"When a prospect sends any message to your WhatsApp:",{"type":426,"tag":6331,"props":99061,"children":99062},{},[99063,99068,99073,99078,99083],{"type":426,"tag":458,"props":99064,"children":99065},{},[99066],{"type":431,"value":99067},"The bot greets them and asks for their name",{"type":426,"tag":458,"props":99069,"children":99070},{},[99071],{"type":431,"value":99072},"Collects email and business requirement in follow-up messages",{"type":426,"tag":458,"props":99074,"children":99075},{},[99076],{"type":431,"value":99077},"Stores all lead data in a Google Sheet",{"type":426,"tag":458,"props":99079,"children":99080},{},[99081],{"type":431,"value":99082},"Notifies the sales team via Slack (or email)",{"type":426,"tag":458,"props":99084,"children":99085},{},[99086],{"type":431,"value":99087},"Sends a confirmation message to the prospect",{"type":426,"tag":427,"props":99089,"children":99090},{},[99091,99095],{"type":426,"tag":446,"props":99092,"children":99093},{},[99094],{"type":431,"value":43482},{"type":431,"value":99096},": Capture 100% of WhatsApp inquiries as qualified leads, automatically, 24\u002F7.",{"type":426,"tag":434,"props":99098,"children":99100},{"id":99099},"how-conversational-lead-capture-works",[99101],{"type":431,"value":99102},"How Conversational Lead Capture Works",{"type":426,"tag":427,"props":99104,"children":99105},{},[99106],{"type":431,"value":99107},"The bot uses a simple state machine stored in Google Sheets:",{"type":426,"tag":10600,"props":99109,"children":99110},{},[99111,99132],{"type":426,"tag":10604,"props":99112,"children":99113},{},[99114],{"type":426,"tag":10608,"props":99115,"children":99116},{},[99117,99122,99127],{"type":426,"tag":10612,"props":99118,"children":99119},{},[99120],{"type":431,"value":99121},"State",{"type":426,"tag":10612,"props":99123,"children":99124},{},[99125],{"type":431,"value":99126},"Bot asks",{"type":426,"tag":10612,"props":99128,"children":99129},{},[99130],{"type":431,"value":99131},"Waits for",{"type":426,"tag":10623,"props":99133,"children":99134},{},[99135,99156,99184,99206],{"type":426,"tag":10608,"props":99136,"children":99137},{},[99138,99146,99151],{"type":426,"tag":10630,"props":99139,"children":99140},{},[99141],{"type":426,"tag":549,"props":99142,"children":99144},{"className":99143},[],[99145],{"type":431,"value":52602},{"type":426,"tag":10630,"props":99147,"children":99148},{},[99149],{"type":431,"value":99150},"\"Hi! What's your name?\"",{"type":426,"tag":10630,"props":99152,"children":99153},{},[99154],{"type":431,"value":99155},"Name response",{"type":426,"tag":10608,"props":99157,"children":99158},{},[99159,99168,99179],{"type":426,"tag":10630,"props":99160,"children":99161},{},[99162],{"type":426,"tag":549,"props":99163,"children":99165},{"className":99164},[],[99166],{"type":431,"value":99167},"got_name",{"type":426,"tag":10630,"props":99169,"children":99170},{},[99171,99173,99177],{"type":431,"value":99172},"\"Nice to meet you, ",{"type":426,"tag":553,"props":99174,"children":99175},{},[99176],{"type":431,"value":54812},{"type":431,"value":99178},"! What's your email?\"",{"type":426,"tag":10630,"props":99180,"children":99181},{},[99182],{"type":431,"value":99183},"Email response",{"type":426,"tag":10608,"props":99185,"children":99186},{},[99187,99196,99201],{"type":426,"tag":10630,"props":99188,"children":99189},{},[99190],{"type":426,"tag":549,"props":99191,"children":99193},{"className":99192},[],[99194],{"type":431,"value":99195},"got_email",{"type":426,"tag":10630,"props":99197,"children":99198},{},[99199],{"type":431,"value":99200},"\"Great! What are you looking to achieve with WhatsApp automation?\"",{"type":426,"tag":10630,"props":99202,"children":99203},{},[99204],{"type":431,"value":99205},"Requirement",{"type":426,"tag":10608,"props":99207,"children":99208},{},[99209,99218,99223],{"type":426,"tag":10630,"props":99210,"children":99211},{},[99212],{"type":426,"tag":549,"props":99213,"children":99215},{"className":99214},[],[99216],{"type":431,"value":99217},"complete",{"type":426,"tag":10630,"props":99219,"children":99220},{},[99221],{"type":431,"value":99222},"\"Thank you! We'll be in touch within 2 hours.\"",{"type":426,"tag":10630,"props":99224,"children":99225},{},[99226],{"type":431,"value":99227},"(done)",{"type":426,"tag":434,"props":99229,"children":99230},{"id":47624},[99231],{"type":431,"value":47627},{"type":426,"tag":454,"props":99233,"children":99234},{},[99235,99245,99250,99255],{"type":426,"tag":458,"props":99236,"children":99237},{},[99238,99239,99244],{"type":431,"value":48828},{"type":426,"tag":3819,"props":99240,"children":99242},{"href":3821,"rel":99241},[3823],[99243],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":99246,"children":99247},{},[99248],{"type":431,"value":99249},"n8n (Cloud free tier or self-hosted)",{"type":426,"tag":458,"props":99251,"children":99252},{},[99253],{"type":431,"value":99254},"Google Sheets (for lead storage and conversation state)",{"type":426,"tag":458,"props":99256,"children":99257},{},[99258],{"type":431,"value":99259},"Rapiwa webhook configured to send incoming messages to n8n",{"type":426,"tag":434,"props":99261,"children":99263},{"id":99262},"step-1-create-the-lead-storage-google-sheet",[99264],{"type":431,"value":99265},"Step 1: Create the Lead Storage Google Sheet",{"type":426,"tag":427,"props":99267,"children":99268},{},[99269],{"type":431,"value":99270},"Create a Google Sheet with these columns:",{"type":426,"tag":10600,"props":99272,"children":99273},{},[99274,99313],{"type":426,"tag":10604,"props":99275,"children":99276},{},[99277],{"type":426,"tag":10608,"props":99278,"children":99279},{},[99280,99284,99288,99293,99298,99303,99308],{"type":426,"tag":10612,"props":99281,"children":99282},{},[99283],{"type":431,"value":37598},{"type":426,"tag":10612,"props":99285,"children":99286},{},[99287],{"type":431,"value":24468},{"type":426,"tag":10612,"props":99289,"children":99290},{},[99291],{"type":431,"value":99292},"email",{"type":426,"tag":10612,"props":99294,"children":99295},{},[99296],{"type":431,"value":99297},"requirement",{"type":426,"tag":10612,"props":99299,"children":99300},{},[99301],{"type":431,"value":99302},"state",{"type":426,"tag":10612,"props":99304,"children":99305},{},[99306],{"type":431,"value":99307},"created_at",{"type":426,"tag":10612,"props":99309,"children":99310},{},[99311],{"type":431,"value":99312},"notified",{"type":426,"tag":10623,"props":99314,"children":99315},{},[99316],{"type":426,"tag":10608,"props":99317,"children":99318},{},[99319,99323,99326,99329,99332,99336,99339],{"type":426,"tag":10630,"props":99320,"children":99321},{},[99322],{"type":431,"value":7237},{"type":426,"tag":10630,"props":99324,"children":99325},{},[],{"type":426,"tag":10630,"props":99327,"children":99328},{},[],{"type":426,"tag":10630,"props":99330,"children":99331},{},[],{"type":426,"tag":10630,"props":99333,"children":99334},{},[99335],{"type":431,"value":52602},{"type":426,"tag":10630,"props":99337,"children":99338},{},[],{"type":426,"tag":10630,"props":99340,"children":99341},{},[],{"type":426,"tag":427,"props":99343,"children":99344},{},[99345,99346,99351],{"type":431,"value":86346},{"type":426,"tag":549,"props":99347,"children":99349},{"className":99348},[],[99350],{"type":431,"value":99302},{"type":431,"value":99352}," column tracks where each prospect is in the conversation flow.",{"type":426,"tag":434,"props":99354,"children":99356},{"id":99355},"step-2-create-the-n8n-workflow",[99357],{"type":431,"value":99358},"Step 2: Create the n8n Workflow",{"type":426,"tag":427,"props":99360,"children":99361},{},[99362],{"type":431,"value":99363},"Create a new n8n workflow with this structure:",{"type":426,"tag":542,"props":99365,"children":99367},{"code":99366},"Webhook (incoming WhatsApp) \n  → Google Sheets (lookup phone number)\n  → Switch (by current state)\n    → Branch \"new\": Ask for name, create row\n    → Branch \"got_name\": Save name, ask for email\n    → Branch \"got_email\": Save email, ask for requirement\n    → Branch \"got_requirement\": Save, send to Slack, confirm\n  → HTTP Request (Rapiwa): send reply\n",[99368],{"type":426,"tag":549,"props":99369,"children":99370},{"__ignoreMap":417},[99371],{"type":431,"value":99366},{"type":426,"tag":434,"props":99373,"children":99375},{"id":99374},"step-3-configure-the-rapiwa-webhook-trigger",[99376],{"type":431,"value":99377},"Step 3: Configure the Rapiwa Webhook Trigger",{"type":426,"tag":6331,"props":99379,"children":99380},{},[99381,99385,99394,99399],{"type":426,"tag":458,"props":99382,"children":99383},{},[99384],{"type":431,"value":60189},{"type":426,"tag":458,"props":99386,"children":99387},{},[99388,99389,99393],{"type":431,"value":60194},{"type":426,"tag":446,"props":99390,"children":99391},{},[99392],{"type":431,"value":60199},{"type":431,"value":60201},{"type":426,"tag":458,"props":99395,"children":99396},{},[99397],{"type":431,"value":99398},"Copy the webhook URL",{"type":426,"tag":458,"props":99400,"children":99401},{},[99402,99403],{"type":431,"value":65994},{"type":426,"tag":454,"props":99404,"children":99405},{},[99406,99411],{"type":426,"tag":458,"props":99407,"children":99408},{},[99409],{"type":431,"value":99410},"URL: your n8n webhook URL",{"type":426,"tag":458,"props":99412,"children":99413},{},[99414,99415],{"type":431,"value":66012},{"type":426,"tag":549,"props":99416,"children":99418},{"className":99417},[],[99419],{"type":431,"value":7956},{"type":426,"tag":434,"props":99421,"children":99423},{"id":99422},"step-4-build-the-state-machine-logic",[99424],{"type":431,"value":99425},"Step 4: Build the State Machine Logic",{"type":426,"tag":515,"props":99427,"children":99429},{"id":99428},"lookup-current-state-google-sheets-node",[99430],{"type":431,"value":99431},"Lookup Current State (Google Sheets node)",{"type":426,"tag":542,"props":99433,"children":99435},{"code":99434},"Operation: Lookup Row\nSheet: Leads\nLookup Column: phone\nLookup Value: {{ $json.data.from }}\n",[99436],{"type":426,"tag":549,"props":99437,"children":99438},{"__ignoreMap":417},[99439],{"type":431,"value":99434},{"type":426,"tag":427,"props":99441,"children":99442},{},[99443,99445,99450],{"type":431,"value":99444},"If no row found, create a new row with state = ",{"type":426,"tag":549,"props":99446,"children":99448},{"className":99447},[],[99449],{"type":431,"value":52602},{"type":431,"value":6789},{"type":426,"tag":515,"props":99452,"children":99454},{"id":99453},"switch-node-route-by-state",[99455],{"type":431,"value":99456},"Switch Node (route by state)",{"type":426,"tag":427,"props":99458,"children":99459},{},[99460,99462,99468],{"type":431,"value":99461},"Route based on ",{"type":426,"tag":549,"props":99463,"children":99465},{"className":99464},[],[99466],{"type":431,"value":99467},"{{ $json.state }}",{"type":431,"value":19071},{"type":426,"tag":454,"props":99470,"children":99471},{},[99472,99482,99492,99502],{"type":426,"tag":458,"props":99473,"children":99474},{},[99475,99480],{"type":426,"tag":549,"props":99476,"children":99478},{"className":99477},[],[99479],{"type":431,"value":52602},{"type":431,"value":99481}," → Branch 1",{"type":426,"tag":458,"props":99483,"children":99484},{},[99485,99490],{"type":426,"tag":549,"props":99486,"children":99488},{"className":99487},[],[99489],{"type":431,"value":99167},{"type":431,"value":99491}," → Branch 2",{"type":426,"tag":458,"props":99493,"children":99494},{},[99495,99500],{"type":426,"tag":549,"props":99496,"children":99498},{"className":99497},[],[99499],{"type":431,"value":99195},{"type":431,"value":99501}," → Branch 3",{"type":426,"tag":458,"props":99503,"children":99504},{},[99505,99510],{"type":426,"tag":549,"props":99506,"children":99508},{"className":99507},[],[99509],{"type":431,"value":99217},{"type":431,"value":99511}," → do nothing (ignore follow-up messages)",{"type":426,"tag":515,"props":99513,"children":99515},{"id":99514},"branch-1-first-contact-state-new",[99516],{"type":431,"value":99517},"Branch 1 — First Contact (state: new)",{"type":426,"tag":542,"props":99519,"children":99521},{"code":99520,"language":52115,"meta":417,"className":52113,"style":417},"\u002F\u002F Set node: build reply\nreply: \"Hi there! 👋 I'm the Rapiwa sales bot.\\n\\nWhat's your name?\"\nnext_state: \"got_name\"\n",[99522],{"type":426,"tag":549,"props":99523,"children":99524},{"__ignoreMap":417},[99525,99533,99559],{"type":426,"tag":553,"props":99526,"children":99527},{"class":555,"line":556},[99528],{"type":426,"tag":553,"props":99529,"children":99530},{"style":1975},[99531],{"type":431,"value":99532},"\u002F\u002F Set node: build reply\n",{"type":426,"tag":553,"props":99534,"children":99535},{"class":555,"line":588},[99536,99541,99545,99550,99554],{"type":426,"tag":553,"props":99537,"children":99538},{"style":560},[99539],{"type":431,"value":99540},"reply",{"type":426,"tag":553,"props":99542,"children":99543},{"style":684},[99544],{"type":431,"value":700},{"type":426,"tag":553,"props":99546,"children":99547},{"style":572},[99548],{"type":431,"value":99549},"\"Hi there! 👋 I'm the Rapiwa sales bot.",{"type":426,"tag":553,"props":99551,"children":99552},{"style":566},[99553],{"type":431,"value":1295},{"type":426,"tag":553,"props":99555,"children":99556},{"style":572},[99557],{"type":431,"value":99558},"What's your name?\"\n",{"type":426,"tag":553,"props":99560,"children":99561},{"class":555,"line":606},[99562,99567,99571],{"type":426,"tag":553,"props":99563,"children":99564},{"style":560},[99565],{"type":431,"value":99566},"next_state",{"type":426,"tag":553,"props":99568,"children":99569},{"style":684},[99570],{"type":431,"value":700},{"type":426,"tag":553,"props":99572,"children":99573},{"style":572},[99574],{"type":431,"value":99575},"\"got_name\"\n",{"type":426,"tag":427,"props":99577,"children":99578},{},[99579,99581,99587,99588,99594,99595],{"type":431,"value":99580},"Update Google Sheets: add new row with ",{"type":426,"tag":549,"props":99582,"children":99584},{"className":99583},[],[99585],{"type":431,"value":99586},"phone = from",{"type":431,"value":1907},{"type":426,"tag":549,"props":99589,"children":99591},{"className":99590},[],[99592],{"type":431,"value":99593},"state = got_name",{"type":431,"value":1907},{"type":426,"tag":549,"props":99596,"children":99598},{"className":99597},[],[99599],{"type":431,"value":99600},"created_at = now()",{"type":426,"tag":515,"props":99602,"children":99604},{"id":99603},"branch-2-got-name-state-got_name",[99605],{"type":431,"value":99606},"Branch 2 — Got Name (state: got_name)",{"type":426,"tag":542,"props":99608,"children":99610},{"code":99609,"language":52115,"meta":417,"className":52113,"style":417},"\u002F\u002F The incoming message IS the name\nreply: `Nice to meet you, ${incoming_message}! 😊\\n\\nWhat's your email address?`\nnext_state: \"got_email\"\n",[99611],{"type":426,"tag":549,"props":99612,"children":99613},{"__ignoreMap":417},[99614,99622,99657],{"type":426,"tag":553,"props":99615,"children":99616},{"class":555,"line":556},[99617],{"type":426,"tag":553,"props":99618,"children":99619},{"style":1975},[99620],{"type":431,"value":99621},"\u002F\u002F The incoming message IS the name\n",{"type":426,"tag":553,"props":99623,"children":99624},{"class":555,"line":588},[99625,99629,99633,99638,99643,99648,99652],{"type":426,"tag":553,"props":99626,"children":99627},{"style":560},[99628],{"type":431,"value":99540},{"type":426,"tag":553,"props":99630,"children":99631},{"style":684},[99632],{"type":431,"value":700},{"type":426,"tag":553,"props":99634,"children":99635},{"style":572},[99636],{"type":431,"value":99637},"`Nice to meet you, ${",{"type":426,"tag":553,"props":99639,"children":99640},{"style":684},[99641],{"type":431,"value":99642},"incoming_message",{"type":426,"tag":553,"props":99644,"children":99645},{"style":572},[99646],{"type":431,"value":99647},"}! 😊",{"type":426,"tag":553,"props":99649,"children":99650},{"style":566},[99651],{"type":431,"value":1295},{"type":426,"tag":553,"props":99653,"children":99654},{"style":572},[99655],{"type":431,"value":99656},"What's your email address?`\n",{"type":426,"tag":553,"props":99658,"children":99659},{"class":555,"line":606},[99660,99664,99668],{"type":426,"tag":553,"props":99661,"children":99662},{"style":560},[99663],{"type":431,"value":99566},{"type":426,"tag":553,"props":99665,"children":99666},{"style":684},[99667],{"type":431,"value":700},{"type":426,"tag":553,"props":99669,"children":99670},{"style":572},[99671],{"type":431,"value":99672},"\"got_email\"\n",{"type":426,"tag":427,"props":99674,"children":99675},{},[99676,99678,99684,99685],{"type":431,"value":99677},"Update Google Sheets: set ",{"type":426,"tag":549,"props":99679,"children":99681},{"className":99680},[],[99682],{"type":431,"value":99683},"name = incoming_message",{"type":431,"value":1907},{"type":426,"tag":549,"props":99686,"children":99688},{"className":99687},[],[99689],{"type":431,"value":99690},"state = got_email",{"type":426,"tag":515,"props":99692,"children":99694},{"id":99693},"branch-3-got-email-state-got_email",[99695],{"type":431,"value":99696},"Branch 3 — Got Email (state: got_email)",{"type":426,"tag":542,"props":99698,"children":99700},{"code":99699,"language":52115,"meta":417,"className":52113,"style":417},"reply: `Got it! Last question:\\n\\nWhat are you looking to achieve with WhatsApp automation?`\nnext_state: \"got_requirement\"\n",[99701],{"type":426,"tag":549,"props":99702,"children":99703},{"__ignoreMap":417},[99704,99729],{"type":426,"tag":553,"props":99705,"children":99706},{"class":555,"line":556},[99707,99711,99715,99720,99724],{"type":426,"tag":553,"props":99708,"children":99709},{"style":560},[99710],{"type":431,"value":99540},{"type":426,"tag":553,"props":99712,"children":99713},{"style":684},[99714],{"type":431,"value":700},{"type":426,"tag":553,"props":99716,"children":99717},{"style":572},[99718],{"type":431,"value":99719},"`Got it! Last question:",{"type":426,"tag":553,"props":99721,"children":99722},{"style":566},[99723],{"type":431,"value":1295},{"type":426,"tag":553,"props":99725,"children":99726},{"style":572},[99727],{"type":431,"value":99728},"What are you looking to achieve with WhatsApp automation?`\n",{"type":426,"tag":553,"props":99730,"children":99731},{"class":555,"line":588},[99732,99736,99740],{"type":426,"tag":553,"props":99733,"children":99734},{"style":560},[99735],{"type":431,"value":99566},{"type":426,"tag":553,"props":99737,"children":99738},{"style":684},[99739],{"type":431,"value":700},{"type":426,"tag":553,"props":99741,"children":99742},{"style":572},[99743],{"type":431,"value":99744},"\"got_requirement\"\n",{"type":426,"tag":427,"props":99746,"children":99747},{},[99748,99749,99755,99756],{"type":431,"value":99677},{"type":426,"tag":549,"props":99750,"children":99752},{"className":99751},[],[99753],{"type":431,"value":99754},"email = incoming_message",{"type":431,"value":1907},{"type":426,"tag":549,"props":99757,"children":99759},{"className":99758},[],[99760],{"type":431,"value":99761},"state = got_requirement",{"type":426,"tag":515,"props":99763,"children":99765},{"id":99764},"branch-4-got-requirement-state-got_requirement",[99766],{"type":431,"value":99767},"Branch 4 — Got Requirement (state: got_requirement)",{"type":426,"tag":427,"props":99769,"children":99770},{},[99771],{"type":431,"value":99772},"This is the final step. Save the requirement, notify sales, confirm:",{"type":426,"tag":542,"props":99774,"children":99776},{"code":99775,"language":52115,"meta":417,"className":52113,"style":417},"reply: `Thank you! 🎉\\n\\nWe received your inquiry and our team will be in touch within 2 hours.\\n\\nStart your free trial: https:\u002F\u002Frapiwa.com`\nnext_state: \"complete\"\n",[99777],{"type":426,"tag":549,"props":99778,"children":99779},{"__ignoreMap":417},[99780,99814],{"type":426,"tag":553,"props":99781,"children":99782},{"class":555,"line":556},[99783,99787,99791,99796,99800,99805,99809],{"type":426,"tag":553,"props":99784,"children":99785},{"style":560},[99786],{"type":431,"value":99540},{"type":426,"tag":553,"props":99788,"children":99789},{"style":684},[99790],{"type":431,"value":700},{"type":426,"tag":553,"props":99792,"children":99793},{"style":572},[99794],{"type":431,"value":99795},"`Thank you! 🎉",{"type":426,"tag":553,"props":99797,"children":99798},{"style":566},[99799],{"type":431,"value":1295},{"type":426,"tag":553,"props":99801,"children":99802},{"style":572},[99803],{"type":431,"value":99804},"We received your inquiry and our team will be in touch within 2 hours.",{"type":426,"tag":553,"props":99806,"children":99807},{"style":566},[99808],{"type":431,"value":1295},{"type":426,"tag":553,"props":99810,"children":99811},{"style":572},[99812],{"type":431,"value":99813},"Start your free trial: https:\u002F\u002Frapiwa.com`\n",{"type":426,"tag":553,"props":99815,"children":99816},{"class":555,"line":588},[99817,99821,99825],{"type":426,"tag":553,"props":99818,"children":99819},{"style":560},[99820],{"type":431,"value":99566},{"type":426,"tag":553,"props":99822,"children":99823},{"style":684},[99824],{"type":431,"value":700},{"type":426,"tag":553,"props":99826,"children":99827},{"style":572},[99828],{"type":431,"value":99829},"\"complete\"\n",{"type":426,"tag":427,"props":99831,"children":99832},{},[99833,99834,99840,99841,99847,99848],{"type":431,"value":99677},{"type":426,"tag":549,"props":99835,"children":99837},{"className":99836},[],[99838],{"type":431,"value":99839},"requirement = incoming_message",{"type":431,"value":1907},{"type":426,"tag":549,"props":99842,"children":99844},{"className":99843},[],[99845],{"type":431,"value":99846},"state = complete",{"type":431,"value":1907},{"type":426,"tag":549,"props":99849,"children":99851},{"className":99850},[],[99852],{"type":431,"value":99853},"notified = FALSE",{"type":426,"tag":434,"props":99855,"children":99857},{"id":99856},"step-5-configure-the-rapiwa-reply-node",[99858],{"type":431,"value":99859},"Step 5: Configure the Rapiwa Reply Node",{"type":426,"tag":427,"props":99861,"children":99862},{},[99863],{"type":431,"value":99864},"At the end of each branch, add an HTTP Request node:",{"type":426,"tag":454,"props":99866,"children":99867},{},[99868,99876,99889,99902],{"type":426,"tag":458,"props":99869,"children":99870},{},[99871,99875],{"type":426,"tag":446,"props":99872,"children":99873},{},[99874],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":99877,"children":99878},{},[99879,99883,99884],{"type":426,"tag":446,"props":99880,"children":99881},{},[99882],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":99885,"children":99887},{"className":99886},[],[99888],{"type":431,"value":48098},{"type":426,"tag":458,"props":99890,"children":99891},{},[99892,99896,99897],{"type":426,"tag":446,"props":99893,"children":99894},{},[99895],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":99898,"children":99900},{"className":99899},[],[99901],{"type":431,"value":48113},{"type":426,"tag":458,"props":99903,"children":99904},{},[99905,99909],{"type":426,"tag":446,"props":99906,"children":99907},{},[99908],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":99911,"children":99913},{"code":99912,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $('Webhook').item.json.data.from }}\",\n  \"message\": \"={{ $json.reply }}\"\n}\n",[99914],{"type":426,"tag":549,"props":99915,"children":99916},{"__ignoreMap":417},[99917,99924,99944,99960],{"type":426,"tag":553,"props":99918,"children":99919},{"class":555,"line":556},[99920],{"type":426,"tag":553,"props":99921,"children":99922},{"style":684},[99923],{"type":431,"value":687},{"type":426,"tag":553,"props":99925,"children":99926},{"class":555,"line":588},[99927,99931,99935,99940],{"type":426,"tag":553,"props":99928,"children":99929},{"style":566},[99930],{"type":431,"value":7277},{"type":426,"tag":553,"props":99932,"children":99933},{"style":684},[99934],{"type":431,"value":700},{"type":426,"tag":553,"props":99936,"children":99937},{"style":572},[99938],{"type":431,"value":99939},"\"={{ $('Webhook').item.json.data.from }}\"",{"type":426,"tag":553,"props":99941,"children":99942},{"style":684},[99943],{"type":431,"value":710},{"type":426,"tag":553,"props":99945,"children":99946},{"class":555,"line":606},[99947,99951,99955],{"type":426,"tag":553,"props":99948,"children":99949},{"style":566},[99950],{"type":431,"value":7298},{"type":426,"tag":553,"props":99952,"children":99953},{"style":684},[99954],{"type":431,"value":700},{"type":426,"tag":553,"props":99956,"children":99957},{"style":572},[99958],{"type":431,"value":99959},"\"={{ $json.reply }}\"\n",{"type":426,"tag":553,"props":99961,"children":99962},{"class":555,"line":623},[99963],{"type":426,"tag":553,"props":99964,"children":99965},{"style":684},[99966],{"type":431,"value":756},{"type":426,"tag":427,"props":99968,"children":99969},{},[99970],{"type":426,"tag":446,"props":99971,"children":99972},{},[99973],{"type":431,"value":71223},{"type":426,"tag":542,"props":99975,"children":99977},{"code":99976,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi there! 👋 I am the sales bot. What is your name?\"\n  }'\n",[99978],{"type":426,"tag":549,"props":99979,"children":99980},{"__ignoreMap":417},[99981,100004,100019,100034,100045,100052,100060],{"type":426,"tag":553,"props":99982,"children":99983},{"class":555,"line":556},[99984,99988,99992,99996,100000],{"type":426,"tag":553,"props":99985,"children":99986},{"style":560},[99987],{"type":431,"value":563},{"type":426,"tag":553,"props":99989,"children":99990},{"style":566},[99991],{"type":431,"value":569},{"type":426,"tag":553,"props":99993,"children":99994},{"style":572},[99995],{"type":431,"value":575},{"type":426,"tag":553,"props":99997,"children":99998},{"style":572},[99999],{"type":431,"value":580},{"type":426,"tag":553,"props":100001,"children":100002},{"style":566},[100003],{"type":431,"value":585},{"type":426,"tag":553,"props":100005,"children":100006},{"class":555,"line":588},[100007,100011,100015],{"type":426,"tag":553,"props":100008,"children":100009},{"style":566},[100010],{"type":431,"value":594},{"type":426,"tag":553,"props":100012,"children":100013},{"style":572},[100014],{"type":431,"value":599},{"type":426,"tag":553,"props":100016,"children":100017},{"style":566},[100018],{"type":431,"value":585},{"type":426,"tag":553,"props":100020,"children":100021},{"class":555,"line":606},[100022,100026,100030],{"type":426,"tag":553,"props":100023,"children":100024},{"style":566},[100025],{"type":431,"value":594},{"type":426,"tag":553,"props":100027,"children":100028},{"style":572},[100029],{"type":431,"value":616},{"type":426,"tag":553,"props":100031,"children":100032},{"style":566},[100033],{"type":431,"value":585},{"type":426,"tag":553,"props":100035,"children":100036},{"class":555,"line":623},[100037,100041],{"type":426,"tag":553,"props":100038,"children":100039},{"style":566},[100040],{"type":431,"value":629},{"type":426,"tag":553,"props":100042,"children":100043},{"style":572},[100044],{"type":431,"value":634},{"type":426,"tag":553,"props":100046,"children":100047},{"class":555,"line":637},[100048],{"type":426,"tag":553,"props":100049,"children":100050},{"style":572},[100051],{"type":431,"value":643},{"type":426,"tag":553,"props":100053,"children":100054},{"class":555,"line":646},[100055],{"type":426,"tag":553,"props":100056,"children":100057},{"style":572},[100058],{"type":431,"value":100059},"    \"message\": \"Hi there! 👋 I am the sales bot. What is your name?\"\n",{"type":426,"tag":553,"props":100061,"children":100062},{"class":555,"line":655},[100063],{"type":426,"tag":553,"props":100064,"children":100065},{"style":572},[100066],{"type":431,"value":661},{"type":426,"tag":427,"props":100068,"children":100069},{},[100070],{"type":426,"tag":446,"props":100071,"children":100072},{},[100073],{"type":431,"value":669},{"type":426,"tag":542,"props":100075,"children":100077},{"code":100076,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_lead_abc123\",\n  \"timestamp\": \"2026-06-20T10:30:00Z\"\n}\n",[100078],{"type":426,"tag":549,"props":100079,"children":100080},{"__ignoreMap":417},[100081,100088,100107,100127,100143],{"type":426,"tag":553,"props":100082,"children":100083},{"class":555,"line":556},[100084],{"type":426,"tag":553,"props":100085,"children":100086},{"style":684},[100087],{"type":431,"value":687},{"type":426,"tag":553,"props":100089,"children":100090},{"class":555,"line":588},[100091,100095,100099,100103],{"type":426,"tag":553,"props":100092,"children":100093},{"style":566},[100094],{"type":431,"value":695},{"type":426,"tag":553,"props":100096,"children":100097},{"style":684},[100098],{"type":431,"value":700},{"type":426,"tag":553,"props":100100,"children":100101},{"style":572},[100102],{"type":431,"value":705},{"type":426,"tag":553,"props":100104,"children":100105},{"style":684},[100106],{"type":431,"value":710},{"type":426,"tag":553,"props":100108,"children":100109},{"class":555,"line":606},[100110,100114,100118,100123],{"type":426,"tag":553,"props":100111,"children":100112},{"style":566},[100113],{"type":431,"value":718},{"type":426,"tag":553,"props":100115,"children":100116},{"style":684},[100117],{"type":431,"value":700},{"type":426,"tag":553,"props":100119,"children":100120},{"style":572},[100121],{"type":431,"value":100122},"\"msg_lead_abc123\"",{"type":426,"tag":553,"props":100124,"children":100125},{"style":684},[100126],{"type":431,"value":710},{"type":426,"tag":553,"props":100128,"children":100129},{"class":555,"line":623},[100130,100134,100138],{"type":426,"tag":553,"props":100131,"children":100132},{"style":566},[100133],{"type":431,"value":739},{"type":426,"tag":553,"props":100135,"children":100136},{"style":684},[100137],{"type":431,"value":700},{"type":426,"tag":553,"props":100139,"children":100140},{"style":572},[100141],{"type":431,"value":100142},"\"2026-06-20T10:30:00Z\"\n",{"type":426,"tag":553,"props":100144,"children":100145},{"class":555,"line":637},[100146],{"type":426,"tag":553,"props":100147,"children":100148},{"style":684},[100149],{"type":431,"value":756},{"type":426,"tag":434,"props":100151,"children":100153},{"id":100152},"step-6-notify-sales-team",[100154],{"type":431,"value":100155},"Step 6: Notify Sales Team",{"type":426,"tag":427,"props":100157,"children":100158},{},[100159,100161,100166],{"type":431,"value":100160},"After saving a complete lead, add a ",{"type":426,"tag":446,"props":100162,"children":100163},{},[100164],{"type":431,"value":100165},"Slack",{"type":431,"value":100167}," node (or Email node):",{"type":426,"tag":542,"props":100169,"children":100171},{"code":100170},"Slack channel: #leads\nMessage: 🎯 New WhatsApp Lead!\nName: {{ $json.name }}\nEmail: {{ $json.email }}\nPhone: {{ $json.phone }}\nRequirement: {{ $json.requirement }}\nTime: {{ $now }}\n",[100172],{"type":426,"tag":549,"props":100173,"children":100174},{"__ignoreMap":417},[100175],{"type":431,"value":100170},{"type":426,"tag":434,"props":100177,"children":100179},{"id":100178},"step-7-test-the-complete-flow",[100180],{"type":431,"value":100181},"Step 7: Test the Complete Flow",{"type":426,"tag":6331,"props":100183,"children":100184},{},[100185,100190,100195,100200,100205,100210,100215],{"type":426,"tag":458,"props":100186,"children":100187},{},[100188],{"type":431,"value":100189},"Activate the n8n workflow",{"type":426,"tag":458,"props":100191,"children":100192},{},[100193],{"type":431,"value":100194},"Send any WhatsApp message to your Rapiwa number from a test phone",{"type":426,"tag":458,"props":100196,"children":100197},{},[100198],{"type":431,"value":100199},"The bot should reply: \"Hi there! What's your name?\"",{"type":426,"tag":458,"props":100201,"children":100202},{},[100203],{"type":431,"value":100204},"Reply with your name → bot asks for email",{"type":426,"tag":458,"props":100206,"children":100207},{},[100208],{"type":431,"value":100209},"Reply with email → bot asks for requirement",{"type":426,"tag":458,"props":100211,"children":100212},{},[100213],{"type":431,"value":100214},"Reply with requirement → bot confirms and you receive Slack notification",{"type":426,"tag":458,"props":100216,"children":100217},{},[100218],{"type":431,"value":100219},"Check Google Sheets — all data should be captured",{"type":426,"tag":434,"props":100221,"children":100223},{"id":100222},"advanced-gpt-4-mini-for-natural-conversation",[100224],{"type":431,"value":100225},"Advanced: GPT-4 Mini for Natural Conversation",{"type":426,"tag":427,"props":100227,"children":100228},{},[100229],{"type":431,"value":100230},"Replace the fixed state machine with GPT-4 Mini to handle conversational variations:",{"type":426,"tag":542,"props":100232,"children":100234},{"code":100233,"language":673,"meta":417,"className":674,"style":417},"{\n  \"system_prompt\": \"You are a lead capture bot for Rapiwa, a WhatsApp API service. Your goal is to collect the prospect's name, email, and their automation requirement in a friendly conversation. Once you have all three, say 'LEAD_COMPLETE' followed by a JSON with name, email, requirement.\",\n  \"conversation_history\": \"{{ $json.conversation_history }}\"\n}\n",[100235],{"type":426,"tag":549,"props":100236,"children":100237},{"__ignoreMap":417},[100238,100245,100266,100283],{"type":426,"tag":553,"props":100239,"children":100240},{"class":555,"line":556},[100241],{"type":426,"tag":553,"props":100242,"children":100243},{"style":684},[100244],{"type":431,"value":687},{"type":426,"tag":553,"props":100246,"children":100247},{"class":555,"line":588},[100248,100253,100257,100262],{"type":426,"tag":553,"props":100249,"children":100250},{"style":566},[100251],{"type":431,"value":100252},"  \"system_prompt\"",{"type":426,"tag":553,"props":100254,"children":100255},{"style":684},[100256],{"type":431,"value":700},{"type":426,"tag":553,"props":100258,"children":100259},{"style":572},[100260],{"type":431,"value":100261},"\"You are a lead capture bot for Rapiwa, a WhatsApp API service. Your goal is to collect the prospect's name, email, and their automation requirement in a friendly conversation. Once you have all three, say 'LEAD_COMPLETE' followed by a JSON with name, email, requirement.\"",{"type":426,"tag":553,"props":100263,"children":100264},{"style":684},[100265],{"type":431,"value":710},{"type":426,"tag":553,"props":100267,"children":100268},{"class":555,"line":606},[100269,100274,100278],{"type":426,"tag":553,"props":100270,"children":100271},{"style":566},[100272],{"type":431,"value":100273},"  \"conversation_history\"",{"type":426,"tag":553,"props":100275,"children":100276},{"style":684},[100277],{"type":431,"value":700},{"type":426,"tag":553,"props":100279,"children":100280},{"style":572},[100281],{"type":431,"value":100282},"\"{{ $json.conversation_history }}\"\n",{"type":426,"tag":553,"props":100284,"children":100285},{"class":555,"line":623},[100286],{"type":426,"tag":553,"props":100287,"children":100288},{"style":684},[100289],{"type":431,"value":756},{"type":426,"tag":427,"props":100291,"children":100292},{},[100293],{"type":431,"value":100294},"Store the conversation history in Google Sheets as a JSON string and append each message\u002Freply pair.",{"type":426,"tag":434,"props":100296,"children":100297},{"id":18886},[100298],{"type":431,"value":18889},{"type":426,"tag":454,"props":100300,"children":100301},{},[100302,100312,100328,100346],{"type":426,"tag":458,"props":100303,"children":100304},{},[100305,100310],{"type":426,"tag":446,"props":100306,"children":100307},{},[100308],{"type":431,"value":100309},"State not updating",{"type":431,"value":100311},": Ensure the Google Sheets node updates the row correctly. Use \"Update Row\" operation with the phone number as the lookup key",{"type":426,"tag":458,"props":100313,"children":100314},{},[100315,100320,100322],{"type":426,"tag":446,"props":100316,"children":100317},{},[100318],{"type":431,"value":100319},"Bot replying to its own messages",{"type":431,"value":100321},": Rapiwa only fires webhooks for incoming messages, not outgoing — this shouldn't happen, but add an IF node to check ",{"type":426,"tag":549,"props":100323,"children":100325},{"className":100324},[],[100326],{"type":431,"value":100327},"data.from != your_rapiwa_number",{"type":426,"tag":458,"props":100329,"children":100330},{},[100331,100336,100338,100344],{"type":426,"tag":446,"props":100332,"children":100333},{},[100334],{"type":431,"value":100335},"Duplicate leads",{"type":431,"value":100337},": Some customers message twice. Use ",{"type":426,"tag":549,"props":100339,"children":100341},{"className":100340},[],[100342],{"type":431,"value":100343},"INSERT OR IGNORE",{"type":431,"value":100345}," logic by checking if the phone exists before creating a new row",{"type":426,"tag":458,"props":100347,"children":100348},{},[100349,100353],{"type":426,"tag":446,"props":100350,"children":100351},{},[100352],{"type":431,"value":26117},{"type":431,"value":66557},{"type":426,"tag":434,"props":100355,"children":100356},{"id":4109},[100357],{"type":431,"value":4112},{"type":426,"tag":427,"props":100359,"children":100360},{},[100361,100366],{"type":426,"tag":446,"props":100362,"children":100363},{},[100364],{"type":431,"value":100365},"Does the bot work for customers who don't type in English?",{"type":431,"value":100367},"\nThe bot's messages are in English by default. You can detect language using a Text Translation API (like Google Translate) and send replies in the prospect's language.",{"type":426,"tag":427,"props":100369,"children":100370},{},[100371,100376,100378,100384,100385,100391,100392,100398],{"type":426,"tag":446,"props":100372,"children":100373},{},[100374],{"type":431,"value":100375},"Can I ask more lead qualification questions?",{"type":431,"value":100377},"\nYes — extend the state machine with additional states: ",{"type":426,"tag":549,"props":100379,"children":100381},{"className":100380},[],[100382],{"type":431,"value":100383},"got_company",{"type":431,"value":1907},{"type":426,"tag":549,"props":100386,"children":100388},{"className":100387},[],[100389],{"type":431,"value":100390},"got_budget",{"type":431,"value":1907},{"type":426,"tag":549,"props":100393,"children":100395},{"className":100394},[],[100396],{"type":431,"value":100397},"got_timeline",{"type":431,"value":100399},". Each state captures one more data point.",{"type":426,"tag":427,"props":100401,"children":100402},{},[100403,100408],{"type":426,"tag":446,"props":100404,"children":100405},{},[100406],{"type":431,"value":100407},"Does Rapiwa charge per lead capture message?",{"type":431,"value":100409},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. A 4-message lead capture conversation costs $0 extra.",{"type":426,"tag":427,"props":100411,"children":100412},{},[100413,100418,100420,100425],{"type":426,"tag":446,"props":100414,"children":100415},{},[100416],{"type":431,"value":100417},"Can I connect the leads directly to HubSpot CRM instead of Google Sheets?",{"type":431,"value":100419},"\nYes. Replace the Google Sheets node with n8n's HubSpot node. Create a HubSpot contact with the captured lead data when ",{"type":426,"tag":549,"props":100421,"children":100423},{"className":100422},[],[100424],{"type":431,"value":99846},{"type":431,"value":6789},{"type":426,"tag":427,"props":100427,"children":100428},{},[100429,100434,100436,100441,100443,100447],{"type":426,"tag":446,"props":100430,"children":100431},{},[100432],{"type":431,"value":100433},"What if a prospect abandons the conversation mid-way?",{"type":431,"value":100435},"\nImplement a follow-up: if a lead has been in ",{"type":426,"tag":549,"props":100437,"children":100439},{"className":100438},[],[100440],{"type":431,"value":99167},{"type":431,"value":100442}," state for over 24 hours, n8n sends a reminder: \"Hi ",{"type":426,"tag":553,"props":100444,"children":100445},{},[100446],{"type":431,"value":24468},{"type":431,"value":100448},"! We didn't finish — what's your email address?\" This recovers partially completed leads.",{"type":426,"tag":4164,"props":100450,"children":100451},{},[100452],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":100454},[100455,100456,100457,100458,100459,100460,100461,100469,100470,100471,100472,100473,100474],{"id":99051,"depth":588,"text":99054},{"id":99099,"depth":588,"text":99102},{"id":47624,"depth":588,"text":47627},{"id":99262,"depth":588,"text":99265},{"id":99355,"depth":588,"text":99358},{"id":99374,"depth":588,"text":99377},{"id":99422,"depth":588,"text":99425,"children":100462},[100463,100464,100465,100466,100467,100468],{"id":99428,"depth":606,"text":99431},{"id":99453,"depth":606,"text":99456},{"id":99514,"depth":606,"text":99517},{"id":99603,"depth":606,"text":99606},{"id":99693,"depth":606,"text":99696},{"id":99764,"depth":606,"text":99767},{"id":99856,"depth":588,"text":99859},{"id":100152,"depth":588,"text":100155},{"id":100178,"depth":588,"text":100181},{"id":100222,"depth":588,"text":100225},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-lead-capture-bot-rapiwa-n8n.md","blog\u002Fwhatsapp-lead-capture-bot-rapiwa-n8n.md","blog\u002Fwhatsapp-lead-capture-bot-rapiwa-n8n",{"loc":125},{"_path":129,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":130,"description":131,"date":100480,"author":36566,"category":43,"_slug":100481,"image":100482,"body":100483,"_type":4187,"_id":101845,"_source":4189,"_file":101846,"_stem":101847,"_extension":4192,"sitemap":101848},"2026-02-22","shopify-whatsapp-discount-codes-rapiwa-n8n","\u002Fimages\u002Fblog\u002Fshopify-whatsapp-discount-codes-rapiwa-n8n.svg",{"type":423,"children":100484,"toc":101832},[100485,100490,100494,100499,100517,100525,100568,100591,100595,100632,100638,100704,100710,100764,100770,100775,100966,101076,101081,101087,101092,101137,101193,101200,101293,101300,101376,101382,101387,101507,101525,101531,101536,101619,101639,101643,101688,101692,101760,101764,101774,101799,101808,101818,101828],{"type":426,"tag":427,"props":100486,"children":100487},{},[100488],{"type":431,"value":100489},"This n8n workflow automatically sends personalized Shopify discount codes to customers via WhatsApp using Rapiwa API. Trigger it after a first purchase, abandoned cart, or re-engagement campaign to bring customers back. Rapiwa charges $5\u002Fmonth flat with no per-message fees. Over 74 developers have installed this template from the n8n marketplace.",{"type":426,"tag":434,"props":100491,"children":100492},{"id":47550},[100493],{"type":431,"value":47553},{"type":426,"tag":427,"props":100495,"children":100496},{},[100497],{"type":431,"value":100498},"When triggered (new order, abandoned cart, or scheduled campaign):",{"type":426,"tag":6331,"props":100500,"children":100501},{},[100502,100507,100512],{"type":426,"tag":458,"props":100503,"children":100504},{},[100505],{"type":431,"value":100506},"n8n fetches or creates a Shopify discount code for the customer",{"type":426,"tag":458,"props":100508,"children":100509},{},[100510],{"type":431,"value":100511},"Builds a personalized WhatsApp message with the code and expiry",{"type":426,"tag":458,"props":100513,"children":100514},{},[100515],{"type":431,"value":100516},"Sends the message via Rapiwa API to the customer's WhatsApp number",{"type":426,"tag":427,"props":100518,"children":100519},{},[100520],{"type":426,"tag":446,"props":100521,"children":100522},{},[100523],{"type":431,"value":100524},"Use cases:",{"type":426,"tag":454,"props":100526,"children":100527},{},[100528,100538,100548,100558],{"type":426,"tag":458,"props":100529,"children":100530},{},[100531,100536],{"type":426,"tag":446,"props":100532,"children":100533},{},[100534],{"type":431,"value":100535},"Post-purchase",{"type":431,"value":100537},": \"Thank you\" discount for the next order",{"type":426,"tag":458,"props":100539,"children":100540},{},[100541,100546],{"type":426,"tag":446,"props":100542,"children":100543},{},[100544],{"type":431,"value":100545},"Win-back",{"type":431,"value":100547},": Re-engage customers who haven't ordered in 30 days",{"type":426,"tag":458,"props":100549,"children":100550},{},[100551,100556],{"type":426,"tag":446,"props":100552,"children":100553},{},[100554],{"type":431,"value":100555},"VIP rewards",{"type":431,"value":100557},": Send exclusive codes to high-value customers",{"type":426,"tag":458,"props":100559,"children":100560},{},[100561,100566],{"type":426,"tag":446,"props":100562,"children":100563},{},[100564],{"type":431,"value":100565},"Abandoned cart",{"type":431,"value":100567},": Offer a discount to complete a pending order",{"type":426,"tag":41290,"props":100569,"children":100570},{},[100571],{"type":426,"tag":427,"props":100572,"children":100573},{},[100574,100578,100579,100586],{"type":426,"tag":446,"props":100575,"children":100576},{},[100577],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":100580,"children":100583},{"href":100581,"rel":100582},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9560-automatically-send-whatsapp-discount-codes-to-shopify-customers-using-rapiwa\u002F",[3823],[100584],{"type":431,"value":100585},"Automatically send WhatsApp discount codes to Shopify customers using Rapiwa →",{"type":426,"tag":47617,"props":100587,"children":100588},{},[100589],{"type":431,"value":100590},"(74 installs)",{"type":426,"tag":434,"props":100592,"children":100593},{"id":47624},[100594],{"type":431,"value":47627},{"type":426,"tag":454,"props":100596,"children":100597},{},[100598,100611,100619,100627],{"type":426,"tag":458,"props":100599,"children":100600},{},[100601,100605,100606],{"type":426,"tag":446,"props":100602,"children":100603},{},[100604],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":100607,"children":100609},{"href":3821,"rel":100608},[3823],[100610],{"type":431,"value":47645},{"type":426,"tag":458,"props":100612,"children":100613},{},[100614,100618],{"type":426,"tag":446,"props":100615,"children":100616},{},[100617],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":100620,"children":100621},{},[100622,100626],{"type":426,"tag":446,"props":100623,"children":100624},{},[100625],{"type":431,"value":47663},{"type":431,"value":47665},{"type":426,"tag":458,"props":100628,"children":100629},{},[100630],{"type":431,"value":100631},"Customer phone numbers stored in Shopify customer profiles",{"type":426,"tag":434,"props":100633,"children":100635},{"id":100634},"step-1-import-the-n8n-template",[100636],{"type":431,"value":100637},"Step 1: Import the n8n Template",{"type":426,"tag":6331,"props":100639,"children":100640},{},[100641,100651,100659],{"type":426,"tag":458,"props":100642,"children":100643},{},[100644,100645],{"type":431,"value":47846},{"type":426,"tag":3819,"props":100646,"children":100648},{"href":100581,"rel":100647},[3823],[100649],{"type":431,"value":100650},"n8n.io\u002Fworkflows\u002F9560",{"type":426,"tag":458,"props":100652,"children":100653},{},[100654,100655],{"type":431,"value":47857},{"type":426,"tag":446,"props":100656,"children":100657},{},[100658],{"type":431,"value":47862},{"type":426,"tag":458,"props":100660,"children":100661},{},[100662,100663],{"type":431,"value":47867},{"type":426,"tag":454,"props":100664,"children":100665},{},[100666,100676,100686,100695],{"type":426,"tag":458,"props":100667,"children":100668},{},[100669,100674],{"type":426,"tag":446,"props":100670,"children":100671},{},[100672],{"type":431,"value":100673},"Schedule Trigger",{"type":431,"value":100675}," (or Shopify Trigger) → fires on the desired event",{"type":426,"tag":458,"props":100677,"children":100678},{},[100679,100684],{"type":426,"tag":446,"props":100680,"children":100681},{},[100682],{"type":431,"value":100683},"Shopify node",{"type":431,"value":100685}," → fetches customer data or creates a discount code",{"type":426,"tag":458,"props":100687,"children":100688},{},[100689,100693],{"type":426,"tag":446,"props":100690,"children":100691},{},[100692],{"type":431,"value":47921},{"type":431,"value":100694}," → builds the personalized message",{"type":426,"tag":458,"props":100696,"children":100697},{},[100698,100702],{"type":426,"tag":446,"props":100699,"children":100700},{},[100701],{"type":431,"value":47931},{"type":431,"value":100703}," → sends the WhatsApp message",{"type":426,"tag":434,"props":100705,"children":100707},{"id":100706},"step-2-configure-shopify-api-credentials",[100708],{"type":431,"value":100709},"Step 2: Configure Shopify API Credentials",{"type":426,"tag":6331,"props":100711,"children":100712},{},[100713,100723,100734,100759],{"type":426,"tag":458,"props":100714,"children":100715},{},[100716,100718],{"type":431,"value":100717},"In Shopify Admin → ",{"type":426,"tag":446,"props":100719,"children":100720},{},[100721],{"type":431,"value":100722},"Settings → Apps → Develop apps",{"type":426,"tag":458,"props":100724,"children":100725},{},[100726,100728],{"type":431,"value":100727},"Create an app: ",{"type":426,"tag":549,"props":100729,"children":100731},{"className":100730},[],[100732],{"type":431,"value":100733},"n8n WhatsApp Discounts",{"type":426,"tag":458,"props":100735,"children":100736},{},[100737,100739,100745,100746,100752,100753],{"type":431,"value":100738},"Admin API scopes: ",{"type":426,"tag":549,"props":100740,"children":100742},{"className":100741},[],[100743],{"type":431,"value":100744},"write_discounts",{"type":431,"value":1907},{"type":426,"tag":549,"props":100747,"children":100749},{"className":100748},[],[100750],{"type":431,"value":100751},"read_customers",{"type":431,"value":1907},{"type":426,"tag":549,"props":100754,"children":100756},{"className":100755},[],[100757],{"type":431,"value":100758},"read_orders",{"type":426,"tag":458,"props":100760,"children":100761},{},[100762],{"type":431,"value":100763},"Copy the Access Token to n8n Shopify credentials",{"type":426,"tag":434,"props":100765,"children":100767},{"id":100766},"step-3-create-a-shopify-discount-code-via-api",[100768],{"type":431,"value":100769},"Step 3: Create a Shopify Discount Code via API",{"type":426,"tag":427,"props":100771,"children":100772},{},[100773],{"type":431,"value":100774},"The workflow uses the Shopify Price Rules API to create a unique code for each customer:",{"type":426,"tag":542,"props":100776,"children":100778},{"className":546,"code":100777,"language":545,"meta":417,"style":417},"# Step 1: Create a price rule\ncurl -X POST https:\u002F\u002Fyourstore.myshopify.com\u002Fadmin\u002Fapi\u002F2024-04\u002Fprice_rules.json \\\n  -H \"X-Shopify-Access-Token: YOUR_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"price_rule\": {\n      \"title\": \"WELCOME-SARAH-20\",\n      \"target_type\": \"line_item\",\n      \"target_selection\": \"all\",\n      \"allocation_method\": \"across\",\n      \"value_type\": \"percentage\",\n      \"value\": \"-20.0\",\n      \"customer_selection\": \"prerequisite\",\n      \"prerequisite_customer_ids\": [67890],\n      \"usage_limit\": 1,\n      \"starts_at\": \"2026-06-19T00:00:00Z\",\n      \"ends_at\": \"2026-06-26T23:59:59Z\"\n    }\n  }'\n",[100779],{"type":426,"tag":549,"props":100780,"children":100781},{"__ignoreMap":417},[100782,100790,100814,100830,100845,100856,100864,100872,100880,100888,100896,100904,100912,100920,100928,100936,100944,100952,100959],{"type":426,"tag":553,"props":100783,"children":100784},{"class":555,"line":556},[100785],{"type":426,"tag":553,"props":100786,"children":100787},{"style":1975},[100788],{"type":431,"value":100789},"# Step 1: Create a price rule\n",{"type":426,"tag":553,"props":100791,"children":100792},{"class":555,"line":588},[100793,100797,100801,100805,100810],{"type":426,"tag":553,"props":100794,"children":100795},{"style":560},[100796],{"type":431,"value":563},{"type":426,"tag":553,"props":100798,"children":100799},{"style":566},[100800],{"type":431,"value":569},{"type":426,"tag":553,"props":100802,"children":100803},{"style":572},[100804],{"type":431,"value":575},{"type":426,"tag":553,"props":100806,"children":100807},{"style":572},[100808],{"type":431,"value":100809}," https:\u002F\u002Fyourstore.myshopify.com\u002Fadmin\u002Fapi\u002F2024-04\u002Fprice_rules.json",{"type":426,"tag":553,"props":100811,"children":100812},{"style":566},[100813],{"type":431,"value":585},{"type":426,"tag":553,"props":100815,"children":100816},{"class":555,"line":606},[100817,100821,100826],{"type":426,"tag":553,"props":100818,"children":100819},{"style":566},[100820],{"type":431,"value":594},{"type":426,"tag":553,"props":100822,"children":100823},{"style":572},[100824],{"type":431,"value":100825}," \"X-Shopify-Access-Token: YOUR_TOKEN\"",{"type":426,"tag":553,"props":100827,"children":100828},{"style":566},[100829],{"type":431,"value":585},{"type":426,"tag":553,"props":100831,"children":100832},{"class":555,"line":623},[100833,100837,100841],{"type":426,"tag":553,"props":100834,"children":100835},{"style":566},[100836],{"type":431,"value":594},{"type":426,"tag":553,"props":100838,"children":100839},{"style":572},[100840],{"type":431,"value":616},{"type":426,"tag":553,"props":100842,"children":100843},{"style":566},[100844],{"type":431,"value":585},{"type":426,"tag":553,"props":100846,"children":100847},{"class":555,"line":637},[100848,100852],{"type":426,"tag":553,"props":100849,"children":100850},{"style":566},[100851],{"type":431,"value":629},{"type":426,"tag":553,"props":100853,"children":100854},{"style":572},[100855],{"type":431,"value":634},{"type":426,"tag":553,"props":100857,"children":100858},{"class":555,"line":646},[100859],{"type":426,"tag":553,"props":100860,"children":100861},{"style":572},[100862],{"type":431,"value":100863},"    \"price_rule\": {\n",{"type":426,"tag":553,"props":100865,"children":100866},{"class":555,"line":655},[100867],{"type":426,"tag":553,"props":100868,"children":100869},{"style":572},[100870],{"type":431,"value":100871},"      \"title\": \"WELCOME-SARAH-20\",\n",{"type":426,"tag":553,"props":100873,"children":100874},{"class":555,"line":1036},[100875],{"type":426,"tag":553,"props":100876,"children":100877},{"style":572},[100878],{"type":431,"value":100879},"      \"target_type\": \"line_item\",\n",{"type":426,"tag":553,"props":100881,"children":100882},{"class":555,"line":1054},[100883],{"type":426,"tag":553,"props":100884,"children":100885},{"style":572},[100886],{"type":431,"value":100887},"      \"target_selection\": \"all\",\n",{"type":426,"tag":553,"props":100889,"children":100890},{"class":555,"line":1080},[100891],{"type":426,"tag":553,"props":100892,"children":100893},{"style":572},[100894],{"type":431,"value":100895},"      \"allocation_method\": \"across\",\n",{"type":426,"tag":553,"props":100897,"children":100898},{"class":555,"line":1097},[100899],{"type":426,"tag":553,"props":100900,"children":100901},{"style":572},[100902],{"type":431,"value":100903},"      \"value_type\": \"percentage\",\n",{"type":426,"tag":553,"props":100905,"children":100906},{"class":555,"line":1114},[100907],{"type":426,"tag":553,"props":100908,"children":100909},{"style":572},[100910],{"type":431,"value":100911},"      \"value\": \"-20.0\",\n",{"type":426,"tag":553,"props":100913,"children":100914},{"class":555,"line":1127},[100915],{"type":426,"tag":553,"props":100916,"children":100917},{"style":572},[100918],{"type":431,"value":100919},"      \"customer_selection\": \"prerequisite\",\n",{"type":426,"tag":553,"props":100921,"children":100922},{"class":555,"line":1167},[100923],{"type":426,"tag":553,"props":100924,"children":100925},{"style":572},[100926],{"type":431,"value":100927},"      \"prerequisite_customer_ids\": [67890],\n",{"type":426,"tag":553,"props":100929,"children":100930},{"class":555,"line":1184},[100931],{"type":426,"tag":553,"props":100932,"children":100933},{"style":572},[100934],{"type":431,"value":100935},"      \"usage_limit\": 1,\n",{"type":426,"tag":553,"props":100937,"children":100938},{"class":555,"line":1192},[100939],{"type":426,"tag":553,"props":100940,"children":100941},{"style":572},[100942],{"type":431,"value":100943},"      \"starts_at\": \"2026-06-19T00:00:00Z\",\n",{"type":426,"tag":553,"props":100945,"children":100946},{"class":555,"line":1210},[100947],{"type":426,"tag":553,"props":100948,"children":100949},{"style":572},[100950],{"type":431,"value":100951},"      \"ends_at\": \"2026-06-26T23:59:59Z\"\n",{"type":426,"tag":553,"props":100953,"children":100954},{"class":555,"line":1253},[100955],{"type":426,"tag":553,"props":100956,"children":100957},{"style":572},[100958],{"type":431,"value":5546},{"type":426,"tag":553,"props":100960,"children":100961},{"class":555,"line":1302},[100962],{"type":426,"tag":553,"props":100963,"children":100964},{"style":572},[100965],{"type":431,"value":661},{"type":426,"tag":542,"props":100967,"children":100969},{"className":546,"code":100968,"language":545,"meta":417,"style":417},"# Step 2: Create the discount code under that price rule\ncurl -X POST https:\u002F\u002Fyourstore.myshopify.com\u002Fadmin\u002Fapi\u002F2024-04\u002Fprice_rules\u002FPRICE_RULE_ID\u002Fdiscount_codes.json \\\n  -H \"X-Shopify-Access-Token: YOUR_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"discount_code\": {\n      \"code\": \"WELCOME-SARAH-20\"\n    }\n  }'\n",[100970],{"type":426,"tag":549,"props":100971,"children":100972},{"__ignoreMap":417},[100973,100981,101005,101020,101035,101046,101054,101062,101069],{"type":426,"tag":553,"props":100974,"children":100975},{"class":555,"line":556},[100976],{"type":426,"tag":553,"props":100977,"children":100978},{"style":1975},[100979],{"type":431,"value":100980},"# Step 2: Create the discount code under that price rule\n",{"type":426,"tag":553,"props":100982,"children":100983},{"class":555,"line":588},[100984,100988,100992,100996,101001],{"type":426,"tag":553,"props":100985,"children":100986},{"style":560},[100987],{"type":431,"value":563},{"type":426,"tag":553,"props":100989,"children":100990},{"style":566},[100991],{"type":431,"value":569},{"type":426,"tag":553,"props":100993,"children":100994},{"style":572},[100995],{"type":431,"value":575},{"type":426,"tag":553,"props":100997,"children":100998},{"style":572},[100999],{"type":431,"value":101000}," https:\u002F\u002Fyourstore.myshopify.com\u002Fadmin\u002Fapi\u002F2024-04\u002Fprice_rules\u002FPRICE_RULE_ID\u002Fdiscount_codes.json",{"type":426,"tag":553,"props":101002,"children":101003},{"style":566},[101004],{"type":431,"value":585},{"type":426,"tag":553,"props":101006,"children":101007},{"class":555,"line":606},[101008,101012,101016],{"type":426,"tag":553,"props":101009,"children":101010},{"style":566},[101011],{"type":431,"value":594},{"type":426,"tag":553,"props":101013,"children":101014},{"style":572},[101015],{"type":431,"value":100825},{"type":426,"tag":553,"props":101017,"children":101018},{"style":566},[101019],{"type":431,"value":585},{"type":426,"tag":553,"props":101021,"children":101022},{"class":555,"line":623},[101023,101027,101031],{"type":426,"tag":553,"props":101024,"children":101025},{"style":566},[101026],{"type":431,"value":594},{"type":426,"tag":553,"props":101028,"children":101029},{"style":572},[101030],{"type":431,"value":616},{"type":426,"tag":553,"props":101032,"children":101033},{"style":566},[101034],{"type":431,"value":585},{"type":426,"tag":553,"props":101036,"children":101037},{"class":555,"line":637},[101038,101042],{"type":426,"tag":553,"props":101039,"children":101040},{"style":566},[101041],{"type":431,"value":629},{"type":426,"tag":553,"props":101043,"children":101044},{"style":572},[101045],{"type":431,"value":634},{"type":426,"tag":553,"props":101047,"children":101048},{"class":555,"line":646},[101049],{"type":426,"tag":553,"props":101050,"children":101051},{"style":572},[101052],{"type":431,"value":101053},"    \"discount_code\": {\n",{"type":426,"tag":553,"props":101055,"children":101056},{"class":555,"line":655},[101057],{"type":426,"tag":553,"props":101058,"children":101059},{"style":572},[101060],{"type":431,"value":101061},"      \"code\": \"WELCOME-SARAH-20\"\n",{"type":426,"tag":553,"props":101063,"children":101064},{"class":555,"line":1036},[101065],{"type":426,"tag":553,"props":101066,"children":101067},{"style":572},[101068],{"type":431,"value":5546},{"type":426,"tag":553,"props":101070,"children":101071},{"class":555,"line":1054},[101072],{"type":426,"tag":553,"props":101073,"children":101074},{"style":572},[101075],{"type":431,"value":661},{"type":426,"tag":427,"props":101077,"children":101078},{},[101079],{"type":431,"value":101080},"In n8n, these two HTTP Request nodes are already pre-configured in the template.",{"type":426,"tag":434,"props":101082,"children":101084},{"id":101083},"step-4-configure-the-rapiwa-send-node",[101085],{"type":431,"value":101086},"Step 4: Configure the Rapiwa Send Node",{"type":426,"tag":427,"props":101088,"children":101089},{},[101090],{"type":431,"value":101091},"Find the HTTP Request node \"Send WhatsApp Discount\":",{"type":426,"tag":454,"props":101093,"children":101094},{},[101095,101103,101116,101129],{"type":426,"tag":458,"props":101096,"children":101097},{},[101098,101102],{"type":426,"tag":446,"props":101099,"children":101100},{},[101101],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":101104,"children":101105},{},[101106,101110,101111],{"type":426,"tag":446,"props":101107,"children":101108},{},[101109],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":101112,"children":101114},{"className":101113},[],[101115],{"type":431,"value":48098},{"type":426,"tag":458,"props":101117,"children":101118},{},[101119,101123,101124],{"type":426,"tag":446,"props":101120,"children":101121},{},[101122],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":101125,"children":101127},{"className":101126},[],[101128],{"type":431,"value":48113},{"type":426,"tag":458,"props":101130,"children":101131},{},[101132,101136],{"type":426,"tag":446,"props":101133,"children":101134},{},[101135],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":101138,"children":101140},{"className":674,"code":101139,"language":673,"meta":417,"style":417},"{\n  \"number\": \"={{ $json.customer_phone }}\",\n  \"message\": \"={{ $json.discount_message }}\"\n}\n",[101141],{"type":426,"tag":549,"props":101142,"children":101143},{"__ignoreMap":417},[101144,101151,101170,101186],{"type":426,"tag":553,"props":101145,"children":101146},{"class":555,"line":556},[101147],{"type":426,"tag":553,"props":101148,"children":101149},{"style":684},[101150],{"type":431,"value":687},{"type":426,"tag":553,"props":101152,"children":101153},{"class":555,"line":588},[101154,101158,101162,101166],{"type":426,"tag":553,"props":101155,"children":101156},{"style":566},[101157],{"type":431,"value":7277},{"type":426,"tag":553,"props":101159,"children":101160},{"style":684},[101161],{"type":431,"value":700},{"type":426,"tag":553,"props":101163,"children":101164},{"style":572},[101165],{"type":431,"value":48152},{"type":426,"tag":553,"props":101167,"children":101168},{"style":684},[101169],{"type":431,"value":710},{"type":426,"tag":553,"props":101171,"children":101172},{"class":555,"line":606},[101173,101177,101181],{"type":426,"tag":553,"props":101174,"children":101175},{"style":566},[101176],{"type":431,"value":7298},{"type":426,"tag":553,"props":101178,"children":101179},{"style":684},[101180],{"type":431,"value":700},{"type":426,"tag":553,"props":101182,"children":101183},{"style":572},[101184],{"type":431,"value":101185},"\"={{ $json.discount_message }}\"\n",{"type":426,"tag":553,"props":101187,"children":101188},{"class":555,"line":623},[101189],{"type":426,"tag":553,"props":101190,"children":101191},{"style":684},[101192],{"type":431,"value":756},{"type":426,"tag":427,"props":101194,"children":101195},{},[101196],{"type":426,"tag":446,"props":101197,"children":101198},{},[101199],{"type":431,"value":48187},{"type":426,"tag":542,"props":101201,"children":101203},{"className":546,"code":101202,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! 🎉 Here is your exclusive 20% discount:\\n\\n🎟️ *WELCOME-SARAH-20*\\n\\n✅ 20% off everything\\n✅ Valid until June 26, 2026\\n✅ Just for you\\n\\nShop now: https:\u002F\u002Fyourstore.com?discount=WELCOME-SARAH-20\\n\\n— The Team at YourStore\"\n  }'\n",[101204],{"type":426,"tag":549,"props":101205,"children":101206},{"__ignoreMap":417},[101207,101230,101245,101260,101271,101278,101286],{"type":426,"tag":553,"props":101208,"children":101209},{"class":555,"line":556},[101210,101214,101218,101222,101226],{"type":426,"tag":553,"props":101211,"children":101212},{"style":560},[101213],{"type":431,"value":563},{"type":426,"tag":553,"props":101215,"children":101216},{"style":566},[101217],{"type":431,"value":569},{"type":426,"tag":553,"props":101219,"children":101220},{"style":572},[101221],{"type":431,"value":575},{"type":426,"tag":553,"props":101223,"children":101224},{"style":572},[101225],{"type":431,"value":580},{"type":426,"tag":553,"props":101227,"children":101228},{"style":566},[101229],{"type":431,"value":585},{"type":426,"tag":553,"props":101231,"children":101232},{"class":555,"line":588},[101233,101237,101241],{"type":426,"tag":553,"props":101234,"children":101235},{"style":566},[101236],{"type":431,"value":594},{"type":426,"tag":553,"props":101238,"children":101239},{"style":572},[101240],{"type":431,"value":599},{"type":426,"tag":553,"props":101242,"children":101243},{"style":566},[101244],{"type":431,"value":585},{"type":426,"tag":553,"props":101246,"children":101247},{"class":555,"line":606},[101248,101252,101256],{"type":426,"tag":553,"props":101249,"children":101250},{"style":566},[101251],{"type":431,"value":594},{"type":426,"tag":553,"props":101253,"children":101254},{"style":572},[101255],{"type":431,"value":616},{"type":426,"tag":553,"props":101257,"children":101258},{"style":566},[101259],{"type":431,"value":585},{"type":426,"tag":553,"props":101261,"children":101262},{"class":555,"line":623},[101263,101267],{"type":426,"tag":553,"props":101264,"children":101265},{"style":566},[101266],{"type":431,"value":629},{"type":426,"tag":553,"props":101268,"children":101269},{"style":572},[101270],{"type":431,"value":634},{"type":426,"tag":553,"props":101272,"children":101273},{"class":555,"line":637},[101274],{"type":426,"tag":553,"props":101275,"children":101276},{"style":572},[101277],{"type":431,"value":643},{"type":426,"tag":553,"props":101279,"children":101280},{"class":555,"line":646},[101281],{"type":426,"tag":553,"props":101282,"children":101283},{"style":572},[101284],{"type":431,"value":101285},"    \"message\": \"Hi Sarah! 🎉 Here is your exclusive 20% discount:\\n\\n🎟️ *WELCOME-SARAH-20*\\n\\n✅ 20% off everything\\n✅ Valid until June 26, 2026\\n✅ Just for you\\n\\nShop now: https:\u002F\u002Fyourstore.com?discount=WELCOME-SARAH-20\\n\\n— The Team at YourStore\"\n",{"type":426,"tag":553,"props":101287,"children":101288},{"class":555,"line":655},[101289],{"type":426,"tag":553,"props":101290,"children":101291},{"style":572},[101292],{"type":431,"value":661},{"type":426,"tag":427,"props":101294,"children":101295},{},[101296],{"type":426,"tag":446,"props":101297,"children":101298},{},[101299],{"type":431,"value":669},{"type":426,"tag":542,"props":101301,"children":101303},{"className":674,"code":101302,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_shopify_discount123\",\n  \"timestamp\": \"2026-06-19T10:30:00Z\"\n}\n",[101304],{"type":426,"tag":549,"props":101305,"children":101306},{"__ignoreMap":417},[101307,101314,101333,101353,101369],{"type":426,"tag":553,"props":101308,"children":101309},{"class":555,"line":556},[101310],{"type":426,"tag":553,"props":101311,"children":101312},{"style":684},[101313],{"type":431,"value":687},{"type":426,"tag":553,"props":101315,"children":101316},{"class":555,"line":588},[101317,101321,101325,101329],{"type":426,"tag":553,"props":101318,"children":101319},{"style":566},[101320],{"type":431,"value":695},{"type":426,"tag":553,"props":101322,"children":101323},{"style":684},[101324],{"type":431,"value":700},{"type":426,"tag":553,"props":101326,"children":101327},{"style":572},[101328],{"type":431,"value":705},{"type":426,"tag":553,"props":101330,"children":101331},{"style":684},[101332],{"type":431,"value":710},{"type":426,"tag":553,"props":101334,"children":101335},{"class":555,"line":606},[101336,101340,101344,101349],{"type":426,"tag":553,"props":101337,"children":101338},{"style":566},[101339],{"type":431,"value":718},{"type":426,"tag":553,"props":101341,"children":101342},{"style":684},[101343],{"type":431,"value":700},{"type":426,"tag":553,"props":101345,"children":101346},{"style":572},[101347],{"type":431,"value":101348},"\"msg_shopify_discount123\"",{"type":426,"tag":553,"props":101350,"children":101351},{"style":684},[101352],{"type":431,"value":710},{"type":426,"tag":553,"props":101354,"children":101355},{"class":555,"line":623},[101356,101360,101364],{"type":426,"tag":553,"props":101357,"children":101358},{"style":566},[101359],{"type":431,"value":739},{"type":426,"tag":553,"props":101361,"children":101362},{"style":684},[101363],{"type":431,"value":700},{"type":426,"tag":553,"props":101365,"children":101366},{"style":572},[101367],{"type":431,"value":101368},"\"2026-06-19T10:30:00Z\"\n",{"type":426,"tag":553,"props":101370,"children":101371},{"class":555,"line":637},[101372],{"type":426,"tag":553,"props":101373,"children":101374},{"style":684},[101375],{"type":431,"value":756},{"type":426,"tag":434,"props":101377,"children":101379},{"id":101378},"step-5-segment-your-customer-list",[101380],{"type":431,"value":101381},"Step 5: Segment Your Customer List",{"type":426,"tag":427,"props":101383,"children":101384},{},[101385],{"type":431,"value":101386},"Don't send discount codes to all customers indiscriminately. Segment in n8n:",{"type":426,"tag":10600,"props":101388,"children":101389},{},[101390,101415],{"type":426,"tag":10604,"props":101391,"children":101392},{},[101393],{"type":426,"tag":10608,"props":101394,"children":101395},{},[101396,101401,101405,101410],{"type":426,"tag":10612,"props":101397,"children":101398},{},[101399],{"type":431,"value":101400},"Segment",{"type":426,"tag":10612,"props":101402,"children":101403},{},[101404],{"type":431,"value":77678},{"type":426,"tag":10612,"props":101406,"children":101407},{},[101408],{"type":431,"value":101409},"Discount %",{"type":426,"tag":10612,"props":101411,"children":101412},{},[101413],{"type":431,"value":101414},"Message angle",{"type":426,"tag":10623,"props":101416,"children":101417},{},[101418,101441,101463,101486],{"type":426,"tag":10608,"props":101419,"children":101420},{},[101421,101426,101431,101436],{"type":426,"tag":10630,"props":101422,"children":101423},{},[101424],{"type":431,"value":101425},"First-time buyers",{"type":426,"tag":10630,"props":101427,"children":101428},{},[101429],{"type":431,"value":101430},"Order count = 1, order completed",{"type":426,"tag":10630,"props":101432,"children":101433},{},[101434],{"type":431,"value":101435},"10%",{"type":426,"tag":10630,"props":101437,"children":101438},{},[101439],{"type":431,"value":101440},"\"Thank you for your first order\"",{"type":426,"tag":10608,"props":101442,"children":101443},{},[101444,101449,101454,101458],{"type":426,"tag":10630,"props":101445,"children":101446},{},[101447],{"type":431,"value":101448},"Lapsed customers",{"type":426,"tag":10630,"props":101450,"children":101451},{},[101452],{"type":431,"value":101453},"No order in 30 days",{"type":426,"tag":10630,"props":101455,"children":101456},{},[101457],{"type":431,"value":30676},{"type":426,"tag":10630,"props":101459,"children":101460},{},[101461],{"type":431,"value":101462},"\"We miss you — here's 20% off\"",{"type":426,"tag":10608,"props":101464,"children":101465},{},[101466,101471,101476,101481],{"type":426,"tag":10630,"props":101467,"children":101468},{},[101469],{"type":431,"value":101470},"High-value customers",{"type":426,"tag":10630,"props":101472,"children":101473},{},[101474],{"type":431,"value":101475},"Order total > $200",{"type":426,"tag":10630,"props":101477,"children":101478},{},[101479],{"type":431,"value":101480},"15%",{"type":426,"tag":10630,"props":101482,"children":101483},{},[101484],{"type":431,"value":101485},"\"VIP exclusive discount\"",{"type":426,"tag":10608,"props":101487,"children":101488},{},[101489,101493,101498,101502],{"type":426,"tag":10630,"props":101490,"children":101491},{},[101492],{"type":431,"value":100565},{"type":426,"tag":10630,"props":101494,"children":101495},{},[101496],{"type":431,"value":101497},"Cart abandoned 1 hour ago",{"type":426,"tag":10630,"props":101499,"children":101500},{},[101501],{"type":431,"value":101435},{"type":426,"tag":10630,"props":101503,"children":101504},{},[101505],{"type":431,"value":101506},"\"Still thinking about it?\"",{"type":426,"tag":427,"props":101508,"children":101509},{},[101510,101512,101517,101518,101523],{"type":431,"value":101511},"In n8n, use an ",{"type":426,"tag":446,"props":101513,"children":101514},{},[101515],{"type":431,"value":101516},"IF",{"type":431,"value":77103},{"type":426,"tag":446,"props":101519,"children":101520},{},[101521],{"type":431,"value":101522},"Switch",{"type":431,"value":101524}," node to route customers to different message templates based on these criteria.",{"type":426,"tag":434,"props":101526,"children":101528},{"id":101527},"step-6-track-redemption",[101529],{"type":431,"value":101530},"Step 6: Track Redemption",{"type":426,"tag":427,"props":101532,"children":101533},{},[101534],{"type":431,"value":101535},"Add a post-send step to log discount codes in a Google Sheet:",{"type":426,"tag":10600,"props":101537,"children":101538},{},[101539,101554],{"type":426,"tag":10604,"props":101540,"children":101541},{},[101542],{"type":426,"tag":10608,"props":101543,"children":101544},{},[101545,101550],{"type":426,"tag":10612,"props":101546,"children":101547},{},[101548],{"type":431,"value":101549},"Column",{"type":426,"tag":10612,"props":101551,"children":101552},{},[101553],{"type":431,"value":10621},{"type":426,"tag":10623,"props":101555,"children":101556},{},[101557,101570,101581,101594,101606],{"type":426,"tag":10608,"props":101558,"children":101559},{},[101560,101565],{"type":426,"tag":10630,"props":101561,"children":101562},{},[101563],{"type":431,"value":101564},"customer_id",{"type":426,"tag":10630,"props":101566,"children":101567},{},[101568],{"type":431,"value":101569},"67890",{"type":426,"tag":10608,"props":101571,"children":101572},{},[101573,101577],{"type":426,"tag":10630,"props":101574,"children":101575},{},[101576],{"type":431,"value":37598},{"type":426,"tag":10630,"props":101578,"children":101579},{},[101580],{"type":431,"value":7237},{"type":426,"tag":10608,"props":101582,"children":101583},{},[101584,101589],{"type":426,"tag":10630,"props":101585,"children":101586},{},[101587],{"type":431,"value":101588},"discount_code",{"type":426,"tag":10630,"props":101590,"children":101591},{},[101592],{"type":431,"value":101593},"WELCOME-SARAH-20",{"type":426,"tag":10608,"props":101595,"children":101596},{},[101597,101601],{"type":426,"tag":10630,"props":101598,"children":101599},{},[101600],{"type":431,"value":47832},{"type":426,"tag":10630,"props":101602,"children":101603},{},[101604],{"type":431,"value":101605},"2026-06-19T10:30:00Z",{"type":426,"tag":10608,"props":101607,"children":101608},{},[101609,101614],{"type":426,"tag":10630,"props":101610,"children":101611},{},[101612],{"type":431,"value":101613},"redeemed",{"type":426,"tag":10630,"props":101615,"children":101616},{},[101617],{"type":431,"value":101618},"FALSE",{"type":426,"tag":427,"props":101620,"children":101621},{},[101622,101624,101630,101632,101637],{"type":431,"value":101623},"Set up a Shopify webhook for ",{"type":426,"tag":549,"props":101625,"children":101627},{"className":101626},[],[101628],{"type":431,"value":101629},"discounts\u002Fapplied",{"type":431,"value":101631}," to update the ",{"type":426,"tag":549,"props":101633,"children":101635},{"className":101634},[],[101636],{"type":431,"value":101613},{"type":431,"value":101638}," column when the code is used.",{"type":426,"tag":434,"props":101640,"children":101641},{"id":48547},[101642],{"type":431,"value":48550},{"type":426,"tag":454,"props":101644,"children":101645},{},[101646,101656,101668,101678],{"type":426,"tag":458,"props":101647,"children":101648},{},[101649,101654],{"type":426,"tag":446,"props":101650,"children":101651},{},[101652],{"type":431,"value":101653},"74 Shopify stores",{"type":431,"value":101655}," already use this exact workflow",{"type":426,"tag":458,"props":101657,"children":101658},{},[101659,101661,101666],{"type":431,"value":101660},"WhatsApp discount codes have ",{"type":426,"tag":446,"props":101662,"children":101663},{},[101664],{"type":431,"value":101665},"3–5x higher redemption",{"type":431,"value":101667}," vs email coupon campaigns",{"type":426,"tag":458,"props":101669,"children":101670},{},[101671,101673],{"type":431,"value":101672},"Abandoned cart WhatsApp messages (sent within 1 hour) recover ",{"type":426,"tag":446,"props":101674,"children":101675},{},[101676],{"type":431,"value":101677},"15–25% of abandoned orders",{"type":426,"tag":458,"props":101679,"children":101680},{},[101681,101683],{"type":431,"value":101682},"Win-back campaigns with 20% off re-engage ",{"type":426,"tag":446,"props":101684,"children":101685},{},[101686],{"type":431,"value":101687},"12–18% of lapsed customers",{"type":426,"tag":434,"props":101689,"children":101690},{"id":18886},[101691],{"type":431,"value":18889},{"type":426,"tag":454,"props":101693,"children":101694},{},[101695,101712,101735,101751],{"type":426,"tag":458,"props":101696,"children":101697},{},[101698,101703,101705,101710],{"type":426,"tag":446,"props":101699,"children":101700},{},[101701],{"type":431,"value":101702},"403 on Shopify discount creation",{"type":431,"value":101704},": Ensure your API token has ",{"type":426,"tag":549,"props":101706,"children":101708},{"className":101707},[],[101709],{"type":431,"value":100744},{"type":431,"value":101711}," scope. Recreate the custom app with this scope enabled.",{"type":426,"tag":458,"props":101713,"children":101714},{},[101715,101720,101722,101728,101729,101734],{"type":426,"tag":446,"props":101716,"children":101717},{},[101718],{"type":431,"value":101719},"Customer phone not available",{"type":431,"value":101721},": Shopify doesn't always have customer phones. Check ",{"type":426,"tag":549,"props":101723,"children":101725},{"className":101724},[],[101726],{"type":431,"value":101727},"customer.phone",{"type":431,"value":48630},{"type":426,"tag":549,"props":101730,"children":101732},{"className":101731},[],[101733],{"type":431,"value":48628},{"type":431,"value":48638},{"type":426,"tag":458,"props":101736,"children":101737},{},[101738,101743,101745],{"type":426,"tag":446,"props":101739,"children":101740},{},[101741],{"type":431,"value":101742},"Discount code already exists",{"type":431,"value":101744},": Add a timestamp or random suffix to make codes unique: ",{"type":426,"tag":549,"props":101746,"children":101748},{"className":101747},[],[101749],{"type":431,"value":101750},"DISC-{{ Date.now() }}",{"type":426,"tag":458,"props":101752,"children":101753},{},[101754,101758],{"type":426,"tag":446,"props":101755,"children":101756},{},[101757],{"type":431,"value":26117},{"type":431,"value":101759},": Regenerate API key in Rapiwa Dashboard → API Keys",{"type":426,"tag":434,"props":101761,"children":101762},{"id":4109},[101763],{"type":431,"value":4112},{"type":426,"tag":427,"props":101765,"children":101766},{},[101767,101772],{"type":426,"tag":446,"props":101768,"children":101769},{},[101770],{"type":431,"value":101771},"Can I send the same discount code to multiple customers?",{"type":431,"value":101773},"\nFor bulk campaigns, create a single price rule with a high usage limit and send the same code to all customers. For personalized campaigns, generate a unique code per customer (as this template does).",{"type":426,"tag":427,"props":101775,"children":101776},{},[101777,101782,101784,101790,101791,101797],{"type":426,"tag":446,"props":101778,"children":101779},{},[101780],{"type":431,"value":101781},"How do I prevent customers from sharing their discount code?",{"type":431,"value":101783},"\nSet ",{"type":426,"tag":549,"props":101785,"children":101787},{"className":101786},[],[101788],{"type":431,"value":101789},"usage_limit: 1",{"type":431,"value":48630},{"type":426,"tag":549,"props":101792,"children":101794},{"className":101793},[],[101795],{"type":431,"value":101796},"customer_selection: prerequisite",{"type":431,"value":101798}," with the specific customer ID — the code only works for that customer and can only be used once.",{"type":426,"tag":427,"props":101800,"children":101801},{},[101802,101807],{"type":426,"tag":446,"props":101803,"children":101804},{},[101805],{"type":431,"value":101806},"Does Rapiwa charge per discount code message sent?",{"type":431,"value":30566},{"type":426,"tag":427,"props":101809,"children":101810},{},[101811,101816],{"type":426,"tag":446,"props":101812,"children":101813},{},[101814],{"type":431,"value":101815},"Can I send discount codes to customers who've never bought on Shopify?",{"type":431,"value":101817},"\nYou can send WhatsApp messages to any phone number — the Shopify customer account isn't required for the WhatsApp delivery. However, the discount code creation does require a Shopify customer ID.",{"type":426,"tag":427,"props":101819,"children":101820},{},[101821,101826],{"type":426,"tag":446,"props":101822,"children":101823},{},[101824],{"type":431,"value":101825},"What WhatsApp number does the message come from?",{"type":431,"value":101827},"\nThe message comes from your Rapiwa-connected WhatsApp number. Customers see your number (or saved contact name) as the sender.",{"type":426,"tag":4164,"props":101829,"children":101830},{},[101831],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":101833},[101834,101835,101836,101837,101838,101839,101840,101841,101842,101843,101844],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":100634,"depth":588,"text":100637},{"id":100706,"depth":588,"text":100709},{"id":100766,"depth":588,"text":100769},{"id":101083,"depth":588,"text":101086},{"id":101378,"depth":588,"text":101381},{"id":101527,"depth":588,"text":101530},{"id":48547,"depth":588,"text":48550},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:shopify-whatsapp-discount-codes-rapiwa-n8n.md","blog\u002Fshopify-whatsapp-discount-codes-rapiwa-n8n.md","blog\u002Fshopify-whatsapp-discount-codes-rapiwa-n8n",{"loc":129},{"_path":133,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":134,"description":135,"date":101850,"author":6858,"category":43,"_slug":101851,"image":101852,"body":101853,"_type":4187,"_id":103304,"_source":4189,"_file":103305,"_stem":103306,"_extension":4192,"sitemap":103307},"2026-02-20","whatsapp-api-make-com-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-make-com-rapiwa.svg",{"type":423,"children":101854,"toc":103290},[101855,101867,101873,101878,101957,101961,101983,101989,102022,102028,102033,102070,102098,102119,102145,102154,102211,102239,102245,102255,102263,102284,102292,102367,102374,102467,102474,102550,102556,102565,102572,102598,102606,102690,102709,102715,102724,102731,102751,102758,102815,102820,102826,102838,102881,102889,102897,102903,102914,102947,102952,102960,102991,102997,103105,103110,103114,103190,103194,103218,103228,103245,103269,103286],{"type":426,"tag":427,"props":101856,"children":101857},{},[101858,101860,101865],{"type":431,"value":101859},"You can integrate Rapiwa's WhatsApp API with Make.com (formerly Integromat) using Make.com's built-in HTTP module. Connect any of Make.com's 2,000+ app integrations to WhatsApp by adding an HTTP POST request to ",{"type":426,"tag":549,"props":101861,"children":101863},{"className":101862},[],[101864],{"type":431,"value":48098},{"type":431,"value":101866}," in your scenario. No custom app required. Rapiwa costs $5\u002Fmonth flat with no per-message fees.",{"type":426,"tag":434,"props":101868,"children":101870},{"id":101869},"what-you-can-build-with-makecom-rapiwa",[101871],{"type":431,"value":101872},"What You Can Build with Make.com + Rapiwa",{"type":426,"tag":427,"props":101874,"children":101875},{},[101876],{"type":431,"value":101877},"Make.com connects over 2,000 apps — every one of them can now trigger a WhatsApp message:",{"type":426,"tag":454,"props":101879,"children":101880},{},[101881,101891,101901,101910,101919,101929,101938,101947],{"type":426,"tag":458,"props":101882,"children":101883},{},[101884,101889],{"type":426,"tag":446,"props":101885,"children":101886},{},[101887],{"type":431,"value":101888},"HubSpot CRM",{"type":431,"value":101890}," → new lead → WhatsApp notification to sales rep",{"type":426,"tag":458,"props":101892,"children":101893},{},[101894,101899],{"type":426,"tag":446,"props":101895,"children":101896},{},[101897],{"type":431,"value":101898},"Typeform",{"type":431,"value":101900}," → form submission → WhatsApp confirmation to responder",{"type":426,"tag":458,"props":101902,"children":101903},{},[101904,101908],{"type":426,"tag":446,"props":101905,"children":101906},{},[101907],{"type":431,"value":77355},{"type":431,"value":101909}," → new payment → WhatsApp receipt to customer",{"type":426,"tag":458,"props":101911,"children":101912},{},[101913,101917],{"type":426,"tag":446,"props":101914,"children":101915},{},[101916],{"type":431,"value":77365},{"type":431,"value":101918}," → specific email received → WhatsApp alert to your phone",{"type":426,"tag":458,"props":101920,"children":101921},{},[101922,101927],{"type":426,"tag":446,"props":101923,"children":101924},{},[101925],{"type":431,"value":101926},"Google Calendar",{"type":431,"value":101928}," → event starting → WhatsApp reminder",{"type":426,"tag":458,"props":101930,"children":101931},{},[101932,101936],{"type":426,"tag":446,"props":101933,"children":101934},{},[101935],{"type":431,"value":55421},{"type":431,"value":101937}," → record updated → WhatsApp notification",{"type":426,"tag":458,"props":101939,"children":101940},{},[101941,101945],{"type":426,"tag":446,"props":101942,"children":101943},{},[101944],{"type":431,"value":77375},{"type":431,"value":101946}," → order created → WhatsApp order confirmation",{"type":426,"tag":458,"props":101948,"children":101949},{},[101950,101955],{"type":426,"tag":446,"props":101951,"children":101952},{},[101953],{"type":431,"value":101954},"WooCommerce",{"type":431,"value":101956}," → order shipped → WhatsApp shipping update",{"type":426,"tag":434,"props":101958,"children":101959},{"id":47624},[101960],{"type":431,"value":47627},{"type":426,"tag":454,"props":101962,"children":101963},{},[101964,101974,101978],{"type":426,"tag":458,"props":101965,"children":101966},{},[101967,101968,101973],{"type":431,"value":48828},{"type":426,"tag":3819,"props":101969,"children":101971},{"href":3821,"rel":101970},[3823],[101972],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":101975,"children":101976},{},[101977],{"type":431,"value":48840},{"type":426,"tag":458,"props":101979,"children":101980},{},[101981],{"type":431,"value":101982},"Make.com account (free plan available)",{"type":426,"tag":434,"props":101984,"children":101986},{"id":101985},"step-1-create-a-new-makecom-scenario",[101987],{"type":431,"value":101988},"Step 1: Create a New Make.com Scenario",{"type":426,"tag":6331,"props":101990,"children":101991},{},[101992,102003,102012,102017],{"type":426,"tag":458,"props":101993,"children":101994},{},[101995,101996],{"type":431,"value":77455},{"type":426,"tag":3819,"props":101997,"children":102000},{"href":101998,"rel":101999},"https:\u002F\u002Fmake.com",[3823],[102001],{"type":431,"value":102002},"make.com",{"type":426,"tag":458,"props":102004,"children":102005},{},[102006,102007],{"type":431,"value":47857},{"type":426,"tag":446,"props":102008,"children":102009},{},[102010],{"type":431,"value":102011},"Create a new scenario",{"type":426,"tag":458,"props":102013,"children":102014},{},[102015],{"type":431,"value":102016},"Choose your trigger app (e.g., Typeform, Shopify, Gmail, Google Sheets)",{"type":426,"tag":458,"props":102018,"children":102019},{},[102020],{"type":431,"value":102021},"Configure the trigger to fire on your desired event",{"type":426,"tag":434,"props":102023,"children":102025},{"id":102024},"step-2-add-the-rapiwa-http-module",[102026],{"type":431,"value":102027},"Step 2: Add the Rapiwa HTTP Module",{"type":426,"tag":427,"props":102029,"children":102030},{},[102031],{"type":431,"value":102032},"After your trigger module:",{"type":426,"tag":6331,"props":102034,"children":102035},{},[102036,102047,102056,102065],{"type":426,"tag":458,"props":102037,"children":102038},{},[102039,102041,102045],{"type":431,"value":102040},"Click the ",{"type":426,"tag":446,"props":102042,"children":102043},{},[102044],{"type":431,"value":2033},{"type":431,"value":102046}," icon to add a module",{"type":426,"tag":458,"props":102048,"children":102049},{},[102050,102051],{"type":431,"value":77510},{"type":426,"tag":446,"props":102052,"children":102053},{},[102054],{"type":431,"value":102055},"HTTP",{"type":426,"tag":458,"props":102057,"children":102058},{},[102059,102060],{"type":431,"value":77519},{"type":426,"tag":446,"props":102061,"children":102062},{},[102063],{"type":431,"value":102064},"HTTP → Make a request",{"type":426,"tag":458,"props":102066,"children":102067},{},[102068],{"type":431,"value":102069},"Configure the module:",{"type":426,"tag":427,"props":102071,"children":102072},{},[102073,102077,102078,102083,102087,102088,102093,102097],{"type":426,"tag":446,"props":102074,"children":102075},{},[102076],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":102079,"children":102081},{"className":102080},[],[102082],{"type":431,"value":48098},{"type":426,"tag":446,"props":102084,"children":102085},{},[102086],{"type":431,"value":46964},{"type":431,"value":700},{"type":426,"tag":549,"props":102089,"children":102091},{"className":102090},[],[102092],{"type":431,"value":67603},{"type":426,"tag":446,"props":102094,"children":102095},{},[102096],{"type":431,"value":72355},{"type":431,"value":19071},{"type":426,"tag":454,"props":102099,"children":102100},{},[102101,102110],{"type":426,"tag":458,"props":102102,"children":102103},{},[102104,102105],{"type":431,"value":95627},{"type":426,"tag":549,"props":102106,"children":102108},{"className":102107},[],[102109],{"type":431,"value":48106},{"type":426,"tag":458,"props":102111,"children":102112},{},[102113,102114],{"type":431,"value":55093},{"type":426,"tag":549,"props":102115,"children":102117},{"className":102116},[],[102118],{"type":431,"value":48113},{"type":426,"tag":427,"props":102120,"children":102121},{},[102122,102127,102128,102134,102139,102140],{"type":426,"tag":446,"props":102123,"children":102124},{},[102125],{"type":431,"value":102126},"Body type",{"type":431,"value":700},{"type":426,"tag":549,"props":102129,"children":102131},{"className":102130},[],[102132],{"type":431,"value":102133},"Raw",{"type":426,"tag":446,"props":102135,"children":102136},{},[102137],{"type":431,"value":102138},"Content type",{"type":431,"value":700},{"type":426,"tag":549,"props":102141,"children":102143},{"className":102142},[],[102144],{"type":431,"value":77658},{"type":426,"tag":427,"props":102146,"children":102147},{},[102148,102153],{"type":426,"tag":446,"props":102149,"children":102150},{},[102151],{"type":431,"value":102152},"Request content (Body)",{"type":431,"value":19071},{"type":426,"tag":542,"props":102155,"children":102157},{"code":102156,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"{{1.phone_number}}\",\n  \"message\": \"{{1.message_text}}\"\n}\n",[102158],{"type":426,"tag":549,"props":102159,"children":102160},{"__ignoreMap":417},[102161,102168,102188,102204],{"type":426,"tag":553,"props":102162,"children":102163},{"class":555,"line":556},[102164],{"type":426,"tag":553,"props":102165,"children":102166},{"style":684},[102167],{"type":431,"value":687},{"type":426,"tag":553,"props":102169,"children":102170},{"class":555,"line":588},[102171,102175,102179,102184],{"type":426,"tag":553,"props":102172,"children":102173},{"style":566},[102174],{"type":431,"value":7277},{"type":426,"tag":553,"props":102176,"children":102177},{"style":684},[102178],{"type":431,"value":700},{"type":426,"tag":553,"props":102180,"children":102181},{"style":572},[102182],{"type":431,"value":102183},"\"{{1.phone_number}}\"",{"type":426,"tag":553,"props":102185,"children":102186},{"style":684},[102187],{"type":431,"value":710},{"type":426,"tag":553,"props":102189,"children":102190},{"class":555,"line":606},[102191,102195,102199],{"type":426,"tag":553,"props":102192,"children":102193},{"style":566},[102194],{"type":431,"value":7298},{"type":426,"tag":553,"props":102196,"children":102197},{"style":684},[102198],{"type":431,"value":700},{"type":426,"tag":553,"props":102200,"children":102201},{"style":572},[102202],{"type":431,"value":102203},"\"{{1.message_text}}\"\n",{"type":426,"tag":553,"props":102205,"children":102206},{"class":555,"line":623},[102207],{"type":426,"tag":553,"props":102208,"children":102209},{"style":684},[102210],{"type":431,"value":756},{"type":426,"tag":427,"props":102212,"children":102213},{},[102214,102216,102222,102223,102229,102231,102237],{"type":431,"value":102215},"Replace ",{"type":426,"tag":549,"props":102217,"children":102219},{"className":102218},[],[102220],{"type":431,"value":102221},"{{1.phone_number}}",{"type":431,"value":48630},{"type":426,"tag":549,"props":102224,"children":102226},{"className":102225},[],[102227],{"type":431,"value":102228},"{{1.message_text}}",{"type":431,"value":102230}," with the actual field references from your trigger module (Make.com uses ",{"type":426,"tag":549,"props":102232,"children":102234},{"className":102233},[],[102235],{"type":431,"value":102236},"{{module_number.field_name}}",{"type":431,"value":102238}," syntax).",{"type":426,"tag":434,"props":102240,"children":102242},{"id":102241},"step-3-example-send-whatsapp-when-a-typeform-is-submitted",[102243],{"type":431,"value":102244},"Step 3: Example — Send WhatsApp When a Typeform Is Submitted",{"type":426,"tag":427,"props":102246,"children":102247},{},[102248,102253],{"type":426,"tag":446,"props":102249,"children":102250},{},[102251],{"type":431,"value":102252},"Scenario",{"type":431,"value":102254},": Customer fills a contact form → receives instant WhatsApp confirmation",{"type":426,"tag":427,"props":102256,"children":102257},{},[102258],{"type":426,"tag":446,"props":102259,"children":102260},{},[102261],{"type":431,"value":102262},"Modules:",{"type":426,"tag":6331,"props":102264,"children":102265},{},[102266,102275],{"type":426,"tag":458,"props":102267,"children":102268},{},[102269,102273],{"type":426,"tag":446,"props":102270,"children":102271},{},[102272],{"type":431,"value":101898},{"type":431,"value":102274}," → Watch Responses",{"type":426,"tag":458,"props":102276,"children":102277},{},[102278,102282],{"type":426,"tag":446,"props":102279,"children":102280},{},[102281],{"type":431,"value":102055},{"type":431,"value":102283}," → Make a Request (Rapiwa)",{"type":426,"tag":427,"props":102285,"children":102286},{},[102287],{"type":426,"tag":446,"props":102288,"children":102289},{},[102290],{"type":431,"value":102291},"HTTP Body for Typeform integration:",{"type":426,"tag":542,"props":102293,"children":102295},{"code":102294,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"{{1.answers.phone_number.phone_number}}\",\n  \"message\": \"Hi {{1.answers.full_name.text}}! ✅\\n\\nWe received your message and will get back to you within 24 hours.\\n\\nYour reference: {{1.token}}\"\n}\n",[102296],{"type":426,"tag":549,"props":102297,"children":102298},{"__ignoreMap":417},[102299,102306,102326,102360],{"type":426,"tag":553,"props":102300,"children":102301},{"class":555,"line":556},[102302],{"type":426,"tag":553,"props":102303,"children":102304},{"style":684},[102305],{"type":431,"value":687},{"type":426,"tag":553,"props":102307,"children":102308},{"class":555,"line":588},[102309,102313,102317,102322],{"type":426,"tag":553,"props":102310,"children":102311},{"style":566},[102312],{"type":431,"value":7277},{"type":426,"tag":553,"props":102314,"children":102315},{"style":684},[102316],{"type":431,"value":700},{"type":426,"tag":553,"props":102318,"children":102319},{"style":572},[102320],{"type":431,"value":102321},"\"{{1.answers.phone_number.phone_number}}\"",{"type":426,"tag":553,"props":102323,"children":102324},{"style":684},[102325],{"type":431,"value":710},{"type":426,"tag":553,"props":102327,"children":102328},{"class":555,"line":606},[102329,102333,102337,102342,102346,102351,102355],{"type":426,"tag":553,"props":102330,"children":102331},{"style":566},[102332],{"type":431,"value":7298},{"type":426,"tag":553,"props":102334,"children":102335},{"style":684},[102336],{"type":431,"value":700},{"type":426,"tag":553,"props":102338,"children":102339},{"style":572},[102340],{"type":431,"value":102341},"\"Hi {{1.answers.full_name.text}}! ✅",{"type":426,"tag":553,"props":102343,"children":102344},{"style":566},[102345],{"type":431,"value":1295},{"type":426,"tag":553,"props":102347,"children":102348},{"style":572},[102349],{"type":431,"value":102350},"We received your message and will get back to you within 24 hours.",{"type":426,"tag":553,"props":102352,"children":102353},{"style":566},[102354],{"type":431,"value":1295},{"type":426,"tag":553,"props":102356,"children":102357},{"style":572},[102358],{"type":431,"value":102359},"Your reference: {{1.token}}\"\n",{"type":426,"tag":553,"props":102361,"children":102362},{"class":555,"line":623},[102363],{"type":426,"tag":553,"props":102364,"children":102365},{"style":684},[102366],{"type":431,"value":756},{"type":426,"tag":427,"props":102368,"children":102369},{},[102370],{"type":426,"tag":446,"props":102371,"children":102372},{},[102373],{"type":431,"value":48187},{"type":426,"tag":542,"props":102375,"children":102377},{"code":102376,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! ✅ We received your form submission and will get back to you within 24 hours.\"\n  }'\n",[102378],{"type":426,"tag":549,"props":102379,"children":102380},{"__ignoreMap":417},[102381,102404,102419,102434,102445,102452,102460],{"type":426,"tag":553,"props":102382,"children":102383},{"class":555,"line":556},[102384,102388,102392,102396,102400],{"type":426,"tag":553,"props":102385,"children":102386},{"style":560},[102387],{"type":431,"value":563},{"type":426,"tag":553,"props":102389,"children":102390},{"style":566},[102391],{"type":431,"value":569},{"type":426,"tag":553,"props":102393,"children":102394},{"style":572},[102395],{"type":431,"value":575},{"type":426,"tag":553,"props":102397,"children":102398},{"style":572},[102399],{"type":431,"value":580},{"type":426,"tag":553,"props":102401,"children":102402},{"style":566},[102403],{"type":431,"value":585},{"type":426,"tag":553,"props":102405,"children":102406},{"class":555,"line":588},[102407,102411,102415],{"type":426,"tag":553,"props":102408,"children":102409},{"style":566},[102410],{"type":431,"value":594},{"type":426,"tag":553,"props":102412,"children":102413},{"style":572},[102414],{"type":431,"value":599},{"type":426,"tag":553,"props":102416,"children":102417},{"style":566},[102418],{"type":431,"value":585},{"type":426,"tag":553,"props":102420,"children":102421},{"class":555,"line":606},[102422,102426,102430],{"type":426,"tag":553,"props":102423,"children":102424},{"style":566},[102425],{"type":431,"value":594},{"type":426,"tag":553,"props":102427,"children":102428},{"style":572},[102429],{"type":431,"value":616},{"type":426,"tag":553,"props":102431,"children":102432},{"style":566},[102433],{"type":431,"value":585},{"type":426,"tag":553,"props":102435,"children":102436},{"class":555,"line":623},[102437,102441],{"type":426,"tag":553,"props":102438,"children":102439},{"style":566},[102440],{"type":431,"value":629},{"type":426,"tag":553,"props":102442,"children":102443},{"style":572},[102444],{"type":431,"value":634},{"type":426,"tag":553,"props":102446,"children":102447},{"class":555,"line":637},[102448],{"type":426,"tag":553,"props":102449,"children":102450},{"style":572},[102451],{"type":431,"value":643},{"type":426,"tag":553,"props":102453,"children":102454},{"class":555,"line":646},[102455],{"type":426,"tag":553,"props":102456,"children":102457},{"style":572},[102458],{"type":431,"value":102459},"    \"message\": \"Hi Sarah! ✅ We received your form submission and will get back to you within 24 hours.\"\n",{"type":426,"tag":553,"props":102461,"children":102462},{"class":555,"line":655},[102463],{"type":426,"tag":553,"props":102464,"children":102465},{"style":572},[102466],{"type":431,"value":661},{"type":426,"tag":427,"props":102468,"children":102469},{},[102470],{"type":426,"tag":446,"props":102471,"children":102472},{},[102473],{"type":431,"value":669},{"type":426,"tag":542,"props":102475,"children":102477},{"code":102476,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_make_abc123\",\n  \"timestamp\": \"2026-06-18T10:30:00Z\"\n}\n",[102478],{"type":426,"tag":549,"props":102479,"children":102480},{"__ignoreMap":417},[102481,102488,102507,102527,102543],{"type":426,"tag":553,"props":102482,"children":102483},{"class":555,"line":556},[102484],{"type":426,"tag":553,"props":102485,"children":102486},{"style":684},[102487],{"type":431,"value":687},{"type":426,"tag":553,"props":102489,"children":102490},{"class":555,"line":588},[102491,102495,102499,102503],{"type":426,"tag":553,"props":102492,"children":102493},{"style":566},[102494],{"type":431,"value":695},{"type":426,"tag":553,"props":102496,"children":102497},{"style":684},[102498],{"type":431,"value":700},{"type":426,"tag":553,"props":102500,"children":102501},{"style":572},[102502],{"type":431,"value":705},{"type":426,"tag":553,"props":102504,"children":102505},{"style":684},[102506],{"type":431,"value":710},{"type":426,"tag":553,"props":102508,"children":102509},{"class":555,"line":606},[102510,102514,102518,102523],{"type":426,"tag":553,"props":102511,"children":102512},{"style":566},[102513],{"type":431,"value":718},{"type":426,"tag":553,"props":102515,"children":102516},{"style":684},[102517],{"type":431,"value":700},{"type":426,"tag":553,"props":102519,"children":102520},{"style":572},[102521],{"type":431,"value":102522},"\"msg_make_abc123\"",{"type":426,"tag":553,"props":102524,"children":102525},{"style":684},[102526],{"type":431,"value":710},{"type":426,"tag":553,"props":102528,"children":102529},{"class":555,"line":623},[102530,102534,102538],{"type":426,"tag":553,"props":102531,"children":102532},{"style":566},[102533],{"type":431,"value":739},{"type":426,"tag":553,"props":102535,"children":102536},{"style":684},[102537],{"type":431,"value":700},{"type":426,"tag":553,"props":102539,"children":102540},{"style":572},[102541],{"type":431,"value":102542},"\"2026-06-18T10:30:00Z\"\n",{"type":426,"tag":553,"props":102544,"children":102545},{"class":555,"line":637},[102546],{"type":426,"tag":553,"props":102547,"children":102548},{"style":684},[102549],{"type":431,"value":756},{"type":426,"tag":434,"props":102551,"children":102553},{"id":102552},"step-4-example-stripe-payment-whatsapp-receipt",[102554],{"type":431,"value":102555},"Step 4: Example — Stripe Payment WhatsApp Receipt",{"type":426,"tag":427,"props":102557,"children":102558},{},[102559,102563],{"type":426,"tag":446,"props":102560,"children":102561},{},[102562],{"type":431,"value":102252},{"type":431,"value":102564},": Customer pays via Stripe → receives WhatsApp receipt instantly",{"type":426,"tag":427,"props":102566,"children":102567},{},[102568],{"type":426,"tag":446,"props":102569,"children":102570},{},[102571],{"type":431,"value":102262},{"type":426,"tag":6331,"props":102573,"children":102574},{},[102575,102590],{"type":426,"tag":458,"props":102576,"children":102577},{},[102578,102582,102584],{"type":426,"tag":446,"props":102579,"children":102580},{},[102581],{"type":431,"value":77355},{"type":431,"value":102583}," → Watch Events → ",{"type":426,"tag":549,"props":102585,"children":102587},{"className":102586},[],[102588],{"type":431,"value":102589},"payment_intent.succeeded",{"type":426,"tag":458,"props":102591,"children":102592},{},[102593,102597],{"type":426,"tag":446,"props":102594,"children":102595},{},[102596],{"type":431,"value":102055},{"type":431,"value":102283},{"type":426,"tag":427,"props":102599,"children":102600},{},[102601],{"type":426,"tag":446,"props":102602,"children":102603},{},[102604],{"type":431,"value":102605},"HTTP Body:",{"type":426,"tag":542,"props":102607,"children":102609},{"code":102608,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"{{1.metadata.customer_phone}}\",\n  \"message\": \"Payment received! ✅\\n\\nAmount: {{formatNumber(1.amount \u002F 100, 2)}} {{upper(1.currency)}}\\nReference: {{1.id}}\\n\\nThank you for your payment. Your receipt: {{1.receipt_url}}\"\n}\n",[102610],{"type":426,"tag":549,"props":102611,"children":102612},{"__ignoreMap":417},[102613,102620,102640,102683],{"type":426,"tag":553,"props":102614,"children":102615},{"class":555,"line":556},[102616],{"type":426,"tag":553,"props":102617,"children":102618},{"style":684},[102619],{"type":431,"value":687},{"type":426,"tag":553,"props":102621,"children":102622},{"class":555,"line":588},[102623,102627,102631,102636],{"type":426,"tag":553,"props":102624,"children":102625},{"style":566},[102626],{"type":431,"value":7277},{"type":426,"tag":553,"props":102628,"children":102629},{"style":684},[102630],{"type":431,"value":700},{"type":426,"tag":553,"props":102632,"children":102633},{"style":572},[102634],{"type":431,"value":102635},"\"{{1.metadata.customer_phone}}\"",{"type":426,"tag":553,"props":102637,"children":102638},{"style":684},[102639],{"type":431,"value":710},{"type":426,"tag":553,"props":102641,"children":102642},{"class":555,"line":606},[102643,102647,102651,102656,102660,102665,102669,102674,102678],{"type":426,"tag":553,"props":102644,"children":102645},{"style":566},[102646],{"type":431,"value":7298},{"type":426,"tag":553,"props":102648,"children":102649},{"style":684},[102650],{"type":431,"value":700},{"type":426,"tag":553,"props":102652,"children":102653},{"style":572},[102654],{"type":431,"value":102655},"\"Payment received! ✅",{"type":426,"tag":553,"props":102657,"children":102658},{"style":566},[102659],{"type":431,"value":1295},{"type":426,"tag":553,"props":102661,"children":102662},{"style":572},[102663],{"type":431,"value":102664},"Amount: {{formatNumber(1.amount \u002F 100, 2)}} {{upper(1.currency)}}",{"type":426,"tag":553,"props":102666,"children":102667},{"style":566},[102668],{"type":431,"value":3661},{"type":426,"tag":553,"props":102670,"children":102671},{"style":572},[102672],{"type":431,"value":102673},"Reference: {{1.id}}",{"type":426,"tag":553,"props":102675,"children":102676},{"style":566},[102677],{"type":431,"value":1295},{"type":426,"tag":553,"props":102679,"children":102680},{"style":572},[102681],{"type":431,"value":102682},"Thank you for your payment. Your receipt: {{1.receipt_url}}\"\n",{"type":426,"tag":553,"props":102684,"children":102685},{"class":555,"line":623},[102686],{"type":426,"tag":553,"props":102687,"children":102688},{"style":684},[102689],{"type":431,"value":756},{"type":426,"tag":41290,"props":102691,"children":102692},{},[102693],{"type":426,"tag":427,"props":102694,"children":102695},{},[102696,102700,102702,102707],{"type":426,"tag":446,"props":102697,"children":102698},{},[102699],{"type":431,"value":77432},{"type":431,"value":102701},": Store the customer's phone number in Stripe payment metadata as ",{"type":426,"tag":549,"props":102703,"children":102705},{"className":102704},[],[102706],{"type":431,"value":47822},{"type":431,"value":102708}," when creating the PaymentIntent.",{"type":426,"tag":434,"props":102710,"children":102712},{"id":102711},"step-5-example-google-sheets-row-added",[102713],{"type":431,"value":102714},"Step 5: Example — Google Sheets Row Added",{"type":426,"tag":427,"props":102716,"children":102717},{},[102718,102722],{"type":426,"tag":446,"props":102719,"children":102720},{},[102721],{"type":431,"value":102252},{"type":431,"value":102723},": New row added to a Google Sheet → send WhatsApp to the phone in that row",{"type":426,"tag":427,"props":102725,"children":102726},{},[102727],{"type":426,"tag":446,"props":102728,"children":102729},{},[102730],{"type":431,"value":102262},{"type":426,"tag":6331,"props":102732,"children":102733},{},[102734,102743],{"type":426,"tag":458,"props":102735,"children":102736},{},[102737,102741],{"type":426,"tag":446,"props":102738,"children":102739},{},[102740],{"type":431,"value":47673},{"type":431,"value":102742}," → Watch Rows",{"type":426,"tag":458,"props":102744,"children":102745},{},[102746,102750],{"type":426,"tag":446,"props":102747,"children":102748},{},[102749],{"type":431,"value":102055},{"type":431,"value":102283},{"type":426,"tag":427,"props":102752,"children":102753},{},[102754],{"type":426,"tag":446,"props":102755,"children":102756},{},[102757],{"type":431,"value":102605},{"type":426,"tag":542,"props":102759,"children":102761},{"code":102760,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"{{1.phone}}\",\n  \"message\": \"{{1.message}}\"\n}\n",[102762],{"type":426,"tag":549,"props":102763,"children":102764},{"__ignoreMap":417},[102765,102772,102792,102808],{"type":426,"tag":553,"props":102766,"children":102767},{"class":555,"line":556},[102768],{"type":426,"tag":553,"props":102769,"children":102770},{"style":684},[102771],{"type":431,"value":687},{"type":426,"tag":553,"props":102773,"children":102774},{"class":555,"line":588},[102775,102779,102783,102788],{"type":426,"tag":553,"props":102776,"children":102777},{"style":566},[102778],{"type":431,"value":7277},{"type":426,"tag":553,"props":102780,"children":102781},{"style":684},[102782],{"type":431,"value":700},{"type":426,"tag":553,"props":102784,"children":102785},{"style":572},[102786],{"type":431,"value":102787},"\"{{1.phone}}\"",{"type":426,"tag":553,"props":102789,"children":102790},{"style":684},[102791],{"type":431,"value":710},{"type":426,"tag":553,"props":102793,"children":102794},{"class":555,"line":606},[102795,102799,102803],{"type":426,"tag":553,"props":102796,"children":102797},{"style":566},[102798],{"type":431,"value":7298},{"type":426,"tag":553,"props":102800,"children":102801},{"style":684},[102802],{"type":431,"value":700},{"type":426,"tag":553,"props":102804,"children":102805},{"style":572},[102806],{"type":431,"value":102807},"\"{{1.message}}\"\n",{"type":426,"tag":553,"props":102809,"children":102810},{"class":555,"line":623},[102811],{"type":426,"tag":553,"props":102812,"children":102813},{"style":684},[102814],{"type":431,"value":756},{"type":426,"tag":427,"props":102816,"children":102817},{},[102818],{"type":431,"value":102819},"This is the simplest possible Make.com + Rapiwa integration — useful for bulk sending from a sheet.",{"type":426,"tag":434,"props":102821,"children":102823},{"id":102822},"step-6-handle-the-rapiwa-response",[102824],{"type":431,"value":102825},"Step 6: Handle the Rapiwa Response",{"type":426,"tag":427,"props":102827,"children":102828},{},[102829,102831,102836],{"type":431,"value":102830},"After the HTTP module, add a ",{"type":426,"tag":446,"props":102832,"children":102833},{},[102834],{"type":431,"value":102835},"Router",{"type":431,"value":102837}," to handle success and failure:",{"type":426,"tag":6331,"props":102839,"children":102840},{},[102841,102855,102868],{"type":426,"tag":458,"props":102842,"children":102843},{},[102844,102846,102850,102851],{"type":431,"value":102845},"After the HTTP module, click ",{"type":426,"tag":446,"props":102847,"children":102848},{},[102849],{"type":431,"value":2033},{"type":431,"value":5710},{"type":426,"tag":446,"props":102852,"children":102853},{},[102854],{"type":431,"value":102835},{"type":426,"tag":458,"props":102856,"children":102857},{},[102858,102860,102866],{"type":431,"value":102859},"Branch 1: Filter ",{"type":426,"tag":549,"props":102861,"children":102863},{"className":102862},[],[102864],{"type":431,"value":102865},"{{2.data.status}} = success",{"type":431,"value":102867}," → log success or update database",{"type":426,"tag":458,"props":102869,"children":102870},{},[102871,102873,102879],{"type":431,"value":102872},"Branch 2: Filter ",{"type":426,"tag":549,"props":102874,"children":102876},{"className":102875},[],[102877],{"type":431,"value":102878},"{{2.data.status}} != success",{"type":431,"value":102880}," → send error alert or retry",{"type":426,"tag":427,"props":102882,"children":102883},{},[102884],{"type":426,"tag":446,"props":102885,"children":102886},{},[102887],{"type":431,"value":102888},"Make.com expression to check success:",{"type":426,"tag":542,"props":102890,"children":102892},{"code":102891},"{{2.data.status}} equal to `success`\n",[102893],{"type":426,"tag":549,"props":102894,"children":102895},{"__ignoreMap":417},[102896],{"type":431,"value":102891},{"type":426,"tag":434,"props":102898,"children":102900},{"id":102899},"receiving-incoming-whatsapp-messages-in-makecom",[102901],{"type":431,"value":102902},"Receiving Incoming WhatsApp Messages in Make.com",{"type":426,"tag":427,"props":102904,"children":102905},{},[102906,102908,102912],{"type":431,"value":102907},"To receive messages, use a Make.com ",{"type":426,"tag":446,"props":102909,"children":102910},{},[102911],{"type":431,"value":60199},{"type":431,"value":102913}," module as your trigger:",{"type":426,"tag":6331,"props":102915,"children":102916},{},[102917,102933,102938],{"type":426,"tag":458,"props":102918,"children":102919},{},[102920,102922,102927,102928],{"type":431,"value":102921},"Add module: ",{"type":426,"tag":446,"props":102923,"children":102924},{},[102925],{"type":431,"value":102926},"Webhooks",{"type":431,"value":5710},{"type":426,"tag":446,"props":102929,"children":102930},{},[102931],{"type":431,"value":102932},"Custom webhook",{"type":426,"tag":458,"props":102934,"children":102935},{},[102936],{"type":431,"value":102937},"Copy the webhook URL Make.com generates",{"type":426,"tag":458,"props":102939,"children":102940},{},[102941,102942],{"type":431,"value":77980},{"type":426,"tag":549,"props":102943,"children":102945},{"className":102944},[],[102946],{"type":431,"value":7956},{"type":426,"tag":427,"props":102948,"children":102949},{},[102950],{"type":431,"value":102951},"Now incoming WhatsApp messages flow into your Make.com scenario for processing.",{"type":426,"tag":427,"props":102953,"children":102954},{},[102955],{"type":426,"tag":446,"props":102956,"children":102957},{},[102958],{"type":431,"value":102959},"Example reply flow:",{"type":426,"tag":6331,"props":102961,"children":102962},{},[102963,102972,102981],{"type":426,"tag":458,"props":102964,"children":102965},{},[102966,102970],{"type":426,"tag":446,"props":102967,"children":102968},{},[102969],{"type":431,"value":60199},{"type":431,"value":102971}," (receives incoming message) →",{"type":426,"tag":458,"props":102973,"children":102974},{},[102975,102979],{"type":426,"tag":446,"props":102976,"children":102977},{},[102978],{"type":431,"value":102835},{"type":431,"value":102980}," (parse keyword) →",{"type":426,"tag":458,"props":102982,"children":102983},{},[102984,102989],{"type":426,"tag":446,"props":102985,"children":102986},{},[102987],{"type":431,"value":102988},"HTTP → Rapiwa",{"type":431,"value":102990}," (send reply)",{"type":426,"tag":434,"props":102992,"children":102994},{"id":102993},"makecom-vs-n8n-for-whatsapp-automation",[102995],{"type":431,"value":102996},"Make.com vs n8n for WhatsApp Automation",{"type":426,"tag":10600,"props":102998,"children":102999},{},[103000,103018],{"type":426,"tag":10604,"props":103001,"children":103002},{},[103003],{"type":426,"tag":10608,"props":103004,"children":103005},{},[103006,103010,103014],{"type":426,"tag":10612,"props":103007,"children":103008},{},[103009],{"type":431,"value":16096},{"type":426,"tag":10612,"props":103011,"children":103012},{},[103013],{"type":431,"value":78023},{"type":426,"tag":10612,"props":103015,"children":103016},{},[103017],{"type":431,"value":47653},{"type":426,"tag":10623,"props":103019,"children":103020},{},[103021,103039,103054,103071,103088],{"type":426,"tag":10608,"props":103022,"children":103023},{},[103024,103029,103034],{"type":426,"tag":10630,"props":103025,"children":103026},{},[103027],{"type":431,"value":103028},"Price",{"type":426,"tag":10630,"props":103030,"children":103031},{},[103032],{"type":431,"value":103033},"Free (1,000 ops\u002Fmonth), paid from $9\u002Fmonth",{"type":426,"tag":10630,"props":103035,"children":103036},{},[103037],{"type":431,"value":103038},"Free self-hosted, Cloud from $20\u002Fmonth",{"type":426,"tag":10608,"props":103040,"children":103041},{},[103042,103046,103050],{"type":426,"tag":10630,"props":103043,"children":103044},{},[103045],{"type":431,"value":78034},{"type":426,"tag":10630,"props":103047,"children":103048},{},[103049],{"type":431,"value":78049},{"type":426,"tag":10630,"props":103051,"children":103052},{},[103053],{"type":431,"value":78044},{"type":426,"tag":10608,"props":103055,"children":103056},{},[103057,103062,103066],{"type":426,"tag":10630,"props":103058,"children":103059},{},[103060],{"type":431,"value":103061},"Code\u002Fscripting",{"type":426,"tag":10630,"props":103063,"children":103064},{},[103065],{"type":431,"value":78140},{"type":426,"tag":10630,"props":103067,"children":103068},{},[103069],{"type":431,"value":103070},"Full JS expressions",{"type":426,"tag":10608,"props":103072,"children":103073},{},[103074,103079,103083],{"type":426,"tag":10630,"props":103075,"children":103076},{},[103077],{"type":431,"value":103078},"Self-hosting",{"type":426,"tag":10630,"props":103080,"children":103081},{},[103082],{"type":431,"value":78130},{"type":426,"tag":10630,"props":103084,"children":103085},{},[103086],{"type":431,"value":103087},"Yes",{"type":426,"tag":10608,"props":103089,"children":103090},{},[103091,103095,103100],{"type":426,"tag":10630,"props":103092,"children":103093},{},[103094],{"type":431,"value":46969},{"type":426,"tag":10630,"props":103096,"children":103097},{},[103098],{"type":431,"value":103099},"Business users, no-code",{"type":426,"tag":10630,"props":103101,"children":103102},{},[103103],{"type":431,"value":103104},"Developers, power users",{"type":426,"tag":427,"props":103106,"children":103107},{},[103108],{"type":431,"value":103109},"Both work equally well with Rapiwa's REST API via HTTP modules.",{"type":426,"tag":434,"props":103111,"children":103112},{"id":18886},[103113],{"type":431,"value":18889},{"type":426,"tag":454,"props":103115,"children":103116},{},[103117,103139,103170,103180],{"type":426,"tag":458,"props":103118,"children":103119},{},[103120,103124,103125,103130,103132,103137],{"type":426,"tag":446,"props":103121,"children":103122},{},[103123],{"type":431,"value":71440},{"type":431,"value":98886},{"type":426,"tag":549,"props":103126,"children":103128},{"className":103127},[],[103129],{"type":431,"value":48106},{"type":431,"value":103131}," header value must be exactly ",{"type":426,"tag":549,"props":103133,"children":103135},{"className":103134},[],[103136],{"type":431,"value":48113},{"type":431,"value":103138}," (capital B, space, then key). Verify in Make.com's HTTP module.",{"type":426,"tag":458,"props":103140,"children":103141},{},[103142,103147,103149,103154,103156,103161,103163,103168],{"type":426,"tag":446,"props":103143,"children":103144},{},[103145],{"type":431,"value":103146},"HTTP 400 — invalid number",{"type":431,"value":103148},": Ensure the phone number is in international format without ",{"type":426,"tag":549,"props":103150,"children":103152},{"className":103151},[],[103153],{"type":431,"value":2033},{"type":431,"value":103155},". Add a text transform in Make.com: ",{"type":426,"tag":446,"props":103157,"children":103158},{},[103159],{"type":431,"value":103160},"Tools → Text → Replace",{"type":431,"value":103162}," → replace ",{"type":426,"tag":549,"props":103164,"children":103166},{"className":103165},[],[103167],{"type":431,"value":2033},{"type":431,"value":103169}," with nothing.",{"type":426,"tag":458,"props":103171,"children":103172},{},[103173,103178],{"type":426,"tag":446,"props":103174,"children":103175},{},[103176],{"type":431,"value":103177},"Scenario not triggering",{"type":431,"value":103179},": Check Make.com's scenario run history. Triggers on free plans may have a 15-minute polling delay — upgrade to instant triggers for real-time scenarios.",{"type":426,"tag":458,"props":103181,"children":103182},{},[103183,103188],{"type":426,"tag":446,"props":103184,"children":103185},{},[103186],{"type":431,"value":103187},"Webhook not receiving data",{"type":431,"value":103189},": Test the Rapiwa webhook registration by sending a WhatsApp message to your connected number after registering the Make.com webhook URL.",{"type":426,"tag":434,"props":103191,"children":103192},{"id":4109},[103193],{"type":431,"value":4112},{"type":426,"tag":427,"props":103195,"children":103196},{},[103197,103202,103204,103209,103211,103216],{"type":426,"tag":446,"props":103198,"children":103199},{},[103200],{"type":431,"value":103201},"Is there a native Rapiwa app in Make.com?",{"type":431,"value":103203},"\nNot yet. Use the ",{"type":426,"tag":446,"props":103205,"children":103206},{},[103207],{"type":431,"value":103208},"HTTP module",{"type":431,"value":103210}," with a manual API call to ",{"type":426,"tag":549,"props":103212,"children":103214},{"className":103213},[],[103215],{"type":431,"value":48098},{"type":431,"value":103217},". This works identically to a native integration.",{"type":426,"tag":427,"props":103219,"children":103220},{},[103221,103226],{"type":426,"tag":446,"props":103222,"children":103223},{},[103224],{"type":431,"value":103225},"Does Make.com charge per WhatsApp message?",{"type":431,"value":103227},"\nMake.com counts each HTTP module execution as one operation toward your monthly limit. Rapiwa charges $5\u002Fmonth flat with no per-message fees. On Make.com's free plan (1,000 ops\u002Fmonth), you can send up to 1,000 WhatsApp messages per month before needing to upgrade.",{"type":426,"tag":427,"props":103229,"children":103230},{},[103231,103236,103238,103243],{"type":426,"tag":446,"props":103232,"children":103233},{},[103234],{"type":431,"value":103235},"Can I use Make.com to receive and reply to WhatsApp messages?",{"type":431,"value":103237},"\nYes. Use a ",{"type":426,"tag":446,"props":103239,"children":103240},{},[103241],{"type":431,"value":103242},"Webhooks → Custom webhook",{"type":431,"value":103244}," module as your trigger to receive incoming messages from Rapiwa, then process and reply with the HTTP module.",{"type":426,"tag":427,"props":103246,"children":103247},{},[103248,103253,103255,103260,103262,103267],{"type":426,"tag":446,"props":103249,"children":103250},{},[103251],{"type":431,"value":103252},"How do I format multi-line messages in Make.com?",{"type":431,"value":103254},"\nUse ",{"type":426,"tag":549,"props":103256,"children":103258},{"className":103257},[],[103259],{"type":431,"value":3661},{"type":431,"value":103261}," for line breaks within the JSON string. Make.com's HTTP module handles ",{"type":426,"tag":549,"props":103263,"children":103265},{"className":103264},[],[103266],{"type":431,"value":3661},{"type":431,"value":103268}," correctly as a newline character in WhatsApp messages.",{"type":426,"tag":427,"props":103270,"children":103271},{},[103272,103277,103279,103284],{"type":426,"tag":446,"props":103273,"children":103274},{},[103275],{"type":431,"value":103276},"Can I send the same message to multiple numbers in one Make.com scenario?",{"type":431,"value":103278},"\nYes. Use Make.com's ",{"type":426,"tag":446,"props":103280,"children":103281},{},[103282],{"type":431,"value":103283},"Iterator",{"type":431,"value":103285}," module to loop over a list of phone numbers (from Google Sheets, Airtable, etc.) and send the HTTP request for each one.",{"type":426,"tag":4164,"props":103287,"children":103288},{},[103289],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":103291},[103292,103293,103294,103295,103296,103297,103298,103299,103300,103301,103302,103303],{"id":101869,"depth":588,"text":101872},{"id":47624,"depth":588,"text":47627},{"id":101985,"depth":588,"text":101988},{"id":102024,"depth":588,"text":102027},{"id":102241,"depth":588,"text":102244},{"id":102552,"depth":588,"text":102555},{"id":102711,"depth":588,"text":102714},{"id":102822,"depth":588,"text":102825},{"id":102899,"depth":588,"text":102902},{"id":102993,"depth":588,"text":102996},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-make-com-rapiwa.md","blog\u002Fwhatsapp-api-make-com-rapiwa.md","blog\u002Fwhatsapp-api-make-com-rapiwa",{"loc":133},{"_path":137,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":138,"description":139,"date":103309,"author":36566,"category":43,"_slug":103310,"image":103311,"body":103312,"_type":4187,"_id":104584,"_source":4189,"_file":104585,"_stem":104586,"_extension":4192,"sitemap":104587},"2026-02-19","shopify-cancelled-order-whatsapp-apology-rapiwa","\u002Fimages\u002Fblog\u002Fshopify-cancelled-order-whatsapp-apology-rapiwa.svg",{"type":423,"children":103313,"toc":104570},[103314,103319,103323,103342,103364,103373,103396,103400,103438,103444,103505,103509,103587,103591,103636,103640,103650,103695,103752,103759,103852,103859,103935,103941,103951,103959,103967,103972,104073,104079,104084,104103,104285,104299,104305,104333,104339,104439,104443,104512,104516,104526,104536,104546,104556,104566],{"type":426,"tag":427,"props":103315,"children":103316},{},[103317],{"type":431,"value":103318},"This n8n workflow automatically sends a WhatsApp apology message with a reorder link to Shopify customers when their order is cancelled or refunded. Using Rapiwa API ($5\u002Fmonth, no per-message fees), the message arrives within seconds of cancellation and includes a personalized discount code to encourage reordering. Over 139 developers use this template to recover lost revenue from cancelled orders.",{"type":426,"tag":434,"props":103320,"children":103321},{"id":47550},[103322],{"type":431,"value":47553},{"type":426,"tag":427,"props":103324,"children":103325},{},[103326,103328,103334,103335,103341],{"type":431,"value":103327},"When a Shopify order status changes to ",{"type":426,"tag":549,"props":103329,"children":103331},{"className":103330},[],[103332],{"type":431,"value":103333},"cancelled",{"type":431,"value":77103},{"type":426,"tag":549,"props":103336,"children":103338},{"className":103337},[],[103339],{"type":431,"value":103340},"refunded",{"type":431,"value":19071},{"type":426,"tag":6331,"props":103343,"children":103344},{},[103345,103349,103354,103359],{"type":426,"tag":458,"props":103346,"children":103347},{},[103348],{"type":431,"value":47566},{"type":426,"tag":458,"props":103350,"children":103351},{},[103352],{"type":431,"value":103353},"Retrieves the customer name, order number, and phone number",{"type":426,"tag":458,"props":103355,"children":103356},{},[103357],{"type":431,"value":103358},"Optionally creates a discount code for the reorder",{"type":426,"tag":458,"props":103360,"children":103361},{},[103362],{"type":431,"value":103363},"Sends a personalized WhatsApp apology with a reorder link via Rapiwa",{"type":426,"tag":427,"props":103365,"children":103366},{},[103367,103371],{"type":426,"tag":446,"props":103368,"children":103369},{},[103370],{"type":431,"value":43482},{"type":431,"value":103372},": 10–20% of customers who receive an apology + discount code reorder within 48 hours.",{"type":426,"tag":41290,"props":103374,"children":103375},{},[103376],{"type":426,"tag":427,"props":103377,"children":103378},{},[103379,103383,103384,103391],{"type":426,"tag":446,"props":103380,"children":103381},{},[103382],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":103385,"children":103388},{"href":103386,"rel":103387},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10237-send-rapiwa-whatsapp-apology-and-reorder-link-when-shopify-order-is-cancelled\u002F",[3823],[103389],{"type":431,"value":103390},"Send Rapiwa WhatsApp apology and reorder link when Shopify order is cancelled →",{"type":426,"tag":47617,"props":103392,"children":103393},{},[103394],{"type":431,"value":103395},"(139 installs)",{"type":426,"tag":434,"props":103397,"children":103398},{"id":47624},[103399],{"type":431,"value":47627},{"type":426,"tag":454,"props":103401,"children":103402},{},[103403,103416,103424,103433],{"type":426,"tag":458,"props":103404,"children":103405},{},[103406,103410,103411],{"type":426,"tag":446,"props":103407,"children":103408},{},[103409],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":103412,"children":103414},{"href":3821,"rel":103413},[3823],[103415],{"type":431,"value":47645},{"type":426,"tag":458,"props":103417,"children":103418},{},[103419,103423],{"type":426,"tag":446,"props":103420,"children":103421},{},[103422],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":103425,"children":103426},{},[103427,103431],{"type":426,"tag":446,"props":103428,"children":103429},{},[103430],{"type":431,"value":47663},{"type":431,"value":103432}," — Admin API access (requires Shopify store URL and Admin API access token)",{"type":426,"tag":458,"props":103434,"children":103435},{},[103436],{"type":431,"value":103437},"Customer phone numbers in Shopify orders",{"type":426,"tag":434,"props":103439,"children":103441},{"id":103440},"step-1-get-shopify-admin-api-credentials",[103442],{"type":431,"value":103443},"Step 1: Get Shopify Admin API Credentials",{"type":426,"tag":6331,"props":103445,"children":103446},{},[103447,103456,103473,103489],{"type":426,"tag":458,"props":103448,"children":103449},{},[103450,103451],{"type":431,"value":100717},{"type":426,"tag":446,"props":103452,"children":103453},{},[103454],{"type":431,"value":103455},"Settings → Apps and sales channels → Develop apps",{"type":426,"tag":458,"props":103457,"children":103458},{},[103459,103460,103465,103467],{"type":431,"value":47857},{"type":426,"tag":446,"props":103461,"children":103462},{},[103463],{"type":431,"value":103464},"Create an app",{"type":431,"value":103466}," → name it ",{"type":426,"tag":549,"props":103468,"children":103470},{"className":103469},[],[103471],{"type":431,"value":103472},"n8n WhatsApp Bot",{"type":426,"tag":458,"props":103474,"children":103475},{},[103476,103478,103483,103484],{"type":431,"value":103477},"Configure Admin API scopes: ",{"type":426,"tag":549,"props":103479,"children":103481},{"className":103480},[],[103482],{"type":431,"value":100758},{"type":431,"value":1907},{"type":426,"tag":549,"props":103485,"children":103487},{"className":103486},[],[103488],{"type":431,"value":100751},{"type":426,"tag":458,"props":103490,"children":103491},{},[103492,103493,103498,103500],{"type":431,"value":47857},{"type":426,"tag":446,"props":103494,"children":103495},{},[103496],{"type":431,"value":103497},"Install app",{"type":431,"value":103499}," and copy the ",{"type":426,"tag":446,"props":103501,"children":103502},{},[103503],{"type":431,"value":103504},"Admin API access token",{"type":426,"tag":434,"props":103506,"children":103507},{"id":47835},[103508],{"type":431,"value":47838},{"type":426,"tag":6331,"props":103510,"children":103511},{},[103512,103522,103530],{"type":426,"tag":458,"props":103513,"children":103514},{},[103515,103516],{"type":431,"value":47846},{"type":426,"tag":3819,"props":103517,"children":103519},{"href":103386,"rel":103518},[3823],[103520],{"type":431,"value":103521},"n8n.io\u002Fworkflows\u002F10237",{"type":426,"tag":458,"props":103523,"children":103524},{},[103525,103526],{"type":431,"value":47857},{"type":426,"tag":446,"props":103527,"children":103528},{},[103529],{"type":431,"value":47862},{"type":426,"tag":458,"props":103531,"children":103532},{},[103533,103534],{"type":431,"value":47867},{"type":426,"tag":454,"props":103535,"children":103536},{},[103537,103560,103569,103578],{"type":426,"tag":458,"props":103538,"children":103539},{},[103540,103544,103546,103551,103552,103558],{"type":426,"tag":446,"props":103541,"children":103542},{},[103543],{"type":431,"value":47878},{"type":431,"value":103545}," → fires on ",{"type":426,"tag":549,"props":103547,"children":103549},{"className":103548},[],[103550],{"type":431,"value":47885},{"type":431,"value":77103},{"type":426,"tag":549,"props":103553,"children":103555},{"className":103554},[],[103556],{"type":431,"value":103557},"orders\u002Fupdated",{"type":431,"value":103559}," (filtered to cancelled)",{"type":426,"tag":458,"props":103561,"children":103562},{},[103563,103567],{"type":426,"tag":446,"props":103564,"children":103565},{},[103566],{"type":431,"value":47911},{"type":431,"value":103568}," → checks if order status is cancelled",{"type":426,"tag":458,"props":103570,"children":103571},{},[103572,103576],{"type":426,"tag":446,"props":103573,"children":103574},{},[103575],{"type":431,"value":47921},{"type":431,"value":103577}," → builds the apology message",{"type":426,"tag":458,"props":103579,"children":103580},{},[103581,103585],{"type":426,"tag":446,"props":103582,"children":103583},{},[103584],{"type":431,"value":47931},{"type":431,"value":103586}," → sends WhatsApp message",{"type":426,"tag":434,"props":103588,"children":103589},{"id":47945},[103590],{"type":431,"value":47948},{"type":426,"tag":6331,"props":103592,"children":103593},{},[103594,103603,103627],{"type":426,"tag":458,"props":103595,"children":103596},{},[103597,103598,103602],{"type":431,"value":102040},{"type":426,"tag":446,"props":103599,"children":103600},{},[103601],{"type":431,"value":47878},{"type":431,"value":47961},{"type":426,"tag":458,"props":103604,"children":103605},{},[103606,103608],{"type":431,"value":103607},"Credentials → Create new → enter:\n",{"type":426,"tag":454,"props":103609,"children":103610},{},[103611,103622],{"type":426,"tag":458,"props":103612,"children":103613},{},[103614,103616],{"type":431,"value":103615},"Shop: ",{"type":426,"tag":549,"props":103617,"children":103619},{"className":103618},[],[103620],{"type":431,"value":103621},"yourstore.myshopify.com",{"type":426,"tag":458,"props":103623,"children":103624},{},[103625],{"type":431,"value":103626},"Access Token: (from step 1)",{"type":426,"tag":458,"props":103628,"children":103629},{},[103630,103631],{"type":431,"value":47971},{"type":426,"tag":549,"props":103632,"children":103634},{"className":103633},[],[103635],{"type":431,"value":47885},{"type":426,"tag":434,"props":103637,"children":103638},{"id":101083},[103639],{"type":431,"value":101086},{"type":426,"tag":427,"props":103641,"children":103642},{},[103643,103644,103648],{"type":431,"value":48065},{"type":426,"tag":446,"props":103645,"children":103646},{},[103647],{"type":431,"value":44949},{"type":431,"value":103649}," node \"Send WhatsApp Apology\":",{"type":426,"tag":454,"props":103651,"children":103652},{},[103653,103661,103674,103687],{"type":426,"tag":458,"props":103654,"children":103655},{},[103656,103660],{"type":426,"tag":446,"props":103657,"children":103658},{},[103659],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":103662,"children":103663},{},[103664,103668,103669],{"type":426,"tag":446,"props":103665,"children":103666},{},[103667],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":103670,"children":103672},{"className":103671},[],[103673],{"type":431,"value":48098},{"type":426,"tag":458,"props":103675,"children":103676},{},[103677,103681,103682],{"type":426,"tag":446,"props":103678,"children":103679},{},[103680],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":103683,"children":103685},{"className":103684},[],[103686],{"type":431,"value":48113},{"type":426,"tag":458,"props":103688,"children":103689},{},[103690,103694],{"type":426,"tag":446,"props":103691,"children":103692},{},[103693],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":103696,"children":103698},{"code":103697,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $('Shopify Trigger').item.json.billing_address.phone.replace(\u002F[^0-9]\u002Fg, '') }}\",\n  \"message\": \"={{ $json.apology_message }}\"\n}\n",[103699],{"type":426,"tag":549,"props":103700,"children":103701},{"__ignoreMap":417},[103702,103709,103729,103745],{"type":426,"tag":553,"props":103703,"children":103704},{"class":555,"line":556},[103705],{"type":426,"tag":553,"props":103706,"children":103707},{"style":684},[103708],{"type":431,"value":687},{"type":426,"tag":553,"props":103710,"children":103711},{"class":555,"line":588},[103712,103716,103720,103725],{"type":426,"tag":553,"props":103713,"children":103714},{"style":566},[103715],{"type":431,"value":7277},{"type":426,"tag":553,"props":103717,"children":103718},{"style":684},[103719],{"type":431,"value":700},{"type":426,"tag":553,"props":103721,"children":103722},{"style":572},[103723],{"type":431,"value":103724},"\"={{ $('Shopify Trigger').item.json.billing_address.phone.replace(\u002F[^0-9]\u002Fg, '') }}\"",{"type":426,"tag":553,"props":103726,"children":103727},{"style":684},[103728],{"type":431,"value":710},{"type":426,"tag":553,"props":103730,"children":103731},{"class":555,"line":606},[103732,103736,103740],{"type":426,"tag":553,"props":103733,"children":103734},{"style":566},[103735],{"type":431,"value":7298},{"type":426,"tag":553,"props":103737,"children":103738},{"style":684},[103739],{"type":431,"value":700},{"type":426,"tag":553,"props":103741,"children":103742},{"style":572},[103743],{"type":431,"value":103744},"\"={{ $json.apology_message }}\"\n",{"type":426,"tag":553,"props":103746,"children":103747},{"class":555,"line":623},[103748],{"type":426,"tag":553,"props":103749,"children":103750},{"style":684},[103751],{"type":431,"value":756},{"type":426,"tag":427,"props":103753,"children":103754},{},[103755],{"type":426,"tag":446,"props":103756,"children":103757},{},[103758],{"type":431,"value":48187},{"type":426,"tag":542,"props":103760,"children":103762},{"code":103761,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! 😔 We are sorry — your order #1234 has been cancelled.\\n\\nWe apologize for the inconvenience. As a thank you for your patience, here is 15% off your next order:\\n\\n🎟️ Code: SORRY15\\n✅ Valid for 7 days\\n\\nReorder here: https:\u002F\u002Fyourstore.com\u002F?discount=SORRY15\"\n  }'\n",[103763],{"type":426,"tag":549,"props":103764,"children":103765},{"__ignoreMap":417},[103766,103789,103804,103819,103830,103837,103845],{"type":426,"tag":553,"props":103767,"children":103768},{"class":555,"line":556},[103769,103773,103777,103781,103785],{"type":426,"tag":553,"props":103770,"children":103771},{"style":560},[103772],{"type":431,"value":563},{"type":426,"tag":553,"props":103774,"children":103775},{"style":566},[103776],{"type":431,"value":569},{"type":426,"tag":553,"props":103778,"children":103779},{"style":572},[103780],{"type":431,"value":575},{"type":426,"tag":553,"props":103782,"children":103783},{"style":572},[103784],{"type":431,"value":580},{"type":426,"tag":553,"props":103786,"children":103787},{"style":566},[103788],{"type":431,"value":585},{"type":426,"tag":553,"props":103790,"children":103791},{"class":555,"line":588},[103792,103796,103800],{"type":426,"tag":553,"props":103793,"children":103794},{"style":566},[103795],{"type":431,"value":594},{"type":426,"tag":553,"props":103797,"children":103798},{"style":572},[103799],{"type":431,"value":599},{"type":426,"tag":553,"props":103801,"children":103802},{"style":566},[103803],{"type":431,"value":585},{"type":426,"tag":553,"props":103805,"children":103806},{"class":555,"line":606},[103807,103811,103815],{"type":426,"tag":553,"props":103808,"children":103809},{"style":566},[103810],{"type":431,"value":594},{"type":426,"tag":553,"props":103812,"children":103813},{"style":572},[103814],{"type":431,"value":616},{"type":426,"tag":553,"props":103816,"children":103817},{"style":566},[103818],{"type":431,"value":585},{"type":426,"tag":553,"props":103820,"children":103821},{"class":555,"line":623},[103822,103826],{"type":426,"tag":553,"props":103823,"children":103824},{"style":566},[103825],{"type":431,"value":629},{"type":426,"tag":553,"props":103827,"children":103828},{"style":572},[103829],{"type":431,"value":634},{"type":426,"tag":553,"props":103831,"children":103832},{"class":555,"line":637},[103833],{"type":426,"tag":553,"props":103834,"children":103835},{"style":572},[103836],{"type":431,"value":643},{"type":426,"tag":553,"props":103838,"children":103839},{"class":555,"line":646},[103840],{"type":426,"tag":553,"props":103841,"children":103842},{"style":572},[103843],{"type":431,"value":103844},"    \"message\": \"Hi Sarah! 😔 We are sorry — your order #1234 has been cancelled.\\n\\nWe apologize for the inconvenience. As a thank you for your patience, here is 15% off your next order:\\n\\n🎟️ Code: SORRY15\\n✅ Valid for 7 days\\n\\nReorder here: https:\u002F\u002Fyourstore.com\u002F?discount=SORRY15\"\n",{"type":426,"tag":553,"props":103846,"children":103847},{"class":555,"line":655},[103848],{"type":426,"tag":553,"props":103849,"children":103850},{"style":572},[103851],{"type":431,"value":661},{"type":426,"tag":427,"props":103853,"children":103854},{},[103855],{"type":426,"tag":446,"props":103856,"children":103857},{},[103858],{"type":431,"value":669},{"type":426,"tag":542,"props":103860,"children":103862},{"code":103861,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_sorry_abc123\",\n  \"timestamp\": \"2026-06-17T10:30:00Z\"\n}\n",[103863],{"type":426,"tag":549,"props":103864,"children":103865},{"__ignoreMap":417},[103866,103873,103892,103912,103928],{"type":426,"tag":553,"props":103867,"children":103868},{"class":555,"line":556},[103869],{"type":426,"tag":553,"props":103870,"children":103871},{"style":684},[103872],{"type":431,"value":687},{"type":426,"tag":553,"props":103874,"children":103875},{"class":555,"line":588},[103876,103880,103884,103888],{"type":426,"tag":553,"props":103877,"children":103878},{"style":566},[103879],{"type":431,"value":695},{"type":426,"tag":553,"props":103881,"children":103882},{"style":684},[103883],{"type":431,"value":700},{"type":426,"tag":553,"props":103885,"children":103886},{"style":572},[103887],{"type":431,"value":705},{"type":426,"tag":553,"props":103889,"children":103890},{"style":684},[103891],{"type":431,"value":710},{"type":426,"tag":553,"props":103893,"children":103894},{"class":555,"line":606},[103895,103899,103903,103908],{"type":426,"tag":553,"props":103896,"children":103897},{"style":566},[103898],{"type":431,"value":718},{"type":426,"tag":553,"props":103900,"children":103901},{"style":684},[103902],{"type":431,"value":700},{"type":426,"tag":553,"props":103904,"children":103905},{"style":572},[103906],{"type":431,"value":103907},"\"msg_sorry_abc123\"",{"type":426,"tag":553,"props":103909,"children":103910},{"style":684},[103911],{"type":431,"value":710},{"type":426,"tag":553,"props":103913,"children":103914},{"class":555,"line":623},[103915,103919,103923],{"type":426,"tag":553,"props":103916,"children":103917},{"style":566},[103918],{"type":431,"value":739},{"type":426,"tag":553,"props":103920,"children":103921},{"style":684},[103922],{"type":431,"value":700},{"type":426,"tag":553,"props":103924,"children":103925},{"style":572},[103926],{"type":431,"value":103927},"\"2026-06-17T10:30:00Z\"\n",{"type":426,"tag":553,"props":103929,"children":103930},{"class":555,"line":637},[103931],{"type":426,"tag":553,"props":103932,"children":103933},{"style":684},[103934],{"type":431,"value":756},{"type":426,"tag":434,"props":103936,"children":103938},{"id":103937},"step-5-customize-the-apology-message",[103939],{"type":431,"value":103940},"Step 5: Customize the Apology Message",{"type":426,"tag":427,"props":103942,"children":103943},{},[103944,103946,103950],{"type":431,"value":103945},"Edit the message template in the ",{"type":426,"tag":446,"props":103947,"children":103948},{},[103949],{"type":431,"value":60378},{"type":431,"value":55423},{"type":426,"tag":542,"props":103952,"children":103954},{"code":103953},"Hi {{ $json.customer_first_name }}! 😔\n\nWe are sorry — your order #{{ $json.order_number }} has been cancelled.\n\n{{ $json.cancellation_reason_message }}\n\nAs an apology, here is *15% off* your next order:\n🎟️ *SORRY15*\n✅ Valid for 7 days\n\nReorder here with your discount applied:\n{{ $json.store_url }}?discount=SORRY15\n\nWe hope to serve you again soon. 🙏\n— {{ $json.store_name }} Team\n",[103955],{"type":426,"tag":549,"props":103956,"children":103957},{"__ignoreMap":417},[103958],{"type":431,"value":103953},{"type":426,"tag":427,"props":103960,"children":103961},{},[103962],{"type":426,"tag":446,"props":103963,"children":103964},{},[103965],{"type":431,"value":103966},"Adding dynamic cancellation reason messages:",{"type":426,"tag":427,"props":103968,"children":103969},{},[103970],{"type":431,"value":103971},"In n8n, use a Switch node to vary the message based on the cancellation reason:",{"type":426,"tag":10600,"props":103973,"children":103974},{},[103975,103991],{"type":426,"tag":10604,"props":103976,"children":103977},{},[103978],{"type":426,"tag":10608,"props":103979,"children":103980},{},[103981,103986],{"type":426,"tag":10612,"props":103982,"children":103983},{},[103984],{"type":431,"value":103985},"Shopify cancel reason",{"type":426,"tag":10612,"props":103987,"children":103988},{},[103989],{"type":431,"value":103990},"Message insert",{"type":426,"tag":10623,"props":103992,"children":103993},{},[103994,104011,104027,104043,104060],{"type":426,"tag":10608,"props":103995,"children":103996},{},[103997,104006],{"type":426,"tag":10630,"props":103998,"children":103999},{},[104000],{"type":426,"tag":549,"props":104001,"children":104003},{"className":104002},[],[104004],{"type":431,"value":104005},"inventory",{"type":426,"tag":10630,"props":104007,"children":104008},{},[104009],{"type":431,"value":104010},"\"Unfortunately, one of your items went out of stock.\"",{"type":426,"tag":10608,"props":104012,"children":104013},{},[104014,104022],{"type":426,"tag":10630,"props":104015,"children":104016},{},[104017],{"type":426,"tag":549,"props":104018,"children":104020},{"className":104019},[],[104021],{"type":431,"value":48685},{"type":426,"tag":10630,"props":104023,"children":104024},{},[104025],{"type":431,"value":104026},"\"We had to cancel your order for security reasons.\"",{"type":426,"tag":10608,"props":104028,"children":104029},{},[104030,104038],{"type":426,"tag":10630,"props":104031,"children":104032},{},[104033],{"type":426,"tag":549,"props":104034,"children":104036},{"className":104035},[],[104037],{"type":431,"value":48654},{"type":426,"tag":10630,"props":104039,"children":104040},{},[104041],{"type":431,"value":104042},"\"Your order has been cancelled as requested.\"",{"type":426,"tag":10608,"props":104044,"children":104045},{},[104046,104055],{"type":426,"tag":10630,"props":104047,"children":104048},{},[104049],{"type":426,"tag":549,"props":104050,"children":104052},{"className":104051},[],[104053],{"type":431,"value":104054},"declined",{"type":426,"tag":10630,"props":104056,"children":104057},{},[104058],{"type":431,"value":104059},"\"We were unable to process your payment.\"",{"type":426,"tag":10608,"props":104061,"children":104062},{},[104063,104068],{"type":426,"tag":10630,"props":104064,"children":104065},{},[104066],{"type":431,"value":104067},"Other",{"type":426,"tag":10630,"props":104069,"children":104070},{},[104071],{"type":431,"value":104072},"\"We had to cancel your order due to an unexpected issue.\"",{"type":426,"tag":434,"props":104074,"children":104076},{"id":104075},"step-6-add-a-discount-code-optional-but-recommended",[104077],{"type":431,"value":104078},"Step 6: Add a Discount Code (Optional but Recommended)",{"type":426,"tag":427,"props":104080,"children":104081},{},[104082],{"type":431,"value":104083},"Pair the apology with an auto-generated Shopify discount code to maximize reorder rates:",{"type":426,"tag":6331,"props":104085,"children":104086},{},[104087,104098],{"type":426,"tag":458,"props":104088,"children":104089},{},[104090,104092,104096],{"type":431,"value":104091},"In n8n, add an ",{"type":426,"tag":446,"props":104093,"children":104094},{},[104095],{"type":431,"value":44949},{"type":431,"value":104097}," node before the Rapiwa send",{"type":426,"tag":458,"props":104099,"children":104100},{},[104101],{"type":431,"value":104102},"POST to Shopify's Price Rules + Discount Codes API:",{"type":426,"tag":542,"props":104104,"children":104106},{"code":104105,"language":545,"meta":417,"className":546,"style":417},"# Create a 15% discount code for this customer\ncurl -X POST https:\u002F\u002Fyourstore.myshopify.com\u002Fadmin\u002Fapi\u002F2024-04\u002Fprice_rules.json \\\n  -H \"X-Shopify-Access-Token: YOUR_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"price_rule\": {\n      \"title\": \"SORRY15-ORDER1234\",\n      \"target_type\": \"line_item\",\n      \"target_selection\": \"all\",\n      \"allocation_method\": \"across\",\n      \"value_type\": \"percentage\",\n      \"value\": \"-15.0\",\n      \"customer_selection\": \"prerequisite\",\n      \"prerequisite_customer_ids\": [12345],\n      \"usage_limit\": 1,\n      \"starts_at\": \"2026-06-17T00:00:00Z\",\n      \"ends_at\": \"2026-06-24T00:00:00Z\"\n    }\n  }'\n",[104107],{"type":426,"tag":549,"props":104108,"children":104109},{"__ignoreMap":417},[104110,104118,104141,104156,104171,104182,104189,104197,104204,104211,104218,104225,104233,104240,104248,104255,104263,104271,104278],{"type":426,"tag":553,"props":104111,"children":104112},{"class":555,"line":556},[104113],{"type":426,"tag":553,"props":104114,"children":104115},{"style":1975},[104116],{"type":431,"value":104117},"# Create a 15% discount code for this customer\n",{"type":426,"tag":553,"props":104119,"children":104120},{"class":555,"line":588},[104121,104125,104129,104133,104137],{"type":426,"tag":553,"props":104122,"children":104123},{"style":560},[104124],{"type":431,"value":563},{"type":426,"tag":553,"props":104126,"children":104127},{"style":566},[104128],{"type":431,"value":569},{"type":426,"tag":553,"props":104130,"children":104131},{"style":572},[104132],{"type":431,"value":575},{"type":426,"tag":553,"props":104134,"children":104135},{"style":572},[104136],{"type":431,"value":100809},{"type":426,"tag":553,"props":104138,"children":104139},{"style":566},[104140],{"type":431,"value":585},{"type":426,"tag":553,"props":104142,"children":104143},{"class":555,"line":606},[104144,104148,104152],{"type":426,"tag":553,"props":104145,"children":104146},{"style":566},[104147],{"type":431,"value":594},{"type":426,"tag":553,"props":104149,"children":104150},{"style":572},[104151],{"type":431,"value":100825},{"type":426,"tag":553,"props":104153,"children":104154},{"style":566},[104155],{"type":431,"value":585},{"type":426,"tag":553,"props":104157,"children":104158},{"class":555,"line":623},[104159,104163,104167],{"type":426,"tag":553,"props":104160,"children":104161},{"style":566},[104162],{"type":431,"value":594},{"type":426,"tag":553,"props":104164,"children":104165},{"style":572},[104166],{"type":431,"value":616},{"type":426,"tag":553,"props":104168,"children":104169},{"style":566},[104170],{"type":431,"value":585},{"type":426,"tag":553,"props":104172,"children":104173},{"class":555,"line":637},[104174,104178],{"type":426,"tag":553,"props":104175,"children":104176},{"style":566},[104177],{"type":431,"value":629},{"type":426,"tag":553,"props":104179,"children":104180},{"style":572},[104181],{"type":431,"value":634},{"type":426,"tag":553,"props":104183,"children":104184},{"class":555,"line":646},[104185],{"type":426,"tag":553,"props":104186,"children":104187},{"style":572},[104188],{"type":431,"value":100863},{"type":426,"tag":553,"props":104190,"children":104191},{"class":555,"line":655},[104192],{"type":426,"tag":553,"props":104193,"children":104194},{"style":572},[104195],{"type":431,"value":104196},"      \"title\": \"SORRY15-ORDER1234\",\n",{"type":426,"tag":553,"props":104198,"children":104199},{"class":555,"line":1036},[104200],{"type":426,"tag":553,"props":104201,"children":104202},{"style":572},[104203],{"type":431,"value":100879},{"type":426,"tag":553,"props":104205,"children":104206},{"class":555,"line":1054},[104207],{"type":426,"tag":553,"props":104208,"children":104209},{"style":572},[104210],{"type":431,"value":100887},{"type":426,"tag":553,"props":104212,"children":104213},{"class":555,"line":1080},[104214],{"type":426,"tag":553,"props":104215,"children":104216},{"style":572},[104217],{"type":431,"value":100895},{"type":426,"tag":553,"props":104219,"children":104220},{"class":555,"line":1097},[104221],{"type":426,"tag":553,"props":104222,"children":104223},{"style":572},[104224],{"type":431,"value":100903},{"type":426,"tag":553,"props":104226,"children":104227},{"class":555,"line":1114},[104228],{"type":426,"tag":553,"props":104229,"children":104230},{"style":572},[104231],{"type":431,"value":104232},"      \"value\": \"-15.0\",\n",{"type":426,"tag":553,"props":104234,"children":104235},{"class":555,"line":1127},[104236],{"type":426,"tag":553,"props":104237,"children":104238},{"style":572},[104239],{"type":431,"value":100919},{"type":426,"tag":553,"props":104241,"children":104242},{"class":555,"line":1167},[104243],{"type":426,"tag":553,"props":104244,"children":104245},{"style":572},[104246],{"type":431,"value":104247},"      \"prerequisite_customer_ids\": [12345],\n",{"type":426,"tag":553,"props":104249,"children":104250},{"class":555,"line":1184},[104251],{"type":426,"tag":553,"props":104252,"children":104253},{"style":572},[104254],{"type":431,"value":100935},{"type":426,"tag":553,"props":104256,"children":104257},{"class":555,"line":1192},[104258],{"type":426,"tag":553,"props":104259,"children":104260},{"style":572},[104261],{"type":431,"value":104262},"      \"starts_at\": \"2026-06-17T00:00:00Z\",\n",{"type":426,"tag":553,"props":104264,"children":104265},{"class":555,"line":1210},[104266],{"type":426,"tag":553,"props":104267,"children":104268},{"style":572},[104269],{"type":431,"value":104270},"      \"ends_at\": \"2026-06-24T00:00:00Z\"\n",{"type":426,"tag":553,"props":104272,"children":104273},{"class":555,"line":1253},[104274],{"type":426,"tag":553,"props":104275,"children":104276},{"style":572},[104277],{"type":431,"value":5546},{"type":426,"tag":553,"props":104279,"children":104280},{"class":555,"line":1302},[104281],{"type":426,"tag":553,"props":104282,"children":104283},{"style":572},[104284],{"type":431,"value":661},{"type":426,"tag":6331,"props":104286,"children":104287},{"start":606},[104288],{"type":426,"tag":458,"props":104289,"children":104290},{},[104291,104293],{"type":431,"value":104292},"Then create the discount code using the returned ",{"type":426,"tag":549,"props":104294,"children":104296},{"className":104295},[],[104297],{"type":431,"value":104298},"price_rule_id",{"type":426,"tag":434,"props":104300,"children":104302},{"id":104301},"step-7-test-the-workflow",[104303],{"type":431,"value":104304},"Step 7: Test the Workflow",{"type":426,"tag":6331,"props":104306,"children":104307},{},[104308,104313,104323,104328],{"type":426,"tag":458,"props":104309,"children":104310},{},[104311],{"type":431,"value":104312},"Activate the workflow in n8n",{"type":426,"tag":458,"props":104314,"children":104315},{},[104316,104318],{"type":431,"value":104317},"In Shopify Admin → find a test order → set status to ",{"type":426,"tag":446,"props":104319,"children":104320},{},[104321],{"type":431,"value":104322},"Cancelled",{"type":426,"tag":458,"props":104324,"children":104325},{},[104326],{"type":431,"value":104327},"Check WhatsApp for the apology message within 10–15 seconds",{"type":426,"tag":458,"props":104329,"children":104330},{},[104331],{"type":431,"value":104332},"Verify n8n execution log shows success",{"type":426,"tag":434,"props":104334,"children":104336},{"id":104335},"what-makes-a-good-apology-message",[104337],{"type":431,"value":104338},"What Makes a Good Apology Message",{"type":426,"tag":10600,"props":104340,"children":104341},{},[104342,104358],{"type":426,"tag":10604,"props":104343,"children":104344},{},[104345],{"type":426,"tag":10608,"props":104346,"children":104347},{},[104348,104353],{"type":426,"tag":10612,"props":104349,"children":104350},{},[104351],{"type":431,"value":104352},"Element",{"type":426,"tag":10612,"props":104354,"children":104355},{},[104356],{"type":431,"value":104357},"Why it matters",{"type":426,"tag":10623,"props":104359,"children":104360},{},[104361,104374,104387,104400,104413,104426],{"type":426,"tag":10608,"props":104362,"children":104363},{},[104364,104369],{"type":426,"tag":10630,"props":104365,"children":104366},{},[104367],{"type":431,"value":104368},"Customer's first name",{"type":426,"tag":10630,"props":104370,"children":104371},{},[104372],{"type":431,"value":104373},"Personalization increases reorder likelihood by 2x",{"type":426,"tag":10608,"props":104375,"children":104376},{},[104377,104382],{"type":426,"tag":10630,"props":104378,"children":104379},{},[104380],{"type":431,"value":104381},"Specific order number",{"type":426,"tag":10630,"props":104383,"children":104384},{},[104385],{"type":431,"value":104386},"Shows you know their order, not a mass message",{"type":426,"tag":10608,"props":104388,"children":104389},{},[104390,104395],{"type":426,"tag":10630,"props":104391,"children":104392},{},[104393],{"type":431,"value":104394},"Cancellation reason",{"type":426,"tag":10630,"props":104396,"children":104397},{},[104398],{"type":431,"value":104399},"Explains what happened (reduces frustration)",{"type":426,"tag":10608,"props":104401,"children":104402},{},[104403,104408],{"type":426,"tag":10630,"props":104404,"children":104405},{},[104406],{"type":431,"value":104407},"Discount code",{"type":426,"tag":10630,"props":104409,"children":104410},{},[104411],{"type":431,"value":104412},"Incentivizes the reorder (15% is the sweet spot)",{"type":426,"tag":10608,"props":104414,"children":104415},{},[104416,104421],{"type":426,"tag":10630,"props":104417,"children":104418},{},[104419],{"type":431,"value":104420},"Direct reorder link",{"type":426,"tag":10630,"props":104422,"children":104423},{},[104424],{"type":431,"value":104425},"Removes friction — one click to reorder",{"type":426,"tag":10608,"props":104427,"children":104428},{},[104429,104434],{"type":426,"tag":10630,"props":104430,"children":104431},{},[104432],{"type":431,"value":104433},"Time limit on discount",{"type":426,"tag":10630,"props":104435,"children":104436},{},[104437],{"type":431,"value":104438},"Creates urgency (7 days works well)",{"type":426,"tag":434,"props":104440,"children":104441},{"id":18886},[104442],{"type":431,"value":18889},{"type":426,"tag":454,"props":104444,"children":104445},{},[104446,104471,104487,104495],{"type":426,"tag":458,"props":104447,"children":104448},{},[104449,104454,104456,104461,104463,104469],{"type":426,"tag":446,"props":104450,"children":104451},{},[104452],{"type":431,"value":104453},"Phone number empty",{"type":431,"value":104455},": Shopify orders may not have a phone. Add fallback to ",{"type":426,"tag":549,"props":104457,"children":104459},{"className":104458},[],[104460],{"type":431,"value":101727},{"type":431,"value":104462}," if ",{"type":426,"tag":549,"props":104464,"children":104466},{"className":104465},[],[104467],{"type":431,"value":104468},"billing_address.phone",{"type":431,"value":104470}," is empty",{"type":426,"tag":458,"props":104472,"children":104473},{},[104474,104479,104481],{"type":426,"tag":446,"props":104475,"children":104476},{},[104477],{"type":431,"value":104478},"Phone with country code formatting",{"type":431,"value":104480},": Strip non-digits: ",{"type":426,"tag":549,"props":104482,"children":104484},{"className":104483},[],[104485],{"type":431,"value":104486},"{{ $json.phone.replace(\u002F[^0-9]\u002Fg, '') }}",{"type":426,"tag":458,"props":104488,"children":104489},{},[104490,104494],{"type":426,"tag":446,"props":104491,"children":104492},{},[104493],{"type":431,"value":26117},{"type":431,"value":66557},{"type":426,"tag":458,"props":104496,"children":104497},{},[104498,104503,104505,104510],{"type":426,"tag":446,"props":104499,"children":104500},{},[104501],{"type":431,"value":104502},"Shopify webhook not firing",{"type":431,"value":104504},": Ensure your Shopify app has ",{"type":426,"tag":549,"props":104506,"children":104508},{"className":104507},[],[104509],{"type":431,"value":47885},{"type":431,"value":104511}," webhook configured and n8n workflow is active",{"type":426,"tag":434,"props":104513,"children":104514},{"id":4109},[104515],{"type":431,"value":4112},{"type":426,"tag":427,"props":104517,"children":104518},{},[104519,104524],{"type":426,"tag":446,"props":104520,"children":104521},{},[104522],{"type":431,"value":104523},"Should I always send an apology for cancelled orders?",{"type":431,"value":104525},"\nSend apology messages for cancellations you caused (out of stock, payment issues). For customer-requested cancellations, a shorter \"Confirmed cancellation\" message without a discount is more appropriate.",{"type":426,"tag":427,"props":104527,"children":104528},{},[104529,104534],{"type":426,"tag":446,"props":104530,"children":104531},{},[104532],{"type":431,"value":104533},"What discount amount works best for apology messages?",{"type":431,"value":104535},"\n15% is the standard for apology codes — high enough to feel meaningful, low enough to protect margins. For high-value orders ($200+), consider a fixed amount ($20 off) instead.",{"type":426,"tag":427,"props":104537,"children":104538},{},[104539,104544],{"type":426,"tag":446,"props":104540,"children":104541},{},[104542],{"type":431,"value":104543},"Does Rapiwa charge per apology message sent?",{"type":431,"value":104545},"\nNo. Rapiwa is $5\u002Fmonth flat with no per-message fees. Send unlimited apology and recovery messages.",{"type":426,"tag":427,"props":104547,"children":104548},{},[104549,104554],{"type":426,"tag":446,"props":104550,"children":104551},{},[104552],{"type":431,"value":104553},"Can I send the apology to the email too?",{"type":431,"value":104555},"\nYes. Add an n8n Email (SMTP) node after the Rapiwa send node to simultaneously email the same apology message as a backup for customers without WhatsApp.",{"type":426,"tag":427,"props":104557,"children":104558},{},[104559,104564],{"type":426,"tag":446,"props":104560,"children":104561},{},[104562],{"type":431,"value":104563},"What if the customer's order is cancelled because of fraud?",{"type":431,"value":104565},"\nUse a neutral message for fraud cancellations: \"We had to cancel your order for security reasons. Please contact our support team to resolve this.\" Don't include a discount code for fraud cases.",{"type":426,"tag":4164,"props":104567,"children":104568},{},[104569],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":104571},[104572,104573,104574,104575,104576,104577,104578,104579,104580,104581,104582,104583],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":103440,"depth":588,"text":103443},{"id":47835,"depth":588,"text":47838},{"id":47945,"depth":588,"text":47948},{"id":101083,"depth":588,"text":101086},{"id":103937,"depth":588,"text":103940},{"id":104075,"depth":588,"text":104078},{"id":104301,"depth":588,"text":104304},{"id":104335,"depth":588,"text":104338},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:shopify-cancelled-order-whatsapp-apology-rapiwa.md","blog\u002Fshopify-cancelled-order-whatsapp-apology-rapiwa.md","blog\u002Fshopify-cancelled-order-whatsapp-apology-rapiwa",{"loc":137},{"_path":141,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":142,"description":143,"date":104589,"author":36566,"category":22,"_slug":104590,"image":104591,"body":104592,"_type":4187,"_id":107285,"_source":4189,"_file":107286,"_stem":107287,"_extension":4192,"sitemap":107288},"2026-02-18","whatsapp-api-google-sheets-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-google-sheets-rapiwa.svg",{"type":423,"children":104593,"toc":107269},[104594,104606,104610,104663,104667,104689,104695,104700,104706,104710,104814,104820,104843,106298,106304,106341,106347,106366,106372,106377,106438,106443,106449,106454,106485,106493,106639,106645,106650,106934,106940,106945,107038,107045,107121,107125,107192,107196,107206,107216,107226,107255,107265],{"type":426,"tag":427,"props":104595,"children":104596},{},[104597,104599,104604],{"type":431,"value":104598},"You can send WhatsApp messages directly from Google Sheets by connecting it to Rapiwa API using Google Apps Script or n8n. Build a spreadsheet with a phone number column and message column, then run a script or workflow that calls Rapiwa's ",{"type":426,"tag":549,"props":104600,"children":104602},{"className":104601},[],[104603],{"type":431,"value":10660},{"type":431,"value":104605}," endpoint for each row. Rapiwa charges $5\u002Fmonth flat with no per-message fees — ideal for bulk notifications from a spreadsheet.",{"type":426,"tag":434,"props":104607,"children":104608},{"id":54682},[104609],{"type":431,"value":54685},{"type":426,"tag":454,"props":104611,"children":104612},{},[104613,104623,104633,104643,104653],{"type":426,"tag":458,"props":104614,"children":104615},{},[104616,104621],{"type":426,"tag":446,"props":104617,"children":104618},{},[104619],{"type":431,"value":104620},"Bulk WhatsApp notifications",{"type":431,"value":104622}," from a contact list in Google Sheets",{"type":426,"tag":458,"props":104624,"children":104625},{},[104626,104631],{"type":426,"tag":446,"props":104627,"children":104628},{},[104629],{"type":431,"value":104630},"Appointment reminders",{"type":431,"value":104632}," — trigger messages for appointments in a Sheet",{"type":426,"tag":458,"props":104634,"children":104635},{},[104636,104641],{"type":426,"tag":446,"props":104637,"children":104638},{},[104639],{"type":431,"value":104640},"Payment reminders",{"type":431,"value":104642}," — send WhatsApp reminders for unpaid invoices tracked in Sheets",{"type":426,"tag":458,"props":104644,"children":104645},{},[104646,104651],{"type":426,"tag":446,"props":104647,"children":104648},{},[104649],{"type":431,"value":104650},"Event invitations",{"type":431,"value":104652}," — message all attendees from an event registration spreadsheet",{"type":426,"tag":458,"props":104654,"children":104655},{},[104656,104661],{"type":426,"tag":446,"props":104657,"children":104658},{},[104659],{"type":431,"value":104660},"Daily reports",{"type":431,"value":104662}," — send each person in a Sheet a personalized daily summary",{"type":426,"tag":434,"props":104664,"children":104665},{"id":47624},[104666],{"type":431,"value":47627},{"type":426,"tag":454,"props":104668,"children":104669},{},[104670,104680,104684],{"type":426,"tag":458,"props":104671,"children":104672},{},[104673,104674,104679],{"type":431,"value":48828},{"type":426,"tag":3819,"props":104675,"children":104677},{"href":3821,"rel":104676},[3823],[104678],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":104681,"children":104682},{},[104683],{"type":431,"value":48840},{"type":426,"tag":458,"props":104685,"children":104686},{},[104687],{"type":431,"value":104688},"A Google account with access to Google Sheets",{"type":426,"tag":434,"props":104690,"children":104692},{"id":104691},"method-1-google-apps-script-no-extra-tools",[104693],{"type":431,"value":104694},"Method 1: Google Apps Script (No Extra Tools)",{"type":426,"tag":427,"props":104696,"children":104697},{},[104698],{"type":431,"value":104699},"This method uses only Google Sheets and the built-in Apps Script — no n8n or external tools needed.",{"type":426,"tag":515,"props":104701,"children":104703},{"id":104702},"step-1-set-up-your-google-sheet",[104704],{"type":431,"value":104705},"Step 1: Set Up Your Google Sheet",{"type":426,"tag":427,"props":104707,"children":104708},{},[104709],{"type":431,"value":99270},{"type":426,"tag":10600,"props":104711,"children":104712},{},[104713,104744],{"type":426,"tag":10604,"props":104714,"children":104715},{},[104716],{"type":426,"tag":10608,"props":104717,"children":104718},{},[104719,104724,104729,104734,104739],{"type":426,"tag":10612,"props":104720,"children":104721},{},[104722],{"type":431,"value":104723},"A (phone)",{"type":426,"tag":10612,"props":104725,"children":104726},{},[104727],{"type":431,"value":104728},"B (name)",{"type":426,"tag":10612,"props":104730,"children":104731},{},[104732],{"type":431,"value":104733},"C (message)",{"type":426,"tag":10612,"props":104735,"children":104736},{},[104737],{"type":431,"value":104738},"D (status)",{"type":426,"tag":10612,"props":104740,"children":104741},{},[104742],{"type":431,"value":104743},"E (sent_at)",{"type":426,"tag":10623,"props":104745,"children":104746},{},[104747,104769,104791],{"type":426,"tag":10608,"props":104748,"children":104749},{},[104750,104754,104758,104763,104766],{"type":426,"tag":10630,"props":104751,"children":104752},{},[104753],{"type":431,"value":7237},{"type":426,"tag":10630,"props":104755,"children":104756},{},[104757],{"type":431,"value":54836},{"type":426,"tag":10630,"props":104759,"children":104760},{},[104761],{"type":431,"value":104762},"Hi Sarah! Your appointment is tomorrow at 2PM.",{"type":426,"tag":10630,"props":104764,"children":104765},{},[],{"type":426,"tag":10630,"props":104767,"children":104768},{},[],{"type":426,"tag":10608,"props":104770,"children":104771},{},[104772,104776,104780,104785,104788],{"type":426,"tag":10630,"props":104773,"children":104774},{},[104775],{"type":431,"value":6779},{"type":426,"tag":10630,"props":104777,"children":104778},{},[104779],{"type":431,"value":54862},{"type":426,"tag":10630,"props":104781,"children":104782},{},[104783],{"type":431,"value":104784},"Hi James! Your invoice #1234 is due today.",{"type":426,"tag":10630,"props":104786,"children":104787},{},[],{"type":426,"tag":10630,"props":104789,"children":104790},{},[],{"type":426,"tag":10608,"props":104792,"children":104793},{},[104794,104798,104803,104808,104811],{"type":426,"tag":10630,"props":104795,"children":104796},{},[104797],{"type":431,"value":36525},{"type":426,"tag":10630,"props":104799,"children":104800},{},[104801],{"type":431,"value":104802},"Emma Davis",{"type":426,"tag":10630,"props":104804,"children":104805},{},[104806],{"type":431,"value":104807},"Hi Emma! Your order has shipped.",{"type":426,"tag":10630,"props":104809,"children":104810},{},[],{"type":426,"tag":10630,"props":104812,"children":104813},{},[],{"type":426,"tag":515,"props":104815,"children":104817},{"id":104816},"step-2-open-apps-script",[104818],{"type":431,"value":104819},"Step 2: Open Apps Script",{"type":426,"tag":6331,"props":104821,"children":104822},{},[104823,104833,104838],{"type":426,"tag":458,"props":104824,"children":104825},{},[104826,104828],{"type":431,"value":104827},"In your Google Sheet, click ",{"type":426,"tag":446,"props":104829,"children":104830},{},[104831],{"type":431,"value":104832},"Extensions → Apps Script",{"type":426,"tag":458,"props":104834,"children":104835},{},[104836],{"type":431,"value":104837},"Delete any existing code",{"type":426,"tag":458,"props":104839,"children":104840},{},[104841],{"type":431,"value":104842},"Paste the following script:",{"type":426,"tag":542,"props":104844,"children":104846},{"className":52113,"code":104845,"language":52115,"meta":417,"style":417},"const RAPIWA_API_KEY = 'YOUR_API_KEY'; \u002F\u002F Replace with your Rapiwa API key\nconst RAPIWA_URL = 'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message';\n\n\u002F**\n * Send WhatsApp messages to all rows where column D (status) is empty.\n * Run this function from the Apps Script editor or trigger it on a schedule.\n *\u002F\nfunction sendWhatsAppMessages() {\n  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();\n  const lastRow = sheet.getLastRow();\n  \n  \u002F\u002F Start from row 2 (row 1 = headers)\n  for (let row = 2; row \u003C= lastRow; row++) {\n    const phone = sheet.getRange(row, 1).getValue().toString().trim();\n    const name = sheet.getRange(row, 2).getValue().toString().trim();\n    const message = sheet.getRange(row, 3).getValue().toString().trim();\n    const status = sheet.getRange(row, 4).getValue().toString().trim();\n    \n    \u002F\u002F Skip if already sent or if data is missing\n    if (status === 'sent' || !phone || !message) {\n      continue;\n    }\n    \n    \u002F\u002F Send the WhatsApp message via Rapiwa\n    const result = sendMessage(phone, message);\n    \n    if (result.status === 'success') {\n      \u002F\u002F Mark as sent\n      sheet.getRange(row, 4).setValue('sent');\n      sheet.getRange(row, 5).setValue(new Date().toISOString());\n      console.log(`Sent to ${name} (${phone}): ${result.messageId}`);\n    } else {\n      sheet.getRange(row, 4).setValue('failed: ' + JSON.stringify(result));\n      console.error(`Failed to send to ${name} (${phone})`);\n    }\n    \n    \u002F\u002F Add 1-second delay between messages to respect rate limits\n    Utilities.sleep(1000);\n  }\n  \n  console.log('All messages processed.');\n}\n\n\u002F**\n * Call the Rapiwa API to send a single WhatsApp message.\n *\u002F\nfunction sendMessage(phone, message) {\n  const options = {\n    method: 'post',\n    contentType: 'application\u002Fjson',\n    headers: {\n      'Authorization': 'Bearer ' + RAPIWA_API_KEY\n    },\n    payload: JSON.stringify({\n      number: phone,\n      message: message\n    }),\n    muteHttpExceptions: true\n  };\n  \n  const response = UrlFetchApp.fetch(RAPIWA_URL, options);\n  return JSON.parse(response.getContentText());\n}\n\n\u002F**\n * Add a custom menu to the Google Sheet for easy access.\n *\u002F\nfunction onOpen() {\n  SpreadsheetApp.getUi()\n    .createMenu('WhatsApp')\n    .addItem('Send Messages', 'sendWhatsAppMessages')\n    .addToUi();\n}\n",[104847],{"type":426,"tag":549,"props":104848,"children":104849},{"__ignoreMap":417},[104850,104878,104902,104909,104916,104924,104932,104939,104955,104994,105024,105031,105039,105091,105154,105213,105272,105333,105340,105348,105395,105407,105414,105421,105429,105452,105459,105482,105490,105531,105584,105643,105659,105716,105757,105764,105771,105779,105804,105811,105818,105842,105849,105856,105863,105871,105878,105909,105929,105945,105961,105968,105992,105999,106023,106031,106039,106047,106060,106067,106074,106113,106146,106153,106160,106167,106175,106182,106198,106215,106241,106275,106291],{"type":426,"tag":553,"props":104851,"children":104852},{"class":555,"line":556},[104853,104857,104861,104865,104869,104873],{"type":426,"tag":553,"props":104854,"children":104855},{"style":795},[104856],{"type":431,"value":52135},{"type":426,"tag":553,"props":104858,"children":104859},{"style":566},[104860],{"type":431,"value":52307},{"type":426,"tag":553,"props":104862,"children":104863},{"style":795},[104864],{"type":431,"value":8739},{"type":426,"tag":553,"props":104866,"children":104867},{"style":572},[104868],{"type":431,"value":52316},{"type":426,"tag":553,"props":104870,"children":104871},{"style":684},[104872],{"type":431,"value":60918},{"type":426,"tag":553,"props":104874,"children":104875},{"style":1975},[104876],{"type":431,"value":104877},"\u002F\u002F Replace with your Rapiwa API key\n",{"type":426,"tag":553,"props":104879,"children":104880},{"class":555,"line":588},[104881,104885,104890,104894,104898],{"type":426,"tag":553,"props":104882,"children":104883},{"style":795},[104884],{"type":431,"value":52135},{"type":426,"tag":553,"props":104886,"children":104887},{"style":566},[104888],{"type":431,"value":104889}," RAPIWA_URL",{"type":426,"tag":553,"props":104891,"children":104892},{"style":795},[104893],{"type":431,"value":8739},{"type":426,"tag":553,"props":104895,"children":104896},{"style":572},[104897],{"type":431,"value":60881},{"type":426,"tag":553,"props":104899,"children":104900},{"style":684},[104901],{"type":431,"value":52321},{"type":426,"tag":553,"props":104903,"children":104904},{"class":555,"line":606},[104905],{"type":426,"tag":553,"props":104906,"children":104907},{"emptyLinePlaceholder":831},[104908],{"type":431,"value":834},{"type":426,"tag":553,"props":104910,"children":104911},{"class":555,"line":623},[104912],{"type":426,"tag":553,"props":104913,"children":104914},{"style":1975},[104915],{"type":431,"value":96597},{"type":426,"tag":553,"props":104917,"children":104918},{"class":555,"line":637},[104919],{"type":426,"tag":553,"props":104920,"children":104921},{"style":1975},[104922],{"type":431,"value":104923}," * Send WhatsApp messages to all rows where column D (status) is empty.\n",{"type":426,"tag":553,"props":104925,"children":104926},{"class":555,"line":646},[104927],{"type":426,"tag":553,"props":104928,"children":104929},{"style":1975},[104930],{"type":431,"value":104931}," * Run this function from the Apps Script editor or trigger it on a schedule.\n",{"type":426,"tag":553,"props":104933,"children":104934},{"class":555,"line":655},[104935],{"type":426,"tag":553,"props":104936,"children":104937},{"style":1975},[104938],{"type":431,"value":96621},{"type":426,"tag":553,"props":104940,"children":104941},{"class":555,"line":1036},[104942,104946,104951],{"type":426,"tag":553,"props":104943,"children":104944},{"style":795},[104945],{"type":431,"value":79962},{"type":426,"tag":553,"props":104947,"children":104948},{"style":560},[104949],{"type":431,"value":104950}," sendWhatsAppMessages",{"type":426,"tag":553,"props":104952,"children":104953},{"style":684},[104954],{"type":431,"value":69042},{"type":426,"tag":553,"props":104956,"children":104957},{"class":555,"line":1054},[104958,104962,104967,104971,104976,104981,104985,104990],{"type":426,"tag":553,"props":104959,"children":104960},{"style":795},[104961],{"type":431,"value":52540},{"type":426,"tag":553,"props":104963,"children":104964},{"style":566},[104965],{"type":431,"value":104966}," sheet",{"type":426,"tag":553,"props":104968,"children":104969},{"style":795},[104970],{"type":431,"value":8739},{"type":426,"tag":553,"props":104972,"children":104973},{"style":684},[104974],{"type":431,"value":104975}," SpreadsheetApp.",{"type":426,"tag":553,"props":104977,"children":104978},{"style":560},[104979],{"type":431,"value":104980},"getActiveSpreadsheet",{"type":426,"tag":553,"props":104982,"children":104983},{"style":684},[104984],{"type":431,"value":53311},{"type":426,"tag":553,"props":104986,"children":104987},{"style":560},[104988],{"type":431,"value":104989},"getActiveSheet",{"type":426,"tag":553,"props":104991,"children":104992},{"style":684},[104993],{"type":431,"value":53227},{"type":426,"tag":553,"props":104995,"children":104996},{"class":555,"line":1080},[104997,105001,105006,105010,105015,105020],{"type":426,"tag":553,"props":104998,"children":104999},{"style":795},[105000],{"type":431,"value":52540},{"type":426,"tag":553,"props":105002,"children":105003},{"style":566},[105004],{"type":431,"value":105005}," lastRow",{"type":426,"tag":553,"props":105007,"children":105008},{"style":795},[105009],{"type":431,"value":8739},{"type":426,"tag":553,"props":105011,"children":105012},{"style":684},[105013],{"type":431,"value":105014}," sheet.",{"type":426,"tag":553,"props":105016,"children":105017},{"style":560},[105018],{"type":431,"value":105019},"getLastRow",{"type":426,"tag":553,"props":105021,"children":105022},{"style":684},[105023],{"type":431,"value":53227},{"type":426,"tag":553,"props":105025,"children":105026},{"class":555,"line":1097},[105027],{"type":426,"tag":553,"props":105028,"children":105029},{"style":684},[105030],{"type":431,"value":52575},{"type":426,"tag":553,"props":105032,"children":105033},{"class":555,"line":1114},[105034],{"type":426,"tag":553,"props":105035,"children":105036},{"style":1975},[105037],{"type":431,"value":105038},"  \u002F\u002F Start from row 2 (row 1 = headers)\n",{"type":426,"tag":553,"props":105040,"children":105041},{"class":555,"line":1127},[105042,105047,105051,105056,105060,105064,105068,105073,105077,105082,105087],{"type":426,"tag":553,"props":105043,"children":105044},{"style":795},[105045],{"type":431,"value":105046},"  for",{"type":426,"tag":553,"props":105048,"children":105049},{"style":684},[105050],{"type":431,"value":5684},{"type":426,"tag":553,"props":105052,"children":105053},{"style":795},[105054],{"type":431,"value":105055},"let",{"type":426,"tag":553,"props":105057,"children":105058},{"style":684},[105059],{"type":431,"value":58503},{"type":426,"tag":553,"props":105061,"children":105062},{"style":795},[105063],{"type":431,"value":957},{"type":426,"tag":553,"props":105065,"children":105066},{"style":566},[105067],{"type":431,"value":9072},{"type":426,"tag":553,"props":105069,"children":105070},{"style":684},[105071],{"type":431,"value":105072},"; row ",{"type":426,"tag":553,"props":105074,"children":105075},{"style":795},[105076],{"type":431,"value":15722},{"type":426,"tag":553,"props":105078,"children":105079},{"style":684},[105080],{"type":431,"value":105081}," lastRow; row",{"type":426,"tag":553,"props":105083,"children":105084},{"style":795},[105085],{"type":431,"value":105086},"++",{"type":426,"tag":553,"props":105088,"children":105089},{"style":684},[105090],{"type":431,"value":52385},{"type":426,"tag":553,"props":105092,"children":105093},{"class":555,"line":1167},[105094,105098,105102,105106,105110,105115,105120,105124,105128,105133,105137,105141,105145,105150],{"type":426,"tag":553,"props":105095,"children":105096},{"style":795},[105097],{"type":431,"value":85411},{"type":426,"tag":553,"props":105099,"children":105100},{"style":566},[105101],{"type":431,"value":55668},{"type":426,"tag":553,"props":105103,"children":105104},{"style":795},[105105],{"type":431,"value":8739},{"type":426,"tag":553,"props":105107,"children":105108},{"style":684},[105109],{"type":431,"value":105014},{"type":426,"tag":553,"props":105111,"children":105112},{"style":560},[105113],{"type":431,"value":105114},"getRange",{"type":426,"tag":553,"props":105116,"children":105117},{"style":684},[105118],{"type":431,"value":105119},"(row, ",{"type":426,"tag":553,"props":105121,"children":105122},{"style":566},[105123],{"type":431,"value":1921},{"type":426,"tag":553,"props":105125,"children":105126},{"style":684},[105127],{"type":431,"value":53330},{"type":426,"tag":553,"props":105129,"children":105130},{"style":560},[105131],{"type":431,"value":105132},"getValue",{"type":426,"tag":553,"props":105134,"children":105135},{"style":684},[105136],{"type":431,"value":53311},{"type":426,"tag":553,"props":105138,"children":105139},{"style":560},[105140],{"type":431,"value":53316},{"type":426,"tag":553,"props":105142,"children":105143},{"style":684},[105144],{"type":431,"value":53311},{"type":426,"tag":553,"props":105146,"children":105147},{"style":560},[105148],{"type":431,"value":105149},"trim",{"type":426,"tag":553,"props":105151,"children":105152},{"style":684},[105153],{"type":431,"value":53227},{"type":426,"tag":553,"props":105155,"children":105156},{"class":555,"line":1184},[105157,105161,105165,105169,105173,105177,105181,105185,105189,105193,105197,105201,105205,105209],{"type":426,"tag":553,"props":105158,"children":105159},{"style":795},[105160],{"type":431,"value":85411},{"type":426,"tag":553,"props":105162,"children":105163},{"style":566},[105164],{"type":431,"value":25973},{"type":426,"tag":553,"props":105166,"children":105167},{"style":795},[105168],{"type":431,"value":8739},{"type":426,"tag":553,"props":105170,"children":105171},{"style":684},[105172],{"type":431,"value":105014},{"type":426,"tag":553,"props":105174,"children":105175},{"style":560},[105176],{"type":431,"value":105114},{"type":426,"tag":553,"props":105178,"children":105179},{"style":684},[105180],{"type":431,"value":105119},{"type":426,"tag":553,"props":105182,"children":105183},{"style":566},[105184],{"type":431,"value":6533},{"type":426,"tag":553,"props":105186,"children":105187},{"style":684},[105188],{"type":431,"value":53330},{"type":426,"tag":553,"props":105190,"children":105191},{"style":560},[105192],{"type":431,"value":105132},{"type":426,"tag":553,"props":105194,"children":105195},{"style":684},[105196],{"type":431,"value":53311},{"type":426,"tag":553,"props":105198,"children":105199},{"style":560},[105200],{"type":431,"value":53316},{"type":426,"tag":553,"props":105202,"children":105203},{"style":684},[105204],{"type":431,"value":53311},{"type":426,"tag":553,"props":105206,"children":105207},{"style":560},[105208],{"type":431,"value":105149},{"type":426,"tag":553,"props":105210,"children":105211},{"style":684},[105212],{"type":431,"value":53227},{"type":426,"tag":553,"props":105214,"children":105215},{"class":555,"line":1192},[105216,105220,105224,105228,105232,105236,105240,105244,105248,105252,105256,105260,105264,105268],{"type":426,"tag":553,"props":105217,"children":105218},{"style":795},[105219],{"type":431,"value":85411},{"type":426,"tag":553,"props":105221,"children":105222},{"style":566},[105223],{"type":431,"value":55741},{"type":426,"tag":553,"props":105225,"children":105226},{"style":795},[105227],{"type":431,"value":8739},{"type":426,"tag":553,"props":105229,"children":105230},{"style":684},[105231],{"type":431,"value":105014},{"type":426,"tag":553,"props":105233,"children":105234},{"style":560},[105235],{"type":431,"value":105114},{"type":426,"tag":553,"props":105237,"children":105238},{"style":684},[105239],{"type":431,"value":105119},{"type":426,"tag":553,"props":105241,"children":105242},{"style":566},[105243],{"type":431,"value":1912},{"type":426,"tag":553,"props":105245,"children":105246},{"style":684},[105247],{"type":431,"value":53330},{"type":426,"tag":553,"props":105249,"children":105250},{"style":560},[105251],{"type":431,"value":105132},{"type":426,"tag":553,"props":105253,"children":105254},{"style":684},[105255],{"type":431,"value":53311},{"type":426,"tag":553,"props":105257,"children":105258},{"style":560},[105259],{"type":431,"value":53316},{"type":426,"tag":553,"props":105261,"children":105262},{"style":684},[105263],{"type":431,"value":53311},{"type":426,"tag":553,"props":105265,"children":105266},{"style":560},[105267],{"type":431,"value":105149},{"type":426,"tag":553,"props":105269,"children":105270},{"style":684},[105271],{"type":431,"value":53227},{"type":426,"tag":553,"props":105273,"children":105274},{"class":555,"line":1210},[105275,105279,105284,105288,105292,105296,105300,105305,105309,105313,105317,105321,105325,105329],{"type":426,"tag":553,"props":105276,"children":105277},{"style":795},[105278],{"type":431,"value":85411},{"type":426,"tag":553,"props":105280,"children":105281},{"style":566},[105282],{"type":431,"value":105283}," status",{"type":426,"tag":553,"props":105285,"children":105286},{"style":795},[105287],{"type":431,"value":8739},{"type":426,"tag":553,"props":105289,"children":105290},{"style":684},[105291],{"type":431,"value":105014},{"type":426,"tag":553,"props":105293,"children":105294},{"style":560},[105295],{"type":431,"value":105114},{"type":426,"tag":553,"props":105297,"children":105298},{"style":684},[105299],{"type":431,"value":105119},{"type":426,"tag":553,"props":105301,"children":105302},{"style":566},[105303],{"type":431,"value":105304},"4",{"type":426,"tag":553,"props":105306,"children":105307},{"style":684},[105308],{"type":431,"value":53330},{"type":426,"tag":553,"props":105310,"children":105311},{"style":560},[105312],{"type":431,"value":105132},{"type":426,"tag":553,"props":105314,"children":105315},{"style":684},[105316],{"type":431,"value":53311},{"type":426,"tag":553,"props":105318,"children":105319},{"style":560},[105320],{"type":431,"value":53316},{"type":426,"tag":553,"props":105322,"children":105323},{"style":684},[105324],{"type":431,"value":53311},{"type":426,"tag":553,"props":105326,"children":105327},{"style":560},[105328],{"type":431,"value":105149},{"type":426,"tag":553,"props":105330,"children":105331},{"style":684},[105332],{"type":431,"value":53227},{"type":426,"tag":553,"props":105334,"children":105335},{"class":555,"line":1253},[105336],{"type":426,"tag":553,"props":105337,"children":105338},{"style":684},[105339],{"type":431,"value":917},{"type":426,"tag":553,"props":105341,"children":105342},{"class":555,"line":1302},[105343],{"type":426,"tag":553,"props":105344,"children":105345},{"style":1975},[105346],{"type":431,"value":105347},"    \u002F\u002F Skip if already sent or if data is missing\n",{"type":426,"tag":553,"props":105349,"children":105350},{"class":555,"line":1374},[105351,105355,105360,105364,105368,105372,105377,105382,105386,105390],{"type":426,"tag":553,"props":105352,"children":105353},{"style":795},[105354],{"type":431,"value":925},{"type":426,"tag":553,"props":105356,"children":105357},{"style":684},[105358],{"type":431,"value":105359}," (status ",{"type":426,"tag":553,"props":105361,"children":105362},{"style":795},[105363],{"type":431,"value":55042},{"type":426,"tag":553,"props":105365,"children":105366},{"style":572},[105367],{"type":431,"value":89052},{"type":426,"tag":553,"props":105369,"children":105370},{"style":795},[105371],{"type":431,"value":84619},{"type":426,"tag":553,"props":105373,"children":105374},{"style":795},[105375],{"type":431,"value":105376}," !",{"type":426,"tag":553,"props":105378,"children":105379},{"style":684},[105380],{"type":431,"value":105381},"phone ",{"type":426,"tag":553,"props":105383,"children":105384},{"style":795},[105385],{"type":431,"value":53296},{"type":426,"tag":553,"props":105387,"children":105388},{"style":795},[105389],{"type":431,"value":105376},{"type":426,"tag":553,"props":105391,"children":105392},{"style":684},[105393],{"type":431,"value":105394},"message) {\n",{"type":426,"tag":553,"props":105396,"children":105397},{"class":555,"line":1414},[105398,105403],{"type":426,"tag":553,"props":105399,"children":105400},{"style":795},[105401],{"type":431,"value":105402},"      continue",{"type":426,"tag":553,"props":105404,"children":105405},{"style":684},[105406],{"type":431,"value":52321},{"type":426,"tag":553,"props":105408,"children":105409},{"class":555,"line":1479},[105410],{"type":426,"tag":553,"props":105411,"children":105412},{"style":684},[105413],{"type":431,"value":5546},{"type":426,"tag":553,"props":105415,"children":105416},{"class":555,"line":1517},[105417],{"type":426,"tag":553,"props":105418,"children":105419},{"style":684},[105420],{"type":431,"value":917},{"type":426,"tag":553,"props":105422,"children":105423},{"class":555,"line":1560},[105424],{"type":426,"tag":553,"props":105425,"children":105426},{"style":1975},[105427],{"type":431,"value":105428},"    \u002F\u002F Send the WhatsApp message via Rapiwa\n",{"type":426,"tag":553,"props":105430,"children":105431},{"class":555,"line":1598},[105432,105436,105440,105444,105448],{"type":426,"tag":553,"props":105433,"children":105434},{"style":795},[105435],{"type":431,"value":85411},{"type":426,"tag":553,"props":105437,"children":105438},{"style":566},[105439],{"type":431,"value":53508},{"type":426,"tag":553,"props":105441,"children":105442},{"style":795},[105443],{"type":431,"value":8739},{"type":426,"tag":553,"props":105445,"children":105446},{"style":560},[105447],{"type":431,"value":67188},{"type":426,"tag":553,"props":105449,"children":105450},{"style":684},[105451],{"type":431,"value":62085},{"type":426,"tag":553,"props":105453,"children":105454},{"class":555,"line":1636},[105455],{"type":426,"tag":553,"props":105456,"children":105457},{"style":684},[105458],{"type":431,"value":917},{"type":426,"tag":553,"props":105460,"children":105461},{"class":555,"line":1645},[105462,105466,105470,105474,105478],{"type":426,"tag":553,"props":105463,"children":105464},{"style":795},[105465],{"type":431,"value":925},{"type":426,"tag":553,"props":105467,"children":105468},{"style":684},[105469],{"type":431,"value":97265},{"type":426,"tag":553,"props":105471,"children":105472},{"style":795},[105473],{"type":431,"value":55042},{"type":426,"tag":553,"props":105475,"children":105476},{"style":572},[105477],{"type":431,"value":2996},{"type":426,"tag":553,"props":105479,"children":105480},{"style":684},[105481],{"type":431,"value":52385},{"type":426,"tag":553,"props":105483,"children":105484},{"class":555,"line":1653},[105485],{"type":426,"tag":553,"props":105486,"children":105487},{"style":1975},[105488],{"type":431,"value":105489},"      \u002F\u002F Mark as sent\n",{"type":426,"tag":553,"props":105491,"children":105492},{"class":555,"line":1667},[105493,105498,105502,105506,105510,105514,105519,105523,105527],{"type":426,"tag":553,"props":105494,"children":105495},{"style":684},[105496],{"type":431,"value":105497},"      sheet.",{"type":426,"tag":553,"props":105499,"children":105500},{"style":560},[105501],{"type":431,"value":105114},{"type":426,"tag":553,"props":105503,"children":105504},{"style":684},[105505],{"type":431,"value":105119},{"type":426,"tag":553,"props":105507,"children":105508},{"style":566},[105509],{"type":431,"value":105304},{"type":426,"tag":553,"props":105511,"children":105512},{"style":684},[105513],{"type":431,"value":53330},{"type":426,"tag":553,"props":105515,"children":105516},{"style":560},[105517],{"type":431,"value":105518},"setValue",{"type":426,"tag":553,"props":105520,"children":105521},{"style":684},[105522],{"type":431,"value":3275},{"type":426,"tag":553,"props":105524,"children":105525},{"style":572},[105526],{"type":431,"value":2771},{"type":426,"tag":553,"props":105528,"children":105529},{"style":684},[105530],{"type":431,"value":11379},{"type":426,"tag":553,"props":105532,"children":105533},{"class":555,"line":1680},[105534,105538,105542,105546,105550,105554,105558,105562,105566,105571,105575,105580],{"type":426,"tag":553,"props":105535,"children":105536},{"style":684},[105537],{"type":431,"value":105497},{"type":426,"tag":553,"props":105539,"children":105540},{"style":560},[105541],{"type":431,"value":105114},{"type":426,"tag":553,"props":105543,"children":105544},{"style":684},[105545],{"type":431,"value":105119},{"type":426,"tag":553,"props":105547,"children":105548},{"style":566},[105549],{"type":431,"value":9306},{"type":426,"tag":553,"props":105551,"children":105552},{"style":684},[105553],{"type":431,"value":53330},{"type":426,"tag":553,"props":105555,"children":105556},{"style":560},[105557],{"type":431,"value":105518},{"type":426,"tag":553,"props":105559,"children":105560},{"style":684},[105561],{"type":431,"value":3275},{"type":426,"tag":553,"props":105563,"children":105564},{"style":795},[105565],{"type":431,"value":52602},{"type":426,"tag":553,"props":105567,"children":105568},{"style":560},[105569],{"type":431,"value":105570}," Date",{"type":426,"tag":553,"props":105572,"children":105573},{"style":684},[105574],{"type":431,"value":53311},{"type":426,"tag":553,"props":105576,"children":105577},{"style":560},[105578],{"type":431,"value":105579},"toISOString",{"type":426,"tag":553,"props":105581,"children":105582},{"style":684},[105583],{"type":431,"value":61503},{"type":426,"tag":553,"props":105585,"children":105586},{"class":555,"line":1740},[105587,105592,105596,105600,105605,105609,105614,105618,105623,105627,105631,105635,105639],{"type":426,"tag":553,"props":105588,"children":105589},{"style":684},[105590],{"type":431,"value":105591},"      console.",{"type":426,"tag":553,"props":105593,"children":105594},{"style":560},[105595],{"type":431,"value":53719},{"type":426,"tag":553,"props":105597,"children":105598},{"style":684},[105599],{"type":431,"value":3275},{"type":426,"tag":553,"props":105601,"children":105602},{"style":572},[105603],{"type":431,"value":105604},"`Sent to ${",{"type":426,"tag":553,"props":105606,"children":105607},{"style":684},[105608],{"type":431,"value":24468},{"type":426,"tag":553,"props":105610,"children":105611},{"style":572},[105612],{"type":431,"value":105613},"} (${",{"type":426,"tag":553,"props":105615,"children":105616},{"style":684},[105617],{"type":431,"value":37598},{"type":426,"tag":553,"props":105619,"children":105620},{"style":572},[105621],{"type":431,"value":105622},"}): ${",{"type":426,"tag":553,"props":105624,"children":105625},{"style":684},[105626],{"type":431,"value":53704},{"type":426,"tag":553,"props":105628,"children":105629},{"style":572},[105630],{"type":431,"value":6789},{"type":426,"tag":553,"props":105632,"children":105633},{"style":684},[105634],{"type":431,"value":8253},{"type":426,"tag":553,"props":105636,"children":105637},{"style":572},[105638],{"type":431,"value":52718},{"type":426,"tag":553,"props":105640,"children":105641},{"style":684},[105642],{"type":431,"value":11379},{"type":426,"tag":553,"props":105644,"children":105645},{"class":555,"line":1787},[105646,105651,105655],{"type":426,"tag":553,"props":105647,"children":105648},{"style":684},[105649],{"type":431,"value":105650},"    } ",{"type":426,"tag":553,"props":105652,"children":105653},{"style":795},[105654],{"type":431,"value":61682},{"type":426,"tag":553,"props":105656,"children":105657},{"style":684},[105658],{"type":431,"value":5458},{"type":426,"tag":553,"props":105660,"children":105661},{"class":555,"line":1796},[105662,105666,105670,105674,105678,105682,105686,105690,105695,105699,105704,105708,105712],{"type":426,"tag":553,"props":105663,"children":105664},{"style":684},[105665],{"type":431,"value":105497},{"type":426,"tag":553,"props":105667,"children":105668},{"style":560},[105669],{"type":431,"value":105114},{"type":426,"tag":553,"props":105671,"children":105672},{"style":684},[105673],{"type":431,"value":105119},{"type":426,"tag":553,"props":105675,"children":105676},{"style":566},[105677],{"type":431,"value":105304},{"type":426,"tag":553,"props":105679,"children":105680},{"style":684},[105681],{"type":431,"value":53330},{"type":426,"tag":553,"props":105683,"children":105684},{"style":560},[105685],{"type":431,"value":105518},{"type":426,"tag":553,"props":105687,"children":105688},{"style":684},[105689],{"type":431,"value":3275},{"type":426,"tag":553,"props":105691,"children":105692},{"style":572},[105693],{"type":431,"value":105694},"'failed: '",{"type":426,"tag":553,"props":105696,"children":105697},{"style":795},[105698],{"type":431,"value":61140},{"type":426,"tag":553,"props":105700,"children":105701},{"style":566},[105702],{"type":431,"value":105703}," JSON",{"type":426,"tag":553,"props":105705,"children":105706},{"style":684},[105707],{"type":431,"value":6789},{"type":426,"tag":553,"props":105709,"children":105710},{"style":560},[105711],{"type":431,"value":53187},{"type":426,"tag":553,"props":105713,"children":105714},{"style":684},[105715],{"type":431,"value":59745},{"type":426,"tag":553,"props":105717,"children":105718},{"class":555,"line":1804},[105719,105723,105727,105731,105736,105740,105744,105748,105753],{"type":426,"tag":553,"props":105720,"children":105721},{"style":684},[105722],{"type":431,"value":105591},{"type":426,"tag":553,"props":105724,"children":105725},{"style":560},[105726],{"type":431,"value":70759},{"type":426,"tag":553,"props":105728,"children":105729},{"style":684},[105730],{"type":431,"value":3275},{"type":426,"tag":553,"props":105732,"children":105733},{"style":572},[105734],{"type":431,"value":105735},"`Failed to send to ${",{"type":426,"tag":553,"props":105737,"children":105738},{"style":684},[105739],{"type":431,"value":24468},{"type":426,"tag":553,"props":105741,"children":105742},{"style":572},[105743],{"type":431,"value":105613},{"type":426,"tag":553,"props":105745,"children":105746},{"style":684},[105747],{"type":431,"value":37598},{"type":426,"tag":553,"props":105749,"children":105750},{"style":572},[105751],{"type":431,"value":105752},"})`",{"type":426,"tag":553,"props":105754,"children":105755},{"style":684},[105756],{"type":431,"value":11379},{"type":426,"tag":553,"props":105758,"children":105759},{"class":555,"line":1812},[105760],{"type":426,"tag":553,"props":105761,"children":105762},{"style":684},[105763],{"type":431,"value":5546},{"type":426,"tag":553,"props":105765,"children":105766},{"class":555,"line":1847},[105767],{"type":426,"tag":553,"props":105768,"children":105769},{"style":684},[105770],{"type":431,"value":917},{"type":426,"tag":553,"props":105772,"children":105773},{"class":555,"line":1856},[105774],{"type":426,"tag":553,"props":105775,"children":105776},{"style":1975},[105777],{"type":431,"value":105778},"    \u002F\u002F Add 1-second delay between messages to respect rate limits\n",{"type":426,"tag":553,"props":105780,"children":105781},{"class":555,"line":1874},[105782,105787,105792,105796,105800],{"type":426,"tag":553,"props":105783,"children":105784},{"style":684},[105785],{"type":431,"value":105786},"    Utilities.",{"type":426,"tag":553,"props":105788,"children":105789},{"style":560},[105790],{"type":431,"value":105791},"sleep",{"type":426,"tag":553,"props":105793,"children":105794},{"style":684},[105795],{"type":431,"value":3275},{"type":426,"tag":553,"props":105797,"children":105798},{"style":566},[105799],{"type":431,"value":89568},{"type":426,"tag":553,"props":105801,"children":105802},{"style":684},[105803],{"type":431,"value":11379},{"type":426,"tag":553,"props":105805,"children":105806},{"class":555,"line":1882},[105807],{"type":426,"tag":553,"props":105808,"children":105809},{"style":684},[105810],{"type":431,"value":60547},{"type":426,"tag":553,"props":105812,"children":105813},{"class":555,"line":1981},[105814],{"type":426,"tag":553,"props":105815,"children":105816},{"style":684},[105817],{"type":431,"value":52575},{"type":426,"tag":553,"props":105819,"children":105820},{"class":555,"line":1989},[105821,105825,105829,105833,105838],{"type":426,"tag":553,"props":105822,"children":105823},{"style":684},[105824],{"type":431,"value":96892},{"type":426,"tag":553,"props":105826,"children":105827},{"style":560},[105828],{"type":431,"value":53719},{"type":426,"tag":553,"props":105830,"children":105831},{"style":684},[105832],{"type":431,"value":3275},{"type":426,"tag":553,"props":105834,"children":105835},{"style":572},[105836],{"type":431,"value":105837},"'All messages processed.'",{"type":426,"tag":553,"props":105839,"children":105840},{"style":684},[105841],{"type":431,"value":11379},{"type":426,"tag":553,"props":105843,"children":105844},{"class":555,"line":2013},[105845],{"type":426,"tag":553,"props":105846,"children":105847},{"style":684},[105848],{"type":431,"value":756},{"type":426,"tag":553,"props":105850,"children":105851},{"class":555,"line":2055},[105852],{"type":426,"tag":553,"props":105853,"children":105854},{"emptyLinePlaceholder":831},[105855],{"type":431,"value":834},{"type":426,"tag":553,"props":105857,"children":105858},{"class":555,"line":2064},[105859],{"type":426,"tag":553,"props":105860,"children":105861},{"style":1975},[105862],{"type":431,"value":96597},{"type":426,"tag":553,"props":105864,"children":105865},{"class":555,"line":2087},[105866],{"type":426,"tag":553,"props":105867,"children":105868},{"style":1975},[105869],{"type":431,"value":105870}," * Call the Rapiwa API to send a single WhatsApp message.\n",{"type":426,"tag":553,"props":105872,"children":105873},{"class":555,"line":2096},[105874],{"type":426,"tag":553,"props":105875,"children":105876},{"style":1975},[105877],{"type":431,"value":96621},{"type":426,"tag":553,"props":105879,"children":105880},{"class":555,"line":2105},[105881,105885,105889,105893,105897,105901,105905],{"type":426,"tag":553,"props":105882,"children":105883},{"style":795},[105884],{"type":431,"value":79962},{"type":426,"tag":553,"props":105886,"children":105887},{"style":560},[105888],{"type":431,"value":67188},{"type":426,"tag":553,"props":105890,"children":105891},{"style":684},[105892],{"type":431,"value":3275},{"type":426,"tag":553,"props":105894,"children":105895},{"style":1684},[105896],{"type":431,"value":37598},{"type":426,"tag":553,"props":105898,"children":105899},{"style":684},[105900],{"type":431,"value":1907},{"type":426,"tag":553,"props":105902,"children":105903},{"style":1684},[105904],{"type":431,"value":2734},{"type":426,"tag":553,"props":105906,"children":105907},{"style":684},[105908],{"type":431,"value":52385},{"type":426,"tag":553,"props":105910,"children":105911},{"class":555,"line":2114},[105912,105916,105921,105925],{"type":426,"tag":553,"props":105913,"children":105914},{"style":795},[105915],{"type":431,"value":52540},{"type":426,"tag":553,"props":105917,"children":105918},{"style":566},[105919],{"type":431,"value":105920}," options",{"type":426,"tag":553,"props":105922,"children":105923},{"style":795},[105924],{"type":431,"value":8739},{"type":426,"tag":553,"props":105926,"children":105927},{"style":684},[105928],{"type":431,"value":5458},{"type":426,"tag":553,"props":105930,"children":105931},{"class":555,"line":2123},[105932,105936,105941],{"type":426,"tag":553,"props":105933,"children":105934},{"style":684},[105935],{"type":431,"value":53096},{"type":426,"tag":553,"props":105937,"children":105938},{"style":572},[105939],{"type":431,"value":105940},"'post'",{"type":426,"tag":553,"props":105942,"children":105943},{"style":684},[105944],{"type":431,"value":710},{"type":426,"tag":553,"props":105946,"children":105947},{"class":555,"line":2132},[105948,105953,105957],{"type":426,"tag":553,"props":105949,"children":105950},{"style":684},[105951],{"type":431,"value":105952},"    contentType: ",{"type":426,"tag":553,"props":105954,"children":105955},{"style":572},[105956],{"type":431,"value":61174},{"type":426,"tag":553,"props":105958,"children":105959},{"style":684},[105960],{"type":431,"value":710},{"type":426,"tag":553,"props":105962,"children":105963},{"class":555,"line":2151},[105964],{"type":426,"tag":553,"props":105965,"children":105966},{"style":684},[105967],{"type":431,"value":53112},{"type":426,"tag":553,"props":105969,"children":105970},{"class":555,"line":2160},[105971,105975,105979,105983,105987],{"type":426,"tag":553,"props":105972,"children":105973},{"style":572},[105974],{"type":431,"value":53120},{"type":426,"tag":553,"props":105976,"children":105977},{"style":684},[105978],{"type":431,"value":700},{"type":426,"tag":553,"props":105980,"children":105981},{"style":572},[105982],{"type":431,"value":13631},{"type":426,"tag":553,"props":105984,"children":105985},{"style":795},[105986],{"type":431,"value":61140},{"type":426,"tag":553,"props":105988,"children":105989},{"style":566},[105990],{"type":431,"value":105991}," RAPIWA_API_KEY\n",{"type":426,"tag":553,"props":105993,"children":105994},{"class":555,"line":2174},[105995],{"type":426,"tag":553,"props":105996,"children":105997},{"style":684},[105998],{"type":431,"value":17203},{"type":426,"tag":553,"props":106000,"children":106001},{"class":555,"line":2182},[106002,106007,106011,106015,106019],{"type":426,"tag":553,"props":106003,"children":106004},{"style":684},[106005],{"type":431,"value":106006},"    payload: ",{"type":426,"tag":553,"props":106008,"children":106009},{"style":566},[106010],{"type":431,"value":53178},{"type":426,"tag":553,"props":106012,"children":106013},{"style":684},[106014],{"type":431,"value":6789},{"type":426,"tag":553,"props":106016,"children":106017},{"style":560},[106018],{"type":431,"value":53187},{"type":426,"tag":553,"props":106020,"children":106021},{"style":684},[106022],{"type":431,"value":52612},{"type":426,"tag":553,"props":106024,"children":106025},{"class":555,"line":2205},[106026],{"type":426,"tag":553,"props":106027,"children":106028},{"style":684},[106029],{"type":431,"value":106030},"      number: phone,\n",{"type":426,"tag":553,"props":106032,"children":106033},{"class":555,"line":2241},[106034],{"type":426,"tag":553,"props":106035,"children":106036},{"style":684},[106037],{"type":431,"value":106038},"      message: message\n",{"type":426,"tag":553,"props":106040,"children":106041},{"class":555,"line":2250},[106042],{"type":426,"tag":553,"props":106043,"children":106044},{"style":684},[106045],{"type":431,"value":106046},"    }),\n",{"type":426,"tag":553,"props":106048,"children":106049},{"class":555,"line":2302},[106050,106055],{"type":426,"tag":553,"props":106051,"children":106052},{"style":684},[106053],{"type":431,"value":106054},"    muteHttpExceptions: ",{"type":426,"tag":553,"props":106056,"children":106057},{"style":566},[106058],{"type":431,"value":106059},"true\n",{"type":426,"tag":553,"props":106061,"children":106062},{"class":555,"line":2353},[106063],{"type":426,"tag":553,"props":106064,"children":106065},{"style":684},[106066],{"type":431,"value":96809},{"type":426,"tag":553,"props":106068,"children":106069},{"class":555,"line":2390},[106070],{"type":426,"tag":553,"props":106071,"children":106072},{"style":684},[106073],{"type":431,"value":52575},{"type":426,"tag":553,"props":106075,"children":106076},{"class":555,"line":2440},[106077,106081,106085,106089,106094,106099,106103,106108],{"type":426,"tag":553,"props":106078,"children":106079},{"style":795},[106080],{"type":431,"value":52540},{"type":426,"tag":553,"props":106082,"children":106083},{"style":566},[106084],{"type":431,"value":53061},{"type":426,"tag":553,"props":106086,"children":106087},{"style":795},[106088],{"type":431,"value":8739},{"type":426,"tag":553,"props":106090,"children":106091},{"style":684},[106092],{"type":431,"value":106093}," UrlFetchApp.",{"type":426,"tag":553,"props":106095,"children":106096},{"style":560},[106097],{"type":431,"value":106098},"fetch",{"type":426,"tag":553,"props":106100,"children":106101},{"style":684},[106102],{"type":431,"value":3275},{"type":426,"tag":553,"props":106104,"children":106105},{"style":566},[106106],{"type":431,"value":106107},"RAPIWA_URL",{"type":426,"tag":553,"props":106109,"children":106110},{"style":684},[106111],{"type":431,"value":106112},", options);\n",{"type":426,"tag":553,"props":106114,"children":106115},{"class":555,"line":2488},[106116,106120,106124,106128,106133,106137,106142],{"type":426,"tag":553,"props":106117,"children":106118},{"style":795},[106119],{"type":431,"value":52393},{"type":426,"tag":553,"props":106121,"children":106122},{"style":566},[106123],{"type":431,"value":105703},{"type":426,"tag":553,"props":106125,"children":106126},{"style":684},[106127],{"type":431,"value":6789},{"type":426,"tag":553,"props":106129,"children":106130},{"style":560},[106131],{"type":431,"value":106132},"parse",{"type":426,"tag":553,"props":106134,"children":106135},{"style":684},[106136],{"type":431,"value":69644},{"type":426,"tag":553,"props":106138,"children":106139},{"style":560},[106140],{"type":431,"value":106141},"getContentText",{"type":426,"tag":553,"props":106143,"children":106144},{"style":684},[106145],{"type":431,"value":61503},{"type":426,"tag":553,"props":106147,"children":106148},{"class":555,"line":2509},[106149],{"type":426,"tag":553,"props":106150,"children":106151},{"style":684},[106152],{"type":431,"value":756},{"type":426,"tag":553,"props":106154,"children":106155},{"class":555,"line":2527},[106156],{"type":426,"tag":553,"props":106157,"children":106158},{"emptyLinePlaceholder":831},[106159],{"type":431,"value":834},{"type":426,"tag":553,"props":106161,"children":106162},{"class":555,"line":2545},[106163],{"type":426,"tag":553,"props":106164,"children":106165},{"style":1975},[106166],{"type":431,"value":96597},{"type":426,"tag":553,"props":106168,"children":106169},{"class":555,"line":12991},[106170],{"type":426,"tag":553,"props":106171,"children":106172},{"style":1975},[106173],{"type":431,"value":106174}," * Add a custom menu to the Google Sheet for easy access.\n",{"type":426,"tag":553,"props":106176,"children":106177},{"class":555,"line":13004},[106178],{"type":426,"tag":553,"props":106179,"children":106180},{"style":1975},[106181],{"type":431,"value":96621},{"type":426,"tag":553,"props":106183,"children":106184},{"class":555,"line":13012},[106185,106189,106194],{"type":426,"tag":553,"props":106186,"children":106187},{"style":795},[106188],{"type":431,"value":79962},{"type":426,"tag":553,"props":106190,"children":106191},{"style":560},[106192],{"type":431,"value":106193}," onOpen",{"type":426,"tag":553,"props":106195,"children":106196},{"style":684},[106197],{"type":431,"value":69042},{"type":426,"tag":553,"props":106199,"children":106200},{"class":555,"line":13025},[106201,106206,106211],{"type":426,"tag":553,"props":106202,"children":106203},{"style":684},[106204],{"type":431,"value":106205},"  SpreadsheetApp.",{"type":426,"tag":553,"props":106207,"children":106208},{"style":560},[106209],{"type":431,"value":106210},"getUi",{"type":426,"tag":553,"props":106212,"children":106213},{"style":684},[106214],{"type":431,"value":11683},{"type":426,"tag":553,"props":106216,"children":106217},{"class":555,"line":13033},[106218,106223,106228,106232,106237],{"type":426,"tag":553,"props":106219,"children":106220},{"style":684},[106221],{"type":431,"value":106222},"    .",{"type":426,"tag":553,"props":106224,"children":106225},{"style":560},[106226],{"type":431,"value":106227},"createMenu",{"type":426,"tag":553,"props":106229,"children":106230},{"style":684},[106231],{"type":431,"value":3275},{"type":426,"tag":553,"props":106233,"children":106234},{"style":572},[106235],{"type":431,"value":106236},"'WhatsApp'",{"type":426,"tag":553,"props":106238,"children":106239},{"style":684},[106240],{"type":431,"value":3262},{"type":426,"tag":553,"props":106242,"children":106243},{"class":555,"line":13069},[106244,106248,106253,106257,106262,106266,106271],{"type":426,"tag":553,"props":106245,"children":106246},{"style":684},[106247],{"type":431,"value":106222},{"type":426,"tag":553,"props":106249,"children":106250},{"style":560},[106251],{"type":431,"value":106252},"addItem",{"type":426,"tag":553,"props":106254,"children":106255},{"style":684},[106256],{"type":431,"value":3275},{"type":426,"tag":553,"props":106258,"children":106259},{"style":572},[106260],{"type":431,"value":106261},"'Send Messages'",{"type":426,"tag":553,"props":106263,"children":106264},{"style":684},[106265],{"type":431,"value":1907},{"type":426,"tag":553,"props":106267,"children":106268},{"style":572},[106269],{"type":431,"value":106270},"'sendWhatsAppMessages'",{"type":426,"tag":553,"props":106272,"children":106273},{"style":684},[106274],{"type":431,"value":3262},{"type":426,"tag":553,"props":106276,"children":106277},{"class":555,"line":13089},[106278,106282,106287],{"type":426,"tag":553,"props":106279,"children":106280},{"style":684},[106281],{"type":431,"value":106222},{"type":426,"tag":553,"props":106283,"children":106284},{"style":560},[106285],{"type":431,"value":106286},"addToUi",{"type":426,"tag":553,"props":106288,"children":106289},{"style":684},[106290],{"type":431,"value":53227},{"type":426,"tag":553,"props":106292,"children":106293},{"class":555,"line":13102},[106294],{"type":426,"tag":553,"props":106295,"children":106296},{"style":684},[106297],{"type":431,"value":756},{"type":426,"tag":515,"props":106299,"children":106301},{"id":106300},"step-3-save-and-run",[106302],{"type":431,"value":106303},"Step 3: Save and Run",{"type":426,"tag":6331,"props":106305,"children":106306},{},[106307,106317,106326,106331,106336],{"type":426,"tag":458,"props":106308,"children":106309},{},[106310,106311,106315],{"type":431,"value":47857},{"type":426,"tag":446,"props":106312,"children":106313},{},[106314],{"type":431,"value":66022},{"type":431,"value":106316}," (Ctrl+S)",{"type":426,"tag":458,"props":106318,"children":106319},{},[106320,106321],{"type":431,"value":47857},{"type":426,"tag":446,"props":106322,"children":106323},{},[106324],{"type":431,"value":106325},"Run → Run function → sendWhatsAppMessages",{"type":426,"tag":458,"props":106327,"children":106328},{},[106329],{"type":431,"value":106330},"Authorize the script when prompted (needed for Google Sheets access + external fetch)",{"type":426,"tag":458,"props":106332,"children":106333},{},[106334],{"type":431,"value":106335},"Check the execution log for results",{"type":426,"tag":458,"props":106337,"children":106338},{},[106339],{"type":431,"value":106340},"Check column D in your sheet — it should show \"sent\" for each successful message",{"type":426,"tag":515,"props":106342,"children":106344},{"id":106343},"step-4-add-a-custom-menu-button",[106345],{"type":431,"value":106346},"Step 4: Add a Custom Menu Button",{"type":426,"tag":427,"props":106348,"children":106349},{},[106350,106351,106357,106359,106364],{"type":431,"value":86346},{"type":426,"tag":549,"props":106352,"children":106354},{"className":106353},[],[106355],{"type":431,"value":106356},"onOpen",{"type":431,"value":106358}," function adds a ",{"type":426,"tag":446,"props":106360,"children":106361},{},[106362],{"type":431,"value":106363},"WhatsApp → Send Messages",{"type":431,"value":106365}," menu to your Google Sheet. This lets non-technical users trigger the send without opening Apps Script.",{"type":426,"tag":515,"props":106367,"children":106369},{"id":106368},"step-5-schedule-automatic-sending-optional",[106370],{"type":431,"value":106371},"Step 5: Schedule Automatic Sending (Optional)",{"type":426,"tag":427,"props":106373,"children":106374},{},[106375],{"type":431,"value":106376},"Set up a time-based trigger in Apps Script:",{"type":426,"tag":6331,"props":106378,"children":106379},{},[106380,106392,106401,106412,106422,106434],{"type":426,"tag":458,"props":106381,"children":106382},{},[106383,106385,106390],{"type":431,"value":106384},"In Apps Script → ",{"type":426,"tag":446,"props":106386,"children":106387},{},[106388],{"type":431,"value":106389},"Triggers",{"type":431,"value":106391}," (clock icon)",{"type":426,"tag":458,"props":106393,"children":106394},{},[106395,106396],{"type":431,"value":47857},{"type":426,"tag":446,"props":106397,"children":106398},{},[106399],{"type":431,"value":106400},"+ Add Trigger",{"type":426,"tag":458,"props":106402,"children":106403},{},[106404,106406],{"type":431,"value":106405},"Function: ",{"type":426,"tag":549,"props":106407,"children":106409},{"className":106408},[],[106410],{"type":431,"value":106411},"sendWhatsAppMessages",{"type":426,"tag":458,"props":106413,"children":106414},{},[106415,106417],{"type":431,"value":106416},"Event source: ",{"type":426,"tag":446,"props":106418,"children":106419},{},[106420],{"type":431,"value":106421},"Time-driven",{"type":426,"tag":458,"props":106423,"children":106424},{},[106425,106427,106432],{"type":431,"value":106426},"Type: ",{"type":426,"tag":446,"props":106428,"children":106429},{},[106430],{"type":431,"value":106431},"Day timer",{"type":431,"value":106433}," → 9:00 AM – 10:00 AM",{"type":426,"tag":458,"props":106435,"children":106436},{},[106437],{"type":431,"value":66022},{"type":426,"tag":427,"props":106439,"children":106440},{},[106441],{"type":431,"value":106442},"This runs the sender every day at 9 AM, sending any unsent messages.",{"type":426,"tag":434,"props":106444,"children":106446},{"id":106445},"method-2-n8n-workflow-no-code",[106447],{"type":431,"value":106448},"Method 2: n8n Workflow (No Code)",{"type":426,"tag":427,"props":106450,"children":106451},{},[106452],{"type":431,"value":106453},"For a no-code approach using n8n:",{"type":426,"tag":6331,"props":106455,"children":106456},{},[106457,106467,106476],{"type":426,"tag":458,"props":106458,"children":106459},{},[106460,106465],{"type":426,"tag":446,"props":106461,"children":106462},{},[106463],{"type":431,"value":106464},"Google Sheets Trigger",{"type":431,"value":106466}," node — triggers when a new row is added",{"type":426,"tag":458,"props":106468,"children":106469},{},[106470,106474],{"type":426,"tag":446,"props":106471,"children":106472},{},[106473],{"type":431,"value":47931},{"type":431,"value":106475}," node — sends the WhatsApp message",{"type":426,"tag":458,"props":106477,"children":106478},{},[106479,106483],{"type":426,"tag":446,"props":106480,"children":106481},{},[106482],{"type":431,"value":47673},{"type":431,"value":106484}," node — updates the status column to \"sent\"",{"type":426,"tag":427,"props":106486,"children":106487},{},[106488],{"type":426,"tag":446,"props":106489,"children":106490},{},[106491],{"type":431,"value":106492},"n8n HTTP Request configuration:",{"type":426,"tag":542,"props":106494,"children":106496},{"className":674,"code":106495,"language":673,"meta":417,"style":417},"{\n  \"method\": \"POST\",\n  \"url\": \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n  \"headers\": {\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n  \"body\": {\n    \"number\": \"={{ $json.phone }}\",\n    \"message\": \"={{ $json.message }}\"\n  }\n}\n",[106497],{"type":426,"tag":549,"props":106498,"children":106499},{"__ignoreMap":417},[106500,106507,106526,106545,106556,106571,106578,106589,106609,106625,106632],{"type":426,"tag":553,"props":106501,"children":106502},{"class":555,"line":556},[106503],{"type":426,"tag":553,"props":106504,"children":106505},{"style":684},[106506],{"type":431,"value":687},{"type":426,"tag":553,"props":106508,"children":106509},{"class":555,"line":588},[106510,106514,106518,106522],{"type":426,"tag":553,"props":106511,"children":106512},{"style":566},[106513],{"type":431,"value":60419},{"type":426,"tag":553,"props":106515,"children":106516},{"style":684},[106517],{"type":431,"value":700},{"type":426,"tag":553,"props":106519,"children":106520},{"style":572},[106521],{"type":431,"value":60428},{"type":426,"tag":553,"props":106523,"children":106524},{"style":684},[106525],{"type":431,"value":710},{"type":426,"tag":553,"props":106527,"children":106528},{"class":555,"line":606},[106529,106533,106537,106541],{"type":426,"tag":553,"props":106530,"children":106531},{"style":566},[106532],{"type":431,"value":60440},{"type":426,"tag":553,"props":106534,"children":106535},{"style":684},[106536],{"type":431,"value":700},{"type":426,"tag":553,"props":106538,"children":106539},{"style":572},[106540],{"type":431,"value":60449},{"type":426,"tag":553,"props":106542,"children":106543},{"style":684},[106544],{"type":431,"value":710},{"type":426,"tag":553,"props":106546,"children":106547},{"class":555,"line":623},[106548,106552],{"type":426,"tag":553,"props":106549,"children":106550},{"style":566},[106551],{"type":431,"value":60461},{"type":426,"tag":553,"props":106553,"children":106554},{"style":684},[106555],{"type":431,"value":17102},{"type":426,"tag":553,"props":106557,"children":106558},{"class":555,"line":637},[106559,106563,106567],{"type":426,"tag":553,"props":106560,"children":106561},{"style":566},[106562],{"type":431,"value":60473},{"type":426,"tag":553,"props":106564,"children":106565},{"style":684},[106566],{"type":431,"value":700},{"type":426,"tag":553,"props":106568,"children":106569},{"style":572},[106570],{"type":431,"value":60482},{"type":426,"tag":553,"props":106572,"children":106573},{"class":555,"line":646},[106574],{"type":426,"tag":553,"props":106575,"children":106576},{"style":684},[106577],{"type":431,"value":55883},{"type":426,"tag":553,"props":106579,"children":106580},{"class":555,"line":655},[106581,106585],{"type":426,"tag":553,"props":106582,"children":106583},{"style":566},[106584],{"type":431,"value":60497},{"type":426,"tag":553,"props":106586,"children":106587},{"style":684},[106588],{"type":431,"value":17102},{"type":426,"tag":553,"props":106590,"children":106591},{"class":555,"line":1036},[106592,106596,106600,106605],{"type":426,"tag":553,"props":106593,"children":106594},{"style":566},[106595],{"type":431,"value":60509},{"type":426,"tag":553,"props":106597,"children":106598},{"style":684},[106599],{"type":431,"value":700},{"type":426,"tag":553,"props":106601,"children":106602},{"style":572},[106603],{"type":431,"value":106604},"\"={{ $json.phone }}\"",{"type":426,"tag":553,"props":106606,"children":106607},{"style":684},[106608],{"type":431,"value":710},{"type":426,"tag":553,"props":106610,"children":106611},{"class":555,"line":1054},[106612,106616,106620],{"type":426,"tag":553,"props":106613,"children":106614},{"style":566},[106615],{"type":431,"value":60530},{"type":426,"tag":553,"props":106617,"children":106618},{"style":684},[106619],{"type":431,"value":700},{"type":426,"tag":553,"props":106621,"children":106622},{"style":572},[106623],{"type":431,"value":106624},"\"={{ $json.message }}\"\n",{"type":426,"tag":553,"props":106626,"children":106627},{"class":555,"line":1080},[106628],{"type":426,"tag":553,"props":106629,"children":106630},{"style":684},[106631],{"type":431,"value":60547},{"type":426,"tag":553,"props":106633,"children":106634},{"class":555,"line":1097},[106635],{"type":426,"tag":553,"props":106636,"children":106637},{"style":684},[106638],{"type":431,"value":756},{"type":426,"tag":434,"props":106640,"children":106642},{"id":106641},"personalized-messages-with-template-variables",[106643],{"type":431,"value":106644},"Personalized Messages with Template Variables",{"type":426,"tag":427,"props":106646,"children":106647},{},[106648],{"type":431,"value":106649},"Instead of writing the full message in column C, use a template with variables:",{"type":426,"tag":542,"props":106651,"children":106653},{"className":52113,"code":106652,"language":52115,"meta":417,"style":417},"function buildPersonalizedMessage(name, appointmentTime, location) {\n  return `Hi ${name}! 👋\\n\\nThis is a reminder for your appointment:\\n📅 Time: ${appointmentTime}\\n📍 Location: ${location}\\n\\nReply CONFIRM to confirm or CANCEL to cancel.`;\n}\n\n\u002F\u002F In the main loop, replace the message column with a built message:\nconst personalMessage = buildPersonalizedMessage(\n  name,\n  sheet.getRange(row, 3).getValue(),  \u002F\u002F Column C: appointment time\n  sheet.getRange(row, 4).getValue()   \u002F\u002F Column D: location\n);\nconst result = sendMessage(phone, personalMessage);\n",[106654],{"type":426,"tag":549,"props":106655,"children":106656},{"__ignoreMap":417},[106657,106698,106774,106781,106788,106796,106820,106828,106866,106903,106910],{"type":426,"tag":553,"props":106658,"children":106659},{"class":555,"line":556},[106660,106664,106669,106673,106677,106681,106686,106690,106694],{"type":426,"tag":553,"props":106661,"children":106662},{"style":795},[106663],{"type":431,"value":79962},{"type":426,"tag":553,"props":106665,"children":106666},{"style":560},[106667],{"type":431,"value":106668}," buildPersonalizedMessage",{"type":426,"tag":553,"props":106670,"children":106671},{"style":684},[106672],{"type":431,"value":3275},{"type":426,"tag":553,"props":106674,"children":106675},{"style":1684},[106676],{"type":431,"value":24468},{"type":426,"tag":553,"props":106678,"children":106679},{"style":684},[106680],{"type":431,"value":1907},{"type":426,"tag":553,"props":106682,"children":106683},{"style":1684},[106684],{"type":431,"value":106685},"appointmentTime",{"type":426,"tag":553,"props":106687,"children":106688},{"style":684},[106689],{"type":431,"value":1907},{"type":426,"tag":553,"props":106691,"children":106692},{"style":1684},[106693],{"type":431,"value":52816},{"type":426,"tag":553,"props":106695,"children":106696},{"style":684},[106697],{"type":431,"value":52385},{"type":426,"tag":553,"props":106699,"children":106700},{"class":555,"line":588},[106701,106705,106709,106713,106718,106722,106727,106731,106736,106740,106744,106748,106753,106757,106761,106765,106770],{"type":426,"tag":553,"props":106702,"children":106703},{"style":795},[106704],{"type":431,"value":52393},{"type":426,"tag":553,"props":106706,"children":106707},{"style":572},[106708],{"type":431,"value":55750},{"type":426,"tag":553,"props":106710,"children":106711},{"style":684},[106712],{"type":431,"value":24468},{"type":426,"tag":553,"props":106714,"children":106715},{"style":572},[106716],{"type":431,"value":106717},"}! 👋",{"type":426,"tag":553,"props":106719,"children":106720},{"style":566},[106721],{"type":431,"value":1295},{"type":426,"tag":553,"props":106723,"children":106724},{"style":572},[106725],{"type":431,"value":106726},"This is a reminder for your appointment:",{"type":426,"tag":553,"props":106728,"children":106729},{"style":566},[106730],{"type":431,"value":3661},{"type":426,"tag":553,"props":106732,"children":106733},{"style":572},[106734],{"type":431,"value":106735},"📅 Time: ${",{"type":426,"tag":553,"props":106737,"children":106738},{"style":684},[106739],{"type":431,"value":106685},{"type":426,"tag":553,"props":106741,"children":106742},{"style":572},[106743],{"type":431,"value":982},{"type":426,"tag":553,"props":106745,"children":106746},{"style":566},[106747],{"type":431,"value":3661},{"type":426,"tag":553,"props":106749,"children":106750},{"style":572},[106751],{"type":431,"value":106752},"📍 Location: ${",{"type":426,"tag":553,"props":106754,"children":106755},{"style":684},[106756],{"type":431,"value":52816},{"type":426,"tag":553,"props":106758,"children":106759},{"style":572},[106760],{"type":431,"value":982},{"type":426,"tag":553,"props":106762,"children":106763},{"style":566},[106764],{"type":431,"value":1295},{"type":426,"tag":553,"props":106766,"children":106767},{"style":572},[106768],{"type":431,"value":106769},"Reply CONFIRM to confirm or CANCEL to cancel.`",{"type":426,"tag":553,"props":106771,"children":106772},{"style":684},[106773],{"type":431,"value":52321},{"type":426,"tag":553,"props":106775,"children":106776},{"class":555,"line":606},[106777],{"type":426,"tag":553,"props":106778,"children":106779},{"style":684},[106780],{"type":431,"value":756},{"type":426,"tag":553,"props":106782,"children":106783},{"class":555,"line":623},[106784],{"type":426,"tag":553,"props":106785,"children":106786},{"emptyLinePlaceholder":831},[106787],{"type":431,"value":834},{"type":426,"tag":553,"props":106789,"children":106790},{"class":555,"line":637},[106791],{"type":426,"tag":553,"props":106792,"children":106793},{"style":1975},[106794],{"type":431,"value":106795},"\u002F\u002F In the main loop, replace the message column with a built message:\n",{"type":426,"tag":553,"props":106797,"children":106798},{"class":555,"line":646},[106799,106803,106808,106812,106816],{"type":426,"tag":553,"props":106800,"children":106801},{"style":795},[106802],{"type":431,"value":52135},{"type":426,"tag":553,"props":106804,"children":106805},{"style":566},[106806],{"type":431,"value":106807}," personalMessage",{"type":426,"tag":553,"props":106809,"children":106810},{"style":795},[106811],{"type":431,"value":8739},{"type":426,"tag":553,"props":106813,"children":106814},{"style":560},[106815],{"type":431,"value":106668},{"type":426,"tag":553,"props":106817,"children":106818},{"style":684},[106819],{"type":431,"value":3172},{"type":426,"tag":553,"props":106821,"children":106822},{"class":555,"line":655},[106823],{"type":426,"tag":553,"props":106824,"children":106825},{"style":684},[106826],{"type":431,"value":106827},"  name,\n",{"type":426,"tag":553,"props":106829,"children":106830},{"class":555,"line":1036},[106831,106836,106840,106844,106848,106852,106856,106861],{"type":426,"tag":553,"props":106832,"children":106833},{"style":684},[106834],{"type":431,"value":106835},"  sheet.",{"type":426,"tag":553,"props":106837,"children":106838},{"style":560},[106839],{"type":431,"value":105114},{"type":426,"tag":553,"props":106841,"children":106842},{"style":684},[106843],{"type":431,"value":105119},{"type":426,"tag":553,"props":106845,"children":106846},{"style":566},[106847],{"type":431,"value":1912},{"type":426,"tag":553,"props":106849,"children":106850},{"style":684},[106851],{"type":431,"value":53330},{"type":426,"tag":553,"props":106853,"children":106854},{"style":560},[106855],{"type":431,"value":105132},{"type":426,"tag":553,"props":106857,"children":106858},{"style":684},[106859],{"type":431,"value":106860},"(),  ",{"type":426,"tag":553,"props":106862,"children":106863},{"style":1975},[106864],{"type":431,"value":106865},"\u002F\u002F Column C: appointment time\n",{"type":426,"tag":553,"props":106867,"children":106868},{"class":555,"line":1054},[106869,106873,106877,106881,106885,106889,106893,106898],{"type":426,"tag":553,"props":106870,"children":106871},{"style":684},[106872],{"type":431,"value":106835},{"type":426,"tag":553,"props":106874,"children":106875},{"style":560},[106876],{"type":431,"value":105114},{"type":426,"tag":553,"props":106878,"children":106879},{"style":684},[106880],{"type":431,"value":105119},{"type":426,"tag":553,"props":106882,"children":106883},{"style":566},[106884],{"type":431,"value":105304},{"type":426,"tag":553,"props":106886,"children":106887},{"style":684},[106888],{"type":431,"value":53330},{"type":426,"tag":553,"props":106890,"children":106891},{"style":560},[106892],{"type":431,"value":105132},{"type":426,"tag":553,"props":106894,"children":106895},{"style":684},[106896],{"type":431,"value":106897},"()   ",{"type":426,"tag":553,"props":106899,"children":106900},{"style":1975},[106901],{"type":431,"value":106902},"\u002F\u002F Column D: location\n",{"type":426,"tag":553,"props":106904,"children":106905},{"class":555,"line":1080},[106906],{"type":426,"tag":553,"props":106907,"children":106908},{"style":684},[106909],{"type":431,"value":11379},{"type":426,"tag":553,"props":106911,"children":106912},{"class":555,"line":1097},[106913,106917,106921,106925,106929],{"type":426,"tag":553,"props":106914,"children":106915},{"style":795},[106916],{"type":431,"value":52135},{"type":426,"tag":553,"props":106918,"children":106919},{"style":566},[106920],{"type":431,"value":53508},{"type":426,"tag":553,"props":106922,"children":106923},{"style":795},[106924],{"type":431,"value":8739},{"type":426,"tag":553,"props":106926,"children":106927},{"style":560},[106928],{"type":431,"value":67188},{"type":426,"tag":553,"props":106930,"children":106931},{"style":684},[106932],{"type":431,"value":106933},"(phone, personalMessage);\n",{"type":426,"tag":434,"props":106935,"children":106937},{"id":106936},"testing-with-curl-first",[106938],{"type":431,"value":106939},"Testing with cURL First",{"type":426,"tag":427,"props":106941,"children":106942},{},[106943],{"type":431,"value":106944},"Before running the script for all rows, test your API key:",{"type":426,"tag":542,"props":106946,"children":106948},{"className":546,"code":106947,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Test from Google Sheets! This is a test message from Rapiwa.\"\n  }'\n",[106949],{"type":426,"tag":549,"props":106950,"children":106951},{"__ignoreMap":417},[106952,106975,106990,107005,107016,107023,107031],{"type":426,"tag":553,"props":106953,"children":106954},{"class":555,"line":556},[106955,106959,106963,106967,106971],{"type":426,"tag":553,"props":106956,"children":106957},{"style":560},[106958],{"type":431,"value":563},{"type":426,"tag":553,"props":106960,"children":106961},{"style":566},[106962],{"type":431,"value":569},{"type":426,"tag":553,"props":106964,"children":106965},{"style":572},[106966],{"type":431,"value":575},{"type":426,"tag":553,"props":106968,"children":106969},{"style":572},[106970],{"type":431,"value":580},{"type":426,"tag":553,"props":106972,"children":106973},{"style":566},[106974],{"type":431,"value":585},{"type":426,"tag":553,"props":106976,"children":106977},{"class":555,"line":588},[106978,106982,106986],{"type":426,"tag":553,"props":106979,"children":106980},{"style":566},[106981],{"type":431,"value":594},{"type":426,"tag":553,"props":106983,"children":106984},{"style":572},[106985],{"type":431,"value":599},{"type":426,"tag":553,"props":106987,"children":106988},{"style":566},[106989],{"type":431,"value":585},{"type":426,"tag":553,"props":106991,"children":106992},{"class":555,"line":606},[106993,106997,107001],{"type":426,"tag":553,"props":106994,"children":106995},{"style":566},[106996],{"type":431,"value":594},{"type":426,"tag":553,"props":106998,"children":106999},{"style":572},[107000],{"type":431,"value":616},{"type":426,"tag":553,"props":107002,"children":107003},{"style":566},[107004],{"type":431,"value":585},{"type":426,"tag":553,"props":107006,"children":107007},{"class":555,"line":623},[107008,107012],{"type":426,"tag":553,"props":107009,"children":107010},{"style":566},[107011],{"type":431,"value":629},{"type":426,"tag":553,"props":107013,"children":107014},{"style":572},[107015],{"type":431,"value":634},{"type":426,"tag":553,"props":107017,"children":107018},{"class":555,"line":637},[107019],{"type":426,"tag":553,"props":107020,"children":107021},{"style":572},[107022],{"type":431,"value":643},{"type":426,"tag":553,"props":107024,"children":107025},{"class":555,"line":646},[107026],{"type":426,"tag":553,"props":107027,"children":107028},{"style":572},[107029],{"type":431,"value":107030},"    \"message\": \"Test from Google Sheets! This is a test message from Rapiwa.\"\n",{"type":426,"tag":553,"props":107032,"children":107033},{"class":555,"line":655},[107034],{"type":426,"tag":553,"props":107035,"children":107036},{"style":572},[107037],{"type":431,"value":661},{"type":426,"tag":427,"props":107039,"children":107040},{},[107041],{"type":426,"tag":446,"props":107042,"children":107043},{},[107044],{"type":431,"value":669},{"type":426,"tag":542,"props":107046,"children":107048},{"className":674,"code":107047,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_sheets_test123\",\n  \"timestamp\": \"2026-06-16T10:30:00Z\"\n}\n",[107049],{"type":426,"tag":549,"props":107050,"children":107051},{"__ignoreMap":417},[107052,107059,107078,107098,107114],{"type":426,"tag":553,"props":107053,"children":107054},{"class":555,"line":556},[107055],{"type":426,"tag":553,"props":107056,"children":107057},{"style":684},[107058],{"type":431,"value":687},{"type":426,"tag":553,"props":107060,"children":107061},{"class":555,"line":588},[107062,107066,107070,107074],{"type":426,"tag":553,"props":107063,"children":107064},{"style":566},[107065],{"type":431,"value":695},{"type":426,"tag":553,"props":107067,"children":107068},{"style":684},[107069],{"type":431,"value":700},{"type":426,"tag":553,"props":107071,"children":107072},{"style":572},[107073],{"type":431,"value":705},{"type":426,"tag":553,"props":107075,"children":107076},{"style":684},[107077],{"type":431,"value":710},{"type":426,"tag":553,"props":107079,"children":107080},{"class":555,"line":606},[107081,107085,107089,107094],{"type":426,"tag":553,"props":107082,"children":107083},{"style":566},[107084],{"type":431,"value":718},{"type":426,"tag":553,"props":107086,"children":107087},{"style":684},[107088],{"type":431,"value":700},{"type":426,"tag":553,"props":107090,"children":107091},{"style":572},[107092],{"type":431,"value":107093},"\"msg_sheets_test123\"",{"type":426,"tag":553,"props":107095,"children":107096},{"style":684},[107097],{"type":431,"value":710},{"type":426,"tag":553,"props":107099,"children":107100},{"class":555,"line":623},[107101,107105,107109],{"type":426,"tag":553,"props":107102,"children":107103},{"style":566},[107104],{"type":431,"value":739},{"type":426,"tag":553,"props":107106,"children":107107},{"style":684},[107108],{"type":431,"value":700},{"type":426,"tag":553,"props":107110,"children":107111},{"style":572},[107112],{"type":431,"value":107113},"\"2026-06-16T10:30:00Z\"\n",{"type":426,"tag":553,"props":107115,"children":107116},{"class":555,"line":637},[107117],{"type":426,"tag":553,"props":107118,"children":107119},{"style":684},[107120],{"type":431,"value":756},{"type":426,"tag":434,"props":107122,"children":107123},{"id":18886},[107124],{"type":431,"value":18889},{"type":426,"tag":454,"props":107126,"children":107127},{},[107128,107138,107148,107164,107174],{"type":426,"tag":458,"props":107129,"children":107130},{},[107131,107136],{"type":426,"tag":446,"props":107132,"children":107133},{},[107134],{"type":431,"value":107135},"ScriptError: UrlFetchApp is not defined",{"type":431,"value":107137},": You're not using Apps Script — ensure the file is in Extensions → Apps Script, not a standalone file",{"type":426,"tag":458,"props":107139,"children":107140},{},[107141,107146],{"type":426,"tag":446,"props":107142,"children":107143},{},[107144],{"type":431,"value":107145},"Authorization error in Apps Script",{"type":431,"value":107147},": Click \"Review Permissions\" when prompted and allow the script to access your Google Sheets and make network requests",{"type":426,"tag":458,"props":107149,"children":107150},{},[107151,107155,107157,107162],{"type":426,"tag":446,"props":107152,"children":107153},{},[107154],{"type":431,"value":26117},{"type":431,"value":107156},": Check that ",{"type":426,"tag":549,"props":107158,"children":107160},{"className":107159},[],[107161],{"type":431,"value":7156},{"type":431,"value":107163}," in the script matches exactly the key in your Rapiwa Dashboard",{"type":426,"tag":458,"props":107165,"children":107166},{},[107167,107172],{"type":426,"tag":446,"props":107168,"children":107169},{},[107170],{"type":431,"value":107171},"Some rows skipped",{"type":431,"value":107173},": Check column D — if a row already has any value in the status column, the script skips it. Clear the status to retry",{"type":426,"tag":458,"props":107175,"children":107176},{},[107177,107182,107184,107190],{"type":426,"tag":446,"props":107178,"children":107179},{},[107180],{"type":431,"value":107181},"Rate limit errors (429)",{"type":431,"value":107183},": The 1-second ",{"type":426,"tag":549,"props":107185,"children":107187},{"className":107186},[],[107188],{"type":431,"value":107189},"Utilities.sleep(1000)",{"type":431,"value":107191}," between messages helps. Increase to 2000ms for large lists",{"type":426,"tag":434,"props":107193,"children":107194},{"id":4109},[107195],{"type":431,"value":4112},{"type":426,"tag":427,"props":107197,"children":107198},{},[107199,107204],{"type":426,"tag":446,"props":107200,"children":107201},{},[107202],{"type":431,"value":107203},"Can I send WhatsApp messages from Google Sheets without Apps Script?",{"type":431,"value":107205},"\nYes. Use n8n with a Google Sheets trigger node — it watches for new rows and sends a WhatsApp message via Rapiwa for each one without writing code.",{"type":426,"tag":427,"props":107207,"children":107208},{},[107209,107214],{"type":426,"tag":446,"props":107210,"children":107211},{},[107212],{"type":431,"value":107213},"Is there a limit on how many rows I can send?",{"type":431,"value":107215},"\nGoogle Apps Script has a daily runtime limit of 6 minutes for free accounts (30 minutes for Workspace). At 1 second per message, you can send ~360 messages per run. For larger lists, run in batches or upgrade to Google Workspace.",{"type":426,"tag":427,"props":107217,"children":107218},{},[107219,107224],{"type":426,"tag":446,"props":107220,"children":107221},{},[107222],{"type":431,"value":107223},"Does Rapiwa charge per message for bulk sends from Google Sheets?",{"type":431,"value":107225},"\nNo. Rapiwa charges $5\u002Fmonth flat regardless of message volume — send 100 or 10,000 messages at the same price.",{"type":426,"tag":427,"props":107227,"children":107228},{},[107229,107234,107236,107241,107242,107247,107249,107254],{"type":426,"tag":446,"props":107230,"children":107231},{},[107232],{"type":431,"value":107233},"Can I send images or PDFs from Google Sheets via WhatsApp?",{"type":431,"value":107235},"\nYes. Store the media URL in a column and modify the script to call Rapiwa's ",{"type":426,"tag":549,"props":107237,"children":107239},{"className":107238},[],[107240],{"type":431,"value":7833},{"type":431,"value":77103},{"type":426,"tag":549,"props":107243,"children":107245},{"className":107244},[],[107246],{"type":431,"value":7868},{"type":431,"value":107248}," endpoint instead of ",{"type":426,"tag":549,"props":107250,"children":107252},{"className":107251},[],[107253],{"type":431,"value":78531},{"type":431,"value":6789},{"type":426,"tag":427,"props":107256,"children":107257},{},[107258,107263],{"type":426,"tag":446,"props":107259,"children":107260},{},[107261],{"type":431,"value":107262},"Can I track which messages were opened?",{"type":431,"value":107264},"\nWhatsApp doesn't provide open tracking via API (only in WhatsApp Business Platform's template messages). However, Rapiwa provides delivery confirmation which you can log in the status column.",{"type":426,"tag":4164,"props":107266,"children":107267},{},[107268],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":107270},[107271,107272,107273,107280,107281,107282,107283,107284],{"id":54682,"depth":588,"text":54685},{"id":47624,"depth":588,"text":47627},{"id":104691,"depth":588,"text":104694,"children":107274},[107275,107276,107277,107278,107279],{"id":104702,"depth":606,"text":104705},{"id":104816,"depth":606,"text":104819},{"id":106300,"depth":606,"text":106303},{"id":106343,"depth":606,"text":106346},{"id":106368,"depth":606,"text":106371},{"id":106445,"depth":588,"text":106448},{"id":106641,"depth":588,"text":106644},{"id":106936,"depth":588,"text":106939},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-google-sheets-rapiwa.md","blog\u002Fwhatsapp-api-google-sheets-rapiwa.md","blog\u002Fwhatsapp-api-google-sheets-rapiwa",{"loc":141},{"_path":145,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":146,"description":147,"date":107290,"author":419,"category":22,"_slug":107291,"image":107292,"body":107293,"_type":4187,"_id":111966,"_source":4189,"_file":111967,"_stem":111968,"_extension":4192,"sitemap":111969},"2026-02-16","whatsapp-webhook-php-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-webhook-php-rapiwa.svg",{"type":423,"children":107294,"toc":111952},[107295,107300,107306,107311,107319,107508,107512,107538,107544,107549,107561,109334,109340,109388,109394,109399,109427,110420,110428,110489,110540,110548,111244,111257,111328,111334,111347,111400,111405,111409,111813,111817,111880,111884,111894,111912,111922,111939,111948],{"type":426,"tag":427,"props":107296,"children":107297},{},[107298],{"type":431,"value":107299},"You can handle incoming WhatsApp webhooks in PHP by registering your server URL in the Rapiwa dashboard and processing the POST requests Rapiwa sends when messages arrive. Rapiwa delivers the sender's phone number, message text, and message type as a JSON payload. This tutorial covers both native PHP and Laravel implementations. Rapiwa starts at $5\u002Fmonth with no per-message fees.",{"type":426,"tag":434,"props":107301,"children":107303},{"id":107302},"what-are-whatsapp-webhooks",[107304],{"type":431,"value":107305},"What Are WhatsApp Webhooks?",{"type":426,"tag":427,"props":107307,"children":107308},{},[107309],{"type":431,"value":107310},"A WhatsApp webhook is an HTTP POST request that Rapiwa sends to your server URL whenever an event occurs — typically when someone sends a message to your connected WhatsApp number. Your PHP script receives the payload, processes it, and optionally sends a reply.",{"type":426,"tag":427,"props":107312,"children":107313},{},[107314],{"type":426,"tag":446,"props":107315,"children":107316},{},[107317],{"type":431,"value":107318},"Webhook payload structure from Rapiwa:",{"type":426,"tag":542,"props":107320,"children":107322},{"className":674,"code":107321,"language":673,"meta":417,"style":417},"{\n  \"event\": \"message.received\",\n  \"data\": {\n    \"from\": \"8801234567890\",\n    \"to\": \"8801111111111\",\n    \"messageId\": \"msg_incoming_abc123\",\n    \"messageType\": \"text\",\n    \"message\": \"Hello, I need help with my order\",\n    \"timestamp\": \"2026-06-15T10:30:00Z\",\n    \"senderName\": \"Sarah Johnson\"\n  }\n}\n",[107323],{"type":426,"tag":549,"props":107324,"children":107325},{"__ignoreMap":417},[107326,107333,107352,107363,107382,107401,107420,107439,107459,107479,107494,107501],{"type":426,"tag":553,"props":107327,"children":107328},{"class":555,"line":556},[107329],{"type":426,"tag":553,"props":107330,"children":107331},{"style":684},[107332],{"type":431,"value":687},{"type":426,"tag":553,"props":107334,"children":107335},{"class":555,"line":588},[107336,107340,107344,107348],{"type":426,"tag":553,"props":107337,"children":107338},{"style":566},[107339],{"type":431,"value":81627},{"type":426,"tag":553,"props":107341,"children":107342},{"style":684},[107343],{"type":431,"value":700},{"type":426,"tag":553,"props":107345,"children":107346},{"style":572},[107347],{"type":431,"value":81636},{"type":426,"tag":553,"props":107349,"children":107350},{"style":684},[107351],{"type":431,"value":710},{"type":426,"tag":553,"props":107353,"children":107354},{"class":555,"line":606},[107355,107359],{"type":426,"tag":553,"props":107356,"children":107357},{"style":566},[107358],{"type":431,"value":81648},{"type":426,"tag":553,"props":107360,"children":107361},{"style":684},[107362],{"type":431,"value":17102},{"type":426,"tag":553,"props":107364,"children":107365},{"class":555,"line":623},[107366,107370,107374,107378],{"type":426,"tag":553,"props":107367,"children":107368},{"style":566},[107369],{"type":431,"value":81660},{"type":426,"tag":553,"props":107371,"children":107372},{"style":684},[107373],{"type":431,"value":700},{"type":426,"tag":553,"props":107375,"children":107376},{"style":572},[107377],{"type":431,"value":7286},{"type":426,"tag":553,"props":107379,"children":107380},{"style":684},[107381],{"type":431,"value":710},{"type":426,"tag":553,"props":107383,"children":107384},{"class":555,"line":637},[107385,107389,107393,107397],{"type":426,"tag":553,"props":107386,"children":107387},{"style":566},[107388],{"type":431,"value":81680},{"type":426,"tag":553,"props":107390,"children":107391},{"style":684},[107392],{"type":431,"value":700},{"type":426,"tag":553,"props":107394,"children":107395},{"style":572},[107396],{"type":431,"value":81689},{"type":426,"tag":553,"props":107398,"children":107399},{"style":684},[107400],{"type":431,"value":710},{"type":426,"tag":553,"props":107402,"children":107403},{"class":555,"line":646},[107404,107408,107412,107416],{"type":426,"tag":553,"props":107405,"children":107406},{"style":566},[107407],{"type":431,"value":81701},{"type":426,"tag":553,"props":107409,"children":107410},{"style":684},[107411],{"type":431,"value":700},{"type":426,"tag":553,"props":107413,"children":107414},{"style":572},[107415],{"type":431,"value":81710},{"type":426,"tag":553,"props":107417,"children":107418},{"style":684},[107419],{"type":431,"value":710},{"type":426,"tag":553,"props":107421,"children":107422},{"class":555,"line":655},[107423,107427,107431,107435],{"type":426,"tag":553,"props":107424,"children":107425},{"style":566},[107426],{"type":431,"value":81722},{"type":426,"tag":553,"props":107428,"children":107429},{"style":684},[107430],{"type":431,"value":700},{"type":426,"tag":553,"props":107432,"children":107433},{"style":572},[107434],{"type":431,"value":81731},{"type":426,"tag":553,"props":107436,"children":107437},{"style":684},[107438],{"type":431,"value":710},{"type":426,"tag":553,"props":107440,"children":107441},{"class":555,"line":1036},[107442,107446,107450,107455],{"type":426,"tag":553,"props":107443,"children":107444},{"style":566},[107445],{"type":431,"value":60530},{"type":426,"tag":553,"props":107447,"children":107448},{"style":684},[107449],{"type":431,"value":700},{"type":426,"tag":553,"props":107451,"children":107452},{"style":572},[107453],{"type":431,"value":107454},"\"Hello, I need help with my order\"",{"type":426,"tag":553,"props":107456,"children":107457},{"style":684},[107458],{"type":431,"value":710},{"type":426,"tag":553,"props":107460,"children":107461},{"class":555,"line":1054},[107462,107466,107470,107475],{"type":426,"tag":553,"props":107463,"children":107464},{"style":566},[107465],{"type":431,"value":81763},{"type":426,"tag":553,"props":107467,"children":107468},{"style":684},[107469],{"type":431,"value":700},{"type":426,"tag":553,"props":107471,"children":107472},{"style":572},[107473],{"type":431,"value":107474},"\"2026-06-15T10:30:00Z\"",{"type":426,"tag":553,"props":107476,"children":107477},{"style":684},[107478],{"type":431,"value":710},{"type":426,"tag":553,"props":107480,"children":107481},{"class":555,"line":1080},[107482,107486,107490],{"type":426,"tag":553,"props":107483,"children":107484},{"style":566},[107485],{"type":431,"value":81784},{"type":426,"tag":553,"props":107487,"children":107488},{"style":684},[107489],{"type":431,"value":700},{"type":426,"tag":553,"props":107491,"children":107492},{"style":572},[107493],{"type":431,"value":81793},{"type":426,"tag":553,"props":107495,"children":107496},{"class":555,"line":1097},[107497],{"type":426,"tag":553,"props":107498,"children":107499},{"style":684},[107500],{"type":431,"value":60547},{"type":426,"tag":553,"props":107502,"children":107503},{"class":555,"line":1114},[107504],{"type":426,"tag":553,"props":107505,"children":107506},{"style":684},[107507],{"type":431,"value":756},{"type":426,"tag":434,"props":107509,"children":107510},{"id":47624},[107511],{"type":431,"value":47627},{"type":426,"tag":454,"props":107513,"children":107514},{},[107515,107525,107529,107534],{"type":426,"tag":458,"props":107516,"children":107517},{},[107518,107519,107524],{"type":431,"value":48828},{"type":426,"tag":3819,"props":107520,"children":107522},{"href":3821,"rel":107521},[3823],[107523],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":107526,"children":107527},{},[107528],{"type":431,"value":48840},{"type":426,"tag":458,"props":107530,"children":107531},{},[107532],{"type":431,"value":107533},"A publicly accessible PHP server (webhooks can't be received on localhost without tunneling)",{"type":426,"tag":458,"props":107535,"children":107536},{},[107537],{"type":431,"value":86341},{"type":426,"tag":434,"props":107539,"children":107541},{"id":107540},"step-1-set-up-your-webhook-endpoint",[107542],{"type":431,"value":107543},"Step 1: Set Up Your Webhook Endpoint",{"type":426,"tag":427,"props":107545,"children":107546},{},[107547],{"type":431,"value":107548},"Create a new PHP file to handle incoming webhooks:",{"type":426,"tag":515,"props":107550,"children":107552},{"id":107551},"native-php-webhookphp",[107553,107555],{"type":431,"value":107554},"Native PHP: ",{"type":426,"tag":549,"props":107556,"children":107558},{"className":107557},[],[107559],{"type":431,"value":107560},"webhook.php",{"type":426,"tag":542,"props":107562,"children":107564},{"className":79948,"code":107563,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F webhook.php — place at https:\u002F\u002Fyoursite.com\u002Fwebhook.php\n\u002F\u002F Register this URL in Rapiwa Dashboard → Webhooks\n\nheader('Content-Type: application\u002Fjson');\n\n\u002F\u002F Read the raw incoming POST body\n$raw_input = file_get_contents('php:\u002F\u002Finput');\n$payload = json_decode($raw_input, true);\n\n\u002F\u002F Verify the request is from Rapiwa (check event structure)\nif (!isset($payload['event']) || !isset($payload['data'])) {\n    http_response_code(400);\n    echo json_encode(['error' => 'Invalid payload']);\n    exit;\n}\n\n$event = $payload['event'];\n$data = $payload['data'];\n\n\u002F\u002F Log the webhook for debugging\nerror_log(\"Rapiwa webhook received: \" . $raw_input);\n\n\u002F\u002F Handle different event types\nswitch ($event) {\n    case 'message.received':\n        handle_incoming_message($data);\n        break;\n    \n    case 'message.delivered':\n        handle_message_delivered($data);\n        break;\n    \n    default:\n        \u002F\u002F Unknown event — log and ignore\n        error_log(\"Unknown Rapiwa event: {$event}\");\n}\n\n\u002F\u002F Always respond with 200 OK to acknowledge receipt\nhttp_response_code(200);\necho json_encode(['status' => 'ok']);\nexit;\n\nfunction handle_incoming_message(array $data): void {\n    $from = $data['from'];\n    $message = $data['message'] ?? '';\n    $sender_name = $data['senderName'] ?? 'Customer';\n    \n    \u002F\u002F Process the message\n    $reply = generate_reply($message, $sender_name);\n    \n    if ($reply) {\n        send_whatsapp_reply($from, $reply);\n    }\n}\n\nfunction generate_reply(string $message, string $name): ?string {\n    $message_lower = strtolower(trim($message));\n    \n    \u002F\u002F Simple keyword-based response logic\n    if (str_contains($message_lower, 'price') || str_contains($message_lower, 'cost')) {\n        return \"Hi {$name}! Our plans start at $5\u002Fmonth. Visit rapiwa.com for full pricing details.\";\n    }\n    \n    if (str_contains($message_lower, 'help') || str_contains($message_lower, 'support')) {\n        return \"Hi {$name}! I am here to help. Please describe your issue and our team will assist you within 1 business hour.\";\n    }\n    \n    if ($message_lower === 'hi' || $message_lower === 'hello') {\n        return \"Hello {$name}! 👋 How can I help you today?\";\n    }\n    \n    \u002F\u002F Default: no auto-reply, let a human handle it\n    return null;\n}\n\nfunction send_whatsapp_reply(string $phone, string $message): void {\n    $api_key = 'YOUR_RAPIWA_API_KEY';\n    \n    $ch = curl_init('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message');\n    curl_setopt_array($ch, [\n        CURLOPT_RETURNTRANSFER => true,\n        CURLOPT_POST => true,\n        CURLOPT_HTTPHEADER => [\n            \"Authorization: Bearer {$api_key}\",\n            'Content-Type: application\u002Fjson'\n        ],\n        CURLOPT_POSTFIELDS => json_encode([\n            'number' => $phone,\n            'message' => $message\n        ])\n    ]);\n    \n    $response = json_decode(curl_exec($ch), true);\n    curl_close($ch);\n    \n    if ($response['status'] !== 'success') {\n        error_log(\"Rapiwa send failed: \" . json_encode($response));\n    }\n}\n\nfunction handle_message_delivered(array $data): void {\n    \u002F\u002F Log delivery confirmation\n    $message_id = $data['messageId'];\n    error_log(\"Message {$message_id} delivered at \" . $data['timestamp']);\n    \u002F\u002F Update your database to mark the message as delivered\n}\n",[107565],{"type":426,"tag":549,"props":107566,"children":107567},{"__ignoreMap":417},[107568,107579,107587,107595,107602,107622,107629,107637,107667,107696,107703,107711,107770,107790,107822,107834,107841,107848,107873,107897,107904,107912,107938,107945,107953,107966,107982,107994,108006,108013,108029,108041,108052,108059,108071,108079,108108,108115,108122,108130,108150,108181,108193,108200,108237,108262,108298,108335,108342,108350,108371,108378,108390,108403,108410,108417,108424,108469,108499,108506,108514,108564,108589,108596,108603,108651,108675,108682,108689,108732,108756,108763,108770,108778,108793,108800,108807,108850,108870,108877,108904,108915,108934,108953,108968,108988,108995,109002,109021,109036,109051,109058,109065,109072,109107,109118,109125,109157,109186,109193,109200,109207,109243,109251,109275,109319,109327],{"type":426,"tag":553,"props":107569,"children":107570},{"class":555,"line":556},[107571,107575],{"type":426,"tag":553,"props":107572,"children":107573},{"style":795},[107574],{"type":431,"value":86379},{"type":426,"tag":553,"props":107576,"children":107577},{"style":566},[107578],{"type":431,"value":86384},{"type":426,"tag":553,"props":107580,"children":107581},{"class":555,"line":588},[107582],{"type":426,"tag":553,"props":107583,"children":107584},{"style":1975},[107585],{"type":431,"value":107586},"\u002F\u002F webhook.php — place at https:\u002F\u002Fyoursite.com\u002Fwebhook.php\n",{"type":426,"tag":553,"props":107588,"children":107589},{"class":555,"line":606},[107590],{"type":426,"tag":553,"props":107591,"children":107592},{"style":1975},[107593],{"type":431,"value":107594},"\u002F\u002F Register this URL in Rapiwa Dashboard → Webhooks\n",{"type":426,"tag":553,"props":107596,"children":107597},{"class":555,"line":623},[107598],{"type":426,"tag":553,"props":107599,"children":107600},{"emptyLinePlaceholder":831},[107601],{"type":431,"value":834},{"type":426,"tag":553,"props":107603,"children":107604},{"class":555,"line":637},[107605,107609,107613,107618],{"type":426,"tag":553,"props":107606,"children":107607},{"style":566},[107608],{"type":431,"value":67532},{"type":426,"tag":553,"props":107610,"children":107611},{"style":684},[107612],{"type":431,"value":3275},{"type":426,"tag":553,"props":107614,"children":107615},{"style":572},[107616],{"type":431,"value":107617},"'Content-Type: application\u002Fjson'",{"type":426,"tag":553,"props":107619,"children":107620},{"style":684},[107621],{"type":431,"value":11379},{"type":426,"tag":553,"props":107623,"children":107624},{"class":555,"line":646},[107625],{"type":426,"tag":553,"props":107626,"children":107627},{"emptyLinePlaceholder":831},[107628],{"type":431,"value":834},{"type":426,"tag":553,"props":107630,"children":107631},{"class":555,"line":655},[107632],{"type":426,"tag":553,"props":107633,"children":107634},{"style":1975},[107635],{"type":431,"value":107636},"\u002F\u002F Read the raw incoming POST body\n",{"type":426,"tag":553,"props":107638,"children":107639},{"class":555,"line":1036},[107640,107645,107649,107654,107658,107663],{"type":426,"tag":553,"props":107641,"children":107642},{"style":684},[107643],{"type":431,"value":107644},"$raw_input ",{"type":426,"tag":553,"props":107646,"children":107647},{"style":795},[107648],{"type":431,"value":957},{"type":426,"tag":553,"props":107650,"children":107651},{"style":566},[107652],{"type":431,"value":107653}," file_get_contents",{"type":426,"tag":553,"props":107655,"children":107656},{"style":684},[107657],{"type":431,"value":3275},{"type":426,"tag":553,"props":107659,"children":107660},{"style":572},[107661],{"type":431,"value":107662},"'php:\u002F\u002Finput'",{"type":426,"tag":553,"props":107664,"children":107665},{"style":684},[107666],{"type":431,"value":11379},{"type":426,"tag":553,"props":107668,"children":107669},{"class":555,"line":1054},[107670,107675,107679,107683,107688,107692],{"type":426,"tag":553,"props":107671,"children":107672},{"style":684},[107673],{"type":431,"value":107674},"$payload ",{"type":426,"tag":553,"props":107676,"children":107677},{"style":795},[107678],{"type":431,"value":957},{"type":426,"tag":553,"props":107680,"children":107681},{"style":566},[107682],{"type":431,"value":80280},{"type":426,"tag":553,"props":107684,"children":107685},{"style":684},[107686],{"type":431,"value":107687},"($raw_input, ",{"type":426,"tag":553,"props":107689,"children":107690},{"style":566},[107691],{"type":431,"value":48523},{"type":426,"tag":553,"props":107693,"children":107694},{"style":684},[107695],{"type":431,"value":11379},{"type":426,"tag":553,"props":107697,"children":107698},{"class":555,"line":1080},[107699],{"type":426,"tag":553,"props":107700,"children":107701},{"emptyLinePlaceholder":831},[107702],{"type":431,"value":834},{"type":426,"tag":553,"props":107704,"children":107705},{"class":555,"line":1097},[107706],{"type":426,"tag":553,"props":107707,"children":107708},{"style":1975},[107709],{"type":431,"value":107710},"\u002F\u002F Verify the request is from Rapiwa (check event structure)\n",{"type":426,"tag":553,"props":107712,"children":107713},{"class":555,"line":1114},[107714,107718,107722,107726,107731,107736,107740,107745,107749,107753,107757,107761,107765],{"type":426,"tag":553,"props":107715,"children":107716},{"style":795},[107717],{"type":431,"value":7510},{"type":426,"tag":553,"props":107719,"children":107720},{"style":684},[107721],{"type":431,"value":5684},{"type":426,"tag":553,"props":107723,"children":107724},{"style":795},[107725],{"type":431,"value":4651},{"type":426,"tag":553,"props":107727,"children":107728},{"style":566},[107729],{"type":431,"value":107730},"isset",{"type":426,"tag":553,"props":107732,"children":107733},{"style":684},[107734],{"type":431,"value":107735},"($payload[",{"type":426,"tag":553,"props":107737,"children":107738},{"style":572},[107739],{"type":431,"value":8176},{"type":426,"tag":553,"props":107741,"children":107742},{"style":684},[107743],{"type":431,"value":107744},"]) ",{"type":426,"tag":553,"props":107746,"children":107747},{"style":795},[107748],{"type":431,"value":53296},{"type":426,"tag":553,"props":107750,"children":107751},{"style":795},[107752],{"type":431,"value":105376},{"type":426,"tag":553,"props":107754,"children":107755},{"style":566},[107756],{"type":431,"value":107730},{"type":426,"tag":553,"props":107758,"children":107759},{"style":684},[107760],{"type":431,"value":107735},{"type":426,"tag":553,"props":107762,"children":107763},{"style":572},[107764],{"type":431,"value":8206},{"type":426,"tag":553,"props":107766,"children":107767},{"style":684},[107768],{"type":431,"value":107769},"])) {\n",{"type":426,"tag":553,"props":107771,"children":107772},{"class":555,"line":1127},[107773,107778,107782,107786],{"type":426,"tag":553,"props":107774,"children":107775},{"style":566},[107776],{"type":431,"value":107777},"    http_response_code",{"type":426,"tag":553,"props":107779,"children":107780},{"style":684},[107781],{"type":431,"value":3275},{"type":426,"tag":553,"props":107783,"children":107784},{"style":566},[107785],{"type":431,"value":52455},{"type":426,"tag":553,"props":107787,"children":107788},{"style":684},[107789],{"type":431,"value":11379},{"type":426,"tag":553,"props":107791,"children":107792},{"class":555,"line":1167},[107793,107797,107801,107805,107809,107813,107818],{"type":426,"tag":553,"props":107794,"children":107795},{"style":566},[107796],{"type":431,"value":87315},{"type":426,"tag":553,"props":107798,"children":107799},{"style":566},[107800],{"type":431,"value":80178},{"type":426,"tag":553,"props":107802,"children":107803},{"style":684},[107804],{"type":431,"value":74656},{"type":426,"tag":553,"props":107806,"children":107807},{"style":572},[107808],{"type":431,"value":13699},{"type":426,"tag":553,"props":107810,"children":107811},{"style":795},[107812],{"type":431,"value":53709},{"type":426,"tag":553,"props":107814,"children":107815},{"style":572},[107816],{"type":431,"value":107817}," 'Invalid payload'",{"type":426,"tag":553,"props":107819,"children":107820},{"style":684},[107821],{"type":431,"value":95072},{"type":426,"tag":553,"props":107823,"children":107824},{"class":555,"line":1184},[107825,107830],{"type":426,"tag":553,"props":107826,"children":107827},{"style":795},[107828],{"type":431,"value":107829},"    exit",{"type":426,"tag":553,"props":107831,"children":107832},{"style":684},[107833],{"type":431,"value":52321},{"type":426,"tag":553,"props":107835,"children":107836},{"class":555,"line":1192},[107837],{"type":426,"tag":553,"props":107838,"children":107839},{"style":684},[107840],{"type":431,"value":756},{"type":426,"tag":553,"props":107842,"children":107843},{"class":555,"line":1210},[107844],{"type":426,"tag":553,"props":107845,"children":107846},{"emptyLinePlaceholder":831},[107847],{"type":431,"value":834},{"type":426,"tag":553,"props":107849,"children":107850},{"class":555,"line":1253},[107851,107856,107860,107865,107869],{"type":426,"tag":553,"props":107852,"children":107853},{"style":684},[107854],{"type":431,"value":107855},"$event ",{"type":426,"tag":553,"props":107857,"children":107858},{"style":795},[107859],{"type":431,"value":957},{"type":426,"tag":553,"props":107861,"children":107862},{"style":684},[107863],{"type":431,"value":107864}," $payload[",{"type":426,"tag":553,"props":107866,"children":107867},{"style":572},[107868],{"type":431,"value":8176},{"type":426,"tag":553,"props":107870,"children":107871},{"style":684},[107872],{"type":431,"value":88941},{"type":426,"tag":553,"props":107874,"children":107875},{"class":555,"line":1302},[107876,107881,107885,107889,107893],{"type":426,"tag":553,"props":107877,"children":107878},{"style":684},[107879],{"type":431,"value":107880},"$data ",{"type":426,"tag":553,"props":107882,"children":107883},{"style":795},[107884],{"type":431,"value":957},{"type":426,"tag":553,"props":107886,"children":107887},{"style":684},[107888],{"type":431,"value":107864},{"type":426,"tag":553,"props":107890,"children":107891},{"style":572},[107892],{"type":431,"value":8206},{"type":426,"tag":553,"props":107894,"children":107895},{"style":684},[107896],{"type":431,"value":88941},{"type":426,"tag":553,"props":107898,"children":107899},{"class":555,"line":1374},[107900],{"type":426,"tag":553,"props":107901,"children":107902},{"emptyLinePlaceholder":831},[107903],{"type":431,"value":834},{"type":426,"tag":553,"props":107905,"children":107906},{"class":555,"line":1414},[107907],{"type":426,"tag":553,"props":107908,"children":107909},{"style":1975},[107910],{"type":431,"value":107911},"\u002F\u002F Log the webhook for debugging\n",{"type":426,"tag":553,"props":107913,"children":107914},{"class":555,"line":1479},[107915,107920,107924,107929,107933],{"type":426,"tag":553,"props":107916,"children":107917},{"style":566},[107918],{"type":431,"value":107919},"error_log",{"type":426,"tag":553,"props":107921,"children":107922},{"style":684},[107923],{"type":431,"value":3275},{"type":426,"tag":553,"props":107925,"children":107926},{"style":572},[107927],{"type":431,"value":107928},"\"Rapiwa webhook received: \"",{"type":426,"tag":553,"props":107930,"children":107931},{"style":795},[107932],{"type":431,"value":87022},{"type":426,"tag":553,"props":107934,"children":107935},{"style":684},[107936],{"type":431,"value":107937}," $raw_input);\n",{"type":426,"tag":553,"props":107939,"children":107940},{"class":555,"line":1517},[107941],{"type":426,"tag":553,"props":107942,"children":107943},{"emptyLinePlaceholder":831},[107944],{"type":431,"value":834},{"type":426,"tag":553,"props":107946,"children":107947},{"class":555,"line":1560},[107948],{"type":426,"tag":553,"props":107949,"children":107950},{"style":1975},[107951],{"type":431,"value":107952},"\u002F\u002F Handle different event types\n",{"type":426,"tag":553,"props":107954,"children":107955},{"class":555,"line":1598},[107956,107961],{"type":426,"tag":553,"props":107957,"children":107958},{"style":795},[107959],{"type":431,"value":107960},"switch",{"type":426,"tag":553,"props":107962,"children":107963},{"style":684},[107964],{"type":431,"value":107965}," ($event) {\n",{"type":426,"tag":553,"props":107967,"children":107968},{"class":555,"line":1636},[107969,107974,107978],{"type":426,"tag":553,"props":107970,"children":107971},{"style":795},[107972],{"type":431,"value":107973},"    case",{"type":426,"tag":553,"props":107975,"children":107976},{"style":572},[107977],{"type":431,"value":8189},{"type":426,"tag":553,"props":107979,"children":107980},{"style":684},[107981],{"type":431,"value":909},{"type":426,"tag":553,"props":107983,"children":107984},{"class":555,"line":1645},[107985,107990],{"type":426,"tag":553,"props":107986,"children":107987},{"style":560},[107988],{"type":431,"value":107989},"        handle_incoming_message",{"type":426,"tag":553,"props":107991,"children":107992},{"style":684},[107993],{"type":431,"value":95255},{"type":426,"tag":553,"props":107995,"children":107996},{"class":555,"line":1653},[107997,108002],{"type":426,"tag":553,"props":107998,"children":107999},{"style":795},[108000],{"type":431,"value":108001},"        break",{"type":426,"tag":553,"props":108003,"children":108004},{"style":684},[108005],{"type":431,"value":52321},{"type":426,"tag":553,"props":108007,"children":108008},{"class":555,"line":1667},[108009],{"type":426,"tag":553,"props":108010,"children":108011},{"style":684},[108012],{"type":431,"value":917},{"type":426,"tag":553,"props":108014,"children":108015},{"class":555,"line":1680},[108016,108020,108025],{"type":426,"tag":553,"props":108017,"children":108018},{"style":795},[108019],{"type":431,"value":107973},{"type":426,"tag":553,"props":108021,"children":108022},{"style":572},[108023],{"type":431,"value":108024}," 'message.delivered'",{"type":426,"tag":553,"props":108026,"children":108027},{"style":684},[108028],{"type":431,"value":909},{"type":426,"tag":553,"props":108030,"children":108031},{"class":555,"line":1740},[108032,108037],{"type":426,"tag":553,"props":108033,"children":108034},{"style":560},[108035],{"type":431,"value":108036},"        handle_message_delivered",{"type":426,"tag":553,"props":108038,"children":108039},{"style":684},[108040],{"type":431,"value":95255},{"type":426,"tag":553,"props":108042,"children":108043},{"class":555,"line":1787},[108044,108048],{"type":426,"tag":553,"props":108045,"children":108046},{"style":795},[108047],{"type":431,"value":108001},{"type":426,"tag":553,"props":108049,"children":108050},{"style":684},[108051],{"type":431,"value":52321},{"type":426,"tag":553,"props":108053,"children":108054},{"class":555,"line":1796},[108055],{"type":426,"tag":553,"props":108056,"children":108057},{"style":684},[108058],{"type":431,"value":917},{"type":426,"tag":553,"props":108060,"children":108061},{"class":555,"line":1804},[108062,108067],{"type":426,"tag":553,"props":108063,"children":108064},{"style":795},[108065],{"type":431,"value":108066},"    default",{"type":426,"tag":553,"props":108068,"children":108069},{"style":684},[108070],{"type":431,"value":909},{"type":426,"tag":553,"props":108072,"children":108073},{"class":555,"line":1812},[108074],{"type":426,"tag":553,"props":108075,"children":108076},{"style":1975},[108077],{"type":431,"value":108078},"        \u002F\u002F Unknown event — log and ignore\n",{"type":426,"tag":553,"props":108080,"children":108081},{"class":555,"line":1847},[108082,108086,108090,108095,108100,108104],{"type":426,"tag":553,"props":108083,"children":108084},{"style":566},[108085],{"type":431,"value":90047},{"type":426,"tag":553,"props":108087,"children":108088},{"style":684},[108089],{"type":431,"value":3275},{"type":426,"tag":553,"props":108091,"children":108092},{"style":572},[108093],{"type":431,"value":108094},"\"Unknown Rapiwa event: {",{"type":426,"tag":553,"props":108096,"children":108097},{"style":684},[108098],{"type":431,"value":108099},"$event",{"type":426,"tag":553,"props":108101,"children":108102},{"style":572},[108103],{"type":431,"value":67316},{"type":426,"tag":553,"props":108105,"children":108106},{"style":684},[108107],{"type":431,"value":11379},{"type":426,"tag":553,"props":108109,"children":108110},{"class":555,"line":1856},[108111],{"type":426,"tag":553,"props":108112,"children":108113},{"style":684},[108114],{"type":431,"value":756},{"type":426,"tag":553,"props":108116,"children":108117},{"class":555,"line":1874},[108118],{"type":426,"tag":553,"props":108119,"children":108120},{"emptyLinePlaceholder":831},[108121],{"type":431,"value":834},{"type":426,"tag":553,"props":108123,"children":108124},{"class":555,"line":1882},[108125],{"type":426,"tag":553,"props":108126,"children":108127},{"style":1975},[108128],{"type":431,"value":108129},"\u002F\u002F Always respond with 200 OK to acknowledge receipt\n",{"type":426,"tag":553,"props":108131,"children":108132},{"class":555,"line":1981},[108133,108138,108142,108146],{"type":426,"tag":553,"props":108134,"children":108135},{"style":566},[108136],{"type":431,"value":108137},"http_response_code",{"type":426,"tag":553,"props":108139,"children":108140},{"style":684},[108141],{"type":431,"value":3275},{"type":426,"tag":553,"props":108143,"children":108144},{"style":566},[108145],{"type":431,"value":10114},{"type":426,"tag":553,"props":108147,"children":108148},{"style":684},[108149],{"type":431,"value":11379},{"type":426,"tag":553,"props":108151,"children":108152},{"class":555,"line":1989},[108153,108157,108161,108165,108169,108173,108177],{"type":426,"tag":553,"props":108154,"children":108155},{"style":566},[108156],{"type":431,"value":88705},{"type":426,"tag":553,"props":108158,"children":108159},{"style":566},[108160],{"type":431,"value":80178},{"type":426,"tag":553,"props":108162,"children":108163},{"style":684},[108164],{"type":431,"value":74656},{"type":426,"tag":553,"props":108166,"children":108167},{"style":572},[108168],{"type":431,"value":2982},{"type":426,"tag":553,"props":108170,"children":108171},{"style":795},[108172],{"type":431,"value":53709},{"type":426,"tag":553,"props":108174,"children":108175},{"style":572},[108176],{"type":431,"value":95309},{"type":426,"tag":553,"props":108178,"children":108179},{"style":684},[108180],{"type":431,"value":95072},{"type":426,"tag":553,"props":108182,"children":108183},{"class":555,"line":2013},[108184,108189],{"type":426,"tag":553,"props":108185,"children":108186},{"style":795},[108187],{"type":431,"value":108188},"exit",{"type":426,"tag":553,"props":108190,"children":108191},{"style":684},[108192],{"type":431,"value":52321},{"type":426,"tag":553,"props":108194,"children":108195},{"class":555,"line":2055},[108196],{"type":426,"tag":553,"props":108197,"children":108198},{"emptyLinePlaceholder":831},[108199],{"type":431,"value":834},{"type":426,"tag":553,"props":108201,"children":108202},{"class":555,"line":2064},[108203,108207,108212,108216,108220,108225,108229,108233],{"type":426,"tag":553,"props":108204,"children":108205},{"style":795},[108206],{"type":431,"value":79962},{"type":426,"tag":553,"props":108208,"children":108209},{"style":560},[108210],{"type":431,"value":108211}," handle_incoming_message",{"type":426,"tag":553,"props":108213,"children":108214},{"style":684},[108215],{"type":431,"value":3275},{"type":426,"tag":553,"props":108217,"children":108218},{"style":795},[108219],{"type":431,"value":88820},{"type":426,"tag":553,"props":108221,"children":108222},{"style":684},[108223],{"type":431,"value":108224}," $data)",{"type":426,"tag":553,"props":108226,"children":108227},{"style":795},[108228],{"type":431,"value":19071},{"type":426,"tag":553,"props":108230,"children":108231},{"style":795},[108232],{"type":431,"value":61013},{"type":426,"tag":553,"props":108234,"children":108235},{"style":684},[108236],{"type":431,"value":5458},{"type":426,"tag":553,"props":108238,"children":108239},{"class":555,"line":2087},[108240,108245,108249,108254,108258],{"type":426,"tag":553,"props":108241,"children":108242},{"style":684},[108243],{"type":431,"value":108244},"    $from ",{"type":426,"tag":553,"props":108246,"children":108247},{"style":795},[108248],{"type":431,"value":957},{"type":426,"tag":553,"props":108250,"children":108251},{"style":684},[108252],{"type":431,"value":108253}," $data[",{"type":426,"tag":553,"props":108255,"children":108256},{"style":572},[108257],{"type":431,"value":14329},{"type":426,"tag":553,"props":108259,"children":108260},{"style":684},[108261],{"type":431,"value":88941},{"type":426,"tag":553,"props":108263,"children":108264},{"class":555,"line":2096},[108265,108270,108274,108278,108282,108286,108290,108294],{"type":426,"tag":553,"props":108266,"children":108267},{"style":684},[108268],{"type":431,"value":108269},"    $message ",{"type":426,"tag":553,"props":108271,"children":108272},{"style":795},[108273],{"type":431,"value":957},{"type":426,"tag":553,"props":108275,"children":108276},{"style":684},[108277],{"type":431,"value":108253},{"type":426,"tag":553,"props":108279,"children":108280},{"style":572},[108281],{"type":431,"value":1779},{"type":426,"tag":553,"props":108283,"children":108284},{"style":684},[108285],{"type":431,"value":2229},{"type":426,"tag":553,"props":108287,"children":108288},{"style":795},[108289],{"type":431,"value":74011},{"type":426,"tag":553,"props":108291,"children":108292},{"style":572},[108293],{"type":431,"value":1024},{"type":426,"tag":553,"props":108295,"children":108296},{"style":684},[108297],{"type":431,"value":52321},{"type":426,"tag":553,"props":108299,"children":108300},{"class":555,"line":2105},[108301,108306,108310,108314,108318,108322,108326,108331],{"type":426,"tag":553,"props":108302,"children":108303},{"style":684},[108304],{"type":431,"value":108305},"    $sender_name ",{"type":426,"tag":553,"props":108307,"children":108308},{"style":795},[108309],{"type":431,"value":957},{"type":426,"tag":553,"props":108311,"children":108312},{"style":684},[108313],{"type":431,"value":108253},{"type":426,"tag":553,"props":108315,"children":108316},{"style":572},[108317],{"type":431,"value":20354},{"type":426,"tag":553,"props":108319,"children":108320},{"style":684},[108321],{"type":431,"value":2229},{"type":426,"tag":553,"props":108323,"children":108324},{"style":795},[108325],{"type":431,"value":74011},{"type":426,"tag":553,"props":108327,"children":108328},{"style":572},[108329],{"type":431,"value":108330}," 'Customer'",{"type":426,"tag":553,"props":108332,"children":108333},{"style":684},[108334],{"type":431,"value":52321},{"type":426,"tag":553,"props":108336,"children":108337},{"class":555,"line":2114},[108338],{"type":426,"tag":553,"props":108339,"children":108340},{"style":684},[108341],{"type":431,"value":917},{"type":426,"tag":553,"props":108343,"children":108344},{"class":555,"line":2123},[108345],{"type":426,"tag":553,"props":108346,"children":108347},{"style":1975},[108348],{"type":431,"value":108349},"    \u002F\u002F Process the message\n",{"type":426,"tag":553,"props":108351,"children":108352},{"class":555,"line":2132},[108353,108358,108362,108366],{"type":426,"tag":553,"props":108354,"children":108355},{"style":684},[108356],{"type":431,"value":108357},"    $reply ",{"type":426,"tag":553,"props":108359,"children":108360},{"style":795},[108361],{"type":431,"value":957},{"type":426,"tag":553,"props":108363,"children":108364},{"style":560},[108365],{"type":431,"value":82811},{"type":426,"tag":553,"props":108367,"children":108368},{"style":684},[108369],{"type":431,"value":108370},"($message, $sender_name);\n",{"type":426,"tag":553,"props":108372,"children":108373},{"class":555,"line":2151},[108374],{"type":426,"tag":553,"props":108375,"children":108376},{"style":684},[108377],{"type":431,"value":917},{"type":426,"tag":553,"props":108379,"children":108380},{"class":555,"line":2160},[108381,108385],{"type":426,"tag":553,"props":108382,"children":108383},{"style":795},[108384],{"type":431,"value":925},{"type":426,"tag":553,"props":108386,"children":108387},{"style":684},[108388],{"type":431,"value":108389}," ($reply) {\n",{"type":426,"tag":553,"props":108391,"children":108392},{"class":555,"line":2174},[108393,108398],{"type":426,"tag":553,"props":108394,"children":108395},{"style":560},[108396],{"type":431,"value":108397},"        send_whatsapp_reply",{"type":426,"tag":553,"props":108399,"children":108400},{"style":684},[108401],{"type":431,"value":108402},"($from, $reply);\n",{"type":426,"tag":553,"props":108404,"children":108405},{"class":555,"line":2182},[108406],{"type":426,"tag":553,"props":108407,"children":108408},{"style":684},[108409],{"type":431,"value":5546},{"type":426,"tag":553,"props":108411,"children":108412},{"class":555,"line":2205},[108413],{"type":426,"tag":553,"props":108414,"children":108415},{"style":684},[108416],{"type":431,"value":756},{"type":426,"tag":553,"props":108418,"children":108419},{"class":555,"line":2241},[108420],{"type":426,"tag":553,"props":108421,"children":108422},{"emptyLinePlaceholder":831},[108423],{"type":431,"value":834},{"type":426,"tag":553,"props":108425,"children":108426},{"class":555,"line":2250},[108427,108431,108435,108439,108443,108447,108451,108456,108460,108465],{"type":426,"tag":553,"props":108428,"children":108429},{"style":795},[108430],{"type":431,"value":79962},{"type":426,"tag":553,"props":108432,"children":108433},{"style":560},[108434],{"type":431,"value":82811},{"type":426,"tag":553,"props":108436,"children":108437},{"style":684},[108438],{"type":431,"value":3275},{"type":426,"tag":553,"props":108440,"children":108441},{"style":795},[108442],{"type":431,"value":71939},{"type":426,"tag":553,"props":108444,"children":108445},{"style":684},[108446],{"type":431,"value":86424},{"type":426,"tag":553,"props":108448,"children":108449},{"style":795},[108450],{"type":431,"value":71939},{"type":426,"tag":553,"props":108452,"children":108453},{"style":684},[108454],{"type":431,"value":108455}," $name)",{"type":426,"tag":553,"props":108457,"children":108458},{"style":795},[108459],{"type":431,"value":19071},{"type":426,"tag":553,"props":108461,"children":108462},{"style":795},[108463],{"type":431,"value":108464}," ?string",{"type":426,"tag":553,"props":108466,"children":108467},{"style":684},[108468],{"type":431,"value":5458},{"type":426,"tag":553,"props":108470,"children":108471},{"class":555,"line":2302},[108472,108477,108481,108486,108490,108494],{"type":426,"tag":553,"props":108473,"children":108474},{"style":684},[108475],{"type":431,"value":108476},"    $message_lower ",{"type":426,"tag":553,"props":108478,"children":108479},{"style":795},[108480],{"type":431,"value":957},{"type":426,"tag":553,"props":108482,"children":108483},{"style":566},[108484],{"type":431,"value":108485}," strtolower",{"type":426,"tag":553,"props":108487,"children":108488},{"style":684},[108489],{"type":431,"value":3275},{"type":426,"tag":553,"props":108491,"children":108492},{"style":566},[108493],{"type":431,"value":105149},{"type":426,"tag":553,"props":108495,"children":108496},{"style":684},[108497],{"type":431,"value":108498},"($message));\n",{"type":426,"tag":553,"props":108500,"children":108501},{"class":555,"line":2353},[108502],{"type":426,"tag":553,"props":108503,"children":108504},{"style":684},[108505],{"type":431,"value":917},{"type":426,"tag":553,"props":108507,"children":108508},{"class":555,"line":2390},[108509],{"type":426,"tag":553,"props":108510,"children":108511},{"style":1975},[108512],{"type":431,"value":108513},"    \u002F\u002F Simple keyword-based response logic\n",{"type":426,"tag":553,"props":108515,"children":108516},{"class":555,"line":2440},[108517,108521,108525,108530,108535,108539,108543,108547,108552,108556,108560],{"type":426,"tag":553,"props":108518,"children":108519},{"style":795},[108520],{"type":431,"value":925},{"type":426,"tag":553,"props":108522,"children":108523},{"style":684},[108524],{"type":431,"value":5684},{"type":426,"tag":553,"props":108526,"children":108527},{"style":560},[108528],{"type":431,"value":108529},"str_contains",{"type":426,"tag":553,"props":108531,"children":108532},{"style":684},[108533],{"type":431,"value":108534},"($message_lower, ",{"type":426,"tag":553,"props":108536,"children":108537},{"style":572},[108538],{"type":431,"value":19954},{"type":426,"tag":553,"props":108540,"children":108541},{"style":684},[108542],{"type":431,"value":2987},{"type":426,"tag":553,"props":108544,"children":108545},{"style":795},[108546],{"type":431,"value":53296},{"type":426,"tag":553,"props":108548,"children":108549},{"style":560},[108550],{"type":431,"value":108551}," str_contains",{"type":426,"tag":553,"props":108553,"children":108554},{"style":684},[108555],{"type":431,"value":108534},{"type":426,"tag":553,"props":108557,"children":108558},{"style":572},[108559],{"type":431,"value":19963},{"type":426,"tag":553,"props":108561,"children":108562},{"style":684},[108563],{"type":431,"value":85254},{"type":426,"tag":553,"props":108565,"children":108566},{"class":555,"line":2488},[108567,108571,108575,108580,108585],{"type":426,"tag":553,"props":108568,"children":108569},{"style":795},[108570],{"type":431,"value":8378},{"type":426,"tag":553,"props":108572,"children":108573},{"style":572},[108574],{"type":431,"value":90324},{"type":426,"tag":553,"props":108576,"children":108577},{"style":684},[108578],{"type":431,"value":108579},"$name",{"type":426,"tag":553,"props":108581,"children":108582},{"style":572},[108583],{"type":431,"value":108584},"}! Our plans start at $5\u002Fmonth. Visit rapiwa.com for full pricing details.\"",{"type":426,"tag":553,"props":108586,"children":108587},{"style":684},[108588],{"type":431,"value":52321},{"type":426,"tag":553,"props":108590,"children":108591},{"class":555,"line":2509},[108592],{"type":426,"tag":553,"props":108593,"children":108594},{"style":684},[108595],{"type":431,"value":5546},{"type":426,"tag":553,"props":108597,"children":108598},{"class":555,"line":2527},[108599],{"type":426,"tag":553,"props":108600,"children":108601},{"style":684},[108602],{"type":431,"value":917},{"type":426,"tag":553,"props":108604,"children":108605},{"class":555,"line":2545},[108606,108610,108614,108618,108622,108626,108630,108634,108638,108642,108647],{"type":426,"tag":553,"props":108607,"children":108608},{"style":795},[108609],{"type":431,"value":925},{"type":426,"tag":553,"props":108611,"children":108612},{"style":684},[108613],{"type":431,"value":5684},{"type":426,"tag":553,"props":108615,"children":108616},{"style":560},[108617],{"type":431,"value":108529},{"type":426,"tag":553,"props":108619,"children":108620},{"style":684},[108621],{"type":431,"value":108534},{"type":426,"tag":553,"props":108623,"children":108624},{"style":572},[108625],{"type":431,"value":20068},{"type":426,"tag":553,"props":108627,"children":108628},{"style":684},[108629],{"type":431,"value":2987},{"type":426,"tag":553,"props":108631,"children":108632},{"style":795},[108633],{"type":431,"value":53296},{"type":426,"tag":553,"props":108635,"children":108636},{"style":560},[108637],{"type":431,"value":108551},{"type":426,"tag":553,"props":108639,"children":108640},{"style":684},[108641],{"type":431,"value":108534},{"type":426,"tag":553,"props":108643,"children":108644},{"style":572},[108645],{"type":431,"value":108646},"'support'",{"type":426,"tag":553,"props":108648,"children":108649},{"style":684},[108650],{"type":431,"value":85254},{"type":426,"tag":553,"props":108652,"children":108653},{"class":555,"line":12991},[108654,108658,108662,108666,108671],{"type":426,"tag":553,"props":108655,"children":108656},{"style":795},[108657],{"type":431,"value":8378},{"type":426,"tag":553,"props":108659,"children":108660},{"style":572},[108661],{"type":431,"value":90324},{"type":426,"tag":553,"props":108663,"children":108664},{"style":684},[108665],{"type":431,"value":108579},{"type":426,"tag":553,"props":108667,"children":108668},{"style":572},[108669],{"type":431,"value":108670},"}! I am here to help. Please describe your issue and our team will assist you within 1 business hour.\"",{"type":426,"tag":553,"props":108672,"children":108673},{"style":684},[108674],{"type":431,"value":52321},{"type":426,"tag":553,"props":108676,"children":108677},{"class":555,"line":13004},[108678],{"type":426,"tag":553,"props":108679,"children":108680},{"style":684},[108681],{"type":431,"value":5546},{"type":426,"tag":553,"props":108683,"children":108684},{"class":555,"line":13012},[108685],{"type":426,"tag":553,"props":108686,"children":108687},{"style":684},[108688],{"type":431,"value":917},{"type":426,"tag":553,"props":108690,"children":108691},{"class":555,"line":13025},[108692,108696,108701,108705,108710,108714,108719,108723,108728],{"type":426,"tag":553,"props":108693,"children":108694},{"style":795},[108695],{"type":431,"value":925},{"type":426,"tag":553,"props":108697,"children":108698},{"style":684},[108699],{"type":431,"value":108700}," ($message_lower ",{"type":426,"tag":553,"props":108702,"children":108703},{"style":795},[108704],{"type":431,"value":55042},{"type":426,"tag":553,"props":108706,"children":108707},{"style":572},[108708],{"type":431,"value":108709}," 'hi'",{"type":426,"tag":553,"props":108711,"children":108712},{"style":795},[108713],{"type":431,"value":84619},{"type":426,"tag":553,"props":108715,"children":108716},{"style":684},[108717],{"type":431,"value":108718}," $message_lower ",{"type":426,"tag":553,"props":108720,"children":108721},{"style":795},[108722],{"type":431,"value":55042},{"type":426,"tag":553,"props":108724,"children":108725},{"style":572},[108726],{"type":431,"value":108727}," 'hello'",{"type":426,"tag":553,"props":108729,"children":108730},{"style":684},[108731],{"type":431,"value":52385},{"type":426,"tag":553,"props":108733,"children":108734},{"class":555,"line":13033},[108735,108739,108744,108748,108752],{"type":426,"tag":553,"props":108736,"children":108737},{"style":795},[108738],{"type":431,"value":8378},{"type":426,"tag":553,"props":108740,"children":108741},{"style":572},[108742],{"type":431,"value":108743}," \"Hello {",{"type":426,"tag":553,"props":108745,"children":108746},{"style":684},[108747],{"type":431,"value":108579},{"type":426,"tag":553,"props":108749,"children":108750},{"style":572},[108751],{"type":431,"value":76189},{"type":426,"tag":553,"props":108753,"children":108754},{"style":684},[108755],{"type":431,"value":52321},{"type":426,"tag":553,"props":108757,"children":108758},{"class":555,"line":13069},[108759],{"type":426,"tag":553,"props":108760,"children":108761},{"style":684},[108762],{"type":431,"value":5546},{"type":426,"tag":553,"props":108764,"children":108765},{"class":555,"line":13089},[108766],{"type":426,"tag":553,"props":108767,"children":108768},{"style":684},[108769],{"type":431,"value":917},{"type":426,"tag":553,"props":108771,"children":108772},{"class":555,"line":13102},[108773],{"type":426,"tag":553,"props":108774,"children":108775},{"style":1975},[108776],{"type":431,"value":108777},"    \u002F\u002F Default: no auto-reply, let a human handle it\n",{"type":426,"tag":553,"props":108779,"children":108780},{"class":555,"line":13111},[108781,108785,108789],{"type":426,"tag":553,"props":108782,"children":108783},{"style":795},[108784],{"type":431,"value":1659},{"type":426,"tag":553,"props":108786,"children":108787},{"style":566},[108788],{"type":431,"value":62188},{"type":426,"tag":553,"props":108790,"children":108791},{"style":684},[108792],{"type":431,"value":52321},{"type":426,"tag":553,"props":108794,"children":108795},{"class":555,"line":13120},[108796],{"type":426,"tag":553,"props":108797,"children":108798},{"style":684},[108799],{"type":431,"value":756},{"type":426,"tag":553,"props":108801,"children":108802},{"class":555,"line":13129},[108803],{"type":426,"tag":553,"props":108804,"children":108805},{"emptyLinePlaceholder":831},[108806],{"type":431,"value":834},{"type":426,"tag":553,"props":108808,"children":108809},{"class":555,"line":13174},[108810,108814,108818,108822,108826,108830,108834,108838,108842,108846],{"type":426,"tag":553,"props":108811,"children":108812},{"style":795},[108813],{"type":431,"value":79962},{"type":426,"tag":553,"props":108815,"children":108816},{"style":560},[108817],{"type":431,"value":97978},{"type":426,"tag":553,"props":108819,"children":108820},{"style":684},[108821],{"type":431,"value":3275},{"type":426,"tag":553,"props":108823,"children":108824},{"style":795},[108825],{"type":431,"value":71939},{"type":426,"tag":553,"props":108827,"children":108828},{"style":684},[108829],{"type":431,"value":79980},{"type":426,"tag":553,"props":108831,"children":108832},{"style":795},[108833],{"type":431,"value":71939},{"type":426,"tag":553,"props":108835,"children":108836},{"style":684},[108837],{"type":431,"value":87812},{"type":426,"tag":553,"props":108839,"children":108840},{"style":795},[108841],{"type":431,"value":19071},{"type":426,"tag":553,"props":108843,"children":108844},{"style":795},[108845],{"type":431,"value":61013},{"type":426,"tag":553,"props":108847,"children":108848},{"style":684},[108849],{"type":431,"value":5458},{"type":426,"tag":553,"props":108851,"children":108852},{"class":555,"line":13205},[108853,108858,108862,108866],{"type":426,"tag":553,"props":108854,"children":108855},{"style":684},[108856],{"type":431,"value":108857},"    $api_key ",{"type":426,"tag":553,"props":108859,"children":108860},{"style":795},[108861],{"type":431,"value":957},{"type":426,"tag":553,"props":108863,"children":108864},{"style":572},[108865],{"type":431,"value":55718},{"type":426,"tag":553,"props":108867,"children":108868},{"style":684},[108869],{"type":431,"value":52321},{"type":426,"tag":553,"props":108871,"children":108872},{"class":555,"line":13218},[108873],{"type":426,"tag":553,"props":108874,"children":108875},{"style":684},[108876],{"type":431,"value":917},{"type":426,"tag":553,"props":108878,"children":108879},{"class":555,"line":20616},[108880,108884,108888,108892,108896,108900],{"type":426,"tag":553,"props":108881,"children":108882},{"style":684},[108883],{"type":431,"value":80040},{"type":426,"tag":553,"props":108885,"children":108886},{"style":795},[108887],{"type":431,"value":957},{"type":426,"tag":553,"props":108889,"children":108890},{"style":566},[108891],{"type":431,"value":80049},{"type":426,"tag":553,"props":108893,"children":108894},{"style":684},[108895],{"type":431,"value":3275},{"type":426,"tag":553,"props":108897,"children":108898},{"style":572},[108899],{"type":431,"value":55802},{"type":426,"tag":553,"props":108901,"children":108902},{"style":684},[108903],{"type":431,"value":11379},{"type":426,"tag":553,"props":108905,"children":108906},{"class":555,"line":20637},[108907,108911],{"type":426,"tag":553,"props":108908,"children":108909},{"style":566},[108910],{"type":431,"value":80070},{"type":426,"tag":553,"props":108912,"children":108913},{"style":684},[108914],{"type":431,"value":80075},{"type":426,"tag":553,"props":108916,"children":108917},{"class":555,"line":20650},[108918,108922,108926,108930],{"type":426,"tag":553,"props":108919,"children":108920},{"style":566},[108921],{"type":431,"value":80083},{"type":426,"tag":553,"props":108923,"children":108924},{"style":795},[108925],{"type":431,"value":53709},{"type":426,"tag":553,"props":108927,"children":108928},{"style":566},[108929],{"type":431,"value":80092},{"type":426,"tag":553,"props":108931,"children":108932},{"style":684},[108933],{"type":431,"value":710},{"type":426,"tag":553,"props":108935,"children":108936},{"class":555,"line":20658},[108937,108941,108945,108949],{"type":426,"tag":553,"props":108938,"children":108939},{"style":566},[108940],{"type":431,"value":80104},{"type":426,"tag":553,"props":108942,"children":108943},{"style":795},[108944],{"type":431,"value":53709},{"type":426,"tag":553,"props":108946,"children":108947},{"style":566},[108948],{"type":431,"value":80092},{"type":426,"tag":553,"props":108950,"children":108951},{"style":684},[108952],{"type":431,"value":710},{"type":426,"tag":553,"props":108954,"children":108955},{"class":555,"line":20666},[108956,108960,108964],{"type":426,"tag":553,"props":108957,"children":108958},{"style":566},[108959],{"type":431,"value":80124},{"type":426,"tag":553,"props":108961,"children":108962},{"style":795},[108963],{"type":431,"value":53709},{"type":426,"tag":553,"props":108965,"children":108966},{"style":684},[108967],{"type":431,"value":80133},{"type":426,"tag":553,"props":108969,"children":108970},{"class":555,"line":20675},[108971,108975,108980,108984],{"type":426,"tag":553,"props":108972,"children":108973},{"style":572},[108974],{"type":431,"value":86579},{"type":426,"tag":553,"props":108976,"children":108977},{"style":684},[108978],{"type":431,"value":108979},"$api_key",{"type":426,"tag":553,"props":108981,"children":108982},{"style":572},[108983],{"type":431,"value":67316},{"type":426,"tag":553,"props":108985,"children":108986},{"style":684},[108987],{"type":431,"value":710},{"type":426,"tag":553,"props":108989,"children":108990},{"class":555,"line":20684},[108991],{"type":426,"tag":553,"props":108992,"children":108993},{"style":572},[108994],{"type":431,"value":80153},{"type":426,"tag":553,"props":108996,"children":108997},{"class":555,"line":20692},[108998],{"type":426,"tag":553,"props":108999,"children":109000},{"style":684},[109001],{"type":431,"value":80161},{"type":426,"tag":553,"props":109003,"children":109004},{"class":555,"line":20720},[109005,109009,109013,109017],{"type":426,"tag":553,"props":109006,"children":109007},{"style":566},[109008],{"type":431,"value":80169},{"type":426,"tag":553,"props":109010,"children":109011},{"style":795},[109012],{"type":431,"value":53709},{"type":426,"tag":553,"props":109014,"children":109015},{"style":566},[109016],{"type":431,"value":80178},{"type":426,"tag":553,"props":109018,"children":109019},{"style":684},[109020],{"type":431,"value":80183},{"type":426,"tag":553,"props":109022,"children":109023},{"class":555,"line":20728},[109024,109028,109032],{"type":426,"tag":553,"props":109025,"children":109026},{"style":572},[109027],{"type":431,"value":15045},{"type":426,"tag":553,"props":109029,"children":109030},{"style":795},[109031],{"type":431,"value":53709},{"type":426,"tag":553,"props":109033,"children":109034},{"style":684},[109035],{"type":431,"value":80199},{"type":426,"tag":553,"props":109037,"children":109038},{"class":555,"line":20736},[109039,109043,109047],{"type":426,"tag":553,"props":109040,"children":109041},{"style":572},[109042],{"type":431,"value":15058},{"type":426,"tag":553,"props":109044,"children":109045},{"style":795},[109046],{"type":431,"value":53709},{"type":426,"tag":553,"props":109048,"children":109049},{"style":684},[109050],{"type":431,"value":94569},{"type":426,"tag":553,"props":109052,"children":109053},{"class":555,"line":20777},[109054],{"type":426,"tag":553,"props":109055,"children":109056},{"style":684},[109057],{"type":431,"value":80255},{"type":426,"tag":553,"props":109059,"children":109060},{"class":555,"line":20789},[109061],{"type":426,"tag":553,"props":109062,"children":109063},{"style":684},[109064],{"type":431,"value":80263},{"type":426,"tag":553,"props":109066,"children":109067},{"class":555,"line":20801},[109068],{"type":426,"tag":553,"props":109069,"children":109070},{"style":684},[109071],{"type":431,"value":917},{"type":426,"tag":553,"props":109073,"children":109074},{"class":555,"line":20846},[109075,109079,109083,109087,109091,109095,109099,109103],{"type":426,"tag":553,"props":109076,"children":109077},{"style":684},[109078],{"type":431,"value":86692},{"type":426,"tag":553,"props":109080,"children":109081},{"style":795},[109082],{"type":431,"value":957},{"type":426,"tag":553,"props":109084,"children":109085},{"style":566},[109086],{"type":431,"value":80280},{"type":426,"tag":553,"props":109088,"children":109089},{"style":684},[109090],{"type":431,"value":3275},{"type":426,"tag":553,"props":109092,"children":109093},{"style":566},[109094],{"type":431,"value":80289},{"type":426,"tag":553,"props":109096,"children":109097},{"style":684},[109098],{"type":431,"value":80294},{"type":426,"tag":553,"props":109100,"children":109101},{"style":566},[109102],{"type":431,"value":48523},{"type":426,"tag":553,"props":109104,"children":109105},{"style":684},[109106],{"type":431,"value":11379},{"type":426,"tag":553,"props":109108,"children":109109},{"class":555,"line":20878},[109110,109114],{"type":426,"tag":553,"props":109111,"children":109112},{"style":566},[109113],{"type":431,"value":80310},{"type":426,"tag":553,"props":109115,"children":109116},{"style":684},[109117],{"type":431,"value":80315},{"type":426,"tag":553,"props":109119,"children":109120},{"class":555,"line":24807},[109121],{"type":426,"tag":553,"props":109122,"children":109123},{"style":684},[109124],{"type":431,"value":917},{"type":426,"tag":553,"props":109126,"children":109127},{"class":555,"line":24825},[109128,109132,109137,109141,109145,109149,109153],{"type":426,"tag":553,"props":109129,"children":109130},{"style":795},[109131],{"type":431,"value":925},{"type":426,"tag":553,"props":109133,"children":109134},{"style":684},[109135],{"type":431,"value":109136}," ($response[",{"type":426,"tag":553,"props":109138,"children":109139},{"style":572},[109140],{"type":431,"value":2982},{"type":426,"tag":553,"props":109142,"children":109143},{"style":684},[109144],{"type":431,"value":2229},{"type":426,"tag":553,"props":109146,"children":109147},{"style":795},[109148],{"type":431,"value":84808},{"type":426,"tag":553,"props":109150,"children":109151},{"style":572},[109152],{"type":431,"value":2996},{"type":426,"tag":553,"props":109154,"children":109155},{"style":684},[109156],{"type":431,"value":52385},{"type":426,"tag":553,"props":109158,"children":109159},{"class":555,"line":24837},[109160,109164,109168,109173,109177,109181],{"type":426,"tag":553,"props":109161,"children":109162},{"style":566},[109163],{"type":431,"value":90047},{"type":426,"tag":553,"props":109165,"children":109166},{"style":684},[109167],{"type":431,"value":3275},{"type":426,"tag":553,"props":109169,"children":109170},{"style":572},[109171],{"type":431,"value":109172},"\"Rapiwa send failed: \"",{"type":426,"tag":553,"props":109174,"children":109175},{"style":795},[109176],{"type":431,"value":87022},{"type":426,"tag":553,"props":109178,"children":109179},{"style":566},[109180],{"type":431,"value":80178},{"type":426,"tag":553,"props":109182,"children":109183},{"style":684},[109184],{"type":431,"value":109185},"($response));\n",{"type":426,"tag":553,"props":109187,"children":109188},{"class":555,"line":24858},[109189],{"type":426,"tag":553,"props":109190,"children":109191},{"style":684},[109192],{"type":431,"value":5546},{"type":426,"tag":553,"props":109194,"children":109195},{"class":555,"line":24895},[109196],{"type":426,"tag":553,"props":109197,"children":109198},{"style":684},[109199],{"type":431,"value":756},{"type":426,"tag":553,"props":109201,"children":109202},{"class":555,"line":24940},[109203],{"type":426,"tag":553,"props":109204,"children":109205},{"emptyLinePlaceholder":831},[109206],{"type":431,"value":834},{"type":426,"tag":553,"props":109208,"children":109209},{"class":555,"line":24961},[109210,109214,109219,109223,109227,109231,109235,109239],{"type":426,"tag":553,"props":109211,"children":109212},{"style":795},[109213],{"type":431,"value":79962},{"type":426,"tag":553,"props":109215,"children":109216},{"style":560},[109217],{"type":431,"value":109218}," handle_message_delivered",{"type":426,"tag":553,"props":109220,"children":109221},{"style":684},[109222],{"type":431,"value":3275},{"type":426,"tag":553,"props":109224,"children":109225},{"style":795},[109226],{"type":431,"value":88820},{"type":426,"tag":553,"props":109228,"children":109229},{"style":684},[109230],{"type":431,"value":108224},{"type":426,"tag":553,"props":109232,"children":109233},{"style":795},[109234],{"type":431,"value":19071},{"type":426,"tag":553,"props":109236,"children":109237},{"style":795},[109238],{"type":431,"value":61013},{"type":426,"tag":553,"props":109240,"children":109241},{"style":684},[109242],{"type":431,"value":5458},{"type":426,"tag":553,"props":109244,"children":109245},{"class":555,"line":24990},[109246],{"type":426,"tag":553,"props":109247,"children":109248},{"style":1975},[109249],{"type":431,"value":109250},"    \u002F\u002F Log delivery confirmation\n",{"type":426,"tag":553,"props":109252,"children":109253},{"class":555,"line":25003},[109254,109259,109263,109267,109271],{"type":426,"tag":553,"props":109255,"children":109256},{"style":684},[109257],{"type":431,"value":109258},"    $message_id ",{"type":426,"tag":553,"props":109260,"children":109261},{"style":795},[109262],{"type":431,"value":957},{"type":426,"tag":553,"props":109264,"children":109265},{"style":684},[109266],{"type":431,"value":108253},{"type":426,"tag":553,"props":109268,"children":109269},{"style":572},[109270],{"type":431,"value":8316},{"type":426,"tag":553,"props":109272,"children":109273},{"style":684},[109274],{"type":431,"value":88941},{"type":426,"tag":553,"props":109276,"children":109277},{"class":555,"line":25011},[109278,109283,109287,109292,109297,109302,109306,109310,109315],{"type":426,"tag":553,"props":109279,"children":109280},{"style":566},[109281],{"type":431,"value":109282},"    error_log",{"type":426,"tag":553,"props":109284,"children":109285},{"style":684},[109286],{"type":431,"value":3275},{"type":426,"tag":553,"props":109288,"children":109289},{"style":572},[109290],{"type":431,"value":109291},"\"Message {",{"type":426,"tag":553,"props":109293,"children":109294},{"style":684},[109295],{"type":431,"value":109296},"$message_id",{"type":426,"tag":553,"props":109298,"children":109299},{"style":572},[109300],{"type":431,"value":109301},"} delivered at \"",{"type":426,"tag":553,"props":109303,"children":109304},{"style":795},[109305],{"type":431,"value":87022},{"type":426,"tag":553,"props":109307,"children":109308},{"style":684},[109309],{"type":431,"value":108253},{"type":426,"tag":553,"props":109311,"children":109312},{"style":572},[109313],{"type":431,"value":109314},"'timestamp'",{"type":426,"tag":553,"props":109316,"children":109317},{"style":684},[109318],{"type":431,"value":95072},{"type":426,"tag":553,"props":109320,"children":109321},{"class":555,"line":25019},[109322],{"type":426,"tag":553,"props":109323,"children":109324},{"style":1975},[109325],{"type":431,"value":109326},"    \u002F\u002F Update your database to mark the message as delivered\n",{"type":426,"tag":553,"props":109328,"children":109329},{"class":555,"line":25027},[109330],{"type":426,"tag":553,"props":109331,"children":109332},{"style":684},[109333],{"type":431,"value":756},{"type":426,"tag":434,"props":109335,"children":109337},{"id":109336},"step-2-register-the-webhook-in-rapiwa",[109338],{"type":431,"value":109339},"Step 2: Register the Webhook in Rapiwa",{"type":426,"tag":6331,"props":109341,"children":109342},{},[109343,109348,109356,109364,109374,109384],{"type":426,"tag":458,"props":109344,"children":109345},{},[109346],{"type":431,"value":109347},"Log in to the Rapiwa dashboard",{"type":426,"tag":458,"props":109349,"children":109350},{},[109351,109352],{"type":431,"value":47846},{"type":426,"tag":446,"props":109353,"children":109354},{},[109355],{"type":431,"value":85755},{"type":426,"tag":458,"props":109357,"children":109358},{},[109359,109360],{"type":431,"value":47857},{"type":426,"tag":446,"props":109361,"children":109362},{},[109363],{"type":431,"value":85764},{"type":426,"tag":458,"props":109365,"children":109366},{},[109367,109368],{"type":431,"value":62466},{"type":426,"tag":549,"props":109369,"children":109371},{"className":109370},[],[109372],{"type":431,"value":109373},"https:\u002F\u002Fyoursite.com\u002Fwebhook.php",{"type":426,"tag":458,"props":109375,"children":109376},{},[109377,109379],{"type":431,"value":109378},"Events: check ",{"type":426,"tag":549,"props":109380,"children":109382},{"className":109381},[],[109383],{"type":431,"value":7956},{"type":426,"tag":458,"props":109385,"children":109386},{},[109387],{"type":431,"value":66022},{"type":426,"tag":434,"props":109389,"children":109391},{"id":109390},"step-3-laravel-implementation",[109392],{"type":431,"value":109393},"Step 3: Laravel Implementation",{"type":426,"tag":427,"props":109395,"children":109396},{},[109397],{"type":431,"value":109398},"For Laravel applications, create a dedicated webhook controller:",{"type":426,"tag":542,"props":109400,"children":109402},{"className":546,"code":109401,"language":545,"meta":417,"style":417},"php artisan make:controller WhatsAppWebhookController\n",[109403],{"type":426,"tag":549,"props":109404,"children":109405},{"__ignoreMap":417},[109406],{"type":426,"tag":553,"props":109407,"children":109408},{"class":555,"line":556},[109409,109413,109417,109422],{"type":426,"tag":553,"props":109410,"children":109411},{"style":560},[109412],{"type":431,"value":79950},{"type":426,"tag":553,"props":109414,"children":109415},{"style":572},[109416],{"type":431,"value":91076},{"type":426,"tag":553,"props":109418,"children":109419},{"style":572},[109420],{"type":431,"value":109421}," make:controller",{"type":426,"tag":553,"props":109423,"children":109424},{"style":572},[109425],{"type":431,"value":109426}," WhatsAppWebhookController\n",{"type":426,"tag":542,"props":109428,"children":109430},{"className":79948,"code":109429,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F app\u002FHttp\u002FControllers\u002FWhatsAppWebhookController.php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Log;\nuse Illuminate\\Http\\JsonResponse;\n\nclass WhatsAppWebhookController extends Controller\n{\n    public function handle(Request $request): JsonResponse\n    {\n        $event = $request->input('event');\n        $data = $request->input('data', []);\n\n        Log::info('Rapiwa webhook received', ['event' => $event]);\n\n        match ($event) {\n            'message.received' => $this->handleIncomingMessage($data),\n            'message.delivered' => $this->handleDelivered($data),\n            default => Log::warning('Unknown Rapiwa event', ['event' => $event])\n        };\n\n        return response()->json(['status' => 'ok']);\n    }\n\n    private function handleIncomingMessage(array $data): void\n    {\n        $from = $data['from'];\n        $message = $data['message'] ?? '';\n        $senderName = $data['senderName'] ?? 'Customer';\n\n        \u002F\u002F Save to database\n        \\App\\Models\\WhatsappMessage::create([\n            'direction' => 'incoming',\n            'phone' => $from,\n            'message' => $message,\n            'sender_name' => $senderName,\n            'received_at' => now()\n        ]);\n\n        \u002F\u002F Queue a reply job\n        \\App\\Jobs\\SendWhatsAppReply::dispatch($from, $message, $senderName)\n            ->delay(now()->addSeconds(2));\n    }\n\n    private function handleDelivered(array $data): void\n    {\n        \\App\\Models\\WhatsappMessage::where('message_id', $data['messageId'])\n            ->update(['delivered_at' => now()]);\n    }\n}\n",[109431],{"type":426,"tag":549,"props":109432,"children":109433},{"__ignoreMap":417},[109434,109445,109452,109459,109474,109481,109496,109512,109528,109535,109554,109561,109596,109603,109639,109676,109683,109726,109733,109745,109775,109804,109856,109863,109870,109913,109920,109927,109963,109970,109994,110029,110065,110072,110080,110100,110121,110138,110153,110170,110191,110198,110205,110213,110234,110278,110285,110292,110328,110335,110372,110406,110413],{"type":426,"tag":553,"props":109435,"children":109436},{"class":555,"line":556},[109437,109441],{"type":426,"tag":553,"props":109438,"children":109439},{"style":795},[109440],{"type":431,"value":86379},{"type":426,"tag":553,"props":109442,"children":109443},{"style":566},[109444],{"type":431,"value":86384},{"type":426,"tag":553,"props":109446,"children":109447},{"class":555,"line":588},[109448],{"type":426,"tag":553,"props":109449,"children":109450},{"style":1975},[109451],{"type":431,"value":95087},{"type":426,"tag":553,"props":109453,"children":109454},{"class":555,"line":606},[109455],{"type":426,"tag":553,"props":109456,"children":109457},{"emptyLinePlaceholder":831},[109458],{"type":431,"value":834},{"type":426,"tag":553,"props":109460,"children":109461},{"class":555,"line":623},[109462,109466,109470],{"type":426,"tag":553,"props":109463,"children":109464},{"style":795},[109465],{"type":431,"value":72817},{"type":426,"tag":553,"props":109467,"children":109468},{"style":560},[109469],{"type":431,"value":92612},{"type":426,"tag":553,"props":109471,"children":109472},{"style":684},[109473],{"type":431,"value":52321},{"type":426,"tag":553,"props":109475,"children":109476},{"class":555,"line":637},[109477],{"type":426,"tag":553,"props":109478,"children":109479},{"emptyLinePlaceholder":831},[109480],{"type":431,"value":834},{"type":426,"tag":553,"props":109482,"children":109483},{"class":555,"line":646},[109484,109488,109492],{"type":426,"tag":553,"props":109485,"children":109486},{"style":795},[109487],{"type":431,"value":84570},{"type":426,"tag":553,"props":109489,"children":109490},{"style":566},[109491],{"type":431,"value":92651},{"type":426,"tag":553,"props":109493,"children":109494},{"style":684},[109495],{"type":431,"value":52321},{"type":426,"tag":553,"props":109497,"children":109498},{"class":555,"line":655},[109499,109503,109508],{"type":426,"tag":553,"props":109500,"children":109501},{"style":795},[109502],{"type":431,"value":84570},{"type":426,"tag":553,"props":109504,"children":109505},{"style":566},[109506],{"type":431,"value":109507}," Illuminate\\Support\\Facades\\Log",{"type":426,"tag":553,"props":109509,"children":109510},{"style":684},[109511],{"type":431,"value":52321},{"type":426,"tag":553,"props":109513,"children":109514},{"class":555,"line":1036},[109515,109519,109524],{"type":426,"tag":553,"props":109516,"children":109517},{"style":795},[109518],{"type":431,"value":84570},{"type":426,"tag":553,"props":109520,"children":109521},{"style":566},[109522],{"type":431,"value":109523}," Illuminate\\Http\\JsonResponse",{"type":426,"tag":553,"props":109525,"children":109526},{"style":684},[109527],{"type":431,"value":52321},{"type":426,"tag":553,"props":109529,"children":109530},{"class":555,"line":1054},[109531],{"type":426,"tag":553,"props":109532,"children":109533},{"emptyLinePlaceholder":831},[109534],{"type":431,"value":834},{"type":426,"tag":553,"props":109536,"children":109537},{"class":555,"line":1080},[109538,109542,109546,109550],{"type":426,"tag":553,"props":109539,"children":109540},{"style":795},[109541],{"type":431,"value":11909},{"type":426,"tag":553,"props":109543,"children":109544},{"style":560},[109545],{"type":431,"value":75623},{"type":426,"tag":553,"props":109547,"children":109548},{"style":795},[109549],{"type":431,"value":92679},{"type":426,"tag":553,"props":109551,"children":109552},{"style":560},[109553],{"type":431,"value":92684},{"type":426,"tag":553,"props":109555,"children":109556},{"class":555,"line":1097},[109557],{"type":426,"tag":553,"props":109558,"children":109559},{"style":684},[109560],{"type":431,"value":687},{"type":426,"tag":553,"props":109562,"children":109563},{"class":555,"line":1114},[109564,109568,109572,109576,109580,109584,109588,109592],{"type":426,"tag":553,"props":109565,"children":109566},{"style":795},[109567],{"type":431,"value":61004},{"type":426,"tag":553,"props":109569,"children":109570},{"style":795},[109571],{"type":431,"value":52366},{"type":426,"tag":553,"props":109573,"children":109574},{"style":560},[109575],{"type":431,"value":94599},{"type":426,"tag":553,"props":109577,"children":109578},{"style":684},[109579],{"type":431,"value":3275},{"type":426,"tag":553,"props":109581,"children":109582},{"style":566},[109583],{"type":431,"value":92755},{"type":426,"tag":553,"props":109585,"children":109586},{"style":684},[109587],{"type":431,"value":92760},{"type":426,"tag":553,"props":109589,"children":109590},{"style":795},[109591],{"type":431,"value":19071},{"type":426,"tag":553,"props":109593,"children":109594},{"style":566},[109595],{"type":431,"value":95123},{"type":426,"tag":553,"props":109597,"children":109598},{"class":555,"line":1127},[109599],{"type":426,"tag":553,"props":109600,"children":109601},{"style":684},[109602],{"type":431,"value":73368},{"type":426,"tag":553,"props":109604,"children":109605},{"class":555,"line":1167},[109606,109611,109615,109619,109623,109627,109631,109635],{"type":426,"tag":553,"props":109607,"children":109608},{"style":684},[109609],{"type":431,"value":109610},"        $event ",{"type":426,"tag":553,"props":109612,"children":109613},{"style":795},[109614],{"type":431,"value":957},{"type":426,"tag":553,"props":109616,"children":109617},{"style":684},[109618],{"type":431,"value":95147},{"type":426,"tag":553,"props":109620,"children":109621},{"style":795},[109622],{"type":431,"value":70711},{"type":426,"tag":553,"props":109624,"children":109625},{"style":560},[109626],{"type":431,"value":6906},{"type":426,"tag":553,"props":109628,"children":109629},{"style":684},[109630],{"type":431,"value":3275},{"type":426,"tag":553,"props":109632,"children":109633},{"style":572},[109634],{"type":431,"value":8176},{"type":426,"tag":553,"props":109636,"children":109637},{"style":684},[109638],{"type":431,"value":11379},{"type":426,"tag":553,"props":109640,"children":109641},{"class":555,"line":1184},[109642,109647,109651,109655,109659,109663,109667,109671],{"type":426,"tag":553,"props":109643,"children":109644},{"style":684},[109645],{"type":431,"value":109646},"        $data ",{"type":426,"tag":553,"props":109648,"children":109649},{"style":795},[109650],{"type":431,"value":957},{"type":426,"tag":553,"props":109652,"children":109653},{"style":684},[109654],{"type":431,"value":95147},{"type":426,"tag":553,"props":109656,"children":109657},{"style":795},[109658],{"type":431,"value":70711},{"type":426,"tag":553,"props":109660,"children":109661},{"style":560},[109662],{"type":431,"value":6906},{"type":426,"tag":553,"props":109664,"children":109665},{"style":684},[109666],{"type":431,"value":3275},{"type":426,"tag":553,"props":109668,"children":109669},{"style":572},[109670],{"type":431,"value":8206},{"type":426,"tag":553,"props":109672,"children":109673},{"style":684},[109674],{"type":431,"value":109675},", []);\n",{"type":426,"tag":553,"props":109677,"children":109678},{"class":555,"line":1192},[109679],{"type":426,"tag":553,"props":109680,"children":109681},{"emptyLinePlaceholder":831},[109682],{"type":431,"value":834},{"type":426,"tag":553,"props":109684,"children":109685},{"class":555,"line":1210},[109686,109691,109695,109700,109704,109709,109713,109717,109721],{"type":426,"tag":553,"props":109687,"children":109688},{"style":566},[109689],{"type":431,"value":109690},"        Log",{"type":426,"tag":553,"props":109692,"children":109693},{"style":795},[109694],{"type":431,"value":91528},{"type":426,"tag":553,"props":109696,"children":109697},{"style":560},[109698],{"type":431,"value":109699},"info",{"type":426,"tag":553,"props":109701,"children":109702},{"style":684},[109703],{"type":431,"value":3275},{"type":426,"tag":553,"props":109705,"children":109706},{"style":572},[109707],{"type":431,"value":109708},"'Rapiwa webhook received'",{"type":426,"tag":553,"props":109710,"children":109711},{"style":684},[109712],{"type":431,"value":95020},{"type":426,"tag":553,"props":109714,"children":109715},{"style":572},[109716],{"type":431,"value":8176},{"type":426,"tag":553,"props":109718,"children":109719},{"style":795},[109720],{"type":431,"value":53709},{"type":426,"tag":553,"props":109722,"children":109723},{"style":684},[109724],{"type":431,"value":109725}," $event]);\n",{"type":426,"tag":553,"props":109727,"children":109728},{"class":555,"line":1253},[109729],{"type":426,"tag":553,"props":109730,"children":109731},{"emptyLinePlaceholder":831},[109732],{"type":431,"value":834},{"type":426,"tag":553,"props":109734,"children":109735},{"class":555,"line":1302},[109736,109741],{"type":426,"tag":553,"props":109737,"children":109738},{"style":795},[109739],{"type":431,"value":109740},"        match",{"type":426,"tag":553,"props":109742,"children":109743},{"style":684},[109744],{"type":431,"value":107965},{"type":426,"tag":553,"props":109746,"children":109747},{"class":555,"line":1374},[109748,109753,109757,109761,109765,109770],{"type":426,"tag":553,"props":109749,"children":109750},{"style":572},[109751],{"type":431,"value":109752},"            'message.received'",{"type":426,"tag":553,"props":109754,"children":109755},{"style":795},[109756],{"type":431,"value":53709},{"type":426,"tag":553,"props":109758,"children":109759},{"style":566},[109760],{"type":431,"value":87855},{"type":426,"tag":553,"props":109762,"children":109763},{"style":795},[109764],{"type":431,"value":70711},{"type":426,"tag":553,"props":109766,"children":109767},{"style":560},[109768],{"type":431,"value":109769},"handleIncomingMessage",{"type":426,"tag":553,"props":109771,"children":109772},{"style":684},[109773],{"type":431,"value":109774},"($data),\n",{"type":426,"tag":553,"props":109776,"children":109777},{"class":555,"line":1414},[109778,109783,109787,109791,109795,109800],{"type":426,"tag":553,"props":109779,"children":109780},{"style":572},[109781],{"type":431,"value":109782},"            'message.delivered'",{"type":426,"tag":553,"props":109784,"children":109785},{"style":795},[109786],{"type":431,"value":53709},{"type":426,"tag":553,"props":109788,"children":109789},{"style":566},[109790],{"type":431,"value":87855},{"type":426,"tag":553,"props":109792,"children":109793},{"style":795},[109794],{"type":431,"value":70711},{"type":426,"tag":553,"props":109796,"children":109797},{"style":560},[109798],{"type":431,"value":109799},"handleDelivered",{"type":426,"tag":553,"props":109801,"children":109802},{"style":684},[109803],{"type":431,"value":109774},{"type":426,"tag":553,"props":109805,"children":109806},{"class":555,"line":1479},[109807,109812,109816,109821,109825,109830,109834,109839,109843,109847,109851],{"type":426,"tag":553,"props":109808,"children":109809},{"style":795},[109810],{"type":431,"value":109811},"            default",{"type":426,"tag":553,"props":109813,"children":109814},{"style":795},[109815],{"type":431,"value":53709},{"type":426,"tag":553,"props":109817,"children":109818},{"style":566},[109819],{"type":431,"value":109820}," Log",{"type":426,"tag":553,"props":109822,"children":109823},{"style":795},[109824],{"type":431,"value":91528},{"type":426,"tag":553,"props":109826,"children":109827},{"style":560},[109828],{"type":431,"value":109829},"warning",{"type":426,"tag":553,"props":109831,"children":109832},{"style":684},[109833],{"type":431,"value":3275},{"type":426,"tag":553,"props":109835,"children":109836},{"style":572},[109837],{"type":431,"value":109838},"'Unknown Rapiwa event'",{"type":426,"tag":553,"props":109840,"children":109841},{"style":684},[109842],{"type":431,"value":95020},{"type":426,"tag":553,"props":109844,"children":109845},{"style":572},[109846],{"type":431,"value":8176},{"type":426,"tag":553,"props":109848,"children":109849},{"style":795},[109850],{"type":431,"value":53709},{"type":426,"tag":553,"props":109852,"children":109853},{"style":684},[109854],{"type":431,"value":109855}," $event])\n",{"type":426,"tag":553,"props":109857,"children":109858},{"class":555,"line":1517},[109859],{"type":426,"tag":553,"props":109860,"children":109861},{"style":684},[109862],{"type":431,"value":61320},{"type":426,"tag":553,"props":109864,"children":109865},{"class":555,"line":1560},[109866],{"type":426,"tag":553,"props":109867,"children":109868},{"emptyLinePlaceholder":831},[109869],{"type":431,"value":834},{"type":426,"tag":553,"props":109871,"children":109872},{"class":555,"line":1598},[109873,109877,109881,109885,109889,109893,109897,109901,109905,109909],{"type":426,"tag":553,"props":109874,"children":109875},{"style":795},[109876],{"type":431,"value":8378},{"type":426,"tag":553,"props":109878,"children":109879},{"style":560},[109880],{"type":431,"value":53061},{"type":426,"tag":553,"props":109882,"children":109883},{"style":684},[109884],{"type":431,"value":87971},{"type":426,"tag":553,"props":109886,"children":109887},{"style":795},[109888],{"type":431,"value":70711},{"type":426,"tag":553,"props":109890,"children":109891},{"style":560},[109892],{"type":431,"value":673},{"type":426,"tag":553,"props":109894,"children":109895},{"style":684},[109896],{"type":431,"value":74656},{"type":426,"tag":553,"props":109898,"children":109899},{"style":572},[109900],{"type":431,"value":2982},{"type":426,"tag":553,"props":109902,"children":109903},{"style":795},[109904],{"type":431,"value":53709},{"type":426,"tag":553,"props":109906,"children":109907},{"style":572},[109908],{"type":431,"value":95309},{"type":426,"tag":553,"props":109910,"children":109911},{"style":684},[109912],{"type":431,"value":95072},{"type":426,"tag":553,"props":109914,"children":109915},{"class":555,"line":1636},[109916],{"type":426,"tag":553,"props":109917,"children":109918},{"style":684},[109919],{"type":431,"value":5546},{"type":426,"tag":553,"props":109921,"children":109922},{"class":555,"line":1645},[109923],{"type":426,"tag":553,"props":109924,"children":109925},{"emptyLinePlaceholder":831},[109926],{"type":431,"value":834},{"type":426,"tag":553,"props":109928,"children":109929},{"class":555,"line":1653},[109930,109934,109938,109943,109947,109951,109955,109959],{"type":426,"tag":553,"props":109931,"children":109932},{"style":795},[109933],{"type":431,"value":60857},{"type":426,"tag":553,"props":109935,"children":109936},{"style":795},[109937],{"type":431,"value":52366},{"type":426,"tag":553,"props":109939,"children":109940},{"style":560},[109941],{"type":431,"value":109942}," handleIncomingMessage",{"type":426,"tag":553,"props":109944,"children":109945},{"style":684},[109946],{"type":431,"value":3275},{"type":426,"tag":553,"props":109948,"children":109949},{"style":795},[109950],{"type":431,"value":88820},{"type":426,"tag":553,"props":109952,"children":109953},{"style":684},[109954],{"type":431,"value":108224},{"type":426,"tag":553,"props":109956,"children":109957},{"style":795},[109958],{"type":431,"value":19071},{"type":426,"tag":553,"props":109960,"children":109961},{"style":795},[109962],{"type":431,"value":92148},{"type":426,"tag":553,"props":109964,"children":109965},{"class":555,"line":1667},[109966],{"type":426,"tag":553,"props":109967,"children":109968},{"style":684},[109969],{"type":431,"value":73368},{"type":426,"tag":553,"props":109971,"children":109972},{"class":555,"line":1680},[109973,109978,109982,109986,109990],{"type":426,"tag":553,"props":109974,"children":109975},{"style":684},[109976],{"type":431,"value":109977},"        $from ",{"type":426,"tag":553,"props":109979,"children":109980},{"style":795},[109981],{"type":431,"value":957},{"type":426,"tag":553,"props":109983,"children":109984},{"style":684},[109985],{"type":431,"value":108253},{"type":426,"tag":553,"props":109987,"children":109988},{"style":572},[109989],{"type":431,"value":14329},{"type":426,"tag":553,"props":109991,"children":109992},{"style":684},[109993],{"type":431,"value":88941},{"type":426,"tag":553,"props":109995,"children":109996},{"class":555,"line":1740},[109997,110001,110005,110009,110013,110017,110021,110025],{"type":426,"tag":553,"props":109998,"children":109999},{"style":684},[110000],{"type":431,"value":88949},{"type":426,"tag":553,"props":110002,"children":110003},{"style":795},[110004],{"type":431,"value":957},{"type":426,"tag":553,"props":110006,"children":110007},{"style":684},[110008],{"type":431,"value":108253},{"type":426,"tag":553,"props":110010,"children":110011},{"style":572},[110012],{"type":431,"value":1779},{"type":426,"tag":553,"props":110014,"children":110015},{"style":684},[110016],{"type":431,"value":2229},{"type":426,"tag":553,"props":110018,"children":110019},{"style":795},[110020],{"type":431,"value":74011},{"type":426,"tag":553,"props":110022,"children":110023},{"style":572},[110024],{"type":431,"value":1024},{"type":426,"tag":553,"props":110026,"children":110027},{"style":684},[110028],{"type":431,"value":52321},{"type":426,"tag":553,"props":110030,"children":110031},{"class":555,"line":1787},[110032,110037,110041,110045,110049,110053,110057,110061],{"type":426,"tag":553,"props":110033,"children":110034},{"style":684},[110035],{"type":431,"value":110036},"        $senderName ",{"type":426,"tag":553,"props":110038,"children":110039},{"style":795},[110040],{"type":431,"value":957},{"type":426,"tag":553,"props":110042,"children":110043},{"style":684},[110044],{"type":431,"value":108253},{"type":426,"tag":553,"props":110046,"children":110047},{"style":572},[110048],{"type":431,"value":20354},{"type":426,"tag":553,"props":110050,"children":110051},{"style":684},[110052],{"type":431,"value":2229},{"type":426,"tag":553,"props":110054,"children":110055},{"style":795},[110056],{"type":431,"value":74011},{"type":426,"tag":553,"props":110058,"children":110059},{"style":572},[110060],{"type":431,"value":108330},{"type":426,"tag":553,"props":110062,"children":110063},{"style":684},[110064],{"type":431,"value":52321},{"type":426,"tag":553,"props":110066,"children":110067},{"class":555,"line":1796},[110068],{"type":426,"tag":553,"props":110069,"children":110070},{"emptyLinePlaceholder":831},[110071],{"type":431,"value":834},{"type":426,"tag":553,"props":110073,"children":110074},{"class":555,"line":1804},[110075],{"type":426,"tag":553,"props":110076,"children":110077},{"style":1975},[110078],{"type":431,"value":110079},"        \u002F\u002F Save to database\n",{"type":426,"tag":553,"props":110081,"children":110082},{"class":555,"line":1812},[110083,110088,110092,110096],{"type":426,"tag":553,"props":110084,"children":110085},{"style":566},[110086],{"type":431,"value":110087},"        \\App\\Models\\WhatsappMessage",{"type":426,"tag":553,"props":110089,"children":110090},{"style":795},[110091],{"type":431,"value":91528},{"type":426,"tag":553,"props":110093,"children":110094},{"style":560},[110095],{"type":431,"value":67482},{"type":426,"tag":553,"props":110097,"children":110098},{"style":684},[110099],{"type":431,"value":80183},{"type":426,"tag":553,"props":110101,"children":110102},{"class":555,"line":1847},[110103,110108,110112,110117],{"type":426,"tag":553,"props":110104,"children":110105},{"style":572},[110106],{"type":431,"value":110107},"            'direction'",{"type":426,"tag":553,"props":110109,"children":110110},{"style":795},[110111],{"type":431,"value":53709},{"type":426,"tag":553,"props":110113,"children":110114},{"style":572},[110115],{"type":431,"value":110116}," 'incoming'",{"type":426,"tag":553,"props":110118,"children":110119},{"style":684},[110120],{"type":431,"value":710},{"type":426,"tag":553,"props":110122,"children":110123},{"class":555,"line":1856},[110124,110129,110133],{"type":426,"tag":553,"props":110125,"children":110126},{"style":572},[110127],{"type":431,"value":110128},"            'phone'",{"type":426,"tag":553,"props":110130,"children":110131},{"style":795},[110132],{"type":431,"value":53709},{"type":426,"tag":553,"props":110134,"children":110135},{"style":684},[110136],{"type":431,"value":110137}," $from,\n",{"type":426,"tag":553,"props":110139,"children":110140},{"class":555,"line":1874},[110141,110145,110149],{"type":426,"tag":553,"props":110142,"children":110143},{"style":572},[110144],{"type":431,"value":15058},{"type":426,"tag":553,"props":110146,"children":110147},{"style":795},[110148],{"type":431,"value":53709},{"type":426,"tag":553,"props":110150,"children":110151},{"style":684},[110152],{"type":431,"value":86662},{"type":426,"tag":553,"props":110154,"children":110155},{"class":555,"line":1882},[110156,110161,110165],{"type":426,"tag":553,"props":110157,"children":110158},{"style":572},[110159],{"type":431,"value":110160},"            'sender_name'",{"type":426,"tag":553,"props":110162,"children":110163},{"style":795},[110164],{"type":431,"value":53709},{"type":426,"tag":553,"props":110166,"children":110167},{"style":684},[110168],{"type":431,"value":110169}," $senderName,\n",{"type":426,"tag":553,"props":110171,"children":110172},{"class":555,"line":1981},[110173,110178,110182,110187],{"type":426,"tag":553,"props":110174,"children":110175},{"style":572},[110176],{"type":431,"value":110177},"            'received_at'",{"type":426,"tag":553,"props":110179,"children":110180},{"style":795},[110181],{"type":431,"value":53709},{"type":426,"tag":553,"props":110183,"children":110184},{"style":560},[110185],{"type":431,"value":110186}," now",{"type":426,"tag":553,"props":110188,"children":110189},{"style":684},[110190],{"type":431,"value":11683},{"type":426,"tag":553,"props":110192,"children":110193},{"class":555,"line":1989},[110194],{"type":426,"tag":553,"props":110195,"children":110196},{"style":684},[110197],{"type":431,"value":87762},{"type":426,"tag":553,"props":110199,"children":110200},{"class":555,"line":2013},[110201],{"type":426,"tag":553,"props":110202,"children":110203},{"emptyLinePlaceholder":831},[110204],{"type":431,"value":834},{"type":426,"tag":553,"props":110206,"children":110207},{"class":555,"line":2055},[110208],{"type":426,"tag":553,"props":110209,"children":110210},{"style":1975},[110211],{"type":431,"value":110212},"        \u002F\u002F Queue a reply job\n",{"type":426,"tag":553,"props":110214,"children":110215},{"class":555,"line":2064},[110216,110221,110225,110229],{"type":426,"tag":553,"props":110217,"children":110218},{"style":566},[110219],{"type":431,"value":110220},"        \\App\\Jobs\\SendWhatsAppReply",{"type":426,"tag":553,"props":110222,"children":110223},{"style":795},[110224],{"type":431,"value":91528},{"type":426,"tag":553,"props":110226,"children":110227},{"style":560},[110228],{"type":431,"value":94719},{"type":426,"tag":553,"props":110230,"children":110231},{"style":684},[110232],{"type":431,"value":110233},"($from, $message, $senderName)\n",{"type":426,"tag":553,"props":110235,"children":110236},{"class":555,"line":2087},[110237,110241,110245,110249,110253,110257,110261,110266,110270,110274],{"type":426,"tag":553,"props":110238,"children":110239},{"style":795},[110240],{"type":431,"value":91559},{"type":426,"tag":553,"props":110242,"children":110243},{"style":560},[110244],{"type":431,"value":94746},{"type":426,"tag":553,"props":110246,"children":110247},{"style":684},[110248],{"type":431,"value":3275},{"type":426,"tag":553,"props":110250,"children":110251},{"style":560},[110252],{"type":431,"value":94755},{"type":426,"tag":553,"props":110254,"children":110255},{"style":684},[110256],{"type":431,"value":87971},{"type":426,"tag":553,"props":110258,"children":110259},{"style":795},[110260],{"type":431,"value":70711},{"type":426,"tag":553,"props":110262,"children":110263},{"style":560},[110264],{"type":431,"value":110265},"addSeconds",{"type":426,"tag":553,"props":110267,"children":110268},{"style":684},[110269],{"type":431,"value":3275},{"type":426,"tag":553,"props":110271,"children":110272},{"style":566},[110273],{"type":431,"value":6533},{"type":426,"tag":553,"props":110275,"children":110276},{"style":684},[110277],{"type":431,"value":61669},{"type":426,"tag":553,"props":110279,"children":110280},{"class":555,"line":2096},[110281],{"type":426,"tag":553,"props":110282,"children":110283},{"style":684},[110284],{"type":431,"value":5546},{"type":426,"tag":553,"props":110286,"children":110287},{"class":555,"line":2105},[110288],{"type":426,"tag":553,"props":110289,"children":110290},{"emptyLinePlaceholder":831},[110291],{"type":431,"value":834},{"type":426,"tag":553,"props":110293,"children":110294},{"class":555,"line":2114},[110295,110299,110303,110308,110312,110316,110320,110324],{"type":426,"tag":553,"props":110296,"children":110297},{"style":795},[110298],{"type":431,"value":60857},{"type":426,"tag":553,"props":110300,"children":110301},{"style":795},[110302],{"type":431,"value":52366},{"type":426,"tag":553,"props":110304,"children":110305},{"style":560},[110306],{"type":431,"value":110307}," handleDelivered",{"type":426,"tag":553,"props":110309,"children":110310},{"style":684},[110311],{"type":431,"value":3275},{"type":426,"tag":553,"props":110313,"children":110314},{"style":795},[110315],{"type":431,"value":88820},{"type":426,"tag":553,"props":110317,"children":110318},{"style":684},[110319],{"type":431,"value":108224},{"type":426,"tag":553,"props":110321,"children":110322},{"style":795},[110323],{"type":431,"value":19071},{"type":426,"tag":553,"props":110325,"children":110326},{"style":795},[110327],{"type":431,"value":92148},{"type":426,"tag":553,"props":110329,"children":110330},{"class":555,"line":2123},[110331],{"type":426,"tag":553,"props":110332,"children":110333},{"style":684},[110334],{"type":431,"value":73368},{"type":426,"tag":553,"props":110336,"children":110337},{"class":555,"line":2132},[110338,110342,110346,110351,110355,110359,110364,110368],{"type":426,"tag":553,"props":110339,"children":110340},{"style":566},[110341],{"type":431,"value":110087},{"type":426,"tag":553,"props":110343,"children":110344},{"style":795},[110345],{"type":431,"value":91528},{"type":426,"tag":553,"props":110347,"children":110348},{"style":560},[110349],{"type":431,"value":110350},"where",{"type":426,"tag":553,"props":110352,"children":110353},{"style":684},[110354],{"type":431,"value":3275},{"type":426,"tag":553,"props":110356,"children":110357},{"style":572},[110358],{"type":431,"value":89646},{"type":426,"tag":553,"props":110360,"children":110361},{"style":684},[110362],{"type":431,"value":110363},", $data[",{"type":426,"tag":553,"props":110365,"children":110366},{"style":572},[110367],{"type":431,"value":8316},{"type":426,"tag":553,"props":110369,"children":110370},{"style":684},[110371],{"type":431,"value":8061},{"type":426,"tag":553,"props":110373,"children":110374},{"class":555,"line":2151},[110375,110379,110384,110388,110393,110397,110401],{"type":426,"tag":553,"props":110376,"children":110377},{"style":795},[110378],{"type":431,"value":91559},{"type":426,"tag":553,"props":110380,"children":110381},{"style":560},[110382],{"type":431,"value":110383},"update",{"type":426,"tag":553,"props":110385,"children":110386},{"style":684},[110387],{"type":431,"value":74656},{"type":426,"tag":553,"props":110389,"children":110390},{"style":572},[110391],{"type":431,"value":110392},"'delivered_at'",{"type":426,"tag":553,"props":110394,"children":110395},{"style":795},[110396],{"type":431,"value":53709},{"type":426,"tag":553,"props":110398,"children":110399},{"style":560},[110400],{"type":431,"value":110186},{"type":426,"tag":553,"props":110402,"children":110403},{"style":684},[110404],{"type":431,"value":110405},"()]);\n",{"type":426,"tag":553,"props":110407,"children":110408},{"class":555,"line":2160},[110409],{"type":426,"tag":553,"props":110410,"children":110411},{"style":684},[110412],{"type":431,"value":5546},{"type":426,"tag":553,"props":110414,"children":110415},{"class":555,"line":2174},[110416],{"type":426,"tag":553,"props":110417,"children":110418},{"style":684},[110419],{"type":431,"value":756},{"type":426,"tag":427,"props":110421,"children":110422},{},[110423],{"type":426,"tag":446,"props":110424,"children":110425},{},[110426],{"type":431,"value":110427},"Register the route (exclude from CSRF protection):",{"type":426,"tag":542,"props":110429,"children":110431},{"className":79948,"code":110430,"language":79950,"meta":417,"style":417},"\u002F\u002F routes\u002Fapi.php\nRoute::post('\u002Fwhatsapp\u002Fwebhook', [WhatsAppWebhookController::class, 'handle']);\n",[110432],{"type":426,"tag":549,"props":110433,"children":110434},{"__ignoreMap":417},[110435,110442],{"type":426,"tag":553,"props":110436,"children":110437},{"class":555,"line":556},[110438],{"type":426,"tag":553,"props":110439,"children":110440},{"style":1975},[110441],{"type":431,"value":94991},{"type":426,"tag":553,"props":110443,"children":110444},{"class":555,"line":588},[110445,110449,110453,110457,110461,110465,110469,110473,110477,110481,110485],{"type":426,"tag":553,"props":110446,"children":110447},{"style":566},[110448],{"type":431,"value":74470},{"type":426,"tag":553,"props":110450,"children":110451},{"style":795},[110452],{"type":431,"value":91528},{"type":426,"tag":553,"props":110454,"children":110455},{"style":560},[110456],{"type":431,"value":70594},{"type":426,"tag":553,"props":110458,"children":110459},{"style":684},[110460],{"type":431,"value":3275},{"type":426,"tag":553,"props":110462,"children":110463},{"style":572},[110464],{"type":431,"value":95015},{"type":426,"tag":553,"props":110466,"children":110467},{"style":684},[110468],{"type":431,"value":95020},{"type":426,"tag":553,"props":110470,"children":110471},{"style":566},[110472],{"type":431,"value":95025},{"type":426,"tag":553,"props":110474,"children":110475},{"style":795},[110476],{"type":431,"value":92515},{"type":426,"tag":553,"props":110478,"children":110479},{"style":684},[110480],{"type":431,"value":1907},{"type":426,"tag":553,"props":110482,"children":110483},{"style":572},[110484],{"type":431,"value":95038},{"type":426,"tag":553,"props":110486,"children":110487},{"style":684},[110488],{"type":431,"value":95072},{"type":426,"tag":542,"props":110490,"children":110492},{"className":79948,"code":110491,"language":79950,"meta":417,"style":417},"\u002F\u002F app\u002FHttp\u002FMiddleware\u002FVerifyCsrfToken.php\nprotected $except = [\n    'api\u002Fwhatsapp\u002Fwebhook'\n];\n",[110493],{"type":426,"tag":549,"props":110494,"children":110495},{"__ignoreMap":417},[110496,110504,110525,110533],{"type":426,"tag":553,"props":110497,"children":110498},{"class":555,"line":556},[110499],{"type":426,"tag":553,"props":110500,"children":110501},{"style":1975},[110502],{"type":431,"value":110503},"\u002F\u002F app\u002FHttp\u002FMiddleware\u002FVerifyCsrfToken.php\n",{"type":426,"tag":553,"props":110505,"children":110506},{"class":555,"line":588},[110507,110512,110517,110521],{"type":426,"tag":553,"props":110508,"children":110509},{"style":795},[110510],{"type":431,"value":110511},"protected",{"type":426,"tag":553,"props":110513,"children":110514},{"style":684},[110515],{"type":431,"value":110516}," $except ",{"type":426,"tag":553,"props":110518,"children":110519},{"style":795},[110520],{"type":431,"value":957},{"type":426,"tag":553,"props":110522,"children":110523},{"style":684},[110524],{"type":431,"value":80133},{"type":426,"tag":553,"props":110526,"children":110527},{"class":555,"line":606},[110528],{"type":426,"tag":553,"props":110529,"children":110530},{"style":572},[110531],{"type":431,"value":110532},"    'api\u002Fwhatsapp\u002Fwebhook'\n",{"type":426,"tag":553,"props":110534,"children":110535},{"class":555,"line":623},[110536],{"type":426,"tag":553,"props":110537,"children":110538},{"style":684},[110539],{"type":431,"value":88941},{"type":426,"tag":427,"props":110541,"children":110542},{},[110543],{"type":426,"tag":446,"props":110544,"children":110545},{},[110546],{"type":431,"value":110547},"The SendWhatsAppReply Job:",{"type":426,"tag":542,"props":110549,"children":110551},{"className":79948,"code":110550,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F app\u002FJobs\u002FSendWhatsAppReply.php\n\nnamespace App\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Foundation\\Bus\\Dispatchable;\nuse Illuminate\\Support\\Facades\\Http;\n\nclass SendWhatsAppReply implements ShouldQueue\n{\n    use Dispatchable, Queueable;\n\n    public function __construct(\n        private string $phone,\n        private string $incomingMessage,\n        private string $senderName\n    ) {}\n\n    public function handle(): void\n    {\n        $reply = $this->generateReply($this->incomingMessage, $this->senderName);\n        \n        if (!$reply) return;\n\n        Http::withToken(config('services.rapiwa.key'))\n            ->post('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', [\n                'number' => $this->phone,\n                'message' => $reply\n            ]);\n    }\n\n    private function generateReply(string $message, string $name): ?string\n    {\n        $lower = strtolower($message);\n\n        if (str_contains($lower, 'price')) {\n            return \"Hi {$name}! Our plans start at \\$5\u002Fmonth. Full details at rapiwa.com\";\n        }\n\n        return null; \u002F\u002F Human handles unknown queries\n    }\n}\n",[110552],{"type":426,"tag":549,"props":110553,"children":110554},{"__ignoreMap":417},[110555,110566,110574,110581,110596,110603,110618,110633,110648,110663,110670,110690,110697,110720,110727,110746,110761,110777,110793,110800,110807,110834,110841,110896,110903,110931,110938,110974,110997,111020,111036,111043,111050,111057,111100,111107,111128,111135,111163,111196,111203,111210,111230,111237],{"type":426,"tag":553,"props":110556,"children":110557},{"class":555,"line":556},[110558,110562],{"type":426,"tag":553,"props":110559,"children":110560},{"style":795},[110561],{"type":431,"value":86379},{"type":426,"tag":553,"props":110563,"children":110564},{"style":566},[110565],{"type":431,"value":86384},{"type":426,"tag":553,"props":110567,"children":110568},{"class":555,"line":588},[110569],{"type":426,"tag":553,"props":110570,"children":110571},{"style":1975},[110572],{"type":431,"value":110573},"\u002F\u002F app\u002FJobs\u002FSendWhatsAppReply.php\n",{"type":426,"tag":553,"props":110575,"children":110576},{"class":555,"line":606},[110577],{"type":426,"tag":553,"props":110578,"children":110579},{"emptyLinePlaceholder":831},[110580],{"type":431,"value":834},{"type":426,"tag":553,"props":110582,"children":110583},{"class":555,"line":623},[110584,110588,110592],{"type":426,"tag":553,"props":110585,"children":110586},{"style":795},[110587],{"type":431,"value":72817},{"type":426,"tag":553,"props":110589,"children":110590},{"style":560},[110591],{"type":431,"value":94307},{"type":426,"tag":553,"props":110593,"children":110594},{"style":684},[110595],{"type":431,"value":52321},{"type":426,"tag":553,"props":110597,"children":110598},{"class":555,"line":637},[110599],{"type":426,"tag":553,"props":110600,"children":110601},{"emptyLinePlaceholder":831},[110602],{"type":431,"value":834},{"type":426,"tag":553,"props":110604,"children":110605},{"class":555,"line":646},[110606,110610,110614],{"type":426,"tag":553,"props":110607,"children":110608},{"style":795},[110609],{"type":431,"value":84570},{"type":426,"tag":553,"props":110611,"children":110612},{"style":566},[110613],{"type":431,"value":94345},{"type":426,"tag":553,"props":110615,"children":110616},{"style":684},[110617],{"type":431,"value":52321},{"type":426,"tag":553,"props":110619,"children":110620},{"class":555,"line":655},[110621,110625,110629],{"type":426,"tag":553,"props":110622,"children":110623},{"style":795},[110624],{"type":431,"value":84570},{"type":426,"tag":553,"props":110626,"children":110627},{"style":566},[110628],{"type":431,"value":94361},{"type":426,"tag":553,"props":110630,"children":110631},{"style":684},[110632],{"type":431,"value":52321},{"type":426,"tag":553,"props":110634,"children":110635},{"class":555,"line":1036},[110636,110640,110644],{"type":426,"tag":553,"props":110637,"children":110638},{"style":795},[110639],{"type":431,"value":84570},{"type":426,"tag":553,"props":110641,"children":110642},{"style":566},[110643],{"type":431,"value":94377},{"type":426,"tag":553,"props":110645,"children":110646},{"style":684},[110647],{"type":431,"value":52321},{"type":426,"tag":553,"props":110649,"children":110650},{"class":555,"line":1054},[110651,110655,110659],{"type":426,"tag":553,"props":110652,"children":110653},{"style":795},[110654],{"type":431,"value":84570},{"type":426,"tag":553,"props":110656,"children":110657},{"style":566},[110658],{"type":431,"value":91162},{"type":426,"tag":553,"props":110660,"children":110661},{"style":684},[110662],{"type":431,"value":52321},{"type":426,"tag":553,"props":110664,"children":110665},{"class":555,"line":1080},[110666],{"type":426,"tag":553,"props":110667,"children":110668},{"emptyLinePlaceholder":831},[110669],{"type":431,"value":834},{"type":426,"tag":553,"props":110671,"children":110672},{"class":555,"line":1097},[110673,110677,110682,110686],{"type":426,"tag":553,"props":110674,"children":110675},{"style":795},[110676],{"type":431,"value":11909},{"type":426,"tag":553,"props":110678,"children":110679},{"style":560},[110680],{"type":431,"value":110681}," SendWhatsAppReply",{"type":426,"tag":553,"props":110683,"children":110684},{"style":795},[110685],{"type":431,"value":94405},{"type":426,"tag":553,"props":110687,"children":110688},{"style":560},[110689],{"type":431,"value":94410},{"type":426,"tag":553,"props":110691,"children":110692},{"class":555,"line":1114},[110693],{"type":426,"tag":553,"props":110694,"children":110695},{"style":684},[110696],{"type":431,"value":687},{"type":426,"tag":553,"props":110698,"children":110699},{"class":555,"line":1127},[110700,110704,110708,110712,110716],{"type":426,"tag":553,"props":110701,"children":110702},{"style":795},[110703],{"type":431,"value":94425},{"type":426,"tag":553,"props":110705,"children":110706},{"style":566},[110707],{"type":431,"value":94430},{"type":426,"tag":553,"props":110709,"children":110710},{"style":684},[110711],{"type":431,"value":1907},{"type":426,"tag":553,"props":110713,"children":110714},{"style":566},[110715],{"type":431,"value":94439},{"type":426,"tag":553,"props":110717,"children":110718},{"style":684},[110719],{"type":431,"value":52321},{"type":426,"tag":553,"props":110721,"children":110722},{"class":555,"line":1167},[110723],{"type":426,"tag":553,"props":110724,"children":110725},{"emptyLinePlaceholder":831},[110726],{"type":431,"value":834},{"type":426,"tag":553,"props":110728,"children":110729},{"class":555,"line":1184},[110730,110734,110738,110742],{"type":426,"tag":553,"props":110731,"children":110732},{"style":795},[110733],{"type":431,"value":61004},{"type":426,"tag":553,"props":110735,"children":110736},{"style":795},[110737],{"type":431,"value":52366},{"type":426,"tag":553,"props":110739,"children":110740},{"style":566},[110741],{"type":431,"value":87581},{"type":426,"tag":553,"props":110743,"children":110744},{"style":684},[110745],{"type":431,"value":3172},{"type":426,"tag":553,"props":110747,"children":110748},{"class":555,"line":1192},[110749,110753,110757],{"type":426,"tag":553,"props":110750,"children":110751},{"style":795},[110752],{"type":431,"value":94545},{"type":426,"tag":553,"props":110754,"children":110755},{"style":795},[110756],{"type":431,"value":76053},{"type":426,"tag":553,"props":110758,"children":110759},{"style":684},[110760],{"type":431,"value":80199},{"type":426,"tag":553,"props":110762,"children":110763},{"class":555,"line":1210},[110764,110768,110772],{"type":426,"tag":553,"props":110765,"children":110766},{"style":795},[110767],{"type":431,"value":94545},{"type":426,"tag":553,"props":110769,"children":110770},{"style":795},[110771],{"type":431,"value":76053},{"type":426,"tag":553,"props":110773,"children":110774},{"style":684},[110775],{"type":431,"value":110776}," $incomingMessage,\n",{"type":426,"tag":553,"props":110778,"children":110779},{"class":555,"line":1253},[110780,110784,110788],{"type":426,"tag":553,"props":110781,"children":110782},{"style":795},[110783],{"type":431,"value":94545},{"type":426,"tag":553,"props":110785,"children":110786},{"style":795},[110787],{"type":431,"value":76053},{"type":426,"tag":553,"props":110789,"children":110790},{"style":684},[110791],{"type":431,"value":110792}," $senderName\n",{"type":426,"tag":553,"props":110794,"children":110795},{"class":555,"line":1302},[110796],{"type":426,"tag":553,"props":110797,"children":110798},{"style":684},[110799],{"type":431,"value":68902},{"type":426,"tag":553,"props":110801,"children":110802},{"class":555,"line":1374},[110803],{"type":426,"tag":553,"props":110804,"children":110805},{"emptyLinePlaceholder":831},[110806],{"type":431,"value":834},{"type":426,"tag":553,"props":110808,"children":110809},{"class":555,"line":1414},[110810,110814,110818,110822,110826,110830],{"type":426,"tag":553,"props":110811,"children":110812},{"style":795},[110813],{"type":431,"value":61004},{"type":426,"tag":553,"props":110815,"children":110816},{"style":795},[110817],{"type":431,"value":52366},{"type":426,"tag":553,"props":110819,"children":110820},{"style":560},[110821],{"type":431,"value":94599},{"type":426,"tag":553,"props":110823,"children":110824},{"style":684},[110825],{"type":431,"value":87971},{"type":426,"tag":553,"props":110827,"children":110828},{"style":795},[110829],{"type":431,"value":19071},{"type":426,"tag":553,"props":110831,"children":110832},{"style":795},[110833],{"type":431,"value":92148},{"type":426,"tag":553,"props":110835,"children":110836},{"class":555,"line":1479},[110837],{"type":426,"tag":553,"props":110838,"children":110839},{"style":684},[110840],{"type":431,"value":73368},{"type":426,"tag":553,"props":110842,"children":110843},{"class":555,"line":1517},[110844,110849,110853,110857,110861,110866,110870,110874,110878,110883,110887,110891],{"type":426,"tag":553,"props":110845,"children":110846},{"style":684},[110847],{"type":431,"value":110848},"        $reply ",{"type":426,"tag":553,"props":110850,"children":110851},{"style":795},[110852],{"type":431,"value":957},{"type":426,"tag":553,"props":110854,"children":110855},{"style":566},[110856],{"type":431,"value":87855},{"type":426,"tag":553,"props":110858,"children":110859},{"style":795},[110860],{"type":431,"value":70711},{"type":426,"tag":553,"props":110862,"children":110863},{"style":560},[110864],{"type":431,"value":110865},"generateReply",{"type":426,"tag":553,"props":110867,"children":110868},{"style":684},[110869],{"type":431,"value":3275},{"type":426,"tag":553,"props":110871,"children":110872},{"style":566},[110873],{"type":431,"value":91542},{"type":426,"tag":553,"props":110875,"children":110876},{"style":795},[110877],{"type":431,"value":70711},{"type":426,"tag":553,"props":110879,"children":110880},{"style":684},[110881],{"type":431,"value":110882},"incomingMessage, ",{"type":426,"tag":553,"props":110884,"children":110885},{"style":566},[110886],{"type":431,"value":91542},{"type":426,"tag":553,"props":110888,"children":110889},{"style":795},[110890],{"type":431,"value":70711},{"type":426,"tag":553,"props":110892,"children":110893},{"style":684},[110894],{"type":431,"value":110895},"senderName);\n",{"type":426,"tag":553,"props":110897,"children":110898},{"class":555,"line":1560},[110899],{"type":426,"tag":553,"props":110900,"children":110901},{"style":684},[110902],{"type":431,"value":2061},{"type":426,"tag":553,"props":110904,"children":110905},{"class":555,"line":1598},[110906,110910,110914,110918,110923,110927],{"type":426,"tag":553,"props":110907,"children":110908},{"style":795},[110909],{"type":431,"value":2972},{"type":426,"tag":553,"props":110911,"children":110912},{"style":684},[110913],{"type":431,"value":5684},{"type":426,"tag":553,"props":110915,"children":110916},{"style":795},[110917],{"type":431,"value":4651},{"type":426,"tag":553,"props":110919,"children":110920},{"style":684},[110921],{"type":431,"value":110922},"$reply) ",{"type":426,"tag":553,"props":110924,"children":110925},{"style":795},[110926],{"type":431,"value":84821},{"type":426,"tag":553,"props":110928,"children":110929},{"style":684},[110930],{"type":431,"value":52321},{"type":426,"tag":553,"props":110932,"children":110933},{"class":555,"line":1636},[110934],{"type":426,"tag":553,"props":110935,"children":110936},{"emptyLinePlaceholder":831},[110937],{"type":431,"value":834},{"type":426,"tag":553,"props":110939,"children":110940},{"class":555,"line":1645},[110941,110946,110950,110954,110958,110962,110966,110970],{"type":426,"tag":553,"props":110942,"children":110943},{"style":566},[110944],{"type":431,"value":110945},"        Http",{"type":426,"tag":553,"props":110947,"children":110948},{"style":795},[110949],{"type":431,"value":91528},{"type":426,"tag":553,"props":110951,"children":110952},{"style":560},[110953],{"type":431,"value":91533},{"type":426,"tag":553,"props":110955,"children":110956},{"style":684},[110957],{"type":431,"value":3275},{"type":426,"tag":553,"props":110959,"children":110960},{"style":560},[110961],{"type":431,"value":55652},{"type":426,"tag":553,"props":110963,"children":110964},{"style":684},[110965],{"type":431,"value":3275},{"type":426,"tag":553,"props":110967,"children":110968},{"style":572},[110969],{"type":431,"value":91306},{"type":426,"tag":553,"props":110971,"children":110972},{"style":684},[110973],{"type":431,"value":6538},{"type":426,"tag":553,"props":110975,"children":110976},{"class":555,"line":1653},[110977,110981,110985,110989,110993],{"type":426,"tag":553,"props":110978,"children":110979},{"style":795},[110980],{"type":431,"value":91559},{"type":426,"tag":553,"props":110982,"children":110983},{"style":560},[110984],{"type":431,"value":70594},{"type":426,"tag":553,"props":110986,"children":110987},{"style":684},[110988],{"type":431,"value":3275},{"type":426,"tag":553,"props":110990,"children":110991},{"style":572},[110992],{"type":431,"value":55802},{"type":426,"tag":553,"props":110994,"children":110995},{"style":684},[110996],{"type":431,"value":87886},{"type":426,"tag":553,"props":110998,"children":110999},{"class":555,"line":1667},[111000,111004,111008,111012,111016],{"type":426,"tag":553,"props":111001,"children":111002},{"style":572},[111003],{"type":431,"value":88441},{"type":426,"tag":553,"props":111005,"children":111006},{"style":795},[111007],{"type":431,"value":53709},{"type":426,"tag":553,"props":111009,"children":111010},{"style":566},[111011],{"type":431,"value":87855},{"type":426,"tag":553,"props":111013,"children":111014},{"style":795},[111015],{"type":431,"value":70711},{"type":426,"tag":553,"props":111017,"children":111018},{"style":684},[111019],{"type":431,"value":24202},{"type":426,"tag":553,"props":111021,"children":111022},{"class":555,"line":1680},[111023,111027,111031],{"type":426,"tag":553,"props":111024,"children":111025},{"style":572},[111026],{"type":431,"value":91639},{"type":426,"tag":553,"props":111028,"children":111029},{"style":795},[111030],{"type":431,"value":53709},{"type":426,"tag":553,"props":111032,"children":111033},{"style":684},[111034],{"type":431,"value":111035}," $reply\n",{"type":426,"tag":553,"props":111037,"children":111038},{"class":555,"line":1740},[111039],{"type":426,"tag":553,"props":111040,"children":111041},{"style":684},[111042],{"type":431,"value":87935},{"type":426,"tag":553,"props":111044,"children":111045},{"class":555,"line":1787},[111046],{"type":426,"tag":553,"props":111047,"children":111048},{"style":684},[111049],{"type":431,"value":5546},{"type":426,"tag":553,"props":111051,"children":111052},{"class":555,"line":1796},[111053],{"type":426,"tag":553,"props":111054,"children":111055},{"emptyLinePlaceholder":831},[111056],{"type":431,"value":834},{"type":426,"tag":553,"props":111058,"children":111059},{"class":555,"line":1804},[111060,111064,111068,111072,111076,111080,111084,111088,111092,111096],{"type":426,"tag":553,"props":111061,"children":111062},{"style":795},[111063],{"type":431,"value":60857},{"type":426,"tag":553,"props":111065,"children":111066},{"style":795},[111067],{"type":431,"value":52366},{"type":426,"tag":553,"props":111069,"children":111070},{"style":560},[111071],{"type":431,"value":85014},{"type":426,"tag":553,"props":111073,"children":111074},{"style":684},[111075],{"type":431,"value":3275},{"type":426,"tag":553,"props":111077,"children":111078},{"style":795},[111079],{"type":431,"value":71939},{"type":426,"tag":553,"props":111081,"children":111082},{"style":684},[111083],{"type":431,"value":86424},{"type":426,"tag":553,"props":111085,"children":111086},{"style":795},[111087],{"type":431,"value":71939},{"type":426,"tag":553,"props":111089,"children":111090},{"style":684},[111091],{"type":431,"value":108455},{"type":426,"tag":553,"props":111093,"children":111094},{"style":795},[111095],{"type":431,"value":19071},{"type":426,"tag":553,"props":111097,"children":111098},{"style":795},[111099],{"type":431,"value":94135},{"type":426,"tag":553,"props":111101,"children":111102},{"class":555,"line":1812},[111103],{"type":426,"tag":553,"props":111104,"children":111105},{"style":684},[111106],{"type":431,"value":73368},{"type":426,"tag":553,"props":111108,"children":111109},{"class":555,"line":1847},[111110,111115,111119,111123],{"type":426,"tag":553,"props":111111,"children":111112},{"style":684},[111113],{"type":431,"value":111114},"        $lower ",{"type":426,"tag":553,"props":111116,"children":111117},{"style":795},[111118],{"type":431,"value":957},{"type":426,"tag":553,"props":111120,"children":111121},{"style":566},[111122],{"type":431,"value":108485},{"type":426,"tag":553,"props":111124,"children":111125},{"style":684},[111126],{"type":431,"value":111127},"($message);\n",{"type":426,"tag":553,"props":111129,"children":111130},{"class":555,"line":1856},[111131],{"type":426,"tag":553,"props":111132,"children":111133},{"emptyLinePlaceholder":831},[111134],{"type":431,"value":834},{"type":426,"tag":553,"props":111136,"children":111137},{"class":555,"line":1874},[111138,111142,111146,111150,111155,111159],{"type":426,"tag":553,"props":111139,"children":111140},{"style":795},[111141],{"type":431,"value":2972},{"type":426,"tag":553,"props":111143,"children":111144},{"style":684},[111145],{"type":431,"value":5684},{"type":426,"tag":553,"props":111147,"children":111148},{"style":560},[111149],{"type":431,"value":108529},{"type":426,"tag":553,"props":111151,"children":111152},{"style":684},[111153],{"type":431,"value":111154},"($lower, ",{"type":426,"tag":553,"props":111156,"children":111157},{"style":572},[111158],{"type":431,"value":19954},{"type":426,"tag":553,"props":111160,"children":111161},{"style":684},[111162],{"type":431,"value":85254},{"type":426,"tag":553,"props":111164,"children":111165},{"class":555,"line":1882},[111166,111170,111174,111178,111183,111187,111192],{"type":426,"tag":553,"props":111167,"children":111168},{"style":795},[111169],{"type":431,"value":9188},{"type":426,"tag":553,"props":111171,"children":111172},{"style":572},[111173],{"type":431,"value":90324},{"type":426,"tag":553,"props":111175,"children":111176},{"style":684},[111177],{"type":431,"value":108579},{"type":426,"tag":553,"props":111179,"children":111180},{"style":572},[111181],{"type":431,"value":111182},"}! Our plans start at ",{"type":426,"tag":553,"props":111184,"children":111185},{"style":566},[111186],{"type":431,"value":89368},{"type":426,"tag":553,"props":111188,"children":111189},{"style":572},[111190],{"type":431,"value":111191},"5\u002Fmonth. Full details at rapiwa.com\"",{"type":426,"tag":553,"props":111193,"children":111194},{"style":684},[111195],{"type":431,"value":52321},{"type":426,"tag":553,"props":111197,"children":111198},{"class":555,"line":1981},[111199],{"type":426,"tag":553,"props":111200,"children":111201},{"style":684},[111202],{"type":431,"value":15075},{"type":426,"tag":553,"props":111204,"children":111205},{"class":555,"line":1989},[111206],{"type":426,"tag":553,"props":111207,"children":111208},{"emptyLinePlaceholder":831},[111209],{"type":431,"value":834},{"type":426,"tag":553,"props":111211,"children":111212},{"class":555,"line":2013},[111213,111217,111221,111225],{"type":426,"tag":553,"props":111214,"children":111215},{"style":795},[111216],{"type":431,"value":8378},{"type":426,"tag":553,"props":111218,"children":111219},{"style":566},[111220],{"type":431,"value":62188},{"type":426,"tag":553,"props":111222,"children":111223},{"style":684},[111224],{"type":431,"value":60918},{"type":426,"tag":553,"props":111226,"children":111227},{"style":1975},[111228],{"type":431,"value":111229},"\u002F\u002F Human handles unknown queries\n",{"type":426,"tag":553,"props":111231,"children":111232},{"class":555,"line":2055},[111233],{"type":426,"tag":553,"props":111234,"children":111235},{"style":684},[111236],{"type":431,"value":5546},{"type":426,"tag":553,"props":111238,"children":111239},{"class":555,"line":2064},[111240],{"type":426,"tag":553,"props":111241,"children":111242},{"style":684},[111243],{"type":431,"value":756},{"type":426,"tag":427,"props":111245,"children":111246},{},[111247],{"type":426,"tag":446,"props":111248,"children":111249},{},[111250,111251,111256],{"type":431,"value":90947},{"type":426,"tag":549,"props":111252,"children":111254},{"className":111253},[],[111255],{"type":431,"value":90953},{"type":431,"value":19071},{"type":426,"tag":542,"props":111258,"children":111260},{"className":79948,"code":111259,"language":79950,"meta":417,"style":417},"'rapiwa' => [\n    'key' => env('RAPIWA_API_KEY'),\n    'url' => 'https:\u002F\u002Fapp.rapiwa.com'\n],\n",[111261],{"type":426,"tag":549,"props":111262,"children":111263},{"__ignoreMap":417},[111264,111279,111306,111321],{"type":426,"tag":553,"props":111265,"children":111266},{"class":555,"line":556},[111267,111271,111275],{"type":426,"tag":553,"props":111268,"children":111269},{"style":572},[111270],{"type":431,"value":90969},{"type":426,"tag":553,"props":111272,"children":111273},{"style":795},[111274],{"type":431,"value":53709},{"type":426,"tag":553,"props":111276,"children":111277},{"style":684},[111278],{"type":431,"value":80133},{"type":426,"tag":553,"props":111280,"children":111281},{"class":555,"line":588},[111282,111286,111290,111294,111298,111302],{"type":426,"tag":553,"props":111283,"children":111284},{"style":572},[111285],{"type":431,"value":90985},{"type":426,"tag":553,"props":111287,"children":111288},{"style":795},[111289],{"type":431,"value":53709},{"type":426,"tag":553,"props":111291,"children":111292},{"style":560},[111293],{"type":431,"value":90994},{"type":426,"tag":553,"props":111295,"children":111296},{"style":684},[111297],{"type":431,"value":3275},{"type":426,"tag":553,"props":111299,"children":111300},{"style":572},[111301],{"type":431,"value":9533},{"type":426,"tag":553,"props":111303,"children":111304},{"style":684},[111305],{"type":431,"value":11615},{"type":426,"tag":553,"props":111307,"children":111308},{"class":555,"line":606},[111309,111313,111317],{"type":426,"tag":553,"props":111310,"children":111311},{"style":572},[111312],{"type":431,"value":91014},{"type":426,"tag":553,"props":111314,"children":111315},{"style":795},[111316],{"type":431,"value":53709},{"type":426,"tag":553,"props":111318,"children":111319},{"style":572},[111320],{"type":431,"value":35577},{"type":426,"tag":553,"props":111322,"children":111323},{"class":555,"line":623},[111324],{"type":426,"tag":553,"props":111325,"children":111326},{"style":684},[111327],{"type":431,"value":12804},{"type":426,"tag":434,"props":111329,"children":111331},{"id":111330},"step-4-test-your-webhook-locally",[111332],{"type":431,"value":111333},"Step 4: Test Your Webhook Locally",{"type":426,"tag":427,"props":111335,"children":111336},{},[111337,111339,111345],{"type":431,"value":111338},"Use ",{"type":426,"tag":3819,"props":111340,"children":111343},{"href":111341,"rel":111342},"https:\u002F\u002Fngrok.com",[3823],[111344],{"type":431,"value":85825},{"type":431,"value":111346}," to expose your local server for testing:",{"type":426,"tag":542,"props":111348,"children":111350},{"className":546,"code":111349,"language":545,"meta":417,"style":417},"# Install ngrok and run\nngrok http 80\n\n# Your temporary public URL:\n# https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook.php\n",[111351],{"type":426,"tag":549,"props":111352,"children":111353},{"__ignoreMap":417},[111354,111361,111377,111384,111392],{"type":426,"tag":553,"props":111355,"children":111356},{"class":555,"line":556},[111357],{"type":426,"tag":553,"props":111358,"children":111359},{"style":1975},[111360],{"type":431,"value":85817},{"type":426,"tag":553,"props":111362,"children":111363},{"class":555,"line":588},[111364,111368,111372],{"type":426,"tag":553,"props":111365,"children":111366},{"style":560},[111367],{"type":431,"value":85825},{"type":426,"tag":553,"props":111369,"children":111370},{"style":572},[111371],{"type":431,"value":85830},{"type":426,"tag":553,"props":111373,"children":111374},{"style":566},[111375],{"type":431,"value":111376}," 80\n",{"type":426,"tag":553,"props":111378,"children":111379},{"class":555,"line":606},[111380],{"type":426,"tag":553,"props":111381,"children":111382},{"emptyLinePlaceholder":831},[111383],{"type":431,"value":834},{"type":426,"tag":553,"props":111385,"children":111386},{"class":555,"line":623},[111387],{"type":426,"tag":553,"props":111388,"children":111389},{"style":1975},[111390],{"type":431,"value":111391},"# Your temporary public URL:\n",{"type":426,"tag":553,"props":111393,"children":111394},{"class":555,"line":637},[111395],{"type":426,"tag":553,"props":111396,"children":111397},{"style":1975},[111398],{"type":431,"value":111399},"# https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook.php\n",{"type":426,"tag":427,"props":111401,"children":111402},{},[111403],{"type":431,"value":111404},"Register the ngrok URL in Rapiwa dashboard temporarily, then send a WhatsApp message to your Rapiwa number to test.",{"type":426,"tag":434,"props":111406,"children":111407},{"id":85876},[111408],{"type":431,"value":85879},{"type":426,"tag":542,"props":111410,"children":111412},{"className":79948,"code":111411,"language":79950,"meta":417,"style":417},"function handle_incoming_message(array $data): void {\n    $message_type = $data['messageType'] ?? 'text';\n    \n    switch ($message_type) {\n        case 'text':\n            $text = $data['message'];\n            \u002F\u002F Process text message\n            break;\n            \n        case 'image':\n            $media_url = $data['mediaUrl'] ?? null;\n            \u002F\u002F Download\u002Fprocess image\n            break;\n            \n        case 'document':\n            $doc_url = $data['mediaUrl'] ?? null;\n            $filename = $data['filename'] ?? 'document';\n            \u002F\u002F Process document\n            break;\n            \n        case 'audio':\n            \u002F\u002F Handle voice message\n            break;\n    }\n}\n",[111413],{"type":426,"tag":549,"props":111414,"children":111415},{"__ignoreMap":417},[111416,111451,111487,111494,111507,111523,111547,111555,111567,111574,111589,111625,111633,111644,111651,111666,111702,111738,111746,111757,111764,111780,111788,111799,111806],{"type":426,"tag":553,"props":111417,"children":111418},{"class":555,"line":556},[111419,111423,111427,111431,111435,111439,111443,111447],{"type":426,"tag":553,"props":111420,"children":111421},{"style":795},[111422],{"type":431,"value":79962},{"type":426,"tag":553,"props":111424,"children":111425},{"style":560},[111426],{"type":431,"value":108211},{"type":426,"tag":553,"props":111428,"children":111429},{"style":684},[111430],{"type":431,"value":3275},{"type":426,"tag":553,"props":111432,"children":111433},{"style":795},[111434],{"type":431,"value":88820},{"type":426,"tag":553,"props":111436,"children":111437},{"style":684},[111438],{"type":431,"value":108224},{"type":426,"tag":553,"props":111440,"children":111441},{"style":795},[111442],{"type":431,"value":19071},{"type":426,"tag":553,"props":111444,"children":111445},{"style":795},[111446],{"type":431,"value":61013},{"type":426,"tag":553,"props":111448,"children":111449},{"style":684},[111450],{"type":431,"value":5458},{"type":426,"tag":553,"props":111452,"children":111453},{"class":555,"line":588},[111454,111459,111463,111467,111471,111475,111479,111483],{"type":426,"tag":553,"props":111455,"children":111456},{"style":684},[111457],{"type":431,"value":111458},"    $message_type ",{"type":426,"tag":553,"props":111460,"children":111461},{"style":795},[111462],{"type":431,"value":957},{"type":426,"tag":553,"props":111464,"children":111465},{"style":684},[111466],{"type":431,"value":108253},{"type":426,"tag":553,"props":111468,"children":111469},{"style":572},[111470],{"type":431,"value":65208},{"type":426,"tag":553,"props":111472,"children":111473},{"style":684},[111474],{"type":431,"value":2229},{"type":426,"tag":553,"props":111476,"children":111477},{"style":795},[111478],{"type":431,"value":74011},{"type":426,"tag":553,"props":111480,"children":111481},{"style":572},[111482],{"type":431,"value":65381},{"type":426,"tag":553,"props":111484,"children":111485},{"style":684},[111486],{"type":431,"value":52321},{"type":426,"tag":553,"props":111488,"children":111489},{"class":555,"line":606},[111490],{"type":426,"tag":553,"props":111491,"children":111492},{"style":684},[111493],{"type":431,"value":917},{"type":426,"tag":553,"props":111495,"children":111496},{"class":555,"line":623},[111497,111502],{"type":426,"tag":553,"props":111498,"children":111499},{"style":795},[111500],{"type":431,"value":111501},"    switch",{"type":426,"tag":553,"props":111503,"children":111504},{"style":684},[111505],{"type":431,"value":111506}," ($message_type) {\n",{"type":426,"tag":553,"props":111508,"children":111509},{"class":555,"line":637},[111510,111515,111519],{"type":426,"tag":553,"props":111511,"children":111512},{"style":795},[111513],{"type":431,"value":111514},"        case",{"type":426,"tag":553,"props":111516,"children":111517},{"style":572},[111518],{"type":431,"value":65381},{"type":426,"tag":553,"props":111520,"children":111521},{"style":684},[111522],{"type":431,"value":909},{"type":426,"tag":553,"props":111524,"children":111525},{"class":555,"line":646},[111526,111531,111535,111539,111543],{"type":426,"tag":553,"props":111527,"children":111528},{"style":684},[111529],{"type":431,"value":111530},"            $text ",{"type":426,"tag":553,"props":111532,"children":111533},{"style":795},[111534],{"type":431,"value":957},{"type":426,"tag":553,"props":111536,"children":111537},{"style":684},[111538],{"type":431,"value":108253},{"type":426,"tag":553,"props":111540,"children":111541},{"style":572},[111542],{"type":431,"value":1779},{"type":426,"tag":553,"props":111544,"children":111545},{"style":684},[111546],{"type":431,"value":88941},{"type":426,"tag":553,"props":111548,"children":111549},{"class":555,"line":655},[111550],{"type":426,"tag":553,"props":111551,"children":111552},{"style":1975},[111553],{"type":431,"value":111554},"            \u002F\u002F Process text message\n",{"type":426,"tag":553,"props":111556,"children":111557},{"class":555,"line":1036},[111558,111563],{"type":426,"tag":553,"props":111559,"children":111560},{"style":795},[111561],{"type":431,"value":111562},"            break",{"type":426,"tag":553,"props":111564,"children":111565},{"style":684},[111566],{"type":431,"value":52321},{"type":426,"tag":553,"props":111568,"children":111569},{"class":555,"line":1054},[111570],{"type":426,"tag":553,"props":111571,"children":111572},{"style":684},[111573],{"type":431,"value":8972},{"type":426,"tag":553,"props":111575,"children":111576},{"class":555,"line":1080},[111577,111581,111585],{"type":426,"tag":553,"props":111578,"children":111579},{"style":795},[111580],{"type":431,"value":111514},{"type":426,"tag":553,"props":111582,"children":111583},{"style":572},[111584],{"type":431,"value":82632},{"type":426,"tag":553,"props":111586,"children":111587},{"style":684},[111588],{"type":431,"value":909},{"type":426,"tag":553,"props":111590,"children":111591},{"class":555,"line":1097},[111592,111597,111601,111605,111609,111613,111617,111621],{"type":426,"tag":553,"props":111593,"children":111594},{"style":684},[111595],{"type":431,"value":111596},"            $media_url ",{"type":426,"tag":553,"props":111598,"children":111599},{"style":795},[111600],{"type":431,"value":957},{"type":426,"tag":553,"props":111602,"children":111603},{"style":684},[111604],{"type":431,"value":108253},{"type":426,"tag":553,"props":111606,"children":111607},{"style":572},[111608],{"type":431,"value":82657},{"type":426,"tag":553,"props":111610,"children":111611},{"style":684},[111612],{"type":431,"value":2229},{"type":426,"tag":553,"props":111614,"children":111615},{"style":795},[111616],{"type":431,"value":74011},{"type":426,"tag":553,"props":111618,"children":111619},{"style":566},[111620],{"type":431,"value":62188},{"type":426,"tag":553,"props":111622,"children":111623},{"style":684},[111624],{"type":431,"value":52321},{"type":426,"tag":553,"props":111626,"children":111627},{"class":555,"line":1114},[111628],{"type":426,"tag":553,"props":111629,"children":111630},{"style":1975},[111631],{"type":431,"value":111632},"            \u002F\u002F Download\u002Fprocess image\n",{"type":426,"tag":553,"props":111634,"children":111635},{"class":555,"line":1127},[111636,111640],{"type":426,"tag":553,"props":111637,"children":111638},{"style":795},[111639],{"type":431,"value":111562},{"type":426,"tag":553,"props":111641,"children":111642},{"style":684},[111643],{"type":431,"value":52321},{"type":426,"tag":553,"props":111645,"children":111646},{"class":555,"line":1167},[111647],{"type":426,"tag":553,"props":111648,"children":111649},{"style":684},[111650],{"type":431,"value":8972},{"type":426,"tag":553,"props":111652,"children":111653},{"class":555,"line":1184},[111654,111658,111662],{"type":426,"tag":553,"props":111655,"children":111656},{"style":795},[111657],{"type":431,"value":111514},{"type":426,"tag":553,"props":111659,"children":111660},{"style":572},[111661],{"type":431,"value":82709},{"type":426,"tag":553,"props":111663,"children":111664},{"style":684},[111665],{"type":431,"value":909},{"type":426,"tag":553,"props":111667,"children":111668},{"class":555,"line":1192},[111669,111674,111678,111682,111686,111690,111694,111698],{"type":426,"tag":553,"props":111670,"children":111671},{"style":684},[111672],{"type":431,"value":111673},"            $doc_url ",{"type":426,"tag":553,"props":111675,"children":111676},{"style":795},[111677],{"type":431,"value":957},{"type":426,"tag":553,"props":111679,"children":111680},{"style":684},[111681],{"type":431,"value":108253},{"type":426,"tag":553,"props":111683,"children":111684},{"style":572},[111685],{"type":431,"value":82657},{"type":426,"tag":553,"props":111687,"children":111688},{"style":684},[111689],{"type":431,"value":2229},{"type":426,"tag":553,"props":111691,"children":111692},{"style":795},[111693],{"type":431,"value":74011},{"type":426,"tag":553,"props":111695,"children":111696},{"style":566},[111697],{"type":431,"value":62188},{"type":426,"tag":553,"props":111699,"children":111700},{"style":684},[111701],{"type":431,"value":52321},{"type":426,"tag":553,"props":111703,"children":111704},{"class":555,"line":1210},[111705,111710,111714,111718,111722,111726,111730,111734],{"type":426,"tag":553,"props":111706,"children":111707},{"style":684},[111708],{"type":431,"value":111709},"            $filename ",{"type":426,"tag":553,"props":111711,"children":111712},{"style":795},[111713],{"type":431,"value":957},{"type":426,"tag":553,"props":111715,"children":111716},{"style":684},[111717],{"type":431,"value":108253},{"type":426,"tag":553,"props":111719,"children":111720},{"style":572},[111721],{"type":431,"value":82734},{"type":426,"tag":553,"props":111723,"children":111724},{"style":684},[111725],{"type":431,"value":2229},{"type":426,"tag":553,"props":111727,"children":111728},{"style":795},[111729],{"type":431,"value":74011},{"type":426,"tag":553,"props":111731,"children":111732},{"style":572},[111733],{"type":431,"value":82709},{"type":426,"tag":553,"props":111735,"children":111736},{"style":684},[111737],{"type":431,"value":52321},{"type":426,"tag":553,"props":111739,"children":111740},{"class":555,"line":1253},[111741],{"type":426,"tag":553,"props":111742,"children":111743},{"style":1975},[111744],{"type":431,"value":111745},"            \u002F\u002F Process document\n",{"type":426,"tag":553,"props":111747,"children":111748},{"class":555,"line":1302},[111749,111753],{"type":426,"tag":553,"props":111750,"children":111751},{"style":795},[111752],{"type":431,"value":111562},{"type":426,"tag":553,"props":111754,"children":111755},{"style":684},[111756],{"type":431,"value":52321},{"type":426,"tag":553,"props":111758,"children":111759},{"class":555,"line":1374},[111760],{"type":426,"tag":553,"props":111761,"children":111762},{"style":684},[111763],{"type":431,"value":8972},{"type":426,"tag":553,"props":111765,"children":111766},{"class":555,"line":1414},[111767,111771,111776],{"type":426,"tag":553,"props":111768,"children":111769},{"style":795},[111770],{"type":431,"value":111514},{"type":426,"tag":553,"props":111772,"children":111773},{"style":572},[111774],{"type":431,"value":111775}," 'audio'",{"type":426,"tag":553,"props":111777,"children":111778},{"style":684},[111779],{"type":431,"value":909},{"type":426,"tag":553,"props":111781,"children":111782},{"class":555,"line":1479},[111783],{"type":426,"tag":553,"props":111784,"children":111785},{"style":1975},[111786],{"type":431,"value":111787},"            \u002F\u002F Handle voice message\n",{"type":426,"tag":553,"props":111789,"children":111790},{"class":555,"line":1517},[111791,111795],{"type":426,"tag":553,"props":111792,"children":111793},{"style":795},[111794],{"type":431,"value":111562},{"type":426,"tag":553,"props":111796,"children":111797},{"style":684},[111798],{"type":431,"value":52321},{"type":426,"tag":553,"props":111800,"children":111801},{"class":555,"line":1560},[111802],{"type":426,"tag":553,"props":111803,"children":111804},{"style":684},[111805],{"type":431,"value":5546},{"type":426,"tag":553,"props":111807,"children":111808},{"class":555,"line":1598},[111809],{"type":426,"tag":553,"props":111810,"children":111811},{"style":684},[111812],{"type":431,"value":756},{"type":426,"tag":434,"props":111814,"children":111815},{"id":18886},[111816],{"type":431,"value":18889},{"type":426,"tag":454,"props":111818,"children":111819},{},[111820,111836,111853,111863],{"type":426,"tag":458,"props":111821,"children":111822},{},[111823,111828,111830],{"type":426,"tag":446,"props":111824,"children":111825},{},[111826],{"type":431,"value":111827},"404 from Rapiwa webhook",{"type":431,"value":111829},": Ensure your PHP file URL is publicly accessible. Test with ",{"type":426,"tag":549,"props":111831,"children":111833},{"className":111832},[],[111834],{"type":431,"value":111835},"curl -X POST https:\u002F\u002Fyoursite.com\u002Fwebhook.php",{"type":426,"tag":458,"props":111837,"children":111838},{},[111839,111844,111846,111851],{"type":426,"tag":446,"props":111840,"children":111841},{},[111842],{"type":431,"value":111843},"500 error",{"type":431,"value":111845},": Check PHP error logs. Common issues: JSON decode fails (check ",{"type":426,"tag":549,"props":111847,"children":111849},{"className":111848},[],[111850],{"type":431,"value":77651},{"type":431,"value":111852}," header), or undefined array keys",{"type":426,"tag":458,"props":111854,"children":111855},{},[111856,111861],{"type":426,"tag":446,"props":111857,"children":111858},{},[111859],{"type":431,"value":111860},"Webhook not registering in Rapiwa",{"type":431,"value":111862},": The URL must respond with 200 OK to a test POST request. Check that your server returns a 200 response",{"type":426,"tag":458,"props":111864,"children":111865},{},[111866,111871,111873,111878],{"type":426,"tag":446,"props":111867,"children":111868},{},[111869],{"type":431,"value":111870},"Duplicate message processing",{"type":431,"value":111872},": On retries, Rapiwa may send the same webhook twice. Check ",{"type":426,"tag":549,"props":111874,"children":111876},{"className":111875},[],[111877],{"type":431,"value":8253},{"type":431,"value":111879}," in your database before processing to ensure idempotency",{"type":426,"tag":434,"props":111881,"children":111882},{"id":4109},[111883],{"type":431,"value":4112},{"type":426,"tag":427,"props":111885,"children":111886},{},[111887,111892],{"type":426,"tag":446,"props":111888,"children":111889},{},[111890],{"type":431,"value":111891},"Do I need to validate the webhook source?",{"type":431,"value":111893},"\nYes. For production use, Rapiwa signs webhook payloads with a shared secret. Validate the signature header before processing the payload to prevent replay attacks.",{"type":426,"tag":427,"props":111895,"children":111896},{},[111897,111902,111904,111910],{"type":426,"tag":446,"props":111898,"children":111899},{},[111900],{"type":431,"value":111901},"Can I receive WhatsApp webhooks on localhost?",{"type":431,"value":111903},"\nNot directly — webhooks require a publicly accessible URL. Use ngrok for local development: ",{"type":426,"tag":549,"props":111905,"children":111907},{"className":111906},[],[111908],{"type":431,"value":111909},"ngrok http 80",{"type":431,"value":111911}," creates a public tunnel to your localhost.",{"type":426,"tag":427,"props":111913,"children":111914},{},[111915,111920],{"type":426,"tag":446,"props":111916,"children":111917},{},[111918],{"type":431,"value":111919},"What happens if my PHP server is down when Rapiwa fires a webhook?",{"type":431,"value":111921},"\nRapiwa retries failed webhooks with exponential backoff. Ensure your server has high uptime for production deployments.",{"type":426,"tag":427,"props":111923,"children":111924},{},[111925,111930,111932,111937],{"type":426,"tag":446,"props":111926,"children":111927},{},[111928],{"type":431,"value":111929},"Can I process multiple WhatsApp numbers' webhooks in one PHP file?",{"type":431,"value":111931},"\nYes. Rapiwa includes the destination number in the webhook payload (",{"type":426,"tag":549,"props":111933,"children":111935},{"className":111934},[],[111936],{"type":431,"value":86199},{"type":431,"value":111938},"). Use a switch or if-else to route logic based on which number received the message.",{"type":426,"tag":427,"props":111940,"children":111941},{},[111942,111947],{"type":426,"tag":446,"props":111943,"children":111944},{},[111945],{"type":431,"value":111946},"Does Rapiwa charge extra for webhook events?",{"type":431,"value":86221},{"type":426,"tag":4164,"props":111949,"children":111950},{},[111951],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":111953},[111954,111955,111956,111960,111961,111962,111963,111964,111965],{"id":107302,"depth":588,"text":107305},{"id":47624,"depth":588,"text":47627},{"id":107540,"depth":588,"text":107543,"children":111957},[111958],{"id":107551,"depth":606,"text":111959},"Native PHP: webhook.php",{"id":109336,"depth":588,"text":109339},{"id":109390,"depth":588,"text":109393},{"id":111330,"depth":588,"text":111333},{"id":85876,"depth":588,"text":85879},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-webhook-php-rapiwa.md","blog\u002Fwhatsapp-webhook-php-rapiwa.md","blog\u002Fwhatsapp-webhook-php-rapiwa",{"loc":145},{"_path":149,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":150,"description":151,"date":111971,"author":33271,"category":22,"_slug":111972,"image":111973,"body":111974,"_type":4187,"_id":113720,"_source":4189,"_file":113721,"_stem":113722,"_extension":4192,"sitemap":113723},"2026-02-15","whatsapp-api-hubspot-crm-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-api-hubspot-crm-rapiwa.svg",{"type":423,"children":111975,"toc":113699},[111976,111981,111987,112039,112043,112071,112077,112085,112090,112098,112104,112172,112178,112183,112214,112224,112232,112238,112248,112322,112330,112490,112496,112501,112507,112517,112600,112606,112615,112661,112716,112723,112816,112823,112899,112905,112910,113481,113492,113498,113503,113537,113543,113549,113557,113563,113571,113577,113585,113589,113641,113645,113655,113665,113675,113685,113695],{"type":426,"tag":427,"props":111977,"children":111978},{},[111979],{"type":431,"value":111980},"You can integrate WhatsApp messaging into HubSpot CRM by connecting Rapiwa API to HubSpot workflows using webhooks or n8n as middleware. When a HubSpot contact is created, a deal changes stage, or a workflow trigger fires, n8n calls Rapiwa to send a WhatsApp message to the contact's phone number. Rapiwa costs $5\u002Fmonth flat with no per-message fees — making it the most cost-effective WhatsApp layer for HubSpot.",{"type":426,"tag":434,"props":111982,"children":111984},{"id":111983},"what-you-can-do-with-whatsapp-hubspot",[111985],{"type":431,"value":111986},"What You Can Do with WhatsApp + HubSpot",{"type":426,"tag":454,"props":111988,"children":111989},{},[111990,112000,112010,112019,112029],{"type":426,"tag":458,"props":111991,"children":111992},{},[111993,111998],{"type":426,"tag":446,"props":111994,"children":111995},{},[111996],{"type":431,"value":111997},"Lead qualification",{"type":431,"value":111999},": Automatically message new leads when they fill a HubSpot form",{"type":426,"tag":458,"props":112001,"children":112002},{},[112003,112008],{"type":426,"tag":446,"props":112004,"children":112005},{},[112006],{"type":431,"value":112007},"Deal stage notifications",{"type":431,"value":112009},": Notify sales reps via WhatsApp when a deal moves to \"Proposal Sent\"",{"type":426,"tag":458,"props":112011,"children":112012},{},[112013,112017],{"type":426,"tag":446,"props":112014,"children":112015},{},[112016],{"type":431,"value":60067},{"type":431,"value":112018},": Send customers a WhatsApp reminder 1 hour before a HubSpot-booked meeting",{"type":426,"tag":458,"props":112020,"children":112021},{},[112022,112027],{"type":426,"tag":446,"props":112023,"children":112024},{},[112025],{"type":431,"value":112026},"Contract follow-ups",{"type":431,"value":112028},": Message prospects 48 hours after sending a proposal with no response",{"type":426,"tag":458,"props":112030,"children":112031},{},[112032,112037],{"type":426,"tag":446,"props":112033,"children":112034},{},[112035],{"type":431,"value":112036},"Onboarding sequences",{"type":431,"value":112038},": Send WhatsApp onboarding messages triggered by HubSpot deal closed-won",{"type":426,"tag":434,"props":112040,"children":112041},{"id":47624},[112042],{"type":431,"value":47627},{"type":426,"tag":454,"props":112044,"children":112045},{},[112046,112056,112061,112066],{"type":426,"tag":458,"props":112047,"children":112048},{},[112049,112050,112055],{"type":431,"value":48828},{"type":426,"tag":3819,"props":112051,"children":112053},{"href":3821,"rel":112052},[3823],[112054],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":112057,"children":112058},{},[112059],{"type":431,"value":112060},"HubSpot account (free or paid)",{"type":426,"tag":458,"props":112062,"children":112063},{},[112064],{"type":431,"value":112065},"n8n (Cloud free tier or self-hosted) — used as middleware",{"type":426,"tag":458,"props":112067,"children":112068},{},[112069],{"type":431,"value":112070},"HubSpot Private App Token (to authenticate API calls)",{"type":426,"tag":434,"props":112072,"children":112074},{"id":112073},"architecture",[112075],{"type":431,"value":112076},"Architecture",{"type":426,"tag":542,"props":112078,"children":112080},{"code":112079},"HubSpot Workflow → Webhook Action → n8n → Rapiwa API → WhatsApp\n",[112081],{"type":426,"tag":549,"props":112082,"children":112083},{"__ignoreMap":417},[112084],{"type":431,"value":112079},{"type":426,"tag":427,"props":112086,"children":112087},{},[112088],{"type":431,"value":112089},"Or alternatively with HubSpot webhooks triggering n8n directly:",{"type":426,"tag":542,"props":112091,"children":112093},{"code":112092},"HubSpot Contact Created → HubSpot Webhook → n8n Webhook Trigger → Rapiwa API → WhatsApp\n",[112094],{"type":426,"tag":549,"props":112095,"children":112096},{"__ignoreMap":417},[112097],{"type":431,"value":112092},{"type":426,"tag":434,"props":112099,"children":112101},{"id":112100},"step-1-create-a-hubspot-private-app",[112102],{"type":431,"value":112103},"Step 1: Create a HubSpot Private App",{"type":426,"tag":6331,"props":112105,"children":112106},{},[112107,112117,112126,112136,112161],{"type":426,"tag":458,"props":112108,"children":112109},{},[112110,112112],{"type":431,"value":112111},"In HubSpot → ",{"type":426,"tag":446,"props":112113,"children":112114},{},[112115],{"type":431,"value":112116},"Settings → Integrations → Private Apps",{"type":426,"tag":458,"props":112118,"children":112119},{},[112120,112121],{"type":431,"value":47857},{"type":426,"tag":446,"props":112122,"children":112123},{},[112124],{"type":431,"value":112125},"Create a private app",{"type":426,"tag":458,"props":112127,"children":112128},{},[112129,112130],{"type":431,"value":95627},{"type":426,"tag":549,"props":112131,"children":112133},{"className":112132},[],[112134],{"type":431,"value":112135},"Rapiwa WhatsApp Integration",{"type":426,"tag":458,"props":112137,"children":112138},{},[112139,112141,112147,112148,112154,112155],{"type":431,"value":112140},"Scopes: enable ",{"type":426,"tag":549,"props":112142,"children":112144},{"className":112143},[],[112145],{"type":431,"value":112146},"contacts",{"type":431,"value":1907},{"type":426,"tag":549,"props":112149,"children":112151},{"className":112150},[],[112152],{"type":431,"value":112153},"crm.objects.contacts.read",{"type":431,"value":1907},{"type":426,"tag":549,"props":112156,"children":112158},{"className":112157},[],[112159],{"type":431,"value":112160},"crm.objects.deals.read",{"type":426,"tag":458,"props":112162,"children":112163},{},[112164,112165,112170],{"type":431,"value":47857},{"type":426,"tag":446,"props":112166,"children":112167},{},[112168],{"type":431,"value":112169},"Create app",{"type":431,"value":112171}," and copy the Access Token",{"type":426,"tag":434,"props":112173,"children":112175},{"id":112174},"step-2-set-up-n8n-as-middleware",[112176],{"type":431,"value":112177},"Step 2: Set Up n8n as Middleware",{"type":426,"tag":427,"props":112179,"children":112180},{},[112181],{"type":431,"value":112182},"In n8n, create a new workflow:",{"type":426,"tag":6331,"props":112184,"children":112185},{},[112186,112195,112205],{"type":426,"tag":458,"props":112187,"children":112188},{},[112189,112193],{"type":426,"tag":446,"props":112190,"children":112191},{},[112192],{"type":431,"value":77678},{"type":431,"value":112194},": Webhook node (to receive HubSpot events)",{"type":426,"tag":458,"props":112196,"children":112197},{},[112198,112203],{"type":426,"tag":446,"props":112199,"children":112200},{},[112201],{"type":431,"value":112202},"HubSpot node",{"type":431,"value":112204},": Fetch contact details (phone number, name)",{"type":426,"tag":458,"props":112206,"children":112207},{},[112208,112212],{"type":426,"tag":446,"props":112209,"children":112210},{},[112211],{"type":431,"value":47931},{"type":431,"value":112213},": Send WhatsApp message",{"type":426,"tag":427,"props":112215,"children":112216},{},[112217,112222],{"type":426,"tag":446,"props":112218,"children":112219},{},[112220],{"type":431,"value":112221},"Get the webhook URL from n8n",{"type":431,"value":112223}," (copy from Webhook node):",{"type":426,"tag":542,"props":112225,"children":112227},{"code":112226},"https:\u002F\u002Fyourn8n.cloud\u002Fwebhook\u002Fhubspot-whatsapp\n",[112228],{"type":426,"tag":549,"props":112229,"children":112230},{"__ignoreMap":417},[112231],{"type":431,"value":112226},{"type":426,"tag":434,"props":112233,"children":112235},{"id":112234},"step-3-configure-hubspot-workflow-to-call-n8n",[112236],{"type":431,"value":112237},"Step 3: Configure HubSpot Workflow to Call n8n",{"type":426,"tag":427,"props":112239,"children":112240},{},[112241,112242,112247],{"type":431,"value":112111},{"type":426,"tag":446,"props":112243,"children":112244},{},[112245],{"type":431,"value":112246},"Automation → Workflows",{"type":431,"value":19071},{"type":426,"tag":6331,"props":112249,"children":112250},{},[112251,112261,112266,112275,112280,112285],{"type":426,"tag":458,"props":112252,"children":112253},{},[112254,112256],{"type":431,"value":112255},"Create a new ",{"type":426,"tag":446,"props":112257,"children":112258},{},[112259],{"type":431,"value":112260},"Contact-based workflow",{"type":426,"tag":458,"props":112262,"children":112263},{},[112264],{"type":431,"value":112265},"Enrollment trigger: e.g., \"Contact fills out lead form\" or \"Contact property changes\"",{"type":426,"tag":458,"props":112267,"children":112268},{},[112269,112270],{"type":431,"value":60258},{"type":426,"tag":446,"props":112271,"children":112272},{},[112273],{"type":431,"value":112274},"Send a webhook",{"type":426,"tag":458,"props":112276,"children":112277},{},[112278],{"type":431,"value":112279},"Webhook URL: your n8n webhook URL",{"type":426,"tag":458,"props":112281,"children":112282},{},[112283],{"type":431,"value":112284},"Request type: POST",{"type":426,"tag":458,"props":112286,"children":112287},{},[112288,112290,112295,112296,112302,112303,112309,112310,112315,112316],{"type":431,"value":112289},"Include properties: ",{"type":426,"tag":549,"props":112291,"children":112293},{"className":112292},[],[112294],{"type":431,"value":37598},{"type":431,"value":1907},{"type":426,"tag":549,"props":112297,"children":112299},{"className":112298},[],[112300],{"type":431,"value":112301},"firstname",{"type":431,"value":1907},{"type":426,"tag":549,"props":112304,"children":112306},{"className":112305},[],[112307],{"type":431,"value":112308},"lastname",{"type":431,"value":1907},{"type":426,"tag":549,"props":112311,"children":112313},{"className":112312},[],[112314],{"type":431,"value":99292},{"type":431,"value":1907},{"type":426,"tag":549,"props":112317,"children":112319},{"className":112318},[],[112320],{"type":431,"value":112321},"hs_object_id",{"type":426,"tag":427,"props":112323,"children":112324},{},[112325],{"type":426,"tag":446,"props":112326,"children":112327},{},[112328],{"type":431,"value":112329},"HubSpot webhook payload (what n8n receives):",{"type":426,"tag":542,"props":112331,"children":112333},{"code":112332,"language":673,"meta":417,"className":674,"style":417},"{\n  \"objectId\": 12345,\n  \"properties\": {\n    \"phone\": \"8801234567890\",\n    \"firstname\": \"Sarah\",\n    \"lastname\": \"Johnson\",\n    \"email\": \"sarah@company.com\",\n    \"hs_lead_status\": \"NEW\"\n  }\n}\n",[112334],{"type":426,"tag":549,"props":112335,"children":112336},{"__ignoreMap":417},[112337,112344,112365,112377,112397,112417,112438,112459,112476,112483],{"type":426,"tag":553,"props":112338,"children":112339},{"class":555,"line":556},[112340],{"type":426,"tag":553,"props":112341,"children":112342},{"style":684},[112343],{"type":431,"value":687},{"type":426,"tag":553,"props":112345,"children":112346},{"class":555,"line":588},[112347,112352,112356,112361],{"type":426,"tag":553,"props":112348,"children":112349},{"style":566},[112350],{"type":431,"value":112351},"  \"objectId\"",{"type":426,"tag":553,"props":112353,"children":112354},{"style":684},[112355],{"type":431,"value":700},{"type":426,"tag":553,"props":112357,"children":112358},{"style":566},[112359],{"type":431,"value":112360},"12345",{"type":426,"tag":553,"props":112362,"children":112363},{"style":684},[112364],{"type":431,"value":710},{"type":426,"tag":553,"props":112366,"children":112367},{"class":555,"line":606},[112368,112373],{"type":426,"tag":553,"props":112369,"children":112370},{"style":566},[112371],{"type":431,"value":112372},"  \"properties\"",{"type":426,"tag":553,"props":112374,"children":112375},{"style":684},[112376],{"type":431,"value":17102},{"type":426,"tag":553,"props":112378,"children":112379},{"class":555,"line":623},[112380,112385,112389,112393],{"type":426,"tag":553,"props":112381,"children":112382},{"style":566},[112383],{"type":431,"value":112384},"    \"phone\"",{"type":426,"tag":553,"props":112386,"children":112387},{"style":684},[112388],{"type":431,"value":700},{"type":426,"tag":553,"props":112390,"children":112391},{"style":572},[112392],{"type":431,"value":7286},{"type":426,"tag":553,"props":112394,"children":112395},{"style":684},[112396],{"type":431,"value":710},{"type":426,"tag":553,"props":112398,"children":112399},{"class":555,"line":637},[112400,112405,112409,112413],{"type":426,"tag":553,"props":112401,"children":112402},{"style":566},[112403],{"type":431,"value":112404},"    \"firstname\"",{"type":426,"tag":553,"props":112406,"children":112407},{"style":684},[112408],{"type":431,"value":700},{"type":426,"tag":553,"props":112410,"children":112411},{"style":572},[112412],{"type":431,"value":45345},{"type":426,"tag":553,"props":112414,"children":112415},{"style":684},[112416],{"type":431,"value":710},{"type":426,"tag":553,"props":112418,"children":112419},{"class":555,"line":646},[112420,112425,112429,112434],{"type":426,"tag":553,"props":112421,"children":112422},{"style":566},[112423],{"type":431,"value":112424},"    \"lastname\"",{"type":426,"tag":553,"props":112426,"children":112427},{"style":684},[112428],{"type":431,"value":700},{"type":426,"tag":553,"props":112430,"children":112431},{"style":572},[112432],{"type":431,"value":112433},"\"Johnson\"",{"type":426,"tag":553,"props":112435,"children":112436},{"style":684},[112437],{"type":431,"value":710},{"type":426,"tag":553,"props":112439,"children":112440},{"class":555,"line":655},[112441,112446,112450,112455],{"type":426,"tag":553,"props":112442,"children":112443},{"style":566},[112444],{"type":431,"value":112445},"    \"email\"",{"type":426,"tag":553,"props":112447,"children":112448},{"style":684},[112449],{"type":431,"value":700},{"type":426,"tag":553,"props":112451,"children":112452},{"style":572},[112453],{"type":431,"value":112454},"\"sarah@company.com\"",{"type":426,"tag":553,"props":112456,"children":112457},{"style":684},[112458],{"type":431,"value":710},{"type":426,"tag":553,"props":112460,"children":112461},{"class":555,"line":1036},[112462,112467,112471],{"type":426,"tag":553,"props":112463,"children":112464},{"style":566},[112465],{"type":431,"value":112466},"    \"hs_lead_status\"",{"type":426,"tag":553,"props":112468,"children":112469},{"style":684},[112470],{"type":431,"value":700},{"type":426,"tag":553,"props":112472,"children":112473},{"style":572},[112474],{"type":431,"value":112475},"\"NEW\"\n",{"type":426,"tag":553,"props":112477,"children":112478},{"class":555,"line":1054},[112479],{"type":426,"tag":553,"props":112480,"children":112481},{"style":684},[112482],{"type":431,"value":60547},{"type":426,"tag":553,"props":112484,"children":112485},{"class":555,"line":1080},[112486],{"type":426,"tag":553,"props":112487,"children":112488},{"style":684},[112489],{"type":431,"value":756},{"type":426,"tag":434,"props":112491,"children":112493},{"id":112492},"step-4-configure-n8n-to-send-the-whatsapp-message",[112494],{"type":431,"value":112495},"Step 4: Configure n8n to Send the WhatsApp Message",{"type":426,"tag":427,"props":112497,"children":112498},{},[112499],{"type":431,"value":112500},"In the n8n workflow, after the Webhook trigger:",{"type":426,"tag":515,"props":112502,"children":112504},{"id":112503},"extract-contact-data",[112505],{"type":431,"value":112506},"Extract Contact Data",{"type":426,"tag":427,"props":112508,"children":112509},{},[112510,112511,112515],{"type":431,"value":60194},{"type":426,"tag":446,"props":112512,"children":112513},{},[112514],{"type":431,"value":60378},{"type":431,"value":112516}," node to extract the phone number and build the message:",{"type":426,"tag":542,"props":112518,"children":112520},{"code":112519,"language":52115,"meta":417,"className":52113,"style":417},"\u002F\u002F Expression in Set node\nphone: {{ $json.properties.phone }}\nfirst_name: {{ $json.properties.firstname }}\nmessage: Hi {{ $json.properties.firstname }}! We received your inquiry and will be in touch shortly. Reply here if you have any questions!\n",[112521],{"type":426,"tag":549,"props":112522,"children":112523},{"__ignoreMap":417},[112524,112532,112544,112556],{"type":426,"tag":553,"props":112525,"children":112526},{"class":555,"line":556},[112527],{"type":426,"tag":553,"props":112528,"children":112529},{"style":1975},[112530],{"type":431,"value":112531},"\u002F\u002F Expression in Set node\n",{"type":426,"tag":553,"props":112533,"children":112534},{"class":555,"line":588},[112535,112539],{"type":426,"tag":553,"props":112536,"children":112537},{"style":560},[112538],{"type":431,"value":37598},{"type":426,"tag":553,"props":112540,"children":112541},{"style":684},[112542],{"type":431,"value":112543},": {{ $json.properties.phone }}\n",{"type":426,"tag":553,"props":112545,"children":112546},{"class":555,"line":606},[112547,112551],{"type":426,"tag":553,"props":112548,"children":112549},{"style":560},[112550],{"type":431,"value":92907},{"type":426,"tag":553,"props":112552,"children":112553},{"style":684},[112554],{"type":431,"value":112555},": {{ $json.properties.firstname }}\n",{"type":426,"tag":553,"props":112557,"children":112558},{"class":555,"line":623},[112559,112563,112568,112572,112577,112581,112586,112590,112595],{"type":426,"tag":553,"props":112560,"children":112561},{"style":560},[112562],{"type":431,"value":2734},{"type":426,"tag":553,"props":112564,"children":112565},{"style":684},[112566],{"type":431,"value":112567},": Hi {{ $json.properties.firstname }}",{"type":426,"tag":553,"props":112569,"children":112570},{"style":795},[112571],{"type":431,"value":4651},{"type":426,"tag":553,"props":112573,"children":112574},{"style":684},[112575],{"type":431,"value":112576}," We received your inquiry and will be ",{"type":426,"tag":553,"props":112578,"children":112579},{"style":795},[112580],{"type":431,"value":2005},{"type":426,"tag":553,"props":112582,"children":112583},{"style":684},[112584],{"type":431,"value":112585}," touch shortly. Reply here ",{"type":426,"tag":553,"props":112587,"children":112588},{"style":795},[112589],{"type":431,"value":7510},{"type":426,"tag":553,"props":112591,"children":112592},{"style":684},[112593],{"type":431,"value":112594}," you have any questions",{"type":426,"tag":553,"props":112596,"children":112597},{"style":795},[112598],{"type":431,"value":112599},"!\n",{"type":426,"tag":515,"props":112601,"children":112603},{"id":112602},"send-via-rapiwa",[112604],{"type":431,"value":112605},"Send via Rapiwa",{"type":426,"tag":427,"props":112607,"children":112608},{},[112609,112610,112614],{"type":431,"value":55109},{"type":426,"tag":446,"props":112611,"children":112612},{},[112613],{"type":431,"value":44949},{"type":431,"value":55423},{"type":426,"tag":454,"props":112616,"children":112617},{},[112618,112626,112639,112653],{"type":426,"tag":458,"props":112619,"children":112620},{},[112621,112625],{"type":426,"tag":446,"props":112622,"children":112623},{},[112624],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":112627,"children":112628},{},[112629,112633,112634],{"type":426,"tag":446,"props":112630,"children":112631},{},[112632],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":112635,"children":112637},{"className":112636},[],[112638],{"type":431,"value":48098},{"type":426,"tag":458,"props":112640,"children":112641},{},[112642,112646,112647],{"type":426,"tag":446,"props":112643,"children":112644},{},[112645],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":112648,"children":112650},{"className":112649},[],[112651],{"type":431,"value":112652},"Bearer YOUR_RAPIWA_API_KEY",{"type":426,"tag":458,"props":112654,"children":112655},{},[112656,112660],{"type":426,"tag":446,"props":112657,"children":112658},{},[112659],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":112662,"children":112664},{"code":112663,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $json.phone }}\",\n  \"message\": \"={{ $json.message }}\"\n}\n",[112665],{"type":426,"tag":549,"props":112666,"children":112667},{"__ignoreMap":417},[112668,112675,112694,112709],{"type":426,"tag":553,"props":112669,"children":112670},{"class":555,"line":556},[112671],{"type":426,"tag":553,"props":112672,"children":112673},{"style":684},[112674],{"type":431,"value":687},{"type":426,"tag":553,"props":112676,"children":112677},{"class":555,"line":588},[112678,112682,112686,112690],{"type":426,"tag":553,"props":112679,"children":112680},{"style":566},[112681],{"type":431,"value":7277},{"type":426,"tag":553,"props":112683,"children":112684},{"style":684},[112685],{"type":431,"value":700},{"type":426,"tag":553,"props":112687,"children":112688},{"style":572},[112689],{"type":431,"value":106604},{"type":426,"tag":553,"props":112691,"children":112692},{"style":684},[112693],{"type":431,"value":710},{"type":426,"tag":553,"props":112695,"children":112696},{"class":555,"line":606},[112697,112701,112705],{"type":426,"tag":553,"props":112698,"children":112699},{"style":566},[112700],{"type":431,"value":7298},{"type":426,"tag":553,"props":112702,"children":112703},{"style":684},[112704],{"type":431,"value":700},{"type":426,"tag":553,"props":112706,"children":112707},{"style":572},[112708],{"type":431,"value":106624},{"type":426,"tag":553,"props":112710,"children":112711},{"class":555,"line":623},[112712],{"type":426,"tag":553,"props":112713,"children":112714},{"style":684},[112715],{"type":431,"value":756},{"type":426,"tag":427,"props":112717,"children":112718},{},[112719],{"type":426,"tag":446,"props":112720,"children":112721},{},[112722],{"type":431,"value":48187},{"type":426,"tag":542,"props":112724,"children":112726},{"code":112725,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! Thanks for reaching out. I will call you within the next hour to discuss your requirements. — Alex, Sales Team\"\n  }'\n",[112727],{"type":426,"tag":549,"props":112728,"children":112729},{"__ignoreMap":417},[112730,112753,112768,112783,112794,112801,112809],{"type":426,"tag":553,"props":112731,"children":112732},{"class":555,"line":556},[112733,112737,112741,112745,112749],{"type":426,"tag":553,"props":112734,"children":112735},{"style":560},[112736],{"type":431,"value":563},{"type":426,"tag":553,"props":112738,"children":112739},{"style":566},[112740],{"type":431,"value":569},{"type":426,"tag":553,"props":112742,"children":112743},{"style":572},[112744],{"type":431,"value":575},{"type":426,"tag":553,"props":112746,"children":112747},{"style":572},[112748],{"type":431,"value":580},{"type":426,"tag":553,"props":112750,"children":112751},{"style":566},[112752],{"type":431,"value":585},{"type":426,"tag":553,"props":112754,"children":112755},{"class":555,"line":588},[112756,112760,112764],{"type":426,"tag":553,"props":112757,"children":112758},{"style":566},[112759],{"type":431,"value":594},{"type":426,"tag":553,"props":112761,"children":112762},{"style":572},[112763],{"type":431,"value":599},{"type":426,"tag":553,"props":112765,"children":112766},{"style":566},[112767],{"type":431,"value":585},{"type":426,"tag":553,"props":112769,"children":112770},{"class":555,"line":606},[112771,112775,112779],{"type":426,"tag":553,"props":112772,"children":112773},{"style":566},[112774],{"type":431,"value":594},{"type":426,"tag":553,"props":112776,"children":112777},{"style":572},[112778],{"type":431,"value":616},{"type":426,"tag":553,"props":112780,"children":112781},{"style":566},[112782],{"type":431,"value":585},{"type":426,"tag":553,"props":112784,"children":112785},{"class":555,"line":623},[112786,112790],{"type":426,"tag":553,"props":112787,"children":112788},{"style":566},[112789],{"type":431,"value":629},{"type":426,"tag":553,"props":112791,"children":112792},{"style":572},[112793],{"type":431,"value":634},{"type":426,"tag":553,"props":112795,"children":112796},{"class":555,"line":637},[112797],{"type":426,"tag":553,"props":112798,"children":112799},{"style":572},[112800],{"type":431,"value":643},{"type":426,"tag":553,"props":112802,"children":112803},{"class":555,"line":646},[112804],{"type":426,"tag":553,"props":112805,"children":112806},{"style":572},[112807],{"type":431,"value":112808},"    \"message\": \"Hi Sarah! Thanks for reaching out. I will call you within the next hour to discuss your requirements. — Alex, Sales Team\"\n",{"type":426,"tag":553,"props":112810,"children":112811},{"class":555,"line":655},[112812],{"type":426,"tag":553,"props":112813,"children":112814},{"style":572},[112815],{"type":431,"value":661},{"type":426,"tag":427,"props":112817,"children":112818},{},[112819],{"type":426,"tag":446,"props":112820,"children":112821},{},[112822],{"type":431,"value":669},{"type":426,"tag":542,"props":112824,"children":112826},{"code":112825,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_hubspot_abc123\",\n  \"timestamp\": \"2026-06-14T10:30:00Z\"\n}\n",[112827],{"type":426,"tag":549,"props":112828,"children":112829},{"__ignoreMap":417},[112830,112837,112856,112876,112892],{"type":426,"tag":553,"props":112831,"children":112832},{"class":555,"line":556},[112833],{"type":426,"tag":553,"props":112834,"children":112835},{"style":684},[112836],{"type":431,"value":687},{"type":426,"tag":553,"props":112838,"children":112839},{"class":555,"line":588},[112840,112844,112848,112852],{"type":426,"tag":553,"props":112841,"children":112842},{"style":566},[112843],{"type":431,"value":695},{"type":426,"tag":553,"props":112845,"children":112846},{"style":684},[112847],{"type":431,"value":700},{"type":426,"tag":553,"props":112849,"children":112850},{"style":572},[112851],{"type":431,"value":705},{"type":426,"tag":553,"props":112853,"children":112854},{"style":684},[112855],{"type":431,"value":710},{"type":426,"tag":553,"props":112857,"children":112858},{"class":555,"line":606},[112859,112863,112867,112872],{"type":426,"tag":553,"props":112860,"children":112861},{"style":566},[112862],{"type":431,"value":718},{"type":426,"tag":553,"props":112864,"children":112865},{"style":684},[112866],{"type":431,"value":700},{"type":426,"tag":553,"props":112868,"children":112869},{"style":572},[112870],{"type":431,"value":112871},"\"msg_hubspot_abc123\"",{"type":426,"tag":553,"props":112873,"children":112874},{"style":684},[112875],{"type":431,"value":710},{"type":426,"tag":553,"props":112877,"children":112878},{"class":555,"line":623},[112879,112883,112887],{"type":426,"tag":553,"props":112880,"children":112881},{"style":566},[112882],{"type":431,"value":739},{"type":426,"tag":553,"props":112884,"children":112885},{"style":684},[112886],{"type":431,"value":700},{"type":426,"tag":553,"props":112888,"children":112889},{"style":572},[112890],{"type":431,"value":112891},"\"2026-06-14T10:30:00Z\"\n",{"type":426,"tag":553,"props":112893,"children":112894},{"class":555,"line":637},[112895],{"type":426,"tag":553,"props":112896,"children":112897},{"style":684},[112898],{"type":431,"value":756},{"type":426,"tag":434,"props":112900,"children":112902},{"id":112901},"step-5-log-whatsapp-messages-back-to-hubspot",[112903],{"type":431,"value":112904},"Step 5: Log WhatsApp Messages Back to HubSpot",{"type":426,"tag":427,"props":112906,"children":112907},{},[112908],{"type":431,"value":112909},"After sending the WhatsApp message, log it as a HubSpot activity so your team can see it in the contact timeline:",{"type":426,"tag":542,"props":112911,"children":112913},{"code":112912,"language":784,"meta":417,"className":785,"style":417},"import requests\n\ndef log_whatsapp_to_hubspot(contact_id: str, message: str, hubspot_token: str):\n    \"\"\"Log a WhatsApp message as a note in HubSpot contact timeline.\"\"\"\n    url = f\"https:\u002F\u002Fapi.hubapi.com\u002Fcrm\u002Fv3\u002Fobjects\u002Fnotes\"\n    headers = {\n        \"Authorization\": f\"Bearer {hubspot_token}\",\n        \"Content-Type\": \"application\u002Fjson\"\n    }\n    payload = {\n        \"properties\": {\n            \"hs_note_body\": f\"WhatsApp message sent via Rapiwa:\\n\\n{message}\",\n            \"hs_timestamp\": str(int(__import__('time').time() * 1000))\n        },\n        \"associations\": [\n            {\n                \"to\": {\"id\": contact_id},\n                \"types\": [{\"associationCategory\": \"HUBSPOT_DEFINED\", \"associationTypeId\": 202}]\n            }\n        ]\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n\n# Usage (in your n8n HTTP Request node or Python webhook handler)\nlog_whatsapp_to_hubspot(\n    contact_id=\"12345\",\n    message=\"Hi Sarah! Thanks for reaching out. I will call you within the next hour.\",\n    hubspot_token=\"YOUR_HUBSPOT_PRIVATE_APP_TOKEN\"\n)\n",[112914],{"type":426,"tag":549,"props":112915,"children":112916},{"__ignoreMap":417},[112917,112928,112935,112977,112985,113006,113022,113063,113080,113087,113102,113114,113155,113213,113220,113232,113239,113261,113311,113318,113325,113332,113339,113382,113393,113400,113408,113416,113437,113457,113474],{"type":426,"tag":553,"props":112918,"children":112919},{"class":555,"line":556},[112920,112924],{"type":426,"tag":553,"props":112921,"children":112922},{"style":795},[112923],{"type":431,"value":798},{"type":426,"tag":553,"props":112925,"children":112926},{"style":684},[112927],{"type":431,"value":803},{"type":426,"tag":553,"props":112929,"children":112930},{"class":555,"line":588},[112931],{"type":426,"tag":553,"props":112932,"children":112933},{"emptyLinePlaceholder":831},[112934],{"type":431,"value":834},{"type":426,"tag":553,"props":112936,"children":112937},{"class":555,"line":606},[112938,112942,112947,112952,112956,112960,112964,112969,112973],{"type":426,"tag":553,"props":112939,"children":112940},{"style":795},[112941],{"type":431,"value":842},{"type":426,"tag":553,"props":112943,"children":112944},{"style":560},[112945],{"type":431,"value":112946}," log_whatsapp_to_hubspot",{"type":426,"tag":553,"props":112948,"children":112949},{"style":684},[112950],{"type":431,"value":112951},"(contact_id: ",{"type":426,"tag":553,"props":112953,"children":112954},{"style":566},[112955],{"type":431,"value":895},{"type":426,"tag":553,"props":112957,"children":112958},{"style":684},[112959],{"type":431,"value":8713},{"type":426,"tag":553,"props":112961,"children":112962},{"style":566},[112963],{"type":431,"value":895},{"type":426,"tag":553,"props":112965,"children":112966},{"style":684},[112967],{"type":431,"value":112968},", hubspot_token: ",{"type":426,"tag":553,"props":112970,"children":112971},{"style":566},[112972],{"type":431,"value":895},{"type":426,"tag":553,"props":112974,"children":112975},{"style":684},[112976],{"type":431,"value":8370},{"type":426,"tag":553,"props":112978,"children":112979},{"class":555,"line":623},[112980],{"type":426,"tag":553,"props":112981,"children":112982},{"style":572},[112983],{"type":431,"value":112984},"    \"\"\"Log a WhatsApp message as a note in HubSpot contact timeline.\"\"\"\n",{"type":426,"tag":553,"props":112986,"children":112987},{"class":555,"line":637},[112988,112993,112997,113001],{"type":426,"tag":553,"props":112989,"children":112990},{"style":684},[112991],{"type":431,"value":112992},"    url ",{"type":426,"tag":553,"props":112994,"children":112995},{"style":795},[112996],{"type":431,"value":957},{"type":426,"tag":553,"props":112998,"children":112999},{"style":795},[113000],{"type":431,"value":962},{"type":426,"tag":553,"props":113002,"children":113003},{"style":572},[113004],{"type":431,"value":113005},"\"https:\u002F\u002Fapi.hubapi.com\u002Fcrm\u002Fv3\u002Fobjects\u002Fnotes\"\n",{"type":426,"tag":553,"props":113007,"children":113008},{"class":555,"line":646},[113009,113014,113018],{"type":426,"tag":553,"props":113010,"children":113011},{"style":684},[113012],{"type":431,"value":113013},"    headers ",{"type":426,"tag":553,"props":113015,"children":113016},{"style":795},[113017],{"type":431,"value":957},{"type":426,"tag":553,"props":113019,"children":113020},{"style":684},[113021],{"type":431,"value":5458},{"type":426,"tag":553,"props":113023,"children":113024},{"class":555,"line":655},[113025,113030,113034,113038,113042,113046,113051,113055,113059],{"type":426,"tag":553,"props":113026,"children":113027},{"style":572},[113028],{"type":431,"value":113029},"        \"Authorization\"",{"type":426,"tag":553,"props":113031,"children":113032},{"style":684},[113033],{"type":431,"value":700},{"type":426,"tag":553,"props":113035,"children":113036},{"style":795},[113037],{"type":431,"value":1709},{"type":426,"tag":553,"props":113039,"children":113040},{"style":572},[113041],{"type":431,"value":12608},{"type":426,"tag":553,"props":113043,"children":113044},{"style":566},[113045],{"type":431,"value":972},{"type":426,"tag":553,"props":113047,"children":113048},{"style":684},[113049],{"type":431,"value":113050},"hubspot_token",{"type":426,"tag":553,"props":113052,"children":113053},{"style":566},[113054],{"type":431,"value":982},{"type":426,"tag":553,"props":113056,"children":113057},{"style":572},[113058],{"type":431,"value":1527},{"type":426,"tag":553,"props":113060,"children":113061},{"style":684},[113062],{"type":431,"value":710},{"type":426,"tag":553,"props":113064,"children":113065},{"class":555,"line":1036},[113066,113071,113075],{"type":426,"tag":553,"props":113067,"children":113068},{"style":572},[113069],{"type":431,"value":113070},"        \"Content-Type\"",{"type":426,"tag":553,"props":113072,"children":113073},{"style":684},[113074],{"type":431,"value":700},{"type":426,"tag":553,"props":113076,"children":113077},{"style":572},[113078],{"type":431,"value":113079},"\"application\u002Fjson\"\n",{"type":426,"tag":553,"props":113081,"children":113082},{"class":555,"line":1054},[113083],{"type":426,"tag":553,"props":113084,"children":113085},{"style":684},[113086],{"type":431,"value":5546},{"type":426,"tag":553,"props":113088,"children":113089},{"class":555,"line":1080},[113090,113094,113098],{"type":426,"tag":553,"props":113091,"children":113092},{"style":684},[113093],{"type":431,"value":8085},{"type":426,"tag":553,"props":113095,"children":113096},{"style":795},[113097],{"type":431,"value":957},{"type":426,"tag":553,"props":113099,"children":113100},{"style":684},[113101],{"type":431,"value":5458},{"type":426,"tag":553,"props":113103,"children":113104},{"class":555,"line":1097},[113105,113110],{"type":426,"tag":553,"props":113106,"children":113107},{"style":572},[113108],{"type":431,"value":113109},"        \"properties\"",{"type":426,"tag":553,"props":113111,"children":113112},{"style":684},[113113],{"type":431,"value":17102},{"type":426,"tag":553,"props":113115,"children":113116},{"class":555,"line":1114},[113117,113122,113126,113130,113135,113139,113143,113147,113151],{"type":426,"tag":553,"props":113118,"children":113119},{"style":572},[113120],{"type":431,"value":113121},"            \"hs_note_body\"",{"type":426,"tag":553,"props":113123,"children":113124},{"style":684},[113125],{"type":431,"value":700},{"type":426,"tag":553,"props":113127,"children":113128},{"style":795},[113129],{"type":431,"value":1709},{"type":426,"tag":553,"props":113131,"children":113132},{"style":572},[113133],{"type":431,"value":113134},"\"WhatsApp message sent via Rapiwa:",{"type":426,"tag":553,"props":113136,"children":113137},{"style":566},[113138],{"type":431,"value":2729},{"type":426,"tag":553,"props":113140,"children":113141},{"style":684},[113142],{"type":431,"value":2734},{"type":426,"tag":553,"props":113144,"children":113145},{"style":566},[113146],{"type":431,"value":982},{"type":426,"tag":553,"props":113148,"children":113149},{"style":572},[113150],{"type":431,"value":1527},{"type":426,"tag":553,"props":113152,"children":113153},{"style":684},[113154],{"type":431,"value":710},{"type":426,"tag":553,"props":113156,"children":113157},{"class":555,"line":1127},[113158,113163,113167,113171,113175,113179,113183,113188,113192,113196,113201,113205,113209],{"type":426,"tag":553,"props":113159,"children":113160},{"style":572},[113161],{"type":431,"value":113162},"            \"hs_timestamp\"",{"type":426,"tag":553,"props":113164,"children":113165},{"style":684},[113166],{"type":431,"value":700},{"type":426,"tag":553,"props":113168,"children":113169},{"style":566},[113170],{"type":431,"value":895},{"type":426,"tag":553,"props":113172,"children":113173},{"style":684},[113174],{"type":431,"value":3275},{"type":426,"tag":553,"props":113176,"children":113177},{"style":566},[113178],{"type":431,"value":885},{"type":426,"tag":553,"props":113180,"children":113181},{"style":684},[113182],{"type":431,"value":3275},{"type":426,"tag":553,"props":113184,"children":113185},{"style":566},[113186],{"type":431,"value":113187},"__import__",{"type":426,"tag":553,"props":113189,"children":113190},{"style":684},[113191],{"type":431,"value":3275},{"type":426,"tag":553,"props":113193,"children":113194},{"style":572},[113195],{"type":431,"value":3693},{"type":426,"tag":553,"props":113197,"children":113198},{"style":684},[113199],{"type":431,"value":113200},").time() ",{"type":426,"tag":553,"props":113202,"children":113203},{"style":795},[113204],{"type":431,"value":5801},{"type":426,"tag":553,"props":113206,"children":113207},{"style":566},[113208],{"type":431,"value":15727},{"type":426,"tag":553,"props":113210,"children":113211},{"style":684},[113212],{"type":431,"value":6538},{"type":426,"tag":553,"props":113214,"children":113215},{"class":555,"line":1167},[113216],{"type":426,"tag":553,"props":113217,"children":113218},{"style":684},[113219],{"type":431,"value":32445},{"type":426,"tag":553,"props":113221,"children":113222},{"class":555,"line":1184},[113223,113228],{"type":426,"tag":553,"props":113224,"children":113225},{"style":572},[113226],{"type":431,"value":113227},"        \"associations\"",{"type":426,"tag":553,"props":113229,"children":113230},{"style":684},[113231],{"type":431,"value":17136},{"type":426,"tag":553,"props":113233,"children":113234},{"class":555,"line":1192},[113235],{"type":426,"tag":553,"props":113236,"children":113237},{"style":684},[113238],{"type":431,"value":21084},{"type":426,"tag":553,"props":113240,"children":113241},{"class":555,"line":1210},[113242,113247,113251,113256],{"type":426,"tag":553,"props":113243,"children":113244},{"style":572},[113245],{"type":431,"value":113246},"                \"to\"",{"type":426,"tag":553,"props":113248,"children":113249},{"style":684},[113250],{"type":431,"value":10135},{"type":426,"tag":553,"props":113252,"children":113253},{"style":572},[113254],{"type":431,"value":113255},"\"id\"",{"type":426,"tag":553,"props":113257,"children":113258},{"style":684},[113259],{"type":431,"value":113260},": contact_id},\n",{"type":426,"tag":553,"props":113262,"children":113263},{"class":555,"line":1253},[113264,113269,113274,113279,113283,113288,113292,113297,113301,113306],{"type":426,"tag":553,"props":113265,"children":113266},{"style":572},[113267],{"type":431,"value":113268},"                \"types\"",{"type":426,"tag":553,"props":113270,"children":113271},{"style":684},[113272],{"type":431,"value":113273},": [{",{"type":426,"tag":553,"props":113275,"children":113276},{"style":572},[113277],{"type":431,"value":113278},"\"associationCategory\"",{"type":426,"tag":553,"props":113280,"children":113281},{"style":684},[113282],{"type":431,"value":700},{"type":426,"tag":553,"props":113284,"children":113285},{"style":572},[113286],{"type":431,"value":113287},"\"HUBSPOT_DEFINED\"",{"type":426,"tag":553,"props":113289,"children":113290},{"style":684},[113291],{"type":431,"value":1907},{"type":426,"tag":553,"props":113293,"children":113294},{"style":572},[113295],{"type":431,"value":113296},"\"associationTypeId\"",{"type":426,"tag":553,"props":113298,"children":113299},{"style":684},[113300],{"type":431,"value":700},{"type":426,"tag":553,"props":113302,"children":113303},{"style":566},[113304],{"type":431,"value":113305},"202",{"type":426,"tag":553,"props":113307,"children":113308},{"style":684},[113309],{"type":431,"value":113310},"}]\n",{"type":426,"tag":553,"props":113312,"children":113313},{"class":555,"line":1302},[113314],{"type":426,"tag":553,"props":113315,"children":113316},{"style":684},[113317],{"type":431,"value":21329},{"type":426,"tag":553,"props":113319,"children":113320},{"class":555,"line":1374},[113321],{"type":426,"tag":553,"props":113322,"children":113323},{"style":684},[113324],{"type":431,"value":17195},{"type":426,"tag":553,"props":113326,"children":113327},{"class":555,"line":1414},[113328],{"type":426,"tag":553,"props":113329,"children":113330},{"style":684},[113331],{"type":431,"value":5546},{"type":426,"tag":553,"props":113333,"children":113334},{"class":555,"line":1479},[113335],{"type":426,"tag":553,"props":113336,"children":113337},{"style":684},[113338],{"type":431,"value":917},{"type":426,"tag":553,"props":113340,"children":113341},{"class":555,"line":1517},[113342,113346,113350,113355,113360,113364,113369,113373,113377],{"type":426,"tag":553,"props":113343,"children":113344},{"style":684},[113345],{"type":431,"value":8117},{"type":426,"tag":553,"props":113347,"children":113348},{"style":795},[113349],{"type":431,"value":957},{"type":426,"tag":553,"props":113351,"children":113352},{"style":684},[113353],{"type":431,"value":113354}," requests.post(url, ",{"type":426,"tag":553,"props":113356,"children":113357},{"style":1684},[113358],{"type":431,"value":113359},"headers",{"type":426,"tag":553,"props":113361,"children":113362},{"style":795},[113363],{"type":431,"value":957},{"type":426,"tag":553,"props":113365,"children":113366},{"style":684},[113367],{"type":431,"value":113368},"headers, ",{"type":426,"tag":553,"props":113370,"children":113371},{"style":1684},[113372],{"type":431,"value":673},{"type":426,"tag":553,"props":113374,"children":113375},{"style":795},[113376],{"type":431,"value":957},{"type":426,"tag":553,"props":113378,"children":113379},{"style":684},[113380],{"type":431,"value":113381},"payload)\n",{"type":426,"tag":553,"props":113383,"children":113384},{"class":555,"line":1560},[113385,113389],{"type":426,"tag":553,"props":113386,"children":113387},{"style":795},[113388],{"type":431,"value":1659},{"type":426,"tag":553,"props":113390,"children":113391},{"style":684},[113392],{"type":431,"value":9193},{"type":426,"tag":553,"props":113394,"children":113395},{"class":555,"line":1598},[113396],{"type":426,"tag":553,"props":113397,"children":113398},{"emptyLinePlaceholder":831},[113399],{"type":431,"value":834},{"type":426,"tag":553,"props":113401,"children":113402},{"class":555,"line":1636},[113403],{"type":426,"tag":553,"props":113404,"children":113405},{"style":1975},[113406],{"type":431,"value":113407},"# Usage (in your n8n HTTP Request node or Python webhook handler)\n",{"type":426,"tag":553,"props":113409,"children":113410},{"class":555,"line":1645},[113411],{"type":426,"tag":553,"props":113412,"children":113413},{"style":684},[113414],{"type":431,"value":113415},"log_whatsapp_to_hubspot(\n",{"type":426,"tag":553,"props":113417,"children":113418},{"class":555,"line":1653},[113419,113424,113428,113433],{"type":426,"tag":553,"props":113420,"children":113421},{"style":1684},[113422],{"type":431,"value":113423},"    contact_id",{"type":426,"tag":553,"props":113425,"children":113426},{"style":795},[113427],{"type":431,"value":957},{"type":426,"tag":553,"props":113429,"children":113430},{"style":572},[113431],{"type":431,"value":113432},"\"12345\"",{"type":426,"tag":553,"props":113434,"children":113435},{"style":684},[113436],{"type":431,"value":710},{"type":426,"tag":553,"props":113438,"children":113439},{"class":555,"line":1667},[113440,113444,113448,113453],{"type":426,"tag":553,"props":113441,"children":113442},{"style":1684},[113443],{"type":431,"value":3163},{"type":426,"tag":553,"props":113445,"children":113446},{"style":795},[113447],{"type":431,"value":957},{"type":426,"tag":553,"props":113449,"children":113450},{"style":572},[113451],{"type":431,"value":113452},"\"Hi Sarah! Thanks for reaching out. I will call you within the next hour.\"",{"type":426,"tag":553,"props":113454,"children":113455},{"style":684},[113456],{"type":431,"value":710},{"type":426,"tag":553,"props":113458,"children":113459},{"class":555,"line":1680},[113460,113465,113469],{"type":426,"tag":553,"props":113461,"children":113462},{"style":1684},[113463],{"type":431,"value":113464},"    hubspot_token",{"type":426,"tag":553,"props":113466,"children":113467},{"style":795},[113468],{"type":431,"value":957},{"type":426,"tag":553,"props":113470,"children":113471},{"style":572},[113472],{"type":431,"value":113473},"\"YOUR_HUBSPOT_PRIVATE_APP_TOKEN\"\n",{"type":426,"tag":553,"props":113475,"children":113476},{"class":555,"line":1740},[113477],{"type":426,"tag":553,"props":113478,"children":113479},{"style":684},[113480],{"type":431,"value":3262},{"type":426,"tag":427,"props":113482,"children":113483},{},[113484,113486,113490],{"type":431,"value":113485},"In n8n, add a second ",{"type":426,"tag":446,"props":113487,"children":113488},{},[113489],{"type":431,"value":44949},{"type":431,"value":113491}," node after the Rapiwa send, pointing to the HubSpot Notes API with the contact association.",{"type":426,"tag":434,"props":113493,"children":113495},{"id":113494},"step-6-handling-incoming-whatsapp-replies",[113496],{"type":431,"value":113497},"Step 6: Handling Incoming WhatsApp Replies",{"type":426,"tag":427,"props":113499,"children":113500},{},[113501],{"type":431,"value":113502},"When contacts reply on WhatsApp, Rapiwa fires a webhook to your n8n instance. Configure the reply handler:",{"type":426,"tag":6331,"props":113504,"children":113505},{},[113506,113516,113527,113532],{"type":426,"tag":458,"props":113507,"children":113508},{},[113509,113514],{"type":426,"tag":446,"props":113510,"children":113511},{},[113512],{"type":431,"value":113513},"Rapiwa webhook",{"type":431,"value":113515}," → n8n Webhook node (second workflow)",{"type":426,"tag":458,"props":113517,"children":113518},{},[113519,113521],{"type":431,"value":113520},"n8n queries HubSpot by phone number: ",{"type":426,"tag":549,"props":113522,"children":113524},{"className":113523},[],[113525],{"type":431,"value":113526},"GET \u002Fcrm\u002Fv3\u002Fobjects\u002Fcontacts?filterGroups=...",{"type":426,"tag":458,"props":113528,"children":113529},{},[113530],{"type":431,"value":113531},"Creates a HubSpot note with the incoming message",{"type":426,"tag":458,"props":113533,"children":113534},{},[113535],{"type":431,"value":113536},"Optionally assigns a task to the contact owner",{"type":426,"tag":434,"props":113538,"children":113540},{"id":113539},"use-case-examples",[113541],{"type":431,"value":113542},"Use Case Examples",{"type":426,"tag":515,"props":113544,"children":113546},{"id":113545},"lead-form-follow-up-5-minute-response",[113547],{"type":431,"value":113548},"Lead Form Follow-Up (5-Minute Response)",{"type":426,"tag":542,"props":113550,"children":113552},{"code":113551},"Trigger: Contact fills form → \nWait: 0 minutes →\nWhatsApp: \"Hi [Name]! I'm [Rep] from [Company]. I saw your inquiry — when is a good time to talk this week?\"\n",[113553],{"type":426,"tag":549,"props":113554,"children":113555},{"__ignoreMap":417},[113556],{"type":431,"value":113551},{"type":426,"tag":515,"props":113558,"children":113560},{"id":113559},"deal-stage-proposal-sent",[113561],{"type":431,"value":113562},"Deal Stage: Proposal Sent",{"type":426,"tag":542,"props":113564,"children":113566},{"code":113565},"Trigger: Deal stage = \"Proposal Sent\" →\nWait: 48 hours, no response →\nWhatsApp: \"Hi [Name]! Just checking in on the proposal I sent 2 days ago. Happy to walk through any questions — just reply here!\"\n",[113567],{"type":426,"tag":549,"props":113568,"children":113569},{"__ignoreMap":417},[113570],{"type":431,"value":113565},{"type":426,"tag":515,"props":113572,"children":113574},{"id":113573},"meeting-reminder",[113575],{"type":431,"value":113576},"Meeting Reminder",{"type":426,"tag":542,"props":113578,"children":113580},{"code":113579},"Trigger: Meeting booked →\nWait: until 1 hour before meeting time →\nWhatsApp: \"Hi [Name]! Quick reminder — our call is in 1 hour at [time]. Here's the link: [zoom\u002Fmeet URL]\"\n",[113581],{"type":426,"tag":549,"props":113582,"children":113583},{"__ignoreMap":417},[113584],{"type":431,"value":113579},{"type":426,"tag":434,"props":113586,"children":113587},{"id":18886},[113588],{"type":431,"value":18889},{"type":426,"tag":454,"props":113590,"children":113591},{},[113592,113602,113623,113631],{"type":426,"tag":458,"props":113593,"children":113594},{},[113595,113600],{"type":426,"tag":446,"props":113596,"children":113597},{},[113598],{"type":431,"value":113599},"HubSpot webhook not firing",{"type":431,"value":113601},": Check that the workflow is active and enrolled contacts match the trigger criteria",{"type":426,"tag":458,"props":113603,"children":113604},{},[113605,113609,113611,113616,113618],{"type":426,"tag":446,"props":113606,"children":113607},{},[113608],{"type":431,"value":56050},{"type":431,"value":113610},": HubSpot may store numbers with spaces, dashes, or ",{"type":426,"tag":549,"props":113612,"children":113614},{"className":113613},[],[113615],{"type":431,"value":2033},{"type":431,"value":113617},". Strip non-digits in n8n: ",{"type":426,"tag":549,"props":113619,"children":113621},{"className":113620},[],[113622],{"type":431,"value":104486},{"type":426,"tag":458,"props":113624,"children":113625},{},[113626,113630],{"type":426,"tag":446,"props":113627,"children":113628},{},[113629],{"type":431,"value":26117},{"type":431,"value":26119},{"type":426,"tag":458,"props":113632,"children":113633},{},[113634,113639],{"type":426,"tag":446,"props":113635,"children":113636},{},[113637],{"type":431,"value":113638},"HubSpot rate limit",{"type":431,"value":113640},": HubSpot's API allows 100 requests\u002F10 seconds. For bulk sends, add a Wait node between contacts",{"type":426,"tag":434,"props":113642,"children":113643},{"id":4109},[113644],{"type":431,"value":4112},{"type":426,"tag":427,"props":113646,"children":113647},{},[113648,113653],{"type":426,"tag":446,"props":113649,"children":113650},{},[113651],{"type":431,"value":113652},"Is there a native HubSpot WhatsApp integration?",{"type":431,"value":113654},"\nHubSpot has a native WhatsApp integration for WhatsApp Business Platform (Meta official API), which requires business verification and per-message fees. Rapiwa provides an alternative unofficial API path at $5\u002Fmonth flat through n8n middleware.",{"type":426,"tag":427,"props":113656,"children":113657},{},[113658,113663],{"type":426,"tag":446,"props":113659,"children":113660},{},[113661],{"type":431,"value":113662},"Can I send WhatsApp messages directly from HubSpot without n8n?",{"type":431,"value":113664},"\nHubSpot workflows support \"Send a webhook\" as a native action. This webhook can call Rapiwa's API directly without n8n — but n8n gives you more flexibility for building the message and handling replies.",{"type":426,"tag":427,"props":113666,"children":113667},{},[113668,113673],{"type":426,"tag":446,"props":113669,"children":113670},{},[113671],{"type":431,"value":113672},"Does Rapiwa charge per message sent from HubSpot?",{"type":431,"value":113674},"\nNo. Rapiwa is $5\u002Fmonth flat with no per-message fees. You can process unlimited CRM-triggered WhatsApp messages.",{"type":426,"tag":427,"props":113676,"children":113677},{},[113678,113683],{"type":426,"tag":446,"props":113679,"children":113680},{},[113681],{"type":431,"value":113682},"Can I track WhatsApp message delivery rates in HubSpot?",{"type":431,"value":113684},"\nNot natively. You would need to build a custom integration: log Rapiwa's success\u002Ffailure responses as HubSpot contact properties or notes.",{"type":426,"tag":427,"props":113686,"children":113687},{},[113688,113693],{"type":426,"tag":446,"props":113689,"children":113690},{},[113691],{"type":431,"value":113692},"Does this work with HubSpot's free plan?",{"type":431,"value":113694},"\nYes. HubSpot's free plan supports workflows (with limitations) and webhooks. The n8n + Rapiwa layer works with any HubSpot tier.",{"type":426,"tag":4164,"props":113696,"children":113697},{},[113698],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":113700},[113701,113702,113703,113704,113705,113706,113707,113711,113712,113713,113718,113719],{"id":111983,"depth":588,"text":111986},{"id":47624,"depth":588,"text":47627},{"id":112073,"depth":588,"text":112076},{"id":112100,"depth":588,"text":112103},{"id":112174,"depth":588,"text":112177},{"id":112234,"depth":588,"text":112237},{"id":112492,"depth":588,"text":112495,"children":113708},[113709,113710],{"id":112503,"depth":606,"text":112506},{"id":112602,"depth":606,"text":112605},{"id":112901,"depth":588,"text":112904},{"id":113494,"depth":588,"text":113497},{"id":113539,"depth":588,"text":113542,"children":113714},[113715,113716,113717],{"id":113545,"depth":606,"text":113548},{"id":113559,"depth":606,"text":113562},{"id":113573,"depth":606,"text":113576},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-hubspot-crm-rapiwa.md","blog\u002Fwhatsapp-api-hubspot-crm-rapiwa.md","blog\u002Fwhatsapp-api-hubspot-crm-rapiwa",{"loc":149},{"_path":153,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":154,"description":155,"date":113725,"author":10935,"category":43,"_slug":113726,"image":113727,"body":113728,"_type":4187,"_id":114948,"_source":4189,"_file":114949,"_stem":114950,"_extension":4192,"sitemap":114951},"2026-02-14","woocommerce-discount-coupon-whatsapp-n8n-rapiwa","\u002Fimages\u002Fblog\u002Fwoocommerce-discount-coupon-whatsapp-n8n-rapiwa.svg",{"type":423,"children":113729,"toc":114936},[113730,113735,113739,113744,113762,113771,113794,113798,113837,113841,113911,113917,113929,113973,113979,113990,114115,114120,114128,114265,114273,114395,114399,114404,114449,114506,114513,114606,114613,114689,114695,114705,114713,114721,114752,114758,114763,114806,114810,114862,114866,114876,114886,114896,114914,114932],{"type":426,"tag":427,"props":113731,"children":113732},{},[113733],{"type":431,"value":113734},"This n8n workflow automatically generates a personalized WooCommerce discount coupon and sends it to a customer via WhatsApp using Rapiwa API after they complete an order. The coupon encourages a repeat purchase with a time-limited discount. Rapiwa charges $5\u002Fmonth with no per-message fees, and over 163 developers have installed this workflow template.",{"type":426,"tag":434,"props":113736,"children":113737},{"id":47550},[113738],{"type":431,"value":47553},{"type":426,"tag":427,"props":113740,"children":113741},{},[113742],{"type":431,"value":113743},"After a WooCommerce order is completed:",{"type":426,"tag":6331,"props":113745,"children":113746},{},[113747,113752,113757],{"type":426,"tag":458,"props":113748,"children":113749},{},[113750],{"type":431,"value":113751},"n8n uses the WooCommerce API to create a unique, single-use discount coupon",{"type":426,"tag":458,"props":113753,"children":113754},{},[113755],{"type":431,"value":113756},"Sets an expiry date (e.g., 7 days from purchase)",{"type":426,"tag":458,"props":113758,"children":113759},{},[113760],{"type":431,"value":113761},"Sends the coupon code and expiry via WhatsApp to the customer using Rapiwa API",{"type":426,"tag":427,"props":113763,"children":113764},{},[113765,113769],{"type":426,"tag":446,"props":113766,"children":113767},{},[113768],{"type":431,"value":43482},{"type":431,"value":113770},": 20–35% of customers who receive a personalized WhatsApp coupon use it within the 7-day window.",{"type":426,"tag":41290,"props":113772,"children":113773},{},[113774],{"type":426,"tag":427,"props":113775,"children":113776},{},[113777,113781,113782,113789],{"type":426,"tag":446,"props":113778,"children":113779},{},[113780],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":113783,"children":113786},{"href":113784,"rel":113785},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10140-send-woocommerce-discount-coupons-to-customers-via-whatsapp-using-rapiwa-api\u002F",[3823],[113787],{"type":431,"value":113788},"Send WooCommerce discount coupons to customers via WhatsApp using Rapiwa API →",{"type":426,"tag":47617,"props":113790,"children":113791},{},[113792],{"type":431,"value":113793},"(163 installs)",{"type":426,"tag":434,"props":113795,"children":113796},{"id":47624},[113797],{"type":431,"value":47627},{"type":426,"tag":454,"props":113799,"children":113800},{},[113801,113814,113822,113832],{"type":426,"tag":458,"props":113802,"children":113803},{},[113804,113808,113809],{"type":426,"tag":446,"props":113805,"children":113806},{},[113807],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":113810,"children":113812},{"href":3821,"rel":113811},[3823],[113813],{"type":431,"value":47645},{"type":426,"tag":458,"props":113815,"children":113816},{},[113817,113821],{"type":426,"tag":446,"props":113818,"children":113819},{},[113820],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":113823,"children":113824},{},[113825,113830],{"type":426,"tag":446,"props":113826,"children":113827},{},[113828],{"type":431,"value":113829},"WooCommerce store",{"type":431,"value":113831}," with REST API credentials (read\u002Fwrite permissions required to create coupons)",{"type":426,"tag":458,"props":113833,"children":113834},{},[113835],{"type":431,"value":113836},"Customer phone numbers at checkout",{"type":426,"tag":434,"props":113838,"children":113839},{"id":100634},[113840],{"type":431,"value":100637},{"type":426,"tag":6331,"props":113842,"children":113843},{},[113844,113854,113862],{"type":426,"tag":458,"props":113845,"children":113846},{},[113847,113848],{"type":431,"value":47846},{"type":426,"tag":3819,"props":113849,"children":113851},{"href":113784,"rel":113850},[3823],[113852],{"type":431,"value":113853},"n8n.io\u002Fworkflows\u002F10140",{"type":426,"tag":458,"props":113855,"children":113856},{},[113857,113858],{"type":431,"value":47857},{"type":426,"tag":446,"props":113859,"children":113860},{},[113861],{"type":431,"value":47862},{"type":426,"tag":458,"props":113863,"children":113864},{},[113865,113866],{"type":431,"value":47867},{"type":426,"tag":454,"props":113867,"children":113868},{},[113869,113884,113894,113903],{"type":426,"tag":458,"props":113870,"children":113871},{},[113872,113877,113878],{"type":426,"tag":446,"props":113873,"children":113874},{},[113875],{"type":431,"value":113876},"WooCommerce Trigger",{"type":431,"value":103545},{"type":426,"tag":549,"props":113879,"children":113881},{"className":113880},[],[113882],{"type":431,"value":113883},"order.completed",{"type":426,"tag":458,"props":113885,"children":113886},{},[113887,113892],{"type":426,"tag":446,"props":113888,"children":113889},{},[113890],{"type":431,"value":113891},"WooCommerce node",{"type":431,"value":113893}," → creates a unique coupon via the Coupons API",{"type":426,"tag":458,"props":113895,"children":113896},{},[113897,113901],{"type":426,"tag":446,"props":113898,"children":113899},{},[113900],{"type":431,"value":47921},{"type":431,"value":113902}," → builds the WhatsApp message with the coupon code",{"type":426,"tag":458,"props":113904,"children":113905},{},[113906,113910],{"type":426,"tag":446,"props":113907,"children":113908},{},[113909],{"type":431,"value":47931},{"type":431,"value":100703},{"type":426,"tag":434,"props":113912,"children":113914},{"id":113913},"step-2-configure-woocommerce-api-credentials-readwrite",[113915],{"type":431,"value":113916},"Step 2: Configure WooCommerce API Credentials (Read\u002FWrite)",{"type":426,"tag":427,"props":113918,"children":113919},{},[113920,113922,113927],{"type":431,"value":113921},"This workflow needs ",{"type":426,"tag":446,"props":113923,"children":113924},{},[113925],{"type":431,"value":113926},"write",{"type":431,"value":113928}," access to create coupons:",{"type":426,"tag":6331,"props":113930,"children":113931},{},[113932,113942,113951,113963,113968],{"type":426,"tag":458,"props":113933,"children":113934},{},[113935,113937],{"type":431,"value":113936},"In WordPress → ",{"type":426,"tag":446,"props":113938,"children":113939},{},[113940],{"type":431,"value":113941},"WooCommerce → Settings → Advanced → REST API",{"type":426,"tag":458,"props":113943,"children":113944},{},[113945,113946],{"type":431,"value":47857},{"type":426,"tag":446,"props":113947,"children":113948},{},[113949],{"type":431,"value":113950},"Add key",{"type":426,"tag":458,"props":113952,"children":113953},{},[113954,113956,113961],{"type":431,"value":113955},"Permissions: ",{"type":426,"tag":446,"props":113957,"children":113958},{},[113959],{"type":431,"value":113960},"Read\u002FWrite",{"type":431,"value":113962}," (required to create coupons)",{"type":426,"tag":458,"props":113964,"children":113965},{},[113966],{"type":431,"value":113967},"Copy the Consumer Key and Consumer Secret",{"type":426,"tag":458,"props":113969,"children":113970},{},[113971],{"type":431,"value":113972},"In n8n: Credentials → WooCommerce → enter store URL + keys",{"type":426,"tag":434,"props":113974,"children":113976},{"id":113975},"step-3-configure-the-coupon-creation-node",[113977],{"type":431,"value":113978},"Step 3: Configure the Coupon Creation Node",{"type":426,"tag":427,"props":113980,"children":113981},{},[113982,113984,113988],{"type":431,"value":113983},"In the ",{"type":426,"tag":446,"props":113985,"children":113986},{},[113987],{"type":431,"value":101954},{"type":431,"value":113989}," node that creates the coupon:",{"type":426,"tag":454,"props":113991,"children":113992},{},[113993,114003,114013,114037,114053,114069,114085,114100],{"type":426,"tag":458,"props":113994,"children":113995},{},[113996,114001],{"type":426,"tag":446,"props":113997,"children":113998},{},[113999],{"type":431,"value":114000},"Resource",{"type":431,"value":114002},": Coupon",{"type":426,"tag":458,"props":114004,"children":114005},{},[114006,114011],{"type":426,"tag":446,"props":114007,"children":114008},{},[114009],{"type":431,"value":114010},"Operation",{"type":431,"value":114012},": Create",{"type":426,"tag":458,"props":114014,"children":114015},{},[114016,114021,114022,114028,114030,114036],{"type":426,"tag":446,"props":114017,"children":114018},{},[114019],{"type":431,"value":114020},"Discount Type",{"type":431,"value":700},{"type":426,"tag":549,"props":114023,"children":114025},{"className":114024},[],[114026],{"type":431,"value":114027},"percent",{"type":431,"value":114029}," (or ",{"type":426,"tag":549,"props":114031,"children":114033},{"className":114032},[],[114034],{"type":431,"value":114035},"fixed_cart",{"type":431,"value":5736},{"type":426,"tag":458,"props":114038,"children":114039},{},[114040,114045,114046,114051],{"type":426,"tag":446,"props":114041,"children":114042},{},[114043],{"type":431,"value":114044},"Coupon Amount",{"type":431,"value":700},{"type":426,"tag":549,"props":114047,"children":114049},{"className":114048},[],[114050],{"type":431,"value":11479},{"type":431,"value":114052}," (10% off)",{"type":426,"tag":458,"props":114054,"children":114055},{},[114056,114061,114062,114067],{"type":426,"tag":446,"props":114057,"children":114058},{},[114059],{"type":431,"value":114060},"Individual Use",{"type":431,"value":700},{"type":426,"tag":549,"props":114063,"children":114065},{"className":114064},[],[114066],{"type":431,"value":48523},{"type":431,"value":114068}," (can't be combined)",{"type":426,"tag":458,"props":114070,"children":114071},{},[114072,114077,114078,114083],{"type":426,"tag":446,"props":114073,"children":114074},{},[114075],{"type":431,"value":114076},"Usage Limit",{"type":431,"value":700},{"type":426,"tag":549,"props":114079,"children":114081},{"className":114080},[],[114082],{"type":431,"value":1921},{"type":431,"value":114084}," (single use)",{"type":426,"tag":458,"props":114086,"children":114087},{},[114088,114093,114094],{"type":426,"tag":446,"props":114089,"children":114090},{},[114091],{"type":431,"value":114092},"Expiry Date",{"type":431,"value":700},{"type":426,"tag":549,"props":114095,"children":114097},{"className":114096},[],[114098],{"type":431,"value":114099},"{{ $now.plus(7, 'days').toFormat('YYYY-MM-DD') }}",{"type":426,"tag":458,"props":114101,"children":114102},{},[114103,114108,114109],{"type":426,"tag":446,"props":114104,"children":114105},{},[114106],{"type":431,"value":114107},"Customer Email Restriction",{"type":431,"value":700},{"type":426,"tag":549,"props":114110,"children":114112},{"className":114111},[],[114113],{"type":431,"value":114114},"{{ $('WooCommerce Trigger').item.json.billing.email }}",{"type":426,"tag":427,"props":114116,"children":114117},{},[114118],{"type":431,"value":114119},"The email restriction ensures the coupon only works for the specific customer.",{"type":426,"tag":427,"props":114121,"children":114122},{},[114123],{"type":426,"tag":446,"props":114124,"children":114125},{},[114126],{"type":431,"value":114127},"The WooCommerce Coupons API call (what n8n sends):",{"type":426,"tag":542,"props":114129,"children":114131},{"code":114130,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fyourstore.com\u002Fwp-json\u002Fwc\u002Fv3\u002Fcoupons \\\n  -u \"consumer_key:consumer_secret\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"code\": \"THANK-847291\",\n    \"discount_type\": \"percent\",\n    \"amount\": \"10\",\n    \"individual_use\": true,\n    \"usage_limit\": 1,\n    \"expiry_date\": \"2026-06-20\",\n    \"email_restrictions\": [\"customer@example.com\"]\n  }'\n",[114132],{"type":426,"tag":549,"props":114133,"children":114134},{"__ignoreMap":417},[114135,114159,114176,114191,114202,114210,114218,114226,114234,114242,114250,114258],{"type":426,"tag":553,"props":114136,"children":114137},{"class":555,"line":556},[114138,114142,114146,114150,114155],{"type":426,"tag":553,"props":114139,"children":114140},{"style":560},[114141],{"type":431,"value":563},{"type":426,"tag":553,"props":114143,"children":114144},{"style":566},[114145],{"type":431,"value":569},{"type":426,"tag":553,"props":114147,"children":114148},{"style":572},[114149],{"type":431,"value":575},{"type":426,"tag":553,"props":114151,"children":114152},{"style":572},[114153],{"type":431,"value":114154}," https:\u002F\u002Fyourstore.com\u002Fwp-json\u002Fwc\u002Fv3\u002Fcoupons",{"type":426,"tag":553,"props":114156,"children":114157},{"style":566},[114158],{"type":431,"value":585},{"type":426,"tag":553,"props":114160,"children":114161},{"class":555,"line":588},[114162,114167,114172],{"type":426,"tag":553,"props":114163,"children":114164},{"style":566},[114165],{"type":431,"value":114166},"  -u",{"type":426,"tag":553,"props":114168,"children":114169},{"style":572},[114170],{"type":431,"value":114171}," \"consumer_key:consumer_secret\"",{"type":426,"tag":553,"props":114173,"children":114174},{"style":566},[114175],{"type":431,"value":585},{"type":426,"tag":553,"props":114177,"children":114178},{"class":555,"line":606},[114179,114183,114187],{"type":426,"tag":553,"props":114180,"children":114181},{"style":566},[114182],{"type":431,"value":594},{"type":426,"tag":553,"props":114184,"children":114185},{"style":572},[114186],{"type":431,"value":616},{"type":426,"tag":553,"props":114188,"children":114189},{"style":566},[114190],{"type":431,"value":585},{"type":426,"tag":553,"props":114192,"children":114193},{"class":555,"line":623},[114194,114198],{"type":426,"tag":553,"props":114195,"children":114196},{"style":566},[114197],{"type":431,"value":629},{"type":426,"tag":553,"props":114199,"children":114200},{"style":572},[114201],{"type":431,"value":634},{"type":426,"tag":553,"props":114203,"children":114204},{"class":555,"line":637},[114205],{"type":426,"tag":553,"props":114206,"children":114207},{"style":572},[114208],{"type":431,"value":114209},"    \"code\": \"THANK-847291\",\n",{"type":426,"tag":553,"props":114211,"children":114212},{"class":555,"line":646},[114213],{"type":426,"tag":553,"props":114214,"children":114215},{"style":572},[114216],{"type":431,"value":114217},"    \"discount_type\": \"percent\",\n",{"type":426,"tag":553,"props":114219,"children":114220},{"class":555,"line":655},[114221],{"type":426,"tag":553,"props":114222,"children":114223},{"style":572},[114224],{"type":431,"value":114225},"    \"amount\": \"10\",\n",{"type":426,"tag":553,"props":114227,"children":114228},{"class":555,"line":1036},[114229],{"type":426,"tag":553,"props":114230,"children":114231},{"style":572},[114232],{"type":431,"value":114233},"    \"individual_use\": true,\n",{"type":426,"tag":553,"props":114235,"children":114236},{"class":555,"line":1054},[114237],{"type":426,"tag":553,"props":114238,"children":114239},{"style":572},[114240],{"type":431,"value":114241},"    \"usage_limit\": 1,\n",{"type":426,"tag":553,"props":114243,"children":114244},{"class":555,"line":1080},[114245],{"type":426,"tag":553,"props":114246,"children":114247},{"style":572},[114248],{"type":431,"value":114249},"    \"expiry_date\": \"2026-06-20\",\n",{"type":426,"tag":553,"props":114251,"children":114252},{"class":555,"line":1097},[114253],{"type":426,"tag":553,"props":114254,"children":114255},{"style":572},[114256],{"type":431,"value":114257},"    \"email_restrictions\": [\"customer@example.com\"]\n",{"type":426,"tag":553,"props":114259,"children":114260},{"class":555,"line":1114},[114261],{"type":426,"tag":553,"props":114262,"children":114263},{"style":572},[114264],{"type":431,"value":661},{"type":426,"tag":427,"props":114266,"children":114267},{},[114268],{"type":426,"tag":446,"props":114269,"children":114270},{},[114271],{"type":431,"value":114272},"Response (WooCommerce returns the new coupon):",{"type":426,"tag":542,"props":114274,"children":114276},{"code":114275,"language":673,"meta":417,"className":674,"style":417},"{\n  \"id\": 1234,\n  \"code\": \"THANK-847291\",\n  \"amount\": \"10.00\",\n  \"date_expires\": \"2026-06-20T23:59:59\",\n  \"usage_limit\": 1\n}\n",[114277],{"type":426,"tag":549,"props":114278,"children":114279},{"__ignoreMap":417},[114280,114287,114308,114329,114350,114371,114388],{"type":426,"tag":553,"props":114281,"children":114282},{"class":555,"line":556},[114283],{"type":426,"tag":553,"props":114284,"children":114285},{"style":684},[114286],{"type":431,"value":687},{"type":426,"tag":553,"props":114288,"children":114289},{"class":555,"line":588},[114290,114295,114299,114304],{"type":426,"tag":553,"props":114291,"children":114292},{"style":566},[114293],{"type":431,"value":114294},"  \"id\"",{"type":426,"tag":553,"props":114296,"children":114297},{"style":684},[114298],{"type":431,"value":700},{"type":426,"tag":553,"props":114300,"children":114301},{"style":566},[114302],{"type":431,"value":114303},"1234",{"type":426,"tag":553,"props":114305,"children":114306},{"style":684},[114307],{"type":431,"value":710},{"type":426,"tag":553,"props":114309,"children":114310},{"class":555,"line":606},[114311,114316,114320,114325],{"type":426,"tag":553,"props":114312,"children":114313},{"style":566},[114314],{"type":431,"value":114315},"  \"code\"",{"type":426,"tag":553,"props":114317,"children":114318},{"style":684},[114319],{"type":431,"value":700},{"type":426,"tag":553,"props":114321,"children":114322},{"style":572},[114323],{"type":431,"value":114324},"\"THANK-847291\"",{"type":426,"tag":553,"props":114326,"children":114327},{"style":684},[114328],{"type":431,"value":710},{"type":426,"tag":553,"props":114330,"children":114331},{"class":555,"line":623},[114332,114337,114341,114346],{"type":426,"tag":553,"props":114333,"children":114334},{"style":566},[114335],{"type":431,"value":114336},"  \"amount\"",{"type":426,"tag":553,"props":114338,"children":114339},{"style":684},[114340],{"type":431,"value":700},{"type":426,"tag":553,"props":114342,"children":114343},{"style":572},[114344],{"type":431,"value":114345},"\"10.00\"",{"type":426,"tag":553,"props":114347,"children":114348},{"style":684},[114349],{"type":431,"value":710},{"type":426,"tag":553,"props":114351,"children":114352},{"class":555,"line":637},[114353,114358,114362,114367],{"type":426,"tag":553,"props":114354,"children":114355},{"style":566},[114356],{"type":431,"value":114357},"  \"date_expires\"",{"type":426,"tag":553,"props":114359,"children":114360},{"style":684},[114361],{"type":431,"value":700},{"type":426,"tag":553,"props":114363,"children":114364},{"style":572},[114365],{"type":431,"value":114366},"\"2026-06-20T23:59:59\"",{"type":426,"tag":553,"props":114368,"children":114369},{"style":684},[114370],{"type":431,"value":710},{"type":426,"tag":553,"props":114372,"children":114373},{"class":555,"line":646},[114374,114379,114383],{"type":426,"tag":553,"props":114375,"children":114376},{"style":566},[114377],{"type":431,"value":114378},"  \"usage_limit\"",{"type":426,"tag":553,"props":114380,"children":114381},{"style":684},[114382],{"type":431,"value":700},{"type":426,"tag":553,"props":114384,"children":114385},{"style":566},[114386],{"type":431,"value":114387},"1\n",{"type":426,"tag":553,"props":114389,"children":114390},{"class":555,"line":655},[114391],{"type":426,"tag":553,"props":114392,"children":114393},{"style":684},[114394],{"type":431,"value":756},{"type":426,"tag":434,"props":114396,"children":114397},{"id":101083},[114398],{"type":431,"value":101086},{"type":426,"tag":427,"props":114400,"children":114401},{},[114402],{"type":431,"value":114403},"Find the HTTP Request node \"Send WhatsApp Coupon\":",{"type":426,"tag":454,"props":114405,"children":114406},{},[114407,114415,114428,114441],{"type":426,"tag":458,"props":114408,"children":114409},{},[114410,114414],{"type":426,"tag":446,"props":114411,"children":114412},{},[114413],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":114416,"children":114417},{},[114418,114422,114423],{"type":426,"tag":446,"props":114419,"children":114420},{},[114421],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":114424,"children":114426},{"className":114425},[],[114427],{"type":431,"value":48098},{"type":426,"tag":458,"props":114429,"children":114430},{},[114431,114435,114436],{"type":426,"tag":446,"props":114432,"children":114433},{},[114434],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":114437,"children":114439},{"className":114438},[],[114440],{"type":431,"value":48113},{"type":426,"tag":458,"props":114442,"children":114443},{},[114444,114448],{"type":426,"tag":446,"props":114445,"children":114446},{},[114447],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":114450,"children":114452},{"code":114451,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $('WooCommerce Trigger').item.json.billing.phone }}\",\n  \"message\": \"={{ $json.coupon_message }}\"\n}\n",[114453],{"type":426,"tag":549,"props":114454,"children":114455},{"__ignoreMap":417},[114456,114463,114483,114499],{"type":426,"tag":553,"props":114457,"children":114458},{"class":555,"line":556},[114459],{"type":426,"tag":553,"props":114460,"children":114461},{"style":684},[114462],{"type":431,"value":687},{"type":426,"tag":553,"props":114464,"children":114465},{"class":555,"line":588},[114466,114470,114474,114479],{"type":426,"tag":553,"props":114467,"children":114468},{"style":566},[114469],{"type":431,"value":7277},{"type":426,"tag":553,"props":114471,"children":114472},{"style":684},[114473],{"type":431,"value":700},{"type":426,"tag":553,"props":114475,"children":114476},{"style":572},[114477],{"type":431,"value":114478},"\"={{ $('WooCommerce Trigger').item.json.billing.phone }}\"",{"type":426,"tag":553,"props":114480,"children":114481},{"style":684},[114482],{"type":431,"value":710},{"type":426,"tag":553,"props":114484,"children":114485},{"class":555,"line":606},[114486,114490,114494],{"type":426,"tag":553,"props":114487,"children":114488},{"style":566},[114489],{"type":431,"value":7298},{"type":426,"tag":553,"props":114491,"children":114492},{"style":684},[114493],{"type":431,"value":700},{"type":426,"tag":553,"props":114495,"children":114496},{"style":572},[114497],{"type":431,"value":114498},"\"={{ $json.coupon_message }}\"\n",{"type":426,"tag":553,"props":114500,"children":114501},{"class":555,"line":623},[114502],{"type":426,"tag":553,"props":114503,"children":114504},{"style":684},[114505],{"type":431,"value":756},{"type":426,"tag":427,"props":114507,"children":114508},{},[114509],{"type":426,"tag":446,"props":114510,"children":114511},{},[114512],{"type":431,"value":30402},{"type":426,"tag":542,"props":114514,"children":114516},{"code":114515,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! 🎉 Thank you for your order!\\n\\nHere is a special 10% discount for your next purchase:\\n\\n*THANK-847291*\\n\\nValid until June 20, 2026. Use at checkout:\\nhttps:\u002F\u002Fyourstore.com\u002Fshop\"\n  }'\n",[114517],{"type":426,"tag":549,"props":114518,"children":114519},{"__ignoreMap":417},[114520,114543,114558,114573,114584,114591,114599],{"type":426,"tag":553,"props":114521,"children":114522},{"class":555,"line":556},[114523,114527,114531,114535,114539],{"type":426,"tag":553,"props":114524,"children":114525},{"style":560},[114526],{"type":431,"value":563},{"type":426,"tag":553,"props":114528,"children":114529},{"style":566},[114530],{"type":431,"value":569},{"type":426,"tag":553,"props":114532,"children":114533},{"style":572},[114534],{"type":431,"value":575},{"type":426,"tag":553,"props":114536,"children":114537},{"style":572},[114538],{"type":431,"value":580},{"type":426,"tag":553,"props":114540,"children":114541},{"style":566},[114542],{"type":431,"value":585},{"type":426,"tag":553,"props":114544,"children":114545},{"class":555,"line":588},[114546,114550,114554],{"type":426,"tag":553,"props":114547,"children":114548},{"style":566},[114549],{"type":431,"value":594},{"type":426,"tag":553,"props":114551,"children":114552},{"style":572},[114553],{"type":431,"value":599},{"type":426,"tag":553,"props":114555,"children":114556},{"style":566},[114557],{"type":431,"value":585},{"type":426,"tag":553,"props":114559,"children":114560},{"class":555,"line":606},[114561,114565,114569],{"type":426,"tag":553,"props":114562,"children":114563},{"style":566},[114564],{"type":431,"value":594},{"type":426,"tag":553,"props":114566,"children":114567},{"style":572},[114568],{"type":431,"value":616},{"type":426,"tag":553,"props":114570,"children":114571},{"style":566},[114572],{"type":431,"value":585},{"type":426,"tag":553,"props":114574,"children":114575},{"class":555,"line":623},[114576,114580],{"type":426,"tag":553,"props":114577,"children":114578},{"style":566},[114579],{"type":431,"value":629},{"type":426,"tag":553,"props":114581,"children":114582},{"style":572},[114583],{"type":431,"value":634},{"type":426,"tag":553,"props":114585,"children":114586},{"class":555,"line":637},[114587],{"type":426,"tag":553,"props":114588,"children":114589},{"style":572},[114590],{"type":431,"value":643},{"type":426,"tag":553,"props":114592,"children":114593},{"class":555,"line":646},[114594],{"type":426,"tag":553,"props":114595,"children":114596},{"style":572},[114597],{"type":431,"value":114598},"    \"message\": \"Hi Sarah! 🎉 Thank you for your order!\\n\\nHere is a special 10% discount for your next purchase:\\n\\n*THANK-847291*\\n\\nValid until June 20, 2026. Use at checkout:\\nhttps:\u002F\u002Fyourstore.com\u002Fshop\"\n",{"type":426,"tag":553,"props":114600,"children":114601},{"class":555,"line":655},[114602],{"type":426,"tag":553,"props":114603,"children":114604},{"style":572},[114605],{"type":431,"value":661},{"type":426,"tag":427,"props":114607,"children":114608},{},[114609],{"type":426,"tag":446,"props":114610,"children":114611},{},[114612],{"type":431,"value":669},{"type":426,"tag":542,"props":114614,"children":114616},{"code":114615,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_coupon123\",\n  \"timestamp\": \"2026-06-13T10:30:00Z\"\n}\n",[114617],{"type":426,"tag":549,"props":114618,"children":114619},{"__ignoreMap":417},[114620,114627,114646,114666,114682],{"type":426,"tag":553,"props":114621,"children":114622},{"class":555,"line":556},[114623],{"type":426,"tag":553,"props":114624,"children":114625},{"style":684},[114626],{"type":431,"value":687},{"type":426,"tag":553,"props":114628,"children":114629},{"class":555,"line":588},[114630,114634,114638,114642],{"type":426,"tag":553,"props":114631,"children":114632},{"style":566},[114633],{"type":431,"value":695},{"type":426,"tag":553,"props":114635,"children":114636},{"style":684},[114637],{"type":431,"value":700},{"type":426,"tag":553,"props":114639,"children":114640},{"style":572},[114641],{"type":431,"value":705},{"type":426,"tag":553,"props":114643,"children":114644},{"style":684},[114645],{"type":431,"value":710},{"type":426,"tag":553,"props":114647,"children":114648},{"class":555,"line":606},[114649,114653,114657,114662],{"type":426,"tag":553,"props":114650,"children":114651},{"style":566},[114652],{"type":431,"value":718},{"type":426,"tag":553,"props":114654,"children":114655},{"style":684},[114656],{"type":431,"value":700},{"type":426,"tag":553,"props":114658,"children":114659},{"style":572},[114660],{"type":431,"value":114661},"\"msg_coupon123\"",{"type":426,"tag":553,"props":114663,"children":114664},{"style":684},[114665],{"type":431,"value":710},{"type":426,"tag":553,"props":114667,"children":114668},{"class":555,"line":623},[114669,114673,114677],{"type":426,"tag":553,"props":114670,"children":114671},{"style":566},[114672],{"type":431,"value":739},{"type":426,"tag":553,"props":114674,"children":114675},{"style":684},[114676],{"type":431,"value":700},{"type":426,"tag":553,"props":114678,"children":114679},{"style":572},[114680],{"type":431,"value":114681},"\"2026-06-13T10:30:00Z\"\n",{"type":426,"tag":553,"props":114683,"children":114684},{"class":555,"line":637},[114685],{"type":426,"tag":553,"props":114686,"children":114687},{"style":684},[114688],{"type":431,"value":756},{"type":426,"tag":434,"props":114690,"children":114692},{"id":114691},"step-5-customize-the-coupon-message",[114693],{"type":431,"value":114694},"Step 5: Customize the Coupon Message",{"type":426,"tag":427,"props":114696,"children":114697},{},[114698,114700,114704],{"type":431,"value":114699},"Edit the message in the ",{"type":426,"tag":446,"props":114701,"children":114702},{},[114703],{"type":431,"value":60378},{"type":431,"value":55423},{"type":426,"tag":542,"props":114706,"children":114708},{"code":114707},"Hi {{ $json.customer_first_name }}! 🎉\n\nThank you for your order #{{ $json.order_id }}!\n\nAs a thank you, here is a *10% discount* for your next purchase:\n\n🎟️ *{{ $json.coupon_code }}*\n\n✅ Valid until: {{ $json.expiry_date }}\n✅ Single use — only for you\n✅ Apply at checkout\n\nShop now: {{ $json.store_url }}\n",[114709],{"type":426,"tag":549,"props":114710,"children":114711},{"__ignoreMap":417},[114712],{"type":431,"value":114707},{"type":426,"tag":427,"props":114714,"children":114715},{},[114716],{"type":426,"tag":446,"props":114717,"children":114718},{},[114719],{"type":431,"value":114720},"Tips for high-converting coupon messages:",{"type":426,"tag":454,"props":114722,"children":114723},{},[114724,114737,114742,114747],{"type":426,"tag":458,"props":114725,"children":114726},{},[114727,114729,114735],{"type":431,"value":114728},"Bold the coupon code (WhatsApp renders ",{"type":426,"tag":549,"props":114730,"children":114732},{"className":114731},[],[114733],{"type":431,"value":114734},"*CODE*",{"type":431,"value":114736}," as bold)",{"type":426,"tag":458,"props":114738,"children":114739},{},[114740],{"type":431,"value":114741},"Show the expiry date to create urgency",{"type":426,"tag":458,"props":114743,"children":114744},{},[114745],{"type":431,"value":114746},"Clarify it's a single-use code (sets expectations)",{"type":426,"tag":458,"props":114748,"children":114749},{},[114750],{"type":431,"value":114751},"Keep the message under 300 characters",{"type":426,"tag":434,"props":114753,"children":114755},{"id":114754},"step-6-add-a-timing-delay-optional-but-recommended",[114756],{"type":431,"value":114757},"Step 6: Add a Timing Delay (Optional but Recommended)",{"type":426,"tag":427,"props":114759,"children":114760},{},[114761],{"type":431,"value":114762},"Send the coupon 1–3 days after the order to avoid feeling spammy:",{"type":426,"tag":6331,"props":114764,"children":114765},{},[114766,114801],{"type":426,"tag":458,"props":114767,"children":114768},{},[114769,114770,114775,114777,114782,114783,114788,114789,114794,114795],{"type":431,"value":60194},{"type":426,"tag":446,"props":114771,"children":114772},{},[114773],{"type":431,"value":114774},"Wait",{"type":431,"value":114776}," node: ",{"type":426,"tag":446,"props":114778,"children":114779},{},[114780],{"type":431,"value":114781},"Amount",{"type":431,"value":700},{"type":426,"tag":549,"props":114784,"children":114786},{"className":114785},[],[114787],{"type":431,"value":1921},{"type":431,"value":1907},{"type":426,"tag":446,"props":114790,"children":114791},{},[114792],{"type":431,"value":114793},"Unit",{"type":431,"value":700},{"type":426,"tag":549,"props":114796,"children":114798},{"className":114797},[],[114799],{"type":431,"value":114800},"Days",{"type":426,"tag":458,"props":114802,"children":114803},{},[114804],{"type":431,"value":114805},"Place it between the WooCommerce Trigger and the Coupon Creation node",{"type":426,"tag":434,"props":114807,"children":114808},{"id":18886},[114809],{"type":431,"value":18889},{"type":426,"tag":454,"props":114811,"children":114812},{},[114813,114829,114839,114854],{"type":426,"tag":458,"props":114814,"children":114815},{},[114816,114821,114823,114827],{"type":426,"tag":446,"props":114817,"children":114818},{},[114819],{"type":431,"value":114820},"403 Forbidden on coupon creation",{"type":431,"value":114822},": Your WooCommerce API key needs ",{"type":426,"tag":446,"props":114824,"children":114825},{},[114826],{"type":431,"value":113960},{"type":431,"value":114828}," permission. Recreate the key with write access.",{"type":426,"tag":458,"props":114830,"children":114831},{},[114832,114837],{"type":426,"tag":446,"props":114833,"children":114834},{},[114835],{"type":431,"value":114836},"Coupon code already exists",{"type":431,"value":114838},": The workflow generates a random code — very unlikely to collide, but add error handling to retry with a new code if creation fails",{"type":426,"tag":458,"props":114840,"children":114841},{},[114842,114847,114849],{"type":426,"tag":446,"props":114843,"children":114844},{},[114845],{"type":431,"value":114846},"Phone number missing from order",{"type":431,"value":114848},": Make checkout phone mandatory in ",{"type":426,"tag":446,"props":114850,"children":114851},{},[114852],{"type":431,"value":114853},"WooCommerce → Settings → Accounts & Privacy → Billing phone → Required",{"type":426,"tag":458,"props":114855,"children":114856},{},[114857,114861],{"type":426,"tag":446,"props":114858,"children":114859},{},[114860],{"type":431,"value":26117},{"type":431,"value":66557},{"type":426,"tag":434,"props":114863,"children":114864},{"id":4109},[114865],{"type":431,"value":4112},{"type":426,"tag":427,"props":114867,"children":114868},{},[114869,114874],{"type":426,"tag":446,"props":114870,"children":114871},{},[114872],{"type":431,"value":114873},"Does Rapiwa charge per coupon message?",{"type":431,"value":114875},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees — send unlimited coupon notifications.",{"type":426,"tag":427,"props":114877,"children":114878},{},[114879,114884],{"type":426,"tag":446,"props":114880,"children":114881},{},[114882],{"type":431,"value":114883},"Can I send coupons for specific product categories only?",{"type":431,"value":114885},"\nYes. Add an IF node in n8n to check the product category from the WooCommerce order line items, and only create\u002Fsend a coupon if the purchased category matches your target.",{"type":426,"tag":427,"props":114887,"children":114888},{},[114889,114894],{"type":426,"tag":446,"props":114890,"children":114891},{},[114892],{"type":431,"value":114893},"What if the customer doesn't have WhatsApp?",{"type":431,"value":114895},"\nAdd a fallback email notification using n8n's email node if the WhatsApp send fails (non-WhatsApp numbers return an error).",{"type":426,"tag":427,"props":114897,"children":114898},{},[114899,114904,114906,114912],{"type":426,"tag":446,"props":114900,"children":114901},{},[114902],{"type":431,"value":114903},"Can I limit coupon sends to customers who spent over a threshold?",{"type":431,"value":114905},"\nYes. Add an IF node: ",{"type":426,"tag":549,"props":114907,"children":114909},{"className":114908},[],[114910],{"type":431,"value":114911},"order_total > 50",{"type":431,"value":114913}," → send coupon; else → skip. This ensures you only reward higher-value customers.",{"type":426,"tag":427,"props":114915,"children":114916},{},[114917,114922,114924,114930],{"type":426,"tag":446,"props":114918,"children":114919},{},[114920],{"type":431,"value":114921},"How do I track coupon redemption?",{"type":431,"value":114923},"\nWooCommerce records coupon usage in the Orders section. You can also set up a WooCommerce webhook on ",{"type":426,"tag":549,"props":114925,"children":114927},{"className":114926},[],[114928],{"type":431,"value":114929},"coupon.applied",{"type":431,"value":114931}," to trigger an n8n notification when a coupon is used.",{"type":426,"tag":4164,"props":114933,"children":114934},{},[114935],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":114937},[114938,114939,114940,114941,114942,114943,114944,114945,114946,114947],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":100634,"depth":588,"text":100637},{"id":113913,"depth":588,"text":113916},{"id":113975,"depth":588,"text":113978},{"id":101083,"depth":588,"text":101086},{"id":114691,"depth":588,"text":114694},{"id":114754,"depth":588,"text":114757},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:woocommerce-discount-coupon-whatsapp-n8n-rapiwa.md","blog\u002Fwoocommerce-discount-coupon-whatsapp-n8n-rapiwa.md","blog\u002Fwoocommerce-discount-coupon-whatsapp-n8n-rapiwa",{"loc":153},{"_path":157,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":158,"description":159,"date":114953,"author":6858,"category":22,"_slug":114954,"image":114955,"body":114956,"_type":4187,"_id":118005,"_source":4189,"_file":118006,"_stem":118007,"_extension":4192,"sitemap":118008},"2026-02-13","schedule-whatsapp-messages-api-rapiwa","\u002Fimages\u002Fblog\u002Fschedule-whatsapp-messages-api-rapiwa.svg",{"type":423,"children":114957,"toc":117988},[114958,114970,114976,114981,115033,115037,115064,115070,115075,115083,115088,115121,115127,115446,115452,115456,116004,116008,116439,116445,116450,116456,117356,117366,117452,117462,117529,117535,117540,117591,117596,117602,117607,117861,117865,117922,117926,117936,117954,117964,117974,117984],{"type":426,"tag":427,"props":114959,"children":114960},{},[114961,114963,114968],{"type":431,"value":114962},"You can schedule WhatsApp messages with Rapiwa by storing message jobs in a queue or database and calling ",{"type":426,"tag":549,"props":114964,"children":114966},{"className":114965},[],[114967],{"type":431,"value":48098},{"type":431,"value":114969}," at the scheduled time using a cron job or task scheduler. Rapiwa's API itself is a real-time send endpoint — scheduling is handled in your application layer. At $5\u002Fmonth flat with no per-message fees, you can schedule unlimited messages.",{"type":426,"tag":434,"props":114971,"children":114973},{"id":114972},"what-is-whatsapp-message-scheduling",[114974],{"type":431,"value":114975},"What Is WhatsApp Message Scheduling?",{"type":426,"tag":427,"props":114977,"children":114978},{},[114979],{"type":431,"value":114980},"WhatsApp message scheduling means sending a WhatsApp message at a predetermined future time rather than immediately. Common use cases include:",{"type":426,"tag":454,"props":114982,"children":114983},{},[114984,114993,115003,115013,115023],{"type":426,"tag":458,"props":114985,"children":114986},{},[114987,114991],{"type":426,"tag":446,"props":114988,"children":114989},{},[114990],{"type":431,"value":104630},{"type":431,"value":114992}," — send 24 hours before a scheduled appointment",{"type":426,"tag":458,"props":114994,"children":114995},{},[114996,115001],{"type":426,"tag":446,"props":114997,"children":114998},{},[114999],{"type":431,"value":115000},"Flash sale announcements",{"type":431,"value":115002}," — send at exactly 9:00 AM on campaign launch day",{"type":426,"tag":458,"props":115004,"children":115005},{},[115006,115011],{"type":426,"tag":446,"props":115007,"children":115008},{},[115009],{"type":431,"value":115010},"Birthday messages",{"type":431,"value":115012}," — send at midnight on the customer's birthday",{"type":426,"tag":458,"props":115014,"children":115015},{},[115016,115021],{"type":426,"tag":446,"props":115017,"children":115018},{},[115019],{"type":431,"value":115020},"Follow-up sequences",{"type":431,"value":115022}," — send Day 1, Day 3, Day 7 messages after a purchase",{"type":426,"tag":458,"props":115024,"children":115025},{},[115026,115031],{"type":426,"tag":446,"props":115027,"children":115028},{},[115029],{"type":431,"value":115030},"Time zone delivery",{"type":431,"value":115032}," — schedule messages to arrive during business hours in the recipient's timezone",{"type":426,"tag":434,"props":115034,"children":115035},{"id":47624},[115036],{"type":431,"value":47627},{"type":426,"tag":454,"props":115038,"children":115039},{},[115040,115050,115054,115059],{"type":426,"tag":458,"props":115041,"children":115042},{},[115043,115044,115049],{"type":431,"value":48828},{"type":426,"tag":3819,"props":115045,"children":115047},{"href":3821,"rel":115046},[3823],[115048],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":115051,"children":115052},{},[115053],{"type":431,"value":48840},{"type":426,"tag":458,"props":115055,"children":115056},{},[115057],{"type":431,"value":115058},"A server or cloud environment to run cron jobs (AWS Lambda, Google Cloud Functions, or a VPS)",{"type":426,"tag":458,"props":115060,"children":115061},{},[115062],{"type":431,"value":115063},"A database to store scheduled messages (PostgreSQL, MySQL, SQLite, or Redis)",{"type":426,"tag":434,"props":115065,"children":115067},{"id":115066},"architecture-how-message-scheduling-works",[115068],{"type":431,"value":115069},"Architecture: How Message Scheduling Works",{"type":426,"tag":427,"props":115071,"children":115072},{},[115073],{"type":431,"value":115074},"The recommended pattern:",{"type":426,"tag":542,"props":115076,"children":115078},{"code":115077},"[Application] → Stores job in database → [Cron Job\u002FScheduler runs every minute] → Queries for due messages → Calls Rapiwa API → Marks as sent\n",[115079],{"type":426,"tag":549,"props":115080,"children":115081},{"__ignoreMap":417},[115082],{"type":431,"value":115077},{"type":426,"tag":427,"props":115084,"children":115085},{},[115086],{"type":431,"value":115087},"This approach is:",{"type":426,"tag":454,"props":115089,"children":115090},{},[115091,115101,115111],{"type":426,"tag":458,"props":115092,"children":115093},{},[115094,115099],{"type":426,"tag":446,"props":115095,"children":115096},{},[115097],{"type":431,"value":115098},"Reliable",{"type":431,"value":115100},": Survives server restarts (messages in DB survive)",{"type":426,"tag":458,"props":115102,"children":115103},{},[115104,115109],{"type":426,"tag":446,"props":115105,"children":115106},{},[115107],{"type":431,"value":115108},"Scalable",{"type":431,"value":115110},": Can handle thousands of scheduled messages",{"type":426,"tag":458,"props":115112,"children":115113},{},[115114,115119],{"type":426,"tag":446,"props":115115,"children":115116},{},[115117],{"type":431,"value":115118},"Observable",{"type":431,"value":115120},": Full audit trail in the database",{"type":426,"tag":434,"props":115122,"children":115124},{"id":115123},"step-1-create-the-scheduled-messages-database-table",[115125],{"type":431,"value":115126},"Step 1: Create the Scheduled Messages Database Table",{"type":426,"tag":542,"props":115128,"children":115130},{"code":115129,"language":11020,"meta":417,"className":11021,"style":417},"CREATE TABLE scheduled_messages (\n    id SERIAL PRIMARY KEY,\n    phone_number VARCHAR(20) NOT NULL,\n    message TEXT NOT NULL,\n    scheduled_at TIMESTAMP NOT NULL,\n    status VARCHAR(20) DEFAULT 'pending',  -- pending, sent, failed\n    message_id VARCHAR(100),               -- Rapiwa messageId on success\n    error_message TEXT,\n    created_at TIMESTAMP DEFAULT NOW(),\n    sent_at TIMESTAMP\n);\n\nCREATE INDEX idx_scheduled_messages_status_time \nON scheduled_messages(status, scheduled_at)\nWHERE status = 'pending';\n",[115131],{"type":426,"tag":549,"props":115132,"children":115133},{"__ignoreMap":417},[115134,115154,115173,115205,115224,115244,115284,115313,115330,115353,115366,115373,115380,115400,115422],{"type":426,"tag":553,"props":115135,"children":115136},{"class":555,"line":556},[115137,115141,115145,115150],{"type":426,"tag":553,"props":115138,"children":115139},{"style":795},[115140],{"type":431,"value":11041},{"type":426,"tag":553,"props":115142,"children":115143},{"style":795},[115144],{"type":431,"value":11046},{"type":426,"tag":553,"props":115146,"children":115147},{"style":560},[115148],{"type":431,"value":115149}," scheduled_messages",{"type":426,"tag":553,"props":115151,"children":115152},{"style":684},[115153],{"type":431,"value":1207},{"type":426,"tag":553,"props":115155,"children":115156},{"class":555,"line":588},[115157,115161,115165,115169],{"type":426,"tag":553,"props":115158,"children":115159},{"style":684},[115160],{"type":431,"value":11422},{"type":426,"tag":553,"props":115162,"children":115163},{"style":795},[115164],{"type":431,"value":26337},{"type":426,"tag":553,"props":115166,"children":115167},{"style":795},[115168],{"type":431,"value":11432},{"type":426,"tag":553,"props":115170,"children":115171},{"style":684},[115172],{"type":431,"value":710},{"type":426,"tag":553,"props":115174,"children":115175},{"class":555,"line":606},[115176,115181,115185,115189,115193,115197,115201],{"type":426,"tag":553,"props":115177,"children":115178},{"style":684},[115179],{"type":431,"value":115180},"    phone_number ",{"type":426,"tag":553,"props":115182,"children":115183},{"style":795},[115184],{"type":431,"value":11091},{"type":426,"tag":553,"props":115186,"children":115187},{"style":684},[115188],{"type":431,"value":3275},{"type":426,"tag":553,"props":115190,"children":115191},{"style":566},[115192],{"type":431,"value":11202},{"type":426,"tag":553,"props":115194,"children":115195},{"style":684},[115196],{"type":431,"value":2987},{"type":426,"tag":553,"props":115198,"children":115199},{"style":795},[115200],{"type":431,"value":11108},{"type":426,"tag":553,"props":115202,"children":115203},{"style":684},[115204],{"type":431,"value":710},{"type":426,"tag":553,"props":115206,"children":115207},{"class":555,"line":623},[115208,115212,115216,115220],{"type":426,"tag":553,"props":115209,"children":115210},{"style":795},[115211],{"type":431,"value":3163},{"type":426,"tag":553,"props":115213,"children":115214},{"style":795},[115215],{"type":431,"value":26852},{"type":426,"tag":553,"props":115217,"children":115218},{"style":795},[115219],{"type":431,"value":26378},{"type":426,"tag":553,"props":115221,"children":115222},{"style":684},[115223],{"type":431,"value":710},{"type":426,"tag":553,"props":115225,"children":115226},{"class":555,"line":637},[115227,115232,115236,115240],{"type":426,"tag":553,"props":115228,"children":115229},{"style":684},[115230],{"type":431,"value":115231},"    scheduled_at ",{"type":426,"tag":553,"props":115233,"children":115234},{"style":795},[115235],{"type":431,"value":11335},{"type":426,"tag":553,"props":115237,"children":115238},{"style":795},[115239],{"type":431,"value":26378},{"type":426,"tag":553,"props":115241,"children":115242},{"style":684},[115243],{"type":431,"value":710},{"type":426,"tag":553,"props":115245,"children":115246},{"class":555,"line":646},[115247,115251,115255,115259,115263,115267,115271,115275,115279],{"type":426,"tag":553,"props":115248,"children":115249},{"style":795},[115250],{"type":431,"value":11623},{"type":426,"tag":553,"props":115252,"children":115253},{"style":795},[115254],{"type":431,"value":11628},{"type":426,"tag":553,"props":115256,"children":115257},{"style":684},[115258],{"type":431,"value":3275},{"type":426,"tag":553,"props":115260,"children":115261},{"style":566},[115262],{"type":431,"value":11202},{"type":426,"tag":553,"props":115264,"children":115265},{"style":684},[115266],{"type":431,"value":2987},{"type":426,"tag":553,"props":115268,"children":115269},{"style":795},[115270],{"type":431,"value":11142},{"type":426,"tag":553,"props":115272,"children":115273},{"style":572},[115274],{"type":431,"value":11649},{"type":426,"tag":553,"props":115276,"children":115277},{"style":684},[115278],{"type":431,"value":11654},{"type":426,"tag":553,"props":115280,"children":115281},{"style":1975},[115282],{"type":431,"value":115283},"-- pending, sent, failed\n",{"type":426,"tag":553,"props":115285,"children":115286},{"class":555,"line":655},[115287,115291,115295,115299,115303,115308],{"type":426,"tag":553,"props":115288,"children":115289},{"style":684},[115290],{"type":431,"value":8302},{"type":426,"tag":553,"props":115292,"children":115293},{"style":795},[115294],{"type":431,"value":11091},{"type":426,"tag":553,"props":115296,"children":115297},{"style":684},[115298],{"type":431,"value":3275},{"type":426,"tag":553,"props":115300,"children":115301},{"style":566},[115302],{"type":431,"value":11264},{"type":426,"tag":553,"props":115304,"children":115305},{"style":684},[115306],{"type":431,"value":115307},"),               ",{"type":426,"tag":553,"props":115309,"children":115310},{"style":1975},[115311],{"type":431,"value":115312},"-- Rapiwa messageId on success\n",{"type":426,"tag":553,"props":115314,"children":115315},{"class":555,"line":1036},[115316,115321,115326],{"type":426,"tag":553,"props":115317,"children":115318},{"style":684},[115319],{"type":431,"value":115320},"    error_message ",{"type":426,"tag":553,"props":115322,"children":115323},{"style":795},[115324],{"type":431,"value":115325},"TEXT",{"type":426,"tag":553,"props":115327,"children":115328},{"style":684},[115329],{"type":431,"value":710},{"type":426,"tag":553,"props":115331,"children":115332},{"class":555,"line":1054},[115333,115337,115341,115345,115349],{"type":426,"tag":553,"props":115334,"children":115335},{"style":684},[115336],{"type":431,"value":11330},{"type":426,"tag":553,"props":115338,"children":115339},{"style":795},[115340],{"type":431,"value":11335},{"type":426,"tag":553,"props":115342,"children":115343},{"style":795},[115344],{"type":431,"value":11073},{"type":426,"tag":553,"props":115346,"children":115347},{"style":795},[115348],{"type":431,"value":11344},{"type":426,"tag":553,"props":115350,"children":115351},{"style":684},[115352],{"type":431,"value":11349},{"type":426,"tag":553,"props":115354,"children":115355},{"class":555,"line":1080},[115356,115361],{"type":426,"tag":553,"props":115357,"children":115358},{"style":684},[115359],{"type":431,"value":115360},"    sent_at ",{"type":426,"tag":553,"props":115362,"children":115363},{"style":795},[115364],{"type":431,"value":115365},"TIMESTAMP\n",{"type":426,"tag":553,"props":115367,"children":115368},{"class":555,"line":1097},[115369],{"type":426,"tag":553,"props":115370,"children":115371},{"style":684},[115372],{"type":431,"value":11379},{"type":426,"tag":553,"props":115374,"children":115375},{"class":555,"line":1114},[115376],{"type":426,"tag":553,"props":115377,"children":115378},{"emptyLinePlaceholder":831},[115379],{"type":431,"value":834},{"type":426,"tag":553,"props":115381,"children":115382},{"class":555,"line":1127},[115383,115387,115391,115396],{"type":426,"tag":553,"props":115384,"children":115385},{"style":795},[115386],{"type":431,"value":11041},{"type":426,"tag":553,"props":115388,"children":115389},{"style":795},[115390],{"type":431,"value":11717},{"type":426,"tag":553,"props":115392,"children":115393},{"style":560},[115394],{"type":431,"value":115395}," idx_scheduled_messages_status_time",{"type":426,"tag":553,"props":115397,"children":115398},{"style":684},[115399],{"type":431,"value":25987},{"type":426,"tag":553,"props":115401,"children":115402},{"class":555,"line":1167},[115403,115408,115413,115417],{"type":426,"tag":553,"props":115404,"children":115405},{"style":795},[115406],{"type":431,"value":115407},"ON",{"type":426,"tag":553,"props":115409,"children":115410},{"style":684},[115411],{"type":431,"value":115412}," scheduled_messages(",{"type":426,"tag":553,"props":115414,"children":115415},{"style":795},[115416],{"type":431,"value":67953},{"type":426,"tag":553,"props":115418,"children":115419},{"style":684},[115420],{"type":431,"value":115421},", scheduled_at)\n",{"type":426,"tag":553,"props":115423,"children":115424},{"class":555,"line":1184},[115425,115430,115434,115438,115442],{"type":426,"tag":553,"props":115426,"children":115427},{"style":795},[115428],{"type":431,"value":115429},"WHERE",{"type":426,"tag":553,"props":115431,"children":115432},{"style":795},[115433],{"type":431,"value":105283},{"type":426,"tag":553,"props":115435,"children":115436},{"style":795},[115437],{"type":431,"value":8739},{"type":426,"tag":553,"props":115439,"children":115440},{"style":572},[115441],{"type":431,"value":11649},{"type":426,"tag":553,"props":115443,"children":115444},{"style":684},[115445],{"type":431,"value":52321},{"type":426,"tag":434,"props":115447,"children":115449},{"id":115448},"step-2-schedule-a-message-add-to-queue",[115450],{"type":431,"value":115451},"Step 2: Schedule a Message (Add to Queue)",{"type":426,"tag":515,"props":115453,"children":115454},{"id":784},[115455],{"type":431,"value":78773},{"type":426,"tag":542,"props":115457,"children":115459},{"code":115458,"language":784,"meta":417,"className":785,"style":417},"import psycopg2\nfrom datetime import datetime, timezone\n\ndef schedule_whatsapp_message(phone: str, message: str, send_at: datetime):\n    \"\"\"Add a message to the scheduling queue.\"\"\"\n    conn = psycopg2.connect(\"postgresql:\u002F\u002Fuser:pass@localhost\u002Fmydb\")\n    cursor = conn.cursor()\n    \n    cursor.execute(\n        \"\"\"\n        INSERT INTO scheduled_messages (phone_number, message, scheduled_at)\n        VALUES (%s, %s, %s)\n        RETURNING id\n        \"\"\",\n        (phone, message, send_at)\n    )\n    \n    job_id = cursor.fetchone()[0]\n    conn.commit()\n    cursor.close()\n    conn.close()\n    \n    return job_id\n\n# Schedule a message for 9:00 AM tomorrow\nfrom datetime import timedelta\ntomorrow_9am = datetime.now().replace(hour=9, minute=0, second=0) + timedelta(days=1)\n\njob_id = schedule_whatsapp_message(\n    phone=\"8801234567890\",\n    message=\"Good morning! Your appointment is today at 2:00 PM. Reply CONFIRM to confirm.\",\n    send_at=tomorrow_9am\n)\nprint(f\"Scheduled message job ID: {job_id}\")\n",[115460],{"type":426,"tag":549,"props":115461,"children":115462},{"__ignoreMap":417},[115463,115474,115494,115501,115534,115542,115566,115581,115588,115596,115603,115611,115642,115650,115661,115669,115676,115683,115708,115715,115722,115729,115736,115748,115755,115763,115783,115876,115883,115900,115919,115939,115956,115963],{"type":426,"tag":553,"props":115464,"children":115465},{"class":555,"line":556},[115466,115470],{"type":426,"tag":553,"props":115467,"children":115468},{"style":795},[115469],{"type":431,"value":798},{"type":426,"tag":553,"props":115471,"children":115472},{"style":684},[115473],{"type":431,"value":11840},{"type":426,"tag":553,"props":115475,"children":115476},{"class":555,"line":588},[115477,115481,115485,115489],{"type":426,"tag":553,"props":115478,"children":115479},{"style":795},[115480],{"type":431,"value":811},{"type":426,"tag":553,"props":115482,"children":115483},{"style":684},[115484],{"type":431,"value":816},{"type":426,"tag":553,"props":115486,"children":115487},{"style":795},[115488],{"type":431,"value":798},{"type":426,"tag":553,"props":115490,"children":115491},{"style":684},[115492],{"type":431,"value":115493}," datetime, timezone\n",{"type":426,"tag":553,"props":115495,"children":115496},{"class":555,"line":606},[115497],{"type":426,"tag":553,"props":115498,"children":115499},{"emptyLinePlaceholder":831},[115500],{"type":431,"value":834},{"type":426,"tag":553,"props":115502,"children":115503},{"class":555,"line":623},[115504,115508,115513,115517,115521,115525,115529],{"type":426,"tag":553,"props":115505,"children":115506},{"style":795},[115507],{"type":431,"value":842},{"type":426,"tag":553,"props":115509,"children":115510},{"style":560},[115511],{"type":431,"value":115512}," schedule_whatsapp_message",{"type":426,"tag":553,"props":115514,"children":115515},{"style":684},[115516],{"type":431,"value":7446},{"type":426,"tag":553,"props":115518,"children":115519},{"style":566},[115520],{"type":431,"value":895},{"type":426,"tag":553,"props":115522,"children":115523},{"style":684},[115524],{"type":431,"value":8713},{"type":426,"tag":553,"props":115526,"children":115527},{"style":566},[115528],{"type":431,"value":895},{"type":426,"tag":553,"props":115530,"children":115531},{"style":684},[115532],{"type":431,"value":115533},", send_at: datetime):\n",{"type":426,"tag":553,"props":115535,"children":115536},{"class":555,"line":637},[115537],{"type":426,"tag":553,"props":115538,"children":115539},{"style":572},[115540],{"type":431,"value":115541},"    \"\"\"Add a message to the scheduling queue.\"\"\"\n",{"type":426,"tag":553,"props":115543,"children":115544},{"class":555,"line":646},[115545,115549,115553,115557,115562],{"type":426,"tag":553,"props":115546,"children":115547},{"style":684},[115548],{"type":431,"value":25253},{"type":426,"tag":553,"props":115550,"children":115551},{"style":795},[115552],{"type":431,"value":957},{"type":426,"tag":553,"props":115554,"children":115555},{"style":684},[115556],{"type":431,"value":40838},{"type":426,"tag":553,"props":115558,"children":115559},{"style":572},[115560],{"type":431,"value":115561},"\"postgresql:\u002F\u002Fuser:pass@localhost\u002Fmydb\"",{"type":426,"tag":553,"props":115563,"children":115564},{"style":684},[115565],{"type":431,"value":3262},{"type":426,"tag":553,"props":115567,"children":115568},{"class":555,"line":655},[115569,115573,115577],{"type":426,"tag":553,"props":115570,"children":115571},{"style":684},[115572],{"type":431,"value":58065},{"type":426,"tag":553,"props":115574,"children":115575},{"style":795},[115576],{"type":431,"value":957},{"type":426,"tag":553,"props":115578,"children":115579},{"style":684},[115580],{"type":431,"value":58074},{"type":426,"tag":553,"props":115582,"children":115583},{"class":555,"line":1036},[115584],{"type":426,"tag":553,"props":115585,"children":115586},{"style":684},[115587],{"type":431,"value":917},{"type":426,"tag":553,"props":115589,"children":115590},{"class":555,"line":1054},[115591],{"type":426,"tag":553,"props":115592,"children":115593},{"style":684},[115594],{"type":431,"value":115595},"    cursor.execute(\n",{"type":426,"tag":553,"props":115597,"children":115598},{"class":555,"line":1080},[115599],{"type":426,"tag":553,"props":115600,"children":115601},{"style":572},[115602],{"type":431,"value":12270},{"type":426,"tag":553,"props":115604,"children":115605},{"class":555,"line":1097},[115606],{"type":426,"tag":553,"props":115607,"children":115608},{"style":572},[115609],{"type":431,"value":115610},"        INSERT INTO scheduled_messages (phone_number, message, scheduled_at)\n",{"type":426,"tag":553,"props":115612,"children":115613},{"class":555,"line":1114},[115614,115618,115622,115626,115630,115634,115638],{"type":426,"tag":553,"props":115615,"children":115616},{"style":572},[115617],{"type":431,"value":27969},{"type":426,"tag":553,"props":115619,"children":115620},{"style":566},[115621],{"type":431,"value":2143},{"type":426,"tag":553,"props":115623,"children":115624},{"style":572},[115625],{"type":431,"value":1907},{"type":426,"tag":553,"props":115627,"children":115628},{"style":566},[115629],{"type":431,"value":2143},{"type":426,"tag":553,"props":115631,"children":115632},{"style":572},[115633],{"type":431,"value":1907},{"type":426,"tag":553,"props":115635,"children":115636},{"style":566},[115637],{"type":431,"value":2143},{"type":426,"tag":553,"props":115639,"children":115640},{"style":572},[115641],{"type":431,"value":3262},{"type":426,"tag":553,"props":115643,"children":115644},{"class":555,"line":1127},[115645],{"type":426,"tag":553,"props":115646,"children":115647},{"style":572},[115648],{"type":431,"value":115649},"        RETURNING id\n",{"type":426,"tag":553,"props":115651,"children":115652},{"class":555,"line":1167},[115653,115657],{"type":426,"tag":553,"props":115654,"children":115655},{"style":572},[115656],{"type":431,"value":2166},{"type":426,"tag":553,"props":115658,"children":115659},{"style":684},[115660],{"type":431,"value":710},{"type":426,"tag":553,"props":115662,"children":115663},{"class":555,"line":1184},[115664],{"type":426,"tag":553,"props":115665,"children":115666},{"style":684},[115667],{"type":431,"value":115668},"        (phone, message, send_at)\n",{"type":426,"tag":553,"props":115670,"children":115671},{"class":555,"line":1192},[115672],{"type":426,"tag":553,"props":115673,"children":115674},{"style":684},[115675],{"type":431,"value":1642},{"type":426,"tag":553,"props":115677,"children":115678},{"class":555,"line":1210},[115679],{"type":426,"tag":553,"props":115680,"children":115681},{"style":684},[115682],{"type":431,"value":917},{"type":426,"tag":553,"props":115684,"children":115685},{"class":555,"line":1253},[115686,115691,115695,115700,115704],{"type":426,"tag":553,"props":115687,"children":115688},{"style":684},[115689],{"type":431,"value":115690},"    job_id ",{"type":426,"tag":553,"props":115692,"children":115693},{"style":795},[115694],{"type":431,"value":957},{"type":426,"tag":553,"props":115696,"children":115697},{"style":684},[115698],{"type":431,"value":115699}," cursor.fetchone()[",{"type":426,"tag":553,"props":115701,"children":115702},{"style":566},[115703],{"type":431,"value":1930},{"type":426,"tag":553,"props":115705,"children":115706},{"style":684},[115707],{"type":431,"value":16523},{"type":426,"tag":553,"props":115709,"children":115710},{"class":555,"line":1302},[115711],{"type":426,"tag":553,"props":115712,"children":115713},{"style":684},[115714],{"type":431,"value":58839},{"type":426,"tag":553,"props":115716,"children":115717},{"class":555,"line":1374},[115718],{"type":426,"tag":553,"props":115719,"children":115720},{"style":684},[115721],{"type":431,"value":58847},{"type":426,"tag":553,"props":115723,"children":115724},{"class":555,"line":1414},[115725],{"type":426,"tag":553,"props":115726,"children":115727},{"style":684},[115728],{"type":431,"value":25648},{"type":426,"tag":553,"props":115730,"children":115731},{"class":555,"line":1479},[115732],{"type":426,"tag":553,"props":115733,"children":115734},{"style":684},[115735],{"type":431,"value":917},{"type":426,"tag":553,"props":115737,"children":115738},{"class":555,"line":1517},[115739,115743],{"type":426,"tag":553,"props":115740,"children":115741},{"style":795},[115742],{"type":431,"value":1659},{"type":426,"tag":553,"props":115744,"children":115745},{"style":684},[115746],{"type":431,"value":115747}," job_id\n",{"type":426,"tag":553,"props":115749,"children":115750},{"class":555,"line":1560},[115751],{"type":426,"tag":553,"props":115752,"children":115753},{"emptyLinePlaceholder":831},[115754],{"type":431,"value":834},{"type":426,"tag":553,"props":115756,"children":115757},{"class":555,"line":1598},[115758],{"type":426,"tag":553,"props":115759,"children":115760},{"style":1975},[115761],{"type":431,"value":115762},"# Schedule a message for 9:00 AM tomorrow\n",{"type":426,"tag":553,"props":115764,"children":115765},{"class":555,"line":1636},[115766,115770,115774,115778],{"type":426,"tag":553,"props":115767,"children":115768},{"style":795},[115769],{"type":431,"value":811},{"type":426,"tag":553,"props":115771,"children":115772},{"style":684},[115773],{"type":431,"value":816},{"type":426,"tag":553,"props":115775,"children":115776},{"style":795},[115777],{"type":431,"value":798},{"type":426,"tag":553,"props":115779,"children":115780},{"style":684},[115781],{"type":431,"value":115782}," timedelta\n",{"type":426,"tag":553,"props":115784,"children":115785},{"class":555,"line":1645},[115786,115791,115795,115800,115805,115809,115814,115818,115823,115827,115831,115835,115840,115844,115848,115852,115856,115860,115864,115868,115872],{"type":426,"tag":553,"props":115787,"children":115788},{"style":684},[115789],{"type":431,"value":115790},"tomorrow_9am ",{"type":426,"tag":553,"props":115792,"children":115793},{"style":795},[115794],{"type":431,"value":957},{"type":426,"tag":553,"props":115796,"children":115797},{"style":684},[115798],{"type":431,"value":115799}," datetime.now().replace(",{"type":426,"tag":553,"props":115801,"children":115802},{"style":1684},[115803],{"type":431,"value":115804},"hour",{"type":426,"tag":553,"props":115806,"children":115807},{"style":795},[115808],{"type":431,"value":957},{"type":426,"tag":553,"props":115810,"children":115811},{"style":566},[115812],{"type":431,"value":115813},"9",{"type":426,"tag":553,"props":115815,"children":115816},{"style":684},[115817],{"type":431,"value":1907},{"type":426,"tag":553,"props":115819,"children":115820},{"style":1684},[115821],{"type":431,"value":115822},"minute",{"type":426,"tag":553,"props":115824,"children":115825},{"style":795},[115826],{"type":431,"value":957},{"type":426,"tag":553,"props":115828,"children":115829},{"style":566},[115830],{"type":431,"value":1930},{"type":426,"tag":553,"props":115832,"children":115833},{"style":684},[115834],{"type":431,"value":1907},{"type":426,"tag":553,"props":115836,"children":115837},{"style":1684},[115838],{"type":431,"value":115839},"second",{"type":426,"tag":553,"props":115841,"children":115842},{"style":795},[115843],{"type":431,"value":957},{"type":426,"tag":553,"props":115845,"children":115846},{"style":566},[115847],{"type":431,"value":1930},{"type":426,"tag":553,"props":115849,"children":115850},{"style":684},[115851],{"type":431,"value":2987},{"type":426,"tag":553,"props":115853,"children":115854},{"style":795},[115855],{"type":431,"value":2033},{"type":426,"tag":553,"props":115857,"children":115858},{"style":684},[115859],{"type":431,"value":2038},{"type":426,"tag":553,"props":115861,"children":115862},{"style":1684},[115863],{"type":431,"value":2043},{"type":426,"tag":553,"props":115865,"children":115866},{"style":795},[115867],{"type":431,"value":957},{"type":426,"tag":553,"props":115869,"children":115870},{"style":566},[115871],{"type":431,"value":1921},{"type":426,"tag":553,"props":115873,"children":115874},{"style":684},[115875],{"type":431,"value":3262},{"type":426,"tag":553,"props":115877,"children":115878},{"class":555,"line":1653},[115879],{"type":426,"tag":553,"props":115880,"children":115881},{"emptyLinePlaceholder":831},[115882],{"type":431,"value":834},{"type":426,"tag":553,"props":115884,"children":115885},{"class":555,"line":1667},[115886,115891,115895],{"type":426,"tag":553,"props":115887,"children":115888},{"style":684},[115889],{"type":431,"value":115890},"job_id ",{"type":426,"tag":553,"props":115892,"children":115893},{"style":795},[115894],{"type":431,"value":957},{"type":426,"tag":553,"props":115896,"children":115897},{"style":684},[115898],{"type":431,"value":115899}," schedule_whatsapp_message(\n",{"type":426,"tag":553,"props":115901,"children":115902},{"class":555,"line":1680},[115903,115907,115911,115915],{"type":426,"tag":553,"props":115904,"children":115905},{"style":1684},[115906],{"type":431,"value":44046},{"type":426,"tag":553,"props":115908,"children":115909},{"style":795},[115910],{"type":431,"value":957},{"type":426,"tag":553,"props":115912,"children":115913},{"style":572},[115914],{"type":431,"value":7286},{"type":426,"tag":553,"props":115916,"children":115917},{"style":684},[115918],{"type":431,"value":710},{"type":426,"tag":553,"props":115920,"children":115921},{"class":555,"line":1740},[115922,115926,115930,115935],{"type":426,"tag":553,"props":115923,"children":115924},{"style":1684},[115925],{"type":431,"value":3163},{"type":426,"tag":553,"props":115927,"children":115928},{"style":795},[115929],{"type":431,"value":957},{"type":426,"tag":553,"props":115931,"children":115932},{"style":572},[115933],{"type":431,"value":115934},"\"Good morning! Your appointment is today at 2:00 PM. Reply CONFIRM to confirm.\"",{"type":426,"tag":553,"props":115936,"children":115937},{"style":684},[115938],{"type":431,"value":710},{"type":426,"tag":553,"props":115940,"children":115941},{"class":555,"line":1787},[115942,115947,115951],{"type":426,"tag":553,"props":115943,"children":115944},{"style":1684},[115945],{"type":431,"value":115946},"    send_at",{"type":426,"tag":553,"props":115948,"children":115949},{"style":795},[115950],{"type":431,"value":957},{"type":426,"tag":553,"props":115952,"children":115953},{"style":684},[115954],{"type":431,"value":115955},"tomorrow_9am\n",{"type":426,"tag":553,"props":115957,"children":115958},{"class":555,"line":1796},[115959],{"type":426,"tag":553,"props":115960,"children":115961},{"style":684},[115962],{"type":431,"value":3262},{"type":426,"tag":553,"props":115964,"children":115965},{"class":555,"line":1804},[115966,115970,115974,115978,115983,115987,115992,115996,116000],{"type":426,"tag":553,"props":115967,"children":115968},{"style":566},[115969],{"type":431,"value":3270},{"type":426,"tag":553,"props":115971,"children":115972},{"style":684},[115973],{"type":431,"value":3275},{"type":426,"tag":553,"props":115975,"children":115976},{"style":795},[115977],{"type":431,"value":1709},{"type":426,"tag":553,"props":115979,"children":115980},{"style":572},[115981],{"type":431,"value":115982},"\"Scheduled message job ID: ",{"type":426,"tag":553,"props":115984,"children":115985},{"style":566},[115986],{"type":431,"value":972},{"type":426,"tag":553,"props":115988,"children":115989},{"style":684},[115990],{"type":431,"value":115991},"job_id",{"type":426,"tag":553,"props":115993,"children":115994},{"style":566},[115995],{"type":431,"value":982},{"type":426,"tag":553,"props":115997,"children":115998},{"style":572},[115999],{"type":431,"value":1527},{"type":426,"tag":553,"props":116001,"children":116002},{"style":684},[116003],{"type":431,"value":3262},{"type":426,"tag":515,"props":116005,"children":116006},{"id":79185},[116007],{"type":431,"value":79188},{"type":426,"tag":542,"props":116009,"children":116011},{"code":116010,"language":52115,"meta":417,"className":52113,"style":417},"const { Pool } = require('pg'); \u002F\u002F npm install pg\n\nconst pool = new Pool({ connectionString: process.env.DATABASE_URL });\n\nasync function scheduleWhatsAppMessage(phone, message, sendAt) {\n  const result = await pool.query(\n    `INSERT INTO scheduled_messages (phone_number, message, scheduled_at)\n     VALUES ($1, $2, $3) RETURNING id`,\n    [phone, message, sendAt]\n  );\n  return result.rows[0].id;\n}\n\n\u002F\u002F Schedule a message 24 hours from now\nconst sendAt = new Date(Date.now() + 24 * 60 * 60 * 1000);\nscheduleWhatsAppMessage(\n  '8801234567890',\n  'Hi! Just a reminder about your appointment tomorrow at 2 PM.',\n  sendAt\n).then(id => console.log(`Scheduled job ID: ${id}`));\n",[116012],{"type":426,"tag":549,"props":116013,"children":116014},{"__ignoreMap":417},[116015,116061,116068,116107,116114,116159,116192,116200,116212,116220,116227,116248,116255,116262,116270,116344,116356,116367,116379,116387],{"type":426,"tag":553,"props":116016,"children":116017},{"class":555,"line":556},[116018,116022,116026,116031,116035,116039,116043,116047,116052,116056],{"type":426,"tag":553,"props":116019,"children":116020},{"style":795},[116021],{"type":431,"value":52135},{"type":426,"tag":553,"props":116023,"children":116024},{"style":684},[116025],{"type":431,"value":52174},{"type":426,"tag":553,"props":116027,"children":116028},{"style":566},[116029],{"type":431,"value":116030},"Pool",{"type":426,"tag":553,"props":116032,"children":116033},{"style":684},[116034],{"type":431,"value":52193},{"type":426,"tag":553,"props":116036,"children":116037},{"style":795},[116038],{"type":431,"value":957},{"type":426,"tag":553,"props":116040,"children":116041},{"style":560},[116042],{"type":431,"value":52149},{"type":426,"tag":553,"props":116044,"children":116045},{"style":684},[116046],{"type":431,"value":3275},{"type":426,"tag":553,"props":116048,"children":116049},{"style":572},[116050],{"type":431,"value":116051},"'pg'",{"type":426,"tag":553,"props":116053,"children":116054},{"style":684},[116055],{"type":431,"value":61204},{"type":426,"tag":553,"props":116057,"children":116058},{"style":1975},[116059],{"type":431,"value":116060},"\u002F\u002F npm install pg\n",{"type":426,"tag":553,"props":116062,"children":116063},{"class":555,"line":588},[116064],{"type":426,"tag":553,"props":116065,"children":116066},{"emptyLinePlaceholder":831},[116067],{"type":431,"value":834},{"type":426,"tag":553,"props":116069,"children":116070},{"class":555,"line":606},[116071,116075,116080,116084,116088,116093,116098,116103],{"type":426,"tag":553,"props":116072,"children":116073},{"style":795},[116074],{"type":431,"value":52135},{"type":426,"tag":553,"props":116076,"children":116077},{"style":566},[116078],{"type":431,"value":116079}," pool",{"type":426,"tag":553,"props":116081,"children":116082},{"style":795},[116083],{"type":431,"value":8739},{"type":426,"tag":553,"props":116085,"children":116086},{"style":795},[116087],{"type":431,"value":52275},{"type":426,"tag":553,"props":116089,"children":116090},{"style":560},[116091],{"type":431,"value":116092}," Pool",{"type":426,"tag":553,"props":116094,"children":116095},{"style":684},[116096],{"type":431,"value":116097},"({ connectionString: process.env.",{"type":426,"tag":553,"props":116099,"children":116100},{"style":566},[116101],{"type":431,"value":116102},"DATABASE_URL",{"type":426,"tag":553,"props":116104,"children":116105},{"style":684},[116106],{"type":431,"value":52295},{"type":426,"tag":553,"props":116108,"children":116109},{"class":555,"line":623},[116110],{"type":426,"tag":553,"props":116111,"children":116112},{"emptyLinePlaceholder":831},[116113],{"type":431,"value":834},{"type":426,"tag":553,"props":116115,"children":116116},{"class":555,"line":637},[116117,116121,116125,116130,116134,116138,116142,116146,116150,116155],{"type":426,"tag":553,"props":116118,"children":116119},{"style":795},[116120],{"type":431,"value":52361},{"type":426,"tag":553,"props":116122,"children":116123},{"style":795},[116124],{"type":431,"value":52366},{"type":426,"tag":553,"props":116126,"children":116127},{"style":560},[116128],{"type":431,"value":116129}," scheduleWhatsAppMessage",{"type":426,"tag":553,"props":116131,"children":116132},{"style":684},[116133],{"type":431,"value":3275},{"type":426,"tag":553,"props":116135,"children":116136},{"style":1684},[116137],{"type":431,"value":37598},{"type":426,"tag":553,"props":116139,"children":116140},{"style":684},[116141],{"type":431,"value":1907},{"type":426,"tag":553,"props":116143,"children":116144},{"style":1684},[116145],{"type":431,"value":2734},{"type":426,"tag":553,"props":116147,"children":116148},{"style":684},[116149],{"type":431,"value":1907},{"type":426,"tag":553,"props":116151,"children":116152},{"style":1684},[116153],{"type":431,"value":116154},"sendAt",{"type":426,"tag":553,"props":116156,"children":116157},{"style":684},[116158],{"type":431,"value":52385},{"type":426,"tag":553,"props":116160,"children":116161},{"class":555,"line":646},[116162,116166,116170,116174,116178,116183,116188],{"type":426,"tag":553,"props":116163,"children":116164},{"style":795},[116165],{"type":431,"value":52540},{"type":426,"tag":553,"props":116167,"children":116168},{"style":566},[116169],{"type":431,"value":53508},{"type":426,"tag":553,"props":116171,"children":116172},{"style":795},[116173],{"type":431,"value":8739},{"type":426,"tag":553,"props":116175,"children":116176},{"style":795},[116177],{"type":431,"value":53070},{"type":426,"tag":553,"props":116179,"children":116180},{"style":684},[116181],{"type":431,"value":116182}," pool.",{"type":426,"tag":553,"props":116184,"children":116185},{"style":560},[116186],{"type":431,"value":116187},"query",{"type":426,"tag":553,"props":116189,"children":116190},{"style":684},[116191],{"type":431,"value":3172},{"type":426,"tag":553,"props":116193,"children":116194},{"class":555,"line":655},[116195],{"type":426,"tag":553,"props":116196,"children":116197},{"style":572},[116198],{"type":431,"value":116199},"    `INSERT INTO scheduled_messages (phone_number, message, scheduled_at)\n",{"type":426,"tag":553,"props":116201,"children":116202},{"class":555,"line":1036},[116203,116208],{"type":426,"tag":553,"props":116204,"children":116205},{"style":572},[116206],{"type":431,"value":116207},"     VALUES ($1, $2, $3) RETURNING id`",{"type":426,"tag":553,"props":116209,"children":116210},{"style":684},[116211],{"type":431,"value":710},{"type":426,"tag":553,"props":116213,"children":116214},{"class":555,"line":1054},[116215],{"type":426,"tag":553,"props":116216,"children":116217},{"style":684},[116218],{"type":431,"value":116219},"    [phone, message, sendAt]\n",{"type":426,"tag":553,"props":116221,"children":116222},{"class":555,"line":1080},[116223],{"type":426,"tag":553,"props":116224,"children":116225},{"style":684},[116226],{"type":431,"value":96715},{"type":426,"tag":553,"props":116228,"children":116229},{"class":555,"line":1097},[116230,116234,116239,116243],{"type":426,"tag":553,"props":116231,"children":116232},{"style":795},[116233],{"type":431,"value":52393},{"type":426,"tag":553,"props":116235,"children":116236},{"style":684},[116237],{"type":431,"value":116238}," result.rows[",{"type":426,"tag":553,"props":116240,"children":116241},{"style":566},[116242],{"type":431,"value":1930},{"type":426,"tag":553,"props":116244,"children":116245},{"style":684},[116246],{"type":431,"value":116247},"].id;\n",{"type":426,"tag":553,"props":116249,"children":116250},{"class":555,"line":1114},[116251],{"type":426,"tag":553,"props":116252,"children":116253},{"style":684},[116254],{"type":431,"value":756},{"type":426,"tag":553,"props":116256,"children":116257},{"class":555,"line":1127},[116258],{"type":426,"tag":553,"props":116259,"children":116260},{"emptyLinePlaceholder":831},[116261],{"type":431,"value":834},{"type":426,"tag":553,"props":116263,"children":116264},{"class":555,"line":1167},[116265],{"type":426,"tag":553,"props":116266,"children":116267},{"style":1975},[116268],{"type":431,"value":116269},"\u002F\u002F Schedule a message 24 hours from now\n",{"type":426,"tag":553,"props":116271,"children":116272},{"class":555,"line":1184},[116273,116277,116282,116286,116290,116294,116299,116303,116307,116311,116316,116320,116324,116328,116332,116336,116340],{"type":426,"tag":553,"props":116274,"children":116275},{"style":795},[116276],{"type":431,"value":52135},{"type":426,"tag":553,"props":116278,"children":116279},{"style":566},[116280],{"type":431,"value":116281}," sendAt",{"type":426,"tag":553,"props":116283,"children":116284},{"style":795},[116285],{"type":431,"value":8739},{"type":426,"tag":553,"props":116287,"children":116288},{"style":795},[116289],{"type":431,"value":52275},{"type":426,"tag":553,"props":116291,"children":116292},{"style":560},[116293],{"type":431,"value":105570},{"type":426,"tag":553,"props":116295,"children":116296},{"style":684},[116297],{"type":431,"value":116298},"(Date.",{"type":426,"tag":553,"props":116300,"children":116301},{"style":560},[116302],{"type":431,"value":94755},{"type":426,"tag":553,"props":116304,"children":116305},{"style":684},[116306],{"type":431,"value":61573},{"type":426,"tag":553,"props":116308,"children":116309},{"style":795},[116310],{"type":431,"value":2033},{"type":426,"tag":553,"props":116312,"children":116313},{"style":566},[116314],{"type":431,"value":116315}," 24",{"type":426,"tag":553,"props":116317,"children":116318},{"style":795},[116319],{"type":431,"value":9633},{"type":426,"tag":553,"props":116321,"children":116322},{"style":566},[116323],{"type":431,"value":49849},{"type":426,"tag":553,"props":116325,"children":116326},{"style":795},[116327],{"type":431,"value":9633},{"type":426,"tag":553,"props":116329,"children":116330},{"style":566},[116331],{"type":431,"value":49849},{"type":426,"tag":553,"props":116333,"children":116334},{"style":795},[116335],{"type":431,"value":9633},{"type":426,"tag":553,"props":116337,"children":116338},{"style":566},[116339],{"type":431,"value":15727},{"type":426,"tag":553,"props":116341,"children":116342},{"style":684},[116343],{"type":431,"value":11379},{"type":426,"tag":553,"props":116345,"children":116346},{"class":555,"line":1192},[116347,116352],{"type":426,"tag":553,"props":116348,"children":116349},{"style":560},[116350],{"type":431,"value":116351},"scheduleWhatsAppMessage",{"type":426,"tag":553,"props":116353,"children":116354},{"style":684},[116355],{"type":431,"value":3172},{"type":426,"tag":553,"props":116357,"children":116358},{"class":555,"line":1210},[116359,116363],{"type":426,"tag":553,"props":116360,"children":116361},{"style":572},[116362],{"type":431,"value":79440},{"type":426,"tag":553,"props":116364,"children":116365},{"style":684},[116366],{"type":431,"value":710},{"type":426,"tag":553,"props":116368,"children":116369},{"class":555,"line":1253},[116370,116375],{"type":426,"tag":553,"props":116371,"children":116372},{"style":572},[116373],{"type":431,"value":116374},"  'Hi! Just a reminder about your appointment tomorrow at 2 PM.'",{"type":426,"tag":553,"props":116376,"children":116377},{"style":684},[116378],{"type":431,"value":710},{"type":426,"tag":553,"props":116380,"children":116381},{"class":555,"line":1302},[116382],{"type":426,"tag":553,"props":116383,"children":116384},{"style":684},[116385],{"type":431,"value":116386},"  sendAt\n",{"type":426,"tag":553,"props":116388,"children":116389},{"class":555,"line":1374},[116390,116394,116398,116402,116406,116410,116414,116418,116422,116427,116431,116435],{"type":426,"tag":553,"props":116391,"children":116392},{"style":684},[116393],{"type":431,"value":53330},{"type":426,"tag":553,"props":116395,"children":116396},{"style":560},[116397],{"type":431,"value":53695},{"type":426,"tag":553,"props":116399,"children":116400},{"style":684},[116401],{"type":431,"value":3275},{"type":426,"tag":553,"props":116403,"children":116404},{"style":1684},[116405],{"type":431,"value":77202},{"type":426,"tag":553,"props":116407,"children":116408},{"style":795},[116409],{"type":431,"value":53709},{"type":426,"tag":553,"props":116411,"children":116412},{"style":684},[116413],{"type":431,"value":53714},{"type":426,"tag":553,"props":116415,"children":116416},{"style":560},[116417],{"type":431,"value":53719},{"type":426,"tag":553,"props":116419,"children":116420},{"style":684},[116421],{"type":431,"value":3275},{"type":426,"tag":553,"props":116423,"children":116424},{"style":572},[116425],{"type":431,"value":116426},"`Scheduled job ID: ${",{"type":426,"tag":553,"props":116428,"children":116429},{"style":684},[116430],{"type":431,"value":77202},{"type":426,"tag":553,"props":116432,"children":116433},{"style":572},[116434],{"type":431,"value":52718},{"type":426,"tag":553,"props":116436,"children":116437},{"style":684},[116438],{"type":431,"value":61669},{"type":426,"tag":434,"props":116440,"children":116442},{"id":116441},"step-3-the-message-sender-cron-job",[116443],{"type":431,"value":116444},"Step 3: The Message Sender (Cron Job)",{"type":426,"tag":427,"props":116446,"children":116447},{},[116448],{"type":431,"value":116449},"Run this script every minute to send any due messages:",{"type":426,"tag":515,"props":116451,"children":116453},{"id":116452},"python-cron-worker",[116454],{"type":431,"value":116455},"Python (cron worker)",{"type":426,"tag":542,"props":116457,"children":116459},{"code":116458,"language":784,"meta":417,"className":785,"style":417},"import requests\nimport psycopg2\nfrom datetime import datetime\n\nRAPIWA_API_KEY = \"YOUR_API_KEY\"\n\ndef send_due_messages():\n    \"\"\"\n    Query for messages due to send and dispatch them via Rapiwa.\n    Run this via cron every minute.\n    \"\"\"\n    conn = psycopg2.connect(\"postgresql:\u002F\u002Fuser:pass@localhost\u002Fmydb\")\n    cursor = conn.cursor()\n    \n    # Get all pending messages that are due\n    cursor.execute(\n        \"\"\"\n        SELECT id, phone_number, message\n        FROM scheduled_messages\n        WHERE status = 'pending'\n          AND scheduled_at \u003C= NOW()\n        ORDER BY scheduled_at ASC\n        LIMIT 100\n        \"\"\"\n    )\n    \n    messages = cursor.fetchall()\n    print(f\"Found {len(messages)} messages to send\")\n    \n    for msg_id, phone, message in messages:\n        try:\n            response = requests.post(\n                \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n                headers={\"Authorization\": f\"Bearer {RAPIWA_API_KEY}\"},\n                json={\"number\": phone, \"message\": message},\n                timeout=10\n            )\n            result = response.json()\n            \n            if result.get(\"status\") == \"success\":\n                cursor.execute(\n                    \"\"\"\n                    UPDATE scheduled_messages\n                    SET status = 'sent', message_id = %s, sent_at = NOW()\n                    WHERE id = %s\n                    \"\"\",\n                    (result.get(\"messageId\"), msg_id)\n                )\n                print(f\"Sent message {msg_id} to {phone}\")\n            else:\n                cursor.execute(\n                    \"UPDATE scheduled_messages SET status = 'failed', error_message = %s WHERE id = %s\",\n                    (str(result), msg_id)\n                )\n                \n        except Exception as e:\n            cursor.execute(\n                \"UPDATE scheduled_messages SET status = 'failed', error_message = %s WHERE id = %s\",\n                (str(e), msg_id)\n            )\n    \n    conn.commit()\n    cursor.close()\n    conn.close()\n\nif __name__ == \"__main__\":\n    send_due_messages()\n",[116460],{"type":426,"tag":549,"props":116461,"children":116462},{"__ignoreMap":417},[116463,116474,116485,116504,116511,116526,116533,116549,116556,116564,116572,116579,116602,116617,116624,116632,116639,116646,116654,116662,116670,116678,116686,116694,116701,116708,116715,116730,116772,116779,116800,116811,116826,116838,116881,116912,116927,116934,116949,116956,116987,116995,117003,117011,117028,117040,117052,117069,117076,117134,117145,117152,117180,117197,117204,117212,117231,117238,117266,117283,117290,117297,117304,117311,117318,117325,117348],{"type":426,"tag":553,"props":116464,"children":116465},{"class":555,"line":556},[116466,116470],{"type":426,"tag":553,"props":116467,"children":116468},{"style":795},[116469],{"type":431,"value":798},{"type":426,"tag":553,"props":116471,"children":116472},{"style":684},[116473],{"type":431,"value":803},{"type":426,"tag":553,"props":116475,"children":116476},{"class":555,"line":588},[116477,116481],{"type":426,"tag":553,"props":116478,"children":116479},{"style":795},[116480],{"type":431,"value":798},{"type":426,"tag":553,"props":116482,"children":116483},{"style":684},[116484],{"type":431,"value":11840},{"type":426,"tag":553,"props":116486,"children":116487},{"class":555,"line":606},[116488,116492,116496,116500],{"type":426,"tag":553,"props":116489,"children":116490},{"style":795},[116491],{"type":431,"value":811},{"type":426,"tag":553,"props":116493,"children":116494},{"style":684},[116495],{"type":431,"value":816},{"type":426,"tag":553,"props":116497,"children":116498},{"style":795},[116499],{"type":431,"value":798},{"type":426,"tag":553,"props":116501,"children":116502},{"style":684},[116503],{"type":431,"value":22230},{"type":426,"tag":553,"props":116505,"children":116506},{"class":555,"line":623},[116507],{"type":426,"tag":553,"props":116508,"children":116509},{"emptyLinePlaceholder":831},[116510],{"type":431,"value":834},{"type":426,"tag":553,"props":116512,"children":116513},{"class":555,"line":637},[116514,116518,116522],{"type":426,"tag":553,"props":116515,"children":116516},{"style":566},[116517],{"type":431,"value":7156},{"type":426,"tag":553,"props":116519,"children":116520},{"style":795},[116521],{"type":431,"value":8739},{"type":426,"tag":553,"props":116523,"children":116524},{"style":572},[116525],{"type":431,"value":40863},{"type":426,"tag":553,"props":116527,"children":116528},{"class":555,"line":646},[116529],{"type":426,"tag":553,"props":116530,"children":116531},{"emptyLinePlaceholder":831},[116532],{"type":431,"value":834},{"type":426,"tag":553,"props":116534,"children":116535},{"class":555,"line":655},[116536,116540,116545],{"type":426,"tag":553,"props":116537,"children":116538},{"style":795},[116539],{"type":431,"value":842},{"type":426,"tag":553,"props":116541,"children":116542},{"style":560},[116543],{"type":431,"value":116544}," send_due_messages",{"type":426,"tag":553,"props":116546,"children":116547},{"style":684},[116548],{"type":431,"value":6433},{"type":426,"tag":553,"props":116550,"children":116551},{"class":555,"line":1036},[116552],{"type":426,"tag":553,"props":116553,"children":116554},{"style":572},[116555],{"type":431,"value":2673},{"type":426,"tag":553,"props":116557,"children":116558},{"class":555,"line":1054},[116559],{"type":426,"tag":553,"props":116560,"children":116561},{"style":572},[116562],{"type":431,"value":116563},"    Query for messages due to send and dispatch them via Rapiwa.\n",{"type":426,"tag":553,"props":116565,"children":116566},{"class":555,"line":1080},[116567],{"type":426,"tag":553,"props":116568,"children":116569},{"style":572},[116570],{"type":431,"value":116571},"    Run this via cron every minute.\n",{"type":426,"tag":553,"props":116573,"children":116574},{"class":555,"line":1097},[116575],{"type":426,"tag":553,"props":116576,"children":116577},{"style":572},[116578],{"type":431,"value":2673},{"type":426,"tag":553,"props":116580,"children":116581},{"class":555,"line":1114},[116582,116586,116590,116594,116598],{"type":426,"tag":553,"props":116583,"children":116584},{"style":684},[116585],{"type":431,"value":25253},{"type":426,"tag":553,"props":116587,"children":116588},{"style":795},[116589],{"type":431,"value":957},{"type":426,"tag":553,"props":116591,"children":116592},{"style":684},[116593],{"type":431,"value":40838},{"type":426,"tag":553,"props":116595,"children":116596},{"style":572},[116597],{"type":431,"value":115561},{"type":426,"tag":553,"props":116599,"children":116600},{"style":684},[116601],{"type":431,"value":3262},{"type":426,"tag":553,"props":116603,"children":116604},{"class":555,"line":1127},[116605,116609,116613],{"type":426,"tag":553,"props":116606,"children":116607},{"style":684},[116608],{"type":431,"value":58065},{"type":426,"tag":553,"props":116610,"children":116611},{"style":795},[116612],{"type":431,"value":957},{"type":426,"tag":553,"props":116614,"children":116615},{"style":684},[116616],{"type":431,"value":58074},{"type":426,"tag":553,"props":116618,"children":116619},{"class":555,"line":1167},[116620],{"type":426,"tag":553,"props":116621,"children":116622},{"style":684},[116623],{"type":431,"value":917},{"type":426,"tag":553,"props":116625,"children":116626},{"class":555,"line":1184},[116627],{"type":426,"tag":553,"props":116628,"children":116629},{"style":1975},[116630],{"type":431,"value":116631},"    # Get all pending messages that are due\n",{"type":426,"tag":553,"props":116633,"children":116634},{"class":555,"line":1192},[116635],{"type":426,"tag":553,"props":116636,"children":116637},{"style":684},[116638],{"type":431,"value":115595},{"type":426,"tag":553,"props":116640,"children":116641},{"class":555,"line":1210},[116642],{"type":426,"tag":553,"props":116643,"children":116644},{"style":572},[116645],{"type":431,"value":12270},{"type":426,"tag":553,"props":116647,"children":116648},{"class":555,"line":1253},[116649],{"type":426,"tag":553,"props":116650,"children":116651},{"style":572},[116652],{"type":431,"value":116653},"        SELECT id, phone_number, message\n",{"type":426,"tag":553,"props":116655,"children":116656},{"class":555,"line":1302},[116657],{"type":426,"tag":553,"props":116658,"children":116659},{"style":572},[116660],{"type":431,"value":116661},"        FROM scheduled_messages\n",{"type":426,"tag":553,"props":116663,"children":116664},{"class":555,"line":1374},[116665],{"type":426,"tag":553,"props":116666,"children":116667},{"style":572},[116668],{"type":431,"value":116669},"        WHERE status = 'pending'\n",{"type":426,"tag":553,"props":116671,"children":116672},{"class":555,"line":1414},[116673],{"type":426,"tag":553,"props":116674,"children":116675},{"style":572},[116676],{"type":431,"value":116677},"          AND scheduled_at \u003C= NOW()\n",{"type":426,"tag":553,"props":116679,"children":116680},{"class":555,"line":1479},[116681],{"type":426,"tag":553,"props":116682,"children":116683},{"style":572},[116684],{"type":431,"value":116685},"        ORDER BY scheduled_at ASC\n",{"type":426,"tag":553,"props":116687,"children":116688},{"class":555,"line":1517},[116689],{"type":426,"tag":553,"props":116690,"children":116691},{"style":572},[116692],{"type":431,"value":116693},"        LIMIT 100\n",{"type":426,"tag":553,"props":116695,"children":116696},{"class":555,"line":1560},[116697],{"type":426,"tag":553,"props":116698,"children":116699},{"style":572},[116700],{"type":431,"value":12270},{"type":426,"tag":553,"props":116702,"children":116703},{"class":555,"line":1598},[116704],{"type":426,"tag":553,"props":116705,"children":116706},{"style":684},[116707],{"type":431,"value":1642},{"type":426,"tag":553,"props":116709,"children":116710},{"class":555,"line":1636},[116711],{"type":426,"tag":553,"props":116712,"children":116713},{"style":684},[116714],{"type":431,"value":917},{"type":426,"tag":553,"props":116716,"children":116717},{"class":555,"line":1645},[116718,116722,116726],{"type":426,"tag":553,"props":116719,"children":116720},{"style":684},[116721],{"type":431,"value":18243},{"type":426,"tag":553,"props":116723,"children":116724},{"style":795},[116725],{"type":431,"value":957},{"type":426,"tag":553,"props":116727,"children":116728},{"style":684},[116729],{"type":431,"value":58441},{"type":426,"tag":553,"props":116731,"children":116732},{"class":555,"line":1653},[116733,116737,116741,116745,116750,116754,116759,116763,116768],{"type":426,"tag":553,"props":116734,"children":116735},{"style":566},[116736],{"type":431,"value":51971},{"type":426,"tag":553,"props":116738,"children":116739},{"style":684},[116740],{"type":431,"value":3275},{"type":426,"tag":553,"props":116742,"children":116743},{"style":795},[116744],{"type":431,"value":1709},{"type":426,"tag":553,"props":116746,"children":116747},{"style":572},[116748],{"type":431,"value":116749},"\"Found ",{"type":426,"tag":553,"props":116751,"children":116752},{"style":566},[116753],{"type":431,"value":58466},{"type":426,"tag":553,"props":116755,"children":116756},{"style":684},[116757],{"type":431,"value":116758},"(messages)",{"type":426,"tag":553,"props":116760,"children":116761},{"style":566},[116762],{"type":431,"value":982},{"type":426,"tag":553,"props":116764,"children":116765},{"style":572},[116766],{"type":431,"value":116767}," messages to send\"",{"type":426,"tag":553,"props":116769,"children":116770},{"style":684},[116771],{"type":431,"value":3262},{"type":426,"tag":553,"props":116773,"children":116774},{"class":555,"line":1667},[116775],{"type":426,"tag":553,"props":116776,"children":116777},{"style":684},[116778],{"type":431,"value":917},{"type":426,"tag":553,"props":116780,"children":116781},{"class":555,"line":1680},[116782,116786,116791,116795],{"type":426,"tag":553,"props":116783,"children":116784},{"style":795},[116785],{"type":431,"value":1995},{"type":426,"tag":553,"props":116787,"children":116788},{"style":684},[116789],{"type":431,"value":116790}," msg_id, phone, message ",{"type":426,"tag":553,"props":116792,"children":116793},{"style":795},[116794],{"type":431,"value":2005},{"type":426,"tag":553,"props":116796,"children":116797},{"style":684},[116798],{"type":431,"value":116799}," messages:\n",{"type":426,"tag":553,"props":116801,"children":116802},{"class":555,"line":1740},[116803,116807],{"type":426,"tag":553,"props":116804,"children":116805},{"style":795},[116806],{"type":431,"value":8822},{"type":426,"tag":553,"props":116808,"children":116809},{"style":684},[116810],{"type":431,"value":909},{"type":426,"tag":553,"props":116812,"children":116813},{"class":555,"line":1787},[116814,116818,116822],{"type":426,"tag":553,"props":116815,"children":116816},{"style":684},[116817],{"type":431,"value":8834},{"type":426,"tag":553,"props":116819,"children":116820},{"style":795},[116821],{"type":431,"value":957},{"type":426,"tag":553,"props":116823,"children":116824},{"style":684},[116825],{"type":431,"value":1664},{"type":426,"tag":553,"props":116827,"children":116828},{"class":555,"line":1796},[116829,116834],{"type":426,"tag":553,"props":116830,"children":116831},{"style":572},[116832],{"type":431,"value":116833},"                \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"",{"type":426,"tag":553,"props":116835,"children":116836},{"style":684},[116837],{"type":431,"value":710},{"type":426,"tag":553,"props":116839,"children":116840},{"class":555,"line":1804},[116841,116845,116849,116853,116857,116861,116865,116869,116873,116877],{"type":426,"tag":553,"props":116842,"children":116843},{"style":1684},[116844],{"type":431,"value":8862},{"type":426,"tag":553,"props":116846,"children":116847},{"style":795},[116848],{"type":431,"value":957},{"type":426,"tag":553,"props":116850,"children":116851},{"style":684},[116852],{"type":431,"value":972},{"type":426,"tag":553,"props":116854,"children":116855},{"style":572},[116856],{"type":431,"value":45214},{"type":426,"tag":553,"props":116858,"children":116859},{"style":684},[116860],{"type":431,"value":700},{"type":426,"tag":553,"props":116862,"children":116863},{"style":795},[116864],{"type":431,"value":1709},{"type":426,"tag":553,"props":116866,"children":116867},{"style":572},[116868],{"type":431,"value":12608},{"type":426,"tag":553,"props":116870,"children":116871},{"style":566},[116872],{"type":431,"value":20835},{"type":426,"tag":553,"props":116874,"children":116875},{"style":572},[116876],{"type":431,"value":1527},{"type":426,"tag":553,"props":116878,"children":116879},{"style":684},[116880],{"type":431,"value":1737},{"type":426,"tag":553,"props":116882,"children":116883},{"class":555,"line":1812},[116884,116888,116892,116896,116900,116904,116908],{"type":426,"tag":553,"props":116885,"children":116886},{"style":1684},[116887],{"type":431,"value":8914},{"type":426,"tag":553,"props":116889,"children":116890},{"style":795},[116891],{"type":431,"value":957},{"type":426,"tag":553,"props":116893,"children":116894},{"style":684},[116895],{"type":431,"value":972},{"type":426,"tag":553,"props":116897,"children":116898},{"style":572},[116899],{"type":431,"value":45266},{"type":426,"tag":553,"props":116901,"children":116902},{"style":684},[116903],{"type":431,"value":8931},{"type":426,"tag":553,"props":116905,"children":116906},{"style":572},[116907],{"type":431,"value":45275},{"type":426,"tag":553,"props":116909,"children":116910},{"style":684},[116911],{"type":431,"value":8940},{"type":426,"tag":553,"props":116913,"children":116914},{"class":555,"line":1847},[116915,116919,116923],{"type":426,"tag":553,"props":116916,"children":116917},{"style":1684},[116918],{"type":431,"value":8948},{"type":426,"tag":553,"props":116920,"children":116921},{"style":795},[116922],{"type":431,"value":957},{"type":426,"tag":553,"props":116924,"children":116925},{"style":566},[116926],{"type":431,"value":56966},{"type":426,"tag":553,"props":116928,"children":116929},{"class":555,"line":1856},[116930],{"type":426,"tag":553,"props":116931,"children":116932},{"style":684},[116933],{"type":431,"value":2551},{"type":426,"tag":553,"props":116935,"children":116936},{"class":555,"line":1874},[116937,116941,116945],{"type":426,"tag":553,"props":116938,"children":116939},{"style":684},[116940],{"type":431,"value":18043},{"type":426,"tag":553,"props":116942,"children":116943},{"style":795},[116944],{"type":431,"value":957},{"type":426,"tag":553,"props":116946,"children":116947},{"style":684},[116948],{"type":431,"value":9193},{"type":426,"tag":553,"props":116950,"children":116951},{"class":555,"line":1882},[116952],{"type":426,"tag":553,"props":116953,"children":116954},{"style":684},[116955],{"type":431,"value":8972},{"type":426,"tag":553,"props":116957,"children":116958},{"class":555,"line":1981},[116959,116963,116967,116971,116975,116979,116983],{"type":426,"tag":553,"props":116960,"children":116961},{"style":795},[116962],{"type":431,"value":8980},{"type":426,"tag":553,"props":116964,"children":116965},{"style":684},[116966],{"type":431,"value":2977},{"type":426,"tag":553,"props":116968,"children":116969},{"style":572},[116970],{"type":431,"value":68957},{"type":426,"tag":553,"props":116972,"children":116973},{"style":684},[116974],{"type":431,"value":2987},{"type":426,"tag":553,"props":116976,"children":116977},{"style":795},[116978],{"type":431,"value":1069},{"type":426,"tag":553,"props":116980,"children":116981},{"style":572},[116982],{"type":431,"value":69054},{"type":426,"tag":553,"props":116984,"children":116985},{"style":684},[116986],{"type":431,"value":909},{"type":426,"tag":553,"props":116988,"children":116989},{"class":555,"line":1989},[116990],{"type":426,"tag":553,"props":116991,"children":116992},{"style":684},[116993],{"type":431,"value":116994},"                cursor.execute(\n",{"type":426,"tag":553,"props":116996,"children":116997},{"class":555,"line":2013},[116998],{"type":426,"tag":553,"props":116999,"children":117000},{"style":572},[117001],{"type":431,"value":117002},"                    \"\"\"\n",{"type":426,"tag":553,"props":117004,"children":117005},{"class":555,"line":2055},[117006],{"type":426,"tag":553,"props":117007,"children":117008},{"style":572},[117009],{"type":431,"value":117010},"                    UPDATE scheduled_messages\n",{"type":426,"tag":553,"props":117012,"children":117013},{"class":555,"line":2064},[117014,117019,117023],{"type":426,"tag":553,"props":117015,"children":117016},{"style":572},[117017],{"type":431,"value":117018},"                    SET status = 'sent', message_id = ",{"type":426,"tag":553,"props":117020,"children":117021},{"style":566},[117022],{"type":431,"value":2143},{"type":426,"tag":553,"props":117024,"children":117025},{"style":572},[117026],{"type":431,"value":117027},", sent_at = NOW()\n",{"type":426,"tag":553,"props":117029,"children":117030},{"class":555,"line":2087},[117031,117036],{"type":426,"tag":553,"props":117032,"children":117033},{"style":572},[117034],{"type":431,"value":117035},"                    WHERE id = ",{"type":426,"tag":553,"props":117037,"children":117038},{"style":566},[117039],{"type":431,"value":15490},{"type":426,"tag":553,"props":117041,"children":117042},{"class":555,"line":2096},[117043,117048],{"type":426,"tag":553,"props":117044,"children":117045},{"style":572},[117046],{"type":431,"value":117047},"                    \"\"\"",{"type":426,"tag":553,"props":117049,"children":117050},{"style":684},[117051],{"type":431,"value":710},{"type":426,"tag":553,"props":117053,"children":117054},{"class":555,"line":2105},[117055,117060,117064],{"type":426,"tag":553,"props":117056,"children":117057},{"style":684},[117058],{"type":431,"value":117059},"                    (result.get(",{"type":426,"tag":553,"props":117061,"children":117062},{"style":572},[117063],{"type":431,"value":68982},{"type":426,"tag":553,"props":117065,"children":117066},{"style":684},[117067],{"type":431,"value":117068},"), msg_id)\n",{"type":426,"tag":553,"props":117070,"children":117071},{"class":555,"line":2114},[117072],{"type":426,"tag":553,"props":117073,"children":117074},{"style":684},[117075],{"type":431,"value":22121},{"type":426,"tag":553,"props":117077,"children":117078},{"class":555,"line":2123},[117079,117083,117087,117091,117096,117100,117105,117109,117114,117118,117122,117126,117130],{"type":426,"tag":553,"props":117080,"children":117081},{"style":566},[117082],{"type":431,"value":54298},{"type":426,"tag":553,"props":117084,"children":117085},{"style":684},[117086],{"type":431,"value":3275},{"type":426,"tag":553,"props":117088,"children":117089},{"style":795},[117090],{"type":431,"value":1709},{"type":426,"tag":553,"props":117092,"children":117093},{"style":572},[117094],{"type":431,"value":117095},"\"Sent message ",{"type":426,"tag":553,"props":117097,"children":117098},{"style":566},[117099],{"type":431,"value":972},{"type":426,"tag":553,"props":117101,"children":117102},{"style":684},[117103],{"type":431,"value":117104},"msg_id",{"type":426,"tag":553,"props":117106,"children":117107},{"style":566},[117108],{"type":431,"value":982},{"type":426,"tag":553,"props":117110,"children":117111},{"style":572},[117112],{"type":431,"value":117113}," to ",{"type":426,"tag":553,"props":117115,"children":117116},{"style":566},[117117],{"type":431,"value":972},{"type":426,"tag":553,"props":117119,"children":117120},{"style":684},[117121],{"type":431,"value":37598},{"type":426,"tag":553,"props":117123,"children":117124},{"style":566},[117125],{"type":431,"value":982},{"type":426,"tag":553,"props":117127,"children":117128},{"style":572},[117129],{"type":431,"value":1527},{"type":426,"tag":553,"props":117131,"children":117132},{"style":684},[117133],{"type":431,"value":3262},{"type":426,"tag":553,"props":117135,"children":117136},{"class":555,"line":2132},[117137,117141],{"type":426,"tag":553,"props":117138,"children":117139},{"style":795},[117140],{"type":431,"value":22129},{"type":426,"tag":553,"props":117142,"children":117143},{"style":684},[117144],{"type":431,"value":909},{"type":426,"tag":553,"props":117146,"children":117147},{"class":555,"line":2151},[117148],{"type":426,"tag":553,"props":117149,"children":117150},{"style":684},[117151],{"type":431,"value":116994},{"type":426,"tag":553,"props":117153,"children":117154},{"class":555,"line":2160},[117155,117160,117164,117168,117172,117176],{"type":426,"tag":553,"props":117156,"children":117157},{"style":572},[117158],{"type":431,"value":117159},"                    \"UPDATE scheduled_messages SET status = 'failed', error_message = ",{"type":426,"tag":553,"props":117161,"children":117162},{"style":566},[117163],{"type":431,"value":2143},{"type":426,"tag":553,"props":117165,"children":117166},{"style":572},[117167],{"type":431,"value":15203},{"type":426,"tag":553,"props":117169,"children":117170},{"style":566},[117171],{"type":431,"value":2143},{"type":426,"tag":553,"props":117173,"children":117174},{"style":572},[117175],{"type":431,"value":1527},{"type":426,"tag":553,"props":117177,"children":117178},{"style":684},[117179],{"type":431,"value":710},{"type":426,"tag":553,"props":117181,"children":117182},{"class":555,"line":2174},[117183,117188,117192],{"type":426,"tag":553,"props":117184,"children":117185},{"style":684},[117186],{"type":431,"value":117187},"                    (",{"type":426,"tag":553,"props":117189,"children":117190},{"style":566},[117191],{"type":431,"value":895},{"type":426,"tag":553,"props":117193,"children":117194},{"style":684},[117195],{"type":431,"value":117196},"(result), msg_id)\n",{"type":426,"tag":553,"props":117198,"children":117199},{"class":555,"line":2182},[117200],{"type":426,"tag":553,"props":117201,"children":117202},{"style":684},[117203],{"type":431,"value":22121},{"type":426,"tag":553,"props":117205,"children":117206},{"class":555,"line":2205},[117207],{"type":426,"tag":553,"props":117208,"children":117209},{"style":684},[117210],{"type":431,"value":117211},"                \n",{"type":426,"tag":553,"props":117213,"children":117214},{"class":555,"line":2241},[117215,117219,117223,117227],{"type":426,"tag":553,"props":117216,"children":117217},{"style":795},[117218],{"type":431,"value":9208},{"type":426,"tag":553,"props":117220,"children":117221},{"style":566},[117222],{"type":431,"value":14601},{"type":426,"tag":553,"props":117224,"children":117225},{"style":795},[117226],{"type":431,"value":13927},{"type":426,"tag":553,"props":117228,"children":117229},{"style":684},[117230],{"type":431,"value":13932},{"type":426,"tag":553,"props":117232,"children":117233},{"class":555,"line":2250},[117234],{"type":426,"tag":553,"props":117235,"children":117236},{"style":684},[117237],{"type":431,"value":58781},{"type":426,"tag":553,"props":117239,"children":117240},{"class":555,"line":2302},[117241,117246,117250,117254,117258,117262],{"type":426,"tag":553,"props":117242,"children":117243},{"style":572},[117244],{"type":431,"value":117245},"                \"UPDATE scheduled_messages SET status = 'failed', error_message = ",{"type":426,"tag":553,"props":117247,"children":117248},{"style":566},[117249],{"type":431,"value":2143},{"type":426,"tag":553,"props":117251,"children":117252},{"style":572},[117253],{"type":431,"value":15203},{"type":426,"tag":553,"props":117255,"children":117256},{"style":566},[117257],{"type":431,"value":2143},{"type":426,"tag":553,"props":117259,"children":117260},{"style":572},[117261],{"type":431,"value":1527},{"type":426,"tag":553,"props":117263,"children":117264},{"style":684},[117265],{"type":431,"value":710},{"type":426,"tag":553,"props":117267,"children":117268},{"class":555,"line":2353},[117269,117274,117278],{"type":426,"tag":553,"props":117270,"children":117271},{"style":684},[117272],{"type":431,"value":117273},"                (",{"type":426,"tag":553,"props":117275,"children":117276},{"style":566},[117277],{"type":431,"value":895},{"type":426,"tag":553,"props":117279,"children":117280},{"style":684},[117281],{"type":431,"value":117282},"(e), msg_id)\n",{"type":426,"tag":553,"props":117284,"children":117285},{"class":555,"line":2390},[117286],{"type":426,"tag":553,"props":117287,"children":117288},{"style":684},[117289],{"type":431,"value":2551},{"type":426,"tag":553,"props":117291,"children":117292},{"class":555,"line":2440},[117293],{"type":426,"tag":553,"props":117294,"children":117295},{"style":684},[117296],{"type":431,"value":917},{"type":426,"tag":553,"props":117298,"children":117299},{"class":555,"line":2488},[117300],{"type":426,"tag":553,"props":117301,"children":117302},{"style":684},[117303],{"type":431,"value":58839},{"type":426,"tag":553,"props":117305,"children":117306},{"class":555,"line":2509},[117307],{"type":426,"tag":553,"props":117308,"children":117309},{"style":684},[117310],{"type":431,"value":58847},{"type":426,"tag":553,"props":117312,"children":117313},{"class":555,"line":2527},[117314],{"type":426,"tag":553,"props":117315,"children":117316},{"style":684},[117317],{"type":431,"value":25648},{"type":426,"tag":553,"props":117319,"children":117320},{"class":555,"line":2545},[117321],{"type":426,"tag":553,"props":117322,"children":117323},{"emptyLinePlaceholder":831},[117324],{"type":431,"value":834},{"type":426,"tag":553,"props":117326,"children":117327},{"class":555,"line":12991},[117328,117332,117336,117340,117344],{"type":426,"tag":553,"props":117329,"children":117330},{"style":795},[117331],{"type":431,"value":7510},{"type":426,"tag":553,"props":117333,"children":117334},{"style":566},[117335],{"type":431,"value":51734},{"type":426,"tag":553,"props":117337,"children":117338},{"style":795},[117339],{"type":431,"value":51739},{"type":426,"tag":553,"props":117341,"children":117342},{"style":572},[117343],{"type":431,"value":58919},{"type":426,"tag":553,"props":117345,"children":117346},{"style":684},[117347],{"type":431,"value":909},{"type":426,"tag":553,"props":117349,"children":117350},{"class":555,"line":13004},[117351],{"type":426,"tag":553,"props":117352,"children":117353},{"style":684},[117354],{"type":431,"value":117355},"    send_due_messages()\n",{"type":426,"tag":427,"props":117357,"children":117358},{},[117359,117364],{"type":426,"tag":446,"props":117360,"children":117361},{},[117362],{"type":431,"value":117363},"Set up the cron job",{"type":431,"value":117365}," (Linux\u002FMac):",{"type":426,"tag":542,"props":117367,"children":117369},{"code":117368,"language":545,"meta":417,"className":546,"style":417},"# Edit crontab\ncrontab -e\n\n# Run every minute\n* * * * * \u002Fusr\u002Fbin\u002Fpython3 \u002Fpath\u002Fto\u002Fsend_due_messages.py >> \u002Fvar\u002Flog\u002Fwhatsapp_scheduler.log 2>&1\n",[117370],{"type":426,"tag":549,"props":117371,"children":117372},{"__ignoreMap":417},[117373,117381,117394,117401,117409],{"type":426,"tag":553,"props":117374,"children":117375},{"class":555,"line":556},[117376],{"type":426,"tag":553,"props":117377,"children":117378},{"style":1975},[117379],{"type":431,"value":117380},"# Edit crontab\n",{"type":426,"tag":553,"props":117382,"children":117383},{"class":555,"line":588},[117384,117389],{"type":426,"tag":553,"props":117385,"children":117386},{"style":560},[117387],{"type":431,"value":117388},"crontab",{"type":426,"tag":553,"props":117390,"children":117391},{"style":566},[117392],{"type":431,"value":117393}," -e\n",{"type":426,"tag":553,"props":117395,"children":117396},{"class":555,"line":606},[117397],{"type":426,"tag":553,"props":117398,"children":117399},{"emptyLinePlaceholder":831},[117400],{"type":431,"value":834},{"type":426,"tag":553,"props":117402,"children":117403},{"class":555,"line":623},[117404],{"type":426,"tag":553,"props":117405,"children":117406},{"style":1975},[117407],{"type":431,"value":117408},"# Run every minute\n",{"type":426,"tag":553,"props":117410,"children":117411},{"class":555,"line":637},[117412,117416,117420,117424,117428,117432,117437,117442,117447],{"type":426,"tag":553,"props":117413,"children":117414},{"style":795},[117415],{"type":431,"value":5801},{"type":426,"tag":553,"props":117417,"children":117418},{"style":795},[117419],{"type":431,"value":9633},{"type":426,"tag":553,"props":117421,"children":117422},{"style":795},[117423],{"type":431,"value":9633},{"type":426,"tag":553,"props":117425,"children":117426},{"style":795},[117427],{"type":431,"value":9633},{"type":426,"tag":553,"props":117429,"children":117430},{"style":795},[117431],{"type":431,"value":9633},{"type":426,"tag":553,"props":117433,"children":117434},{"style":684},[117435],{"type":431,"value":117436}," \u002Fusr\u002Fbin\u002Fpython3 \u002Fpath\u002Fto\u002Fsend_due_messages.py ",{"type":426,"tag":553,"props":117438,"children":117439},{"style":795},[117440],{"type":431,"value":117441},">>",{"type":426,"tag":553,"props":117443,"children":117444},{"style":684},[117445],{"type":431,"value":117446}," \u002Fvar\u002Flog\u002Fwhatsapp_scheduler.log ",{"type":426,"tag":553,"props":117448,"children":117449},{"style":795},[117450],{"type":431,"value":117451},"2>&1\n",{"type":426,"tag":427,"props":117453,"children":117454},{},[117455,117460],{"type":426,"tag":446,"props":117456,"children":117457},{},[117458],{"type":431,"value":117459},"AWS Lambda alternative",{"type":431,"value":117461}," (no server needed):",{"type":426,"tag":542,"props":117463,"children":117465},{"code":117464,"language":784,"meta":417,"className":785,"style":417},"# handler.py — deploy to AWS Lambda, trigger with EventBridge every 1 minute\ndef lambda_handler(event, context):\n    send_due_messages()\n    return {\"statusCode\": 200}\n",[117466],{"type":426,"tag":549,"props":117467,"children":117468},{"__ignoreMap":417},[117469,117477,117494,117501],{"type":426,"tag":553,"props":117470,"children":117471},{"class":555,"line":556},[117472],{"type":426,"tag":553,"props":117473,"children":117474},{"style":1975},[117475],{"type":431,"value":117476},"# handler.py — deploy to AWS Lambda, trigger with EventBridge every 1 minute\n",{"type":426,"tag":553,"props":117478,"children":117479},{"class":555,"line":588},[117480,117484,117489],{"type":426,"tag":553,"props":117481,"children":117482},{"style":795},[117483],{"type":431,"value":842},{"type":426,"tag":553,"props":117485,"children":117486},{"style":560},[117487],{"type":431,"value":117488}," lambda_handler",{"type":426,"tag":553,"props":117490,"children":117491},{"style":684},[117492],{"type":431,"value":117493},"(event, context):\n",{"type":426,"tag":553,"props":117495,"children":117496},{"class":555,"line":606},[117497],{"type":426,"tag":553,"props":117498,"children":117499},{"style":684},[117500],{"type":431,"value":117355},{"type":426,"tag":553,"props":117502,"children":117503},{"class":555,"line":623},[117504,117508,117512,117517,117521,117525],{"type":426,"tag":553,"props":117505,"children":117506},{"style":795},[117507],{"type":431,"value":1659},{"type":426,"tag":553,"props":117509,"children":117510},{"style":684},[117511],{"type":431,"value":1450},{"type":426,"tag":553,"props":117513,"children":117514},{"style":572},[117515],{"type":431,"value":117516},"\"statusCode\"",{"type":426,"tag":553,"props":117518,"children":117519},{"style":684},[117520],{"type":431,"value":700},{"type":426,"tag":553,"props":117522,"children":117523},{"style":566},[117524],{"type":431,"value":10114},{"type":426,"tag":553,"props":117526,"children":117527},{"style":684},[117528],{"type":431,"value":756},{"type":426,"tag":434,"props":117530,"children":117532},{"id":117531},"step-4-using-n8n-for-scheduling-no-code-option",[117533],{"type":431,"value":117534},"Step 4: Using n8n for Scheduling (No-Code Option)",{"type":426,"tag":427,"props":117536,"children":117537},{},[117538],{"type":431,"value":117539},"For a no-code scheduling solution, use n8n:",{"type":426,"tag":6331,"props":117541,"children":117542},{},[117543,117553,117563,117572,117581],{"type":426,"tag":458,"props":117544,"children":117545},{},[117546,117551],{"type":426,"tag":446,"props":117547,"children":117548},{},[117549],{"type":431,"value":117550},"Cron Trigger",{"type":431,"value":117552}," node — set to run every minute",{"type":426,"tag":458,"props":117554,"children":117555},{},[117556,117561],{"type":426,"tag":446,"props":117557,"children":117558},{},[117559],{"type":431,"value":117560},"PostgreSQL",{"type":431,"value":117562}," (or Google Sheets) node — query for due messages",{"type":426,"tag":458,"props":117564,"children":117565},{},[117566,117570],{"type":426,"tag":446,"props":117567,"children":117568},{},[117569],{"type":431,"value":101516},{"type":431,"value":117571}," node — check if any messages are due",{"type":426,"tag":458,"props":117573,"children":117574},{},[117575,117579],{"type":426,"tag":446,"props":117576,"children":117577},{},[117578],{"type":431,"value":47931},{"type":431,"value":117580}," node — send the message",{"type":426,"tag":458,"props":117582,"children":117583},{},[117584,117589],{"type":426,"tag":446,"props":117585,"children":117586},{},[117587],{"type":431,"value":117588},"Update Database",{"type":431,"value":117590}," node — mark messages as sent",{"type":426,"tag":427,"props":117592,"children":117593},{},[117594],{"type":431,"value":117595},"This avoids writing any custom code.",{"type":426,"tag":434,"props":117597,"children":117599},{"id":117598},"scheduling-by-time-zone",[117600],{"type":431,"value":117601},"Scheduling by Time Zone",{"type":426,"tag":427,"props":117603,"children":117604},{},[117605],{"type":431,"value":117606},"Always store scheduled times in UTC, then convert when displaying:",{"type":426,"tag":542,"props":117608,"children":117610},{"code":117609,"language":784,"meta":417,"className":785,"style":417},"import pytz\nfrom datetime import datetime\n\ndef schedule_in_timezone(phone, message, local_time_str, timezone_str):\n    \"\"\"\n    Schedule a message in the recipient's local time zone.\n    Example: \"2026-06-15 09:00\" in \"Asia\u002FDhaka\"\n    \"\"\"\n    tz = pytz.timezone(timezone_str)\n    local_time = tz.localize(datetime.strptime(local_time_str, \"%Y-%m-%d %H:%M\"))\n    utc_time = local_time.astimezone(pytz.utc)\n    \n    return schedule_whatsapp_message(phone, message, utc_time)\n\n# Schedule a message for 9 AM Dhaka time\nschedule_in_timezone(\n    \"8801234567890\",\n    \"Good morning! Your daily report is ready.\",\n    \"2026-06-15 09:00\",\n    \"Asia\u002FDhaka\"\n)\n",[117611],{"type":426,"tag":549,"props":117612,"children":117613},{"__ignoreMap":417},[117614,117626,117645,117652,117669,117676,117684,117692,117699,117716,117751,117768,117775,117787,117794,117802,117810,117822,117834,117846,117854],{"type":426,"tag":553,"props":117615,"children":117616},{"class":555,"line":556},[117617,117621],{"type":426,"tag":553,"props":117618,"children":117619},{"style":795},[117620],{"type":431,"value":798},{"type":426,"tag":553,"props":117622,"children":117623},{"style":684},[117624],{"type":431,"value":117625}," pytz\n",{"type":426,"tag":553,"props":117627,"children":117628},{"class":555,"line":588},[117629,117633,117637,117641],{"type":426,"tag":553,"props":117630,"children":117631},{"style":795},[117632],{"type":431,"value":811},{"type":426,"tag":553,"props":117634,"children":117635},{"style":684},[117636],{"type":431,"value":816},{"type":426,"tag":553,"props":117638,"children":117639},{"style":795},[117640],{"type":431,"value":798},{"type":426,"tag":553,"props":117642,"children":117643},{"style":684},[117644],{"type":431,"value":22230},{"type":426,"tag":553,"props":117646,"children":117647},{"class":555,"line":606},[117648],{"type":426,"tag":553,"props":117649,"children":117650},{"emptyLinePlaceholder":831},[117651],{"type":431,"value":834},{"type":426,"tag":553,"props":117653,"children":117654},{"class":555,"line":623},[117655,117659,117664],{"type":426,"tag":553,"props":117656,"children":117657},{"style":795},[117658],{"type":431,"value":842},{"type":426,"tag":553,"props":117660,"children":117661},{"style":560},[117662],{"type":431,"value":117663}," schedule_in_timezone",{"type":426,"tag":553,"props":117665,"children":117666},{"style":684},[117667],{"type":431,"value":117668},"(phone, message, local_time_str, timezone_str):\n",{"type":426,"tag":553,"props":117670,"children":117671},{"class":555,"line":637},[117672],{"type":426,"tag":553,"props":117673,"children":117674},{"style":572},[117675],{"type":431,"value":2673},{"type":426,"tag":553,"props":117677,"children":117678},{"class":555,"line":646},[117679],{"type":426,"tag":553,"props":117680,"children":117681},{"style":572},[117682],{"type":431,"value":117683},"    Schedule a message in the recipient's local time zone.\n",{"type":426,"tag":553,"props":117685,"children":117686},{"class":555,"line":655},[117687],{"type":426,"tag":553,"props":117688,"children":117689},{"style":572},[117690],{"type":431,"value":117691},"    Example: \"2026-06-15 09:00\" in \"Asia\u002FDhaka\"\n",{"type":426,"tag":553,"props":117693,"children":117694},{"class":555,"line":1036},[117695],{"type":426,"tag":553,"props":117696,"children":117697},{"style":572},[117698],{"type":431,"value":2673},{"type":426,"tag":553,"props":117700,"children":117701},{"class":555,"line":1054},[117702,117707,117711],{"type":426,"tag":553,"props":117703,"children":117704},{"style":684},[117705],{"type":431,"value":117706},"    tz ",{"type":426,"tag":553,"props":117708,"children":117709},{"style":795},[117710],{"type":431,"value":957},{"type":426,"tag":553,"props":117712,"children":117713},{"style":684},[117714],{"type":431,"value":117715}," pytz.timezone(timezone_str)\n",{"type":426,"tag":553,"props":117717,"children":117718},{"class":555,"line":1080},[117719,117724,117728,117733,117738,117742,117747],{"type":426,"tag":553,"props":117720,"children":117721},{"style":684},[117722],{"type":431,"value":117723},"    local_time ",{"type":426,"tag":553,"props":117725,"children":117726},{"style":795},[117727],{"type":431,"value":957},{"type":426,"tag":553,"props":117729,"children":117730},{"style":684},[117731],{"type":431,"value":117732}," tz.localize(datetime.strptime(local_time_str, ",{"type":426,"tag":553,"props":117734,"children":117735},{"style":572},[117736],{"type":431,"value":117737},"\"%Y-%m-",{"type":426,"tag":553,"props":117739,"children":117740},{"style":566},[117741],{"type":431,"value":41740},{"type":426,"tag":553,"props":117743,"children":117744},{"style":572},[117745],{"type":431,"value":117746}," %H:%M\"",{"type":426,"tag":553,"props":117748,"children":117749},{"style":684},[117750],{"type":431,"value":6538},{"type":426,"tag":553,"props":117752,"children":117753},{"class":555,"line":1097},[117754,117759,117763],{"type":426,"tag":553,"props":117755,"children":117756},{"style":684},[117757],{"type":431,"value":117758},"    utc_time ",{"type":426,"tag":553,"props":117760,"children":117761},{"style":795},[117762],{"type":431,"value":957},{"type":426,"tag":553,"props":117764,"children":117765},{"style":684},[117766],{"type":431,"value":117767}," local_time.astimezone(pytz.utc)\n",{"type":426,"tag":553,"props":117769,"children":117770},{"class":555,"line":1114},[117771],{"type":426,"tag":553,"props":117772,"children":117773},{"style":684},[117774],{"type":431,"value":917},{"type":426,"tag":553,"props":117776,"children":117777},{"class":555,"line":1127},[117778,117782],{"type":426,"tag":553,"props":117779,"children":117780},{"style":795},[117781],{"type":431,"value":1659},{"type":426,"tag":553,"props":117783,"children":117784},{"style":684},[117785],{"type":431,"value":117786}," schedule_whatsapp_message(phone, message, utc_time)\n",{"type":426,"tag":553,"props":117788,"children":117789},{"class":555,"line":1167},[117790],{"type":426,"tag":553,"props":117791,"children":117792},{"emptyLinePlaceholder":831},[117793],{"type":431,"value":834},{"type":426,"tag":553,"props":117795,"children":117796},{"class":555,"line":1184},[117797],{"type":426,"tag":553,"props":117798,"children":117799},{"style":1975},[117800],{"type":431,"value":117801},"# Schedule a message for 9 AM Dhaka time\n",{"type":426,"tag":553,"props":117803,"children":117804},{"class":555,"line":1192},[117805],{"type":426,"tag":553,"props":117806,"children":117807},{"style":684},[117808],{"type":431,"value":117809},"schedule_in_timezone(\n",{"type":426,"tag":553,"props":117811,"children":117812},{"class":555,"line":1210},[117813,117818],{"type":426,"tag":553,"props":117814,"children":117815},{"style":572},[117816],{"type":431,"value":117817},"    \"8801234567890\"",{"type":426,"tag":553,"props":117819,"children":117820},{"style":684},[117821],{"type":431,"value":710},{"type":426,"tag":553,"props":117823,"children":117824},{"class":555,"line":1253},[117825,117830],{"type":426,"tag":553,"props":117826,"children":117827},{"style":572},[117828],{"type":431,"value":117829},"    \"Good morning! Your daily report is ready.\"",{"type":426,"tag":553,"props":117831,"children":117832},{"style":684},[117833],{"type":431,"value":710},{"type":426,"tag":553,"props":117835,"children":117836},{"class":555,"line":1302},[117837,117842],{"type":426,"tag":553,"props":117838,"children":117839},{"style":572},[117840],{"type":431,"value":117841},"    \"2026-06-15 09:00\"",{"type":426,"tag":553,"props":117843,"children":117844},{"style":684},[117845],{"type":431,"value":710},{"type":426,"tag":553,"props":117847,"children":117848},{"class":555,"line":1374},[117849],{"type":426,"tag":553,"props":117850,"children":117851},{"style":572},[117852],{"type":431,"value":117853},"    \"Asia\u002FDhaka\"\n",{"type":426,"tag":553,"props":117855,"children":117856},{"class":555,"line":1414},[117857],{"type":426,"tag":553,"props":117858,"children":117859},{"style":684},[117860],{"type":431,"value":3262},{"type":426,"tag":434,"props":117862,"children":117863},{"id":18886},[117864],{"type":431,"value":18889},{"type":426,"tag":454,"props":117866,"children":117867},{},[117868,117886,117903,117912],{"type":426,"tag":458,"props":117869,"children":117870},{},[117871,117876,117878,117884],{"type":426,"tag":446,"props":117872,"children":117873},{},[117874],{"type":431,"value":117875},"Messages sent twice",{"type":431,"value":117877},": Add a database-level lock (",{"type":426,"tag":549,"props":117879,"children":117881},{"className":117880},[],[117882],{"type":431,"value":117883},"SELECT FOR UPDATE SKIP LOCKED",{"type":431,"value":117885},") in the query to prevent concurrent cron runs from picking the same message",{"type":426,"tag":458,"props":117887,"children":117888},{},[117889,117894,117896,117901],{"type":426,"tag":446,"props":117890,"children":117891},{},[117892],{"type":431,"value":117893},"Messages not sending",{"type":431,"value":117895},": Check cron job logs. Verify the Python\u002FNode.js environment variables (",{"type":426,"tag":549,"props":117897,"children":117899},{"className":117898},[],[117900],{"type":431,"value":7156},{"type":431,"value":117902},") are accessible in cron context",{"type":426,"tag":458,"props":117904,"children":117905},{},[117906,117910],{"type":426,"tag":446,"props":117907,"children":117908},{},[117909],{"type":431,"value":26117},{"type":431,"value":117911},": API key expired or wrong. Regenerate in Dashboard → API Keys",{"type":426,"tag":458,"props":117913,"children":117914},{},[117915,117920],{"type":426,"tag":446,"props":117916,"children":117917},{},[117918],{"type":431,"value":117919},"Messages sent late",{"type":431,"value":117921},": Cron runs every 1 minute — messages can be up to 59 seconds late. For exact timing, use second-level scheduling via Redis or a proper job queue (Celery, Bull)",{"type":426,"tag":434,"props":117923,"children":117924},{"id":4109},[117925],{"type":431,"value":4112},{"type":426,"tag":427,"props":117927,"children":117928},{},[117929,117934],{"type":426,"tag":446,"props":117930,"children":117931},{},[117932],{"type":431,"value":117933},"Does Rapiwa have a built-in scheduling feature?",{"type":431,"value":117935},"\nRapiwa's API sends messages immediately when called. Scheduling is implemented in your application layer using a cron job or task queue that calls the API at the right time.",{"type":426,"tag":427,"props":117937,"children":117938},{},[117939,117944,117946,117952],{"type":426,"tag":446,"props":117940,"children":117941},{},[117942],{"type":431,"value":117943},"Can I cancel a scheduled message?",{"type":431,"value":117945},"\nYes — update the database record: ",{"type":426,"tag":549,"props":117947,"children":117949},{"className":117948},[],[117950],{"type":431,"value":117951},"UPDATE scheduled_messages SET status = 'cancelled' WHERE id = ?",{"type":431,"value":117953},". The cron worker skips non-pending messages.",{"type":426,"tag":427,"props":117955,"children":117956},{},[117957,117962],{"type":426,"tag":446,"props":117958,"children":117959},{},[117960],{"type":431,"value":117961},"What is the maximum number of messages I can schedule?",{"type":431,"value":117963},"\nThere is no limit. The database holds as many scheduled messages as you configure. Rapiwa's flat $5\u002Fmonth pricing means no cost increase regardless of message volume.",{"type":426,"tag":427,"props":117965,"children":117966},{},[117967,117972],{"type":426,"tag":446,"props":117968,"children":117969},{},[117970],{"type":431,"value":117971},"How accurate is the scheduling timing?",{"type":431,"value":117973},"\nWith a 1-minute cron interval, messages can be up to 59 seconds late. For exact second-level timing, use Redis with sorted sets (messages stored by score = Unix timestamp) and a polling worker.",{"type":426,"tag":427,"props":117975,"children":117976},{},[117977,117982],{"type":426,"tag":446,"props":117978,"children":117979},{},[117980],{"type":431,"value":117981},"Can I schedule messages with attachments (images, PDFs)?",{"type":431,"value":117983},"\nYes — store the attachment URL in the database alongside the message and use Rapiwa's media send endpoints when the scheduler dispatches the message.",{"type":426,"tag":4164,"props":117985,"children":117986},{},[117987],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":117989},[117990,117991,117992,117993,117994,117998,118001,118002,118003,118004],{"id":114972,"depth":588,"text":114975},{"id":47624,"depth":588,"text":47627},{"id":115066,"depth":588,"text":115069},{"id":115123,"depth":588,"text":115126},{"id":115448,"depth":588,"text":115451,"children":117995},[117996,117997],{"id":784,"depth":606,"text":78773},{"id":79185,"depth":606,"text":79188},{"id":116441,"depth":588,"text":116444,"children":117999},[118000],{"id":116452,"depth":606,"text":116455},{"id":117531,"depth":588,"text":117534},{"id":117598,"depth":588,"text":117601},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:schedule-whatsapp-messages-api-rapiwa.md","blog\u002Fschedule-whatsapp-messages-api-rapiwa.md","blog\u002Fschedule-whatsapp-messages-api-rapiwa",{"loc":157},{"_path":161,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":162,"description":163,"date":118010,"author":47538,"category":43,"_slug":118011,"image":118012,"body":118013,"_type":4187,"_id":118960,"_source":4189,"_file":118961,"_stem":118962,"_extension":4192,"sitemap":118963},"2026-02-11","woocommerce-order-updates-whatsapp-rapiwa","\u002Fimages\u002Fblog\u002Fwoocommerce-order-updates-whatsapp-rapiwa.svg",{"type":423,"children":118014,"toc":118942},[118015,118020,118024,118029,118047,118055,118128,118151,118155,118193,118197,118229,118235,118278,118284,118299,118305,118313,118319,118327,118333,118341,118347,118355,118359,118364,118409,118465,118472,118565,118572,118647,118653,118658,118685,118721,118727,118732,118755,118759,118806,118810,118877,118881,118891,118901,118918,118928,118938],{"type":426,"tag":427,"props":118016,"children":118017},{},[118018],{"type":431,"value":118019},"This n8n workflow automatically sends WhatsApp messages to WooCommerce customers whenever their order status changes — from processing to shipped to delivered. Using Rapiwa API ($5\u002Fmonth, no per-message fees), every status update reaches the customer instantly on WhatsApp. Over 236 developers have deployed this workflow to reduce \"where is my order?\" support tickets by up to 60%.",{"type":426,"tag":434,"props":118021,"children":118022},{"id":47550},[118023],{"type":431,"value":47553},{"type":426,"tag":427,"props":118025,"children":118026},{},[118027],{"type":431,"value":118028},"Whenever a WooCommerce order status changes:",{"type":426,"tag":6331,"props":118030,"children":118031},{},[118032,118037,118042],{"type":426,"tag":458,"props":118033,"children":118034},{},[118035],{"type":431,"value":118036},"The WooCommerce Trigger fires in n8n with the new status",{"type":426,"tag":458,"props":118038,"children":118039},{},[118040],{"type":431,"value":118041},"n8n routes the message to the correct template (processing, shipped, delivered, cancelled)",{"type":426,"tag":458,"props":118043,"children":118044},{},[118045],{"type":431,"value":118046},"Rapiwa API sends the personalized WhatsApp notification to the customer",{"type":426,"tag":427,"props":118048,"children":118049},{},[118050],{"type":426,"tag":446,"props":118051,"children":118052},{},[118053],{"type":431,"value":118054},"Order statuses covered:",{"type":426,"tag":454,"props":118056,"children":118057},{},[118058,118069,118080,118097,118108,118118],{"type":426,"tag":458,"props":118059,"children":118060},{},[118061,118067],{"type":426,"tag":549,"props":118062,"children":118064},{"className":118063},[],[118065],{"type":431,"value":118066},"pending",{"type":431,"value":118068}," → \"We received your order\"",{"type":426,"tag":458,"props":118070,"children":118071},{},[118072,118078],{"type":426,"tag":549,"props":118073,"children":118075},{"className":118074},[],[118076],{"type":431,"value":118077},"processing",{"type":431,"value":118079}," → \"Your order is being prepared\"",{"type":426,"tag":458,"props":118081,"children":118082},{},[118083,118089,118091,118096],{"type":426,"tag":549,"props":118084,"children":118086},{"className":118085},[],[118087],{"type":431,"value":118088},"shipped",{"type":431,"value":118090}," → \"Your order has shipped! Tracking: ",{"type":426,"tag":553,"props":118092,"children":118093},{},[118094],{"type":431,"value":118095},"link",{"type":431,"value":1527},{"type":426,"tag":458,"props":118098,"children":118099},{},[118100,118106],{"type":426,"tag":549,"props":118101,"children":118103},{"className":118102},[],[118104],{"type":431,"value":118105},"completed",{"type":431,"value":118107}," → \"Your order has been delivered\"",{"type":426,"tag":458,"props":118109,"children":118110},{},[118111,118116],{"type":426,"tag":549,"props":118112,"children":118114},{"className":118113},[],[118115],{"type":431,"value":103333},{"type":431,"value":118117}," → \"Your order has been cancelled\"",{"type":426,"tag":458,"props":118119,"children":118120},{},[118121,118126],{"type":426,"tag":549,"props":118122,"children":118124},{"className":118123},[],[118125],{"type":431,"value":103340},{"type":431,"value":118127}," → \"Your refund has been processed\"",{"type":426,"tag":41290,"props":118129,"children":118130},{},[118131],{"type":426,"tag":427,"props":118132,"children":118133},{},[118134,118138,118139,118146],{"type":426,"tag":446,"props":118135,"children":118136},{},[118137],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":118140,"children":118143},{"href":118141,"rel":118142},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9880-woocommerce-order-updates-to-customers-via-whatsapp-with-rapiwa-api\u002F",[3823],[118144],{"type":431,"value":118145},"WooCommerce order updates to customers via WhatsApp with Rapiwa API →",{"type":426,"tag":47617,"props":118147,"children":118148},{},[118149],{"type":431,"value":118150},"(236 installs)",{"type":426,"tag":434,"props":118152,"children":118153},{"id":47624},[118154],{"type":431,"value":47627},{"type":426,"tag":454,"props":118156,"children":118157},{},[118158,118171,118179,118188],{"type":426,"tag":458,"props":118159,"children":118160},{},[118161,118165,118166],{"type":426,"tag":446,"props":118162,"children":118163},{},[118164],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":118167,"children":118169},{"href":3821,"rel":118168},[3823],[118170],{"type":431,"value":47645},{"type":426,"tag":458,"props":118172,"children":118173},{},[118174,118178],{"type":426,"tag":446,"props":118175,"children":118176},{},[118177],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":118180,"children":118181},{},[118182,118186],{"type":426,"tag":446,"props":118183,"children":118184},{},[118185],{"type":431,"value":113829},{"type":431,"value":118187}," with REST API credentials",{"type":426,"tag":458,"props":118189,"children":118190},{},[118191],{"type":431,"value":118192},"Customer phone numbers in WooCommerce order billing fields",{"type":426,"tag":434,"props":118194,"children":118195},{"id":100634},[118196],{"type":431,"value":100637},{"type":426,"tag":6331,"props":118198,"children":118199},{},[118200,118210,118218],{"type":426,"tag":458,"props":118201,"children":118202},{},[118203,118204],{"type":431,"value":47846},{"type":426,"tag":3819,"props":118205,"children":118207},{"href":118141,"rel":118206},[3823],[118208],{"type":431,"value":118209},"n8n.io\u002Fworkflows\u002F9880",{"type":426,"tag":458,"props":118211,"children":118212},{},[118213,118214],{"type":431,"value":47857},{"type":426,"tag":446,"props":118215,"children":118216},{},[118217],{"type":431,"value":47862},{"type":426,"tag":458,"props":118219,"children":118220},{},[118221,118223,118227],{"type":431,"value":118222},"The workflow uses a ",{"type":426,"tag":446,"props":118224,"children":118225},{},[118226],{"type":431,"value":101522},{"type":431,"value":118228}," node to route by order status to different message templates",{"type":426,"tag":434,"props":118230,"children":118232},{"id":118231},"step-2-configure-woocommerce-credentials",[118233],{"type":431,"value":118234},"Step 2: Configure WooCommerce Credentials",{"type":426,"tag":6331,"props":118236,"children":118237},{},[118238,118248,118253,118258,118268],{"type":426,"tag":458,"props":118239,"children":118240},{},[118241,118243,118247],{"type":431,"value":118242},"In n8n, click the ",{"type":426,"tag":446,"props":118244,"children":118245},{},[118246],{"type":431,"value":113876},{"type":431,"value":47961},{"type":426,"tag":458,"props":118249,"children":118250},{},[118251],{"type":431,"value":118252},"Credentials → Create new",{"type":426,"tag":458,"props":118254,"children":118255},{},[118256],{"type":431,"value":118257},"Enter: Store URL, Consumer Key, Consumer Secret",{"type":426,"tag":458,"props":118259,"children":118260},{},[118261,118263],{"type":431,"value":118262},"Get API keys from: ",{"type":426,"tag":446,"props":118264,"children":118265},{},[118266],{"type":431,"value":118267},"WordPress → WooCommerce → Settings → Advanced → REST API",{"type":426,"tag":458,"props":118269,"children":118270},{},[118271,118273],{"type":431,"value":118272},"Event: ",{"type":426,"tag":446,"props":118274,"children":118275},{},[118276],{"type":431,"value":118277},"Order updated",{"type":426,"tag":434,"props":118279,"children":118281},{"id":118280},"step-3-configure-message-templates-for-each-status",[118282],{"type":431,"value":118283},"Step 3: Configure Message Templates for Each Status",{"type":426,"tag":427,"props":118285,"children":118286},{},[118287,118288,118292,118294,118298],{"type":431,"value":113983},{"type":426,"tag":446,"props":118289,"children":118290},{},[118291],{"type":431,"value":101522},{"type":431,"value":118293}," node, there are branches for each order status. Edit the message in each branch's ",{"type":426,"tag":446,"props":118295,"children":118296},{},[118297],{"type":431,"value":60378},{"type":431,"value":55423},{"type":426,"tag":515,"props":118300,"children":118302},{"id":118301},"processing-message",[118303],{"type":431,"value":118304},"Processing Message",{"type":426,"tag":542,"props":118306,"children":118308},{"code":118307},"Hi {{ $json.first_name }}! ✅\n\nYour order #{{ $json.order_id }} is now being processed.\n\nItems ordered:\n{{ $json.items_list }}\n\nTotal: {{ $json.order_total }}\n\nWe'll notify you when your order ships! 📦\n",[118309],{"type":426,"tag":549,"props":118310,"children":118311},{"__ignoreMap":417},[118312],{"type":431,"value":118307},{"type":426,"tag":515,"props":118314,"children":118316},{"id":118315},"shipped-message",[118317],{"type":431,"value":118318},"Shipped Message",{"type":426,"tag":542,"props":118320,"children":118322},{"code":118321},"Hi {{ $json.first_name }}! 🚚\n\nGreat news — your order #{{ $json.order_id }} has shipped!\n\nTracking number: {{ $json.tracking_number }}\nCarrier: {{ $json.carrier_name }}\n\nTrack your order here:\n{{ $json.tracking_url }}\n\nExpected delivery: {{ $json.estimated_delivery }}\n",[118323],{"type":426,"tag":549,"props":118324,"children":118325},{"__ignoreMap":417},[118326],{"type":431,"value":118321},{"type":426,"tag":515,"props":118328,"children":118330},{"id":118329},"completeddelivered-message",[118331],{"type":431,"value":118332},"Completed\u002FDelivered Message",{"type":426,"tag":542,"props":118334,"children":118336},{"code":118335},"Hi {{ $json.first_name }}! 🎉\n\nYour order #{{ $json.order_id }} has been delivered!\n\nWe hope you love your purchase. If you have any questions, just reply to this message.\n\nWould you mind leaving a review? It helps us a lot:\n{{ $json.review_url }}\n",[118337],{"type":426,"tag":549,"props":118338,"children":118339},{"__ignoreMap":417},[118340],{"type":431,"value":118335},{"type":426,"tag":515,"props":118342,"children":118344},{"id":118343},"cancelled-message",[118345],{"type":431,"value":118346},"Cancelled Message",{"type":426,"tag":542,"props":118348,"children":118350},{"code":118349},"Hi {{ $json.first_name }},\n\nYour order #{{ $json.order_id }} has been cancelled as requested.\n\nIf this was a mistake or you have questions, please contact us:\n📞 {{ $json.support_phone }}\n📧 {{ $json.support_email }}\n\nWe hope to serve you again soon.\n",[118351],{"type":426,"tag":549,"props":118352,"children":118353},{"__ignoreMap":417},[118354],{"type":431,"value":118349},{"type":426,"tag":434,"props":118356,"children":118357},{"id":55101},[118358],{"type":431,"value":55104},{"type":426,"tag":427,"props":118360,"children":118361},{},[118362],{"type":431,"value":118363},"Each branch has its own HTTP Request node. Configure each one:",{"type":426,"tag":454,"props":118365,"children":118366},{},[118367,118375,118388,118401],{"type":426,"tag":458,"props":118368,"children":118369},{},[118370,118374],{"type":426,"tag":446,"props":118371,"children":118372},{},[118373],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":118376,"children":118377},{},[118378,118382,118383],{"type":426,"tag":446,"props":118379,"children":118380},{},[118381],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":118384,"children":118386},{"className":118385},[],[118387],{"type":431,"value":48098},{"type":426,"tag":458,"props":118389,"children":118390},{},[118391,118395,118396],{"type":426,"tag":446,"props":118392,"children":118393},{},[118394],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":118397,"children":118399},{"className":118398},[],[118400],{"type":431,"value":48113},{"type":426,"tag":458,"props":118402,"children":118403},{},[118404,118408],{"type":426,"tag":446,"props":118405,"children":118406},{},[118407],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":118410,"children":118412},{"code":118411,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $('WooCommerce Trigger').item.json.billing.phone }}\",\n  \"message\": \"={{ $json.whatsapp_message }}\"\n}\n",[118413],{"type":426,"tag":549,"props":118414,"children":118415},{"__ignoreMap":417},[118416,118423,118442,118458],{"type":426,"tag":553,"props":118417,"children":118418},{"class":555,"line":556},[118419],{"type":426,"tag":553,"props":118420,"children":118421},{"style":684},[118422],{"type":431,"value":687},{"type":426,"tag":553,"props":118424,"children":118425},{"class":555,"line":588},[118426,118430,118434,118438],{"type":426,"tag":553,"props":118427,"children":118428},{"style":566},[118429],{"type":431,"value":7277},{"type":426,"tag":553,"props":118431,"children":118432},{"style":684},[118433],{"type":431,"value":700},{"type":426,"tag":553,"props":118435,"children":118436},{"style":572},[118437],{"type":431,"value":114478},{"type":426,"tag":553,"props":118439,"children":118440},{"style":684},[118441],{"type":431,"value":710},{"type":426,"tag":553,"props":118443,"children":118444},{"class":555,"line":606},[118445,118449,118453],{"type":426,"tag":553,"props":118446,"children":118447},{"style":566},[118448],{"type":431,"value":7298},{"type":426,"tag":553,"props":118450,"children":118451},{"style":684},[118452],{"type":431,"value":700},{"type":426,"tag":553,"props":118454,"children":118455},{"style":572},[118456],{"type":431,"value":118457},"\"={{ $json.whatsapp_message }}\"\n",{"type":426,"tag":553,"props":118459,"children":118460},{"class":555,"line":623},[118461],{"type":426,"tag":553,"props":118462,"children":118463},{"style":684},[118464],{"type":431,"value":756},{"type":426,"tag":427,"props":118466,"children":118467},{},[118468],{"type":426,"tag":446,"props":118469,"children":118470},{},[118471],{"type":431,"value":48187},{"type":426,"tag":542,"props":118473,"children":118475},{"code":118474,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi John! 🚚 Your order #1234 has shipped!\\n\\nTracking: TRK123456\\nCarrier: DHL\\n\\nTrack here: https:\u002F\u002Fdhl.com\u002Ftrack\u002FTRK123456\\n\\nExpected delivery: June 14, 2026\"\n  }'\n",[118476],{"type":426,"tag":549,"props":118477,"children":118478},{"__ignoreMap":417},[118479,118502,118517,118532,118543,118550,118558],{"type":426,"tag":553,"props":118480,"children":118481},{"class":555,"line":556},[118482,118486,118490,118494,118498],{"type":426,"tag":553,"props":118483,"children":118484},{"style":560},[118485],{"type":431,"value":563},{"type":426,"tag":553,"props":118487,"children":118488},{"style":566},[118489],{"type":431,"value":569},{"type":426,"tag":553,"props":118491,"children":118492},{"style":572},[118493],{"type":431,"value":575},{"type":426,"tag":553,"props":118495,"children":118496},{"style":572},[118497],{"type":431,"value":580},{"type":426,"tag":553,"props":118499,"children":118500},{"style":566},[118501],{"type":431,"value":585},{"type":426,"tag":553,"props":118503,"children":118504},{"class":555,"line":588},[118505,118509,118513],{"type":426,"tag":553,"props":118506,"children":118507},{"style":566},[118508],{"type":431,"value":594},{"type":426,"tag":553,"props":118510,"children":118511},{"style":572},[118512],{"type":431,"value":599},{"type":426,"tag":553,"props":118514,"children":118515},{"style":566},[118516],{"type":431,"value":585},{"type":426,"tag":553,"props":118518,"children":118519},{"class":555,"line":606},[118520,118524,118528],{"type":426,"tag":553,"props":118521,"children":118522},{"style":566},[118523],{"type":431,"value":594},{"type":426,"tag":553,"props":118525,"children":118526},{"style":572},[118527],{"type":431,"value":616},{"type":426,"tag":553,"props":118529,"children":118530},{"style":566},[118531],{"type":431,"value":585},{"type":426,"tag":553,"props":118533,"children":118534},{"class":555,"line":623},[118535,118539],{"type":426,"tag":553,"props":118536,"children":118537},{"style":566},[118538],{"type":431,"value":629},{"type":426,"tag":553,"props":118540,"children":118541},{"style":572},[118542],{"type":431,"value":634},{"type":426,"tag":553,"props":118544,"children":118545},{"class":555,"line":637},[118546],{"type":426,"tag":553,"props":118547,"children":118548},{"style":572},[118549],{"type":431,"value":643},{"type":426,"tag":553,"props":118551,"children":118552},{"class":555,"line":646},[118553],{"type":426,"tag":553,"props":118554,"children":118555},{"style":572},[118556],{"type":431,"value":118557},"    \"message\": \"Hi John! 🚚 Your order #1234 has shipped!\\n\\nTracking: TRK123456\\nCarrier: DHL\\n\\nTrack here: https:\u002F\u002Fdhl.com\u002Ftrack\u002FTRK123456\\n\\nExpected delivery: June 14, 2026\"\n",{"type":426,"tag":553,"props":118559,"children":118560},{"class":555,"line":655},[118561],{"type":426,"tag":553,"props":118562,"children":118563},{"style":572},[118564],{"type":431,"value":661},{"type":426,"tag":427,"props":118566,"children":118567},{},[118568],{"type":426,"tag":446,"props":118569,"children":118570},{},[118571],{"type":431,"value":669},{"type":426,"tag":542,"props":118573,"children":118575},{"code":118574,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123\",\n  \"timestamp\": \"2026-06-11T10:30:00Z\"\n}\n",[118576],{"type":426,"tag":549,"props":118577,"children":118578},{"__ignoreMap":417},[118579,118586,118605,118624,118640],{"type":426,"tag":553,"props":118580,"children":118581},{"class":555,"line":556},[118582],{"type":426,"tag":553,"props":118583,"children":118584},{"style":684},[118585],{"type":431,"value":687},{"type":426,"tag":553,"props":118587,"children":118588},{"class":555,"line":588},[118589,118593,118597,118601],{"type":426,"tag":553,"props":118590,"children":118591},{"style":566},[118592],{"type":431,"value":695},{"type":426,"tag":553,"props":118594,"children":118595},{"style":684},[118596],{"type":431,"value":700},{"type":426,"tag":553,"props":118598,"children":118599},{"style":572},[118600],{"type":431,"value":705},{"type":426,"tag":553,"props":118602,"children":118603},{"style":684},[118604],{"type":431,"value":710},{"type":426,"tag":553,"props":118606,"children":118607},{"class":555,"line":606},[118608,118612,118616,118620],{"type":426,"tag":553,"props":118609,"children":118610},{"style":566},[118611],{"type":431,"value":718},{"type":426,"tag":553,"props":118613,"children":118614},{"style":684},[118615],{"type":431,"value":700},{"type":426,"tag":553,"props":118617,"children":118618},{"style":572},[118619],{"type":431,"value":7376},{"type":426,"tag":553,"props":118621,"children":118622},{"style":684},[118623],{"type":431,"value":710},{"type":426,"tag":553,"props":118625,"children":118626},{"class":555,"line":623},[118627,118631,118635],{"type":426,"tag":553,"props":118628,"children":118629},{"style":566},[118630],{"type":431,"value":739},{"type":426,"tag":553,"props":118632,"children":118633},{"style":684},[118634],{"type":431,"value":700},{"type":426,"tag":553,"props":118636,"children":118637},{"style":572},[118638],{"type":431,"value":118639},"\"2026-06-11T10:30:00Z\"\n",{"type":426,"tag":553,"props":118641,"children":118642},{"class":555,"line":637},[118643],{"type":426,"tag":553,"props":118644,"children":118645},{"style":684},[118646],{"type":431,"value":756},{"type":426,"tag":434,"props":118648,"children":118650},{"id":118649},"step-5-add-tracking-information",[118651],{"type":431,"value":118652},"Step 5: Add Tracking Information",{"type":426,"tag":427,"props":118654,"children":118655},{},[118656],{"type":431,"value":118657},"WooCommerce doesn't store tracking numbers natively. To add tracking support:",{"type":426,"tag":427,"props":118659,"children":118660},{},[118661,118666,118668,118675,118677,118683],{"type":426,"tag":446,"props":118662,"children":118663},{},[118664],{"type":431,"value":118665},"Option A: WooCommerce Shipment Tracking Plugin",{"type":431,"value":118667},"\nInstall the ",{"type":426,"tag":3819,"props":118669,"children":118672},{"href":118670,"rel":118671},"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fshipment-tracking\u002F",[3823],[118673],{"type":431,"value":118674},"WooCommerce Shipment Tracking",{"type":431,"value":118676}," plugin. It adds ",{"type":426,"tag":549,"props":118678,"children":118680},{"className":118679},[],[118681],{"type":431,"value":118682},"_wc_shipment_tracking_items",{"type":431,"value":118684}," to order metadata, which n8n can read via the WooCommerce API.",{"type":426,"tag":427,"props":118686,"children":118687},{},[118688,118693,118695,118700,118701,118706,118707,118713,118714,118719],{"type":426,"tag":446,"props":118689,"children":118690},{},[118691],{"type":431,"value":118692},"Option B: Google Sheet Lookup",{"type":431,"value":118694},"\nMaintain a Google Sheet with columns: ",{"type":426,"tag":549,"props":118696,"children":118698},{"className":118697},[],[118699],{"type":431,"value":46710},{"type":431,"value":1907},{"type":426,"tag":549,"props":118702,"children":118704},{"className":118703},[],[118705],{"type":431,"value":94017},{"type":431,"value":1907},{"type":426,"tag":549,"props":118708,"children":118710},{"className":118709},[],[118711],{"type":431,"value":118712},"carrier",{"type":431,"value":1907},{"type":426,"tag":549,"props":118715,"children":118717},{"className":118716},[],[118718],{"type":431,"value":47251},{"type":431,"value":118720},". The n8n workflow looks up the tracking info when sending the shipped notification.",{"type":426,"tag":434,"props":118722,"children":118724},{"id":118723},"step-6-test-all-status-transitions",[118725],{"type":431,"value":118726},"Step 6: Test All Status Transitions",{"type":426,"tag":427,"props":118728,"children":118729},{},[118730],{"type":431,"value":118731},"Test each status transition:",{"type":426,"tag":6331,"props":118733,"children":118734},{},[118735,118740,118745,118750],{"type":426,"tag":458,"props":118736,"children":118737},{},[118738],{"type":431,"value":118739},"Create a test order — check \"pending\" message arrives",{"type":426,"tag":458,"props":118741,"children":118742},{},[118743],{"type":431,"value":118744},"Change status to \"processing\" — check message",{"type":426,"tag":458,"props":118746,"children":118747},{},[118748],{"type":431,"value":118749},"Change to \"shipped\" (manually if needed) — check message with tracking",{"type":426,"tag":458,"props":118751,"children":118752},{},[118753],{"type":431,"value":118754},"Change to \"completed\" — check delivered message",{"type":426,"tag":434,"props":118756,"children":118757},{"id":4050},[118758],{"type":431,"value":4053},{"type":426,"tag":454,"props":118760,"children":118761},{},[118762,118772,118781,118790],{"type":426,"tag":458,"props":118763,"children":118764},{},[118765,118770],{"type":426,"tag":446,"props":118766,"children":118767},{},[118768],{"type":431,"value":118769},"60% reduction",{"type":431,"value":118771}," in \"where is my order?\" support tickets",{"type":426,"tag":458,"props":118773,"children":118774},{},[118775,118779],{"type":426,"tag":446,"props":118776,"children":118777},{},[118778],{"type":431,"value":465},{"type":431,"value":118780}," on WhatsApp order updates vs 20% for email",{"type":426,"tag":458,"props":118782,"children":118783},{},[118784,118789],{"type":426,"tag":446,"props":118785,"children":118786},{},[118787],{"type":431,"value":118788},"236 WooCommerce stores",{"type":431,"value":48563},{"type":426,"tag":458,"props":118791,"children":118792},{},[118793,118795,118800,118801],{"type":431,"value":118794},"Customers who receive proactive order updates have ",{"type":426,"tag":446,"props":118796,"children":118797},{},[118798],{"type":431,"value":118799},"higher satisfaction scores",{"type":431,"value":48630},{"type":426,"tag":446,"props":118802,"children":118803},{},[118804],{"type":431,"value":118805},"higher repeat purchase rates",{"type":426,"tag":434,"props":118807,"children":118808},{"id":18886},[118809],{"type":431,"value":18889},{"type":426,"tag":454,"props":118811,"children":118812},{},[118813,118829,118845,118867],{"type":426,"tag":458,"props":118814,"children":118815},{},[118816,118821,118823],{"type":426,"tag":446,"props":118817,"children":118818},{},[118819],{"type":431,"value":118820},"Trigger firing for all order updates (not just status changes)",{"type":431,"value":118822},": Add an IF node to check ",{"type":426,"tag":549,"props":118824,"children":118826},{"className":118825},[],[118827],{"type":431,"value":118828},"previous_status != current_status",{"type":426,"tag":458,"props":118830,"children":118831},{},[118832,118837,118839],{"type":426,"tag":446,"props":118833,"children":118834},{},[118835],{"type":431,"value":118836},"Missing tracking number in \"shipped\" message",{"type":431,"value":118838},": Handle gracefully with a fallback: ",{"type":426,"tag":549,"props":118840,"children":118842},{"className":118841},[],[118843],{"type":431,"value":118844},"{{ $json.tracking_number || 'Available soon' }}",{"type":426,"tag":458,"props":118846,"children":118847},{},[118848,118853,118855,118860,118862],{"type":426,"tag":446,"props":118849,"children":118850},{},[118851],{"type":431,"value":118852},"Phone number in wrong format",{"type":431,"value":118854},": Strip spaces and ",{"type":426,"tag":549,"props":118856,"children":118858},{"className":118857},[],[118859],{"type":431,"value":2033},{"type":431,"value":118861}," from the number. Use ",{"type":426,"tag":549,"props":118863,"children":118865},{"className":118864},[],[118866],{"type":431,"value":104486},{"type":426,"tag":458,"props":118868,"children":118869},{},[118870,118875],{"type":426,"tag":446,"props":118871,"children":118872},{},[118873],{"type":431,"value":118874},"401 Unauthorized from Rapiwa",{"type":431,"value":118876},": API key expired or incorrect — regenerate in Dashboard → API Keys",{"type":426,"tag":434,"props":118878,"children":118879},{"id":4109},[118880],{"type":431,"value":4112},{"type":426,"tag":427,"props":118882,"children":118883},{},[118884,118889],{"type":426,"tag":446,"props":118885,"children":118886},{},[118887],{"type":431,"value":118888},"Can I send order updates for all status changes or just specific ones?",{"type":431,"value":118890},"\nThe template handles all major statuses. You can disable any status branch in the Switch node by adding a condition that outputs nothing (empty Set node).",{"type":426,"tag":427,"props":118892,"children":118893},{},[118894,118899],{"type":426,"tag":446,"props":118895,"children":118896},{},[118897],{"type":431,"value":118898},"Do customers need to opt in to receive WhatsApp order updates?",{"type":431,"value":118900},"\nBest practice is to add a checkbox at WooCommerce checkout: \"Send me order updates via WhatsApp.\" Store consent in order metadata and check it in the n8n workflow before sending.",{"type":426,"tag":427,"props":118902,"children":118903},{},[118904,118909,118911,118916],{"type":426,"tag":446,"props":118905,"children":118906},{},[118907],{"type":431,"value":118908},"Can I include the product image in the WhatsApp notification?",{"type":431,"value":118910},"\nRapiwa supports sending image messages via the ",{"type":426,"tag":549,"props":118912,"children":118914},{"className":118913},[],[118915],{"type":431,"value":7833},{"type":431,"value":118917}," endpoint. You can modify the workflow to send the product image alongside the order update text.",{"type":426,"tag":427,"props":118919,"children":118920},{},[118921,118926],{"type":426,"tag":446,"props":118922,"children":118923},{},[118924],{"type":431,"value":118925},"Does Rapiwa charge per order update message?",{"type":431,"value":118927},"\nNo. Rapiwa is $5\u002Fmonth flat with no per-message fees. Send unlimited order status notifications.",{"type":426,"tag":427,"props":118929,"children":118930},{},[118931,118936],{"type":426,"tag":446,"props":118932,"children":118933},{},[118934],{"type":431,"value":118935},"Can this workflow handle orders from multiple WooCommerce stores?",{"type":431,"value":118937},"\nYes. Duplicate the workflow in n8n and configure separate WooCommerce API credentials and Rapiwa API keys for each store.",{"type":426,"tag":4164,"props":118939,"children":118940},{},[118941],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":118943},[118944,118945,118946,118947,118948,118954,118955,118956,118957,118958,118959],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":100634,"depth":588,"text":100637},{"id":118231,"depth":588,"text":118234},{"id":118280,"depth":588,"text":118283,"children":118949},[118950,118951,118952,118953],{"id":118301,"depth":606,"text":118304},{"id":118315,"depth":606,"text":118318},{"id":118329,"depth":606,"text":118332},{"id":118343,"depth":606,"text":118346},{"id":55101,"depth":588,"text":55104},{"id":118649,"depth":588,"text":118652},{"id":118723,"depth":588,"text":118726},{"id":4050,"depth":588,"text":4053},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:woocommerce-order-updates-whatsapp-rapiwa.md","blog\u002Fwoocommerce-order-updates-whatsapp-rapiwa.md","blog\u002Fwoocommerce-order-updates-whatsapp-rapiwa",{"loc":161},{"_path":165,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":166,"description":167,"date":118965,"author":33271,"category":43,"_slug":118966,"image":118967,"body":118968,"_type":4187,"_id":119897,"_source":4189,"_file":119898,"_stem":119899,"_extension":4192,"sitemap":119900},"2026-02-10","woocommerce-review-request-whatsapp-rapiwa","\u002Fimages\u002Fblog\u002Fwoocommerce-review-request-whatsapp-rapiwa.svg",{"type":423,"children":118969,"toc":119882},[118970,118975,118979,118984,119002,119011,119034,119038,119076,119082,119140,119144,119212,119218,119253,119259,119288,119292,119302,119347,119403,119410,119503,119510,119586,119592,119601,119609,119617,119645,119651,119656,119664,119669,119677,119696,119700,119732,119736,119767,119771,119824,119828,119838,119848,119858,119868,119878],{"type":426,"tag":427,"props":118971,"children":118972},{},[118973],{"type":431,"value":118974},"This n8n workflow automatically sends a WhatsApp message to WooCommerce customers after their order is completed, asking them to leave a product review. Using Rapiwa API ($5\u002Fmonth, no per-message fees), the message includes the product name and a direct link to the review page. Over 284 developers have installed this template and use it to increase review counts without manual follow-up.",{"type":426,"tag":434,"props":118976,"children":118977},{"id":47550},[118978],{"type":431,"value":47553},{"type":426,"tag":427,"props":118980,"children":118981},{},[118982],{"type":431,"value":118983},"When a WooCommerce order status changes to \"completed\":",{"type":426,"tag":6331,"props":118985,"children":118986},{},[118987,118992,118997],{"type":426,"tag":458,"props":118988,"children":118989},{},[118990],{"type":431,"value":118991},"n8n waits a configurable delay (e.g., 3 days after delivery)",{"type":426,"tag":458,"props":118993,"children":118994},{},[118995],{"type":431,"value":118996},"Fetches the customer name, purchased product name, and phone number from the order",{"type":426,"tag":458,"props":118998,"children":118999},{},[119000],{"type":431,"value":119001},"Sends a friendly WhatsApp review request with a direct product review link",{"type":426,"tag":427,"props":119003,"children":119004},{},[119005,119009],{"type":426,"tag":446,"props":119006,"children":119007},{},[119008],{"type":431,"value":43482},{"type":431,"value":119010},": 3–5x more product reviews compared to email review request campaigns.",{"type":426,"tag":41290,"props":119012,"children":119013},{},[119014],{"type":426,"tag":427,"props":119015,"children":119016},{},[119017,119021,119022,119029],{"type":426,"tag":446,"props":119018,"children":119019},{},[119020],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":119023,"children":119026},{"href":119024,"rel":119025},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9969-automate-review-request-via-whatsapp-for-completed-woocommerce-order-with-rapiwa\u002F",[3823],[119027],{"type":431,"value":119028},"Automate review request via WhatsApp for completed WooCommerce order with Rapiwa →",{"type":426,"tag":47617,"props":119030,"children":119031},{},[119032],{"type":431,"value":119033},"(284 installs)",{"type":426,"tag":434,"props":119035,"children":119036},{"id":47624},[119037],{"type":431,"value":47627},{"type":426,"tag":454,"props":119039,"children":119040},{},[119041,119054,119062,119071],{"type":426,"tag":458,"props":119042,"children":119043},{},[119044,119048,119049],{"type":426,"tag":446,"props":119045,"children":119046},{},[119047],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":119050,"children":119052},{"href":3821,"rel":119051},[3823],[119053],{"type":431,"value":47645},{"type":426,"tag":458,"props":119055,"children":119056},{},[119057,119061],{"type":426,"tag":446,"props":119058,"children":119059},{},[119060],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":119063,"children":119064},{},[119065,119069],{"type":426,"tag":446,"props":119066,"children":119067},{},[119068],{"type":431,"value":113829},{"type":431,"value":119070}," — REST API credentials (consumer key + secret)",{"type":426,"tag":458,"props":119072,"children":119073},{},[119074],{"type":431,"value":119075},"Customer phone numbers in WooCommerce orders (international format)",{"type":426,"tag":434,"props":119077,"children":119079},{"id":119078},"step-1-set-up-woocommerce-rest-api-credentials",[119080],{"type":431,"value":119081},"Step 1: Set Up WooCommerce REST API Credentials",{"type":426,"tag":6331,"props":119083,"children":119084},{},[119085,119094,119102,119113,119118,119127,119136],{"type":426,"tag":458,"props":119086,"children":119087},{},[119088,119090],{"type":431,"value":119089},"In WordPress, go to ",{"type":426,"tag":446,"props":119091,"children":119092},{},[119093],{"type":431,"value":113941},{"type":426,"tag":458,"props":119095,"children":119096},{},[119097,119098],{"type":431,"value":47857},{"type":426,"tag":446,"props":119099,"children":119100},{},[119101],{"type":431,"value":113950},{"type":426,"tag":458,"props":119103,"children":119104},{},[119105,119107],{"type":431,"value":119106},"Description: ",{"type":426,"tag":549,"props":119108,"children":119110},{"className":119109},[],[119111],{"type":431,"value":119112},"n8n Review Bot",{"type":426,"tag":458,"props":119114,"children":119115},{},[119116],{"type":431,"value":119117},"User: your admin user",{"type":426,"tag":458,"props":119119,"children":119120},{},[119121,119122],{"type":431,"value":113955},{"type":426,"tag":446,"props":119123,"children":119124},{},[119125],{"type":431,"value":119126},"Read",{"type":426,"tag":458,"props":119128,"children":119129},{},[119130,119131],{"type":431,"value":47857},{"type":426,"tag":446,"props":119132,"children":119133},{},[119134],{"type":431,"value":119135},"Generate API key",{"type":426,"tag":458,"props":119137,"children":119138},{},[119139],{"type":431,"value":113967},{"type":426,"tag":434,"props":119141,"children":119142},{"id":47835},[119143],{"type":431,"value":47838},{"type":426,"tag":6331,"props":119145,"children":119146},{},[119147,119157,119165],{"type":426,"tag":458,"props":119148,"children":119149},{},[119150,119151],{"type":431,"value":47846},{"type":426,"tag":3819,"props":119152,"children":119154},{"href":119024,"rel":119153},[3823],[119155],{"type":431,"value":119156},"n8n.io\u002Fworkflows\u002F9969",{"type":426,"tag":458,"props":119158,"children":119159},{},[119160,119161],{"type":431,"value":47857},{"type":426,"tag":446,"props":119162,"children":119163},{},[119164],{"type":431,"value":47862},{"type":426,"tag":458,"props":119166,"children":119167},{},[119168,119169],{"type":431,"value":47867},{"type":426,"tag":454,"props":119170,"children":119171},{},[119172,119185,119195,119204],{"type":426,"tag":458,"props":119173,"children":119174},{},[119175,119179,119180],{"type":426,"tag":446,"props":119176,"children":119177},{},[119178],{"type":431,"value":113876},{"type":431,"value":103545},{"type":426,"tag":549,"props":119181,"children":119183},{"className":119182},[],[119184],{"type":431,"value":113883},{"type":426,"tag":458,"props":119186,"children":119187},{},[119188,119193],{"type":426,"tag":446,"props":119189,"children":119190},{},[119191],{"type":431,"value":119192},"Wait node",{"type":431,"value":119194}," → delays 3 days (configurable)",{"type":426,"tag":458,"props":119196,"children":119197},{},[119198,119202],{"type":426,"tag":446,"props":119199,"children":119200},{},[119201],{"type":431,"value":47921},{"type":431,"value":119203}," → builds the review request message",{"type":426,"tag":458,"props":119205,"children":119206},{},[119207,119211],{"type":426,"tag":446,"props":119208,"children":119209},{},[119210],{"type":431,"value":47931},{"type":431,"value":103586},{"type":426,"tag":434,"props":119213,"children":119215},{"id":119214},"step-3-configure-woocommerce-trigger",[119216],{"type":431,"value":119217},"Step 3: Configure WooCommerce Trigger",{"type":426,"tag":6331,"props":119219,"children":119220},{},[119221,119229,119234],{"type":426,"tag":458,"props":119222,"children":119223},{},[119224,119225],{"type":431,"value":47857},{"type":426,"tag":446,"props":119226,"children":119227},{},[119228],{"type":431,"value":113876},{"type":426,"tag":458,"props":119230,"children":119231},{},[119232],{"type":431,"value":119233},"Credentials → Create new → enter your store URL, Consumer Key, Consumer Secret",{"type":426,"tag":458,"props":119235,"children":119236},{},[119237,119238,119243,119245,119251],{"type":431,"value":118272},{"type":426,"tag":549,"props":119239,"children":119241},{"className":119240},[],[119242],{"type":431,"value":118277},{"type":431,"value":119244}," (filter to ",{"type":426,"tag":549,"props":119246,"children":119248},{"className":119247},[],[119249],{"type":431,"value":119250},"status = completed",{"type":431,"value":119252}," in the IF node)",{"type":426,"tag":434,"props":119254,"children":119256},{"id":119255},"step-4-set-the-delay",[119257],{"type":431,"value":119258},"Step 4: Set the Delay",{"type":426,"tag":6331,"props":119260,"children":119261},{},[119262,119271,119283],{"type":426,"tag":458,"props":119263,"children":119264},{},[119265,119266,119270],{"type":431,"value":102040},{"type":426,"tag":446,"props":119267,"children":119268},{},[119269],{"type":431,"value":114774},{"type":431,"value":47961},{"type":426,"tag":458,"props":119272,"children":119273},{},[119274,119276,119281],{"type":431,"value":119275},"Set to ",{"type":426,"tag":446,"props":119277,"children":119278},{},[119279],{"type":431,"value":119280},"3 Days",{"type":431,"value":119282}," (or your preferred delay — long enough for the product to arrive)",{"type":426,"tag":458,"props":119284,"children":119285},{},[119286],{"type":431,"value":119287},"This is critical: don't ask for a review before the product reaches the customer",{"type":426,"tag":434,"props":119289,"children":119290},{"id":48057},[119291],{"type":431,"value":48060},{"type":426,"tag":427,"props":119293,"children":119294},{},[119295,119296,119300],{"type":431,"value":48065},{"type":426,"tag":446,"props":119297,"children":119298},{},[119299],{"type":431,"value":44949},{"type":431,"value":119301}," node \"Send Review Request\":",{"type":426,"tag":454,"props":119303,"children":119304},{},[119305,119313,119326,119339],{"type":426,"tag":458,"props":119306,"children":119307},{},[119308,119312],{"type":426,"tag":446,"props":119309,"children":119310},{},[119311],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":119314,"children":119315},{},[119316,119320,119321],{"type":426,"tag":446,"props":119317,"children":119318},{},[119319],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":119322,"children":119324},{"className":119323},[],[119325],{"type":431,"value":48098},{"type":426,"tag":458,"props":119327,"children":119328},{},[119329,119333,119334],{"type":426,"tag":446,"props":119330,"children":119331},{},[119332],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":119335,"children":119337},{"className":119336},[],[119338],{"type":431,"value":48113},{"type":426,"tag":458,"props":119340,"children":119341},{},[119342,119346],{"type":426,"tag":446,"props":119343,"children":119344},{},[119345],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":119348,"children":119350},{"code":119349,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $('WooCommerce Trigger').item.json.billing.phone }}\",\n  \"message\": \"={{ $json.review_message }}\"\n}\n",[119351],{"type":426,"tag":549,"props":119352,"children":119353},{"__ignoreMap":417},[119354,119361,119380,119396],{"type":426,"tag":553,"props":119355,"children":119356},{"class":555,"line":556},[119357],{"type":426,"tag":553,"props":119358,"children":119359},{"style":684},[119360],{"type":431,"value":687},{"type":426,"tag":553,"props":119362,"children":119363},{"class":555,"line":588},[119364,119368,119372,119376],{"type":426,"tag":553,"props":119365,"children":119366},{"style":566},[119367],{"type":431,"value":7277},{"type":426,"tag":553,"props":119369,"children":119370},{"style":684},[119371],{"type":431,"value":700},{"type":426,"tag":553,"props":119373,"children":119374},{"style":572},[119375],{"type":431,"value":114478},{"type":426,"tag":553,"props":119377,"children":119378},{"style":684},[119379],{"type":431,"value":710},{"type":426,"tag":553,"props":119381,"children":119382},{"class":555,"line":606},[119383,119387,119391],{"type":426,"tag":553,"props":119384,"children":119385},{"style":566},[119386],{"type":431,"value":7298},{"type":426,"tag":553,"props":119388,"children":119389},{"style":684},[119390],{"type":431,"value":700},{"type":426,"tag":553,"props":119392,"children":119393},{"style":572},[119394],{"type":431,"value":119395},"\"={{ $json.review_message }}\"\n",{"type":426,"tag":553,"props":119397,"children":119398},{"class":555,"line":623},[119399],{"type":426,"tag":553,"props":119400,"children":119401},{"style":684},[119402],{"type":431,"value":756},{"type":426,"tag":427,"props":119404,"children":119405},{},[119406],{"type":426,"tag":446,"props":119407,"children":119408},{},[119409],{"type":431,"value":48187},{"type":426,"tag":542,"props":119411,"children":119413},{"code":119412,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! 👋 We hope you are loving your Coffee Maker!\\n\\nWould you take 2 minutes to leave a review? Your feedback helps other shoppers.\\n\\n⭐ Leave a review here:\\nhttps:\u002F\u002Fyourstore.com\u002Fproduct\u002Fcoffee-maker\u002F#reviews\\n\\nThank you! 🙏\"\n  }'\n",[119414],{"type":426,"tag":549,"props":119415,"children":119416},{"__ignoreMap":417},[119417,119440,119455,119470,119481,119488,119496],{"type":426,"tag":553,"props":119418,"children":119419},{"class":555,"line":556},[119420,119424,119428,119432,119436],{"type":426,"tag":553,"props":119421,"children":119422},{"style":560},[119423],{"type":431,"value":563},{"type":426,"tag":553,"props":119425,"children":119426},{"style":566},[119427],{"type":431,"value":569},{"type":426,"tag":553,"props":119429,"children":119430},{"style":572},[119431],{"type":431,"value":575},{"type":426,"tag":553,"props":119433,"children":119434},{"style":572},[119435],{"type":431,"value":580},{"type":426,"tag":553,"props":119437,"children":119438},{"style":566},[119439],{"type":431,"value":585},{"type":426,"tag":553,"props":119441,"children":119442},{"class":555,"line":588},[119443,119447,119451],{"type":426,"tag":553,"props":119444,"children":119445},{"style":566},[119446],{"type":431,"value":594},{"type":426,"tag":553,"props":119448,"children":119449},{"style":572},[119450],{"type":431,"value":599},{"type":426,"tag":553,"props":119452,"children":119453},{"style":566},[119454],{"type":431,"value":585},{"type":426,"tag":553,"props":119456,"children":119457},{"class":555,"line":606},[119458,119462,119466],{"type":426,"tag":553,"props":119459,"children":119460},{"style":566},[119461],{"type":431,"value":594},{"type":426,"tag":553,"props":119463,"children":119464},{"style":572},[119465],{"type":431,"value":616},{"type":426,"tag":553,"props":119467,"children":119468},{"style":566},[119469],{"type":431,"value":585},{"type":426,"tag":553,"props":119471,"children":119472},{"class":555,"line":623},[119473,119477],{"type":426,"tag":553,"props":119474,"children":119475},{"style":566},[119476],{"type":431,"value":629},{"type":426,"tag":553,"props":119478,"children":119479},{"style":572},[119480],{"type":431,"value":634},{"type":426,"tag":553,"props":119482,"children":119483},{"class":555,"line":637},[119484],{"type":426,"tag":553,"props":119485,"children":119486},{"style":572},[119487],{"type":431,"value":643},{"type":426,"tag":553,"props":119489,"children":119490},{"class":555,"line":646},[119491],{"type":426,"tag":553,"props":119492,"children":119493},{"style":572},[119494],{"type":431,"value":119495},"    \"message\": \"Hi Sarah! 👋 We hope you are loving your Coffee Maker!\\n\\nWould you take 2 minutes to leave a review? Your feedback helps other shoppers.\\n\\n⭐ Leave a review here:\\nhttps:\u002F\u002Fyourstore.com\u002Fproduct\u002Fcoffee-maker\u002F#reviews\\n\\nThank you! 🙏\"\n",{"type":426,"tag":553,"props":119497,"children":119498},{"class":555,"line":655},[119499],{"type":426,"tag":553,"props":119500,"children":119501},{"style":572},[119502],{"type":431,"value":661},{"type":426,"tag":427,"props":119504,"children":119505},{},[119506],{"type":426,"tag":446,"props":119507,"children":119508},{},[119509],{"type":431,"value":669},{"type":426,"tag":542,"props":119511,"children":119513},{"code":119512,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_review_abc123\",\n  \"timestamp\": \"2026-06-10T10:30:00Z\"\n}\n",[119514],{"type":426,"tag":549,"props":119515,"children":119516},{"__ignoreMap":417},[119517,119524,119543,119563,119579],{"type":426,"tag":553,"props":119518,"children":119519},{"class":555,"line":556},[119520],{"type":426,"tag":553,"props":119521,"children":119522},{"style":684},[119523],{"type":431,"value":687},{"type":426,"tag":553,"props":119525,"children":119526},{"class":555,"line":588},[119527,119531,119535,119539],{"type":426,"tag":553,"props":119528,"children":119529},{"style":566},[119530],{"type":431,"value":695},{"type":426,"tag":553,"props":119532,"children":119533},{"style":684},[119534],{"type":431,"value":700},{"type":426,"tag":553,"props":119536,"children":119537},{"style":572},[119538],{"type":431,"value":705},{"type":426,"tag":553,"props":119540,"children":119541},{"style":684},[119542],{"type":431,"value":710},{"type":426,"tag":553,"props":119544,"children":119545},{"class":555,"line":606},[119546,119550,119554,119559],{"type":426,"tag":553,"props":119547,"children":119548},{"style":566},[119549],{"type":431,"value":718},{"type":426,"tag":553,"props":119551,"children":119552},{"style":684},[119553],{"type":431,"value":700},{"type":426,"tag":553,"props":119555,"children":119556},{"style":572},[119557],{"type":431,"value":119558},"\"msg_review_abc123\"",{"type":426,"tag":553,"props":119560,"children":119561},{"style":684},[119562],{"type":431,"value":710},{"type":426,"tag":553,"props":119564,"children":119565},{"class":555,"line":623},[119566,119570,119574],{"type":426,"tag":553,"props":119567,"children":119568},{"style":566},[119569],{"type":431,"value":739},{"type":426,"tag":553,"props":119571,"children":119572},{"style":684},[119573],{"type":431,"value":700},{"type":426,"tag":553,"props":119575,"children":119576},{"style":572},[119577],{"type":431,"value":119578},"\"2026-06-10T10:30:00Z\"\n",{"type":426,"tag":553,"props":119580,"children":119581},{"class":555,"line":637},[119582],{"type":426,"tag":553,"props":119583,"children":119584},{"style":684},[119585],{"type":431,"value":756},{"type":426,"tag":434,"props":119587,"children":119589},{"id":119588},"step-6-customize-the-review-request-message",[119590],{"type":431,"value":119591},"Step 6: Customize the Review Request Message",{"type":426,"tag":427,"props":119593,"children":119594},{},[119595,119596,119600],{"type":431,"value":114699},{"type":426,"tag":446,"props":119597,"children":119598},{},[119599],{"type":431,"value":60378},{"type":431,"value":55423},{"type":426,"tag":542,"props":119602,"children":119604},{"code":119603},"Hi {{ $json.customer_first_name }}! 👋\n\nWe hope you are loving your {{ $json.product_name }}!\n\nWould you take 2 minutes to leave a review? Your feedback helps other shoppers make better decisions.\n\n⭐ Leave a review here:\n{{ $json.product_review_url }}\n\nThank you so much! 🙏\n\n- {{ $json.store_name }} Team\n",[119605],{"type":426,"tag":549,"props":119606,"children":119607},{"__ignoreMap":417},[119608],{"type":431,"value":119603},{"type":426,"tag":427,"props":119610,"children":119611},{},[119612],{"type":426,"tag":446,"props":119613,"children":119614},{},[119615],{"type":431,"value":119616},"High-converting message tips:",{"type":426,"tag":454,"props":119618,"children":119619},{},[119620,119625,119630,119635,119640],{"type":426,"tag":458,"props":119621,"children":119622},{},[119623],{"type":431,"value":119624},"Use the customer's first name (personalization increases response rate)",{"type":426,"tag":458,"props":119626,"children":119627},{},[119628],{"type":431,"value":119629},"Name the specific product they bought",{"type":426,"tag":458,"props":119631,"children":119632},{},[119633],{"type":431,"value":119634},"Keep it under 200 characters",{"type":426,"tag":458,"props":119636,"children":119637},{},[119638],{"type":431,"value":119639},"Add the review URL as a direct link (not the homepage)",{"type":426,"tag":458,"props":119641,"children":119642},{},[119643],{"type":431,"value":119644},"Use a friendly, non-pushy tone",{"type":426,"tag":434,"props":119646,"children":119648},{"id":119647},"how-to-get-the-woocommerce-product-review-url",[119649],{"type":431,"value":119650},"How to Get the WooCommerce Product Review URL",{"type":426,"tag":427,"props":119652,"children":119653},{},[119654],{"type":431,"value":119655},"The direct review URL for a WooCommerce product is:",{"type":426,"tag":542,"props":119657,"children":119659},{"code":119658},"https:\u002F\u002Fyourstore.com\u002Fproduct\u002F[product-slug]\u002F#reviews\n",[119660],{"type":426,"tag":549,"props":119661,"children":119662},{"__ignoreMap":417},[119663],{"type":431,"value":119658},{"type":426,"tag":427,"props":119665,"children":119666},{},[119667],{"type":431,"value":119668},"In n8n, build it dynamically:",{"type":426,"tag":542,"props":119670,"children":119672},{"code":119671},"https:\u002F\u002Fyourstore.com\u002Fproduct\u002F{{ $json.product_slug }}\u002F#reviews\n",[119673],{"type":426,"tag":549,"props":119674,"children":119675},{"__ignoreMap":417},[119676],{"type":431,"value":119671},{"type":426,"tag":427,"props":119678,"children":119679},{},[119680,119681,119687,119689,119695],{"type":431,"value":86346},{"type":426,"tag":549,"props":119682,"children":119684},{"className":119683},[],[119685],{"type":431,"value":119686},"product_slug",{"type":431,"value":119688}," field is available from the WooCommerce Trigger payload under ",{"type":426,"tag":549,"props":119690,"children":119692},{"className":119691},[],[119693],{"type":431,"value":119694},"line_items[0].slug",{"type":431,"value":6789},{"type":426,"tag":434,"props":119697,"children":119698},{"id":104301},[119699],{"type":431,"value":104304},{"type":426,"tag":6331,"props":119701,"children":119702},{},[119703,119707,119712,119717,119722,119727],{"type":426,"tag":458,"props":119704,"children":119705},{},[119706],{"type":431,"value":104312},{"type":426,"tag":458,"props":119708,"children":119709},{},[119710],{"type":431,"value":119711},"Place and complete a test order in your WooCommerce store",{"type":426,"tag":458,"props":119713,"children":119714},{},[119715],{"type":431,"value":119716},"n8n should trigger immediately, then wait 3 days (or your configured delay)",{"type":426,"tag":458,"props":119718,"children":119719},{},[119720],{"type":431,"value":119721},"To test immediately: temporarily set the Wait node to 1 minute",{"type":426,"tag":458,"props":119723,"children":119724},{},[119725],{"type":431,"value":119726},"Check WhatsApp for the review request message",{"type":426,"tag":458,"props":119728,"children":119729},{},[119730],{"type":431,"value":119731},"Re-set the Wait node to 3 days after confirming the message content",{"type":426,"tag":434,"props":119733,"children":119734},{"id":4050},[119735],{"type":431,"value":4053},{"type":426,"tag":454,"props":119737,"children":119738},{},[119739,119748,119757,119762],{"type":426,"tag":458,"props":119740,"children":119741},{},[119742,119746],{"type":426,"tag":446,"props":119743,"children":119744},{},[119745],{"type":431,"value":6737},{"type":431,"value":119747}," than email review request campaigns (WhatsApp 98% open rate vs email 20%)",{"type":426,"tag":458,"props":119749,"children":119750},{},[119751,119756],{"type":426,"tag":446,"props":119752,"children":119753},{},[119754],{"type":431,"value":119755},"284 WooCommerce stores",{"type":431,"value":101655},{"type":426,"tag":458,"props":119758,"children":119759},{},[119760],{"type":431,"value":119761},"Higher review volume → better product page SEO → more organic traffic",{"type":426,"tag":458,"props":119763,"children":119764},{},[119765],{"type":431,"value":119766},"More social proof → higher conversion rate for new visitors",{"type":426,"tag":434,"props":119768,"children":119769},{"id":18886},[119770],{"type":431,"value":18889},{"type":426,"tag":454,"props":119772,"children":119773},{},[119774,119784,119799,119816],{"type":426,"tag":458,"props":119775,"children":119776},{},[119777,119782],{"type":426,"tag":446,"props":119778,"children":119779},{},[119780],{"type":431,"value":119781},"Trigger not firing",{"type":431,"value":119783},": Ensure n8n workflow is active (not just saved). Check the green \"Active\" toggle.",{"type":426,"tag":458,"props":119785,"children":119786},{},[119787,119792,119794],{"type":426,"tag":446,"props":119788,"children":119789},{},[119790],{"type":431,"value":119791},"Phone number missing",{"type":431,"value":119793},": Add phone as a required field at checkout: ",{"type":426,"tag":446,"props":119795,"children":119796},{},[119797],{"type":431,"value":119798},"WooCommerce → Settings → Accounts & Privacy → Billing phone: Required",{"type":426,"tag":458,"props":119800,"children":119801},{},[119802,119807,119808,119814],{"type":426,"tag":446,"props":119803,"children":119804},{},[119805],{"type":431,"value":119806},"Wrong product name",{"type":431,"value":78182},{"type":426,"tag":549,"props":119809,"children":119811},{"className":119810},[],[119812],{"type":431,"value":119813},"line_items[0].name",{"type":431,"value":119815}," field returns the exact product title as it appears in WooCommerce",{"type":426,"tag":458,"props":119817,"children":119818},{},[119819,119823],{"type":426,"tag":446,"props":119820,"children":119821},{},[119822],{"type":431,"value":26117},{"type":431,"value":66557},{"type":426,"tag":434,"props":119825,"children":119826},{"id":4109},[119827],{"type":431,"value":4112},{"type":426,"tag":427,"props":119829,"children":119830},{},[119831,119836],{"type":426,"tag":446,"props":119832,"children":119833},{},[119834],{"type":431,"value":119835},"Should I ask for a review immediately when the order is completed?",{"type":431,"value":119837},"\nNo — wait 3–7 days after order completion to allow time for delivery. Asking too early means the customer hasn't received the product yet.",{"type":426,"tag":427,"props":119839,"children":119840},{},[119841,119846],{"type":426,"tag":446,"props":119842,"children":119843},{},[119844],{"type":431,"value":119845},"Can I ask for reviews on Google or Trustpilot instead of WooCommerce?",{"type":431,"value":119847},"\nYes. Simply replace the review URL with your Google Business profile review link or Trustpilot profile URL.",{"type":426,"tag":427,"props":119849,"children":119850},{},[119851,119856],{"type":426,"tag":446,"props":119852,"children":119853},{},[119854],{"type":431,"value":119855},"What if the customer leaves a negative review?",{"type":431,"value":119857},"\nThis workflow sends a review request — it can't control what rating the customer leaves. Focus on product quality and shipping speed to minimize negative reviews.",{"type":426,"tag":427,"props":119859,"children":119860},{},[119861,119866],{"type":426,"tag":446,"props":119862,"children":119863},{},[119864],{"type":431,"value":119865},"Does Rapiwa charge per review request message?",{"type":431,"value":119867},"\nNo. Rapiwa charges $5\u002Fmonth flat — send unlimited review request messages with no per-message fees.",{"type":426,"tag":427,"props":119869,"children":119870},{},[119871,119876],{"type":426,"tag":446,"props":119872,"children":119873},{},[119874],{"type":431,"value":119875},"Can I set different delays for different product categories?",{"type":431,"value":119877},"\nYes. Add a Switch node in n8n to route by product category and set different Wait durations (e.g., 3 days for fast-delivery products, 10 days for items shipped internationally).",{"type":426,"tag":4164,"props":119879,"children":119880},{},[119881],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":119883},[119884,119885,119886,119887,119888,119889,119890,119891,119892,119893,119894,119895,119896],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":119078,"depth":588,"text":119081},{"id":47835,"depth":588,"text":47838},{"id":119214,"depth":588,"text":119217},{"id":119255,"depth":588,"text":119258},{"id":48057,"depth":588,"text":48060},{"id":119588,"depth":588,"text":119591},{"id":119647,"depth":588,"text":119650},{"id":104301,"depth":588,"text":104304},{"id":4050,"depth":588,"text":4053},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:woocommerce-review-request-whatsapp-rapiwa.md","blog\u002Fwoocommerce-review-request-whatsapp-rapiwa.md","blog\u002Fwoocommerce-review-request-whatsapp-rapiwa",{"loc":165},{"_path":169,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":170,"description":171,"date":119902,"author":6858,"category":43,"_slug":119903,"image":119904,"body":119905,"_type":4187,"_id":120897,"_source":4189,"_file":120898,"_stem":120899,"_extension":4192,"sitemap":120900},"2026-02-09","woocommerce-cross-sell-whatsapp-rapiwa-n8n","\u002Fimages\u002Fblog\u002Fwoocommerce-cross-sell-whatsapp-rapiwa-n8n.svg",{"type":423,"children":119906,"toc":120883},[119907,119912,119916,119921,119944,119953,119976,119980,120018,120024,120029,120066,120074,120135,120139,120203,120209,120265,120269,120274,120320,120374,120382,120475,120482,120557,120563,120573,120581,120589,120612,120618,120623,120663,120668,120672,120706,120710,120755,120759,120811,120815,120833,120843,120853,120863,120879],{"type":426,"tag":427,"props":119908,"children":119909},{},[119910],{"type":431,"value":119911},"This n8n workflow automatically sends personalized cross-sell product recommendations to WooCommerce customers via WhatsApp after they complete an order. Using Rapiwa API ($5\u002Fmonth, no per-message fees), the workflow identifies products frequently bought with the customer's purchase and sends a targeted offer. Over 311 developers have installed this template from the n8n marketplace.",{"type":426,"tag":434,"props":119913,"children":119914},{"id":47550},[119915],{"type":431,"value":47553},{"type":426,"tag":427,"props":119917,"children":119918},{},[119919],{"type":431,"value":119920},"When a WooCommerce order is completed:",{"type":426,"tag":6331,"props":119922,"children":119923},{},[119924,119929,119934,119939],{"type":426,"tag":458,"props":119925,"children":119926},{},[119927],{"type":431,"value":119928},"n8n fetches the order details and purchased product IDs",{"type":426,"tag":458,"props":119930,"children":119931},{},[119932],{"type":431,"value":119933},"The workflow retrieves cross-sell product recommendations (from WooCommerce's built-in cross-sell data or a Google Sheet)",{"type":426,"tag":458,"props":119935,"children":119936},{},[119937],{"type":431,"value":119938},"A WhatsApp message is sent to the customer with personalized product suggestions and a discount code",{"type":426,"tag":458,"props":119940,"children":119941},{},[119942],{"type":431,"value":119943},"The customer clicks directly to the store from WhatsApp",{"type":426,"tag":427,"props":119945,"children":119946},{},[119947,119951],{"type":426,"tag":446,"props":119948,"children":119949},{},[119950],{"type":431,"value":43482},{"type":431,"value":119952},": 15–25% increase in average order value from automated post-purchase cross-sells.",{"type":426,"tag":41290,"props":119954,"children":119955},{},[119956],{"type":426,"tag":427,"props":119957,"children":119958},{},[119959,119963,119964,119971],{"type":426,"tag":446,"props":119960,"children":119961},{},[119962],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":119965,"children":119968},{"href":119966,"rel":119967},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10141-send-woocommerce-cross-sell-offers-to-customers-via-whatsapp-using-rapiwa-api\u002F",[3823],[119969],{"type":431,"value":119970},"Send WooCommerce cross-sell offers to customers via WhatsApp using Rapiwa API →",{"type":426,"tag":47617,"props":119972,"children":119973},{},[119974],{"type":431,"value":119975},"(311 installs)",{"type":426,"tag":434,"props":119977,"children":119978},{"id":47624},[119979],{"type":431,"value":47627},{"type":426,"tag":454,"props":119981,"children":119982},{},[119983,119996,120004,120013],{"type":426,"tag":458,"props":119984,"children":119985},{},[119986,119990,119991],{"type":426,"tag":446,"props":119987,"children":119988},{},[119989],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":119992,"children":119994},{"href":3821,"rel":119993},[3823],[119995],{"type":431,"value":47645},{"type":426,"tag":458,"props":119997,"children":119998},{},[119999,120003],{"type":426,"tag":446,"props":120000,"children":120001},{},[120002],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":120005,"children":120006},{},[120007,120011],{"type":426,"tag":446,"props":120008,"children":120009},{},[120010],{"type":431,"value":113829},{"type":431,"value":120012}," with at least a few products configured with cross-sells",{"type":426,"tag":458,"props":120014,"children":120015},{},[120016],{"type":431,"value":120017},"Customer phone numbers stored in WooCommerce order billing fields (international format)",{"type":426,"tag":434,"props":120019,"children":120021},{"id":120020},"step-1-configure-cross-sell-products-in-woocommerce",[120022],{"type":431,"value":120023},"Step 1: Configure Cross-Sell Products in WooCommerce",{"type":426,"tag":427,"props":120025,"children":120026},{},[120027],{"type":431,"value":120028},"Before the workflow runs, set up cross-sell products in WooCommerce:",{"type":426,"tag":6331,"props":120030,"children":120031},{},[120032,120041,120051,120062],{"type":426,"tag":458,"props":120033,"children":120034},{},[120035,120036],{"type":431,"value":47846},{"type":426,"tag":446,"props":120037,"children":120038},{},[120039],{"type":431,"value":120040},"Products → Edit Product",{"type":426,"tag":458,"props":120042,"children":120043},{},[120044,120046],{"type":431,"value":120045},"Scroll to ",{"type":426,"tag":446,"props":120047,"children":120048},{},[120049],{"type":431,"value":120050},"Product Data → Linked Products",{"type":426,"tag":458,"props":120052,"children":120053},{},[120054,120055,120060],{"type":431,"value":113983},{"type":426,"tag":446,"props":120056,"children":120057},{},[120058],{"type":431,"value":120059},"Cross-sells",{"type":431,"value":120061}," field, add related products",{"type":426,"tag":458,"props":120063,"children":120064},{},[120065],{"type":431,"value":66022},{"type":426,"tag":427,"props":120067,"children":120068},{},[120069],{"type":426,"tag":446,"props":120070,"children":120071},{},[120072],{"type":431,"value":120073},"Example cross-sell mapping:",{"type":426,"tag":10600,"props":120075,"children":120076},{},[120077,120093],{"type":426,"tag":10604,"props":120078,"children":120079},{},[120080],{"type":426,"tag":10608,"props":120081,"children":120082},{},[120083,120088],{"type":426,"tag":10612,"props":120084,"children":120085},{},[120086],{"type":431,"value":120087},"Bought Product",{"type":426,"tag":10612,"props":120089,"children":120090},{},[120091],{"type":431,"value":120092},"Cross-Sell Suggestion",{"type":426,"tag":10623,"props":120094,"children":120095},{},[120096,120109,120122],{"type":426,"tag":10608,"props":120097,"children":120098},{},[120099,120104],{"type":426,"tag":10630,"props":120100,"children":120101},{},[120102],{"type":431,"value":120103},"Laptop",{"type":426,"tag":10630,"props":120105,"children":120106},{},[120107],{"type":431,"value":120108},"Laptop bag, wireless mouse, USB hub",{"type":426,"tag":10608,"props":120110,"children":120111},{},[120112,120117],{"type":426,"tag":10630,"props":120113,"children":120114},{},[120115],{"type":431,"value":120116},"Running shoes",{"type":426,"tag":10630,"props":120118,"children":120119},{},[120120],{"type":431,"value":120121},"Running socks, water bottle, armband",{"type":426,"tag":10608,"props":120123,"children":120124},{},[120125,120130],{"type":426,"tag":10630,"props":120126,"children":120127},{},[120128],{"type":431,"value":120129},"Coffee maker",{"type":426,"tag":10630,"props":120131,"children":120132},{},[120133],{"type":431,"value":120134},"Coffee beans, reusable filters, descaler",{"type":426,"tag":434,"props":120136,"children":120137},{"id":47835},[120138],{"type":431,"value":47838},{"type":426,"tag":6331,"props":120140,"children":120141},{},[120142,120152,120160],{"type":426,"tag":458,"props":120143,"children":120144},{},[120145,120146],{"type":431,"value":47846},{"type":426,"tag":3819,"props":120147,"children":120149},{"href":119966,"rel":120148},[3823],[120150],{"type":431,"value":120151},"n8n.io\u002Fworkflows\u002F10141",{"type":426,"tag":458,"props":120153,"children":120154},{},[120155,120156],{"type":431,"value":47857},{"type":426,"tag":446,"props":120157,"children":120158},{},[120159],{"type":431,"value":47862},{"type":426,"tag":458,"props":120161,"children":120162},{},[120163,120165],{"type":431,"value":120164},"The workflow canvas shows:\n",{"type":426,"tag":454,"props":120166,"children":120167},{},[120168,120177,120186,120195],{"type":426,"tag":458,"props":120169,"children":120170},{},[120171,120175],{"type":426,"tag":446,"props":120172,"children":120173},{},[120174],{"type":431,"value":113876},{"type":431,"value":120176}," → fires when order is completed",{"type":426,"tag":458,"props":120178,"children":120179},{},[120180,120184],{"type":426,"tag":446,"props":120181,"children":120182},{},[120183],{"type":431,"value":113891},{"type":431,"value":120185}," → fetches cross-sell product details",{"type":426,"tag":458,"props":120187,"children":120188},{},[120189,120193],{"type":426,"tag":446,"props":120190,"children":120191},{},[120192],{"type":431,"value":47921},{"type":431,"value":120194}," → builds the personalized WhatsApp message",{"type":426,"tag":458,"props":120196,"children":120197},{},[120198,120202],{"type":426,"tag":446,"props":120199,"children":120200},{},[120201],{"type":431,"value":47931},{"type":431,"value":100703},{"type":426,"tag":434,"props":120204,"children":120206},{"id":120205},"step-3-configure-the-woocommerce-trigger",[120207],{"type":431,"value":120208},"Step 3: Configure the WooCommerce Trigger",{"type":426,"tag":6331,"props":120210,"children":120211},{},[120212,120221,120255],{"type":426,"tag":458,"props":120213,"children":120214},{},[120215,120216,120220],{"type":431,"value":102040},{"type":426,"tag":446,"props":120217,"children":120218},{},[120219],{"type":431,"value":113876},{"type":431,"value":47961},{"type":426,"tag":458,"props":120222,"children":120223},{},[120224,120226,120231,120233],{"type":431,"value":120225},"Credentials: ",{"type":426,"tag":446,"props":120227,"children":120228},{},[120229],{"type":431,"value":120230},"Create new",{"type":431,"value":120232}," → enter your store URL, consumer key, and consumer secret\n",{"type":426,"tag":454,"props":120234,"children":120235},{},[120236,120246],{"type":426,"tag":458,"props":120237,"children":120238},{},[120239,120241],{"type":431,"value":120240},"In WordPress: ",{"type":426,"tag":446,"props":120242,"children":120243},{},[120244],{"type":431,"value":120245},"WooCommerce → Settings → Advanced → REST API → Add key",{"type":426,"tag":458,"props":120247,"children":120248},{},[120249,120251],{"type":431,"value":120250},"Set permissions to ",{"type":426,"tag":446,"props":120252,"children":120253},{},[120254],{"type":431,"value":113960},{"type":426,"tag":458,"props":120256,"children":120257},{},[120258,120259],{"type":431,"value":118272},{"type":426,"tag":549,"props":120260,"children":120262},{"className":120261},[],[120263],{"type":431,"value":120264},"Order completed",{"type":426,"tag":434,"props":120266,"children":120267},{"id":101083},[120268],{"type":431,"value":101086},{"type":426,"tag":427,"props":120270,"children":120271},{},[120272],{"type":431,"value":120273},"Find the HTTP Request node \"Send WhatsApp via Rapiwa\":",{"type":426,"tag":454,"props":120275,"children":120276},{},[120277,120285,120298,120312],{"type":426,"tag":458,"props":120278,"children":120279},{},[120280,120284],{"type":426,"tag":446,"props":120281,"children":120282},{},[120283],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":120286,"children":120287},{},[120288,120292,120293],{"type":426,"tag":446,"props":120289,"children":120290},{},[120291],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":120294,"children":120296},{"className":120295},[],[120297],{"type":431,"value":48098},{"type":426,"tag":458,"props":120299,"children":120300},{},[120301,120306,120307],{"type":426,"tag":446,"props":120302,"children":120303},{},[120304],{"type":431,"value":120305},"Header",{"type":431,"value":700},{"type":426,"tag":549,"props":120308,"children":120310},{"className":120309},[],[120311],{"type":431,"value":10711},{"type":426,"tag":458,"props":120313,"children":120314},{},[120315,120319],{"type":426,"tag":446,"props":120316,"children":120317},{},[120318],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":120321,"children":120322},{"code":118411,"language":673,"meta":417,"className":674,"style":417},[120323],{"type":426,"tag":549,"props":120324,"children":120325},{"__ignoreMap":417},[120326,120333,120352,120367],{"type":426,"tag":553,"props":120327,"children":120328},{"class":555,"line":556},[120329],{"type":426,"tag":553,"props":120330,"children":120331},{"style":684},[120332],{"type":431,"value":687},{"type":426,"tag":553,"props":120334,"children":120335},{"class":555,"line":588},[120336,120340,120344,120348],{"type":426,"tag":553,"props":120337,"children":120338},{"style":566},[120339],{"type":431,"value":7277},{"type":426,"tag":553,"props":120341,"children":120342},{"style":684},[120343],{"type":431,"value":700},{"type":426,"tag":553,"props":120345,"children":120346},{"style":572},[120347],{"type":431,"value":114478},{"type":426,"tag":553,"props":120349,"children":120350},{"style":684},[120351],{"type":431,"value":710},{"type":426,"tag":553,"props":120353,"children":120354},{"class":555,"line":606},[120355,120359,120363],{"type":426,"tag":553,"props":120356,"children":120357},{"style":566},[120358],{"type":431,"value":7298},{"type":426,"tag":553,"props":120360,"children":120361},{"style":684},[120362],{"type":431,"value":700},{"type":426,"tag":553,"props":120364,"children":120365},{"style":572},[120366],{"type":431,"value":118457},{"type":426,"tag":553,"props":120368,"children":120369},{"class":555,"line":623},[120370],{"type":426,"tag":553,"props":120371,"children":120372},{"style":684},[120373],{"type":431,"value":756},{"type":426,"tag":427,"props":120375,"children":120376},{},[120377],{"type":426,"tag":446,"props":120378,"children":120379},{},[120380],{"type":431,"value":120381},"Test with cURL first:",{"type":426,"tag":542,"props":120383,"children":120385},{"code":120384,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi Sarah! You bought our Coffee Maker ☕ — customers who bought this also love our Premium Coffee Beans. Get 10% off with code CROSS10 → https:\u002F\u002Fyourstore.com\u002Fcoffee-beans\"\n  }'\n",[120386],{"type":426,"tag":549,"props":120387,"children":120388},{"__ignoreMap":417},[120389,120412,120427,120442,120453,120460,120468],{"type":426,"tag":553,"props":120390,"children":120391},{"class":555,"line":556},[120392,120396,120400,120404,120408],{"type":426,"tag":553,"props":120393,"children":120394},{"style":560},[120395],{"type":431,"value":563},{"type":426,"tag":553,"props":120397,"children":120398},{"style":566},[120399],{"type":431,"value":569},{"type":426,"tag":553,"props":120401,"children":120402},{"style":572},[120403],{"type":431,"value":575},{"type":426,"tag":553,"props":120405,"children":120406},{"style":572},[120407],{"type":431,"value":580},{"type":426,"tag":553,"props":120409,"children":120410},{"style":566},[120411],{"type":431,"value":585},{"type":426,"tag":553,"props":120413,"children":120414},{"class":555,"line":588},[120415,120419,120423],{"type":426,"tag":553,"props":120416,"children":120417},{"style":566},[120418],{"type":431,"value":594},{"type":426,"tag":553,"props":120420,"children":120421},{"style":572},[120422],{"type":431,"value":599},{"type":426,"tag":553,"props":120424,"children":120425},{"style":566},[120426],{"type":431,"value":585},{"type":426,"tag":553,"props":120428,"children":120429},{"class":555,"line":606},[120430,120434,120438],{"type":426,"tag":553,"props":120431,"children":120432},{"style":566},[120433],{"type":431,"value":594},{"type":426,"tag":553,"props":120435,"children":120436},{"style":572},[120437],{"type":431,"value":616},{"type":426,"tag":553,"props":120439,"children":120440},{"style":566},[120441],{"type":431,"value":585},{"type":426,"tag":553,"props":120443,"children":120444},{"class":555,"line":623},[120445,120449],{"type":426,"tag":553,"props":120446,"children":120447},{"style":566},[120448],{"type":431,"value":629},{"type":426,"tag":553,"props":120450,"children":120451},{"style":572},[120452],{"type":431,"value":634},{"type":426,"tag":553,"props":120454,"children":120455},{"class":555,"line":637},[120456],{"type":426,"tag":553,"props":120457,"children":120458},{"style":572},[120459],{"type":431,"value":643},{"type":426,"tag":553,"props":120461,"children":120462},{"class":555,"line":646},[120463],{"type":426,"tag":553,"props":120464,"children":120465},{"style":572},[120466],{"type":431,"value":120467},"    \"message\": \"Hi Sarah! You bought our Coffee Maker ☕ — customers who bought this also love our Premium Coffee Beans. Get 10% off with code CROSS10 → https:\u002F\u002Fyourstore.com\u002Fcoffee-beans\"\n",{"type":426,"tag":553,"props":120469,"children":120470},{"class":555,"line":655},[120471],{"type":426,"tag":553,"props":120472,"children":120473},{"style":572},[120474],{"type":431,"value":661},{"type":426,"tag":427,"props":120476,"children":120477},{},[120478],{"type":426,"tag":446,"props":120479,"children":120480},{},[120481],{"type":431,"value":669},{"type":426,"tag":542,"props":120483,"children":120485},{"code":120484,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123\",\n  \"timestamp\": \"2026-06-09T10:30:00Z\"\n}\n",[120486],{"type":426,"tag":549,"props":120487,"children":120488},{"__ignoreMap":417},[120489,120496,120515,120534,120550],{"type":426,"tag":553,"props":120490,"children":120491},{"class":555,"line":556},[120492],{"type":426,"tag":553,"props":120493,"children":120494},{"style":684},[120495],{"type":431,"value":687},{"type":426,"tag":553,"props":120497,"children":120498},{"class":555,"line":588},[120499,120503,120507,120511],{"type":426,"tag":553,"props":120500,"children":120501},{"style":566},[120502],{"type":431,"value":695},{"type":426,"tag":553,"props":120504,"children":120505},{"style":684},[120506],{"type":431,"value":700},{"type":426,"tag":553,"props":120508,"children":120509},{"style":572},[120510],{"type":431,"value":705},{"type":426,"tag":553,"props":120512,"children":120513},{"style":684},[120514],{"type":431,"value":710},{"type":426,"tag":553,"props":120516,"children":120517},{"class":555,"line":606},[120518,120522,120526,120530],{"type":426,"tag":553,"props":120519,"children":120520},{"style":566},[120521],{"type":431,"value":718},{"type":426,"tag":553,"props":120523,"children":120524},{"style":684},[120525],{"type":431,"value":700},{"type":426,"tag":553,"props":120527,"children":120528},{"style":572},[120529],{"type":431,"value":7376},{"type":426,"tag":553,"props":120531,"children":120532},{"style":684},[120533],{"type":431,"value":710},{"type":426,"tag":553,"props":120535,"children":120536},{"class":555,"line":623},[120537,120541,120545],{"type":426,"tag":553,"props":120538,"children":120539},{"style":566},[120540],{"type":431,"value":739},{"type":426,"tag":553,"props":120542,"children":120543},{"style":684},[120544],{"type":431,"value":700},{"type":426,"tag":553,"props":120546,"children":120547},{"style":572},[120548],{"type":431,"value":120549},"\"2026-06-09T10:30:00Z\"\n",{"type":426,"tag":553,"props":120551,"children":120552},{"class":555,"line":637},[120553],{"type":426,"tag":553,"props":120554,"children":120555},{"style":684},[120556],{"type":431,"value":756},{"type":426,"tag":434,"props":120558,"children":120560},{"id":120559},"step-5-customize-the-cross-sell-message",[120561],{"type":431,"value":120562},"Step 5: Customize the Cross-Sell Message",{"type":426,"tag":427,"props":120564,"children":120565},{},[120566,120567,120571],{"type":431,"value":113983},{"type":426,"tag":446,"props":120568,"children":120569},{},[120570],{"type":431,"value":47921},{"type":431,"value":120572},", the message template is pre-built:",{"type":426,"tag":542,"props":120574,"children":120576},{"code":120575},"Hi {{ $json.customer_name }}! 👋\n\nYou just ordered {{ $json.ordered_product }}.\n\nCustomers who bought this also loved:\n• {{ $json.cross_sell_1 }} — {{ $json.cross_sell_price_1 }}\n• {{ $json.cross_sell_2 }} — {{ $json.cross_sell_price_2 }}\n\nGet 10% off your next order with code *CROSS10*\n→ {{ $json.store_url }}\n\nValid for 48 hours only.\n",[120577],{"type":426,"tag":549,"props":120578,"children":120579},{"__ignoreMap":417},[120580],{"type":431,"value":120575},{"type":426,"tag":427,"props":120582,"children":120583},{},[120584],{"type":426,"tag":446,"props":120585,"children":120586},{},[120587],{"type":431,"value":120588},"Tips for high-converting cross-sell messages:",{"type":426,"tag":454,"props":120590,"children":120591},{},[120592,120597,120602,120607],{"type":426,"tag":458,"props":120593,"children":120594},{},[120595],{"type":431,"value":120596},"Include the product the customer just bought to show relevance",{"type":426,"tag":458,"props":120598,"children":120599},{},[120600],{"type":431,"value":120601},"List only 2–3 cross-sell products (too many choices = no choice)",{"type":426,"tag":458,"props":120603,"children":120604},{},[120605],{"type":431,"value":120606},"Add a time-limited discount code (48-hour urgency)",{"type":426,"tag":458,"props":120608,"children":120609},{},[120610],{"type":431,"value":120611},"Include a direct product link — don't make them search",{"type":426,"tag":434,"props":120613,"children":120615},{"id":120614},"step-6-handle-the-timing-send-after-delivery",[120616],{"type":431,"value":120617},"Step 6: Handle the Timing (Send After Delivery)",{"type":426,"tag":427,"props":120619,"children":120620},{},[120621],{"type":431,"value":120622},"By default, the workflow fires immediately when an order is completed. For best results, delay the cross-sell message by 24–48 hours (after the customer has received and used the product):",{"type":426,"tag":6331,"props":120624,"children":120625},{},[120626,120636],{"type":426,"tag":458,"props":120627,"children":120628},{},[120629,120630,120634],{"type":431,"value":60194},{"type":426,"tag":446,"props":120631,"children":120632},{},[120633],{"type":431,"value":114774},{"type":431,"value":120635}," node between the WooCommerce trigger and the Rapiwa send node",{"type":426,"tag":458,"props":120637,"children":120638},{},[120639,120641,120645,120646,120651,120652,120656,120657],{"type":431,"value":120640},"Set: ",{"type":426,"tag":446,"props":120642,"children":120643},{},[120644],{"type":431,"value":114781},{"type":431,"value":700},{"type":426,"tag":549,"props":120647,"children":120649},{"className":120648},[],[120650],{"type":431,"value":31528},{"type":431,"value":1907},{"type":426,"tag":446,"props":120653,"children":120654},{},[120655],{"type":431,"value":114793},{"type":431,"value":700},{"type":426,"tag":549,"props":120658,"children":120660},{"className":120659},[],[120661],{"type":431,"value":120662},"Hours",{"type":426,"tag":427,"props":120664,"children":120665},{},[120666],{"type":431,"value":120667},"This mimics the timing of a human sales follow-up and feels less pushy.",{"type":426,"tag":434,"props":120669,"children":120670},{"id":104301},[120671],{"type":431,"value":104304},{"type":426,"tag":6331,"props":120673,"children":120674},{},[120675,120679,120684,120689,120694],{"type":426,"tag":458,"props":120676,"children":120677},{},[120678],{"type":431,"value":104312},{"type":426,"tag":458,"props":120680,"children":120681},{},[120682],{"type":431,"value":120683},"Place a test order on your WooCommerce store with a product that has cross-sells configured",{"type":426,"tag":458,"props":120685,"children":120686},{},[120687],{"type":431,"value":120688},"Mark the order as \"completed\" in WooCommerce",{"type":426,"tag":458,"props":120690,"children":120691},{},[120692],{"type":431,"value":120693},"Check your WhatsApp — the cross-sell message should arrive (immediately, or after your wait delay)",{"type":426,"tag":458,"props":120695,"children":120696},{},[120697,120699,120704],{"type":431,"value":120698},"Verify the execution in n8n → ",{"type":426,"tag":446,"props":120700,"children":120701},{},[120702],{"type":431,"value":120703},"Executions",{"type":431,"value":120705}," tab",{"type":426,"tag":434,"props":120707,"children":120708},{"id":48547},[120709],{"type":431,"value":48550},{"type":426,"tag":454,"props":120711,"children":120712},{},[120713,120723,120733,120744],{"type":426,"tag":458,"props":120714,"children":120715},{},[120716,120721],{"type":426,"tag":446,"props":120717,"children":120718},{},[120719],{"type":431,"value":120720},"311 developers",{"type":431,"value":120722}," have already deployed this template",{"type":426,"tag":458,"props":120724,"children":120725},{},[120726,120728],{"type":431,"value":120727},"WooCommerce stores using WhatsApp cross-sell see ",{"type":426,"tag":446,"props":120729,"children":120730},{},[120731],{"type":431,"value":120732},"15–25% uplift in repeat purchases",{"type":426,"tag":458,"props":120734,"children":120735},{},[120736,120738,120742],{"type":431,"value":120737},"WhatsApp messages have ",{"type":426,"tag":446,"props":120739,"children":120740},{},[120741],{"type":431,"value":465},{"type":431,"value":120743}," vs 20% for email cross-sell campaigns",{"type":426,"tag":458,"props":120745,"children":120746},{},[120747,120749,120753],{"type":431,"value":120748},"Time-limited discount codes in WhatsApp messages convert at ",{"type":426,"tag":446,"props":120750,"children":120751},{},[120752],{"type":431,"value":47442},{"type":431,"value":120754}," email rates",{"type":426,"tag":434,"props":120756,"children":120757},{"id":18886},[120758],{"type":431,"value":18889},{"type":426,"tag":454,"props":120760,"children":120761},{},[120762,120776,120792,120802],{"type":426,"tag":458,"props":120763,"children":120764},{},[120765,120769,120771],{"type":426,"tag":446,"props":120766,"children":120767},{},[120768],{"type":431,"value":104453},{"type":431,"value":120770},": Some WooCommerce checkouts don't require a phone number. Add it as a required field in ",{"type":426,"tag":446,"props":120772,"children":120773},{},[120774],{"type":431,"value":120775},"WooCommerce → Settings → Accounts & Privacy",{"type":426,"tag":458,"props":120777,"children":120778},{},[120779,120784,120786,120790],{"type":426,"tag":446,"props":120780,"children":120781},{},[120782],{"type":431,"value":120783},"Cross-sell products not fetching",{"type":431,"value":120785},": Ensure your WooCommerce REST API key has ",{"type":426,"tag":446,"props":120787,"children":120788},{},[120789],{"type":431,"value":119126},{"type":431,"value":120791}," permissions",{"type":426,"tag":458,"props":120793,"children":120794},{},[120795,120800],{"type":426,"tag":446,"props":120796,"children":120797},{},[120798],{"type":431,"value":120799},"Message too long",{"type":431,"value":120801},": WhatsApp supports up to 4,096 characters — keep cross-sell messages under 300 characters for better UX",{"type":426,"tag":458,"props":120803,"children":120804},{},[120805,120809],{"type":426,"tag":446,"props":120806,"children":120807},{},[120808],{"type":431,"value":26117},{"type":431,"value":120810},": Regenerate your API key in Rapiwa Dashboard → API Keys",{"type":426,"tag":434,"props":120812,"children":120813},{"id":4109},[120814],{"type":431,"value":4112},{"type":426,"tag":427,"props":120816,"children":120817},{},[120818,120823,120825,120831],{"type":426,"tag":446,"props":120819,"children":120820},{},[120821],{"type":431,"value":120822},"What if the customer hasn't configured their phone number at checkout?",{"type":431,"value":120824},"\nThe n8n workflow includes an IF node that skips the WhatsApp send step if ",{"type":426,"tag":549,"props":120826,"children":120828},{"className":120827},[],[120829],{"type":431,"value":120830},"billing.phone",{"type":431,"value":120832}," is empty. You can log these cases to a Google Sheet for manual follow-up.",{"type":426,"tag":427,"props":120834,"children":120835},{},[120836,120841],{"type":426,"tag":446,"props":120837,"children":120838},{},[120839],{"type":431,"value":120840},"Can I send different cross-sell offers to different customer segments?",{"type":431,"value":120842},"\nYes. Add a Switch node in n8n to route customers by order total, product category, or customer tags, and send different messages to each segment.",{"type":426,"tag":427,"props":120844,"children":120845},{},[120846,120851],{"type":426,"tag":446,"props":120847,"children":120848},{},[120849],{"type":431,"value":120850},"Does Rapiwa charge per cross-sell message?",{"type":431,"value":120852},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees. You can send unlimited cross-sell messages.",{"type":426,"tag":427,"props":120854,"children":120855},{},[120856,120861],{"type":426,"tag":446,"props":120857,"children":120858},{},[120859],{"type":431,"value":120860},"How often should I send cross-sell WhatsApp messages?",{"type":431,"value":120862},"\nOnce per order, sent 24–48 hours after delivery. Sending more frequently risks customers blocking your number.",{"type":426,"tag":427,"props":120864,"children":120865},{},[120866,120871,120873],{"type":426,"tag":446,"props":120867,"children":120868},{},[120869],{"type":431,"value":120870},"Can I track which customers clicked the cross-sell link?",{"type":431,"value":120872},"\nYes. Use UTM parameters in the product link and track in Google Analytics: ",{"type":426,"tag":549,"props":120874,"children":120876},{"className":120875},[],[120877],{"type":431,"value":120878},"?utm_source=whatsapp&utm_medium=cross-sell&utm_campaign=post-purchase",{"type":426,"tag":4164,"props":120880,"children":120881},{},[120882],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":120884},[120885,120886,120887,120888,120889,120890,120891,120892,120893,120894,120895,120896],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":120020,"depth":588,"text":120023},{"id":47835,"depth":588,"text":47838},{"id":120205,"depth":588,"text":120208},{"id":101083,"depth":588,"text":101086},{"id":120559,"depth":588,"text":120562},{"id":120614,"depth":588,"text":120617},{"id":104301,"depth":588,"text":104304},{"id":48547,"depth":588,"text":48550},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:woocommerce-cross-sell-whatsapp-rapiwa-n8n.md","blog\u002Fwoocommerce-cross-sell-whatsapp-rapiwa-n8n.md","blog\u002Fwoocommerce-cross-sell-whatsapp-rapiwa-n8n",{"loc":169},{"_path":173,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":174,"description":175,"date":120902,"author":10935,"category":22,"_slug":120903,"image":120904,"body":120905,"_type":4187,"_id":125214,"_source":4189,"_file":125215,"_stem":125216,"_extension":4192,"sitemap":125217},"2026-02-08","whatsapp-otp-verification-api-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-otp-verification-api-rapiwa.svg",{"type":423,"children":120906,"toc":125197},[120907,120919,120925,120930,120934,120967,120973,120978,121178,121481,121486,121576,121582,121587,121591,121684,121692,121767,121773,122626,122630,123542,123547,124416,124422,124427,124792,124798,124901,124907,125004,125008,125067,125072,125112,125116,125126,125136,125146,125183,125193],{"type":426,"tag":427,"props":120908,"children":120909},{},[120910,120912,120917],{"type":431,"value":120911},"You can send WhatsApp OTP verification messages using the Rapiwa REST API. Generate a random 6-digit code in your application, then POST it to ",{"type":426,"tag":549,"props":120913,"children":120915},{"className":120914},[],[120916],{"type":431,"value":48098},{"type":431,"value":120918}," with the user's phone number. Rapiwa delivers the OTP via WhatsApp in 2–5 seconds. At $5\u002Fmonth flat, there are no per-message fees regardless of how many OTPs you send.",{"type":426,"tag":434,"props":120920,"children":120922},{"id":120921},"what-is-whatsapp-otp-verification",[120923],{"type":431,"value":120924},"What Is WhatsApp OTP Verification?",{"type":426,"tag":427,"props":120926,"children":120927},{},[120928],{"type":431,"value":120929},"WhatsApp OTP (One-Time Password) verification sends a numeric code to a user's WhatsApp account to confirm their phone number or authenticate a login. Because WhatsApp has a 98% message open rate (vs ~20% for email), OTPs via WhatsApp arrive and get read almost instantly — making them ideal for account registration, two-factor authentication (2FA), and transaction confirmations.",{"type":426,"tag":434,"props":120931,"children":120932},{"id":47624},[120933],{"type":431,"value":47627},{"type":426,"tag":454,"props":120935,"children":120936},{},[120937,120947,120951,120956],{"type":426,"tag":458,"props":120938,"children":120939},{},[120940,120941,120946],{"type":431,"value":48828},{"type":426,"tag":3819,"props":120942,"children":120944},{"href":3821,"rel":120943},[3823],[120945],{"type":431,"value":48834},{"type":431,"value":5736},{"type":426,"tag":458,"props":120948,"children":120949},{},[120950],{"type":431,"value":48840},{"type":426,"tag":458,"props":120952,"children":120953},{},[120954],{"type":431,"value":120955},"A web application or script that handles user registration\u002Flogin",{"type":426,"tag":458,"props":120957,"children":120958},{},[120959,120961,120966],{"type":431,"value":120960},"Phone numbers collected in international format (",{"type":426,"tag":549,"props":120962,"children":120964},{"className":120963},[],[120965],{"type":431,"value":7237},{"type":431,"value":5736},{"type":426,"tag":434,"props":120968,"children":120970},{"id":120969},"step-1-generate-the-otp-code",[120971],{"type":431,"value":120972},"Step 1: Generate the OTP Code",{"type":426,"tag":427,"props":120974,"children":120975},{},[120976],{"type":431,"value":120977},"Before calling Rapiwa, generate a secure OTP in your application:",{"type":426,"tag":542,"props":120979,"children":120981},{"className":785,"code":120980,"language":784,"meta":417,"style":417},"import secrets\nimport string\n\ndef generate_otp(length=6):\n    \"\"\"Generate a cryptographically secure numeric OTP.\"\"\"\n    digits = string.digits\n    return ''.join(secrets.choice(digits) for _ in range(length))\n\notp = generate_otp()  # e.g., \"847291\"\nprint(f\"Generated OTP: {otp}\")\n",[120982],{"type":426,"tag":549,"props":120983,"children":120984},{"__ignoreMap":417},[120985,120997,121008,121015,121045,121053,121070,121108,121115,121137],{"type":426,"tag":553,"props":120986,"children":120987},{"class":555,"line":556},[120988,120992],{"type":426,"tag":553,"props":120989,"children":120990},{"style":795},[120991],{"type":431,"value":798},{"type":426,"tag":553,"props":120993,"children":120994},{"style":684},[120995],{"type":431,"value":120996}," secrets\n",{"type":426,"tag":553,"props":120998,"children":120999},{"class":555,"line":588},[121000,121004],{"type":426,"tag":553,"props":121001,"children":121002},{"style":795},[121003],{"type":431,"value":798},{"type":426,"tag":553,"props":121005,"children":121006},{"style":684},[121007],{"type":431,"value":93895},{"type":426,"tag":553,"props":121009,"children":121010},{"class":555,"line":606},[121011],{"type":426,"tag":553,"props":121012,"children":121013},{"emptyLinePlaceholder":831},[121014],{"type":431,"value":834},{"type":426,"tag":553,"props":121016,"children":121017},{"class":555,"line":623},[121018,121022,121027,121032,121036,121041],{"type":426,"tag":553,"props":121019,"children":121020},{"style":795},[121021],{"type":431,"value":842},{"type":426,"tag":553,"props":121023,"children":121024},{"style":560},[121025],{"type":431,"value":121026}," generate_otp",{"type":426,"tag":553,"props":121028,"children":121029},{"style":684},[121030],{"type":431,"value":121031},"(length",{"type":426,"tag":553,"props":121033,"children":121034},{"style":795},[121035],{"type":431,"value":957},{"type":426,"tag":553,"props":121037,"children":121038},{"style":566},[121039],{"type":431,"value":121040},"6",{"type":426,"tag":553,"props":121042,"children":121043},{"style":684},[121044],{"type":431,"value":8370},{"type":426,"tag":553,"props":121046,"children":121047},{"class":555,"line":637},[121048],{"type":426,"tag":553,"props":121049,"children":121050},{"style":572},[121051],{"type":431,"value":121052},"    \"\"\"Generate a cryptographically secure numeric OTP.\"\"\"\n",{"type":426,"tag":553,"props":121054,"children":121055},{"class":555,"line":646},[121056,121061,121065],{"type":426,"tag":553,"props":121057,"children":121058},{"style":684},[121059],{"type":431,"value":121060},"    digits ",{"type":426,"tag":553,"props":121062,"children":121063},{"style":795},[121064],{"type":431,"value":957},{"type":426,"tag":553,"props":121066,"children":121067},{"style":684},[121068],{"type":431,"value":121069}," string.digits\n",{"type":426,"tag":553,"props":121071,"children":121072},{"class":555,"line":655},[121073,121077,121081,121086,121090,121095,121099,121103],{"type":426,"tag":553,"props":121074,"children":121075},{"style":795},[121076],{"type":431,"value":1659},{"type":426,"tag":553,"props":121078,"children":121079},{"style":572},[121080],{"type":431,"value":1024},{"type":426,"tag":553,"props":121082,"children":121083},{"style":684},[121084],{"type":431,"value":121085},".join(secrets.choice(digits) ",{"type":426,"tag":553,"props":121087,"children":121088},{"style":795},[121089],{"type":431,"value":7491},{"type":426,"tag":553,"props":121091,"children":121092},{"style":684},[121093],{"type":431,"value":121094}," _ ",{"type":426,"tag":553,"props":121096,"children":121097},{"style":795},[121098],{"type":431,"value":2005},{"type":426,"tag":553,"props":121100,"children":121101},{"style":566},[121102],{"type":431,"value":8809},{"type":426,"tag":553,"props":121104,"children":121105},{"style":684},[121106],{"type":431,"value":121107},"(length))\n",{"type":426,"tag":553,"props":121109,"children":121110},{"class":555,"line":1036},[121111],{"type":426,"tag":553,"props":121112,"children":121113},{"emptyLinePlaceholder":831},[121114],{"type":431,"value":834},{"type":426,"tag":553,"props":121116,"children":121117},{"class":555,"line":1054},[121118,121123,121127,121132],{"type":426,"tag":553,"props":121119,"children":121120},{"style":684},[121121],{"type":431,"value":121122},"otp ",{"type":426,"tag":553,"props":121124,"children":121125},{"style":795},[121126],{"type":431,"value":957},{"type":426,"tag":553,"props":121128,"children":121129},{"style":684},[121130],{"type":431,"value":121131}," generate_otp()  ",{"type":426,"tag":553,"props":121133,"children":121134},{"style":1975},[121135],{"type":431,"value":121136},"# e.g., \"847291\"\n",{"type":426,"tag":553,"props":121138,"children":121139},{"class":555,"line":1080},[121140,121144,121148,121152,121157,121161,121166,121170,121174],{"type":426,"tag":553,"props":121141,"children":121142},{"style":566},[121143],{"type":431,"value":3270},{"type":426,"tag":553,"props":121145,"children":121146},{"style":684},[121147],{"type":431,"value":3275},{"type":426,"tag":553,"props":121149,"children":121150},{"style":795},[121151],{"type":431,"value":1709},{"type":426,"tag":553,"props":121153,"children":121154},{"style":572},[121155],{"type":431,"value":121156},"\"Generated OTP: ",{"type":426,"tag":553,"props":121158,"children":121159},{"style":566},[121160],{"type":431,"value":972},{"type":426,"tag":553,"props":121162,"children":121163},{"style":684},[121164],{"type":431,"value":121165},"otp",{"type":426,"tag":553,"props":121167,"children":121168},{"style":566},[121169],{"type":431,"value":982},{"type":426,"tag":553,"props":121171,"children":121172},{"style":572},[121173],{"type":431,"value":1527},{"type":426,"tag":553,"props":121175,"children":121176},{"style":684},[121177],{"type":431,"value":3262},{"type":426,"tag":542,"props":121179,"children":121181},{"className":52113,"code":121180,"language":52115,"meta":417,"style":417},"\u002F\u002F Node.js — generate secure 6-digit OTP\nconst crypto = require('crypto');\n\nfunction generateOTP(length = 6) {\n  const bytes = crypto.randomBytes(length);\n  return Array.from(bytes)\n    .map(b => b % 10)\n    .join('')\n    .slice(0, length);\n}\n\nconst otp = generateOTP();\nconsole.log(`Generated OTP: ${otp}`);\n",[121182],{"type":426,"tag":549,"props":121183,"children":121184},{"__ignoreMap":417},[121185,121193,121226,121233,121267,121298,121319,121362,121386,121410,121417,121424,121448],{"type":426,"tag":553,"props":121186,"children":121187},{"class":555,"line":556},[121188],{"type":426,"tag":553,"props":121189,"children":121190},{"style":1975},[121191],{"type":431,"value":121192},"\u002F\u002F Node.js — generate secure 6-digit OTP\n",{"type":426,"tag":553,"props":121194,"children":121195},{"class":555,"line":588},[121196,121200,121205,121209,121213,121217,121222],{"type":426,"tag":553,"props":121197,"children":121198},{"style":795},[121199],{"type":431,"value":52135},{"type":426,"tag":553,"props":121201,"children":121202},{"style":566},[121203],{"type":431,"value":121204}," crypto",{"type":426,"tag":553,"props":121206,"children":121207},{"style":795},[121208],{"type":431,"value":8739},{"type":426,"tag":553,"props":121210,"children":121211},{"style":560},[121212],{"type":431,"value":52149},{"type":426,"tag":553,"props":121214,"children":121215},{"style":684},[121216],{"type":431,"value":3275},{"type":426,"tag":553,"props":121218,"children":121219},{"style":572},[121220],{"type":431,"value":121221},"'crypto'",{"type":426,"tag":553,"props":121223,"children":121224},{"style":684},[121225],{"type":431,"value":11379},{"type":426,"tag":553,"props":121227,"children":121228},{"class":555,"line":606},[121229],{"type":426,"tag":553,"props":121230,"children":121231},{"emptyLinePlaceholder":831},[121232],{"type":431,"value":834},{"type":426,"tag":553,"props":121234,"children":121235},{"class":555,"line":623},[121236,121240,121245,121249,121254,121258,121263],{"type":426,"tag":553,"props":121237,"children":121238},{"style":795},[121239],{"type":431,"value":79962},{"type":426,"tag":553,"props":121241,"children":121242},{"style":560},[121243],{"type":431,"value":121244}," generateOTP",{"type":426,"tag":553,"props":121246,"children":121247},{"style":684},[121248],{"type":431,"value":3275},{"type":426,"tag":553,"props":121250,"children":121251},{"style":1684},[121252],{"type":431,"value":121253},"length",{"type":426,"tag":553,"props":121255,"children":121256},{"style":795},[121257],{"type":431,"value":8739},{"type":426,"tag":553,"props":121259,"children":121260},{"style":566},[121261],{"type":431,"value":121262}," 6",{"type":426,"tag":553,"props":121264,"children":121265},{"style":684},[121266],{"type":431,"value":52385},{"type":426,"tag":553,"props":121268,"children":121269},{"class":555,"line":637},[121270,121274,121279,121283,121288,121293],{"type":426,"tag":553,"props":121271,"children":121272},{"style":795},[121273],{"type":431,"value":52540},{"type":426,"tag":553,"props":121275,"children":121276},{"style":566},[121277],{"type":431,"value":121278}," bytes",{"type":426,"tag":553,"props":121280,"children":121281},{"style":795},[121282],{"type":431,"value":8739},{"type":426,"tag":553,"props":121284,"children":121285},{"style":684},[121286],{"type":431,"value":121287}," crypto.",{"type":426,"tag":553,"props":121289,"children":121290},{"style":560},[121291],{"type":431,"value":121292},"randomBytes",{"type":426,"tag":553,"props":121294,"children":121295},{"style":684},[121296],{"type":431,"value":121297},"(length);\n",{"type":426,"tag":553,"props":121299,"children":121300},{"class":555,"line":646},[121301,121305,121310,121314],{"type":426,"tag":553,"props":121302,"children":121303},{"style":795},[121304],{"type":431,"value":52393},{"type":426,"tag":553,"props":121306,"children":121307},{"style":684},[121308],{"type":431,"value":121309}," Array.",{"type":426,"tag":553,"props":121311,"children":121312},{"style":560},[121313],{"type":431,"value":811},{"type":426,"tag":553,"props":121315,"children":121316},{"style":684},[121317],{"type":431,"value":121318},"(bytes)\n",{"type":426,"tag":553,"props":121320,"children":121321},{"class":555,"line":655},[121322,121326,121331,121335,121340,121344,121349,121354,121358],{"type":426,"tag":553,"props":121323,"children":121324},{"style":684},[121325],{"type":431,"value":106222},{"type":426,"tag":553,"props":121327,"children":121328},{"style":560},[121329],{"type":431,"value":121330},"map",{"type":426,"tag":553,"props":121332,"children":121333},{"style":684},[121334],{"type":431,"value":3275},{"type":426,"tag":553,"props":121336,"children":121337},{"style":1684},[121338],{"type":431,"value":121339},"b",{"type":426,"tag":553,"props":121341,"children":121342},{"style":795},[121343],{"type":431,"value":53709},{"type":426,"tag":553,"props":121345,"children":121346},{"style":684},[121347],{"type":431,"value":121348}," b ",{"type":426,"tag":553,"props":121350,"children":121351},{"style":795},[121352],{"type":431,"value":121353},"%",{"type":426,"tag":553,"props":121355,"children":121356},{"style":566},[121357],{"type":431,"value":49700},{"type":426,"tag":553,"props":121359,"children":121360},{"style":684},[121361],{"type":431,"value":3262},{"type":426,"tag":553,"props":121363,"children":121364},{"class":555,"line":1036},[121365,121369,121374,121378,121382],{"type":426,"tag":553,"props":121366,"children":121367},{"style":684},[121368],{"type":431,"value":106222},{"type":426,"tag":553,"props":121370,"children":121371},{"style":560},[121372],{"type":431,"value":121373},"join",{"type":426,"tag":553,"props":121375,"children":121376},{"style":684},[121377],{"type":431,"value":3275},{"type":426,"tag":553,"props":121379,"children":121380},{"style":572},[121381],{"type":431,"value":13605},{"type":426,"tag":553,"props":121383,"children":121384},{"style":684},[121385],{"type":431,"value":3262},{"type":426,"tag":553,"props":121387,"children":121388},{"class":555,"line":1054},[121389,121393,121397,121401,121405],{"type":426,"tag":553,"props":121390,"children":121391},{"style":684},[121392],{"type":431,"value":106222},{"type":426,"tag":553,"props":121394,"children":121395},{"style":560},[121396],{"type":431,"value":53335},{"type":426,"tag":553,"props":121398,"children":121399},{"style":684},[121400],{"type":431,"value":3275},{"type":426,"tag":553,"props":121402,"children":121403},{"style":566},[121404],{"type":431,"value":1930},{"type":426,"tag":553,"props":121406,"children":121407},{"style":684},[121408],{"type":431,"value":121409},", length);\n",{"type":426,"tag":553,"props":121411,"children":121412},{"class":555,"line":1080},[121413],{"type":426,"tag":553,"props":121414,"children":121415},{"style":684},[121416],{"type":431,"value":756},{"type":426,"tag":553,"props":121418,"children":121419},{"class":555,"line":1097},[121420],{"type":426,"tag":553,"props":121421,"children":121422},{"emptyLinePlaceholder":831},[121423],{"type":431,"value":834},{"type":426,"tag":553,"props":121425,"children":121426},{"class":555,"line":1114},[121427,121431,121436,121440,121444],{"type":426,"tag":553,"props":121428,"children":121429},{"style":795},[121430],{"type":431,"value":52135},{"type":426,"tag":553,"props":121432,"children":121433},{"style":566},[121434],{"type":431,"value":121435}," otp",{"type":426,"tag":553,"props":121437,"children":121438},{"style":795},[121439],{"type":431,"value":8739},{"type":426,"tag":553,"props":121441,"children":121442},{"style":560},[121443],{"type":431,"value":121244},{"type":426,"tag":553,"props":121445,"children":121446},{"style":684},[121447],{"type":431,"value":53227},{"type":426,"tag":553,"props":121449,"children":121450},{"class":555,"line":1127},[121451,121456,121460,121464,121469,121473,121477],{"type":426,"tag":553,"props":121452,"children":121453},{"style":684},[121454],{"type":431,"value":121455},"console.",{"type":426,"tag":553,"props":121457,"children":121458},{"style":560},[121459],{"type":431,"value":53719},{"type":426,"tag":553,"props":121461,"children":121462},{"style":684},[121463],{"type":431,"value":3275},{"type":426,"tag":553,"props":121465,"children":121466},{"style":572},[121467],{"type":431,"value":121468},"`Generated OTP: ${",{"type":426,"tag":553,"props":121470,"children":121471},{"style":684},[121472],{"type":431,"value":121165},{"type":426,"tag":553,"props":121474,"children":121475},{"style":572},[121476],{"type":431,"value":52718},{"type":426,"tag":553,"props":121478,"children":121479},{"style":684},[121480],{"type":431,"value":11379},{"type":426,"tag":427,"props":121482,"children":121483},{},[121484],{"type":431,"value":121485},"Store the OTP and its expiry timestamp in your database:",{"type":426,"tag":542,"props":121487,"children":121489},{"className":11021,"code":121488,"language":11020,"meta":417,"style":417},"INSERT INTO otp_verifications (user_id, otp_code, phone_number, expires_at, used)\nVALUES (123, '847291', '8801234567890', NOW() + INTERVAL 5 MINUTE, FALSE);\n",[121490],{"type":426,"tag":549,"props":121491,"children":121492},{"__ignoreMap":417},[121493,121506],{"type":426,"tag":553,"props":121494,"children":121495},{"class":555,"line":556},[121496,121501],{"type":426,"tag":553,"props":121497,"children":121498},{"style":795},[121499],{"type":431,"value":121500},"INSERT INTO",{"type":426,"tag":553,"props":121502,"children":121503},{"style":684},[121504],{"type":431,"value":121505}," otp_verifications (user_id, otp_code, phone_number, expires_at, used)\n",{"type":426,"tag":553,"props":121507,"children":121508},{"class":555,"line":588},[121509,121514,121518,121523,121527,121532,121536,121540,121544,121549,121553,121557,121562,121566,121571],{"type":426,"tag":553,"props":121510,"children":121511},{"style":795},[121512],{"type":431,"value":121513},"VALUES",{"type":426,"tag":553,"props":121515,"children":121516},{"style":684},[121517],{"type":431,"value":5684},{"type":426,"tag":553,"props":121519,"children":121520},{"style":566},[121521],{"type":431,"value":121522},"123",{"type":426,"tag":553,"props":121524,"children":121525},{"style":684},[121526],{"type":431,"value":1907},{"type":426,"tag":553,"props":121528,"children":121529},{"style":572},[121530],{"type":431,"value":121531},"'847291'",{"type":426,"tag":553,"props":121533,"children":121534},{"style":684},[121535],{"type":431,"value":1907},{"type":426,"tag":553,"props":121537,"children":121538},{"style":572},[121539],{"type":431,"value":10197},{"type":426,"tag":553,"props":121541,"children":121542},{"style":684},[121543],{"type":431,"value":1907},{"type":426,"tag":553,"props":121545,"children":121546},{"style":795},[121547],{"type":431,"value":121548},"NOW",{"type":426,"tag":553,"props":121550,"children":121551},{"style":684},[121552],{"type":431,"value":61573},{"type":426,"tag":553,"props":121554,"children":121555},{"style":795},[121556],{"type":431,"value":2033},{"type":426,"tag":553,"props":121558,"children":121559},{"style":684},[121560],{"type":431,"value":121561}," INTERVAL ",{"type":426,"tag":553,"props":121563,"children":121564},{"style":566},[121565],{"type":431,"value":9306},{"type":426,"tag":553,"props":121567,"children":121568},{"style":795},[121569],{"type":431,"value":121570}," MINUTE",{"type":426,"tag":553,"props":121572,"children":121573},{"style":684},[121574],{"type":431,"value":121575},", FALSE);\n",{"type":426,"tag":434,"props":121577,"children":121579},{"id":121578},"step-2-send-the-otp-via-rapiwa",[121580],{"type":431,"value":121581},"Step 2: Send the OTP via Rapiwa",{"type":426,"tag":427,"props":121583,"children":121584},{},[121585],{"type":431,"value":121586},"Once you have the OTP, send it via the Rapiwa API:",{"type":426,"tag":515,"props":121588,"children":121589},{"id":563},[121590],{"type":431,"value":56365},{"type":426,"tag":542,"props":121592,"children":121594},{"className":546,"code":121593,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Your verification code is: 847291\\n\\nThis code expires in 5 minutes. Do not share it with anyone.\"\n  }'\n",[121595],{"type":426,"tag":549,"props":121596,"children":121597},{"__ignoreMap":417},[121598,121621,121636,121651,121662,121669,121677],{"type":426,"tag":553,"props":121599,"children":121600},{"class":555,"line":556},[121601,121605,121609,121613,121617],{"type":426,"tag":553,"props":121602,"children":121603},{"style":560},[121604],{"type":431,"value":563},{"type":426,"tag":553,"props":121606,"children":121607},{"style":566},[121608],{"type":431,"value":569},{"type":426,"tag":553,"props":121610,"children":121611},{"style":572},[121612],{"type":431,"value":575},{"type":426,"tag":553,"props":121614,"children":121615},{"style":572},[121616],{"type":431,"value":580},{"type":426,"tag":553,"props":121618,"children":121619},{"style":566},[121620],{"type":431,"value":585},{"type":426,"tag":553,"props":121622,"children":121623},{"class":555,"line":588},[121624,121628,121632],{"type":426,"tag":553,"props":121625,"children":121626},{"style":566},[121627],{"type":431,"value":594},{"type":426,"tag":553,"props":121629,"children":121630},{"style":572},[121631],{"type":431,"value":599},{"type":426,"tag":553,"props":121633,"children":121634},{"style":566},[121635],{"type":431,"value":585},{"type":426,"tag":553,"props":121637,"children":121638},{"class":555,"line":606},[121639,121643,121647],{"type":426,"tag":553,"props":121640,"children":121641},{"style":566},[121642],{"type":431,"value":594},{"type":426,"tag":553,"props":121644,"children":121645},{"style":572},[121646],{"type":431,"value":616},{"type":426,"tag":553,"props":121648,"children":121649},{"style":566},[121650],{"type":431,"value":585},{"type":426,"tag":553,"props":121652,"children":121653},{"class":555,"line":623},[121654,121658],{"type":426,"tag":553,"props":121655,"children":121656},{"style":566},[121657],{"type":431,"value":629},{"type":426,"tag":553,"props":121659,"children":121660},{"style":572},[121661],{"type":431,"value":634},{"type":426,"tag":553,"props":121663,"children":121664},{"class":555,"line":637},[121665],{"type":426,"tag":553,"props":121666,"children":121667},{"style":572},[121668],{"type":431,"value":643},{"type":426,"tag":553,"props":121670,"children":121671},{"class":555,"line":646},[121672],{"type":426,"tag":553,"props":121673,"children":121674},{"style":572},[121675],{"type":431,"value":121676},"    \"message\": \"Your verification code is: 847291\\n\\nThis code expires in 5 minutes. Do not share it with anyone.\"\n",{"type":426,"tag":553,"props":121678,"children":121679},{"class":555,"line":655},[121680],{"type":426,"tag":553,"props":121681,"children":121682},{"style":572},[121683],{"type":431,"value":661},{"type":426,"tag":427,"props":121685,"children":121686},{},[121687],{"type":426,"tag":446,"props":121688,"children":121689},{},[121690],{"type":431,"value":121691},"Expected success response:",{"type":426,"tag":542,"props":121693,"children":121695},{"className":674,"code":121694,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123\",\n  \"timestamp\": \"2026-06-08T10:30:00Z\"\n}\n",[121696],{"type":426,"tag":549,"props":121697,"children":121698},{"__ignoreMap":417},[121699,121706,121725,121744,121760],{"type":426,"tag":553,"props":121700,"children":121701},{"class":555,"line":556},[121702],{"type":426,"tag":553,"props":121703,"children":121704},{"style":684},[121705],{"type":431,"value":687},{"type":426,"tag":553,"props":121707,"children":121708},{"class":555,"line":588},[121709,121713,121717,121721],{"type":426,"tag":553,"props":121710,"children":121711},{"style":566},[121712],{"type":431,"value":695},{"type":426,"tag":553,"props":121714,"children":121715},{"style":684},[121716],{"type":431,"value":700},{"type":426,"tag":553,"props":121718,"children":121719},{"style":572},[121720],{"type":431,"value":705},{"type":426,"tag":553,"props":121722,"children":121723},{"style":684},[121724],{"type":431,"value":710},{"type":426,"tag":553,"props":121726,"children":121727},{"class":555,"line":606},[121728,121732,121736,121740],{"type":426,"tag":553,"props":121729,"children":121730},{"style":566},[121731],{"type":431,"value":718},{"type":426,"tag":553,"props":121733,"children":121734},{"style":684},[121735],{"type":431,"value":700},{"type":426,"tag":553,"props":121737,"children":121738},{"style":572},[121739],{"type":431,"value":7376},{"type":426,"tag":553,"props":121741,"children":121742},{"style":684},[121743],{"type":431,"value":710},{"type":426,"tag":553,"props":121745,"children":121746},{"class":555,"line":623},[121747,121751,121755],{"type":426,"tag":553,"props":121748,"children":121749},{"style":566},[121750],{"type":431,"value":739},{"type":426,"tag":553,"props":121752,"children":121753},{"style":684},[121754],{"type":431,"value":700},{"type":426,"tag":553,"props":121756,"children":121757},{"style":572},[121758],{"type":431,"value":121759},"\"2026-06-08T10:30:00Z\"\n",{"type":426,"tag":553,"props":121761,"children":121762},{"class":555,"line":637},[121763],{"type":426,"tag":553,"props":121764,"children":121765},{"style":684},[121766],{"type":431,"value":756},{"type":426,"tag":515,"props":121768,"children":121770},{"id":121769},"python-full-function",[121771],{"type":431,"value":121772},"Python (Full Function)",{"type":426,"tag":542,"props":121774,"children":121776},{"className":785,"code":121775,"language":784,"meta":417,"style":417},"import requests\nimport secrets\nimport string\nfrom datetime import datetime, timedelta\n\nRAPIWA_API_KEY = \"YOUR_API_KEY\"\nRAPIWA_API_URL = \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"\n\ndef generate_otp(length=6):\n    return ''.join(secrets.choice(string.digits) for _ in range(length))\n\ndef send_whatsapp_otp(phone_number: str) -> dict:\n    \"\"\"\n    Generate and send an OTP to the given phone number via WhatsApp.\n    Returns the OTP code and expiry time.\n    \"\"\"\n    otp = generate_otp()\n    expiry = datetime.utcnow() + timedelta(minutes=5)\n    \n    message = (\n        f\"Your verification code is: *{otp}*\\n\\n\"\n        f\"This code expires in 5 minutes. Do not share it with anyone.\"\n    )\n    \n    response = requests.post(\n        RAPIWA_API_URL,\n        headers={\"Authorization\": f\"Bearer {RAPIWA_API_KEY}\"},\n        json={\"number\": phone_number, \"message\": message}\n    )\n    \n    result = response.json()\n    \n    if result.get(\"status\") == \"success\":\n        return {\n            \"success\": True,\n            \"otp\": otp,\n            \"expires_at\": expiry.isoformat(),\n            \"message_id\": result.get(\"messageId\")\n        }\n    else:\n        return {\"success\": False, \"error\": result}\n\n# Usage\nresult = send_whatsapp_otp(\"8801234567890\")\nif result[\"success\"]:\n    # Store result[\"otp\"] and result[\"expires_at\"] in your database\n    print(f\"OTP sent. Expires at: {result['expires_at']}\")\nelse:\n    print(f\"Error: {result['error']}\")\n",[121777],{"type":426,"tag":549,"props":121778,"children":121779},{"__ignoreMap":417},[121780,121791,121802,121813,121832,121839,121854,121870,121877,121904,121940,121947,121980,121987,121995,122003,122010,122027,122068,122075,122090,122126,122138,122145,122152,122167,122179,122222,122254,122261,122268,122283,122290,122321,122332,122352,122365,122378,122398,122405,122416,122453,122460,122467,122491,122510,122518,122567,122578],{"type":426,"tag":553,"props":121781,"children":121782},{"class":555,"line":556},[121783,121787],{"type":426,"tag":553,"props":121784,"children":121785},{"style":795},[121786],{"type":431,"value":798},{"type":426,"tag":553,"props":121788,"children":121789},{"style":684},[121790],{"type":431,"value":803},{"type":426,"tag":553,"props":121792,"children":121793},{"class":555,"line":588},[121794,121798],{"type":426,"tag":553,"props":121795,"children":121796},{"style":795},[121797],{"type":431,"value":798},{"type":426,"tag":553,"props":121799,"children":121800},{"style":684},[121801],{"type":431,"value":120996},{"type":426,"tag":553,"props":121803,"children":121804},{"class":555,"line":606},[121805,121809],{"type":426,"tag":553,"props":121806,"children":121807},{"style":795},[121808],{"type":431,"value":798},{"type":426,"tag":553,"props":121810,"children":121811},{"style":684},[121812],{"type":431,"value":93895},{"type":426,"tag":553,"props":121814,"children":121815},{"class":555,"line":623},[121816,121820,121824,121828],{"type":426,"tag":553,"props":121817,"children":121818},{"style":795},[121819],{"type":431,"value":811},{"type":426,"tag":553,"props":121821,"children":121822},{"style":684},[121823],{"type":431,"value":816},{"type":426,"tag":553,"props":121825,"children":121826},{"style":795},[121827],{"type":431,"value":798},{"type":426,"tag":553,"props":121829,"children":121830},{"style":684},[121831],{"type":431,"value":6409},{"type":426,"tag":553,"props":121833,"children":121834},{"class":555,"line":637},[121835],{"type":426,"tag":553,"props":121836,"children":121837},{"emptyLinePlaceholder":831},[121838],{"type":431,"value":834},{"type":426,"tag":553,"props":121840,"children":121841},{"class":555,"line":646},[121842,121846,121850],{"type":426,"tag":553,"props":121843,"children":121844},{"style":566},[121845],{"type":431,"value":7156},{"type":426,"tag":553,"props":121847,"children":121848},{"style":795},[121849],{"type":431,"value":8739},{"type":426,"tag":553,"props":121851,"children":121852},{"style":572},[121853],{"type":431,"value":40863},{"type":426,"tag":553,"props":121855,"children":121856},{"class":555,"line":655},[121857,121861,121865],{"type":426,"tag":553,"props":121858,"children":121859},{"style":566},[121860],{"type":431,"value":90934},{"type":426,"tag":553,"props":121862,"children":121863},{"style":795},[121864],{"type":431,"value":8739},{"type":426,"tag":553,"props":121866,"children":121867},{"style":572},[121868],{"type":431,"value":121869}," \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"\n",{"type":426,"tag":553,"props":121871,"children":121872},{"class":555,"line":1036},[121873],{"type":426,"tag":553,"props":121874,"children":121875},{"emptyLinePlaceholder":831},[121876],{"type":431,"value":834},{"type":426,"tag":553,"props":121878,"children":121879},{"class":555,"line":1054},[121880,121884,121888,121892,121896,121900],{"type":426,"tag":553,"props":121881,"children":121882},{"style":795},[121883],{"type":431,"value":842},{"type":426,"tag":553,"props":121885,"children":121886},{"style":560},[121887],{"type":431,"value":121026},{"type":426,"tag":553,"props":121889,"children":121890},{"style":684},[121891],{"type":431,"value":121031},{"type":426,"tag":553,"props":121893,"children":121894},{"style":795},[121895],{"type":431,"value":957},{"type":426,"tag":553,"props":121897,"children":121898},{"style":566},[121899],{"type":431,"value":121040},{"type":426,"tag":553,"props":121901,"children":121902},{"style":684},[121903],{"type":431,"value":8370},{"type":426,"tag":553,"props":121905,"children":121906},{"class":555,"line":1080},[121907,121911,121915,121920,121924,121928,121932,121936],{"type":426,"tag":553,"props":121908,"children":121909},{"style":795},[121910],{"type":431,"value":1659},{"type":426,"tag":553,"props":121912,"children":121913},{"style":572},[121914],{"type":431,"value":1024},{"type":426,"tag":553,"props":121916,"children":121917},{"style":684},[121918],{"type":431,"value":121919},".join(secrets.choice(string.digits) ",{"type":426,"tag":553,"props":121921,"children":121922},{"style":795},[121923],{"type":431,"value":7491},{"type":426,"tag":553,"props":121925,"children":121926},{"style":684},[121927],{"type":431,"value":121094},{"type":426,"tag":553,"props":121929,"children":121930},{"style":795},[121931],{"type":431,"value":2005},{"type":426,"tag":553,"props":121933,"children":121934},{"style":566},[121935],{"type":431,"value":8809},{"type":426,"tag":553,"props":121937,"children":121938},{"style":684},[121939],{"type":431,"value":121107},{"type":426,"tag":553,"props":121941,"children":121942},{"class":555,"line":1097},[121943],{"type":426,"tag":553,"props":121944,"children":121945},{"emptyLinePlaceholder":831},[121946],{"type":431,"value":834},{"type":426,"tag":553,"props":121948,"children":121949},{"class":555,"line":1114},[121950,121954,121959,121964,121968,121972,121976],{"type":426,"tag":553,"props":121951,"children":121952},{"style":795},[121953],{"type":431,"value":842},{"type":426,"tag":553,"props":121955,"children":121956},{"style":560},[121957],{"type":431,"value":121958}," send_whatsapp_otp",{"type":426,"tag":553,"props":121960,"children":121961},{"style":684},[121962],{"type":431,"value":121963},"(phone_number: ",{"type":426,"tag":553,"props":121965,"children":121966},{"style":566},[121967],{"type":431,"value":895},{"type":426,"tag":553,"props":121969,"children":121970},{"style":684},[121971],{"type":431,"value":900},{"type":426,"tag":553,"props":121973,"children":121974},{"style":566},[121975],{"type":431,"value":857},{"type":426,"tag":553,"props":121977,"children":121978},{"style":684},[121979],{"type":431,"value":909},{"type":426,"tag":553,"props":121981,"children":121982},{"class":555,"line":1127},[121983],{"type":426,"tag":553,"props":121984,"children":121985},{"style":572},[121986],{"type":431,"value":2673},{"type":426,"tag":553,"props":121988,"children":121989},{"class":555,"line":1167},[121990],{"type":426,"tag":553,"props":121991,"children":121992},{"style":572},[121993],{"type":431,"value":121994},"    Generate and send an OTP to the given phone number via WhatsApp.\n",{"type":426,"tag":553,"props":121996,"children":121997},{"class":555,"line":1184},[121998],{"type":426,"tag":553,"props":121999,"children":122000},{"style":572},[122001],{"type":431,"value":122002},"    Returns the OTP code and expiry time.\n",{"type":426,"tag":553,"props":122004,"children":122005},{"class":555,"line":1192},[122006],{"type":426,"tag":553,"props":122007,"children":122008},{"style":572},[122009],{"type":431,"value":2673},{"type":426,"tag":553,"props":122011,"children":122012},{"class":555,"line":1210},[122013,122018,122022],{"type":426,"tag":553,"props":122014,"children":122015},{"style":684},[122016],{"type":431,"value":122017},"    otp ",{"type":426,"tag":553,"props":122019,"children":122020},{"style":795},[122021],{"type":431,"value":957},{"type":426,"tag":553,"props":122023,"children":122024},{"style":684},[122025],{"type":431,"value":122026}," generate_otp()\n",{"type":426,"tag":553,"props":122028,"children":122029},{"class":555,"line":1253},[122030,122035,122039,122043,122047,122051,122056,122060,122064],{"type":426,"tag":553,"props":122031,"children":122032},{"style":684},[122033],{"type":431,"value":122034},"    expiry ",{"type":426,"tag":553,"props":122036,"children":122037},{"style":795},[122038],{"type":431,"value":957},{"type":426,"tag":553,"props":122040,"children":122041},{"style":684},[122042],{"type":431,"value":22278},{"type":426,"tag":553,"props":122044,"children":122045},{"style":795},[122046],{"type":431,"value":2033},{"type":426,"tag":553,"props":122048,"children":122049},{"style":684},[122050],{"type":431,"value":2038},{"type":426,"tag":553,"props":122052,"children":122053},{"style":1684},[122054],{"type":431,"value":122055},"minutes",{"type":426,"tag":553,"props":122057,"children":122058},{"style":795},[122059],{"type":431,"value":957},{"type":426,"tag":553,"props":122061,"children":122062},{"style":566},[122063],{"type":431,"value":9306},{"type":426,"tag":553,"props":122065,"children":122066},{"style":684},[122067],{"type":431,"value":3262},{"type":426,"tag":553,"props":122069,"children":122070},{"class":555,"line":1302},[122071],{"type":426,"tag":553,"props":122072,"children":122073},{"style":684},[122074],{"type":431,"value":917},{"type":426,"tag":553,"props":122076,"children":122077},{"class":555,"line":1374},[122078,122082,122086],{"type":426,"tag":553,"props":122079,"children":122080},{"style":684},[122081],{"type":431,"value":1198},{"type":426,"tag":553,"props":122083,"children":122084},{"style":795},[122085],{"type":431,"value":957},{"type":426,"tag":553,"props":122087,"children":122088},{"style":684},[122089],{"type":431,"value":1207},{"type":426,"tag":553,"props":122091,"children":122092},{"class":555,"line":1414},[122093,122097,122102,122106,122110,122114,122118,122122],{"type":426,"tag":553,"props":122094,"children":122095},{"style":795},[122096],{"type":431,"value":1216},{"type":426,"tag":553,"props":122098,"children":122099},{"style":572},[122100],{"type":431,"value":122101},"\"Your verification code is: *",{"type":426,"tag":553,"props":122103,"children":122104},{"style":566},[122105],{"type":431,"value":972},{"type":426,"tag":553,"props":122107,"children":122108},{"style":684},[122109],{"type":431,"value":121165},{"type":426,"tag":553,"props":122111,"children":122112},{"style":566},[122113],{"type":431,"value":982},{"type":426,"tag":553,"props":122115,"children":122116},{"style":572},[122117],{"type":431,"value":5801},{"type":426,"tag":553,"props":122119,"children":122120},{"style":566},[122121],{"type":431,"value":1295},{"type":426,"tag":553,"props":122123,"children":122124},{"style":572},[122125],{"type":431,"value":1250},{"type":426,"tag":553,"props":122127,"children":122128},{"class":555,"line":1479},[122129,122133],{"type":426,"tag":553,"props":122130,"children":122131},{"style":795},[122132],{"type":431,"value":1216},{"type":426,"tag":553,"props":122134,"children":122135},{"style":572},[122136],{"type":431,"value":122137},"\"This code expires in 5 minutes. Do not share it with anyone.\"\n",{"type":426,"tag":553,"props":122139,"children":122140},{"class":555,"line":1517},[122141],{"type":426,"tag":553,"props":122142,"children":122143},{"style":684},[122144],{"type":431,"value":1642},{"type":426,"tag":553,"props":122146,"children":122147},{"class":555,"line":1560},[122148],{"type":426,"tag":553,"props":122149,"children":122150},{"style":684},[122151],{"type":431,"value":917},{"type":426,"tag":553,"props":122153,"children":122154},{"class":555,"line":1598},[122155,122159,122163],{"type":426,"tag":553,"props":122156,"children":122157},{"style":684},[122158],{"type":431,"value":8117},{"type":426,"tag":553,"props":122160,"children":122161},{"style":795},[122162],{"type":431,"value":957},{"type":426,"tag":553,"props":122164,"children":122165},{"style":684},[122166],{"type":431,"value":1664},{"type":426,"tag":553,"props":122168,"children":122169},{"class":555,"line":1636},[122170,122175],{"type":426,"tag":553,"props":122171,"children":122172},{"style":566},[122173],{"type":431,"value":122174},"        RAPIWA_API_URL",{"type":426,"tag":553,"props":122176,"children":122177},{"style":684},[122178],{"type":431,"value":710},{"type":426,"tag":553,"props":122180,"children":122181},{"class":555,"line":1645},[122182,122186,122190,122194,122198,122202,122206,122210,122214,122218],{"type":426,"tag":553,"props":122183,"children":122184},{"style":1684},[122185],{"type":431,"value":1687},{"type":426,"tag":553,"props":122187,"children":122188},{"style":795},[122189],{"type":431,"value":957},{"type":426,"tag":553,"props":122191,"children":122192},{"style":684},[122193],{"type":431,"value":972},{"type":426,"tag":553,"props":122195,"children":122196},{"style":572},[122197],{"type":431,"value":45214},{"type":426,"tag":553,"props":122199,"children":122200},{"style":684},[122201],{"type":431,"value":700},{"type":426,"tag":553,"props":122203,"children":122204},{"style":795},[122205],{"type":431,"value":1709},{"type":426,"tag":553,"props":122207,"children":122208},{"style":572},[122209],{"type":431,"value":12608},{"type":426,"tag":553,"props":122211,"children":122212},{"style":566},[122213],{"type":431,"value":20835},{"type":426,"tag":553,"props":122215,"children":122216},{"style":572},[122217],{"type":431,"value":1527},{"type":426,"tag":553,"props":122219,"children":122220},{"style":684},[122221],{"type":431,"value":1737},{"type":426,"tag":553,"props":122223,"children":122224},{"class":555,"line":1653},[122225,122229,122233,122237,122241,122246,122250],{"type":426,"tag":553,"props":122226,"children":122227},{"style":1684},[122228],{"type":431,"value":1746},{"type":426,"tag":553,"props":122230,"children":122231},{"style":795},[122232],{"type":431,"value":957},{"type":426,"tag":553,"props":122234,"children":122235},{"style":684},[122236],{"type":431,"value":972},{"type":426,"tag":553,"props":122238,"children":122239},{"style":572},[122240],{"type":431,"value":45266},{"type":426,"tag":553,"props":122242,"children":122243},{"style":684},[122244],{"type":431,"value":122245},": phone_number, ",{"type":426,"tag":553,"props":122247,"children":122248},{"style":572},[122249],{"type":431,"value":45275},{"type":426,"tag":553,"props":122251,"children":122252},{"style":684},[122253],{"type":431,"value":1784},{"type":426,"tag":553,"props":122255,"children":122256},{"class":555,"line":1667},[122257],{"type":426,"tag":553,"props":122258,"children":122259},{"style":684},[122260],{"type":431,"value":1642},{"type":426,"tag":553,"props":122262,"children":122263},{"class":555,"line":1680},[122264],{"type":426,"tag":553,"props":122265,"children":122266},{"style":684},[122267],{"type":431,"value":917},{"type":426,"tag":553,"props":122269,"children":122270},{"class":555,"line":1740},[122271,122275,122279],{"type":426,"tag":553,"props":122272,"children":122273},{"style":684},[122274],{"type":431,"value":21488},{"type":426,"tag":553,"props":122276,"children":122277},{"style":795},[122278],{"type":431,"value":957},{"type":426,"tag":553,"props":122280,"children":122281},{"style":684},[122282],{"type":431,"value":9193},{"type":426,"tag":553,"props":122284,"children":122285},{"class":555,"line":1787},[122286],{"type":426,"tag":553,"props":122287,"children":122288},{"style":684},[122289],{"type":431,"value":917},{"type":426,"tag":553,"props":122291,"children":122292},{"class":555,"line":1796},[122293,122297,122301,122305,122309,122313,122317],{"type":426,"tag":553,"props":122294,"children":122295},{"style":795},[122296],{"type":431,"value":925},{"type":426,"tag":553,"props":122298,"children":122299},{"style":684},[122300],{"type":431,"value":2977},{"type":426,"tag":553,"props":122302,"children":122303},{"style":572},[122304],{"type":431,"value":68957},{"type":426,"tag":553,"props":122306,"children":122307},{"style":684},[122308],{"type":431,"value":2987},{"type":426,"tag":553,"props":122310,"children":122311},{"style":795},[122312],{"type":431,"value":1069},{"type":426,"tag":553,"props":122314,"children":122315},{"style":572},[122316],{"type":431,"value":69054},{"type":426,"tag":553,"props":122318,"children":122319},{"style":684},[122320],{"type":431,"value":909},{"type":426,"tag":553,"props":122322,"children":122323},{"class":555,"line":1804},[122324,122328],{"type":426,"tag":553,"props":122325,"children":122326},{"style":795},[122327],{"type":431,"value":8378},{"type":426,"tag":553,"props":122329,"children":122330},{"style":684},[122331],{"type":431,"value":5458},{"type":426,"tag":553,"props":122333,"children":122334},{"class":555,"line":1812},[122335,122340,122344,122348],{"type":426,"tag":553,"props":122336,"children":122337},{"style":572},[122338],{"type":431,"value":122339},"            \"success\"",{"type":426,"tag":553,"props":122341,"children":122342},{"style":684},[122343],{"type":431,"value":700},{"type":426,"tag":553,"props":122345,"children":122346},{"style":566},[122347],{"type":431,"value":21167},{"type":426,"tag":553,"props":122349,"children":122350},{"style":684},[122351],{"type":431,"value":710},{"type":426,"tag":553,"props":122353,"children":122354},{"class":555,"line":1847},[122355,122360],{"type":426,"tag":553,"props":122356,"children":122357},{"style":572},[122358],{"type":431,"value":122359},"            \"otp\"",{"type":426,"tag":553,"props":122361,"children":122362},{"style":684},[122363],{"type":431,"value":122364},": otp,\n",{"type":426,"tag":553,"props":122366,"children":122367},{"class":555,"line":1856},[122368,122373],{"type":426,"tag":553,"props":122369,"children":122370},{"style":572},[122371],{"type":431,"value":122372},"            \"expires_at\"",{"type":426,"tag":553,"props":122374,"children":122375},{"style":684},[122376],{"type":431,"value":122377},": expiry.isoformat(),\n",{"type":426,"tag":553,"props":122379,"children":122380},{"class":555,"line":1874},[122381,122386,122390,122394],{"type":426,"tag":553,"props":122382,"children":122383},{"style":572},[122384],{"type":431,"value":122385},"            \"message_id\"",{"type":426,"tag":553,"props":122387,"children":122388},{"style":684},[122389],{"type":431,"value":18107},{"type":426,"tag":553,"props":122391,"children":122392},{"style":572},[122393],{"type":431,"value":68982},{"type":426,"tag":553,"props":122395,"children":122396},{"style":684},[122397],{"type":431,"value":3262},{"type":426,"tag":553,"props":122399,"children":122400},{"class":555,"line":1882},[122401],{"type":426,"tag":553,"props":122402,"children":122403},{"style":684},[122404],{"type":431,"value":15075},{"type":426,"tag":553,"props":122406,"children":122407},{"class":555,"line":1981},[122408,122412],{"type":426,"tag":553,"props":122409,"children":122410},{"style":795},[122411],{"type":431,"value":1120},{"type":426,"tag":553,"props":122413,"children":122414},{"style":684},[122415],{"type":431,"value":909},{"type":426,"tag":553,"props":122417,"children":122418},{"class":555,"line":1989},[122419,122423,122427,122431,122435,122439,122443,122448],{"type":426,"tag":553,"props":122420,"children":122421},{"style":795},[122422],{"type":431,"value":8378},{"type":426,"tag":553,"props":122424,"children":122425},{"style":684},[122426],{"type":431,"value":1450},{"type":426,"tag":553,"props":122428,"children":122429},{"style":572},[122430],{"type":431,"value":705},{"type":426,"tag":553,"props":122432,"children":122433},{"style":684},[122434],{"type":431,"value":700},{"type":426,"tag":553,"props":122436,"children":122437},{"style":566},[122438],{"type":431,"value":65971},{"type":426,"tag":553,"props":122440,"children":122441},{"style":684},[122442],{"type":431,"value":1907},{"type":426,"tag":553,"props":122444,"children":122445},{"style":572},[122446],{"type":431,"value":122447},"\"error\"",{"type":426,"tag":553,"props":122449,"children":122450},{"style":684},[122451],{"type":431,"value":122452},": result}\n",{"type":426,"tag":553,"props":122454,"children":122455},{"class":555,"line":2013},[122456],{"type":426,"tag":553,"props":122457,"children":122458},{"emptyLinePlaceholder":831},[122459],{"type":431,"value":834},{"type":426,"tag":553,"props":122461,"children":122462},{"class":555,"line":2055},[122463],{"type":426,"tag":553,"props":122464,"children":122465},{"style":1975},[122466],{"type":431,"value":34179},{"type":426,"tag":553,"props":122468,"children":122469},{"class":555,"line":2064},[122470,122474,122478,122483,122487],{"type":426,"tag":553,"props":122471,"children":122472},{"style":684},[122473],{"type":431,"value":3146},{"type":426,"tag":553,"props":122475,"children":122476},{"style":795},[122477],{"type":431,"value":957},{"type":426,"tag":553,"props":122479,"children":122480},{"style":684},[122481],{"type":431,"value":122482}," send_whatsapp_otp(",{"type":426,"tag":553,"props":122484,"children":122485},{"style":572},[122486],{"type":431,"value":7286},{"type":426,"tag":553,"props":122488,"children":122489},{"style":684},[122490],{"type":431,"value":3262},{"type":426,"tag":553,"props":122492,"children":122493},{"class":555,"line":2087},[122494,122498,122502,122506],{"type":426,"tag":553,"props":122495,"children":122496},{"style":795},[122497],{"type":431,"value":7510},{"type":426,"tag":553,"props":122499,"children":122500},{"style":684},[122501],{"type":431,"value":10232},{"type":426,"tag":553,"props":122503,"children":122504},{"style":572},[122505],{"type":431,"value":705},{"type":426,"tag":553,"props":122507,"children":122508},{"style":684},[122509],{"type":431,"value":12008},{"type":426,"tag":553,"props":122511,"children":122512},{"class":555,"line":2096},[122513],{"type":426,"tag":553,"props":122514,"children":122515},{"style":1975},[122516],{"type":431,"value":122517},"    # Store result[\"otp\"] and result[\"expires_at\"] in your database\n",{"type":426,"tag":553,"props":122519,"children":122520},{"class":555,"line":2105},[122521,122525,122529,122533,122538,122542,122546,122551,122555,122559,122563],{"type":426,"tag":553,"props":122522,"children":122523},{"style":566},[122524],{"type":431,"value":51971},{"type":426,"tag":553,"props":122526,"children":122527},{"style":684},[122528],{"type":431,"value":3275},{"type":426,"tag":553,"props":122530,"children":122531},{"style":795},[122532],{"type":431,"value":1709},{"type":426,"tag":553,"props":122534,"children":122535},{"style":572},[122536],{"type":431,"value":122537},"\"OTP sent. Expires at: ",{"type":426,"tag":553,"props":122539,"children":122540},{"style":566},[122541],{"type":431,"value":972},{"type":426,"tag":553,"props":122543,"children":122544},{"style":684},[122545],{"type":431,"value":3293},{"type":426,"tag":553,"props":122547,"children":122548},{"style":572},[122549],{"type":431,"value":122550},"'expires_at'",{"type":426,"tag":553,"props":122552,"children":122553},{"style":684},[122554],{"type":431,"value":1240},{"type":426,"tag":553,"props":122556,"children":122557},{"style":566},[122558],{"type":431,"value":982},{"type":426,"tag":553,"props":122560,"children":122561},{"style":572},[122562],{"type":431,"value":1527},{"type":426,"tag":553,"props":122564,"children":122565},{"style":684},[122566],{"type":431,"value":3262},{"type":426,"tag":553,"props":122568,"children":122569},{"class":555,"line":2114},[122570,122574],{"type":426,"tag":553,"props":122571,"children":122572},{"style":795},[122573],{"type":431,"value":61682},{"type":426,"tag":553,"props":122575,"children":122576},{"style":684},[122577],{"type":431,"value":909},{"type":426,"tag":553,"props":122579,"children":122580},{"class":555,"line":2123},[122581,122585,122589,122593,122598,122602,122606,122610,122614,122618,122622],{"type":426,"tag":553,"props":122582,"children":122583},{"style":566},[122584],{"type":431,"value":51971},{"type":426,"tag":553,"props":122586,"children":122587},{"style":684},[122588],{"type":431,"value":3275},{"type":426,"tag":553,"props":122590,"children":122591},{"style":795},[122592],{"type":431,"value":1709},{"type":426,"tag":553,"props":122594,"children":122595},{"style":572},[122596],{"type":431,"value":122597},"\"Error: ",{"type":426,"tag":553,"props":122599,"children":122600},{"style":566},[122601],{"type":431,"value":972},{"type":426,"tag":553,"props":122603,"children":122604},{"style":684},[122605],{"type":431,"value":3293},{"type":426,"tag":553,"props":122607,"children":122608},{"style":572},[122609],{"type":431,"value":13699},{"type":426,"tag":553,"props":122611,"children":122612},{"style":684},[122613],{"type":431,"value":1240},{"type":426,"tag":553,"props":122615,"children":122616},{"style":566},[122617],{"type":431,"value":982},{"type":426,"tag":553,"props":122619,"children":122620},{"style":572},[122621],{"type":431,"value":1527},{"type":426,"tag":553,"props":122623,"children":122624},{"style":684},[122625],{"type":431,"value":3262},{"type":426,"tag":515,"props":122627,"children":122628},{"id":79185},[122629],{"type":431,"value":79188},{"type":426,"tag":542,"props":122631,"children":122633},{"className":52113,"code":122632,"language":52115,"meta":417,"style":417},"const fetch = require('node-fetch'); \u002F\u002F npm install node-fetch\nconst crypto = require('crypto');\n\nconst RAPIWA_API_KEY = 'YOUR_API_KEY';\nconst RAPIWA_API_URL = 'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message';\n\nfunction generateOTP(length = 6) {\n  const bytes = crypto.randomBytes(length);\n  return Array.from(bytes).map(b => b % 10).join('').slice(0, length);\n}\n\nasync function sendWhatsAppOTP(phoneNumber) {\n  const otp = generateOTP();\n  const expiresAt = new Date(Date.now() + 5 * 60 * 1000); \u002F\u002F 5 minutes\n\n  const message = `Your verification code is: *${otp}*\\n\\nThis code expires in 5 minutes. Do not share it with anyone.`;\n\n  const response = await fetch(RAPIWA_API_URL, {\n    method: 'POST',\n    headers: {\n      'Authorization': `Bearer ${RAPIWA_API_KEY}`,\n      'Content-Type': 'application\u002Fjson'\n    },\n    body: JSON.stringify({ number: phoneNumber, message })\n  });\n\n  const result = await response.json();\n\n  if (result.status === 'success') {\n    return { success: true, otp, expiresAt, messageId: result.messageId };\n  } else {\n    throw new Error(`Rapiwa API error: ${JSON.stringify(result)}`);\n  }\n}\n\n\u002F\u002F Usage\nsendWhatsAppOTP('8801234567890')\n  .then(result => {\n    \u002F\u002F Store result.otp and result.expiresAt in your database\n    console.log(`OTP sent! Expires at: ${result.expiresAt}`);\n  })\n  .catch(console.error);\n",[122634],{"type":426,"tag":549,"props":122635,"children":122636},{"__ignoreMap":417},[122637,122672,122703,122710,122733,122757,122764,122795,122822,122906,122913,122920,122949,122972,123041,123048,123089,123096,123131,123146,123153,123180,123195,123202,123226,123233,123240,123271,123278,123301,123322,123337,123393,123400,123407,123414,123421,123441,123469,123477,123518,123526],{"type":426,"tag":553,"props":122638,"children":122639},{"class":555,"line":556},[122640,122644,122648,122652,122656,122660,122664,122668],{"type":426,"tag":553,"props":122641,"children":122642},{"style":795},[122643],{"type":431,"value":52135},{"type":426,"tag":553,"props":122645,"children":122646},{"style":566},[122647],{"type":431,"value":52226},{"type":426,"tag":553,"props":122649,"children":122650},{"style":795},[122651],{"type":431,"value":8739},{"type":426,"tag":553,"props":122653,"children":122654},{"style":560},[122655],{"type":431,"value":52149},{"type":426,"tag":553,"props":122657,"children":122658},{"style":684},[122659],{"type":431,"value":3275},{"type":426,"tag":553,"props":122661,"children":122662},{"style":572},[122663],{"type":431,"value":52243},{"type":426,"tag":553,"props":122665,"children":122666},{"style":684},[122667],{"type":431,"value":61204},{"type":426,"tag":553,"props":122669,"children":122670},{"style":1975},[122671],{"type":431,"value":59023},{"type":426,"tag":553,"props":122673,"children":122674},{"class":555,"line":588},[122675,122679,122683,122687,122691,122695,122699],{"type":426,"tag":553,"props":122676,"children":122677},{"style":795},[122678],{"type":431,"value":52135},{"type":426,"tag":553,"props":122680,"children":122681},{"style":566},[122682],{"type":431,"value":121204},{"type":426,"tag":553,"props":122684,"children":122685},{"style":795},[122686],{"type":431,"value":8739},{"type":426,"tag":553,"props":122688,"children":122689},{"style":560},[122690],{"type":431,"value":52149},{"type":426,"tag":553,"props":122692,"children":122693},{"style":684},[122694],{"type":431,"value":3275},{"type":426,"tag":553,"props":122696,"children":122697},{"style":572},[122698],{"type":431,"value":121221},{"type":426,"tag":553,"props":122700,"children":122701},{"style":684},[122702],{"type":431,"value":11379},{"type":426,"tag":553,"props":122704,"children":122705},{"class":555,"line":606},[122706],{"type":426,"tag":553,"props":122707,"children":122708},{"emptyLinePlaceholder":831},[122709],{"type":431,"value":834},{"type":426,"tag":553,"props":122711,"children":122712},{"class":555,"line":623},[122713,122717,122721,122725,122729],{"type":426,"tag":553,"props":122714,"children":122715},{"style":795},[122716],{"type":431,"value":52135},{"type":426,"tag":553,"props":122718,"children":122719},{"style":566},[122720],{"type":431,"value":52307},{"type":426,"tag":553,"props":122722,"children":122723},{"style":795},[122724],{"type":431,"value":8739},{"type":426,"tag":553,"props":122726,"children":122727},{"style":572},[122728],{"type":431,"value":52316},{"type":426,"tag":553,"props":122730,"children":122731},{"style":684},[122732],{"type":431,"value":52321},{"type":426,"tag":553,"props":122734,"children":122735},{"class":555,"line":637},[122736,122740,122745,122749,122753],{"type":426,"tag":553,"props":122737,"children":122738},{"style":795},[122739],{"type":431,"value":52135},{"type":426,"tag":553,"props":122741,"children":122742},{"style":566},[122743],{"type":431,"value":122744}," RAPIWA_API_URL",{"type":426,"tag":553,"props":122746,"children":122747},{"style":795},[122748],{"type":431,"value":8739},{"type":426,"tag":553,"props":122750,"children":122751},{"style":572},[122752],{"type":431,"value":60881},{"type":426,"tag":553,"props":122754,"children":122755},{"style":684},[122756],{"type":431,"value":52321},{"type":426,"tag":553,"props":122758,"children":122759},{"class":555,"line":646},[122760],{"type":426,"tag":553,"props":122761,"children":122762},{"emptyLinePlaceholder":831},[122763],{"type":431,"value":834},{"type":426,"tag":553,"props":122765,"children":122766},{"class":555,"line":655},[122767,122771,122775,122779,122783,122787,122791],{"type":426,"tag":553,"props":122768,"children":122769},{"style":795},[122770],{"type":431,"value":79962},{"type":426,"tag":553,"props":122772,"children":122773},{"style":560},[122774],{"type":431,"value":121244},{"type":426,"tag":553,"props":122776,"children":122777},{"style":684},[122778],{"type":431,"value":3275},{"type":426,"tag":553,"props":122780,"children":122781},{"style":1684},[122782],{"type":431,"value":121253},{"type":426,"tag":553,"props":122784,"children":122785},{"style":795},[122786],{"type":431,"value":8739},{"type":426,"tag":553,"props":122788,"children":122789},{"style":566},[122790],{"type":431,"value":121262},{"type":426,"tag":553,"props":122792,"children":122793},{"style":684},[122794],{"type":431,"value":52385},{"type":426,"tag":553,"props":122796,"children":122797},{"class":555,"line":1036},[122798,122802,122806,122810,122814,122818],{"type":426,"tag":553,"props":122799,"children":122800},{"style":795},[122801],{"type":431,"value":52540},{"type":426,"tag":553,"props":122803,"children":122804},{"style":566},[122805],{"type":431,"value":121278},{"type":426,"tag":553,"props":122807,"children":122808},{"style":795},[122809],{"type":431,"value":8739},{"type":426,"tag":553,"props":122811,"children":122812},{"style":684},[122813],{"type":431,"value":121287},{"type":426,"tag":553,"props":122815,"children":122816},{"style":560},[122817],{"type":431,"value":121292},{"type":426,"tag":553,"props":122819,"children":122820},{"style":684},[122821],{"type":431,"value":121297},{"type":426,"tag":553,"props":122823,"children":122824},{"class":555,"line":1054},[122825,122829,122833,122837,122842,122846,122850,122854,122858,122862,122866,122870,122874,122878,122882,122886,122890,122894,122898,122902],{"type":426,"tag":553,"props":122826,"children":122827},{"style":795},[122828],{"type":431,"value":52393},{"type":426,"tag":553,"props":122830,"children":122831},{"style":684},[122832],{"type":431,"value":121309},{"type":426,"tag":553,"props":122834,"children":122835},{"style":560},[122836],{"type":431,"value":811},{"type":426,"tag":553,"props":122838,"children":122839},{"style":684},[122840],{"type":431,"value":122841},"(bytes).",{"type":426,"tag":553,"props":122843,"children":122844},{"style":560},[122845],{"type":431,"value":121330},{"type":426,"tag":553,"props":122847,"children":122848},{"style":684},[122849],{"type":431,"value":3275},{"type":426,"tag":553,"props":122851,"children":122852},{"style":1684},[122853],{"type":431,"value":121339},{"type":426,"tag":553,"props":122855,"children":122856},{"style":795},[122857],{"type":431,"value":53709},{"type":426,"tag":553,"props":122859,"children":122860},{"style":684},[122861],{"type":431,"value":121348},{"type":426,"tag":553,"props":122863,"children":122864},{"style":795},[122865],{"type":431,"value":121353},{"type":426,"tag":553,"props":122867,"children":122868},{"style":566},[122869],{"type":431,"value":49700},{"type":426,"tag":553,"props":122871,"children":122872},{"style":684},[122873],{"type":431,"value":53330},{"type":426,"tag":553,"props":122875,"children":122876},{"style":560},[122877],{"type":431,"value":121373},{"type":426,"tag":553,"props":122879,"children":122880},{"style":684},[122881],{"type":431,"value":3275},{"type":426,"tag":553,"props":122883,"children":122884},{"style":572},[122885],{"type":431,"value":13605},{"type":426,"tag":553,"props":122887,"children":122888},{"style":684},[122889],{"type":431,"value":53330},{"type":426,"tag":553,"props":122891,"children":122892},{"style":560},[122893],{"type":431,"value":53335},{"type":426,"tag":553,"props":122895,"children":122896},{"style":684},[122897],{"type":431,"value":3275},{"type":426,"tag":553,"props":122899,"children":122900},{"style":566},[122901],{"type":431,"value":1930},{"type":426,"tag":553,"props":122903,"children":122904},{"style":684},[122905],{"type":431,"value":121409},{"type":426,"tag":553,"props":122907,"children":122908},{"class":555,"line":1080},[122909],{"type":426,"tag":553,"props":122910,"children":122911},{"style":684},[122912],{"type":431,"value":756},{"type":426,"tag":553,"props":122914,"children":122915},{"class":555,"line":1097},[122916],{"type":426,"tag":553,"props":122917,"children":122918},{"emptyLinePlaceholder":831},[122919],{"type":431,"value":834},{"type":426,"tag":553,"props":122921,"children":122922},{"class":555,"line":1114},[122923,122927,122931,122936,122940,122945],{"type":426,"tag":553,"props":122924,"children":122925},{"style":795},[122926],{"type":431,"value":52361},{"type":426,"tag":553,"props":122928,"children":122929},{"style":795},[122930],{"type":431,"value":52366},{"type":426,"tag":553,"props":122932,"children":122933},{"style":560},[122934],{"type":431,"value":122935}," sendWhatsAppOTP",{"type":426,"tag":553,"props":122937,"children":122938},{"style":684},[122939],{"type":431,"value":3275},{"type":426,"tag":553,"props":122941,"children":122942},{"style":1684},[122943],{"type":431,"value":122944},"phoneNumber",{"type":426,"tag":553,"props":122946,"children":122947},{"style":684},[122948],{"type":431,"value":52385},{"type":426,"tag":553,"props":122950,"children":122951},{"class":555,"line":1127},[122952,122956,122960,122964,122968],{"type":426,"tag":553,"props":122953,"children":122954},{"style":795},[122955],{"type":431,"value":52540},{"type":426,"tag":553,"props":122957,"children":122958},{"style":566},[122959],{"type":431,"value":121435},{"type":426,"tag":553,"props":122961,"children":122962},{"style":795},[122963],{"type":431,"value":8739},{"type":426,"tag":553,"props":122965,"children":122966},{"style":560},[122967],{"type":431,"value":121244},{"type":426,"tag":553,"props":122969,"children":122970},{"style":684},[122971],{"type":431,"value":53227},{"type":426,"tag":553,"props":122973,"children":122974},{"class":555,"line":1167},[122975,122979,122984,122988,122992,122996,123000,123004,123008,123012,123016,123020,123024,123028,123032,123036],{"type":426,"tag":553,"props":122976,"children":122977},{"style":795},[122978],{"type":431,"value":52540},{"type":426,"tag":553,"props":122980,"children":122981},{"style":566},[122982],{"type":431,"value":122983}," expiresAt",{"type":426,"tag":553,"props":122985,"children":122986},{"style":795},[122987],{"type":431,"value":8739},{"type":426,"tag":553,"props":122989,"children":122990},{"style":795},[122991],{"type":431,"value":52275},{"type":426,"tag":553,"props":122993,"children":122994},{"style":560},[122995],{"type":431,"value":105570},{"type":426,"tag":553,"props":122997,"children":122998},{"style":684},[122999],{"type":431,"value":116298},{"type":426,"tag":553,"props":123001,"children":123002},{"style":560},[123003],{"type":431,"value":94755},{"type":426,"tag":553,"props":123005,"children":123006},{"style":684},[123007],{"type":431,"value":61573},{"type":426,"tag":553,"props":123009,"children":123010},{"style":795},[123011],{"type":431,"value":2033},{"type":426,"tag":553,"props":123013,"children":123014},{"style":566},[123015],{"type":431,"value":22046},{"type":426,"tag":553,"props":123017,"children":123018},{"style":795},[123019],{"type":431,"value":9633},{"type":426,"tag":553,"props":123021,"children":123022},{"style":566},[123023],{"type":431,"value":49849},{"type":426,"tag":553,"props":123025,"children":123026},{"style":795},[123027],{"type":431,"value":9633},{"type":426,"tag":553,"props":123029,"children":123030},{"style":566},[123031],{"type":431,"value":15727},{"type":426,"tag":553,"props":123033,"children":123034},{"style":684},[123035],{"type":431,"value":61204},{"type":426,"tag":553,"props":123037,"children":123038},{"style":1975},[123039],{"type":431,"value":123040},"\u002F\u002F 5 minutes\n",{"type":426,"tag":553,"props":123042,"children":123043},{"class":555,"line":1184},[123044],{"type":426,"tag":553,"props":123045,"children":123046},{"emptyLinePlaceholder":831},[123047],{"type":431,"value":834},{"type":426,"tag":553,"props":123049,"children":123050},{"class":555,"line":1192},[123051,123055,123059,123063,123068,123072,123076,123080,123085],{"type":426,"tag":553,"props":123052,"children":123053},{"style":795},[123054],{"type":431,"value":52540},{"type":426,"tag":553,"props":123056,"children":123057},{"style":566},[123058],{"type":431,"value":55741},{"type":426,"tag":553,"props":123060,"children":123061},{"style":795},[123062],{"type":431,"value":8739},{"type":426,"tag":553,"props":123064,"children":123065},{"style":572},[123066],{"type":431,"value":123067}," `Your verification code is: *${",{"type":426,"tag":553,"props":123069,"children":123070},{"style":684},[123071],{"type":431,"value":121165},{"type":426,"tag":553,"props":123073,"children":123074},{"style":572},[123075],{"type":431,"value":52934},{"type":426,"tag":553,"props":123077,"children":123078},{"style":566},[123079],{"type":431,"value":1295},{"type":426,"tag":553,"props":123081,"children":123082},{"style":572},[123083],{"type":431,"value":123084},"This code expires in 5 minutes. Do not share it with anyone.`",{"type":426,"tag":553,"props":123086,"children":123087},{"style":684},[123088],{"type":431,"value":52321},{"type":426,"tag":553,"props":123090,"children":123091},{"class":555,"line":1210},[123092],{"type":426,"tag":553,"props":123093,"children":123094},{"emptyLinePlaceholder":831},[123095],{"type":431,"value":834},{"type":426,"tag":553,"props":123097,"children":123098},{"class":555,"line":1253},[123099,123103,123107,123111,123115,123119,123123,123127],{"type":426,"tag":553,"props":123100,"children":123101},{"style":795},[123102],{"type":431,"value":52540},{"type":426,"tag":553,"props":123104,"children":123105},{"style":566},[123106],{"type":431,"value":53061},{"type":426,"tag":553,"props":123108,"children":123109},{"style":795},[123110],{"type":431,"value":8739},{"type":426,"tag":553,"props":123112,"children":123113},{"style":795},[123114],{"type":431,"value":53070},{"type":426,"tag":553,"props":123116,"children":123117},{"style":560},[123118],{"type":431,"value":52226},{"type":426,"tag":553,"props":123120,"children":123121},{"style":684},[123122],{"type":431,"value":3275},{"type":426,"tag":553,"props":123124,"children":123125},{"style":566},[123126],{"type":431,"value":90934},{"type":426,"tag":553,"props":123128,"children":123129},{"style":684},[123130],{"type":431,"value":53088},{"type":426,"tag":553,"props":123132,"children":123133},{"class":555,"line":1302},[123134,123138,123142],{"type":426,"tag":553,"props":123135,"children":123136},{"style":684},[123137],{"type":431,"value":53096},{"type":426,"tag":553,"props":123139,"children":123140},{"style":572},[123141],{"type":431,"value":8056},{"type":426,"tag":553,"props":123143,"children":123144},{"style":684},[123145],{"type":431,"value":710},{"type":426,"tag":553,"props":123147,"children":123148},{"class":555,"line":1374},[123149],{"type":426,"tag":553,"props":123150,"children":123151},{"style":684},[123152],{"type":431,"value":53112},{"type":426,"tag":553,"props":123154,"children":123155},{"class":555,"line":1414},[123156,123160,123164,123168,123172,123176],{"type":426,"tag":553,"props":123157,"children":123158},{"style":572},[123159],{"type":431,"value":53120},{"type":426,"tag":553,"props":123161,"children":123162},{"style":684},[123163],{"type":431,"value":700},{"type":426,"tag":553,"props":123165,"children":123166},{"style":572},[123167],{"type":431,"value":53129},{"type":426,"tag":553,"props":123169,"children":123170},{"style":566},[123171],{"type":431,"value":7156},{"type":426,"tag":553,"props":123173,"children":123174},{"style":572},[123175],{"type":431,"value":52718},{"type":426,"tag":553,"props":123177,"children":123178},{"style":684},[123179],{"type":431,"value":710},{"type":426,"tag":553,"props":123181,"children":123182},{"class":555,"line":1479},[123183,123187,123191],{"type":426,"tag":553,"props":123184,"children":123185},{"style":572},[123186],{"type":431,"value":53149},{"type":426,"tag":553,"props":123188,"children":123189},{"style":684},[123190],{"type":431,"value":700},{"type":426,"tag":553,"props":123192,"children":123193},{"style":572},[123194],{"type":431,"value":53158},{"type":426,"tag":553,"props":123196,"children":123197},{"class":555,"line":1517},[123198],{"type":426,"tag":553,"props":123199,"children":123200},{"style":684},[123201],{"type":431,"value":17203},{"type":426,"tag":553,"props":123203,"children":123204},{"class":555,"line":1560},[123205,123209,123213,123217,123221],{"type":426,"tag":553,"props":123206,"children":123207},{"style":684},[123208],{"type":431,"value":53173},{"type":426,"tag":553,"props":123210,"children":123211},{"style":566},[123212],{"type":431,"value":53178},{"type":426,"tag":553,"props":123214,"children":123215},{"style":684},[123216],{"type":431,"value":6789},{"type":426,"tag":553,"props":123218,"children":123219},{"style":560},[123220],{"type":431,"value":53187},{"type":426,"tag":553,"props":123222,"children":123223},{"style":684},[123224],{"type":431,"value":123225},"({ number: phoneNumber, message })\n",{"type":426,"tag":553,"props":123227,"children":123228},{"class":555,"line":1598},[123229],{"type":426,"tag":553,"props":123230,"children":123231},{"style":684},[123232],{"type":431,"value":52480},{"type":426,"tag":553,"props":123234,"children":123235},{"class":555,"line":1636},[123236],{"type":426,"tag":553,"props":123237,"children":123238},{"emptyLinePlaceholder":831},[123239],{"type":431,"value":834},{"type":426,"tag":553,"props":123241,"children":123242},{"class":555,"line":1645},[123243,123247,123251,123255,123259,123263,123267],{"type":426,"tag":553,"props":123244,"children":123245},{"style":795},[123246],{"type":431,"value":52540},{"type":426,"tag":553,"props":123248,"children":123249},{"style":566},[123250],{"type":431,"value":53508},{"type":426,"tag":553,"props":123252,"children":123253},{"style":795},[123254],{"type":431,"value":8739},{"type":426,"tag":553,"props":123256,"children":123257},{"style":795},[123258],{"type":431,"value":53070},{"type":426,"tag":553,"props":123260,"children":123261},{"style":684},[123262],{"type":431,"value":53218},{"type":426,"tag":553,"props":123264,"children":123265},{"style":560},[123266],{"type":431,"value":673},{"type":426,"tag":553,"props":123268,"children":123269},{"style":684},[123270],{"type":431,"value":53227},{"type":426,"tag":553,"props":123272,"children":123273},{"class":555,"line":1653},[123274],{"type":426,"tag":553,"props":123275,"children":123276},{"emptyLinePlaceholder":831},[123277],{"type":431,"value":834},{"type":426,"tag":553,"props":123279,"children":123280},{"class":555,"line":1667},[123281,123285,123289,123293,123297],{"type":426,"tag":553,"props":123282,"children":123283},{"style":795},[123284],{"type":431,"value":84798},{"type":426,"tag":553,"props":123286,"children":123287},{"style":684},[123288],{"type":431,"value":97265},{"type":426,"tag":553,"props":123290,"children":123291},{"style":795},[123292],{"type":431,"value":55042},{"type":426,"tag":553,"props":123294,"children":123295},{"style":572},[123296],{"type":431,"value":2996},{"type":426,"tag":553,"props":123298,"children":123299},{"style":684},[123300],{"type":431,"value":52385},{"type":426,"tag":553,"props":123302,"children":123303},{"class":555,"line":1680},[123304,123308,123313,123317],{"type":426,"tag":553,"props":123305,"children":123306},{"style":795},[123307],{"type":431,"value":1659},{"type":426,"tag":553,"props":123309,"children":123310},{"style":684},[123311],{"type":431,"value":123312}," { success: ",{"type":426,"tag":553,"props":123314,"children":123315},{"style":566},[123316],{"type":431,"value":48523},{"type":426,"tag":553,"props":123318,"children":123319},{"style":684},[123320],{"type":431,"value":123321},", otp, expiresAt, messageId: result.messageId };\n",{"type":426,"tag":553,"props":123323,"children":123324},{"class":555,"line":1740},[123325,123329,123333],{"type":426,"tag":553,"props":123326,"children":123327},{"style":684},[123328],{"type":431,"value":85621},{"type":426,"tag":553,"props":123330,"children":123331},{"style":795},[123332],{"type":431,"value":61682},{"type":426,"tag":553,"props":123334,"children":123335},{"style":684},[123336],{"type":431,"value":5458},{"type":426,"tag":553,"props":123338,"children":123339},{"class":555,"line":1787},[123340,123344,123348,123352,123356,123361,123365,123369,123373,123377,123381,123385,123389],{"type":426,"tag":553,"props":123341,"children":123342},{"style":795},[123343],{"type":431,"value":97285},{"type":426,"tag":553,"props":123345,"children":123346},{"style":795},[123347],{"type":431,"value":52275},{"type":426,"tag":553,"props":123349,"children":123350},{"style":560},[123351],{"type":431,"value":97294},{"type":426,"tag":553,"props":123353,"children":123354},{"style":684},[123355],{"type":431,"value":3275},{"type":426,"tag":553,"props":123357,"children":123358},{"style":572},[123359],{"type":431,"value":123360},"`Rapiwa API error: ${",{"type":426,"tag":553,"props":123362,"children":123363},{"style":566},[123364],{"type":431,"value":53178},{"type":426,"tag":553,"props":123366,"children":123367},{"style":572},[123368],{"type":431,"value":6789},{"type":426,"tag":553,"props":123370,"children":123371},{"style":560},[123372],{"type":431,"value":53187},{"type":426,"tag":553,"props":123374,"children":123375},{"style":572},[123376],{"type":431,"value":3275},{"type":426,"tag":553,"props":123378,"children":123379},{"style":684},[123380],{"type":431,"value":53704},{"type":426,"tag":553,"props":123382,"children":123383},{"style":572},[123384],{"type":431,"value":5736},{"type":426,"tag":553,"props":123386,"children":123387},{"style":572},[123388],{"type":431,"value":52718},{"type":426,"tag":553,"props":123390,"children":123391},{"style":684},[123392],{"type":431,"value":11379},{"type":426,"tag":553,"props":123394,"children":123395},{"class":555,"line":1796},[123396],{"type":426,"tag":553,"props":123397,"children":123398},{"style":684},[123399],{"type":431,"value":60547},{"type":426,"tag":553,"props":123401,"children":123402},{"class":555,"line":1804},[123403],{"type":426,"tag":553,"props":123404,"children":123405},{"style":684},[123406],{"type":431,"value":756},{"type":426,"tag":553,"props":123408,"children":123409},{"class":555,"line":1812},[123410],{"type":426,"tag":553,"props":123411,"children":123412},{"emptyLinePlaceholder":831},[123413],{"type":431,"value":834},{"type":426,"tag":553,"props":123415,"children":123416},{"class":555,"line":1847},[123417],{"type":426,"tag":553,"props":123418,"children":123419},{"style":1975},[123420],{"type":431,"value":53575},{"type":426,"tag":553,"props":123422,"children":123423},{"class":555,"line":1856},[123424,123429,123433,123437],{"type":426,"tag":553,"props":123425,"children":123426},{"style":560},[123427],{"type":431,"value":123428},"sendWhatsAppOTP",{"type":426,"tag":553,"props":123430,"children":123431},{"style":684},[123432],{"type":431,"value":3275},{"type":426,"tag":553,"props":123434,"children":123435},{"style":572},[123436],{"type":431,"value":10197},{"type":426,"tag":553,"props":123438,"children":123439},{"style":684},[123440],{"type":431,"value":3262},{"type":426,"tag":553,"props":123442,"children":123443},{"class":555,"line":1874},[123444,123449,123453,123457,123461,123465],{"type":426,"tag":553,"props":123445,"children":123446},{"style":684},[123447],{"type":431,"value":123448},"  .",{"type":426,"tag":553,"props":123450,"children":123451},{"style":560},[123452],{"type":431,"value":53695},{"type":426,"tag":553,"props":123454,"children":123455},{"style":684},[123456],{"type":431,"value":3275},{"type":426,"tag":553,"props":123458,"children":123459},{"style":1684},[123460],{"type":431,"value":53704},{"type":426,"tag":553,"props":123462,"children":123463},{"style":795},[123464],{"type":431,"value":53709},{"type":426,"tag":553,"props":123466,"children":123467},{"style":684},[123468],{"type":431,"value":5458},{"type":426,"tag":553,"props":123470,"children":123471},{"class":555,"line":1882},[123472],{"type":426,"tag":553,"props":123473,"children":123474},{"style":1975},[123475],{"type":431,"value":123476},"    \u002F\u002F Store result.otp and result.expiresAt in your database\n",{"type":426,"tag":553,"props":123478,"children":123479},{"class":555,"line":1981},[123480,123484,123488,123492,123497,123501,123505,123510,123514],{"type":426,"tag":553,"props":123481,"children":123482},{"style":684},[123483],{"type":431,"value":85587},{"type":426,"tag":553,"props":123485,"children":123486},{"style":560},[123487],{"type":431,"value":53719},{"type":426,"tag":553,"props":123489,"children":123490},{"style":684},[123491],{"type":431,"value":3275},{"type":426,"tag":553,"props":123493,"children":123494},{"style":572},[123495],{"type":431,"value":123496},"`OTP sent! Expires at: ${",{"type":426,"tag":553,"props":123498,"children":123499},{"style":684},[123500],{"type":431,"value":53704},{"type":426,"tag":553,"props":123502,"children":123503},{"style":572},[123504],{"type":431,"value":6789},{"type":426,"tag":553,"props":123506,"children":123507},{"style":684},[123508],{"type":431,"value":123509},"expiresAt",{"type":426,"tag":553,"props":123511,"children":123512},{"style":572},[123513],{"type":431,"value":52718},{"type":426,"tag":553,"props":123515,"children":123516},{"style":684},[123517],{"type":431,"value":11379},{"type":426,"tag":553,"props":123519,"children":123520},{"class":555,"line":1989},[123521],{"type":426,"tag":553,"props":123522,"children":123523},{"style":684},[123524],{"type":431,"value":123525},"  })\n",{"type":426,"tag":553,"props":123527,"children":123528},{"class":555,"line":2013},[123529,123533,123537],{"type":426,"tag":553,"props":123530,"children":123531},{"style":684},[123532],{"type":431,"value":123448},{"type":426,"tag":553,"props":123534,"children":123535},{"style":560},[123536],{"type":431,"value":61750},{"type":426,"tag":553,"props":123538,"children":123539},{"style":684},[123540],{"type":431,"value":123541},"(console.error);\n",{"type":426,"tag":515,"props":123543,"children":123544},{"id":79950},[123545],{"type":431,"value":123546},"PHP",{"type":426,"tag":542,"props":123548,"children":123550},{"className":79948,"code":123549,"language":79950,"meta":417,"style":417},"\u003C?php\nfunction generateOTP(int $length = 6): string {\n    $digits = '';\n    for ($i = 0; $i \u003C $length; $i++) {\n        $digits .= random_int(0, 9);\n    }\n    return $digits;\n}\n\nfunction sendWhatsAppOTP(string $phoneNumber): array {\n    $apiKey = 'YOUR_API_KEY';\n    $otp = generateOTP();\n    $expiresAt = date('Y-m-d H:i:s', strtotime('+5 minutes'));\n\n    $message = \"Your verification code is: *{$otp}*\\n\\nThis code expires in 5 minutes. Do not share it with anyone.\";\n\n    $ch = curl_init('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message');\n    curl_setopt_array($ch, [\n        CURLOPT_RETURNTRANSFER => true,\n        CURLOPT_POST => true,\n        CURLOPT_HTTPHEADER => [\n            \"Authorization: Bearer {$apiKey}\",\n            'Content-Type: application\u002Fjson'\n        ],\n        CURLOPT_POSTFIELDS => json_encode([\n            'number' => $phoneNumber,\n            'message' => $message\n        ])\n    ]);\n\n    $response = json_decode(curl_exec($ch), true);\n    curl_close($ch);\n\n    if ($response['status'] === 'success') {\n        return ['success' => true, 'otp' => $otp, 'expires_at' => $expiresAt];\n    }\n\n    return ['success' => false, 'error' => $response];\n}\n\n\u002F\u002F Usage\n$result = sendWhatsAppOTP('8801234567890');\nif ($result['success']) {\n    \u002F\u002F Store $result['otp'] in database with $result['expires_at']\n    echo \"OTP sent successfully!\\n\";\n}\n",[123551],{"type":426,"tag":549,"props":123552,"children":123553},{"__ignoreMap":417},[123554,123565,123613,123633,123675,123713,123720,123732,123739,123746,123782,123802,123822,123870,123877,123915,123922,123949,123960,123979,123998,124013,124032,124039,124046,124065,124081,124096,124103,124110,124117,124152,124163,124170,124201,124255,124262,124269,124309,124316,124323,124330,124357,124377,124385,124409],{"type":426,"tag":553,"props":123555,"children":123556},{"class":555,"line":556},[123557,123561],{"type":426,"tag":553,"props":123558,"children":123559},{"style":795},[123560],{"type":431,"value":86379},{"type":426,"tag":553,"props":123562,"children":123563},{"style":566},[123564],{"type":431,"value":86384},{"type":426,"tag":553,"props":123566,"children":123567},{"class":555,"line":588},[123568,123572,123576,123580,123584,123589,123593,123597,123601,123605,123609],{"type":426,"tag":553,"props":123569,"children":123570},{"style":795},[123571],{"type":431,"value":79962},{"type":426,"tag":553,"props":123573,"children":123574},{"style":560},[123575],{"type":431,"value":121244},{"type":426,"tag":553,"props":123577,"children":123578},{"style":684},[123579],{"type":431,"value":3275},{"type":426,"tag":553,"props":123581,"children":123582},{"style":795},[123583],{"type":431,"value":885},{"type":426,"tag":553,"props":123585,"children":123586},{"style":684},[123587],{"type":431,"value":123588}," $length ",{"type":426,"tag":553,"props":123590,"children":123591},{"style":795},[123592],{"type":431,"value":957},{"type":426,"tag":553,"props":123594,"children":123595},{"style":566},[123596],{"type":431,"value":121262},{"type":426,"tag":553,"props":123598,"children":123599},{"style":684},[123600],{"type":431,"value":5736},{"type":426,"tag":553,"props":123602,"children":123603},{"style":795},[123604],{"type":431,"value":19071},{"type":426,"tag":553,"props":123606,"children":123607},{"style":795},[123608],{"type":431,"value":76053},{"type":426,"tag":553,"props":123610,"children":123611},{"style":684},[123612],{"type":431,"value":5458},{"type":426,"tag":553,"props":123614,"children":123615},{"class":555,"line":606},[123616,123621,123625,123629],{"type":426,"tag":553,"props":123617,"children":123618},{"style":684},[123619],{"type":431,"value":123620},"    $digits ",{"type":426,"tag":553,"props":123622,"children":123623},{"style":795},[123624],{"type":431,"value":957},{"type":426,"tag":553,"props":123626,"children":123627},{"style":572},[123628],{"type":431,"value":1024},{"type":426,"tag":553,"props":123630,"children":123631},{"style":684},[123632],{"type":431,"value":52321},{"type":426,"tag":553,"props":123634,"children":123635},{"class":555,"line":623},[123636,123640,123645,123649,123653,123658,123662,123667,123671],{"type":426,"tag":553,"props":123637,"children":123638},{"style":795},[123639],{"type":431,"value":1995},{"type":426,"tag":553,"props":123641,"children":123642},{"style":684},[123643],{"type":431,"value":123644}," ($i ",{"type":426,"tag":553,"props":123646,"children":123647},{"style":795},[123648],{"type":431,"value":957},{"type":426,"tag":553,"props":123650,"children":123651},{"style":566},[123652],{"type":431,"value":940},{"type":426,"tag":553,"props":123654,"children":123655},{"style":684},[123656],{"type":431,"value":123657},"; $i ",{"type":426,"tag":553,"props":123659,"children":123660},{"style":795},[123661],{"type":431,"value":25949},{"type":426,"tag":553,"props":123663,"children":123664},{"style":684},[123665],{"type":431,"value":123666}," $length; $i",{"type":426,"tag":553,"props":123668,"children":123669},{"style":795},[123670],{"type":431,"value":105086},{"type":426,"tag":553,"props":123672,"children":123673},{"style":684},[123674],{"type":431,"value":52385},{"type":426,"tag":553,"props":123676,"children":123677},{"class":555,"line":637},[123678,123683,123688,123693,123697,123701,123705,123709],{"type":426,"tag":553,"props":123679,"children":123680},{"style":684},[123681],{"type":431,"value":123682},"        $digits ",{"type":426,"tag":553,"props":123684,"children":123685},{"style":795},[123686],{"type":431,"value":123687},".=",{"type":426,"tag":553,"props":123689,"children":123690},{"style":560},[123691],{"type":431,"value":123692}," random_int",{"type":426,"tag":553,"props":123694,"children":123695},{"style":684},[123696],{"type":431,"value":3275},{"type":426,"tag":553,"props":123698,"children":123699},{"style":566},[123700],{"type":431,"value":1930},{"type":426,"tag":553,"props":123702,"children":123703},{"style":684},[123704],{"type":431,"value":1907},{"type":426,"tag":553,"props":123706,"children":123707},{"style":566},[123708],{"type":431,"value":115813},{"type":426,"tag":553,"props":123710,"children":123711},{"style":684},[123712],{"type":431,"value":11379},{"type":426,"tag":553,"props":123714,"children":123715},{"class":555,"line":646},[123716],{"type":426,"tag":553,"props":123717,"children":123718},{"style":684},[123719],{"type":431,"value":5546},{"type":426,"tag":553,"props":123721,"children":123722},{"class":555,"line":655},[123723,123727],{"type":426,"tag":553,"props":123724,"children":123725},{"style":795},[123726],{"type":431,"value":1659},{"type":426,"tag":553,"props":123728,"children":123729},{"style":684},[123730],{"type":431,"value":123731}," $digits;\n",{"type":426,"tag":553,"props":123733,"children":123734},{"class":555,"line":1036},[123735],{"type":426,"tag":553,"props":123736,"children":123737},{"style":684},[123738],{"type":431,"value":756},{"type":426,"tag":553,"props":123740,"children":123741},{"class":555,"line":1054},[123742],{"type":426,"tag":553,"props":123743,"children":123744},{"emptyLinePlaceholder":831},[123745],{"type":431,"value":834},{"type":426,"tag":553,"props":123747,"children":123748},{"class":555,"line":1080},[123749,123753,123757,123761,123765,123770,123774,123778],{"type":426,"tag":553,"props":123750,"children":123751},{"style":795},[123752],{"type":431,"value":79962},{"type":426,"tag":553,"props":123754,"children":123755},{"style":560},[123756],{"type":431,"value":122935},{"type":426,"tag":553,"props":123758,"children":123759},{"style":684},[123760],{"type":431,"value":3275},{"type":426,"tag":553,"props":123762,"children":123763},{"style":795},[123764],{"type":431,"value":71939},{"type":426,"tag":553,"props":123766,"children":123767},{"style":684},[123768],{"type":431,"value":123769}," $phoneNumber)",{"type":426,"tag":553,"props":123771,"children":123772},{"style":795},[123773],{"type":431,"value":19071},{"type":426,"tag":553,"props":123775,"children":123776},{"style":795},[123777],{"type":431,"value":80028},{"type":426,"tag":553,"props":123779,"children":123780},{"style":684},[123781],{"type":431,"value":5458},{"type":426,"tag":553,"props":123783,"children":123784},{"class":555,"line":1097},[123785,123790,123794,123798],{"type":426,"tag":553,"props":123786,"children":123787},{"style":684},[123788],{"type":431,"value":123789},"    $apiKey ",{"type":426,"tag":553,"props":123791,"children":123792},{"style":795},[123793],{"type":431,"value":957},{"type":426,"tag":553,"props":123795,"children":123796},{"style":572},[123797],{"type":431,"value":52316},{"type":426,"tag":553,"props":123799,"children":123800},{"style":684},[123801],{"type":431,"value":52321},{"type":426,"tag":553,"props":123803,"children":123804},{"class":555,"line":1114},[123805,123810,123814,123818],{"type":426,"tag":553,"props":123806,"children":123807},{"style":684},[123808],{"type":431,"value":123809},"    $otp ",{"type":426,"tag":553,"props":123811,"children":123812},{"style":795},[123813],{"type":431,"value":957},{"type":426,"tag":553,"props":123815,"children":123816},{"style":560},[123817],{"type":431,"value":121244},{"type":426,"tag":553,"props":123819,"children":123820},{"style":684},[123821],{"type":431,"value":53227},{"type":426,"tag":553,"props":123823,"children":123824},{"class":555,"line":1127},[123825,123830,123834,123839,123843,123848,123852,123857,123861,123866],{"type":426,"tag":553,"props":123826,"children":123827},{"style":684},[123828],{"type":431,"value":123829},"    $expiresAt ",{"type":426,"tag":553,"props":123831,"children":123832},{"style":795},[123833],{"type":431,"value":957},{"type":426,"tag":553,"props":123835,"children":123836},{"style":566},[123837],{"type":431,"value":123838}," date",{"type":426,"tag":553,"props":123840,"children":123841},{"style":684},[123842],{"type":431,"value":3275},{"type":426,"tag":553,"props":123844,"children":123845},{"style":572},[123846],{"type":431,"value":123847},"'Y-m-d H:i:s'",{"type":426,"tag":553,"props":123849,"children":123850},{"style":684},[123851],{"type":431,"value":1907},{"type":426,"tag":553,"props":123853,"children":123854},{"style":566},[123855],{"type":431,"value":123856},"strtotime",{"type":426,"tag":553,"props":123858,"children":123859},{"style":684},[123860],{"type":431,"value":3275},{"type":426,"tag":553,"props":123862,"children":123863},{"style":572},[123864],{"type":431,"value":123865},"'+5 minutes'",{"type":426,"tag":553,"props":123867,"children":123868},{"style":684},[123869],{"type":431,"value":61669},{"type":426,"tag":553,"props":123871,"children":123872},{"class":555,"line":1167},[123873],{"type":426,"tag":553,"props":123874,"children":123875},{"emptyLinePlaceholder":831},[123876],{"type":431,"value":834},{"type":426,"tag":553,"props":123878,"children":123879},{"class":555,"line":1184},[123880,123884,123888,123893,123898,123902,123906,123911],{"type":426,"tag":553,"props":123881,"children":123882},{"style":684},[123883],{"type":431,"value":108269},{"type":426,"tag":553,"props":123885,"children":123886},{"style":795},[123887],{"type":431,"value":957},{"type":426,"tag":553,"props":123889,"children":123890},{"style":572},[123891],{"type":431,"value":123892}," \"Your verification code is: *{",{"type":426,"tag":553,"props":123894,"children":123895},{"style":684},[123896],{"type":431,"value":123897},"$otp",{"type":426,"tag":553,"props":123899,"children":123900},{"style":572},[123901],{"type":431,"value":52934},{"type":426,"tag":553,"props":123903,"children":123904},{"style":566},[123905],{"type":431,"value":1295},{"type":426,"tag":553,"props":123907,"children":123908},{"style":572},[123909],{"type":431,"value":123910},"This code expires in 5 minutes. Do not share it with anyone.\"",{"type":426,"tag":553,"props":123912,"children":123913},{"style":684},[123914],{"type":431,"value":52321},{"type":426,"tag":553,"props":123916,"children":123917},{"class":555,"line":1192},[123918],{"type":426,"tag":553,"props":123919,"children":123920},{"emptyLinePlaceholder":831},[123921],{"type":431,"value":834},{"type":426,"tag":553,"props":123923,"children":123924},{"class":555,"line":1210},[123925,123929,123933,123937,123941,123945],{"type":426,"tag":553,"props":123926,"children":123927},{"style":684},[123928],{"type":431,"value":80040},{"type":426,"tag":553,"props":123930,"children":123931},{"style":795},[123932],{"type":431,"value":957},{"type":426,"tag":553,"props":123934,"children":123935},{"style":566},[123936],{"type":431,"value":80049},{"type":426,"tag":553,"props":123938,"children":123939},{"style":684},[123940],{"type":431,"value":3275},{"type":426,"tag":553,"props":123942,"children":123943},{"style":572},[123944],{"type":431,"value":55802},{"type":426,"tag":553,"props":123946,"children":123947},{"style":684},[123948],{"type":431,"value":11379},{"type":426,"tag":553,"props":123950,"children":123951},{"class":555,"line":1253},[123952,123956],{"type":426,"tag":553,"props":123953,"children":123954},{"style":566},[123955],{"type":431,"value":80070},{"type":426,"tag":553,"props":123957,"children":123958},{"style":684},[123959],{"type":431,"value":80075},{"type":426,"tag":553,"props":123961,"children":123962},{"class":555,"line":1302},[123963,123967,123971,123975],{"type":426,"tag":553,"props":123964,"children":123965},{"style":566},[123966],{"type":431,"value":80083},{"type":426,"tag":553,"props":123968,"children":123969},{"style":795},[123970],{"type":431,"value":53709},{"type":426,"tag":553,"props":123972,"children":123973},{"style":566},[123974],{"type":431,"value":80092},{"type":426,"tag":553,"props":123976,"children":123977},{"style":684},[123978],{"type":431,"value":710},{"type":426,"tag":553,"props":123980,"children":123981},{"class":555,"line":1374},[123982,123986,123990,123994],{"type":426,"tag":553,"props":123983,"children":123984},{"style":566},[123985],{"type":431,"value":80104},{"type":426,"tag":553,"props":123987,"children":123988},{"style":795},[123989],{"type":431,"value":53709},{"type":426,"tag":553,"props":123991,"children":123992},{"style":566},[123993],{"type":431,"value":80092},{"type":426,"tag":553,"props":123995,"children":123996},{"style":684},[123997],{"type":431,"value":710},{"type":426,"tag":553,"props":123999,"children":124000},{"class":555,"line":1414},[124001,124005,124009],{"type":426,"tag":553,"props":124002,"children":124003},{"style":566},[124004],{"type":431,"value":80124},{"type":426,"tag":553,"props":124006,"children":124007},{"style":795},[124008],{"type":431,"value":53709},{"type":426,"tag":553,"props":124010,"children":124011},{"style":684},[124012],{"type":431,"value":80133},{"type":426,"tag":553,"props":124014,"children":124015},{"class":555,"line":1479},[124016,124020,124024,124028],{"type":426,"tag":553,"props":124017,"children":124018},{"style":572},[124019],{"type":431,"value":86579},{"type":426,"tag":553,"props":124021,"children":124022},{"style":684},[124023],{"type":431,"value":86584},{"type":426,"tag":553,"props":124025,"children":124026},{"style":572},[124027],{"type":431,"value":67316},{"type":426,"tag":553,"props":124029,"children":124030},{"style":684},[124031],{"type":431,"value":710},{"type":426,"tag":553,"props":124033,"children":124034},{"class":555,"line":1517},[124035],{"type":426,"tag":553,"props":124036,"children":124037},{"style":572},[124038],{"type":431,"value":80153},{"type":426,"tag":553,"props":124040,"children":124041},{"class":555,"line":1560},[124042],{"type":426,"tag":553,"props":124043,"children":124044},{"style":684},[124045],{"type":431,"value":80161},{"type":426,"tag":553,"props":124047,"children":124048},{"class":555,"line":1598},[124049,124053,124057,124061],{"type":426,"tag":553,"props":124050,"children":124051},{"style":566},[124052],{"type":431,"value":80169},{"type":426,"tag":553,"props":124054,"children":124055},{"style":795},[124056],{"type":431,"value":53709},{"type":426,"tag":553,"props":124058,"children":124059},{"style":566},[124060],{"type":431,"value":80178},{"type":426,"tag":553,"props":124062,"children":124063},{"style":684},[124064],{"type":431,"value":80183},{"type":426,"tag":553,"props":124066,"children":124067},{"class":555,"line":1636},[124068,124072,124076],{"type":426,"tag":553,"props":124069,"children":124070},{"style":572},[124071],{"type":431,"value":15045},{"type":426,"tag":553,"props":124073,"children":124074},{"style":795},[124075],{"type":431,"value":53709},{"type":426,"tag":553,"props":124077,"children":124078},{"style":684},[124079],{"type":431,"value":124080}," $phoneNumber,\n",{"type":426,"tag":553,"props":124082,"children":124083},{"class":555,"line":1645},[124084,124088,124092],{"type":426,"tag":553,"props":124085,"children":124086},{"style":572},[124087],{"type":431,"value":15058},{"type":426,"tag":553,"props":124089,"children":124090},{"style":795},[124091],{"type":431,"value":53709},{"type":426,"tag":553,"props":124093,"children":124094},{"style":684},[124095],{"type":431,"value":94569},{"type":426,"tag":553,"props":124097,"children":124098},{"class":555,"line":1653},[124099],{"type":426,"tag":553,"props":124100,"children":124101},{"style":684},[124102],{"type":431,"value":80255},{"type":426,"tag":553,"props":124104,"children":124105},{"class":555,"line":1667},[124106],{"type":426,"tag":553,"props":124107,"children":124108},{"style":684},[124109],{"type":431,"value":80263},{"type":426,"tag":553,"props":124111,"children":124112},{"class":555,"line":1680},[124113],{"type":426,"tag":553,"props":124114,"children":124115},{"emptyLinePlaceholder":831},[124116],{"type":431,"value":834},{"type":426,"tag":553,"props":124118,"children":124119},{"class":555,"line":1740},[124120,124124,124128,124132,124136,124140,124144,124148],{"type":426,"tag":553,"props":124121,"children":124122},{"style":684},[124123],{"type":431,"value":86692},{"type":426,"tag":553,"props":124125,"children":124126},{"style":795},[124127],{"type":431,"value":957},{"type":426,"tag":553,"props":124129,"children":124130},{"style":566},[124131],{"type":431,"value":80280},{"type":426,"tag":553,"props":124133,"children":124134},{"style":684},[124135],{"type":431,"value":3275},{"type":426,"tag":553,"props":124137,"children":124138},{"style":566},[124139],{"type":431,"value":80289},{"type":426,"tag":553,"props":124141,"children":124142},{"style":684},[124143],{"type":431,"value":80294},{"type":426,"tag":553,"props":124145,"children":124146},{"style":566},[124147],{"type":431,"value":48523},{"type":426,"tag":553,"props":124149,"children":124150},{"style":684},[124151],{"type":431,"value":11379},{"type":426,"tag":553,"props":124153,"children":124154},{"class":555,"line":1787},[124155,124159],{"type":426,"tag":553,"props":124156,"children":124157},{"style":566},[124158],{"type":431,"value":80310},{"type":426,"tag":553,"props":124160,"children":124161},{"style":684},[124162],{"type":431,"value":80315},{"type":426,"tag":553,"props":124164,"children":124165},{"class":555,"line":1796},[124166],{"type":426,"tag":553,"props":124167,"children":124168},{"emptyLinePlaceholder":831},[124169],{"type":431,"value":834},{"type":426,"tag":553,"props":124171,"children":124172},{"class":555,"line":1804},[124173,124177,124181,124185,124189,124193,124197],{"type":426,"tag":553,"props":124174,"children":124175},{"style":795},[124176],{"type":431,"value":925},{"type":426,"tag":553,"props":124178,"children":124179},{"style":684},[124180],{"type":431,"value":109136},{"type":426,"tag":553,"props":124182,"children":124183},{"style":572},[124184],{"type":431,"value":2982},{"type":426,"tag":553,"props":124186,"children":124187},{"style":684},[124188],{"type":431,"value":2229},{"type":426,"tag":553,"props":124190,"children":124191},{"style":795},[124192],{"type":431,"value":55042},{"type":426,"tag":553,"props":124194,"children":124195},{"style":572},[124196],{"type":431,"value":2996},{"type":426,"tag":553,"props":124198,"children":124199},{"style":684},[124200],{"type":431,"value":52385},{"type":426,"tag":553,"props":124202,"children":124203},{"class":555,"line":1812},[124204,124208,124212,124216,124220,124224,124228,124233,124237,124242,124246,124250],{"type":426,"tag":553,"props":124205,"children":124206},{"style":795},[124207],{"type":431,"value":8378},{"type":426,"tag":553,"props":124209,"children":124210},{"style":684},[124211],{"type":431,"value":1897},{"type":426,"tag":553,"props":124213,"children":124214},{"style":572},[124215],{"type":431,"value":10148},{"type":426,"tag":553,"props":124217,"children":124218},{"style":795},[124219],{"type":431,"value":53709},{"type":426,"tag":553,"props":124221,"children":124222},{"style":566},[124223],{"type":431,"value":80092},{"type":426,"tag":553,"props":124225,"children":124226},{"style":684},[124227],{"type":431,"value":1907},{"type":426,"tag":553,"props":124229,"children":124230},{"style":572},[124231],{"type":431,"value":124232},"'otp'",{"type":426,"tag":553,"props":124234,"children":124235},{"style":795},[124236],{"type":431,"value":53709},{"type":426,"tag":553,"props":124238,"children":124239},{"style":684},[124240],{"type":431,"value":124241}," $otp, ",{"type":426,"tag":553,"props":124243,"children":124244},{"style":572},[124245],{"type":431,"value":122550},{"type":426,"tag":553,"props":124247,"children":124248},{"style":795},[124249],{"type":431,"value":53709},{"type":426,"tag":553,"props":124251,"children":124252},{"style":684},[124253],{"type":431,"value":124254}," $expiresAt];\n",{"type":426,"tag":553,"props":124256,"children":124257},{"class":555,"line":1847},[124258],{"type":426,"tag":553,"props":124259,"children":124260},{"style":684},[124261],{"type":431,"value":5546},{"type":426,"tag":553,"props":124263,"children":124264},{"class":555,"line":1856},[124265],{"type":426,"tag":553,"props":124266,"children":124267},{"emptyLinePlaceholder":831},[124268],{"type":431,"value":834},{"type":426,"tag":553,"props":124270,"children":124271},{"class":555,"line":1874},[124272,124276,124280,124284,124288,124292,124296,124300,124304],{"type":426,"tag":553,"props":124273,"children":124274},{"style":795},[124275],{"type":431,"value":1659},{"type":426,"tag":553,"props":124277,"children":124278},{"style":684},[124279],{"type":431,"value":1897},{"type":426,"tag":553,"props":124281,"children":124282},{"style":572},[124283],{"type":431,"value":10148},{"type":426,"tag":553,"props":124285,"children":124286},{"style":795},[124287],{"type":431,"value":53709},{"type":426,"tag":553,"props":124289,"children":124290},{"style":566},[124291],{"type":431,"value":90089},{"type":426,"tag":553,"props":124293,"children":124294},{"style":684},[124295],{"type":431,"value":1907},{"type":426,"tag":553,"props":124297,"children":124298},{"style":572},[124299],{"type":431,"value":13699},{"type":426,"tag":553,"props":124301,"children":124302},{"style":795},[124303],{"type":431,"value":53709},{"type":426,"tag":553,"props":124305,"children":124306},{"style":684},[124307],{"type":431,"value":124308}," $response];\n",{"type":426,"tag":553,"props":124310,"children":124311},{"class":555,"line":1882},[124312],{"type":426,"tag":553,"props":124313,"children":124314},{"style":684},[124315],{"type":431,"value":756},{"type":426,"tag":553,"props":124317,"children":124318},{"class":555,"line":1981},[124319],{"type":426,"tag":553,"props":124320,"children":124321},{"emptyLinePlaceholder":831},[124322],{"type":431,"value":834},{"type":426,"tag":553,"props":124324,"children":124325},{"class":555,"line":1989},[124326],{"type":426,"tag":553,"props":124327,"children":124328},{"style":1975},[124329],{"type":431,"value":53575},{"type":426,"tag":553,"props":124331,"children":124332},{"class":555,"line":2013},[124333,124337,124341,124345,124349,124353],{"type":426,"tag":553,"props":124334,"children":124335},{"style":684},[124336],{"type":431,"value":88627},{"type":426,"tag":553,"props":124338,"children":124339},{"style":795},[124340],{"type":431,"value":957},{"type":426,"tag":553,"props":124342,"children":124343},{"style":560},[124344],{"type":431,"value":122935},{"type":426,"tag":553,"props":124346,"children":124347},{"style":684},[124348],{"type":431,"value":3275},{"type":426,"tag":553,"props":124350,"children":124351},{"style":572},[124352],{"type":431,"value":10197},{"type":426,"tag":553,"props":124354,"children":124355},{"style":684},[124356],{"type":431,"value":11379},{"type":426,"tag":553,"props":124358,"children":124359},{"class":555,"line":2055},[124360,124364,124368,124372],{"type":426,"tag":553,"props":124361,"children":124362},{"style":795},[124363],{"type":431,"value":7510},{"type":426,"tag":553,"props":124365,"children":124366},{"style":684},[124367],{"type":431,"value":87219},{"type":426,"tag":553,"props":124369,"children":124370},{"style":572},[124371],{"type":431,"value":10148},{"type":426,"tag":553,"props":124373,"children":124374},{"style":684},[124375],{"type":431,"value":124376},"]) {\n",{"type":426,"tag":553,"props":124378,"children":124379},{"class":555,"line":2064},[124380],{"type":426,"tag":553,"props":124381,"children":124382},{"style":1975},[124383],{"type":431,"value":124384},"    \u002F\u002F Store $result['otp'] in database with $result['expires_at']\n",{"type":426,"tag":553,"props":124386,"children":124387},{"class":555,"line":2087},[124388,124392,124397,124401,124405],{"type":426,"tag":553,"props":124389,"children":124390},{"style":566},[124391],{"type":431,"value":87315},{"type":426,"tag":553,"props":124393,"children":124394},{"style":572},[124395],{"type":431,"value":124396}," \"OTP sent successfully!",{"type":426,"tag":553,"props":124398,"children":124399},{"style":566},[124400],{"type":431,"value":3661},{"type":426,"tag":553,"props":124402,"children":124403},{"style":572},[124404],{"type":431,"value":1527},{"type":426,"tag":553,"props":124406,"children":124407},{"style":684},[124408],{"type":431,"value":52321},{"type":426,"tag":553,"props":124410,"children":124411},{"class":555,"line":2096},[124412],{"type":426,"tag":553,"props":124413,"children":124414},{"style":684},[124415],{"type":431,"value":756},{"type":426,"tag":434,"props":124417,"children":124419},{"id":124418},"step-3-verify-the-otp",[124420],{"type":431,"value":124421},"Step 3: Verify the OTP",{"type":426,"tag":427,"props":124423,"children":124424},{},[124425],{"type":431,"value":124426},"When the user submits the code from WhatsApp, verify it:",{"type":426,"tag":542,"props":124428,"children":124430},{"className":785,"code":124429,"language":784,"meta":417,"style":417},"def verify_otp(user_id: int, submitted_otp: str, db) -> bool:\n    \"\"\"\n    Verify the submitted OTP against the stored one.\n    Marks as used on success.\n    \"\"\"\n    record = db.query(\n        \"SELECT otp_code, expires_at, used FROM otp_verifications \"\n        \"WHERE user_id = %s AND used = FALSE ORDER BY created_at DESC LIMIT 1\",\n        [user_id]\n    )\n    \n    if not record:\n        return False  # No OTP found\n    \n    otp_code, expires_at, used = record\n    \n    if datetime.utcnow() > expires_at:\n        return False  # Expired\n    \n    if submitted_otp != otp_code:\n        return False  # Wrong code\n    \n    # Mark as used — prevent replay attacks\n    db.execute(\n        \"UPDATE otp_verifications SET used = TRUE WHERE user_id = %s\",\n        [user_id]\n    )\n    \n    return True\n",[124431],{"type":426,"tag":549,"props":124432,"children":124433},{"__ignoreMap":417},[124434,124475,124482,124490,124498,124505,124522,124530,124551,124559,124566,124573,124589,124606,124613,124630,124637,124657,124673,124680,124701,124717,124724,124732,124739,124759,124766,124773,124780],{"type":426,"tag":553,"props":124435,"children":124436},{"class":555,"line":556},[124437,124441,124446,124450,124454,124459,124463,124467,124471],{"type":426,"tag":553,"props":124438,"children":124439},{"style":795},[124440],{"type":431,"value":842},{"type":426,"tag":553,"props":124442,"children":124443},{"style":560},[124444],{"type":431,"value":124445}," verify_otp",{"type":426,"tag":553,"props":124447,"children":124448},{"style":684},[124449],{"type":431,"value":39792},{"type":426,"tag":553,"props":124451,"children":124452},{"style":566},[124453],{"type":431,"value":885},{"type":426,"tag":553,"props":124455,"children":124456},{"style":684},[124457],{"type":431,"value":124458},", submitted_otp: ",{"type":426,"tag":553,"props":124460,"children":124461},{"style":566},[124462],{"type":431,"value":895},{"type":426,"tag":553,"props":124464,"children":124465},{"style":684},[124466],{"type":431,"value":27500},{"type":426,"tag":553,"props":124468,"children":124469},{"style":566},[124470],{"type":431,"value":28342},{"type":426,"tag":553,"props":124472,"children":124473},{"style":684},[124474],{"type":431,"value":909},{"type":426,"tag":553,"props":124476,"children":124477},{"class":555,"line":588},[124478],{"type":426,"tag":553,"props":124479,"children":124480},{"style":572},[124481],{"type":431,"value":2673},{"type":426,"tag":553,"props":124483,"children":124484},{"class":555,"line":606},[124485],{"type":426,"tag":553,"props":124486,"children":124487},{"style":572},[124488],{"type":431,"value":124489},"    Verify the submitted OTP against the stored one.\n",{"type":426,"tag":553,"props":124491,"children":124492},{"class":555,"line":623},[124493],{"type":426,"tag":553,"props":124494,"children":124495},{"style":572},[124496],{"type":431,"value":124497},"    Marks as used on success.\n",{"type":426,"tag":553,"props":124499,"children":124500},{"class":555,"line":637},[124501],{"type":426,"tag":553,"props":124502,"children":124503},{"style":572},[124504],{"type":431,"value":2673},{"type":426,"tag":553,"props":124506,"children":124507},{"class":555,"line":646},[124508,124513,124517],{"type":426,"tag":553,"props":124509,"children":124510},{"style":684},[124511],{"type":431,"value":124512},"    record ",{"type":426,"tag":553,"props":124514,"children":124515},{"style":795},[124516],{"type":431,"value":957},{"type":426,"tag":553,"props":124518,"children":124519},{"style":684},[124520],{"type":431,"value":124521}," db.query(\n",{"type":426,"tag":553,"props":124523,"children":124524},{"class":555,"line":655},[124525],{"type":426,"tag":553,"props":124526,"children":124527},{"style":572},[124528],{"type":431,"value":124529},"        \"SELECT otp_code, expires_at, used FROM otp_verifications \"\n",{"type":426,"tag":553,"props":124531,"children":124532},{"class":555,"line":1036},[124533,124538,124542,124547],{"type":426,"tag":553,"props":124534,"children":124535},{"style":572},[124536],{"type":431,"value":124537},"        \"WHERE user_id = ",{"type":426,"tag":553,"props":124539,"children":124540},{"style":566},[124541],{"type":431,"value":2143},{"type":426,"tag":553,"props":124543,"children":124544},{"style":572},[124545],{"type":431,"value":124546}," AND used = FALSE ORDER BY created_at DESC LIMIT 1\"",{"type":426,"tag":553,"props":124548,"children":124549},{"style":684},[124550],{"type":431,"value":710},{"type":426,"tag":553,"props":124552,"children":124553},{"class":555,"line":1054},[124554],{"type":426,"tag":553,"props":124555,"children":124556},{"style":684},[124557],{"type":431,"value":124558},"        [user_id]\n",{"type":426,"tag":553,"props":124560,"children":124561},{"class":555,"line":1080},[124562],{"type":426,"tag":553,"props":124563,"children":124564},{"style":684},[124565],{"type":431,"value":1642},{"type":426,"tag":553,"props":124567,"children":124568},{"class":555,"line":1097},[124569],{"type":426,"tag":553,"props":124570,"children":124571},{"style":684},[124572],{"type":431,"value":917},{"type":426,"tag":553,"props":124574,"children":124575},{"class":555,"line":1114},[124576,124580,124584],{"type":426,"tag":553,"props":124577,"children":124578},{"style":795},[124579],{"type":431,"value":925},{"type":426,"tag":553,"props":124581,"children":124582},{"style":795},[124583],{"type":431,"value":12110},{"type":426,"tag":553,"props":124585,"children":124586},{"style":684},[124587],{"type":431,"value":124588}," record:\n",{"type":426,"tag":553,"props":124590,"children":124591},{"class":555,"line":1127},[124592,124596,124601],{"type":426,"tag":553,"props":124593,"children":124594},{"style":795},[124595],{"type":431,"value":8378},{"type":426,"tag":553,"props":124597,"children":124598},{"style":566},[124599],{"type":431,"value":124600}," False",{"type":426,"tag":553,"props":124602,"children":124603},{"style":1975},[124604],{"type":431,"value":124605},"  # No OTP found\n",{"type":426,"tag":553,"props":124607,"children":124608},{"class":555,"line":1167},[124609],{"type":426,"tag":553,"props":124610,"children":124611},{"style":684},[124612],{"type":431,"value":917},{"type":426,"tag":553,"props":124614,"children":124615},{"class":555,"line":1184},[124616,124621,124625],{"type":426,"tag":553,"props":124617,"children":124618},{"style":684},[124619],{"type":431,"value":124620},"    otp_code, expires_at, used ",{"type":426,"tag":553,"props":124622,"children":124623},{"style":795},[124624],{"type":431,"value":957},{"type":426,"tag":553,"props":124626,"children":124627},{"style":684},[124628],{"type":431,"value":124629}," record\n",{"type":426,"tag":553,"props":124631,"children":124632},{"class":555,"line":1192},[124633],{"type":426,"tag":553,"props":124634,"children":124635},{"style":684},[124636],{"type":431,"value":917},{"type":426,"tag":553,"props":124638,"children":124639},{"class":555,"line":1210},[124640,124644,124648,124652],{"type":426,"tag":553,"props":124641,"children":124642},{"style":795},[124643],{"type":431,"value":925},{"type":426,"tag":553,"props":124645,"children":124646},{"style":684},[124647],{"type":431,"value":22278},{"type":426,"tag":553,"props":124649,"children":124650},{"style":795},[124651],{"type":431,"value":935},{"type":426,"tag":553,"props":124653,"children":124654},{"style":684},[124655],{"type":431,"value":124656}," expires_at:\n",{"type":426,"tag":553,"props":124658,"children":124659},{"class":555,"line":1253},[124660,124664,124668],{"type":426,"tag":553,"props":124661,"children":124662},{"style":795},[124663],{"type":431,"value":8378},{"type":426,"tag":553,"props":124665,"children":124666},{"style":566},[124667],{"type":431,"value":124600},{"type":426,"tag":553,"props":124669,"children":124670},{"style":1975},[124671],{"type":431,"value":124672},"  # Expired\n",{"type":426,"tag":553,"props":124674,"children":124675},{"class":555,"line":1302},[124676],{"type":426,"tag":553,"props":124677,"children":124678},{"style":684},[124679],{"type":431,"value":917},{"type":426,"tag":553,"props":124681,"children":124682},{"class":555,"line":1374},[124683,124687,124692,124696],{"type":426,"tag":553,"props":124684,"children":124685},{"style":795},[124686],{"type":431,"value":925},{"type":426,"tag":553,"props":124688,"children":124689},{"style":684},[124690],{"type":431,"value":124691}," submitted_otp ",{"type":426,"tag":553,"props":124693,"children":124694},{"style":795},[124695],{"type":431,"value":15114},{"type":426,"tag":553,"props":124697,"children":124698},{"style":684},[124699],{"type":431,"value":124700}," otp_code:\n",{"type":426,"tag":553,"props":124702,"children":124703},{"class":555,"line":1414},[124704,124708,124712],{"type":426,"tag":553,"props":124705,"children":124706},{"style":795},[124707],{"type":431,"value":8378},{"type":426,"tag":553,"props":124709,"children":124710},{"style":566},[124711],{"type":431,"value":124600},{"type":426,"tag":553,"props":124713,"children":124714},{"style":1975},[124715],{"type":431,"value":124716},"  # Wrong code\n",{"type":426,"tag":553,"props":124718,"children":124719},{"class":555,"line":1479},[124720],{"type":426,"tag":553,"props":124721,"children":124722},{"style":684},[124723],{"type":431,"value":917},{"type":426,"tag":553,"props":124725,"children":124726},{"class":555,"line":1517},[124727],{"type":426,"tag":553,"props":124728,"children":124729},{"style":1975},[124730],{"type":431,"value":124731},"    # Mark as used — prevent replay attacks\n",{"type":426,"tag":553,"props":124733,"children":124734},{"class":555,"line":1560},[124735],{"type":426,"tag":553,"props":124736,"children":124737},{"style":684},[124738],{"type":431,"value":15177},{"type":426,"tag":553,"props":124740,"children":124741},{"class":555,"line":1598},[124742,124747,124751,124755],{"type":426,"tag":553,"props":124743,"children":124744},{"style":572},[124745],{"type":431,"value":124746},"        \"UPDATE otp_verifications SET used = TRUE WHERE user_id = ",{"type":426,"tag":553,"props":124748,"children":124749},{"style":566},[124750],{"type":431,"value":2143},{"type":426,"tag":553,"props":124752,"children":124753},{"style":572},[124754],{"type":431,"value":1527},{"type":426,"tag":553,"props":124756,"children":124757},{"style":684},[124758],{"type":431,"value":710},{"type":426,"tag":553,"props":124760,"children":124761},{"class":555,"line":1636},[124762],{"type":426,"tag":553,"props":124763,"children":124764},{"style":684},[124765],{"type":431,"value":124558},{"type":426,"tag":553,"props":124767,"children":124768},{"class":555,"line":1645},[124769],{"type":426,"tag":553,"props":124770,"children":124771},{"style":684},[124772],{"type":431,"value":1642},{"type":426,"tag":553,"props":124774,"children":124775},{"class":555,"line":1653},[124776],{"type":426,"tag":553,"props":124777,"children":124778},{"style":684},[124779],{"type":431,"value":917},{"type":426,"tag":553,"props":124781,"children":124782},{"class":555,"line":1667},[124783,124787],{"type":426,"tag":553,"props":124784,"children":124785},{"style":795},[124786],{"type":431,"value":1659},{"type":426,"tag":553,"props":124788,"children":124789},{"style":566},[124790],{"type":431,"value":124791}," True\n",{"type":426,"tag":434,"props":124793,"children":124795},{"id":124794},"otp-message-template-best-practices",[124796],{"type":431,"value":124797},"OTP Message Template Best Practices",{"type":426,"tag":10600,"props":124799,"children":124800},{},[124801,124817],{"type":426,"tag":10604,"props":124802,"children":124803},{},[124804],{"type":426,"tag":10608,"props":124805,"children":124806},{},[124807,124812],{"type":426,"tag":10612,"props":124808,"children":124809},{},[124810],{"type":431,"value":124811},"Practice",{"type":426,"tag":10612,"props":124813,"children":124814},{},[124815],{"type":431,"value":124816},"Example",{"type":426,"tag":10623,"props":124818,"children":124819},{},[124820,124837,124854,124871,124884],{"type":426,"tag":10608,"props":124821,"children":124822},{},[124823,124828],{"type":426,"tag":10630,"props":124824,"children":124825},{},[124826],{"type":431,"value":124827},"Bold the code",{"type":426,"tag":10630,"props":124829,"children":124830},{},[124831],{"type":426,"tag":549,"props":124832,"children":124834},{"className":124833},[],[124835],{"type":431,"value":124836},"Your code is: *847291*",{"type":426,"tag":10608,"props":124838,"children":124839},{},[124840,124845],{"type":426,"tag":10630,"props":124841,"children":124842},{},[124843],{"type":431,"value":124844},"Include expiry",{"type":426,"tag":10630,"props":124846,"children":124847},{},[124848],{"type":426,"tag":549,"props":124849,"children":124851},{"className":124850},[],[124852],{"type":431,"value":124853},"Expires in 5 minutes",{"type":426,"tag":10608,"props":124855,"children":124856},{},[124857,124862],{"type":426,"tag":10630,"props":124858,"children":124859},{},[124860],{"type":431,"value":124861},"Warn against sharing",{"type":426,"tag":10630,"props":124863,"children":124864},{},[124865],{"type":426,"tag":549,"props":124866,"children":124868},{"className":124867},[],[124869],{"type":431,"value":124870},"Do not share this code",{"type":426,"tag":10608,"props":124872,"children":124873},{},[124874,124879],{"type":426,"tag":10630,"props":124875,"children":124876},{},[124877],{"type":431,"value":124878},"Keep it short",{"type":426,"tag":10630,"props":124880,"children":124881},{},[124882],{"type":431,"value":124883},"Under 100 characters total",{"type":426,"tag":10608,"props":124885,"children":124886},{},[124887,124892],{"type":426,"tag":10630,"props":124888,"children":124889},{},[124890],{"type":431,"value":124891},"Name your service",{"type":426,"tag":10630,"props":124893,"children":124894},{},[124895],{"type":426,"tag":549,"props":124896,"children":124898},{"className":124897},[],[124899],{"type":431,"value":124900},"Your Rapiwa verification code is:",{"type":426,"tag":434,"props":124902,"children":124904},{"id":124903},"security-considerations",[124905],{"type":431,"value":124906},"Security Considerations",{"type":426,"tag":454,"props":124908,"children":124909},{},[124910,124920,124930,124940,124986],{"type":426,"tag":458,"props":124911,"children":124912},{},[124913,124918],{"type":426,"tag":446,"props":124914,"children":124915},{},[124916],{"type":431,"value":124917},"Expiry",{"type":431,"value":124919},": Set OTPs to expire after 5–10 minutes maximum",{"type":426,"tag":458,"props":124921,"children":124922},{},[124923,124928],{"type":426,"tag":446,"props":124924,"children":124925},{},[124926],{"type":431,"value":124927},"Single use",{"type":431,"value":124929},": Mark OTPs as used immediately after verification",{"type":426,"tag":458,"props":124931,"children":124932},{},[124933,124938],{"type":426,"tag":446,"props":124934,"children":124935},{},[124936],{"type":431,"value":124937},"Rate limiting",{"type":431,"value":124939},": Allow maximum 3 OTP attempts per phone number per hour",{"type":426,"tag":458,"props":124941,"children":124942},{},[124943,124948,124949,124955,124957,124963,124965,124971,124973,124979,124980],{"type":426,"tag":446,"props":124944,"children":124945},{},[124946],{"type":431,"value":124947},"Cryptographic randomness",{"type":431,"value":22914},{"type":426,"tag":549,"props":124950,"children":124952},{"className":124951},[],[124953],{"type":431,"value":124954},"secrets",{"type":431,"value":124956}," (Python), ",{"type":426,"tag":549,"props":124958,"children":124960},{"className":124959},[],[124961],{"type":431,"value":124962},"crypto.randomBytes",{"type":431,"value":124964}," (Node.js), or ",{"type":426,"tag":549,"props":124966,"children":124968},{"className":124967},[],[124969],{"type":431,"value":124970},"random_int",{"type":431,"value":124972}," (PHP) — never ",{"type":426,"tag":549,"props":124974,"children":124976},{"className":124975},[],[124977],{"type":431,"value":124978},"Math.random()",{"type":431,"value":77103},{"type":426,"tag":549,"props":124981,"children":124983},{"className":124982},[],[124984],{"type":431,"value":124985},"rand()",{"type":426,"tag":458,"props":124987,"children":124988},{},[124989,124994,124996,125002],{"type":426,"tag":446,"props":124990,"children":124991},{},[124992],{"type":431,"value":124993},"Store hashed",{"type":431,"value":124995},": For extra security, store ",{"type":426,"tag":549,"props":124997,"children":124999},{"className":124998},[],[125000],{"type":431,"value":125001},"sha256(otp)",{"type":431,"value":125003}," rather than the plaintext OTP",{"type":426,"tag":434,"props":125005,"children":125006},{"id":18886},[125007],{"type":431,"value":18889},{"type":426,"tag":454,"props":125009,"children":125010},{},[125011,125020,125048,125057],{"type":426,"tag":458,"props":125012,"children":125013},{},[125014,125018],{"type":426,"tag":446,"props":125015,"children":125016},{},[125017],{"type":431,"value":8544},{"type":431,"value":125019},": API key is wrong. Copy fresh key from Rapiwa Dashboard → API Keys",{"type":426,"tag":458,"props":125021,"children":125022},{},[125023,125027,125029,125034,125035,125040,125042],{"type":426,"tag":446,"props":125024,"children":125025},{},[125026],{"type":431,"value":78204},{"type":431,"value":125028},": Phone number must be in international format without ",{"type":426,"tag":549,"props":125030,"children":125032},{"className":125031},[],[125033],{"type":431,"value":2033},{"type":431,"value":90779},{"type":426,"tag":549,"props":125036,"children":125038},{"className":125037},[],[125039],{"type":431,"value":7237},{"type":431,"value":125041}," not ",{"type":426,"tag":549,"props":125043,"children":125045},{"className":125044},[],[125046],{"type":431,"value":125047},"+880-123-4567890",{"type":426,"tag":458,"props":125049,"children":125050},{},[125051,125055],{"type":426,"tag":446,"props":125052,"children":125053},{},[125054],{"type":431,"value":8602},{"type":431,"value":125056},": You're sending too fast. Add 1-second delays between requests or reduce frequency",{"type":426,"tag":458,"props":125058,"children":125059},{},[125060,125065],{"type":426,"tag":446,"props":125061,"children":125062},{},[125063],{"type":431,"value":125064},"Message not arriving",{"type":431,"value":125066},": Verify the WhatsApp number is active and not blocked",{"type":426,"tag":434,"props":125068,"children":125069},{"id":73429},[125070],{"type":431,"value":125071},"Summary",{"type":426,"tag":454,"props":125073,"children":125074},{},[125075,125080,125102,125107],{"type":426,"tag":458,"props":125076,"children":125077},{},[125078],{"type":431,"value":125079},"Generate OTP using cryptographically secure randomness",{"type":426,"tag":458,"props":125081,"children":125082},{},[125083,125085,125090,125091,125096,125097],{"type":431,"value":125084},"POST to ",{"type":426,"tag":549,"props":125086,"children":125088},{"className":125087},[],[125089],{"type":431,"value":48098},{"type":431,"value":66589},{"type":426,"tag":549,"props":125092,"children":125094},{"className":125093},[],[125095],{"type":431,"value":39195},{"type":431,"value":48630},{"type":426,"tag":549,"props":125098,"children":125100},{"className":125099},[],[125101],{"type":431,"value":2734},{"type":426,"tag":458,"props":125103,"children":125104},{},[125105],{"type":431,"value":125106},"Store OTP with expiry time and mark as used after verification",{"type":426,"tag":458,"props":125108,"children":125109},{},[125110],{"type":431,"value":125111},"Rapiwa costs $5\u002Fmonth flat — send unlimited OTPs with no per-message charges",{"type":426,"tag":434,"props":125113,"children":125114},{"id":4109},[125115],{"type":431,"value":4112},{"type":426,"tag":427,"props":125117,"children":125118},{},[125119,125124],{"type":426,"tag":446,"props":125120,"children":125121},{},[125122],{"type":431,"value":125123},"Can I send WhatsApp OTP messages with Rapiwa?",{"type":431,"value":125125},"\nYes. Rapiwa's API supports sending any text message via WhatsApp, including OTP verification codes. There are no per-message fees — you pay $5\u002Fmonth flat.",{"type":426,"tag":427,"props":125127,"children":125128},{},[125129,125134],{"type":426,"tag":446,"props":125130,"children":125131},{},[125132],{"type":431,"value":125133},"What is the delivery time for WhatsApp OTPs via Rapiwa?",{"type":431,"value":125135},"\nWhatsApp messages via Rapiwa typically arrive within 2–5 seconds of the API call.",{"type":426,"tag":427,"props":125137,"children":125138},{},[125139,125144],{"type":426,"tag":446,"props":125140,"children":125141},{},[125142],{"type":431,"value":125143},"Is WhatsApp OTP more reliable than SMS OTP?",{"type":431,"value":125145},"\nWhatsApp OTP is generally more reliable in markets where WhatsApp penetration is high (India, Bangladesh, Brazil, Indonesia, MENA). SMS can be blocked by carriers; WhatsApp messages use internet delivery.",{"type":426,"tag":427,"props":125147,"children":125148},{},[125149,125154,125156,125161,125163,125168,125170,125175,125177,125182],{"type":426,"tag":446,"props":125150,"children":125151},{},[125152],{"type":431,"value":125153},"How should I format the phone number for the Rapiwa API?",{"type":431,"value":125155},"\nUse international format without the ",{"type":426,"tag":549,"props":125157,"children":125159},{"className":125158},[],[125160],{"type":431,"value":2033},{"type":431,"value":125162}," sign or spaces. For Bangladesh: ",{"type":426,"tag":549,"props":125164,"children":125166},{"className":125165},[],[125167],{"type":431,"value":7237},{"type":431,"value":125169},". For UK: ",{"type":426,"tag":549,"props":125171,"children":125173},{"className":125172},[],[125174],{"type":431,"value":6779},{"type":431,"value":125176},". For US: ",{"type":426,"tag":549,"props":125178,"children":125180},{"className":125179},[],[125181],{"type":431,"value":36525},{"type":431,"value":6789},{"type":426,"tag":427,"props":125184,"children":125185},{},[125186,125191],{"type":426,"tag":446,"props":125187,"children":125188},{},[125189],{"type":431,"value":125190},"Can I use Rapiwa OTP for two-factor authentication (2FA)?",{"type":431,"value":125192},"\nYes. The flow is: user enters phone → your app calls Rapiwa API to send OTP → user enters OTP → your app verifies it. This is a complete 2FA implementation.",{"type":426,"tag":4164,"props":125194,"children":125195},{},[125196],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":125198},[125199,125200,125201,125202,125208,125209,125210,125211,125212,125213],{"id":120921,"depth":588,"text":120924},{"id":47624,"depth":588,"text":47627},{"id":120969,"depth":588,"text":120972},{"id":121578,"depth":588,"text":121581,"children":125203},[125204,125205,125206,125207],{"id":563,"depth":606,"text":56365},{"id":121769,"depth":606,"text":121772},{"id":79185,"depth":606,"text":79188},{"id":79950,"depth":606,"text":123546},{"id":124418,"depth":588,"text":124421},{"id":124794,"depth":588,"text":124797},{"id":124903,"depth":588,"text":124906},{"id":18886,"depth":588,"text":18889},{"id":73429,"depth":588,"text":125071},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-otp-verification-api-rapiwa.md","blog\u002Fwhatsapp-otp-verification-api-rapiwa.md","blog\u002Fwhatsapp-otp-verification-api-rapiwa",{"loc":173},{"_path":177,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":178,"description":179,"date":125219,"author":33271,"category":43,"_slug":125220,"image":125221,"body":125222,"_type":4187,"_id":126314,"_source":4189,"_file":126315,"_stem":126316,"_extension":4192,"sitemap":126317},"2026-02-06","whatsapp-customer-support-bot-gpt4-google-sheets-rapiwa","\u002Fimages\u002Fblog\u002Fwhatsapp-customer-support-bot-gpt4-google-sheets-rapiwa.svg",{"type":423,"children":125223,"toc":126298},[125224,125229,125233,125238,125261,125270,125293,125297,125346,125352,125371,125456,125461,125465,125533,125539,125586,125591,125595,125600,125645,125702,125710,125803,125810,125885,125891,125927,125935,125947,125953,125985,125991,126013,126019,126024,126032,126103,126107,126149,126153,126204,126210,126233,126237,126247,126257,126267,126284,126294],{"type":426,"tag":427,"props":125225,"children":125226},{},[125227],{"type":431,"value":125228},"This n8n workflow builds a 24\u002F7 WhatsApp customer support bot using GPT-4 Mini for intelligent replies, Google Sheets as a customizable knowledge base, and Rapiwa API for WhatsApp delivery. Customers message your WhatsApp number, GPT-4 Mini generates accurate answers from your knowledge base, and replies arrive instantly. Over 474 developers have deployed this bot without writing code.",{"type":426,"tag":434,"props":125230,"children":125231},{"id":47550},[125232],{"type":431,"value":47553},{"type":426,"tag":427,"props":125234,"children":125235},{},[125236],{"type":431,"value":125237},"When a customer sends a WhatsApp message:",{"type":426,"tag":6331,"props":125239,"children":125240},{},[125241,125246,125251,125256],{"type":426,"tag":458,"props":125242,"children":125243},{},[125244],{"type":431,"value":125245},"Rapiwa webhook delivers the message to n8n",{"type":426,"tag":458,"props":125247,"children":125248},{},[125249],{"type":431,"value":125250},"n8n reads your FAQ\u002Fknowledge data from Google Sheets",{"type":426,"tag":458,"props":125252,"children":125253},{},[125254],{"type":431,"value":125255},"GPT-4 Mini generates a contextual, accurate reply using your data",{"type":426,"tag":458,"props":125257,"children":125258},{},[125259],{"type":431,"value":125260},"Rapiwa sends the reply back to the customer via WhatsApp",{"type":426,"tag":427,"props":125262,"children":125263},{},[125264,125268],{"type":426,"tag":446,"props":125265,"children":125266},{},[125267],{"type":431,"value":43482},{"type":431,"value":125269},": 60–80% of common customer queries handled automatically, 24\u002F7.",{"type":426,"tag":41290,"props":125271,"children":125272},{},[125273],{"type":426,"tag":427,"props":125274,"children":125275},{},[125276,125280,125281,125288],{"type":426,"tag":446,"props":125277,"children":125278},{},[125279],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":125282,"children":125285},{"href":125283,"rel":125284},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10716-whatsapp-customer-support-bot-with-gpt-4-mini-google-sheets-and-rapiwa-api\u002F",[3823],[125286],{"type":431,"value":125287},"WhatsApp customer support bot with GPT-4 Mini, Google Sheets & Rapiwa API →",{"type":426,"tag":47617,"props":125289,"children":125290},{},[125291],{"type":431,"value":125292},"(474 installs)",{"type":426,"tag":434,"props":125294,"children":125295},{"id":47624},[125296],{"type":431,"value":47627},{"type":426,"tag":454,"props":125298,"children":125299},{},[125300,125313,125321,125337],{"type":426,"tag":458,"props":125301,"children":125302},{},[125303,125307,125308],{"type":426,"tag":446,"props":125304,"children":125305},{},[125306],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":125309,"children":125311},{"href":3821,"rel":125310},[3823],[125312],{"type":431,"value":47645},{"type":426,"tag":458,"props":125314,"children":125315},{},[125316,125320],{"type":426,"tag":446,"props":125317,"children":125318},{},[125319],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":125322,"children":125323},{},[125324,125329,125330],{"type":426,"tag":446,"props":125325,"children":125326},{},[125327],{"type":431,"value":125328},"OpenAI API key",{"type":431,"value":22506},{"type":426,"tag":3819,"props":125331,"children":125334},{"href":125332,"rel":125333},"https:\u002F\u002Fplatform.openai.com\u002F",[3823],[125335],{"type":431,"value":125336},"Get from platform.openai.com",{"type":426,"tag":458,"props":125338,"children":125339},{},[125340,125344],{"type":426,"tag":446,"props":125341,"children":125342},{},[125343],{"type":431,"value":47673},{"type":431,"value":125345}," — for your knowledge base (no database needed)",{"type":426,"tag":434,"props":125347,"children":125349},{"id":125348},"step-1-set-up-your-knowledge-base-in-google-sheets",[125350],{"type":431,"value":125351},"Step 1: Set Up Your Knowledge Base in Google Sheets",{"type":426,"tag":427,"props":125353,"children":125354},{},[125355,125357,125363,125364,125370],{"type":431,"value":125356},"Create a Google Sheet with two columns: ",{"type":426,"tag":549,"props":125358,"children":125360},{"className":125359},[],[125361],{"type":431,"value":125362},"Question",{"type":431,"value":48630},{"type":426,"tag":549,"props":125365,"children":125367},{"className":125366},[],[125368],{"type":431,"value":125369},"Answer",{"type":431,"value":19071},{"type":426,"tag":10600,"props":125372,"children":125373},{},[125374,125388],{"type":426,"tag":10604,"props":125375,"children":125376},{},[125377],{"type":426,"tag":10608,"props":125378,"children":125379},{},[125380,125384],{"type":426,"tag":10612,"props":125381,"children":125382},{},[125383],{"type":431,"value":125362},{"type":426,"tag":10612,"props":125385,"children":125386},{},[125387],{"type":431,"value":125369},{"type":426,"tag":10623,"props":125389,"children":125390},{},[125391,125404,125417,125430,125443],{"type":426,"tag":10608,"props":125392,"children":125393},{},[125394,125399],{"type":426,"tag":10630,"props":125395,"children":125396},{},[125397],{"type":431,"value":125398},"What are your shipping times?",{"type":426,"tag":10630,"props":125400,"children":125401},{},[125402],{"type":431,"value":125403},"Orders ship within 1–2 business days. Delivery takes 3–7 days domestically.",{"type":426,"tag":10608,"props":125405,"children":125406},{},[125407,125412],{"type":426,"tag":10630,"props":125408,"children":125409},{},[125410],{"type":431,"value":125411},"Do you offer refunds?",{"type":426,"tag":10630,"props":125413,"children":125414},{},[125415],{"type":431,"value":125416},"Yes! Full refunds within 30 days of purchase. Reply RETURN to start a return.",{"type":426,"tag":10608,"props":125418,"children":125419},{},[125420,125425],{"type":426,"tag":10630,"props":125421,"children":125422},{},[125423],{"type":431,"value":125424},"What is your pricing?",{"type":426,"tag":10630,"props":125426,"children":125427},{},[125428],{"type":431,"value":125429},"Plans start at $29\u002Fmonth. See all plans at yourstore.com\u002Fpricing",{"type":426,"tag":10608,"props":125431,"children":125432},{},[125433,125438],{"type":426,"tag":10630,"props":125434,"children":125435},{},[125436],{"type":431,"value":125437},"How do I track my order?",{"type":426,"tag":10630,"props":125439,"children":125440},{},[125441],{"type":431,"value":125442},"Go to yourstore.com\u002Ftrack and enter your order number.",{"type":426,"tag":10608,"props":125444,"children":125445},{},[125446,125451],{"type":426,"tag":10630,"props":125447,"children":125448},{},[125449],{"type":431,"value":125450},"Do you ship internationally?",{"type":426,"tag":10630,"props":125452,"children":125453},{},[125454],{"type":431,"value":125455},"Yes, we ship to 40+ countries. International orders take 7–14 days.",{"type":426,"tag":427,"props":125457,"children":125458},{},[125459],{"type":431,"value":125460},"Add as many Q&A pairs as relevant to your business. The more comprehensive, the better GPT-4 Mini performs.",{"type":426,"tag":434,"props":125462,"children":125463},{"id":47835},[125464],{"type":431,"value":47838},{"type":426,"tag":6331,"props":125466,"children":125467},{},[125468,125478,125486],{"type":426,"tag":458,"props":125469,"children":125470},{},[125471,125472],{"type":431,"value":47846},{"type":426,"tag":3819,"props":125473,"children":125475},{"href":125283,"rel":125474},[3823],[125476],{"type":431,"value":125477},"n8n.io\u002Fworkflows\u002F10716",{"type":426,"tag":458,"props":125479,"children":125480},{},[125481,125482],{"type":431,"value":47857},{"type":426,"tag":446,"props":125483,"children":125484},{},[125485],{"type":431,"value":47862},{"type":426,"tag":458,"props":125487,"children":125488},{},[125489,125490],{"type":431,"value":120164},{"type":426,"tag":454,"props":125491,"children":125492},{},[125493,125503,125513,125523],{"type":426,"tag":458,"props":125494,"children":125495},{},[125496,125501],{"type":426,"tag":446,"props":125497,"children":125498},{},[125499],{"type":431,"value":125500},"Webhook node",{"type":431,"value":125502}," (receives incoming WhatsApp messages)",{"type":426,"tag":458,"props":125504,"children":125505},{},[125506,125511],{"type":426,"tag":446,"props":125507,"children":125508},{},[125509],{"type":431,"value":125510},"Google Sheets node",{"type":431,"value":125512}," (reads your FAQ data)",{"type":426,"tag":458,"props":125514,"children":125515},{},[125516,125521],{"type":426,"tag":446,"props":125517,"children":125518},{},[125519],{"type":431,"value":125520},"OpenAI \u002F GPT-4 Mini node",{"type":431,"value":125522}," (generates reply)",{"type":426,"tag":458,"props":125524,"children":125525},{},[125526,125531],{"type":426,"tag":446,"props":125527,"children":125528},{},[125529],{"type":431,"value":125530},"HTTP Request node (Rapiwa)",{"type":431,"value":125532}," (sends WhatsApp reply)",{"type":426,"tag":434,"props":125534,"children":125536},{"id":125535},"step-3-configure-the-rapiwa-webhook",[125537],{"type":431,"value":125538},"Step 3: Configure the Rapiwa Webhook",{"type":426,"tag":6331,"props":125540,"children":125541},{},[125542,125551,125562,125567,125572,125582],{"type":426,"tag":458,"props":125543,"children":125544},{},[125545,125546,125550],{"type":431,"value":118242},{"type":426,"tag":446,"props":125547,"children":125548},{},[125549],{"type":431,"value":60199},{"type":431,"value":60201},{"type":426,"tag":458,"props":125552,"children":125553},{},[125554,125555,125561],{"type":431,"value":60206},{"type":426,"tag":549,"props":125556,"children":125558},{"className":125557},[],[125559],{"type":431,"value":125560},"https:\u002F\u002Fyourn8n.cloud\u002Fwebhook\u002Fwhatsapp-bot",{"type":431,"value":5736},{"type":426,"tag":458,"props":125563,"children":125564},{},[125565],{"type":431,"value":125566},"In Rapiwa dashboard → Webhooks → Add Webhook",{"type":426,"tag":458,"props":125568,"children":125569},{},[125570],{"type":431,"value":125571},"Enter the n8n webhook URL",{"type":426,"tag":458,"props":125573,"children":125574},{},[125575,125577],{"type":431,"value":125576},"Select events: ",{"type":426,"tag":549,"props":125578,"children":125580},{"className":125579},[],[125581],{"type":431,"value":7956},{"type":426,"tag":458,"props":125583,"children":125584},{},[125585],{"type":431,"value":66022},{"type":426,"tag":427,"props":125587,"children":125588},{},[125589],{"type":431,"value":125590},"Now every incoming WhatsApp message fires the n8n workflow.",{"type":426,"tag":434,"props":125592,"children":125593},{"id":101083},[125594],{"type":431,"value":101086},{"type":426,"tag":427,"props":125596,"children":125597},{},[125598],{"type":431,"value":125599},"Find the HTTP Request node \"Send WhatsApp Reply\":",{"type":426,"tag":454,"props":125601,"children":125602},{},[125603,125611,125624,125637],{"type":426,"tag":458,"props":125604,"children":125605},{},[125606,125610],{"type":426,"tag":446,"props":125607,"children":125608},{},[125609],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":125612,"children":125613},{},[125614,125618,125619],{"type":426,"tag":446,"props":125615,"children":125616},{},[125617],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":125620,"children":125622},{"className":125621},[],[125623],{"type":431,"value":48098},{"type":426,"tag":458,"props":125625,"children":125626},{},[125627,125631,125632],{"type":426,"tag":446,"props":125628,"children":125629},{},[125630],{"type":431,"value":120305},{"type":431,"value":700},{"type":426,"tag":549,"props":125633,"children":125635},{"className":125634},[],[125636],{"type":431,"value":10711},{"type":426,"tag":458,"props":125638,"children":125639},{},[125640,125644],{"type":426,"tag":446,"props":125641,"children":125642},{},[125643],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":125646,"children":125648},{"code":125647,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $('Webhook').item.json.from }}\",\n  \"message\": \"={{ $json.choices[0].message.content }}\"\n}\n",[125649],{"type":426,"tag":549,"props":125650,"children":125651},{"__ignoreMap":417},[125652,125659,125679,125695],{"type":426,"tag":553,"props":125653,"children":125654},{"class":555,"line":556},[125655],{"type":426,"tag":553,"props":125656,"children":125657},{"style":684},[125658],{"type":431,"value":687},{"type":426,"tag":553,"props":125660,"children":125661},{"class":555,"line":588},[125662,125666,125670,125675],{"type":426,"tag":553,"props":125663,"children":125664},{"style":566},[125665],{"type":431,"value":7277},{"type":426,"tag":553,"props":125667,"children":125668},{"style":684},[125669],{"type":431,"value":700},{"type":426,"tag":553,"props":125671,"children":125672},{"style":572},[125673],{"type":431,"value":125674},"\"={{ $('Webhook').item.json.from }}\"",{"type":426,"tag":553,"props":125676,"children":125677},{"style":684},[125678],{"type":431,"value":710},{"type":426,"tag":553,"props":125680,"children":125681},{"class":555,"line":606},[125682,125686,125690],{"type":426,"tag":553,"props":125683,"children":125684},{"style":566},[125685],{"type":431,"value":7298},{"type":426,"tag":553,"props":125687,"children":125688},{"style":684},[125689],{"type":431,"value":700},{"type":426,"tag":553,"props":125691,"children":125692},{"style":572},[125693],{"type":431,"value":125694},"\"={{ $json.choices[0].message.content }}\"\n",{"type":426,"tag":553,"props":125696,"children":125697},{"class":555,"line":623},[125698],{"type":426,"tag":553,"props":125699,"children":125700},{"style":684},[125701],{"type":431,"value":756},{"type":426,"tag":427,"props":125703,"children":125704},{},[125705],{"type":426,"tag":446,"props":125706,"children":125707},{},[125708],{"type":431,"value":125709},"Working cURL test (to verify your API key):",{"type":426,"tag":542,"props":125711,"children":125713},{"code":125712,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi! I am your AI customer support bot. How can I help you today?\"\n  }'\n",[125714],{"type":426,"tag":549,"props":125715,"children":125716},{"__ignoreMap":417},[125717,125740,125755,125770,125781,125788,125796],{"type":426,"tag":553,"props":125718,"children":125719},{"class":555,"line":556},[125720,125724,125728,125732,125736],{"type":426,"tag":553,"props":125721,"children":125722},{"style":560},[125723],{"type":431,"value":563},{"type":426,"tag":553,"props":125725,"children":125726},{"style":566},[125727],{"type":431,"value":569},{"type":426,"tag":553,"props":125729,"children":125730},{"style":572},[125731],{"type":431,"value":575},{"type":426,"tag":553,"props":125733,"children":125734},{"style":572},[125735],{"type":431,"value":580},{"type":426,"tag":553,"props":125737,"children":125738},{"style":566},[125739],{"type":431,"value":585},{"type":426,"tag":553,"props":125741,"children":125742},{"class":555,"line":588},[125743,125747,125751],{"type":426,"tag":553,"props":125744,"children":125745},{"style":566},[125746],{"type":431,"value":594},{"type":426,"tag":553,"props":125748,"children":125749},{"style":572},[125750],{"type":431,"value":599},{"type":426,"tag":553,"props":125752,"children":125753},{"style":566},[125754],{"type":431,"value":585},{"type":426,"tag":553,"props":125756,"children":125757},{"class":555,"line":606},[125758,125762,125766],{"type":426,"tag":553,"props":125759,"children":125760},{"style":566},[125761],{"type":431,"value":594},{"type":426,"tag":553,"props":125763,"children":125764},{"style":572},[125765],{"type":431,"value":616},{"type":426,"tag":553,"props":125767,"children":125768},{"style":566},[125769],{"type":431,"value":585},{"type":426,"tag":553,"props":125771,"children":125772},{"class":555,"line":623},[125773,125777],{"type":426,"tag":553,"props":125774,"children":125775},{"style":566},[125776],{"type":431,"value":629},{"type":426,"tag":553,"props":125778,"children":125779},{"style":572},[125780],{"type":431,"value":634},{"type":426,"tag":553,"props":125782,"children":125783},{"class":555,"line":637},[125784],{"type":426,"tag":553,"props":125785,"children":125786},{"style":572},[125787],{"type":431,"value":643},{"type":426,"tag":553,"props":125789,"children":125790},{"class":555,"line":646},[125791],{"type":426,"tag":553,"props":125792,"children":125793},{"style":572},[125794],{"type":431,"value":125795},"    \"message\": \"Hi! I am your AI customer support bot. How can I help you today?\"\n",{"type":426,"tag":553,"props":125797,"children":125798},{"class":555,"line":655},[125799],{"type":426,"tag":553,"props":125800,"children":125801},{"style":572},[125802],{"type":431,"value":661},{"type":426,"tag":427,"props":125804,"children":125805},{},[125806],{"type":426,"tag":446,"props":125807,"children":125808},{},[125809],{"type":431,"value":669},{"type":426,"tag":542,"props":125811,"children":125813},{"code":125812,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123\",\n  \"timestamp\": \"2026-06-07T10:30:00Z\"\n}\n",[125814],{"type":426,"tag":549,"props":125815,"children":125816},{"__ignoreMap":417},[125817,125824,125843,125862,125878],{"type":426,"tag":553,"props":125818,"children":125819},{"class":555,"line":556},[125820],{"type":426,"tag":553,"props":125821,"children":125822},{"style":684},[125823],{"type":431,"value":687},{"type":426,"tag":553,"props":125825,"children":125826},{"class":555,"line":588},[125827,125831,125835,125839],{"type":426,"tag":553,"props":125828,"children":125829},{"style":566},[125830],{"type":431,"value":695},{"type":426,"tag":553,"props":125832,"children":125833},{"style":684},[125834],{"type":431,"value":700},{"type":426,"tag":553,"props":125836,"children":125837},{"style":572},[125838],{"type":431,"value":705},{"type":426,"tag":553,"props":125840,"children":125841},{"style":684},[125842],{"type":431,"value":710},{"type":426,"tag":553,"props":125844,"children":125845},{"class":555,"line":606},[125846,125850,125854,125858],{"type":426,"tag":553,"props":125847,"children":125848},{"style":566},[125849],{"type":431,"value":718},{"type":426,"tag":553,"props":125851,"children":125852},{"style":684},[125853],{"type":431,"value":700},{"type":426,"tag":553,"props":125855,"children":125856},{"style":572},[125857],{"type":431,"value":7376},{"type":426,"tag":553,"props":125859,"children":125860},{"style":684},[125861],{"type":431,"value":710},{"type":426,"tag":553,"props":125863,"children":125864},{"class":555,"line":623},[125865,125869,125873],{"type":426,"tag":553,"props":125866,"children":125867},{"style":566},[125868],{"type":431,"value":739},{"type":426,"tag":553,"props":125870,"children":125871},{"style":684},[125872],{"type":431,"value":700},{"type":426,"tag":553,"props":125874,"children":125875},{"style":572},[125876],{"type":431,"value":125877},"\"2026-06-07T10:30:00Z\"\n",{"type":426,"tag":553,"props":125879,"children":125880},{"class":555,"line":637},[125881],{"type":426,"tag":553,"props":125882,"children":125883},{"style":684},[125884],{"type":431,"value":756},{"type":426,"tag":434,"props":125886,"children":125888},{"id":125887},"step-5-configure-openai",[125889],{"type":431,"value":125890},"Step 5: Configure OpenAI",{"type":426,"tag":6331,"props":125892,"children":125893},{},[125894,125899,125909,125922],{"type":426,"tag":458,"props":125895,"children":125896},{},[125897],{"type":431,"value":125898},"Click the OpenAI node",{"type":426,"tag":458,"props":125900,"children":125901},{},[125902,125904],{"type":431,"value":125903},"Add your OpenAI API key: ",{"type":426,"tag":446,"props":125905,"children":125906},{},[125907],{"type":431,"value":125908},"Credentials → OpenAI → API Key",{"type":426,"tag":458,"props":125910,"children":125911},{},[125912,125914,125920],{"type":431,"value":125913},"Model: ",{"type":426,"tag":549,"props":125915,"children":125917},{"className":125916},[],[125918],{"type":431,"value":125919},"gpt-4o-mini",{"type":431,"value":125921}," (best cost\u002Fquality balance for customer support)",{"type":426,"tag":458,"props":125923,"children":125924},{},[125925],{"type":431,"value":125926},"The system prompt is pre-configured:",{"type":426,"tag":542,"props":125928,"children":125930},{"code":125929},"You are a helpful customer support assistant for [Your Business Name].\n\nAnswer customer questions using ONLY the information in the knowledge base below.\nBe friendly, concise (under 150 words), and helpful.\nIf you don't know the answer, say \"I'm not sure — let me connect you with our team.\"\n\nKNOWLEDGE BASE:\n{{ $json.knowledge_base }}\n",[125931],{"type":426,"tag":549,"props":125932,"children":125933},{"__ignoreMap":417},[125934],{"type":431,"value":125929},{"type":426,"tag":427,"props":125936,"children":125937},{},[125938,125939,125945],{"type":431,"value":86346},{"type":426,"tag":549,"props":125940,"children":125942},{"className":125941},[],[125943],{"type":431,"value":125944},"{{ $json.knowledge_base }}",{"type":431,"value":125946}," variable is populated from your Google Sheet.",{"type":426,"tag":434,"props":125948,"children":125950},{"id":125949},"step-6-configure-google-sheets",[125951],{"type":431,"value":125952},"Step 6: Configure Google Sheets",{"type":426,"tag":6331,"props":125954,"children":125955},{},[125956,125965,125975,125980],{"type":426,"tag":458,"props":125957,"children":125958},{},[125959,125960,125964],{"type":431,"value":102040},{"type":426,"tag":446,"props":125961,"children":125962},{},[125963],{"type":431,"value":47673},{"type":431,"value":47961},{"type":426,"tag":458,"props":125966,"children":125967},{},[125968,125969,125973],{"type":431,"value":120225},{"type":426,"tag":446,"props":125970,"children":125971},{},[125972],{"type":431,"value":120230},{"type":431,"value":125974}," → sign in with Google",{"type":426,"tag":458,"props":125976,"children":125977},{},[125978],{"type":431,"value":125979},"Select your spreadsheet and the FAQ sheet",{"type":426,"tag":458,"props":125981,"children":125982},{},[125983],{"type":431,"value":125984},"The node reads all Q&A pairs and formats them as text for the GPT-4 prompt",{"type":426,"tag":434,"props":125986,"children":125988},{"id":125987},"step-7-test-the-bot",[125989],{"type":431,"value":125990},"Step 7: Test the Bot",{"type":426,"tag":6331,"props":125992,"children":125993},{},[125994,125998,126003,126008],{"type":426,"tag":458,"props":125995,"children":125996},{},[125997],{"type":431,"value":104312},{"type":426,"tag":458,"props":125999,"children":126000},{},[126001],{"type":431,"value":126002},"Send a WhatsApp message to your Rapiwa number: \"What are your shipping times?\"",{"type":426,"tag":458,"props":126004,"children":126005},{},[126006],{"type":431,"value":126007},"The bot should reply within 3–5 seconds with an accurate answer from your Google Sheet",{"type":426,"tag":458,"props":126009,"children":126010},{},[126011],{"type":431,"value":126012},"Check n8n execution history to see the full workflow run",{"type":426,"tag":434,"props":126014,"children":126016},{"id":126015},"handling-escalation-to-human-agents",[126017],{"type":431,"value":126018},"Handling Escalation to Human Agents",{"type":426,"tag":427,"props":126020,"children":126021},{},[126022],{"type":431,"value":126023},"Add an IF node to detect when the bot can't answer:",{"type":426,"tag":542,"props":126025,"children":126027},{"code":126026},"IF: GPT-4 response contains \"connect you with our team\"\n  → YES: Send alert to Slack\u002Femail + tell customer support is coming\n  → NO: Send GPT-4 response directly\n",[126028],{"type":426,"tag":549,"props":126029,"children":126030},{"__ignoreMap":417},[126031],{"type":431,"value":126026},{"type":426,"tag":542,"props":126033,"children":126035},{"code":126034,"language":52115,"meta":417,"className":52113,"style":417},"\u002F\u002F n8n expression to check for escalation trigger\n{{ $json.choices[0].message.content.includes(\"connect you with our team\") ? \"escalate\" : \"reply\" }}\n",[126036],{"type":426,"tag":549,"props":126037,"children":126038},{"__ignoreMap":417},[126039,126047],{"type":426,"tag":553,"props":126040,"children":126041},{"class":555,"line":556},[126042],{"type":426,"tag":553,"props":126043,"children":126044},{"style":1975},[126045],{"type":431,"value":126046},"\u002F\u002F n8n expression to check for escalation trigger\n",{"type":426,"tag":553,"props":126048,"children":126049},{"class":555,"line":588},[126050,126055,126059,126064,126068,126072,126077,126081,126085,126090,126094,126099],{"type":426,"tag":553,"props":126051,"children":126052},{"style":684},[126053],{"type":431,"value":126054},"{{ $json.choices[",{"type":426,"tag":553,"props":126056,"children":126057},{"style":566},[126058],{"type":431,"value":1930},{"type":426,"tag":553,"props":126060,"children":126061},{"style":684},[126062],{"type":431,"value":126063},"].message.content.",{"type":426,"tag":553,"props":126065,"children":126066},{"style":560},[126067],{"type":431,"value":85163},{"type":426,"tag":553,"props":126069,"children":126070},{"style":684},[126071],{"type":431,"value":3275},{"type":426,"tag":553,"props":126073,"children":126074},{"style":572},[126075],{"type":431,"value":126076},"\"connect you with our team\"",{"type":426,"tag":553,"props":126078,"children":126079},{"style":684},[126080],{"type":431,"value":2987},{"type":426,"tag":553,"props":126082,"children":126083},{"style":795},[126084],{"type":431,"value":68164},{"type":426,"tag":553,"props":126086,"children":126087},{"style":572},[126088],{"type":431,"value":126089}," \"escalate\"",{"type":426,"tag":553,"props":126091,"children":126092},{"style":795},[126093],{"type":431,"value":89673},{"type":426,"tag":553,"props":126095,"children":126096},{"style":572},[126097],{"type":431,"value":126098}," \"reply\"",{"type":426,"tag":553,"props":126100,"children":126101},{"style":684},[126102],{"type":431,"value":55052},{"type":426,"tag":434,"props":126104,"children":126105},{"id":48547},[126106],{"type":431,"value":48550},{"type":426,"tag":454,"props":126108,"children":126109},{},[126110,126120,126130,126140],{"type":426,"tag":458,"props":126111,"children":126112},{},[126113,126118],{"type":426,"tag":446,"props":126114,"children":126115},{},[126116],{"type":431,"value":126117},"60–80%",{"type":431,"value":126119}," of common queries handled without human intervention",{"type":426,"tag":458,"props":126121,"children":126122},{},[126123,126128],{"type":426,"tag":446,"props":126124,"children":126125},{},[126126],{"type":431,"value":126127},"Response time",{"type":431,"value":126129},": 2–5 seconds vs hours for human support",{"type":426,"tag":458,"props":126131,"children":126132},{},[126133,126138],{"type":426,"tag":446,"props":126134,"children":126135},{},[126136],{"type":431,"value":126137},"Available 24\u002F7",{"type":431,"value":126139}," — handles messages at 3am when your team is offline",{"type":426,"tag":458,"props":126141,"children":126142},{},[126143,126147],{"type":426,"tag":446,"props":126144,"children":126145},{},[126146],{"type":431,"value":505},{"type":431,"value":126148},": $5\u002Fmonth (Rapiwa) + ~$1–5\u002Fmonth (OpenAI API at typical support volumes)",{"type":426,"tag":434,"props":126150,"children":126151},{"id":18886},[126152],{"type":431,"value":18889},{"type":426,"tag":454,"props":126154,"children":126155},{},[126156,126166,126176,126186],{"type":426,"tag":458,"props":126157,"children":126158},{},[126159,126164],{"type":426,"tag":446,"props":126160,"children":126161},{},[126162],{"type":431,"value":126163},"Webhook not receiving messages",{"type":431,"value":126165},": Ensure n8n workflow is active and webhook URL is saved in Rapiwa dashboard",{"type":426,"tag":458,"props":126167,"children":126168},{},[126169,126174],{"type":426,"tag":446,"props":126170,"children":126171},{},[126172],{"type":431,"value":126173},"OpenAI rate limit",{"type":431,"value":126175},": GPT-4 Mini has generous limits; reduce concurrency if you hit them",{"type":426,"tag":458,"props":126177,"children":126178},{},[126179,126184],{"type":426,"tag":446,"props":126180,"children":126181},{},[126182],{"type":431,"value":126183},"Google Sheets empty",{"type":431,"value":126185},": Ensure the sheet URL and sheet name are correct in the Google Sheets node",{"type":426,"tag":458,"props":126187,"children":126188},{},[126189,126194,126196,126202],{"type":426,"tag":446,"props":126190,"children":126191},{},[126192],{"type":431,"value":126193},"Wrong reply sent",{"type":431,"value":126195},": Check that the phone number expression ",{"type":426,"tag":549,"props":126197,"children":126199},{"className":126198},[],[126200],{"type":431,"value":126201},"$('Webhook').item.json.from",{"type":431,"value":126203}," is resolving correctly",{"type":426,"tag":434,"props":126205,"children":126207},{"id":126206},"customisation-ideas",[126208],{"type":431,"value":126209},"Customisation Ideas",{"type":426,"tag":454,"props":126211,"children":126212},{},[126213,126218,126223,126228],{"type":426,"tag":458,"props":126214,"children":126215},{},[126216],{"type":431,"value":126217},"Add conversation history to give GPT context from previous messages (store in Google Sheets)",{"type":426,"tag":458,"props":126219,"children":126220},{},[126221],{"type":431,"value":126222},"Route \"HUMAN\" keyword directly to a human agent (n8n Slack\u002Femail notification)",{"type":426,"tag":458,"props":126224,"children":126225},{},[126226],{"type":431,"value":126227},"Add a fallback message if GPT-4 response is too long (over WhatsApp's limit)",{"type":426,"tag":458,"props":126229,"children":126230},{},[126231],{"type":431,"value":126232},"Add language detection and respond in the customer's language",{"type":426,"tag":434,"props":126234,"children":126235},{"id":4109},[126236],{"type":431,"value":4112},{"type":426,"tag":427,"props":126238,"children":126239},{},[126240,126245],{"type":426,"tag":446,"props":126241,"children":126242},{},[126243],{"type":431,"value":126244},"Is this WhatsApp chatbot really no-code?",{"type":431,"value":126246},"\nYes. Import the n8n template, add your API keys (Rapiwa + OpenAI), fill your Google Sheet with FAQs, and activate. No programming required.",{"type":426,"tag":427,"props":126248,"children":126249},{},[126250,126255],{"type":426,"tag":446,"props":126251,"children":126252},{},[126253],{"type":431,"value":126254},"Does Rapiwa charge per message for bot replies?",{"type":431,"value":126256},"\nNo. Rapiwa charges $5\u002Fmonth flat with no per-message fees — you can handle unlimited bot conversations.",{"type":426,"tag":427,"props":126258,"children":126259},{},[126260,126265],{"type":426,"tag":446,"props":126261,"children":126262},{},[126263],{"type":431,"value":126264},"How accurate is the GPT-4 Mini bot?",{"type":431,"value":126266},"\nGPT-4 Mini is highly accurate when answering from a well-structured knowledge base. Keep your Google Sheet FAQs specific and factual for best results.",{"type":426,"tag":427,"props":126268,"children":126269},{},[126270,126275,126277,126282],{"type":426,"tag":446,"props":126271,"children":126272},{},[126273],{"type":431,"value":126274},"Can the bot handle images or documents from customers?",{"type":431,"value":126276},"\nThe current template handles text messages. You can extend it to process image messages by checking the ",{"type":426,"tag":549,"props":126278,"children":126280},{"className":126279},[],[126281],{"type":431,"value":84872},{"type":431,"value":126283}," field in the webhook payload.",{"type":426,"tag":427,"props":126285,"children":126286},{},[126287,126292],{"type":426,"tag":446,"props":126288,"children":126289},{},[126290],{"type":431,"value":126291},"How much does OpenAI GPT-4 Mini cost?",{"type":431,"value":126293},"\nGPT-4o-mini costs approximately $0.15 per 1M input tokens and $0.60 per 1M output tokens. For a typical support bot handling 100–200 conversations\u002Fday, OpenAI costs under $1\u002Fmonth.",{"type":426,"tag":4164,"props":126295,"children":126296},{},[126297],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":126299},[126300,126301,126302,126303,126304,126305,126306,126307,126308,126309,126310,126311,126312,126313],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":125348,"depth":588,"text":125351},{"id":47835,"depth":588,"text":47838},{"id":125535,"depth":588,"text":125538},{"id":101083,"depth":588,"text":101086},{"id":125887,"depth":588,"text":125890},{"id":125949,"depth":588,"text":125952},{"id":125987,"depth":588,"text":125990},{"id":126015,"depth":588,"text":126018},{"id":48547,"depth":588,"text":48550},{"id":18886,"depth":588,"text":18889},{"id":126206,"depth":588,"text":126209},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-customer-support-bot-gpt4-google-sheets-rapiwa.md","blog\u002Fwhatsapp-customer-support-bot-gpt4-google-sheets-rapiwa.md","blog\u002Fwhatsapp-customer-support-bot-gpt4-google-sheets-rapiwa",{"loc":177},{"_path":181,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":182,"description":183,"date":126319,"author":54670,"category":43,"_slug":126320,"image":126321,"body":126322,"_type":4187,"_id":127290,"_source":4189,"_file":127291,"_stem":127292,"_extension":4192,"sitemap":127293},"2026-02-05","google-calendar-whatsapp-reminder-gemini-ai-n8n","\u002Fimages\u002Fblog\u002Fgoogle-calendar-whatsapp-reminder-gemini-ai-n8n.svg",{"type":423,"children":126323,"toc":127276},[126324,126329,126333,126338,126356,126363,126386,126409,126413,126466,126472,126494,126498,126565,126571,126608,126614,126637,126645,126653,126661,126669,126675,126679,126724,126781,126788,126881,126888,126963,126969,126974,127029,127034,127042,127076,127080,127120,127126,127136,127146,127156,127160,127203,127207,127225,127242,127252,127262,127272],{"type":426,"tag":427,"props":126325,"children":126326},{},[126327],{"type":431,"value":126328},"This n8n workflow sends intelligent WhatsApp reminders for Google Calendar events with AI-generated follow-up suggestions using Gemini AI. When a Google Calendar event occurs, n8n fetches the event details, Gemini AI generates a contextual follow-up message, and Rapiwa delivers it via WhatsApp. Over 538 professionals use this workflow for meeting follow-ups, client reminders, and appointment confirmations.",{"type":426,"tag":434,"props":126330,"children":126331},{"id":47550},[126332],{"type":431,"value":47553},{"type":426,"tag":427,"props":126334,"children":126335},{},[126336],{"type":431,"value":126337},"When a Google Calendar event is created or starts, n8n:",{"type":426,"tag":6331,"props":126339,"children":126340},{},[126341,126346,126351],{"type":426,"tag":458,"props":126342,"children":126343},{},[126344],{"type":431,"value":126345},"Fetches the event title, attendees, time, and description",{"type":426,"tag":458,"props":126347,"children":126348},{},[126349],{"type":431,"value":126350},"Sends the event details to Google's Gemini AI to generate a follow-up suggestion",{"type":426,"tag":458,"props":126352,"children":126353},{},[126354],{"type":431,"value":126355},"Sends the AI-generated message to attendees via WhatsApp using Rapiwa",{"type":426,"tag":427,"props":126357,"children":126358},{},[126359],{"type":426,"tag":446,"props":126360,"children":126361},{},[126362],{"type":431,"value":100524},{"type":426,"tag":454,"props":126364,"children":126365},{},[126366,126371,126376,126381],{"type":426,"tag":458,"props":126367,"children":126368},{},[126369],{"type":431,"value":126370},"Meeting reminders with AI-generated prep notes",{"type":426,"tag":458,"props":126372,"children":126373},{},[126374],{"type":431,"value":126375},"Client appointment confirmations with personalized context",{"type":426,"tag":458,"props":126377,"children":126378},{},[126379],{"type":431,"value":126380},"Post-meeting action item summaries",{"type":426,"tag":458,"props":126382,"children":126383},{},[126384],{"type":431,"value":126385},"Sales follow-up suggestions after client calls",{"type":426,"tag":41290,"props":126387,"children":126388},{},[126389],{"type":426,"tag":427,"props":126390,"children":126391},{},[126392,126396,126397,126404],{"type":426,"tag":446,"props":126393,"children":126394},{},[126395],{"type":431,"value":47606},{"type":431,"value":47608},{"type":426,"tag":3819,"props":126398,"children":126401},{"href":126399,"rel":126400},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10270-google-calendar-events-with-gemini-ai-follow-up-suggestions-via-whatsapp-and-email\u002F",[3823],[126402],{"type":431,"value":126403},"Google Calendar events with Gemini AI via WhatsApp and email →",{"type":426,"tag":47617,"props":126405,"children":126406},{},[126407],{"type":431,"value":126408},"(538 installs)",{"type":426,"tag":434,"props":126410,"children":126411},{"id":47624},[126412],{"type":431,"value":47627},{"type":426,"tag":454,"props":126414,"children":126415},{},[126416,126429,126437,126446,126461],{"type":426,"tag":458,"props":126417,"children":126418},{},[126419,126423,126424],{"type":426,"tag":446,"props":126420,"children":126421},{},[126422],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":126425,"children":126427},{"href":3821,"rel":126426},[3823],[126428],{"type":431,"value":47645},{"type":426,"tag":458,"props":126430,"children":126431},{},[126432,126436],{"type":426,"tag":446,"props":126433,"children":126434},{},[126435],{"type":431,"value":47653},{"type":431,"value":47655},{"type":426,"tag":458,"props":126438,"children":126439},{},[126440,126444],{"type":426,"tag":446,"props":126441,"children":126442},{},[126443],{"type":431,"value":101926},{"type":431,"value":126445}," — with n8n Google OAuth2 credentials configured",{"type":426,"tag":458,"props":126447,"children":126448},{},[126449,126454,126455],{"type":426,"tag":446,"props":126450,"children":126451},{},[126452],{"type":431,"value":126453},"Google Gemini API key",{"type":431,"value":22506},{"type":426,"tag":3819,"props":126456,"children":126458},{"href":63027,"rel":126457},[3823],[126459],{"type":431,"value":126460},"Get from Google AI Studio",{"type":426,"tag":458,"props":126462,"children":126463},{},[126464],{"type":431,"value":126465},"Attendee phone numbers stored in Google Calendar event notes or a lookup sheet",{"type":426,"tag":434,"props":126467,"children":126469},{"id":126468},"step-1-connect-rapiwa-to-n8n",[126470],{"type":431,"value":126471},"Step 1: Connect Rapiwa to n8n",{"type":426,"tag":6331,"props":126473,"children":126474},{},[126475,126484,126489],{"type":426,"tag":458,"props":126476,"children":126477},{},[126478,126479],{"type":431,"value":3817},{"type":426,"tag":3819,"props":126480,"children":126482},{"href":3821,"rel":126481},[3823],[126483],{"type":431,"value":3826},{"type":426,"tag":458,"props":126485,"children":126486},{},[126487],{"type":431,"value":126488},"Connect your WhatsApp number via QR code",{"type":426,"tag":458,"props":126490,"children":126491},{},[126492],{"type":431,"value":126493},"Copy your API key from Dashboard → API Keys",{"type":426,"tag":434,"props":126495,"children":126496},{"id":47835},[126497],{"type":431,"value":47838},{"type":426,"tag":6331,"props":126499,"children":126500},{},[126501,126511,126519],{"type":426,"tag":458,"props":126502,"children":126503},{},[126504,126505],{"type":431,"value":47846},{"type":426,"tag":3819,"props":126506,"children":126508},{"href":126399,"rel":126507},[3823],[126509],{"type":431,"value":126510},"n8n.io\u002Fworkflows\u002F10270",{"type":426,"tag":458,"props":126512,"children":126513},{},[126514,126515],{"type":431,"value":47857},{"type":426,"tag":446,"props":126516,"children":126517},{},[126518],{"type":431,"value":47862},{"type":426,"tag":458,"props":126520,"children":126521},{},[126522,126524],{"type":431,"value":126523},"The workflow opens with these nodes:\n",{"type":426,"tag":454,"props":126525,"children":126526},{},[126527,126537,126547,126557],{"type":426,"tag":458,"props":126528,"children":126529},{},[126530,126535],{"type":426,"tag":446,"props":126531,"children":126532},{},[126533],{"type":431,"value":126534},"Google Calendar Trigger",{"type":431,"value":126536}," → fires on new\u002Fupdated events",{"type":426,"tag":458,"props":126538,"children":126539},{},[126540,126545],{"type":426,"tag":446,"props":126541,"children":126542},{},[126543],{"type":431,"value":126544},"Gemini AI",{"type":431,"value":126546}," → generates follow-up suggestions",{"type":426,"tag":458,"props":126548,"children":126549},{},[126550,126555],{"type":426,"tag":446,"props":126551,"children":126552},{},[126553],{"type":431,"value":126554},"Set fields",{"type":431,"value":126556}," → extracts attendee data",{"type":426,"tag":458,"props":126558,"children":126559},{},[126560,126564],{"type":426,"tag":446,"props":126561,"children":126562},{},[126563],{"type":431,"value":47931},{"type":431,"value":103586},{"type":426,"tag":434,"props":126566,"children":126568},{"id":126567},"step-3-configure-google-calendar-connection",[126569],{"type":431,"value":126570},"Step 3: Configure Google Calendar Connection",{"type":426,"tag":6331,"props":126572,"children":126573},{},[126574,126583,126598,126603],{"type":426,"tag":458,"props":126575,"children":126576},{},[126577,126578,126582],{"type":431,"value":102040},{"type":426,"tag":446,"props":126579,"children":126580},{},[126581],{"type":431,"value":126534},{"type":431,"value":47961},{"type":426,"tag":458,"props":126584,"children":126585},{},[126586,126587,126592,126593],{"type":431,"value":47857},{"type":426,"tag":446,"props":126588,"children":126589},{},[126590],{"type":431,"value":126591},"Credential",{"type":431,"value":5710},{"type":426,"tag":446,"props":126594,"children":126595},{},[126596],{"type":431,"value":126597},"Create new credential",{"type":426,"tag":458,"props":126599,"children":126600},{},[126601],{"type":431,"value":126602},"Follow the OAuth2 setup: sign in with your Google account",{"type":426,"tag":458,"props":126604,"children":126605},{},[126606],{"type":431,"value":126607},"Select which calendar to monitor (or all calendars)",{"type":426,"tag":434,"props":126609,"children":126611},{"id":126610},"step-4-configure-gemini-ai",[126612],{"type":431,"value":126613},"Step 4: Configure Gemini AI",{"type":426,"tag":6331,"props":126615,"children":126616},{},[126617,126627,126632],{"type":426,"tag":458,"props":126618,"children":126619},{},[126620,126621,126625],{"type":431,"value":102040},{"type":426,"tag":446,"props":126622,"children":126623},{},[126624],{"type":431,"value":44949},{"type":431,"value":126626}," node labeled \"Gemini AI\"",{"type":426,"tag":458,"props":126628,"children":126629},{},[126630],{"type":431,"value":126631},"Add your Google Gemini API key in the Authorization header",{"type":426,"tag":458,"props":126633,"children":126634},{},[126635],{"type":431,"value":126636},"The prompt is pre-configured to generate follow-up suggestions based on event details",{"type":426,"tag":427,"props":126638,"children":126639},{},[126640],{"type":426,"tag":446,"props":126641,"children":126642},{},[126643],{"type":431,"value":126644},"Sample Gemini prompt (pre-built in template):",{"type":426,"tag":542,"props":126646,"children":126648},{"code":126647},"Based on this calendar event:\nTitle: {{ $json.summary }}\nDescription: {{ $json.description }}\nDate: {{ $json.start.dateTime }}\nAttendees: {{ $json.attendees }}\n\nWrite a brief, professional WhatsApp follow-up message (max 150 words) that:\n1. Confirms the meeting\u002Fappointment\n2. Suggests one relevant follow-up action\n3. Keeps a friendly, concise tone\n",[126649],{"type":426,"tag":549,"props":126650,"children":126651},{"__ignoreMap":417},[126652],{"type":431,"value":126647},{"type":426,"tag":427,"props":126654,"children":126655},{},[126656],{"type":426,"tag":446,"props":126657,"children":126658},{},[126659],{"type":431,"value":126660},"Sample Gemini output:",{"type":426,"tag":542,"props":126662,"children":126664},{"code":126663},"Hi Sarah! Just a reminder that our product demo is tomorrow at 2pm.\n\nI've prepared a quick overview of the features most relevant to your team's needs. Would you like me to send over the agenda in advance so you can bring specific questions?\n\nLooking forward to our call! 🗓️\n",[126665],{"type":426,"tag":549,"props":126666,"children":126667},{"__ignoreMap":417},[126668],{"type":431,"value":126663},{"type":426,"tag":434,"props":126670,"children":126672},{"id":126671},"step-5-configure-the-rapiwa-whatsapp-node",[126673],{"type":431,"value":126674},"Step 5: Configure the Rapiwa WhatsApp Node",{"type":426,"tag":427,"props":126676,"children":126677},{},[126678],{"type":431,"value":120273},{"type":426,"tag":454,"props":126680,"children":126681},{},[126682,126690,126703,126716],{"type":426,"tag":458,"props":126683,"children":126684},{},[126685,126689],{"type":426,"tag":446,"props":126686,"children":126687},{},[126688],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":126691,"children":126692},{},[126693,126697,126698],{"type":426,"tag":446,"props":126694,"children":126695},{},[126696],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":126699,"children":126701},{"className":126700},[],[126702],{"type":431,"value":48098},{"type":426,"tag":458,"props":126704,"children":126705},{},[126706,126710,126711],{"type":426,"tag":446,"props":126707,"children":126708},{},[126709],{"type":431,"value":48106},{"type":431,"value":700},{"type":426,"tag":549,"props":126712,"children":126714},{"className":126713},[],[126715],{"type":431,"value":48113},{"type":426,"tag":458,"props":126717,"children":126718},{},[126719,126723],{"type":426,"tag":446,"props":126720,"children":126721},{},[126722],{"type":431,"value":48121},{"type":431,"value":19071},{"type":426,"tag":542,"props":126725,"children":126727},{"code":126726,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"{{ $json.attendee_phone }}\",\n  \"message\": \"{{ $json.ai_message }}\"\n}\n",[126728],{"type":426,"tag":549,"props":126729,"children":126730},{"__ignoreMap":417},[126731,126738,126758,126774],{"type":426,"tag":553,"props":126732,"children":126733},{"class":555,"line":556},[126734],{"type":426,"tag":553,"props":126735,"children":126736},{"style":684},[126737],{"type":431,"value":687},{"type":426,"tag":553,"props":126739,"children":126740},{"class":555,"line":588},[126741,126745,126749,126754],{"type":426,"tag":553,"props":126742,"children":126743},{"style":566},[126744],{"type":431,"value":7277},{"type":426,"tag":553,"props":126746,"children":126747},{"style":684},[126748],{"type":431,"value":700},{"type":426,"tag":553,"props":126750,"children":126751},{"style":572},[126752],{"type":431,"value":126753},"\"{{ $json.attendee_phone }}\"",{"type":426,"tag":553,"props":126755,"children":126756},{"style":684},[126757],{"type":431,"value":710},{"type":426,"tag":553,"props":126759,"children":126760},{"class":555,"line":606},[126761,126765,126769],{"type":426,"tag":553,"props":126762,"children":126763},{"style":566},[126764],{"type":431,"value":7298},{"type":426,"tag":553,"props":126766,"children":126767},{"style":684},[126768],{"type":431,"value":700},{"type":426,"tag":553,"props":126770,"children":126771},{"style":572},[126772],{"type":431,"value":126773},"\"{{ $json.ai_message }}\"\n",{"type":426,"tag":553,"props":126775,"children":126776},{"class":555,"line":623},[126777],{"type":426,"tag":553,"props":126778,"children":126779},{"style":684},[126780],{"type":431,"value":756},{"type":426,"tag":427,"props":126782,"children":126783},{},[126784],{"type":426,"tag":446,"props":126785,"children":126786},{},[126787],{"type":431,"value":48187},{"type":426,"tag":542,"props":126789,"children":126791},{"code":126790,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi! Just a reminder about our meeting tomorrow at 2pm. Looking forward to speaking with you!\"\n  }'\n",[126792],{"type":426,"tag":549,"props":126793,"children":126794},{"__ignoreMap":417},[126795,126818,126833,126848,126859,126866,126874],{"type":426,"tag":553,"props":126796,"children":126797},{"class":555,"line":556},[126798,126802,126806,126810,126814],{"type":426,"tag":553,"props":126799,"children":126800},{"style":560},[126801],{"type":431,"value":563},{"type":426,"tag":553,"props":126803,"children":126804},{"style":566},[126805],{"type":431,"value":569},{"type":426,"tag":553,"props":126807,"children":126808},{"style":572},[126809],{"type":431,"value":575},{"type":426,"tag":553,"props":126811,"children":126812},{"style":572},[126813],{"type":431,"value":580},{"type":426,"tag":553,"props":126815,"children":126816},{"style":566},[126817],{"type":431,"value":585},{"type":426,"tag":553,"props":126819,"children":126820},{"class":555,"line":588},[126821,126825,126829],{"type":426,"tag":553,"props":126822,"children":126823},{"style":566},[126824],{"type":431,"value":594},{"type":426,"tag":553,"props":126826,"children":126827},{"style":572},[126828],{"type":431,"value":599},{"type":426,"tag":553,"props":126830,"children":126831},{"style":566},[126832],{"type":431,"value":585},{"type":426,"tag":553,"props":126834,"children":126835},{"class":555,"line":606},[126836,126840,126844],{"type":426,"tag":553,"props":126837,"children":126838},{"style":566},[126839],{"type":431,"value":594},{"type":426,"tag":553,"props":126841,"children":126842},{"style":572},[126843],{"type":431,"value":616},{"type":426,"tag":553,"props":126845,"children":126846},{"style":566},[126847],{"type":431,"value":585},{"type":426,"tag":553,"props":126849,"children":126850},{"class":555,"line":623},[126851,126855],{"type":426,"tag":553,"props":126852,"children":126853},{"style":566},[126854],{"type":431,"value":629},{"type":426,"tag":553,"props":126856,"children":126857},{"style":572},[126858],{"type":431,"value":634},{"type":426,"tag":553,"props":126860,"children":126861},{"class":555,"line":637},[126862],{"type":426,"tag":553,"props":126863,"children":126864},{"style":572},[126865],{"type":431,"value":643},{"type":426,"tag":553,"props":126867,"children":126868},{"class":555,"line":646},[126869],{"type":426,"tag":553,"props":126870,"children":126871},{"style":572},[126872],{"type":431,"value":126873},"    \"message\": \"Hi! Just a reminder about our meeting tomorrow at 2pm. Looking forward to speaking with you!\"\n",{"type":426,"tag":553,"props":126875,"children":126876},{"class":555,"line":655},[126877],{"type":426,"tag":553,"props":126878,"children":126879},{"style":572},[126880],{"type":431,"value":661},{"type":426,"tag":427,"props":126882,"children":126883},{},[126884],{"type":426,"tag":446,"props":126885,"children":126886},{},[126887],{"type":431,"value":669},{"type":426,"tag":542,"props":126889,"children":126891},{"code":126890,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123\",\n  \"timestamp\": \"2026-06-06T10:30:00Z\"\n}\n",[126892],{"type":426,"tag":549,"props":126893,"children":126894},{"__ignoreMap":417},[126895,126902,126921,126940,126956],{"type":426,"tag":553,"props":126896,"children":126897},{"class":555,"line":556},[126898],{"type":426,"tag":553,"props":126899,"children":126900},{"style":684},[126901],{"type":431,"value":687},{"type":426,"tag":553,"props":126903,"children":126904},{"class":555,"line":588},[126905,126909,126913,126917],{"type":426,"tag":553,"props":126906,"children":126907},{"style":566},[126908],{"type":431,"value":695},{"type":426,"tag":553,"props":126910,"children":126911},{"style":684},[126912],{"type":431,"value":700},{"type":426,"tag":553,"props":126914,"children":126915},{"style":572},[126916],{"type":431,"value":705},{"type":426,"tag":553,"props":126918,"children":126919},{"style":684},[126920],{"type":431,"value":710},{"type":426,"tag":553,"props":126922,"children":126923},{"class":555,"line":606},[126924,126928,126932,126936],{"type":426,"tag":553,"props":126925,"children":126926},{"style":566},[126927],{"type":431,"value":718},{"type":426,"tag":553,"props":126929,"children":126930},{"style":684},[126931],{"type":431,"value":700},{"type":426,"tag":553,"props":126933,"children":126934},{"style":572},[126935],{"type":431,"value":7376},{"type":426,"tag":553,"props":126937,"children":126938},{"style":684},[126939],{"type":431,"value":710},{"type":426,"tag":553,"props":126941,"children":126942},{"class":555,"line":623},[126943,126947,126951],{"type":426,"tag":553,"props":126944,"children":126945},{"style":566},[126946],{"type":431,"value":739},{"type":426,"tag":553,"props":126948,"children":126949},{"style":684},[126950],{"type":431,"value":700},{"type":426,"tag":553,"props":126952,"children":126953},{"style":572},[126954],{"type":431,"value":126955},"\"2026-06-06T10:30:00Z\"\n",{"type":426,"tag":553,"props":126957,"children":126958},{"class":555,"line":637},[126959],{"type":426,"tag":553,"props":126960,"children":126961},{"style":684},[126962],{"type":431,"value":756},{"type":426,"tag":434,"props":126964,"children":126966},{"id":126965},"step-6-map-attendee-phone-numbers",[126967],{"type":431,"value":126968},"Step 6: Map Attendee Phone Numbers",{"type":426,"tag":427,"props":126970,"children":126971},{},[126972],{"type":431,"value":126973},"Google Calendar events don't store phone numbers natively. The workflow uses a Google Sheet lookup table:",{"type":426,"tag":10600,"props":126975,"children":126976},{},[126977,126993],{"type":426,"tag":10604,"props":126978,"children":126979},{},[126980],{"type":426,"tag":10608,"props":126981,"children":126982},{},[126983,126988],{"type":426,"tag":10612,"props":126984,"children":126985},{},[126986],{"type":431,"value":126987},"Column A (email)",{"type":426,"tag":10612,"props":126989,"children":126990},{},[126991],{"type":431,"value":126992},"Column B (phone)",{"type":426,"tag":10623,"props":126994,"children":126995},{},[126996,127012],{"type":426,"tag":10608,"props":126997,"children":126998},{},[126999,127008],{"type":426,"tag":10630,"props":127000,"children":127001},{},[127002],{"type":426,"tag":3819,"props":127003,"children":127005},{"href":127004},"mailto:sarah@company.com",[127006],{"type":431,"value":127007},"sarah@company.com",{"type":426,"tag":10630,"props":127009,"children":127010},{},[127011],{"type":431,"value":7237},{"type":426,"tag":10608,"props":127013,"children":127014},{},[127015,127024],{"type":426,"tag":10630,"props":127016,"children":127017},{},[127018],{"type":426,"tag":3819,"props":127019,"children":127021},{"href":127020},"mailto:john@example.com",[127022],{"type":431,"value":127023},"john@example.com",{"type":426,"tag":10630,"props":127025,"children":127026},{},[127027],{"type":431,"value":127028},"447700900000",{"type":426,"tag":427,"props":127030,"children":127031},{},[127032],{"type":431,"value":127033},"In n8n, the workflow looks up each attendee's email in the sheet to find their phone number.",{"type":426,"tag":427,"props":127035,"children":127036},{},[127037],{"type":426,"tag":446,"props":127038,"children":127039},{},[127040],{"type":431,"value":127041},"Set up the sheet:",{"type":426,"tag":6331,"props":127043,"children":127044},{},[127045,127061,127066],{"type":426,"tag":458,"props":127046,"children":127047},{},[127048,127050,127055,127056],{"type":431,"value":127049},"Create a Google Sheet with columns: ",{"type":426,"tag":549,"props":127051,"children":127053},{"className":127052},[],[127054],{"type":431,"value":99292},{"type":431,"value":1907},{"type":426,"tag":549,"props":127057,"children":127059},{"className":127058},[],[127060],{"type":431,"value":37598},{"type":426,"tag":458,"props":127062,"children":127063},{},[127064],{"type":431,"value":127065},"Fill in your contact data",{"type":426,"tag":458,"props":127067,"children":127068},{},[127069,127071],{"type":431,"value":127070},"Connect Google Sheets in n8n: ",{"type":426,"tag":446,"props":127072,"children":127073},{},[127074],{"type":431,"value":127075},"Credentials → Google Sheets → OAuth2",{"type":426,"tag":434,"props":127077,"children":127078},{"id":104301},[127079],{"type":431,"value":104304},{"type":426,"tag":6331,"props":127081,"children":127082},{},[127083,127094,127099,127104,127109],{"type":426,"tag":458,"props":127084,"children":127085},{},[127086,127087,127092],{"type":431,"value":47857},{"type":426,"tag":446,"props":127088,"children":127089},{},[127090],{"type":431,"value":127091},"Test workflow",{"type":431,"value":127093}," in n8n",{"type":426,"tag":458,"props":127095,"children":127096},{},[127097],{"type":431,"value":127098},"Create or update a Google Calendar event",{"type":426,"tag":458,"props":127100,"children":127101},{},[127102],{"type":431,"value":127103},"Check that the Gemini AI node generates a message",{"type":426,"tag":458,"props":127105,"children":127106},{},[127107],{"type":431,"value":127108},"Verify the WhatsApp message arrives within 10–15 seconds",{"type":426,"tag":458,"props":127110,"children":127111},{},[127112,127114],{"type":431,"value":127113},"Check the HTTP Request node output for ",{"type":426,"tag":549,"props":127115,"children":127117},{"className":127116},[],[127118],{"type":431,"value":127119},"\"status\": \"success\"",{"type":426,"tag":434,"props":127121,"children":127123},{"id":127122},"customisation-options",[127124],{"type":431,"value":127125},"Customisation Options",{"type":426,"tag":427,"props":127127,"children":127128},{},[127129,127134],{"type":426,"tag":446,"props":127130,"children":127131},{},[127132],{"type":431,"value":127133},"Trigger timing",{"type":431,"value":127135},": Modify the trigger to fire X hours before an event (pre-event reminder) or after an event ends (post-meeting follow-up).",{"type":426,"tag":427,"props":127137,"children":127138},{},[127139,127144],{"type":426,"tag":446,"props":127140,"children":127141},{},[127142],{"type":431,"value":127143},"Custom AI prompt",{"type":431,"value":127145},": Edit the Gemini prompt to match your communication style — formal, casual, with specific CTAs.",{"type":426,"tag":427,"props":127147,"children":127148},{},[127149,127154],{"type":426,"tag":446,"props":127150,"children":127151},{},[127152],{"type":431,"value":127153},"Multi-channel",{"type":431,"value":127155},": The template also sends an email — configure the email node with your SMTP credentials to run both channels simultaneously.",{"type":426,"tag":434,"props":127157,"children":127158},{"id":18886},[127159],{"type":431,"value":18889},{"type":426,"tag":454,"props":127161,"children":127162},{},[127163,127173,127183,127193],{"type":426,"tag":458,"props":127164,"children":127165},{},[127166,127171],{"type":426,"tag":446,"props":127167,"children":127168},{},[127169],{"type":431,"value":127170},"Google Calendar permission denied",{"type":431,"value":127172},": Re-authorise the OAuth2 credentials in n8n",{"type":426,"tag":458,"props":127174,"children":127175},{},[127176,127181],{"type":426,"tag":446,"props":127177,"children":127178},{},[127179],{"type":431,"value":127180},"Gemini API quota exceeded",{"type":431,"value":127182},": You're on the free tier — reduce trigger frequency or upgrade Gemini plan",{"type":426,"tag":458,"props":127184,"children":127185},{},[127186,127191],{"type":426,"tag":446,"props":127187,"children":127188},{},[127189],{"type":431,"value":127190},"Phone number not found in sheet",{"type":431,"value":127192},": Add the attendee's email and phone to your lookup sheet",{"type":426,"tag":458,"props":127194,"children":127195},{},[127196,127201],{"type":426,"tag":446,"props":127197,"children":127198},{},[127199],{"type":431,"value":127200},"WhatsApp 401 error",{"type":431,"value":127202},": Your Rapiwa API key expired — regenerate in Dashboard → API Keys",{"type":426,"tag":434,"props":127204,"children":127205},{"id":4109},[127206],{"type":431,"value":4112},{"type":426,"tag":427,"props":127208,"children":127209},{},[127210,127215,127217,127223],{"type":426,"tag":446,"props":127211,"children":127212},{},[127213],{"type":431,"value":127214},"Do I need a Gemini API key?",{"type":431,"value":127216},"\nYes. The Gemini API generates the AI follow-up message. Get a free API key at ",{"type":426,"tag":3819,"props":127218,"children":127220},{"href":63027,"rel":127219},[3823],[127221],{"type":431,"value":127222},"aistudio.google.com",{"type":431,"value":127224},". The Gemini API has a free tier with sufficient quota for most personal and small business use.",{"type":426,"tag":427,"props":127226,"children":127227},{},[127228,127232,127234,127240],{"type":426,"tag":446,"props":127229,"children":127230},{},[127231],{"type":431,"value":66579},{"type":431,"value":127233},"\nYes. Replace the Gemini AI HTTP Request node with an OpenAI API call. Update the endpoint to ",{"type":426,"tag":549,"props":127235,"children":127237},{"className":127236},[],[127238],{"type":431,"value":127239},"https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions",{"type":431,"value":127241}," and adjust the payload format.",{"type":426,"tag":427,"props":127243,"children":127244},{},[127245,127250],{"type":426,"tag":446,"props":127246,"children":127247},{},[127248],{"type":431,"value":127249},"Can I send to attendees from different companies?",{"type":431,"value":127251},"\nYes — as long as their phone numbers are in your lookup Google Sheet, any attendee can receive the WhatsApp reminder.",{"type":426,"tag":427,"props":127253,"children":127254},{},[127255,127260],{"type":426,"tag":446,"props":127256,"children":127257},{},[127258],{"type":431,"value":127259},"Does this work for recurring calendar events?",{"type":431,"value":127261},"\nYes. The Google Calendar Trigger fires for every instance of a recurring event.",{"type":426,"tag":427,"props":127263,"children":127264},{},[127265,127270],{"type":426,"tag":446,"props":127266,"children":127267},{},[127268],{"type":431,"value":127269},"Is this workflow free to run?",{"type":431,"value":127271},"\nYou need Rapiwa ($5\u002Fmonth) and Gemini API (free tier available). n8n has a free self-hosted version and Cloud free tier. Total cost: $5\u002Fmonth.",{"type":426,"tag":4164,"props":127273,"children":127274},{},[127275],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":127277},[127278,127279,127280,127281,127282,127283,127284,127285,127286,127287,127288,127289],{"id":47550,"depth":588,"text":47553},{"id":47624,"depth":588,"text":47627},{"id":126468,"depth":588,"text":126471},{"id":47835,"depth":588,"text":47838},{"id":126567,"depth":588,"text":126570},{"id":126610,"depth":588,"text":126613},{"id":126671,"depth":588,"text":126674},{"id":126965,"depth":588,"text":126968},{"id":104301,"depth":588,"text":104304},{"id":127122,"depth":588,"text":127125},{"id":18886,"depth":588,"text":18889},{"id":4109,"depth":588,"text":4112},"content:blog:google-calendar-whatsapp-reminder-gemini-ai-n8n.md","blog\u002Fgoogle-calendar-whatsapp-reminder-gemini-ai-n8n.md","blog\u002Fgoogle-calendar-whatsapp-reminder-gemini-ai-n8n",{"loc":181},{"_path":185,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":186,"description":187,"date":127295,"author":47538,"category":22,"_slug":127296,"image":127297,"body":127298,"_type":4187,"_id":131906,"_source":4189,"_file":131907,"_stem":131908,"_extension":4192,"sitemap":131909},"2026-02-04","how-to-build-whatsapp-chatbot-rapiwa-api","\u002Fimages\u002Fblog\u002Fhow-to-build-whatsapp-chatbot-rapiwa-api.svg",{"type":423,"children":127299,"toc":131893},[127300,127313,127319,127327,127332,127355,127359,127388,127394,127400,128932,128970,128976,129007,129018,129022,129044,129049,129055,129060,130157,130163,130168,130962,130979,130985,131828,131832,131842,131859,131869,131879,131889],{"type":426,"tag":427,"props":127301,"children":127302},{},[127303,127305,127311],{"type":431,"value":127304},"Build a WhatsApp chatbot with ",{"type":426,"tag":3819,"props":127306,"children":127308},{"href":3821,"rel":127307},[3823],[127309],{"type":431,"value":127310},"Rapiwa",{"type":431,"value":127312}," in three steps: set up a webhook endpoint, receive messages from Rapiwa, and send replies back through the API. No special chatbot framework needed — just an HTTP server and 20–50 lines of code. This tutorial builds a keyword-based bot and a GPT-4-powered AI bot.",{"type":426,"tag":434,"props":127314,"children":127316},{"id":127315},"how-a-whatsapp-chatbot-works",[127317],{"type":431,"value":127318},"How a WhatsApp Chatbot Works",{"type":426,"tag":542,"props":127320,"children":127322},{"code":127321},"Customer sends \"Hi\" to your WhatsApp number\n     ↓\nRapiwa webhook → POST to your server\n     ↓\nYour server processes the message (\"Hi\" → welcome menu)\n     ↓\nYour server → POST to Rapiwa API → sends reply to customer\n",[127323],{"type":426,"tag":549,"props":127324,"children":127325},{"__ignoreMap":417},[127326],{"type":431,"value":127321},{"type":426,"tag":427,"props":127328,"children":127329},{},[127330],{"type":431,"value":127331},"The key is two API connections:",{"type":426,"tag":6331,"props":127333,"children":127334},{},[127335,127345],{"type":426,"tag":458,"props":127336,"children":127337},{},[127338,127343],{"type":426,"tag":446,"props":127339,"children":127340},{},[127341],{"type":431,"value":127342},"Incoming",{"type":431,"value":127344},": Rapiwa webhook delivers messages TO your server",{"type":426,"tag":458,"props":127346,"children":127347},{},[127348,127353],{"type":426,"tag":446,"props":127349,"children":127350},{},[127351],{"type":431,"value":127352},"Outgoing",{"type":431,"value":127354},": Your server calls the Rapiwa API to SEND replies",{"type":426,"tag":434,"props":127356,"children":127357},{"id":47624},[127358],{"type":431,"value":47627},{"type":426,"tag":454,"props":127360,"children":127361},{},[127362,127373,127378,127383],{"type":426,"tag":458,"props":127363,"children":127364},{},[127365,127367],{"type":431,"value":127366},"Rapiwa account — ",{"type":426,"tag":3819,"props":127368,"children":127370},{"href":3821,"rel":127369},[3823],[127371],{"type":431,"value":127372},"free 3-day trial",{"type":426,"tag":458,"props":127374,"children":127375},{},[127376],{"type":431,"value":127377},"Rapiwa API key",{"type":426,"tag":458,"props":127379,"children":127380},{},[127381],{"type":431,"value":127382},"A public server URL (for webhooks — use ngrok for local development)",{"type":426,"tag":458,"props":127384,"children":127385},{},[127386],{"type":431,"value":127387},"Python 3.7+ or Node.js 18+",{"type":426,"tag":434,"props":127389,"children":127391},{"id":127390},"part-1-simple-keyword-based-chatbot-python-flask",[127392],{"type":431,"value":127393},"Part 1: Simple Keyword-Based Chatbot (Python + Flask)",{"type":426,"tag":515,"props":127395,"children":127397},{"id":127396},"step-1-set-up-the-webhook-server",[127398],{"type":431,"value":127399},"Step 1: Set Up the Webhook Server",{"type":426,"tag":542,"props":127401,"children":127403},{"code":127402,"language":784,"meta":417,"className":785,"style":417},"# chatbot.py\nfrom flask import Flask, request, jsonify\nimport requests\nimport os\n\napp = Flask(__name__)\n\nRAPIWA_KEY = os.getenv(\"RAPIWA_API_KEY\")\n\ndef send_reply(phone: str, message: str):\n    \"\"\"Send a WhatsApp reply via Rapiwa API.\"\"\"\n    requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {RAPIWA_KEY}\"},\n        json={\"number\": phone, \"message\": message}\n    )\n\ndef process_message(phone: str, name: str, text: str):\n    \"\"\"Route incoming messages based on keywords.\"\"\"\n    text_lower = text.lower().strip()\n    \n    # Main menu\n    if text_lower in [\"hi\", \"hello\", \"hey\", \"start\", \"menu\"]:\n        reply = (\n            f\"Hi {name}! 👋 Welcome to Support.\\n\\n\"\n            \"What can I help you with?\\n\\n\"\n            \"1️⃣ *ORDER* — Track your order\\n\"\n            \"2️⃣ *RETURN* — Start a return\\n\"\n            \"3️⃣ *PRICE* — View pricing\\n\"\n            \"4️⃣ *HUMAN* — Talk to a person\\n\\n\"\n            \"Just reply with a keyword above.\"\n        )\n    \n    elif \"order\" in text_lower or text_lower == \"1\":\n        reply = (\n            \"To track your order:\\n\\n\"\n            \"1. Visit: https:\u002F\u002Fstore.com\u002Ftrack\\n\"\n            \"2. Enter your order number\\n\\n\"\n            \"Or reply with your *order number* and I'll look it up for you.\"\n        )\n    \n    elif \"return\" in text_lower or text_lower == \"2\":\n        reply = (\n            \"To start a return:\\n\\n\"\n            \"• Orders within 30 days are eligible for free returns\\n\"\n            \"• Start here: https:\u002F\u002Fstore.com\u002Freturns\\n\\n\"\n            \"Need help? Reply *HUMAN* to speak with our team.\"\n        )\n    \n    elif \"price\" in text_lower or \"cost\" in text_lower or text_lower == \"3\":\n        reply = (\n            \"*Our Pricing:*\\n\\n\"\n            \"• Starter: $29\u002Fmonth\\n\"\n            \"• Professional: $79\u002Fmonth\\n\"\n            \"• Enterprise: Custom\\n\\n\"\n            \"View all features: https:\u002F\u002Fstore.com\u002Fpricing\"\n        )\n    \n    elif \"human\" in text_lower or \"agent\" in text_lower or text_lower == \"4\":\n        reply = \"Connecting you to our support team now. Please wait 2–3 minutes.\"\n        # In production: notify your team via email, Slack, or CRM\n    \n    else:\n        reply = (\n            f\"I received your message: *\\\"{text}\\\"*\\n\\n\"\n            \"I'm not sure how to help with that. \"\n            \"Reply *MENU* to see what I can do, or *HUMAN* to speak with a person.\"\n        )\n    \n    send_reply(phone, reply)\n\n@app.route(\"\u002Fwebhook\u002Fwhatsapp\", methods=[\"POST\"])\ndef whatsapp_webhook():\n    data = request.json\n    \n    # Always respond 200 immediately\n    response = jsonify({\"status\": \"ok\"})\n    \n    if data.get(\"event\") == \"message.received\":\n        phone = data[\"from\"]\n        name  = data.get(\"fromName\", \"there\")\n        text  = data.get(\"message\", \"\")\n        \n        # Don't process empty messages or messages from yourself\n        if text:\n            process_message(phone, name, text)\n    \n    return response, 200\n\nif __name__ == \"__main__\":\n    app.run(port=5000)\n",[127404],{"type":426,"tag":549,"props":127405,"children":127406},{"__ignoreMap":417},[127407,127414,127433,127444,127455,127462,127485,127492,127518,127525,127556,127564,127571,127582,127626,127657,127664,127671,127710,127718,127735,127742,127750,127815,127830,127866,127882,127898,127914,127930,127946,127954,127961,127968,128009,128024,128040,128056,128072,128080,128087,128094,128135,128150,128166,128182,128198,128206,128213,128220,128278,128293,128309,128325,128341,128357,128365,128372,128379,128437,128453,128461,128468,128479,128494,128532,128540,128548,128555,128562,128569,128576,128616,128632,128647,128654,128662,128694,128701,128732,128756,128790,128823,128830,128838,128849,128857,128864,128879,128886,128909],{"type":426,"tag":553,"props":127408,"children":127409},{"class":555,"line":556},[127410],{"type":426,"tag":553,"props":127411,"children":127412},{"style":1975},[127413],{"type":431,"value":63100},{"type":426,"tag":553,"props":127415,"children":127416},{"class":555,"line":588},[127417,127421,127425,127429],{"type":426,"tag":553,"props":127418,"children":127419},{"style":795},[127420],{"type":431,"value":811},{"type":426,"tag":553,"props":127422,"children":127423},{"style":684},[127424],{"type":431,"value":13265},{"type":426,"tag":553,"props":127426,"children":127427},{"style":795},[127428],{"type":431,"value":798},{"type":426,"tag":553,"props":127430,"children":127431},{"style":684},[127432],{"type":431,"value":19220},{"type":426,"tag":553,"props":127434,"children":127435},{"class":555,"line":606},[127436,127440],{"type":426,"tag":553,"props":127437,"children":127438},{"style":795},[127439],{"type":431,"value":798},{"type":426,"tag":553,"props":127441,"children":127442},{"style":684},[127443],{"type":431,"value":803},{"type":426,"tag":553,"props":127445,"children":127446},{"class":555,"line":623},[127447,127451],{"type":426,"tag":553,"props":127448,"children":127449},{"style":795},[127450],{"type":431,"value":798},{"type":426,"tag":553,"props":127452,"children":127453},{"style":684},[127454],{"type":431,"value":19255},{"type":426,"tag":553,"props":127456,"children":127457},{"class":555,"line":637},[127458],{"type":426,"tag":553,"props":127459,"children":127460},{"emptyLinePlaceholder":831},[127461],{"type":431,"value":834},{"type":426,"tag":553,"props":127463,"children":127464},{"class":555,"line":646},[127465,127469,127473,127477,127481],{"type":426,"tag":553,"props":127466,"children":127467},{"style":684},[127468],{"type":431,"value":13301},{"type":426,"tag":553,"props":127470,"children":127471},{"style":795},[127472],{"type":431,"value":957},{"type":426,"tag":553,"props":127474,"children":127475},{"style":684},[127476],{"type":431,"value":13310},{"type":426,"tag":553,"props":127478,"children":127479},{"style":566},[127480],{"type":431,"value":13315},{"type":426,"tag":553,"props":127482,"children":127483},{"style":684},[127484],{"type":431,"value":3262},{"type":426,"tag":553,"props":127486,"children":127487},{"class":555,"line":655},[127488],{"type":426,"tag":553,"props":127489,"children":127490},{"emptyLinePlaceholder":831},[127491],{"type":431,"value":834},{"type":426,"tag":553,"props":127493,"children":127494},{"class":555,"line":1036},[127495,127500,127504,127509,127514],{"type":426,"tag":553,"props":127496,"children":127497},{"style":566},[127498],{"type":431,"value":127499},"RAPIWA_KEY",{"type":426,"tag":553,"props":127501,"children":127502},{"style":795},[127503],{"type":431,"value":8739},{"type":426,"tag":553,"props":127505,"children":127506},{"style":684},[127507],{"type":431,"value":127508}," os.getenv(",{"type":426,"tag":553,"props":127510,"children":127511},{"style":572},[127512],{"type":431,"value":127513},"\"RAPIWA_API_KEY\"",{"type":426,"tag":553,"props":127515,"children":127516},{"style":684},[127517],{"type":431,"value":3262},{"type":426,"tag":553,"props":127519,"children":127520},{"class":555,"line":1054},[127521],{"type":426,"tag":553,"props":127522,"children":127523},{"emptyLinePlaceholder":831},[127524],{"type":431,"value":834},{"type":426,"tag":553,"props":127526,"children":127527},{"class":555,"line":1080},[127528,127532,127536,127540,127544,127548,127552],{"type":426,"tag":553,"props":127529,"children":127530},{"style":795},[127531],{"type":431,"value":842},{"type":426,"tag":553,"props":127533,"children":127534},{"style":560},[127535],{"type":431,"value":30247},{"type":426,"tag":553,"props":127537,"children":127538},{"style":684},[127539],{"type":431,"value":7446},{"type":426,"tag":553,"props":127541,"children":127542},{"style":566},[127543],{"type":431,"value":895},{"type":426,"tag":553,"props":127545,"children":127546},{"style":684},[127547],{"type":431,"value":8713},{"type":426,"tag":553,"props":127549,"children":127550},{"style":566},[127551],{"type":431,"value":895},{"type":426,"tag":553,"props":127553,"children":127554},{"style":684},[127555],{"type":431,"value":8370},{"type":426,"tag":553,"props":127557,"children":127558},{"class":555,"line":1097},[127559],{"type":426,"tag":553,"props":127560,"children":127561},{"style":572},[127562],{"type":431,"value":127563},"    \"\"\"Send a WhatsApp reply via Rapiwa API.\"\"\"\n",{"type":426,"tag":553,"props":127565,"children":127566},{"class":555,"line":1114},[127567],{"type":426,"tag":553,"props":127568,"children":127569},{"style":684},[127570],{"type":431,"value":30283},{"type":426,"tag":553,"props":127572,"children":127573},{"class":555,"line":1127},[127574,127578],{"type":426,"tag":553,"props":127575,"children":127576},{"style":572},[127577],{"type":431,"value":47296},{"type":426,"tag":553,"props":127579,"children":127580},{"style":684},[127581],{"type":431,"value":710},{"type":426,"tag":553,"props":127583,"children":127584},{"class":555,"line":1167},[127585,127589,127593,127597,127601,127605,127609,127613,127618,127622],{"type":426,"tag":553,"props":127586,"children":127587},{"style":1684},[127588],{"type":431,"value":1687},{"type":426,"tag":553,"props":127590,"children":127591},{"style":795},[127592],{"type":431,"value":957},{"type":426,"tag":553,"props":127594,"children":127595},{"style":684},[127596],{"type":431,"value":972},{"type":426,"tag":553,"props":127598,"children":127599},{"style":572},[127600],{"type":431,"value":45214},{"type":426,"tag":553,"props":127602,"children":127603},{"style":684},[127604],{"type":431,"value":700},{"type":426,"tag":553,"props":127606,"children":127607},{"style":795},[127608],{"type":431,"value":1709},{"type":426,"tag":553,"props":127610,"children":127611},{"style":572},[127612],{"type":431,"value":12608},{"type":426,"tag":553,"props":127614,"children":127615},{"style":566},[127616],{"type":431,"value":127617},"{RAPIWA_KEY}",{"type":426,"tag":553,"props":127619,"children":127620},{"style":572},[127621],{"type":431,"value":1527},{"type":426,"tag":553,"props":127623,"children":127624},{"style":684},[127625],{"type":431,"value":1737},{"type":426,"tag":553,"props":127627,"children":127628},{"class":555,"line":1184},[127629,127633,127637,127641,127645,127649,127653],{"type":426,"tag":553,"props":127630,"children":127631},{"style":1684},[127632],{"type":431,"value":1746},{"type":426,"tag":553,"props":127634,"children":127635},{"style":795},[127636],{"type":431,"value":957},{"type":426,"tag":553,"props":127638,"children":127639},{"style":684},[127640],{"type":431,"value":972},{"type":426,"tag":553,"props":127642,"children":127643},{"style":572},[127644],{"type":431,"value":45266},{"type":426,"tag":553,"props":127646,"children":127647},{"style":684},[127648],{"type":431,"value":8931},{"type":426,"tag":553,"props":127650,"children":127651},{"style":572},[127652],{"type":431,"value":45275},{"type":426,"tag":553,"props":127654,"children":127655},{"style":684},[127656],{"type":431,"value":1784},{"type":426,"tag":553,"props":127658,"children":127659},{"class":555,"line":1192},[127660],{"type":426,"tag":553,"props":127661,"children":127662},{"style":684},[127663],{"type":431,"value":1642},{"type":426,"tag":553,"props":127665,"children":127666},{"class":555,"line":1210},[127667],{"type":426,"tag":553,"props":127668,"children":127669},{"emptyLinePlaceholder":831},[127670],{"type":431,"value":834},{"type":426,"tag":553,"props":127672,"children":127673},{"class":555,"line":1253},[127674,127678,127682,127686,127690,127694,127698,127702,127706],{"type":426,"tag":553,"props":127675,"children":127676},{"style":795},[127677],{"type":431,"value":842},{"type":426,"tag":553,"props":127679,"children":127680},{"style":560},[127681],{"type":431,"value":82386},{"type":426,"tag":553,"props":127683,"children":127684},{"style":684},[127685],{"type":431,"value":7446},{"type":426,"tag":553,"props":127687,"children":127688},{"style":566},[127689],{"type":431,"value":895},{"type":426,"tag":553,"props":127691,"children":127692},{"style":684},[127693],{"type":431,"value":44374},{"type":426,"tag":553,"props":127695,"children":127696},{"style":566},[127697],{"type":431,"value":895},{"type":426,"tag":553,"props":127699,"children":127700},{"style":684},[127701],{"type":431,"value":64055},{"type":426,"tag":553,"props":127703,"children":127704},{"style":566},[127705],{"type":431,"value":895},{"type":426,"tag":553,"props":127707,"children":127708},{"style":684},[127709],{"type":431,"value":8370},{"type":426,"tag":553,"props":127711,"children":127712},{"class":555,"line":1302},[127713],{"type":426,"tag":553,"props":127714,"children":127715},{"style":572},[127716],{"type":431,"value":127717},"    \"\"\"Route incoming messages based on keywords.\"\"\"\n",{"type":426,"tag":553,"props":127719,"children":127720},{"class":555,"line":1374},[127721,127726,127730],{"type":426,"tag":553,"props":127722,"children":127723},{"style":684},[127724],{"type":431,"value":127725},"    text_lower ",{"type":426,"tag":553,"props":127727,"children":127728},{"style":795},[127729],{"type":431,"value":957},{"type":426,"tag":553,"props":127731,"children":127732},{"style":684},[127733],{"type":431,"value":127734}," text.lower().strip()\n",{"type":426,"tag":553,"props":127736,"children":127737},{"class":555,"line":1414},[127738],{"type":426,"tag":553,"props":127739,"children":127740},{"style":684},[127741],{"type":431,"value":917},{"type":426,"tag":553,"props":127743,"children":127744},{"class":555,"line":1479},[127745],{"type":426,"tag":553,"props":127746,"children":127747},{"style":1975},[127748],{"type":431,"value":127749},"    # Main menu\n",{"type":426,"tag":553,"props":127751,"children":127752},{"class":555,"line":1517},[127753,127757,127762,127766,127770,127775,127779,127784,127788,127793,127797,127802,127806,127811],{"type":426,"tag":553,"props":127754,"children":127755},{"style":795},[127756],{"type":431,"value":925},{"type":426,"tag":553,"props":127758,"children":127759},{"style":684},[127760],{"type":431,"value":127761}," text_lower ",{"type":426,"tag":553,"props":127763,"children":127764},{"style":795},[127765],{"type":431,"value":2005},{"type":426,"tag":553,"props":127767,"children":127768},{"style":684},[127769],{"type":431,"value":1897},{"type":426,"tag":553,"props":127771,"children":127772},{"style":572},[127773],{"type":431,"value":127774},"\"hi\"",{"type":426,"tag":553,"props":127776,"children":127777},{"style":684},[127778],{"type":431,"value":1907},{"type":426,"tag":553,"props":127780,"children":127781},{"style":572},[127782],{"type":431,"value":127783},"\"hello\"",{"type":426,"tag":553,"props":127785,"children":127786},{"style":684},[127787],{"type":431,"value":1907},{"type":426,"tag":553,"props":127789,"children":127790},{"style":572},[127791],{"type":431,"value":127792},"\"hey\"",{"type":426,"tag":553,"props":127794,"children":127795},{"style":684},[127796],{"type":431,"value":1907},{"type":426,"tag":553,"props":127798,"children":127799},{"style":572},[127800],{"type":431,"value":127801},"\"start\"",{"type":426,"tag":553,"props":127803,"children":127804},{"style":684},[127805],{"type":431,"value":1907},{"type":426,"tag":553,"props":127807,"children":127808},{"style":572},[127809],{"type":431,"value":127810},"\"menu\"",{"type":426,"tag":553,"props":127812,"children":127813},{"style":684},[127814],{"type":431,"value":12008},{"type":426,"tag":553,"props":127816,"children":127817},{"class":555,"line":1560},[127818,127822,127826],{"type":426,"tag":553,"props":127819,"children":127820},{"style":684},[127821],{"type":431,"value":29537},{"type":426,"tag":553,"props":127823,"children":127824},{"style":795},[127825],{"type":431,"value":957},{"type":426,"tag":553,"props":127827,"children":127828},{"style":684},[127829],{"type":431,"value":1207},{"type":426,"tag":553,"props":127831,"children":127832},{"class":555,"line":1598},[127833,127837,127841,127845,127849,127853,127858,127862],{"type":426,"tag":553,"props":127834,"children":127835},{"style":795},[127836],{"type":431,"value":3740},{"type":426,"tag":553,"props":127838,"children":127839},{"style":572},[127840],{"type":431,"value":4625},{"type":426,"tag":553,"props":127842,"children":127843},{"style":566},[127844],{"type":431,"value":972},{"type":426,"tag":553,"props":127846,"children":127847},{"style":684},[127848],{"type":431,"value":24468},{"type":426,"tag":553,"props":127850,"children":127851},{"style":566},[127852],{"type":431,"value":982},{"type":426,"tag":553,"props":127854,"children":127855},{"style":572},[127856],{"type":431,"value":127857},"! 👋 Welcome to Support.",{"type":426,"tag":553,"props":127859,"children":127860},{"style":566},[127861],{"type":431,"value":1295},{"type":426,"tag":553,"props":127863,"children":127864},{"style":572},[127865],{"type":431,"value":1250},{"type":426,"tag":553,"props":127867,"children":127868},{"class":555,"line":1636},[127869,127874,127878],{"type":426,"tag":553,"props":127870,"children":127871},{"style":572},[127872],{"type":431,"value":127873},"            \"What can I help you with?",{"type":426,"tag":553,"props":127875,"children":127876},{"style":566},[127877],{"type":431,"value":1295},{"type":426,"tag":553,"props":127879,"children":127880},{"style":572},[127881],{"type":431,"value":1250},{"type":426,"tag":553,"props":127883,"children":127884},{"class":555,"line":1645},[127885,127890,127894],{"type":426,"tag":553,"props":127886,"children":127887},{"style":572},[127888],{"type":431,"value":127889},"            \"1️⃣ *ORDER* — Track your order",{"type":426,"tag":553,"props":127891,"children":127892},{"style":566},[127893],{"type":431,"value":3661},{"type":426,"tag":553,"props":127895,"children":127896},{"style":572},[127897],{"type":431,"value":1250},{"type":426,"tag":553,"props":127899,"children":127900},{"class":555,"line":1653},[127901,127906,127910],{"type":426,"tag":553,"props":127902,"children":127903},{"style":572},[127904],{"type":431,"value":127905},"            \"2️⃣ *RETURN* — Start a return",{"type":426,"tag":553,"props":127907,"children":127908},{"style":566},[127909],{"type":431,"value":3661},{"type":426,"tag":553,"props":127911,"children":127912},{"style":572},[127913],{"type":431,"value":1250},{"type":426,"tag":553,"props":127915,"children":127916},{"class":555,"line":1667},[127917,127922,127926],{"type":426,"tag":553,"props":127918,"children":127919},{"style":572},[127920],{"type":431,"value":127921},"            \"3️⃣ *PRICE* — View pricing",{"type":426,"tag":553,"props":127923,"children":127924},{"style":566},[127925],{"type":431,"value":3661},{"type":426,"tag":553,"props":127927,"children":127928},{"style":572},[127929],{"type":431,"value":1250},{"type":426,"tag":553,"props":127931,"children":127932},{"class":555,"line":1680},[127933,127938,127942],{"type":426,"tag":553,"props":127934,"children":127935},{"style":572},[127936],{"type":431,"value":127937},"            \"4️⃣ *HUMAN* — Talk to a person",{"type":426,"tag":553,"props":127939,"children":127940},{"style":566},[127941],{"type":431,"value":1295},{"type":426,"tag":553,"props":127943,"children":127944},{"style":572},[127945],{"type":431,"value":1250},{"type":426,"tag":553,"props":127947,"children":127948},{"class":555,"line":1740},[127949],{"type":426,"tag":553,"props":127950,"children":127951},{"style":572},[127952],{"type":431,"value":127953},"            \"Just reply with a keyword above.\"\n",{"type":426,"tag":553,"props":127955,"children":127956},{"class":555,"line":1787},[127957],{"type":426,"tag":553,"props":127958,"children":127959},{"style":684},[127960],{"type":431,"value":6037},{"type":426,"tag":553,"props":127962,"children":127963},{"class":555,"line":1796},[127964],{"type":426,"tag":553,"props":127965,"children":127966},{"style":684},[127967],{"type":431,"value":917},{"type":426,"tag":553,"props":127969,"children":127970},{"class":555,"line":1804},[127971,127975,127980,127984,127988,127992,127996,128000,128005],{"type":426,"tag":553,"props":127972,"children":127973},{"style":795},[127974],{"type":431,"value":1060},{"type":426,"tag":553,"props":127976,"children":127977},{"style":572},[127978],{"type":431,"value":127979}," \"order\"",{"type":426,"tag":553,"props":127981,"children":127982},{"style":795},[127983],{"type":431,"value":54104},{"type":426,"tag":553,"props":127985,"children":127986},{"style":684},[127987],{"type":431,"value":127761},{"type":426,"tag":553,"props":127989,"children":127990},{"style":795},[127991],{"type":431,"value":13816},{"type":426,"tag":553,"props":127993,"children":127994},{"style":684},[127995],{"type":431,"value":127761},{"type":426,"tag":553,"props":127997,"children":127998},{"style":795},[127999],{"type":431,"value":1069},{"type":426,"tag":553,"props":128001,"children":128002},{"style":572},[128003],{"type":431,"value":128004}," \"1\"",{"type":426,"tag":553,"props":128006,"children":128007},{"style":684},[128008],{"type":431,"value":909},{"type":426,"tag":553,"props":128010,"children":128011},{"class":555,"line":1812},[128012,128016,128020],{"type":426,"tag":553,"props":128013,"children":128014},{"style":684},[128015],{"type":431,"value":29537},{"type":426,"tag":553,"props":128017,"children":128018},{"style":795},[128019],{"type":431,"value":957},{"type":426,"tag":553,"props":128021,"children":128022},{"style":684},[128023],{"type":431,"value":1207},{"type":426,"tag":553,"props":128025,"children":128026},{"class":555,"line":1847},[128027,128032,128036],{"type":426,"tag":553,"props":128028,"children":128029},{"style":572},[128030],{"type":431,"value":128031},"            \"To track your order:",{"type":426,"tag":553,"props":128033,"children":128034},{"style":566},[128035],{"type":431,"value":1295},{"type":426,"tag":553,"props":128037,"children":128038},{"style":572},[128039],{"type":431,"value":1250},{"type":426,"tag":553,"props":128041,"children":128042},{"class":555,"line":1856},[128043,128048,128052],{"type":426,"tag":553,"props":128044,"children":128045},{"style":572},[128046],{"type":431,"value":128047},"            \"1. Visit: https:\u002F\u002Fstore.com\u002Ftrack",{"type":426,"tag":553,"props":128049,"children":128050},{"style":566},[128051],{"type":431,"value":3661},{"type":426,"tag":553,"props":128053,"children":128054},{"style":572},[128055],{"type":431,"value":1250},{"type":426,"tag":553,"props":128057,"children":128058},{"class":555,"line":1874},[128059,128064,128068],{"type":426,"tag":553,"props":128060,"children":128061},{"style":572},[128062],{"type":431,"value":128063},"            \"2. Enter your order number",{"type":426,"tag":553,"props":128065,"children":128066},{"style":566},[128067],{"type":431,"value":1295},{"type":426,"tag":553,"props":128069,"children":128070},{"style":572},[128071],{"type":431,"value":1250},{"type":426,"tag":553,"props":128073,"children":128074},{"class":555,"line":1882},[128075],{"type":426,"tag":553,"props":128076,"children":128077},{"style":572},[128078],{"type":431,"value":128079},"            \"Or reply with your *order number* and I'll look it up for you.\"\n",{"type":426,"tag":553,"props":128081,"children":128082},{"class":555,"line":1981},[128083],{"type":426,"tag":553,"props":128084,"children":128085},{"style":684},[128086],{"type":431,"value":6037},{"type":426,"tag":553,"props":128088,"children":128089},{"class":555,"line":1989},[128090],{"type":426,"tag":553,"props":128091,"children":128092},{"style":684},[128093],{"type":431,"value":917},{"type":426,"tag":553,"props":128095,"children":128096},{"class":555,"line":2013},[128097,128101,128106,128110,128114,128118,128122,128126,128131],{"type":426,"tag":553,"props":128098,"children":128099},{"style":795},[128100],{"type":431,"value":1060},{"type":426,"tag":553,"props":128102,"children":128103},{"style":572},[128104],{"type":431,"value":128105}," \"return\"",{"type":426,"tag":553,"props":128107,"children":128108},{"style":795},[128109],{"type":431,"value":54104},{"type":426,"tag":553,"props":128111,"children":128112},{"style":684},[128113],{"type":431,"value":127761},{"type":426,"tag":553,"props":128115,"children":128116},{"style":795},[128117],{"type":431,"value":13816},{"type":426,"tag":553,"props":128119,"children":128120},{"style":684},[128121],{"type":431,"value":127761},{"type":426,"tag":553,"props":128123,"children":128124},{"style":795},[128125],{"type":431,"value":1069},{"type":426,"tag":553,"props":128127,"children":128128},{"style":572},[128129],{"type":431,"value":128130}," \"2\"",{"type":426,"tag":553,"props":128132,"children":128133},{"style":684},[128134],{"type":431,"value":909},{"type":426,"tag":553,"props":128136,"children":128137},{"class":555,"line":2055},[128138,128142,128146],{"type":426,"tag":553,"props":128139,"children":128140},{"style":684},[128141],{"type":431,"value":29537},{"type":426,"tag":553,"props":128143,"children":128144},{"style":795},[128145],{"type":431,"value":957},{"type":426,"tag":553,"props":128147,"children":128148},{"style":684},[128149],{"type":431,"value":1207},{"type":426,"tag":553,"props":128151,"children":128152},{"class":555,"line":2064},[128153,128158,128162],{"type":426,"tag":553,"props":128154,"children":128155},{"style":572},[128156],{"type":431,"value":128157},"            \"To start a return:",{"type":426,"tag":553,"props":128159,"children":128160},{"style":566},[128161],{"type":431,"value":1295},{"type":426,"tag":553,"props":128163,"children":128164},{"style":572},[128165],{"type":431,"value":1250},{"type":426,"tag":553,"props":128167,"children":128168},{"class":555,"line":2087},[128169,128174,128178],{"type":426,"tag":553,"props":128170,"children":128171},{"style":572},[128172],{"type":431,"value":128173},"            \"• Orders within 30 days are eligible for free returns",{"type":426,"tag":553,"props":128175,"children":128176},{"style":566},[128177],{"type":431,"value":3661},{"type":426,"tag":553,"props":128179,"children":128180},{"style":572},[128181],{"type":431,"value":1250},{"type":426,"tag":553,"props":128183,"children":128184},{"class":555,"line":2096},[128185,128190,128194],{"type":426,"tag":553,"props":128186,"children":128187},{"style":572},[128188],{"type":431,"value":128189},"            \"• Start here: https:\u002F\u002Fstore.com\u002Freturns",{"type":426,"tag":553,"props":128191,"children":128192},{"style":566},[128193],{"type":431,"value":1295},{"type":426,"tag":553,"props":128195,"children":128196},{"style":572},[128197],{"type":431,"value":1250},{"type":426,"tag":553,"props":128199,"children":128200},{"class":555,"line":2105},[128201],{"type":426,"tag":553,"props":128202,"children":128203},{"style":572},[128204],{"type":431,"value":128205},"            \"Need help? Reply *HUMAN* to speak with our team.\"\n",{"type":426,"tag":553,"props":128207,"children":128208},{"class":555,"line":2114},[128209],{"type":426,"tag":553,"props":128210,"children":128211},{"style":684},[128212],{"type":431,"value":6037},{"type":426,"tag":553,"props":128214,"children":128215},{"class":555,"line":2123},[128216],{"type":426,"tag":553,"props":128217,"children":128218},{"style":684},[128219],{"type":431,"value":917},{"type":426,"tag":553,"props":128221,"children":128222},{"class":555,"line":2132},[128223,128227,128232,128236,128240,128244,128249,128253,128257,128261,128265,128269,128274],{"type":426,"tag":553,"props":128224,"children":128225},{"style":795},[128226],{"type":431,"value":1060},{"type":426,"tag":553,"props":128228,"children":128229},{"style":572},[128230],{"type":431,"value":128231}," \"price\"",{"type":426,"tag":553,"props":128233,"children":128234},{"style":795},[128235],{"type":431,"value":54104},{"type":426,"tag":553,"props":128237,"children":128238},{"style":684},[128239],{"type":431,"value":127761},{"type":426,"tag":553,"props":128241,"children":128242},{"style":795},[128243],{"type":431,"value":13816},{"type":426,"tag":553,"props":128245,"children":128246},{"style":572},[128247],{"type":431,"value":128248}," \"cost\"",{"type":426,"tag":553,"props":128250,"children":128251},{"style":795},[128252],{"type":431,"value":54104},{"type":426,"tag":553,"props":128254,"children":128255},{"style":684},[128256],{"type":431,"value":127761},{"type":426,"tag":553,"props":128258,"children":128259},{"style":795},[128260],{"type":431,"value":13816},{"type":426,"tag":553,"props":128262,"children":128263},{"style":684},[128264],{"type":431,"value":127761},{"type":426,"tag":553,"props":128266,"children":128267},{"style":795},[128268],{"type":431,"value":1069},{"type":426,"tag":553,"props":128270,"children":128271},{"style":572},[128272],{"type":431,"value":128273}," \"3\"",{"type":426,"tag":553,"props":128275,"children":128276},{"style":684},[128277],{"type":431,"value":909},{"type":426,"tag":553,"props":128279,"children":128280},{"class":555,"line":2151},[128281,128285,128289],{"type":426,"tag":553,"props":128282,"children":128283},{"style":684},[128284],{"type":431,"value":29537},{"type":426,"tag":553,"props":128286,"children":128287},{"style":795},[128288],{"type":431,"value":957},{"type":426,"tag":553,"props":128290,"children":128291},{"style":684},[128292],{"type":431,"value":1207},{"type":426,"tag":553,"props":128294,"children":128295},{"class":555,"line":2160},[128296,128301,128305],{"type":426,"tag":553,"props":128297,"children":128298},{"style":572},[128299],{"type":431,"value":128300},"            \"*Our Pricing:*",{"type":426,"tag":553,"props":128302,"children":128303},{"style":566},[128304],{"type":431,"value":1295},{"type":426,"tag":553,"props":128306,"children":128307},{"style":572},[128308],{"type":431,"value":1250},{"type":426,"tag":553,"props":128310,"children":128311},{"class":555,"line":2174},[128312,128317,128321],{"type":426,"tag":553,"props":128313,"children":128314},{"style":572},[128315],{"type":431,"value":128316},"            \"• Starter: $29\u002Fmonth",{"type":426,"tag":553,"props":128318,"children":128319},{"style":566},[128320],{"type":431,"value":3661},{"type":426,"tag":553,"props":128322,"children":128323},{"style":572},[128324],{"type":431,"value":1250},{"type":426,"tag":553,"props":128326,"children":128327},{"class":555,"line":2182},[128328,128333,128337],{"type":426,"tag":553,"props":128329,"children":128330},{"style":572},[128331],{"type":431,"value":128332},"            \"• Professional: $79\u002Fmonth",{"type":426,"tag":553,"props":128334,"children":128335},{"style":566},[128336],{"type":431,"value":3661},{"type":426,"tag":553,"props":128338,"children":128339},{"style":572},[128340],{"type":431,"value":1250},{"type":426,"tag":553,"props":128342,"children":128343},{"class":555,"line":2205},[128344,128349,128353],{"type":426,"tag":553,"props":128345,"children":128346},{"style":572},[128347],{"type":431,"value":128348},"            \"• Enterprise: Custom",{"type":426,"tag":553,"props":128350,"children":128351},{"style":566},[128352],{"type":431,"value":1295},{"type":426,"tag":553,"props":128354,"children":128355},{"style":572},[128356],{"type":431,"value":1250},{"type":426,"tag":553,"props":128358,"children":128359},{"class":555,"line":2241},[128360],{"type":426,"tag":553,"props":128361,"children":128362},{"style":572},[128363],{"type":431,"value":128364},"            \"View all features: https:\u002F\u002Fstore.com\u002Fpricing\"\n",{"type":426,"tag":553,"props":128366,"children":128367},{"class":555,"line":2250},[128368],{"type":426,"tag":553,"props":128369,"children":128370},{"style":684},[128371],{"type":431,"value":6037},{"type":426,"tag":553,"props":128373,"children":128374},{"class":555,"line":2302},[128375],{"type":426,"tag":553,"props":128376,"children":128377},{"style":684},[128378],{"type":431,"value":917},{"type":426,"tag":553,"props":128380,"children":128381},{"class":555,"line":2353},[128382,128386,128391,128395,128399,128403,128408,128412,128416,128420,128424,128428,128433],{"type":426,"tag":553,"props":128383,"children":128384},{"style":795},[128385],{"type":431,"value":1060},{"type":426,"tag":553,"props":128387,"children":128388},{"style":572},[128389],{"type":431,"value":128390}," \"human\"",{"type":426,"tag":553,"props":128392,"children":128393},{"style":795},[128394],{"type":431,"value":54104},{"type":426,"tag":553,"props":128396,"children":128397},{"style":684},[128398],{"type":431,"value":127761},{"type":426,"tag":553,"props":128400,"children":128401},{"style":795},[128402],{"type":431,"value":13816},{"type":426,"tag":553,"props":128404,"children":128405},{"style":572},[128406],{"type":431,"value":128407}," \"agent\"",{"type":426,"tag":553,"props":128409,"children":128410},{"style":795},[128411],{"type":431,"value":54104},{"type":426,"tag":553,"props":128413,"children":128414},{"style":684},[128415],{"type":431,"value":127761},{"type":426,"tag":553,"props":128417,"children":128418},{"style":795},[128419],{"type":431,"value":13816},{"type":426,"tag":553,"props":128421,"children":128422},{"style":684},[128423],{"type":431,"value":127761},{"type":426,"tag":553,"props":128425,"children":128426},{"style":795},[128427],{"type":431,"value":1069},{"type":426,"tag":553,"props":128429,"children":128430},{"style":572},[128431],{"type":431,"value":128432}," \"4\"",{"type":426,"tag":553,"props":128434,"children":128435},{"style":684},[128436],{"type":431,"value":909},{"type":426,"tag":553,"props":128438,"children":128439},{"class":555,"line":2390},[128440,128444,128448],{"type":426,"tag":553,"props":128441,"children":128442},{"style":684},[128443],{"type":431,"value":29537},{"type":426,"tag":553,"props":128445,"children":128446},{"style":795},[128447],{"type":431,"value":957},{"type":426,"tag":553,"props":128449,"children":128450},{"style":572},[128451],{"type":431,"value":128452}," \"Connecting you to our support team now. Please wait 2–3 minutes.\"\n",{"type":426,"tag":553,"props":128454,"children":128455},{"class":555,"line":2440},[128456],{"type":426,"tag":553,"props":128457,"children":128458},{"style":1975},[128459],{"type":431,"value":128460},"        # In production: notify your team via email, Slack, or CRM\n",{"type":426,"tag":553,"props":128462,"children":128463},{"class":555,"line":2488},[128464],{"type":426,"tag":553,"props":128465,"children":128466},{"style":684},[128467],{"type":431,"value":917},{"type":426,"tag":553,"props":128469,"children":128470},{"class":555,"line":2509},[128471,128475],{"type":426,"tag":553,"props":128472,"children":128473},{"style":795},[128474],{"type":431,"value":1120},{"type":426,"tag":553,"props":128476,"children":128477},{"style":684},[128478],{"type":431,"value":909},{"type":426,"tag":553,"props":128480,"children":128481},{"class":555,"line":2527},[128482,128486,128490],{"type":426,"tag":553,"props":128483,"children":128484},{"style":684},[128485],{"type":431,"value":29537},{"type":426,"tag":553,"props":128487,"children":128488},{"style":795},[128489],{"type":431,"value":957},{"type":426,"tag":553,"props":128491,"children":128492},{"style":684},[128493],{"type":431,"value":1207},{"type":426,"tag":553,"props":128495,"children":128496},{"class":555,"line":2545},[128497,128501,128506,128511,128515,128520,128524,128528],{"type":426,"tag":553,"props":128498,"children":128499},{"style":795},[128500],{"type":431,"value":3740},{"type":426,"tag":553,"props":128502,"children":128503},{"style":572},[128504],{"type":431,"value":128505},"\"I received your message: *",{"type":426,"tag":553,"props":128507,"children":128508},{"style":566},[128509],{"type":431,"value":128510},"\\\"{",{"type":426,"tag":553,"props":128512,"children":128513},{"style":684},[128514],{"type":431,"value":431},{"type":426,"tag":553,"props":128516,"children":128517},{"style":566},[128518],{"type":431,"value":128519},"}\\\"",{"type":426,"tag":553,"props":128521,"children":128522},{"style":572},[128523],{"type":431,"value":5801},{"type":426,"tag":553,"props":128525,"children":128526},{"style":566},[128527],{"type":431,"value":1295},{"type":426,"tag":553,"props":128529,"children":128530},{"style":572},[128531],{"type":431,"value":1250},{"type":426,"tag":553,"props":128533,"children":128534},{"class":555,"line":12991},[128535],{"type":426,"tag":553,"props":128536,"children":128537},{"style":572},[128538],{"type":431,"value":128539},"            \"I'm not sure how to help with that. \"\n",{"type":426,"tag":553,"props":128541,"children":128542},{"class":555,"line":13004},[128543],{"type":426,"tag":553,"props":128544,"children":128545},{"style":572},[128546],{"type":431,"value":128547},"            \"Reply *MENU* to see what I can do, or *HUMAN* to speak with a person.\"\n",{"type":426,"tag":553,"props":128549,"children":128550},{"class":555,"line":13012},[128551],{"type":426,"tag":553,"props":128552,"children":128553},{"style":684},[128554],{"type":431,"value":6037},{"type":426,"tag":553,"props":128556,"children":128557},{"class":555,"line":13025},[128558],{"type":426,"tag":553,"props":128559,"children":128560},{"style":684},[128561],{"type":431,"value":917},{"type":426,"tag":553,"props":128563,"children":128564},{"class":555,"line":13033},[128565],{"type":426,"tag":553,"props":128566,"children":128567},{"style":684},[128568],{"type":431,"value":30228},{"type":426,"tag":553,"props":128570,"children":128571},{"class":555,"line":13069},[128572],{"type":426,"tag":553,"props":128573,"children":128574},{"emptyLinePlaceholder":831},[128575],{"type":431,"value":834},{"type":426,"tag":553,"props":128577,"children":128578},{"class":555,"line":13089},[128579,128583,128587,128592,128596,128600,128604,128608,128612],{"type":426,"tag":553,"props":128580,"children":128581},{"style":560},[128582],{"type":431,"value":8024},{"type":426,"tag":553,"props":128584,"children":128585},{"style":684},[128586],{"type":431,"value":3275},{"type":426,"tag":553,"props":128588,"children":128589},{"style":572},[128590],{"type":431,"value":128591},"\"\u002Fwebhook\u002Fwhatsapp\"",{"type":426,"tag":553,"props":128593,"children":128594},{"style":684},[128595],{"type":431,"value":1907},{"type":426,"tag":553,"props":128597,"children":128598},{"style":1684},[128599],{"type":431,"value":8042},{"type":426,"tag":553,"props":128601,"children":128602},{"style":795},[128603],{"type":431,"value":957},{"type":426,"tag":553,"props":128605,"children":128606},{"style":684},[128607],{"type":431,"value":8051},{"type":426,"tag":553,"props":128609,"children":128610},{"style":572},[128611],{"type":431,"value":60428},{"type":426,"tag":553,"props":128613,"children":128614},{"style":684},[128615],{"type":431,"value":8061},{"type":426,"tag":553,"props":128617,"children":128618},{"class":555,"line":13102},[128619,128623,128628],{"type":426,"tag":553,"props":128620,"children":128621},{"style":795},[128622],{"type":431,"value":842},{"type":426,"tag":553,"props":128624,"children":128625},{"style":560},[128626],{"type":431,"value":128627}," whatsapp_webhook",{"type":426,"tag":553,"props":128629,"children":128630},{"style":684},[128631],{"type":431,"value":6433},{"type":426,"tag":553,"props":128633,"children":128634},{"class":555,"line":13111},[128635,128639,128643],{"type":426,"tag":553,"props":128636,"children":128637},{"style":684},[128638],{"type":431,"value":13733},{"type":426,"tag":553,"props":128640,"children":128641},{"style":795},[128642],{"type":431,"value":957},{"type":426,"tag":553,"props":128644,"children":128645},{"style":684},[128646],{"type":431,"value":98209},{"type":426,"tag":553,"props":128648,"children":128649},{"class":555,"line":13120},[128650],{"type":426,"tag":553,"props":128651,"children":128652},{"style":684},[128653],{"type":431,"value":917},{"type":426,"tag":553,"props":128655,"children":128656},{"class":555,"line":13129},[128657],{"type":426,"tag":553,"props":128658,"children":128659},{"style":1975},[128660],{"type":431,"value":128661},"    # Always respond 200 immediately\n",{"type":426,"tag":553,"props":128663,"children":128664},{"class":555,"line":13174},[128665,128669,128673,128677,128681,128685,128690],{"type":426,"tag":553,"props":128666,"children":128667},{"style":684},[128668],{"type":431,"value":8117},{"type":426,"tag":553,"props":128670,"children":128671},{"style":795},[128672],{"type":431,"value":957},{"type":426,"tag":553,"props":128674,"children":128675},{"style":684},[128676],{"type":431,"value":8126},{"type":426,"tag":553,"props":128678,"children":128679},{"style":572},[128680],{"type":431,"value":68957},{"type":426,"tag":553,"props":128682,"children":128683},{"style":684},[128684],{"type":431,"value":700},{"type":426,"tag":553,"props":128686,"children":128687},{"style":572},[128688],{"type":431,"value":128689},"\"ok\"",{"type":426,"tag":553,"props":128691,"children":128692},{"style":684},[128693],{"type":431,"value":8144},{"type":426,"tag":553,"props":128695,"children":128696},{"class":555,"line":13205},[128697],{"type":426,"tag":553,"props":128698,"children":128699},{"style":684},[128700],{"type":431,"value":917},{"type":426,"tag":553,"props":128702,"children":128703},{"class":555,"line":13218},[128704,128708,128712,128716,128720,128724,128728],{"type":426,"tag":553,"props":128705,"children":128706},{"style":795},[128707],{"type":431,"value":925},{"type":426,"tag":553,"props":128709,"children":128710},{"style":684},[128711],{"type":431,"value":8311},{"type":426,"tag":553,"props":128713,"children":128714},{"style":572},[128715],{"type":431,"value":76366},{"type":426,"tag":553,"props":128717,"children":128718},{"style":684},[128719],{"type":431,"value":2987},{"type":426,"tag":553,"props":128721,"children":128722},{"style":795},[128723],{"type":431,"value":1069},{"type":426,"tag":553,"props":128725,"children":128726},{"style":572},[128727],{"type":431,"value":75756},{"type":426,"tag":553,"props":128729,"children":128730},{"style":684},[128731],{"type":431,"value":909},{"type":426,"tag":553,"props":128733,"children":128734},{"class":555,"line":20616},[128735,128740,128744,128748,128752],{"type":426,"tag":553,"props":128736,"children":128737},{"style":684},[128738],{"type":431,"value":128739},"        phone ",{"type":426,"tag":553,"props":128741,"children":128742},{"style":795},[128743],{"type":431,"value":957},{"type":426,"tag":553,"props":128745,"children":128746},{"style":684},[128747],{"type":431,"value":20293},{"type":426,"tag":553,"props":128749,"children":128750},{"style":572},[128751],{"type":431,"value":76544},{"type":426,"tag":553,"props":128753,"children":128754},{"style":684},[128755],{"type":431,"value":16523},{"type":426,"tag":553,"props":128757,"children":128758},{"class":555,"line":20637},[128759,128764,128768,128772,128777,128781,128786],{"type":426,"tag":553,"props":128760,"children":128761},{"style":684},[128762],{"type":431,"value":128763},"        name  ",{"type":426,"tag":553,"props":128765,"children":128766},{"style":795},[128767],{"type":431,"value":957},{"type":426,"tag":553,"props":128769,"children":128770},{"style":684},[128771],{"type":431,"value":8311},{"type":426,"tag":553,"props":128773,"children":128774},{"style":572},[128775],{"type":431,"value":128776},"\"fromName\"",{"type":426,"tag":553,"props":128778,"children":128779},{"style":684},[128780],{"type":431,"value":1907},{"type":426,"tag":553,"props":128782,"children":128783},{"style":572},[128784],{"type":431,"value":128785},"\"there\"",{"type":426,"tag":553,"props":128787,"children":128788},{"style":684},[128789],{"type":431,"value":3262},{"type":426,"tag":553,"props":128791,"children":128792},{"class":555,"line":20650},[128793,128798,128802,128806,128810,128814,128819],{"type":426,"tag":553,"props":128794,"children":128795},{"style":684},[128796],{"type":431,"value":128797},"        text  ",{"type":426,"tag":553,"props":128799,"children":128800},{"style":795},[128801],{"type":431,"value":957},{"type":426,"tag":553,"props":128803,"children":128804},{"style":684},[128805],{"type":431,"value":8311},{"type":426,"tag":553,"props":128807,"children":128808},{"style":572},[128809],{"type":431,"value":45275},{"type":426,"tag":553,"props":128811,"children":128812},{"style":684},[128813],{"type":431,"value":1907},{"type":426,"tag":553,"props":128815,"children":128816},{"style":572},[128817],{"type":431,"value":128818},"\"\"",{"type":426,"tag":553,"props":128820,"children":128821},{"style":684},[128822],{"type":431,"value":3262},{"type":426,"tag":553,"props":128824,"children":128825},{"class":555,"line":20658},[128826],{"type":426,"tag":553,"props":128827,"children":128828},{"style":684},[128829],{"type":431,"value":2061},{"type":426,"tag":553,"props":128831,"children":128832},{"class":555,"line":20666},[128833],{"type":426,"tag":553,"props":128834,"children":128835},{"style":1975},[128836],{"type":431,"value":128837},"        # Don't process empty messages or messages from yourself\n",{"type":426,"tag":553,"props":128839,"children":128840},{"class":555,"line":20675},[128841,128845],{"type":426,"tag":553,"props":128842,"children":128843},{"style":795},[128844],{"type":431,"value":2972},{"type":426,"tag":553,"props":128846,"children":128847},{"style":684},[128848],{"type":431,"value":65510},{"type":426,"tag":553,"props":128850,"children":128851},{"class":555,"line":20684},[128852],{"type":426,"tag":553,"props":128853,"children":128854},{"style":684},[128855],{"type":431,"value":128856},"            process_message(phone, name, text)\n",{"type":426,"tag":553,"props":128858,"children":128859},{"class":555,"line":20692},[128860],{"type":426,"tag":553,"props":128861,"children":128862},{"style":684},[128863],{"type":431,"value":917},{"type":426,"tag":553,"props":128865,"children":128866},{"class":555,"line":20720},[128867,128871,128875],{"type":426,"tag":553,"props":128868,"children":128869},{"style":795},[128870],{"type":431,"value":1659},{"type":426,"tag":553,"props":128872,"children":128873},{"style":684},[128874],{"type":431,"value":8229},{"type":426,"tag":553,"props":128876,"children":128877},{"style":566},[128878],{"type":431,"value":8234},{"type":426,"tag":553,"props":128880,"children":128881},{"class":555,"line":20728},[128882],{"type":426,"tag":553,"props":128883,"children":128884},{"emptyLinePlaceholder":831},[128885],{"type":431,"value":834},{"type":426,"tag":553,"props":128887,"children":128888},{"class":555,"line":20736},[128889,128893,128897,128901,128905],{"type":426,"tag":553,"props":128890,"children":128891},{"style":795},[128892],{"type":431,"value":7510},{"type":426,"tag":553,"props":128894,"children":128895},{"style":566},[128896],{"type":431,"value":51734},{"type":426,"tag":553,"props":128898,"children":128899},{"style":795},[128900],{"type":431,"value":51739},{"type":426,"tag":553,"props":128902,"children":128903},{"style":572},[128904],{"type":431,"value":58919},{"type":426,"tag":553,"props":128906,"children":128907},{"style":684},[128908],{"type":431,"value":909},{"type":426,"tag":553,"props":128910,"children":128911},{"class":555,"line":20777},[128912,128916,128920,128924,128928],{"type":426,"tag":553,"props":128913,"children":128914},{"style":684},[128915],{"type":431,"value":65922},{"type":426,"tag":553,"props":128917,"children":128918},{"style":1684},[128919],{"type":431,"value":65945},{"type":426,"tag":553,"props":128921,"children":128922},{"style":795},[128923],{"type":431,"value":957},{"type":426,"tag":553,"props":128925,"children":128926},{"style":566},[128927],{"type":431,"value":27258},{"type":426,"tag":553,"props":128929,"children":128930},{"style":684},[128931],{"type":431,"value":3262},{"type":426,"tag":542,"props":128933,"children":128935},{"code":128934,"language":545,"meta":417,"className":546,"style":417},"pip install flask requests\npython chatbot.py\n",[128936],{"type":426,"tag":549,"props":128937,"children":128938},{"__ignoreMap":417},[128939,128958],{"type":426,"tag":553,"props":128940,"children":128941},{"class":555,"line":556},[128942,128946,128950,128954],{"type":426,"tag":553,"props":128943,"children":128944},{"style":560},[128945],{"type":431,"value":48871},{"type":426,"tag":553,"props":128947,"children":128948},{"style":572},[128949],{"type":431,"value":48876},{"type":426,"tag":553,"props":128951,"children":128952},{"style":572},[128953],{"type":431,"value":63070},{"type":426,"tag":553,"props":128955,"children":128956},{"style":572},[128957],{"type":431,"value":803},{"type":426,"tag":553,"props":128959,"children":128960},{"class":555,"line":588},[128961,128965],{"type":426,"tag":553,"props":128962,"children":128963},{"style":560},[128964],{"type":431,"value":784},{"type":426,"tag":553,"props":128966,"children":128967},{"style":572},[128968],{"type":431,"value":128969}," chatbot.py\n",{"type":426,"tag":515,"props":128971,"children":128973},{"id":128972},"step-2-expose-your-server-with-ngrok-local-dev",[128974],{"type":431,"value":128975},"Step 2: Expose Your Server with ngrok (Local Dev)",{"type":426,"tag":542,"props":128977,"children":128979},{"code":128978,"language":545,"meta":417,"className":546,"style":417},"ngrok http 5000\n# Output: https:\u002F\u002Fabc123.ngrok.io → http:\u002F\u002Flocalhost:5000\n",[128980],{"type":426,"tag":549,"props":128981,"children":128982},{"__ignoreMap":417},[128983,128999],{"type":426,"tag":553,"props":128984,"children":128985},{"class":555,"line":556},[128986,128990,128994],{"type":426,"tag":553,"props":128987,"children":128988},{"style":560},[128989],{"type":431,"value":85825},{"type":426,"tag":553,"props":128991,"children":128992},{"style":572},[128993],{"type":431,"value":85830},{"type":426,"tag":553,"props":128995,"children":128996},{"style":566},[128997],{"type":431,"value":128998}," 5000\n",{"type":426,"tag":553,"props":129000,"children":129001},{"class":555,"line":588},[129002],{"type":426,"tag":553,"props":129003,"children":129004},{"style":1975},[129005],{"type":431,"value":129006},"# Output: https:\u002F\u002Fabc123.ngrok.io → http:\u002F\u002Flocalhost:5000\n",{"type":426,"tag":427,"props":129008,"children":129009},{},[129010,129012],{"type":431,"value":129011},"Webhook URL: ",{"type":426,"tag":549,"props":129013,"children":129015},{"className":129014},[],[129016],{"type":431,"value":129017},"https:\u002F\u002Fabc123.ngrok.io\u002Fwebhook\u002Fwhatsapp",{"type":426,"tag":515,"props":129019,"children":129020},{"id":65978},[129021],{"type":431,"value":65981},{"type":426,"tag":6331,"props":129023,"children":129024},{},[129025,129030,129040],{"type":426,"tag":458,"props":129026,"children":129027},{},[129028],{"type":431,"value":129029},"Rapiwa Dashboard → Webhooks → Add Webhook",{"type":426,"tag":458,"props":129031,"children":129032},{},[129033,129035],{"type":431,"value":129034},"Enter: ",{"type":426,"tag":549,"props":129036,"children":129038},{"className":129037},[],[129039],{"type":431,"value":129017},{"type":426,"tag":458,"props":129041,"children":129042},{},[129043],{"type":431,"value":66022},{"type":426,"tag":427,"props":129045,"children":129046},{},[129047],{"type":431,"value":129048},"Now send \"Hello\" to your WhatsApp number — the bot will reply with the menu.",{"type":426,"tag":434,"props":129050,"children":129052},{"id":129051},"part-2-multi-turn-conversation-state-management",[129053],{"type":431,"value":129054},"Part 2: Multi-Turn Conversation (State Management)",{"type":426,"tag":427,"props":129056,"children":129057},{},[129058],{"type":431,"value":129059},"Track conversation state for multi-step flows:",{"type":426,"tag":542,"props":129061,"children":129063},{"code":129062,"language":784,"meta":417,"className":785,"style":417},"from flask import Flask, request, jsonify\nimport requests\nimport os\n\napp = Flask(__name__)\nRAPIWA_KEY = os.getenv(\"RAPIWA_API_KEY\")\n\n# In-memory state storage (use Redis in production)\nconversation_state = {}\n\ndef send(phone, message):\n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {RAPIWA_KEY}\"},\n        json={\"number\": phone, \"message\": message}\n    )\n\ndef handle_conversation(phone, name, text):\n    state = conversation_state.get(phone, {\"step\": \"main\"})\n    text_lower = text.lower().strip()\n    \n    if state[\"step\"] == \"main\":\n        if \"return\" in text_lower:\n            conversation_state[phone] = {\"step\": \"return_order_number\"}\n            send(phone, \"To start your return, please reply with your *order number*:\")\n        else:\n            send(phone, f\"Hi {name}! Reply *RETURN* to start a return or *HELP* for support.\")\n    \n    elif state[\"step\"] == \"return_order_number\":\n        # Customer provided order number\n        order_num = text.strip()\n        conversation_state[phone] = {\"step\": \"return_confirm\", \"order\": order_num}\n        send(phone, \n            f\"Found order *#{order_num}*.\\n\\n\"\n            \"Please describe the reason for your return:\"\n        )\n    \n    elif state[\"step\"] == \"return_confirm\":\n        # Customer provided return reason\n        reason = text.strip()\n        order = state.get(\"order\", \"unknown\")\n        conversation_state[phone] = {\"step\": \"main\"}  # Reset state\n        \n        # In production: log to database, email support team\n        send(phone,\n            f\"*Return Request Submitted* ✅\\n\\n\"\n            f\"Order: #{order}\\n\"\n            f\"Reason: {reason}\\n\\n\"\n            \"Our team will process this within 24 hours. \"\n            \"You'll receive a return label via email.\"\n        )\n\n@app.route(\"\u002Fwebhook\u002Fwhatsapp\", methods=[\"POST\"])\ndef webhook():\n    data = request.json\n    if data.get(\"event\") == \"message.received\":\n        handle_conversation(data[\"from\"], data.get(\"fromName\", \"\"), data.get(\"message\", \"\"))\n    return jsonify({\"status\": \"ok\"}), 200\n",[129064],{"type":426,"tag":549,"props":129065,"children":129066},{"__ignoreMap":417},[129067,129086,129097,129108,129115,129138,129161,129168,129176,129192,129199,129215,129231,129274,129305,129312,129319,129336,129371,129386,129393,129426,129446,129479,129496,129507,129543,129550,129582,129590,129607,129650,129658,129696,129704,129711,129718,129750,129758,129774,129808,129845,129852,129860,129868,129888,129916,129945,129953,129961,129968,129975,130014,130030,130045,130076,130126],{"type":426,"tag":553,"props":129068,"children":129069},{"class":555,"line":556},[129070,129074,129078,129082],{"type":426,"tag":553,"props":129071,"children":129072},{"style":795},[129073],{"type":431,"value":811},{"type":426,"tag":553,"props":129075,"children":129076},{"style":684},[129077],{"type":431,"value":13265},{"type":426,"tag":553,"props":129079,"children":129080},{"style":795},[129081],{"type":431,"value":798},{"type":426,"tag":553,"props":129083,"children":129084},{"style":684},[129085],{"type":431,"value":19220},{"type":426,"tag":553,"props":129087,"children":129088},{"class":555,"line":588},[129089,129093],{"type":426,"tag":553,"props":129090,"children":129091},{"style":795},[129092],{"type":431,"value":798},{"type":426,"tag":553,"props":129094,"children":129095},{"style":684},[129096],{"type":431,"value":803},{"type":426,"tag":553,"props":129098,"children":129099},{"class":555,"line":606},[129100,129104],{"type":426,"tag":553,"props":129101,"children":129102},{"style":795},[129103],{"type":431,"value":798},{"type":426,"tag":553,"props":129105,"children":129106},{"style":684},[129107],{"type":431,"value":19255},{"type":426,"tag":553,"props":129109,"children":129110},{"class":555,"line":623},[129111],{"type":426,"tag":553,"props":129112,"children":129113},{"emptyLinePlaceholder":831},[129114],{"type":431,"value":834},{"type":426,"tag":553,"props":129116,"children":129117},{"class":555,"line":637},[129118,129122,129126,129130,129134],{"type":426,"tag":553,"props":129119,"children":129120},{"style":684},[129121],{"type":431,"value":13301},{"type":426,"tag":553,"props":129123,"children":129124},{"style":795},[129125],{"type":431,"value":957},{"type":426,"tag":553,"props":129127,"children":129128},{"style":684},[129129],{"type":431,"value":13310},{"type":426,"tag":553,"props":129131,"children":129132},{"style":566},[129133],{"type":431,"value":13315},{"type":426,"tag":553,"props":129135,"children":129136},{"style":684},[129137],{"type":431,"value":3262},{"type":426,"tag":553,"props":129139,"children":129140},{"class":555,"line":646},[129141,129145,129149,129153,129157],{"type":426,"tag":553,"props":129142,"children":129143},{"style":566},[129144],{"type":431,"value":127499},{"type":426,"tag":553,"props":129146,"children":129147},{"style":795},[129148],{"type":431,"value":8739},{"type":426,"tag":553,"props":129150,"children":129151},{"style":684},[129152],{"type":431,"value":127508},{"type":426,"tag":553,"props":129154,"children":129155},{"style":572},[129156],{"type":431,"value":127513},{"type":426,"tag":553,"props":129158,"children":129159},{"style":684},[129160],{"type":431,"value":3262},{"type":426,"tag":553,"props":129162,"children":129163},{"class":555,"line":655},[129164],{"type":426,"tag":553,"props":129165,"children":129166},{"emptyLinePlaceholder":831},[129167],{"type":431,"value":834},{"type":426,"tag":553,"props":129169,"children":129170},{"class":555,"line":1036},[129171],{"type":426,"tag":553,"props":129172,"children":129173},{"style":1975},[129174],{"type":431,"value":129175},"# In-memory state storage (use Redis in production)\n",{"type":426,"tag":553,"props":129177,"children":129178},{"class":555,"line":1054},[129179,129184,129188],{"type":426,"tag":553,"props":129180,"children":129181},{"style":684},[129182],{"type":431,"value":129183},"conversation_state ",{"type":426,"tag":553,"props":129185,"children":129186},{"style":795},[129187],{"type":431,"value":957},{"type":426,"tag":553,"props":129189,"children":129190},{"style":684},[129191],{"type":431,"value":32579},{"type":426,"tag":553,"props":129193,"children":129194},{"class":555,"line":1080},[129195],{"type":426,"tag":553,"props":129196,"children":129197},{"emptyLinePlaceholder":831},[129198],{"type":431,"value":834},{"type":426,"tag":553,"props":129200,"children":129201},{"class":555,"line":1097},[129202,129206,129210],{"type":426,"tag":553,"props":129203,"children":129204},{"style":795},[129205],{"type":431,"value":842},{"type":426,"tag":553,"props":129207,"children":129208},{"style":560},[129209],{"type":431,"value":93356},{"type":426,"tag":553,"props":129211,"children":129212},{"style":684},[129213],{"type":431,"value":129214},"(phone, message):\n",{"type":426,"tag":553,"props":129216,"children":129217},{"class":555,"line":1114},[129218,129223,129227],{"type":426,"tag":553,"props":129219,"children":129220},{"style":684},[129221],{"type":431,"value":129222},"    requests.post(",{"type":426,"tag":553,"props":129224,"children":129225},{"style":572},[129226],{"type":431,"value":60449},{"type":426,"tag":553,"props":129228,"children":129229},{"style":684},[129230],{"type":431,"value":710},{"type":426,"tag":553,"props":129232,"children":129233},{"class":555,"line":1127},[129234,129238,129242,129246,129250,129254,129258,129262,129266,129270],{"type":426,"tag":553,"props":129235,"children":129236},{"style":1684},[129237],{"type":431,"value":1687},{"type":426,"tag":553,"props":129239,"children":129240},{"style":795},[129241],{"type":431,"value":957},{"type":426,"tag":553,"props":129243,"children":129244},{"style":684},[129245],{"type":431,"value":972},{"type":426,"tag":553,"props":129247,"children":129248},{"style":572},[129249],{"type":431,"value":45214},{"type":426,"tag":553,"props":129251,"children":129252},{"style":684},[129253],{"type":431,"value":700},{"type":426,"tag":553,"props":129255,"children":129256},{"style":795},[129257],{"type":431,"value":1709},{"type":426,"tag":553,"props":129259,"children":129260},{"style":572},[129261],{"type":431,"value":12608},{"type":426,"tag":553,"props":129263,"children":129264},{"style":566},[129265],{"type":431,"value":127617},{"type":426,"tag":553,"props":129267,"children":129268},{"style":572},[129269],{"type":431,"value":1527},{"type":426,"tag":553,"props":129271,"children":129272},{"style":684},[129273],{"type":431,"value":1737},{"type":426,"tag":553,"props":129275,"children":129276},{"class":555,"line":1167},[129277,129281,129285,129289,129293,129297,129301],{"type":426,"tag":553,"props":129278,"children":129279},{"style":1684},[129280],{"type":431,"value":1746},{"type":426,"tag":553,"props":129282,"children":129283},{"style":795},[129284],{"type":431,"value":957},{"type":426,"tag":553,"props":129286,"children":129287},{"style":684},[129288],{"type":431,"value":972},{"type":426,"tag":553,"props":129290,"children":129291},{"style":572},[129292],{"type":431,"value":45266},{"type":426,"tag":553,"props":129294,"children":129295},{"style":684},[129296],{"type":431,"value":8931},{"type":426,"tag":553,"props":129298,"children":129299},{"style":572},[129300],{"type":431,"value":45275},{"type":426,"tag":553,"props":129302,"children":129303},{"style":684},[129304],{"type":431,"value":1784},{"type":426,"tag":553,"props":129306,"children":129307},{"class":555,"line":1184},[129308],{"type":426,"tag":553,"props":129309,"children":129310},{"style":684},[129311],{"type":431,"value":1642},{"type":426,"tag":553,"props":129313,"children":129314},{"class":555,"line":1192},[129315],{"type":426,"tag":553,"props":129316,"children":129317},{"emptyLinePlaceholder":831},[129318],{"type":431,"value":834},{"type":426,"tag":553,"props":129320,"children":129321},{"class":555,"line":1210},[129322,129326,129331],{"type":426,"tag":553,"props":129323,"children":129324},{"style":795},[129325],{"type":431,"value":842},{"type":426,"tag":553,"props":129327,"children":129328},{"style":560},[129329],{"type":431,"value":129330}," handle_conversation",{"type":426,"tag":553,"props":129332,"children":129333},{"style":684},[129334],{"type":431,"value":129335},"(phone, name, text):\n",{"type":426,"tag":553,"props":129337,"children":129338},{"class":555,"line":1253},[129339,129344,129348,129353,129358,129362,129367],{"type":426,"tag":553,"props":129340,"children":129341},{"style":684},[129342],{"type":431,"value":129343},"    state ",{"type":426,"tag":553,"props":129345,"children":129346},{"style":795},[129347],{"type":431,"value":957},{"type":426,"tag":553,"props":129349,"children":129350},{"style":684},[129351],{"type":431,"value":129352}," conversation_state.get(phone, {",{"type":426,"tag":553,"props":129354,"children":129355},{"style":572},[129356],{"type":431,"value":129357},"\"step\"",{"type":426,"tag":553,"props":129359,"children":129360},{"style":684},[129361],{"type":431,"value":700},{"type":426,"tag":553,"props":129363,"children":129364},{"style":572},[129365],{"type":431,"value":129366},"\"main\"",{"type":426,"tag":553,"props":129368,"children":129369},{"style":684},[129370],{"type":431,"value":8144},{"type":426,"tag":553,"props":129372,"children":129373},{"class":555,"line":1302},[129374,129378,129382],{"type":426,"tag":553,"props":129375,"children":129376},{"style":684},[129377],{"type":431,"value":127725},{"type":426,"tag":553,"props":129379,"children":129380},{"style":795},[129381],{"type":431,"value":957},{"type":426,"tag":553,"props":129383,"children":129384},{"style":684},[129385],{"type":431,"value":127734},{"type":426,"tag":553,"props":129387,"children":129388},{"class":555,"line":1374},[129389],{"type":426,"tag":553,"props":129390,"children":129391},{"style":684},[129392],{"type":431,"value":917},{"type":426,"tag":553,"props":129394,"children":129395},{"class":555,"line":1414},[129396,129400,129405,129409,129413,129417,129422],{"type":426,"tag":553,"props":129397,"children":129398},{"style":795},[129399],{"type":431,"value":925},{"type":426,"tag":553,"props":129401,"children":129402},{"style":684},[129403],{"type":431,"value":129404}," state[",{"type":426,"tag":553,"props":129406,"children":129407},{"style":572},[129408],{"type":431,"value":129357},{"type":426,"tag":553,"props":129410,"children":129411},{"style":684},[129412],{"type":431,"value":2229},{"type":426,"tag":553,"props":129414,"children":129415},{"style":795},[129416],{"type":431,"value":1069},{"type":426,"tag":553,"props":129418,"children":129419},{"style":572},[129420],{"type":431,"value":129421}," \"main\"",{"type":426,"tag":553,"props":129423,"children":129424},{"style":684},[129425],{"type":431,"value":909},{"type":426,"tag":553,"props":129427,"children":129428},{"class":555,"line":1479},[129429,129433,129437,129441],{"type":426,"tag":553,"props":129430,"children":129431},{"style":795},[129432],{"type":431,"value":2972},{"type":426,"tag":553,"props":129434,"children":129435},{"style":572},[129436],{"type":431,"value":128105},{"type":426,"tag":553,"props":129438,"children":129439},{"style":795},[129440],{"type":431,"value":54104},{"type":426,"tag":553,"props":129442,"children":129443},{"style":684},[129444],{"type":431,"value":129445}," text_lower:\n",{"type":426,"tag":553,"props":129447,"children":129448},{"class":555,"line":1517},[129449,129454,129458,129462,129466,129470,129475],{"type":426,"tag":553,"props":129450,"children":129451},{"style":684},[129452],{"type":431,"value":129453},"            conversation_state[phone] ",{"type":426,"tag":553,"props":129455,"children":129456},{"style":795},[129457],{"type":431,"value":957},{"type":426,"tag":553,"props":129459,"children":129460},{"style":684},[129461],{"type":431,"value":1450},{"type":426,"tag":553,"props":129463,"children":129464},{"style":572},[129465],{"type":431,"value":129357},{"type":426,"tag":553,"props":129467,"children":129468},{"style":684},[129469],{"type":431,"value":700},{"type":426,"tag":553,"props":129471,"children":129472},{"style":572},[129473],{"type":431,"value":129474},"\"return_order_number\"",{"type":426,"tag":553,"props":129476,"children":129477},{"style":684},[129478],{"type":431,"value":756},{"type":426,"tag":553,"props":129480,"children":129481},{"class":555,"line":1560},[129482,129487,129492],{"type":426,"tag":553,"props":129483,"children":129484},{"style":684},[129485],{"type":431,"value":129486},"            send(phone, ",{"type":426,"tag":553,"props":129488,"children":129489},{"style":572},[129490],{"type":431,"value":129491},"\"To start your return, please reply with your *order number*:\"",{"type":426,"tag":553,"props":129493,"children":129494},{"style":684},[129495],{"type":431,"value":3262},{"type":426,"tag":553,"props":129497,"children":129498},{"class":555,"line":1598},[129499,129503],{"type":426,"tag":553,"props":129500,"children":129501},{"style":795},[129502],{"type":431,"value":3034},{"type":426,"tag":553,"props":129504,"children":129505},{"style":684},[129506],{"type":431,"value":909},{"type":426,"tag":553,"props":129508,"children":129509},{"class":555,"line":1636},[129510,129514,129518,129522,129526,129530,129534,129539],{"type":426,"tag":553,"props":129511,"children":129512},{"style":684},[129513],{"type":431,"value":129486},{"type":426,"tag":553,"props":129515,"children":129516},{"style":795},[129517],{"type":431,"value":1709},{"type":426,"tag":553,"props":129519,"children":129520},{"style":572},[129521],{"type":431,"value":4625},{"type":426,"tag":553,"props":129523,"children":129524},{"style":566},[129525],{"type":431,"value":972},{"type":426,"tag":553,"props":129527,"children":129528},{"style":684},[129529],{"type":431,"value":24468},{"type":426,"tag":553,"props":129531,"children":129532},{"style":566},[129533],{"type":431,"value":982},{"type":426,"tag":553,"props":129535,"children":129536},{"style":572},[129537],{"type":431,"value":129538},"! Reply *RETURN* to start a return or *HELP* for support.\"",{"type":426,"tag":553,"props":129540,"children":129541},{"style":684},[129542],{"type":431,"value":3262},{"type":426,"tag":553,"props":129544,"children":129545},{"class":555,"line":1645},[129546],{"type":426,"tag":553,"props":129547,"children":129548},{"style":684},[129549],{"type":431,"value":917},{"type":426,"tag":553,"props":129551,"children":129552},{"class":555,"line":1653},[129553,129557,129561,129565,129569,129573,129578],{"type":426,"tag":553,"props":129554,"children":129555},{"style":795},[129556],{"type":431,"value":1060},{"type":426,"tag":553,"props":129558,"children":129559},{"style":684},[129560],{"type":431,"value":129404},{"type":426,"tag":553,"props":129562,"children":129563},{"style":572},[129564],{"type":431,"value":129357},{"type":426,"tag":553,"props":129566,"children":129567},{"style":684},[129568],{"type":431,"value":2229},{"type":426,"tag":553,"props":129570,"children":129571},{"style":795},[129572],{"type":431,"value":1069},{"type":426,"tag":553,"props":129574,"children":129575},{"style":572},[129576],{"type":431,"value":129577}," \"return_order_number\"",{"type":426,"tag":553,"props":129579,"children":129580},{"style":684},[129581],{"type":431,"value":909},{"type":426,"tag":553,"props":129583,"children":129584},{"class":555,"line":1667},[129585],{"type":426,"tag":553,"props":129586,"children":129587},{"style":1975},[129588],{"type":431,"value":129589},"        # Customer provided order number\n",{"type":426,"tag":553,"props":129591,"children":129592},{"class":555,"line":1680},[129593,129598,129602],{"type":426,"tag":553,"props":129594,"children":129595},{"style":684},[129596],{"type":431,"value":129597},"        order_num ",{"type":426,"tag":553,"props":129599,"children":129600},{"style":795},[129601],{"type":431,"value":957},{"type":426,"tag":553,"props":129603,"children":129604},{"style":684},[129605],{"type":431,"value":129606}," text.strip()\n",{"type":426,"tag":553,"props":129608,"children":129609},{"class":555,"line":1740},[129610,129615,129619,129623,129627,129631,129636,129640,129645],{"type":426,"tag":553,"props":129611,"children":129612},{"style":684},[129613],{"type":431,"value":129614},"        conversation_state[phone] ",{"type":426,"tag":553,"props":129616,"children":129617},{"style":795},[129618],{"type":431,"value":957},{"type":426,"tag":553,"props":129620,"children":129621},{"style":684},[129622],{"type":431,"value":1450},{"type":426,"tag":553,"props":129624,"children":129625},{"style":572},[129626],{"type":431,"value":129357},{"type":426,"tag":553,"props":129628,"children":129629},{"style":684},[129630],{"type":431,"value":700},{"type":426,"tag":553,"props":129632,"children":129633},{"style":572},[129634],{"type":431,"value":129635},"\"return_confirm\"",{"type":426,"tag":553,"props":129637,"children":129638},{"style":684},[129639],{"type":431,"value":1907},{"type":426,"tag":553,"props":129641,"children":129642},{"style":572},[129643],{"type":431,"value":129644},"\"order\"",{"type":426,"tag":553,"props":129646,"children":129647},{"style":684},[129648],{"type":431,"value":129649},": order_num}\n",{"type":426,"tag":553,"props":129651,"children":129652},{"class":555,"line":1787},[129653],{"type":426,"tag":553,"props":129654,"children":129655},{"style":684},[129656],{"type":431,"value":129657},"        send(phone, \n",{"type":426,"tag":553,"props":129659,"children":129660},{"class":555,"line":1796},[129661,129665,129670,129674,129679,129683,129688,129692],{"type":426,"tag":553,"props":129662,"children":129663},{"style":795},[129664],{"type":431,"value":3740},{"type":426,"tag":553,"props":129666,"children":129667},{"style":572},[129668],{"type":431,"value":129669},"\"Found order *#",{"type":426,"tag":553,"props":129671,"children":129672},{"style":566},[129673],{"type":431,"value":972},{"type":426,"tag":553,"props":129675,"children":129676},{"style":684},[129677],{"type":431,"value":129678},"order_num",{"type":426,"tag":553,"props":129680,"children":129681},{"style":566},[129682],{"type":431,"value":982},{"type":426,"tag":553,"props":129684,"children":129685},{"style":572},[129686],{"type":431,"value":129687},"*.",{"type":426,"tag":553,"props":129689,"children":129690},{"style":566},[129691],{"type":431,"value":1295},{"type":426,"tag":553,"props":129693,"children":129694},{"style":572},[129695],{"type":431,"value":1250},{"type":426,"tag":553,"props":129697,"children":129698},{"class":555,"line":1804},[129699],{"type":426,"tag":553,"props":129700,"children":129701},{"style":572},[129702],{"type":431,"value":129703},"            \"Please describe the reason for your return:\"\n",{"type":426,"tag":553,"props":129705,"children":129706},{"class":555,"line":1812},[129707],{"type":426,"tag":553,"props":129708,"children":129709},{"style":684},[129710],{"type":431,"value":6037},{"type":426,"tag":553,"props":129712,"children":129713},{"class":555,"line":1847},[129714],{"type":426,"tag":553,"props":129715,"children":129716},{"style":684},[129717],{"type":431,"value":917},{"type":426,"tag":553,"props":129719,"children":129720},{"class":555,"line":1856},[129721,129725,129729,129733,129737,129741,129746],{"type":426,"tag":553,"props":129722,"children":129723},{"style":795},[129724],{"type":431,"value":1060},{"type":426,"tag":553,"props":129726,"children":129727},{"style":684},[129728],{"type":431,"value":129404},{"type":426,"tag":553,"props":129730,"children":129731},{"style":572},[129732],{"type":431,"value":129357},{"type":426,"tag":553,"props":129734,"children":129735},{"style":684},[129736],{"type":431,"value":2229},{"type":426,"tag":553,"props":129738,"children":129739},{"style":795},[129740],{"type":431,"value":1069},{"type":426,"tag":553,"props":129742,"children":129743},{"style":572},[129744],{"type":431,"value":129745}," \"return_confirm\"",{"type":426,"tag":553,"props":129747,"children":129748},{"style":684},[129749],{"type":431,"value":909},{"type":426,"tag":553,"props":129751,"children":129752},{"class":555,"line":1874},[129753],{"type":426,"tag":553,"props":129754,"children":129755},{"style":1975},[129756],{"type":431,"value":129757},"        # Customer provided return reason\n",{"type":426,"tag":553,"props":129759,"children":129760},{"class":555,"line":1882},[129761,129766,129770],{"type":426,"tag":553,"props":129762,"children":129763},{"style":684},[129764],{"type":431,"value":129765},"        reason ",{"type":426,"tag":553,"props":129767,"children":129768},{"style":795},[129769],{"type":431,"value":957},{"type":426,"tag":553,"props":129771,"children":129772},{"style":684},[129773],{"type":431,"value":129606},{"type":426,"tag":553,"props":129775,"children":129776},{"class":555,"line":1981},[129777,129782,129786,129791,129795,129799,129804],{"type":426,"tag":553,"props":129778,"children":129779},{"style":684},[129780],{"type":431,"value":129781},"        order ",{"type":426,"tag":553,"props":129783,"children":129784},{"style":795},[129785],{"type":431,"value":957},{"type":426,"tag":553,"props":129787,"children":129788},{"style":684},[129789],{"type":431,"value":129790}," state.get(",{"type":426,"tag":553,"props":129792,"children":129793},{"style":572},[129794],{"type":431,"value":129644},{"type":426,"tag":553,"props":129796,"children":129797},{"style":684},[129798],{"type":431,"value":1907},{"type":426,"tag":553,"props":129800,"children":129801},{"style":572},[129802],{"type":431,"value":129803},"\"unknown\"",{"type":426,"tag":553,"props":129805,"children":129806},{"style":684},[129807],{"type":431,"value":3262},{"type":426,"tag":553,"props":129809,"children":129810},{"class":555,"line":1989},[129811,129815,129819,129823,129827,129831,129835,129840],{"type":426,"tag":553,"props":129812,"children":129813},{"style":684},[129814],{"type":431,"value":129614},{"type":426,"tag":553,"props":129816,"children":129817},{"style":795},[129818],{"type":431,"value":957},{"type":426,"tag":553,"props":129820,"children":129821},{"style":684},[129822],{"type":431,"value":1450},{"type":426,"tag":553,"props":129824,"children":129825},{"style":572},[129826],{"type":431,"value":129357},{"type":426,"tag":553,"props":129828,"children":129829},{"style":684},[129830],{"type":431,"value":700},{"type":426,"tag":553,"props":129832,"children":129833},{"style":572},[129834],{"type":431,"value":129366},{"type":426,"tag":553,"props":129836,"children":129837},{"style":684},[129838],{"type":431,"value":129839},"}  ",{"type":426,"tag":553,"props":129841,"children":129842},{"style":1975},[129843],{"type":431,"value":129844},"# Reset state\n",{"type":426,"tag":553,"props":129846,"children":129847},{"class":555,"line":2013},[129848],{"type":426,"tag":553,"props":129849,"children":129850},{"style":684},[129851],{"type":431,"value":2061},{"type":426,"tag":553,"props":129853,"children":129854},{"class":555,"line":2055},[129855],{"type":426,"tag":553,"props":129856,"children":129857},{"style":1975},[129858],{"type":431,"value":129859},"        # In production: log to database, email support team\n",{"type":426,"tag":553,"props":129861,"children":129862},{"class":555,"line":2064},[129863],{"type":426,"tag":553,"props":129864,"children":129865},{"style":684},[129866],{"type":431,"value":129867},"        send(phone,\n",{"type":426,"tag":553,"props":129869,"children":129870},{"class":555,"line":2087},[129871,129875,129880,129884],{"type":426,"tag":553,"props":129872,"children":129873},{"style":795},[129874],{"type":431,"value":3740},{"type":426,"tag":553,"props":129876,"children":129877},{"style":572},[129878],{"type":431,"value":129879},"\"*Return Request Submitted* ✅",{"type":426,"tag":553,"props":129881,"children":129882},{"style":566},[129883],{"type":431,"value":1295},{"type":426,"tag":553,"props":129885,"children":129886},{"style":572},[129887],{"type":431,"value":1250},{"type":426,"tag":553,"props":129889,"children":129890},{"class":555,"line":2096},[129891,129895,129900,129904,129908,129912],{"type":426,"tag":553,"props":129892,"children":129893},{"style":795},[129894],{"type":431,"value":3740},{"type":426,"tag":553,"props":129896,"children":129897},{"style":572},[129898],{"type":431,"value":129899},"\"Order: #",{"type":426,"tag":553,"props":129901,"children":129902},{"style":566},[129903],{"type":431,"value":972},{"type":426,"tag":553,"props":129905,"children":129906},{"style":684},[129907],{"type":431,"value":74804},{"type":426,"tag":553,"props":129909,"children":129910},{"style":566},[129911],{"type":431,"value":1407},{"type":426,"tag":553,"props":129913,"children":129914},{"style":572},[129915],{"type":431,"value":1250},{"type":426,"tag":553,"props":129917,"children":129918},{"class":555,"line":2105},[129919,129923,129928,129932,129937,129941],{"type":426,"tag":553,"props":129920,"children":129921},{"style":795},[129922],{"type":431,"value":3740},{"type":426,"tag":553,"props":129924,"children":129925},{"style":572},[129926],{"type":431,"value":129927},"\"Reason: ",{"type":426,"tag":553,"props":129929,"children":129930},{"style":566},[129931],{"type":431,"value":972},{"type":426,"tag":553,"props":129933,"children":129934},{"style":684},[129935],{"type":431,"value":129936},"reason",{"type":426,"tag":553,"props":129938,"children":129939},{"style":566},[129940],{"type":431,"value":1245},{"type":426,"tag":553,"props":129942,"children":129943},{"style":572},[129944],{"type":431,"value":1250},{"type":426,"tag":553,"props":129946,"children":129947},{"class":555,"line":2114},[129948],{"type":426,"tag":553,"props":129949,"children":129950},{"style":572},[129951],{"type":431,"value":129952},"            \"Our team will process this within 24 hours. \"\n",{"type":426,"tag":553,"props":129954,"children":129955},{"class":555,"line":2123},[129956],{"type":426,"tag":553,"props":129957,"children":129958},{"style":572},[129959],{"type":431,"value":129960},"            \"You'll receive a return label via email.\"\n",{"type":426,"tag":553,"props":129962,"children":129963},{"class":555,"line":2132},[129964],{"type":426,"tag":553,"props":129965,"children":129966},{"style":684},[129967],{"type":431,"value":6037},{"type":426,"tag":553,"props":129969,"children":129970},{"class":555,"line":2151},[129971],{"type":426,"tag":553,"props":129972,"children":129973},{"emptyLinePlaceholder":831},[129974],{"type":431,"value":834},{"type":426,"tag":553,"props":129976,"children":129977},{"class":555,"line":2160},[129978,129982,129986,129990,129994,129998,130002,130006,130010],{"type":426,"tag":553,"props":129979,"children":129980},{"style":560},[129981],{"type":431,"value":8024},{"type":426,"tag":553,"props":129983,"children":129984},{"style":684},[129985],{"type":431,"value":3275},{"type":426,"tag":553,"props":129987,"children":129988},{"style":572},[129989],{"type":431,"value":128591},{"type":426,"tag":553,"props":129991,"children":129992},{"style":684},[129993],{"type":431,"value":1907},{"type":426,"tag":553,"props":129995,"children":129996},{"style":1684},[129997],{"type":431,"value":8042},{"type":426,"tag":553,"props":129999,"children":130000},{"style":795},[130001],{"type":431,"value":957},{"type":426,"tag":553,"props":130003,"children":130004},{"style":684},[130005],{"type":431,"value":8051},{"type":426,"tag":553,"props":130007,"children":130008},{"style":572},[130009],{"type":431,"value":60428},{"type":426,"tag":553,"props":130011,"children":130012},{"style":684},[130013],{"type":431,"value":8061},{"type":426,"tag":553,"props":130015,"children":130016},{"class":555,"line":2174},[130017,130021,130026],{"type":426,"tag":553,"props":130018,"children":130019},{"style":795},[130020],{"type":431,"value":842},{"type":426,"tag":553,"props":130022,"children":130023},{"style":560},[130024],{"type":431,"value":130025}," webhook",{"type":426,"tag":553,"props":130027,"children":130028},{"style":684},[130029],{"type":431,"value":6433},{"type":426,"tag":553,"props":130031,"children":130032},{"class":555,"line":2182},[130033,130037,130041],{"type":426,"tag":553,"props":130034,"children":130035},{"style":684},[130036],{"type":431,"value":13733},{"type":426,"tag":553,"props":130038,"children":130039},{"style":795},[130040],{"type":431,"value":957},{"type":426,"tag":553,"props":130042,"children":130043},{"style":684},[130044],{"type":431,"value":98209},{"type":426,"tag":553,"props":130046,"children":130047},{"class":555,"line":2205},[130048,130052,130056,130060,130064,130068,130072],{"type":426,"tag":553,"props":130049,"children":130050},{"style":795},[130051],{"type":431,"value":925},{"type":426,"tag":553,"props":130053,"children":130054},{"style":684},[130055],{"type":431,"value":8311},{"type":426,"tag":553,"props":130057,"children":130058},{"style":572},[130059],{"type":431,"value":76366},{"type":426,"tag":553,"props":130061,"children":130062},{"style":684},[130063],{"type":431,"value":2987},{"type":426,"tag":553,"props":130065,"children":130066},{"style":795},[130067],{"type":431,"value":1069},{"type":426,"tag":553,"props":130069,"children":130070},{"style":572},[130071],{"type":431,"value":75756},{"type":426,"tag":553,"props":130073,"children":130074},{"style":684},[130075],{"type":431,"value":909},{"type":426,"tag":553,"props":130077,"children":130078},{"class":555,"line":2241},[130079,130084,130088,130093,130097,130101,130105,130110,130114,130118,130122],{"type":426,"tag":553,"props":130080,"children":130081},{"style":684},[130082],{"type":431,"value":130083},"        handle_conversation(data[",{"type":426,"tag":553,"props":130085,"children":130086},{"style":572},[130087],{"type":431,"value":76544},{"type":426,"tag":553,"props":130089,"children":130090},{"style":684},[130091],{"type":431,"value":130092},"], data.get(",{"type":426,"tag":553,"props":130094,"children":130095},{"style":572},[130096],{"type":431,"value":128776},{"type":426,"tag":553,"props":130098,"children":130099},{"style":684},[130100],{"type":431,"value":1907},{"type":426,"tag":553,"props":130102,"children":130103},{"style":572},[130104],{"type":431,"value":128818},{"type":426,"tag":553,"props":130106,"children":130107},{"style":684},[130108],{"type":431,"value":130109},"), data.get(",{"type":426,"tag":553,"props":130111,"children":130112},{"style":572},[130113],{"type":431,"value":45275},{"type":426,"tag":553,"props":130115,"children":130116},{"style":684},[130117],{"type":431,"value":1907},{"type":426,"tag":553,"props":130119,"children":130120},{"style":572},[130121],{"type":431,"value":128818},{"type":426,"tag":553,"props":130123,"children":130124},{"style":684},[130125],{"type":431,"value":6538},{"type":426,"tag":553,"props":130127,"children":130128},{"class":555,"line":2250},[130129,130133,130137,130141,130145,130149,130153],{"type":426,"tag":553,"props":130130,"children":130131},{"style":795},[130132],{"type":431,"value":1659},{"type":426,"tag":553,"props":130134,"children":130135},{"style":684},[130136],{"type":431,"value":8126},{"type":426,"tag":553,"props":130138,"children":130139},{"style":572},[130140],{"type":431,"value":68957},{"type":426,"tag":553,"props":130142,"children":130143},{"style":684},[130144],{"type":431,"value":700},{"type":426,"tag":553,"props":130146,"children":130147},{"style":572},[130148],{"type":431,"value":128689},{"type":426,"tag":553,"props":130150,"children":130151},{"style":684},[130152],{"type":431,"value":13713},{"type":426,"tag":553,"props":130154,"children":130155},{"style":566},[130156],{"type":431,"value":8234},{"type":426,"tag":434,"props":130158,"children":130160},{"id":130159},"part-3-ai-powered-bot-with-gpt-4",[130161],{"type":431,"value":130162},"Part 3: AI-Powered Bot with GPT-4",{"type":426,"tag":427,"props":130164,"children":130165},{},[130166],{"type":431,"value":130167},"Use OpenAI's GPT-4 to power your bot's responses:",{"type":426,"tag":542,"props":130169,"children":130171},{"code":130170,"language":784,"meta":417,"className":785,"style":417},"from flask import Flask, request, jsonify\nimport requests\nimport openai\nimport os\n\napp = Flask(__name__)\nRAPIWA_KEY  = os.getenv(\"RAPIWA_API_KEY\")\nOPENAI_KEY  = os.getenv(\"OPENAI_API_KEY\")\n\nopenai_client = openai.OpenAI(api_key=OPENAI_KEY)\n\n# System prompt for your business\nSYSTEM_PROMPT = \"\"\"You are a helpful customer support assistant for a WooCommerce store.\nYou help customers with: order tracking, returns, product questions, and pricing.\nKeep responses concise (under 200 words), friendly, and use simple formatting.\nFor order-specific questions, ask for the order number.\nIf you can't help, offer to connect the customer with a human agent.\"\"\"\n\ndef ask_gpt(message: str) -> str:\n    response = openai_client.chat.completions.create(\n        model=\"gpt-4o-mini\",\n        messages=[\n            {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n            {\"role\": \"user\", \"content\": message}\n        ],\n        max_tokens=300\n    )\n    return response.choices[0].message.content\n\n@app.route(\"\u002Fwebhook\u002Fwhatsapp\", methods=[\"POST\"])\ndef webhook():\n    data = request.json\n    if data.get(\"event\") == \"message.received\":\n        phone   = data[\"from\"]\n        message = data.get(\"message\", \"\")\n        \n        if message:\n            ai_reply = ask_gpt(message)\n            requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n                headers={\"Authorization\": f\"Bearer {RAPIWA_KEY}\"},\n                json={\"number\": phone, \"message\": ai_reply}\n            )\n    \n    return jsonify({\"status\": \"ok\"}), 200\n",[130172],{"type":426,"tag":549,"props":130173,"children":130174},{"__ignoreMap":417},[130175,130194,130205,130216,130227,130234,130257,130281,130306,130313,130346,130353,130361,130377,130385,130393,130401,130409,130416,130448,130464,130485,130502,130545,130577,130584,130601,130608,130629,130636,130675,130690,130705,130736,130760,130791,130798,130809,130826,130842,130885,130917,130924,130931],{"type":426,"tag":553,"props":130176,"children":130177},{"class":555,"line":556},[130178,130182,130186,130190],{"type":426,"tag":553,"props":130179,"children":130180},{"style":795},[130181],{"type":431,"value":811},{"type":426,"tag":553,"props":130183,"children":130184},{"style":684},[130185],{"type":431,"value":13265},{"type":426,"tag":553,"props":130187,"children":130188},{"style":795},[130189],{"type":431,"value":798},{"type":426,"tag":553,"props":130191,"children":130192},{"style":684},[130193],{"type":431,"value":19220},{"type":426,"tag":553,"props":130195,"children":130196},{"class":555,"line":588},[130197,130201],{"type":426,"tag":553,"props":130198,"children":130199},{"style":795},[130200],{"type":431,"value":798},{"type":426,"tag":553,"props":130202,"children":130203},{"style":684},[130204],{"type":431,"value":803},{"type":426,"tag":553,"props":130206,"children":130207},{"class":555,"line":606},[130208,130212],{"type":426,"tag":553,"props":130209,"children":130210},{"style":795},[130211],{"type":431,"value":798},{"type":426,"tag":553,"props":130213,"children":130214},{"style":684},[130215],{"type":431,"value":19243},{"type":426,"tag":553,"props":130217,"children":130218},{"class":555,"line":623},[130219,130223],{"type":426,"tag":553,"props":130220,"children":130221},{"style":795},[130222],{"type":431,"value":798},{"type":426,"tag":553,"props":130224,"children":130225},{"style":684},[130226],{"type":431,"value":19255},{"type":426,"tag":553,"props":130228,"children":130229},{"class":555,"line":637},[130230],{"type":426,"tag":553,"props":130231,"children":130232},{"emptyLinePlaceholder":831},[130233],{"type":431,"value":834},{"type":426,"tag":553,"props":130235,"children":130236},{"class":555,"line":646},[130237,130241,130245,130249,130253],{"type":426,"tag":553,"props":130238,"children":130239},{"style":684},[130240],{"type":431,"value":13301},{"type":426,"tag":553,"props":130242,"children":130243},{"style":795},[130244],{"type":431,"value":957},{"type":426,"tag":553,"props":130246,"children":130247},{"style":684},[130248],{"type":431,"value":13310},{"type":426,"tag":553,"props":130250,"children":130251},{"style":566},[130252],{"type":431,"value":13315},{"type":426,"tag":553,"props":130254,"children":130255},{"style":684},[130256],{"type":431,"value":3262},{"type":426,"tag":553,"props":130258,"children":130259},{"class":555,"line":655},[130260,130264,130269,130273,130277],{"type":426,"tag":553,"props":130261,"children":130262},{"style":566},[130263],{"type":431,"value":127499},{"type":426,"tag":553,"props":130265,"children":130266},{"style":795},[130267],{"type":431,"value":130268},"  =",{"type":426,"tag":553,"props":130270,"children":130271},{"style":684},[130272],{"type":431,"value":127508},{"type":426,"tag":553,"props":130274,"children":130275},{"style":572},[130276],{"type":431,"value":127513},{"type":426,"tag":553,"props":130278,"children":130279},{"style":684},[130280],{"type":431,"value":3262},{"type":426,"tag":553,"props":130282,"children":130283},{"class":555,"line":1036},[130284,130289,130293,130297,130302],{"type":426,"tag":553,"props":130285,"children":130286},{"style":566},[130287],{"type":431,"value":130288},"OPENAI_KEY",{"type":426,"tag":553,"props":130290,"children":130291},{"style":795},[130292],{"type":431,"value":130268},{"type":426,"tag":553,"props":130294,"children":130295},{"style":684},[130296],{"type":431,"value":127508},{"type":426,"tag":553,"props":130298,"children":130299},{"style":572},[130300],{"type":431,"value":130301},"\"OPENAI_API_KEY\"",{"type":426,"tag":553,"props":130303,"children":130304},{"style":684},[130305],{"type":431,"value":3262},{"type":426,"tag":553,"props":130307,"children":130308},{"class":555,"line":1054},[130309],{"type":426,"tag":553,"props":130310,"children":130311},{"emptyLinePlaceholder":831},[130312],{"type":431,"value":834},{"type":426,"tag":553,"props":130314,"children":130315},{"class":555,"line":1080},[130316,130321,130325,130330,130334,130338,130342],{"type":426,"tag":553,"props":130317,"children":130318},{"style":684},[130319],{"type":431,"value":130320},"openai_client ",{"type":426,"tag":553,"props":130322,"children":130323},{"style":795},[130324],{"type":431,"value":957},{"type":426,"tag":553,"props":130326,"children":130327},{"style":684},[130328],{"type":431,"value":130329}," openai.OpenAI(",{"type":426,"tag":553,"props":130331,"children":130332},{"style":1684},[130333],{"type":431,"value":1723},{"type":426,"tag":553,"props":130335,"children":130336},{"style":795},[130337],{"type":431,"value":957},{"type":426,"tag":553,"props":130339,"children":130340},{"style":566},[130341],{"type":431,"value":130288},{"type":426,"tag":553,"props":130343,"children":130344},{"style":684},[130345],{"type":431,"value":3262},{"type":426,"tag":553,"props":130347,"children":130348},{"class":555,"line":1097},[130349],{"type":426,"tag":553,"props":130350,"children":130351},{"emptyLinePlaceholder":831},[130352],{"type":431,"value":834},{"type":426,"tag":553,"props":130354,"children":130355},{"class":555,"line":1114},[130356],{"type":426,"tag":553,"props":130357,"children":130358},{"style":1975},[130359],{"type":431,"value":130360},"# System prompt for your business\n",{"type":426,"tag":553,"props":130362,"children":130363},{"class":555,"line":1127},[130364,130368,130372],{"type":426,"tag":553,"props":130365,"children":130366},{"style":566},[130367],{"type":431,"value":63457},{"type":426,"tag":553,"props":130369,"children":130370},{"style":795},[130371],{"type":431,"value":8739},{"type":426,"tag":553,"props":130373,"children":130374},{"style":572},[130375],{"type":431,"value":130376}," \"\"\"You are a helpful customer support assistant for a WooCommerce store.\n",{"type":426,"tag":553,"props":130378,"children":130379},{"class":555,"line":1167},[130380],{"type":426,"tag":553,"props":130381,"children":130382},{"style":572},[130383],{"type":431,"value":130384},"You help customers with: order tracking, returns, product questions, and pricing.\n",{"type":426,"tag":553,"props":130386,"children":130387},{"class":555,"line":1184},[130388],{"type":426,"tag":553,"props":130389,"children":130390},{"style":572},[130391],{"type":431,"value":130392},"Keep responses concise (under 200 words), friendly, and use simple formatting.\n",{"type":426,"tag":553,"props":130394,"children":130395},{"class":555,"line":1192},[130396],{"type":426,"tag":553,"props":130397,"children":130398},{"style":572},[130399],{"type":431,"value":130400},"For order-specific questions, ask for the order number.\n",{"type":426,"tag":553,"props":130402,"children":130403},{"class":555,"line":1210},[130404],{"type":426,"tag":553,"props":130405,"children":130406},{"style":572},[130407],{"type":431,"value":130408},"If you can't help, offer to connect the customer with a human agent.\"\"\"\n",{"type":426,"tag":553,"props":130410,"children":130411},{"class":555,"line":1253},[130412],{"type":426,"tag":553,"props":130413,"children":130414},{"emptyLinePlaceholder":831},[130415],{"type":431,"value":834},{"type":426,"tag":553,"props":130417,"children":130418},{"class":555,"line":1302},[130419,130423,130428,130432,130436,130440,130444],{"type":426,"tag":553,"props":130420,"children":130421},{"style":795},[130422],{"type":431,"value":842},{"type":426,"tag":553,"props":130424,"children":130425},{"style":560},[130426],{"type":431,"value":130427}," ask_gpt",{"type":426,"tag":553,"props":130429,"children":130430},{"style":684},[130431],{"type":431,"value":2631},{"type":426,"tag":553,"props":130433,"children":130434},{"style":566},[130435],{"type":431,"value":895},{"type":426,"tag":553,"props":130437,"children":130438},{"style":684},[130439],{"type":431,"value":900},{"type":426,"tag":553,"props":130441,"children":130442},{"style":566},[130443],{"type":431,"value":895},{"type":426,"tag":553,"props":130445,"children":130446},{"style":684},[130447],{"type":431,"value":909},{"type":426,"tag":553,"props":130449,"children":130450},{"class":555,"line":1374},[130451,130455,130459],{"type":426,"tag":553,"props":130452,"children":130453},{"style":684},[130454],{"type":431,"value":8117},{"type":426,"tag":553,"props":130456,"children":130457},{"style":795},[130458],{"type":431,"value":957},{"type":426,"tag":553,"props":130460,"children":130461},{"style":684},[130462],{"type":431,"value":130463}," openai_client.chat.completions.create(\n",{"type":426,"tag":553,"props":130465,"children":130466},{"class":555,"line":1414},[130467,130472,130476,130481],{"type":426,"tag":553,"props":130468,"children":130469},{"style":1684},[130470],{"type":431,"value":130471},"        model",{"type":426,"tag":553,"props":130473,"children":130474},{"style":795},[130475],{"type":431,"value":957},{"type":426,"tag":553,"props":130477,"children":130478},{"style":572},[130479],{"type":431,"value":130480},"\"gpt-4o-mini\"",{"type":426,"tag":553,"props":130482,"children":130483},{"style":684},[130484],{"type":431,"value":710},{"type":426,"tag":553,"props":130486,"children":130487},{"class":555,"line":1479},[130488,130493,130497],{"type":426,"tag":553,"props":130489,"children":130490},{"style":1684},[130491],{"type":431,"value":130492},"        messages",{"type":426,"tag":553,"props":130494,"children":130495},{"style":795},[130496],{"type":431,"value":957},{"type":426,"tag":553,"props":130498,"children":130499},{"style":684},[130500],{"type":431,"value":130501},"[\n",{"type":426,"tag":553,"props":130503,"children":130504},{"class":555,"line":1517},[130505,130510,130515,130519,130524,130528,130533,130537,130541],{"type":426,"tag":553,"props":130506,"children":130507},{"style":684},[130508],{"type":431,"value":130509},"            {",{"type":426,"tag":553,"props":130511,"children":130512},{"style":572},[130513],{"type":431,"value":130514},"\"role\"",{"type":426,"tag":553,"props":130516,"children":130517},{"style":684},[130518],{"type":431,"value":700},{"type":426,"tag":553,"props":130520,"children":130521},{"style":572},[130522],{"type":431,"value":130523},"\"system\"",{"type":426,"tag":553,"props":130525,"children":130526},{"style":684},[130527],{"type":431,"value":1907},{"type":426,"tag":553,"props":130529,"children":130530},{"style":572},[130531],{"type":431,"value":130532},"\"content\"",{"type":426,"tag":553,"props":130534,"children":130535},{"style":684},[130536],{"type":431,"value":700},{"type":426,"tag":553,"props":130538,"children":130539},{"style":566},[130540],{"type":431,"value":63457},{"type":426,"tag":553,"props":130542,"children":130543},{"style":684},[130544],{"type":431,"value":1737},{"type":426,"tag":553,"props":130546,"children":130547},{"class":555,"line":1560},[130548,130552,130556,130560,130565,130569,130573],{"type":426,"tag":553,"props":130549,"children":130550},{"style":684},[130551],{"type":431,"value":130509},{"type":426,"tag":553,"props":130553,"children":130554},{"style":572},[130555],{"type":431,"value":130514},{"type":426,"tag":553,"props":130557,"children":130558},{"style":684},[130559],{"type":431,"value":700},{"type":426,"tag":553,"props":130561,"children":130562},{"style":572},[130563],{"type":431,"value":130564},"\"user\"",{"type":426,"tag":553,"props":130566,"children":130567},{"style":684},[130568],{"type":431,"value":1907},{"type":426,"tag":553,"props":130570,"children":130571},{"style":572},[130572],{"type":431,"value":130532},{"type":426,"tag":553,"props":130574,"children":130575},{"style":684},[130576],{"type":431,"value":1784},{"type":426,"tag":553,"props":130578,"children":130579},{"class":555,"line":1598},[130580],{"type":426,"tag":553,"props":130581,"children":130582},{"style":684},[130583],{"type":431,"value":80161},{"type":426,"tag":553,"props":130585,"children":130586},{"class":555,"line":1636},[130587,130592,130596],{"type":426,"tag":553,"props":130588,"children":130589},{"style":1684},[130590],{"type":431,"value":130591},"        max_tokens",{"type":426,"tag":553,"props":130593,"children":130594},{"style":795},[130595],{"type":431,"value":957},{"type":426,"tag":553,"props":130597,"children":130598},{"style":566},[130599],{"type":431,"value":130600},"300\n",{"type":426,"tag":553,"props":130602,"children":130603},{"class":555,"line":1645},[130604],{"type":426,"tag":553,"props":130605,"children":130606},{"style":684},[130607],{"type":431,"value":1642},{"type":426,"tag":553,"props":130609,"children":130610},{"class":555,"line":1653},[130611,130615,130620,130624],{"type":426,"tag":553,"props":130612,"children":130613},{"style":795},[130614],{"type":431,"value":1659},{"type":426,"tag":553,"props":130616,"children":130617},{"style":684},[130618],{"type":431,"value":130619}," response.choices[",{"type":426,"tag":553,"props":130621,"children":130622},{"style":566},[130623],{"type":431,"value":1930},{"type":426,"tag":553,"props":130625,"children":130626},{"style":684},[130627],{"type":431,"value":130628},"].message.content\n",{"type":426,"tag":553,"props":130630,"children":130631},{"class":555,"line":1667},[130632],{"type":426,"tag":553,"props":130633,"children":130634},{"emptyLinePlaceholder":831},[130635],{"type":431,"value":834},{"type":426,"tag":553,"props":130637,"children":130638},{"class":555,"line":1680},[130639,130643,130647,130651,130655,130659,130663,130667,130671],{"type":426,"tag":553,"props":130640,"children":130641},{"style":560},[130642],{"type":431,"value":8024},{"type":426,"tag":553,"props":130644,"children":130645},{"style":684},[130646],{"type":431,"value":3275},{"type":426,"tag":553,"props":130648,"children":130649},{"style":572},[130650],{"type":431,"value":128591},{"type":426,"tag":553,"props":130652,"children":130653},{"style":684},[130654],{"type":431,"value":1907},{"type":426,"tag":553,"props":130656,"children":130657},{"style":1684},[130658],{"type":431,"value":8042},{"type":426,"tag":553,"props":130660,"children":130661},{"style":795},[130662],{"type":431,"value":957},{"type":426,"tag":553,"props":130664,"children":130665},{"style":684},[130666],{"type":431,"value":8051},{"type":426,"tag":553,"props":130668,"children":130669},{"style":572},[130670],{"type":431,"value":60428},{"type":426,"tag":553,"props":130672,"children":130673},{"style":684},[130674],{"type":431,"value":8061},{"type":426,"tag":553,"props":130676,"children":130677},{"class":555,"line":1740},[130678,130682,130686],{"type":426,"tag":553,"props":130679,"children":130680},{"style":795},[130681],{"type":431,"value":842},{"type":426,"tag":553,"props":130683,"children":130684},{"style":560},[130685],{"type":431,"value":130025},{"type":426,"tag":553,"props":130687,"children":130688},{"style":684},[130689],{"type":431,"value":6433},{"type":426,"tag":553,"props":130691,"children":130692},{"class":555,"line":1787},[130693,130697,130701],{"type":426,"tag":553,"props":130694,"children":130695},{"style":684},[130696],{"type":431,"value":13733},{"type":426,"tag":553,"props":130698,"children":130699},{"style":795},[130700],{"type":431,"value":957},{"type":426,"tag":553,"props":130702,"children":130703},{"style":684},[130704],{"type":431,"value":98209},{"type":426,"tag":553,"props":130706,"children":130707},{"class":555,"line":1796},[130708,130712,130716,130720,130724,130728,130732],{"type":426,"tag":553,"props":130709,"children":130710},{"style":795},[130711],{"type":431,"value":925},{"type":426,"tag":553,"props":130713,"children":130714},{"style":684},[130715],{"type":431,"value":8311},{"type":426,"tag":553,"props":130717,"children":130718},{"style":572},[130719],{"type":431,"value":76366},{"type":426,"tag":553,"props":130721,"children":130722},{"style":684},[130723],{"type":431,"value":2987},{"type":426,"tag":553,"props":130725,"children":130726},{"style":795},[130727],{"type":431,"value":1069},{"type":426,"tag":553,"props":130729,"children":130730},{"style":572},[130731],{"type":431,"value":75756},{"type":426,"tag":553,"props":130733,"children":130734},{"style":684},[130735],{"type":431,"value":909},{"type":426,"tag":553,"props":130737,"children":130738},{"class":555,"line":1804},[130739,130744,130748,130752,130756],{"type":426,"tag":553,"props":130740,"children":130741},{"style":684},[130742],{"type":431,"value":130743},"        phone   ",{"type":426,"tag":553,"props":130745,"children":130746},{"style":795},[130747],{"type":431,"value":957},{"type":426,"tag":553,"props":130749,"children":130750},{"style":684},[130751],{"type":431,"value":20293},{"type":426,"tag":553,"props":130753,"children":130754},{"style":572},[130755],{"type":431,"value":76544},{"type":426,"tag":553,"props":130757,"children":130758},{"style":684},[130759],{"type":431,"value":16523},{"type":426,"tag":553,"props":130761,"children":130762},{"class":555,"line":1812},[130763,130767,130771,130775,130779,130783,130787],{"type":426,"tag":553,"props":130764,"children":130765},{"style":684},[130766],{"type":431,"value":5864},{"type":426,"tag":553,"props":130768,"children":130769},{"style":795},[130770],{"type":431,"value":957},{"type":426,"tag":553,"props":130772,"children":130773},{"style":684},[130774],{"type":431,"value":8311},{"type":426,"tag":553,"props":130776,"children":130777},{"style":572},[130778],{"type":431,"value":45275},{"type":426,"tag":553,"props":130780,"children":130781},{"style":684},[130782],{"type":431,"value":1907},{"type":426,"tag":553,"props":130784,"children":130785},{"style":572},[130786],{"type":431,"value":128818},{"type":426,"tag":553,"props":130788,"children":130789},{"style":684},[130790],{"type":431,"value":3262},{"type":426,"tag":553,"props":130792,"children":130793},{"class":555,"line":1847},[130794],{"type":426,"tag":553,"props":130795,"children":130796},{"style":684},[130797],{"type":431,"value":2061},{"type":426,"tag":553,"props":130799,"children":130800},{"class":555,"line":1856},[130801,130805],{"type":426,"tag":553,"props":130802,"children":130803},{"style":795},[130804],{"type":431,"value":2972},{"type":426,"tag":553,"props":130806,"children":130807},{"style":684},[130808],{"type":431,"value":13825},{"type":426,"tag":553,"props":130810,"children":130811},{"class":555,"line":1874},[130812,130817,130821],{"type":426,"tag":553,"props":130813,"children":130814},{"style":684},[130815],{"type":431,"value":130816},"            ai_reply ",{"type":426,"tag":553,"props":130818,"children":130819},{"style":795},[130820],{"type":431,"value":957},{"type":426,"tag":553,"props":130822,"children":130823},{"style":684},[130824],{"type":431,"value":130825}," ask_gpt(message)\n",{"type":426,"tag":553,"props":130827,"children":130828},{"class":555,"line":1882},[130829,130834,130838],{"type":426,"tag":553,"props":130830,"children":130831},{"style":684},[130832],{"type":431,"value":130833},"            requests.post(",{"type":426,"tag":553,"props":130835,"children":130836},{"style":572},[130837],{"type":431,"value":60449},{"type":426,"tag":553,"props":130839,"children":130840},{"style":684},[130841],{"type":431,"value":710},{"type":426,"tag":553,"props":130843,"children":130844},{"class":555,"line":1981},[130845,130849,130853,130857,130861,130865,130869,130873,130877,130881],{"type":426,"tag":553,"props":130846,"children":130847},{"style":1684},[130848],{"type":431,"value":8862},{"type":426,"tag":553,"props":130850,"children":130851},{"style":795},[130852],{"type":431,"value":957},{"type":426,"tag":553,"props":130854,"children":130855},{"style":684},[130856],{"type":431,"value":972},{"type":426,"tag":553,"props":130858,"children":130859},{"style":572},[130860],{"type":431,"value":45214},{"type":426,"tag":553,"props":130862,"children":130863},{"style":684},[130864],{"type":431,"value":700},{"type":426,"tag":553,"props":130866,"children":130867},{"style":795},[130868],{"type":431,"value":1709},{"type":426,"tag":553,"props":130870,"children":130871},{"style":572},[130872],{"type":431,"value":12608},{"type":426,"tag":553,"props":130874,"children":130875},{"style":566},[130876],{"type":431,"value":127617},{"type":426,"tag":553,"props":130878,"children":130879},{"style":572},[130880],{"type":431,"value":1527},{"type":426,"tag":553,"props":130882,"children":130883},{"style":684},[130884],{"type":431,"value":1737},{"type":426,"tag":553,"props":130886,"children":130887},{"class":555,"line":1989},[130888,130892,130896,130900,130904,130908,130912],{"type":426,"tag":553,"props":130889,"children":130890},{"style":1684},[130891],{"type":431,"value":8914},{"type":426,"tag":553,"props":130893,"children":130894},{"style":795},[130895],{"type":431,"value":957},{"type":426,"tag":553,"props":130897,"children":130898},{"style":684},[130899],{"type":431,"value":972},{"type":426,"tag":553,"props":130901,"children":130902},{"style":572},[130903],{"type":431,"value":45266},{"type":426,"tag":553,"props":130905,"children":130906},{"style":684},[130907],{"type":431,"value":8931},{"type":426,"tag":553,"props":130909,"children":130910},{"style":572},[130911],{"type":431,"value":45275},{"type":426,"tag":553,"props":130913,"children":130914},{"style":684},[130915],{"type":431,"value":130916},": ai_reply}\n",{"type":426,"tag":553,"props":130918,"children":130919},{"class":555,"line":2013},[130920],{"type":426,"tag":553,"props":130921,"children":130922},{"style":684},[130923],{"type":431,"value":2551},{"type":426,"tag":553,"props":130925,"children":130926},{"class":555,"line":2055},[130927],{"type":426,"tag":553,"props":130928,"children":130929},{"style":684},[130930],{"type":431,"value":917},{"type":426,"tag":553,"props":130932,"children":130933},{"class":555,"line":2064},[130934,130938,130942,130946,130950,130954,130958],{"type":426,"tag":553,"props":130935,"children":130936},{"style":795},[130937],{"type":431,"value":1659},{"type":426,"tag":553,"props":130939,"children":130940},{"style":684},[130941],{"type":431,"value":8126},{"type":426,"tag":553,"props":130943,"children":130944},{"style":572},[130945],{"type":431,"value":68957},{"type":426,"tag":553,"props":130947,"children":130948},{"style":684},[130949],{"type":431,"value":700},{"type":426,"tag":553,"props":130951,"children":130952},{"style":572},[130953],{"type":431,"value":128689},{"type":426,"tag":553,"props":130955,"children":130956},{"style":684},[130957],{"type":431,"value":13713},{"type":426,"tag":553,"props":130959,"children":130960},{"style":566},[130961],{"type":431,"value":8234},{"type":426,"tag":427,"props":130963,"children":130964},{},[130965,130970,130971,130977],{"type":426,"tag":446,"props":130966,"children":130967},{},[130968],{"type":431,"value":130969},"Ready-made n8n version",{"type":431,"value":78182},{"type":426,"tag":3819,"props":130972,"children":130974},{"href":18864,"rel":130973},[3823],[130975],{"type":431,"value":130976},"WhatsApp GPT-4 support bot template",{"type":431,"value":130978}," (474 installs) does this without code.",{"type":426,"tag":434,"props":130980,"children":130982},{"id":130981},"nodejs-chatbot-express",[130983],{"type":431,"value":130984},"Node.js Chatbot (Express)",{"type":426,"tag":542,"props":130986,"children":130988},{"code":130987,"language":52115,"meta":417,"className":52113,"style":417},"import express from \"express\";\n\nconst app = express();\napp.use(express.json());\n\nconst RAPIWA_KEY = process.env.RAPIWA_API_KEY;\n\nasync function sendReply(phone, message) {\n  await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n    method: \"POST\",\n    headers: { \n      \"Authorization\": `Bearer ${RAPIWA_KEY}`, \n      \"Content-Type\": \"application\u002Fjson\" \n    },\n    body: JSON.stringify({ number: phone, message })\n  });\n}\n\napp.post(\"\u002Fwebhook\u002Fwhatsapp\", async (req, res) => {\n  res.json({ status: \"ok\" }); \u002F\u002F Respond immediately\n  \n  const { event, from, fromName, message } = req.body;\n  if (event !== \"message.received\" || !message) return;\n  \n  const text = message.toLowerCase().trim();\n  let reply = \"\";\n  \n  if ([\"hi\", \"hello\", \"menu\"].includes(text)) {\n    reply = `Hi ${fromName}! 👋\\n\\nReply:\\n*ORDERS* - Track orders\\n*HELP* - Get support`;\n  } else if (text.includes(\"order\")) {\n    reply = \"Track your order at: https:\u002F\u002Fstore.com\u002Ftrack\";\n  } else {\n    reply = \"Thanks for your message! We'll reply within 1 hour.\";\n  }\n  \n  await sendReply(from, reply);\n});\n\napp.listen(3000, () => console.log(\"Chatbot on port 3000\"));\n",[130989],{"type":426,"tag":549,"props":130990,"children":130991},{"__ignoreMap":417},[130992,131017,131024,131047,131070,131077,131105,131112,131147,131170,131185,131193,131221,131241,131248,131271,131278,131285,131292,131347,131376,131383,131435,131475,131482,131518,131543,131550,131593,131647,131682,131702,131717,131737,131744,131751,131766,131773,131780],{"type":426,"tag":553,"props":130993,"children":130994},{"class":555,"line":556},[130995,130999,131004,131008,131013],{"type":426,"tag":553,"props":130996,"children":130997},{"style":795},[130998],{"type":431,"value":798},{"type":426,"tag":553,"props":131000,"children":131001},{"style":684},[131002],{"type":431,"value":131003}," express ",{"type":426,"tag":553,"props":131005,"children":131006},{"style":795},[131007],{"type":431,"value":811},{"type":426,"tag":553,"props":131009,"children":131010},{"style":572},[131011],{"type":431,"value":131012}," \"express\"",{"type":426,"tag":553,"props":131014,"children":131015},{"style":684},[131016],{"type":431,"value":52321},{"type":426,"tag":553,"props":131018,"children":131019},{"class":555,"line":588},[131020],{"type":426,"tag":553,"props":131021,"children":131022},{"emptyLinePlaceholder":831},[131023],{"type":431,"value":834},{"type":426,"tag":553,"props":131025,"children":131026},{"class":555,"line":606},[131027,131031,131035,131039,131043],{"type":426,"tag":553,"props":131028,"children":131029},{"style":795},[131030],{"type":431,"value":52135},{"type":426,"tag":553,"props":131032,"children":131033},{"style":566},[131034],{"type":431,"value":84545},{"type":426,"tag":553,"props":131036,"children":131037},{"style":795},[131038],{"type":431,"value":8739},{"type":426,"tag":553,"props":131040,"children":131041},{"style":560},[131042],{"type":431,"value":84474},{"type":426,"tag":553,"props":131044,"children":131045},{"style":684},[131046],{"type":431,"value":53227},{"type":426,"tag":553,"props":131048,"children":131049},{"class":555,"line":623},[131050,131054,131058,131062,131066],{"type":426,"tag":553,"props":131051,"children":131052},{"style":684},[131053],{"type":431,"value":84565},{"type":426,"tag":553,"props":131055,"children":131056},{"style":560},[131057],{"type":431,"value":84570},{"type":426,"tag":553,"props":131059,"children":131060},{"style":684},[131061],{"type":431,"value":84575},{"type":426,"tag":553,"props":131063,"children":131064},{"style":560},[131065],{"type":431,"value":673},{"type":426,"tag":553,"props":131067,"children":131068},{"style":684},[131069],{"type":431,"value":61503},{"type":426,"tag":553,"props":131071,"children":131072},{"class":555,"line":637},[131073],{"type":426,"tag":553,"props":131074,"children":131075},{"emptyLinePlaceholder":831},[131076],{"type":431,"value":834},{"type":426,"tag":553,"props":131078,"children":131079},{"class":555,"line":646},[131080,131084,131089,131093,131097,131101],{"type":426,"tag":553,"props":131081,"children":131082},{"style":795},[131083],{"type":431,"value":52135},{"type":426,"tag":553,"props":131085,"children":131086},{"style":566},[131087],{"type":431,"value":131088}," RAPIWA_KEY",{"type":426,"tag":553,"props":131090,"children":131091},{"style":795},[131092],{"type":431,"value":8739},{"type":426,"tag":553,"props":131094,"children":131095},{"style":684},[131096],{"type":431,"value":84610},{"type":426,"tag":553,"props":131098,"children":131099},{"style":566},[131100],{"type":431,"value":7156},{"type":426,"tag":553,"props":131102,"children":131103},{"style":684},[131104],{"type":431,"value":52321},{"type":426,"tag":553,"props":131106,"children":131107},{"class":555,"line":655},[131108],{"type":426,"tag":553,"props":131109,"children":131110},{"emptyLinePlaceholder":831},[131111],{"type":431,"value":834},{"type":426,"tag":553,"props":131113,"children":131114},{"class":555,"line":1036},[131115,131119,131123,131127,131131,131135,131139,131143],{"type":426,"tag":553,"props":131116,"children":131117},{"style":795},[131118],{"type":431,"value":52361},{"type":426,"tag":553,"props":131120,"children":131121},{"style":795},[131122],{"type":431,"value":52366},{"type":426,"tag":553,"props":131124,"children":131125},{"style":560},[131126],{"type":431,"value":84946},{"type":426,"tag":553,"props":131128,"children":131129},{"style":684},[131130],{"type":431,"value":3275},{"type":426,"tag":553,"props":131132,"children":131133},{"style":1684},[131134],{"type":431,"value":37598},{"type":426,"tag":553,"props":131136,"children":131137},{"style":684},[131138],{"type":431,"value":1907},{"type":426,"tag":553,"props":131140,"children":131141},{"style":1684},[131142],{"type":431,"value":2734},{"type":426,"tag":553,"props":131144,"children":131145},{"style":684},[131146],{"type":431,"value":52385},{"type":426,"tag":553,"props":131148,"children":131149},{"class":555,"line":1054},[131150,131154,131158,131162,131166],{"type":426,"tag":553,"props":131151,"children":131152},{"style":795},[131153],{"type":431,"value":52583},{"type":426,"tag":553,"props":131155,"children":131156},{"style":560},[131157],{"type":431,"value":52226},{"type":426,"tag":553,"props":131159,"children":131160},{"style":684},[131161],{"type":431,"value":3275},{"type":426,"tag":553,"props":131163,"children":131164},{"style":572},[131165],{"type":431,"value":60449},{"type":426,"tag":553,"props":131167,"children":131168},{"style":684},[131169],{"type":431,"value":53088},{"type":426,"tag":553,"props":131171,"children":131172},{"class":555,"line":1080},[131173,131177,131181],{"type":426,"tag":553,"props":131174,"children":131175},{"style":684},[131176],{"type":431,"value":53096},{"type":426,"tag":553,"props":131178,"children":131179},{"style":572},[131180],{"type":431,"value":60428},{"type":426,"tag":553,"props":131182,"children":131183},{"style":684},[131184],{"type":431,"value":710},{"type":426,"tag":553,"props":131186,"children":131187},{"class":555,"line":1097},[131188],{"type":426,"tag":553,"props":131189,"children":131190},{"style":684},[131191],{"type":431,"value":131192},"    headers: { \n",{"type":426,"tag":553,"props":131194,"children":131195},{"class":555,"line":1114},[131196,131201,131205,131209,131213,131217],{"type":426,"tag":553,"props":131197,"children":131198},{"style":572},[131199],{"type":431,"value":131200},"      \"Authorization\"",{"type":426,"tag":553,"props":131202,"children":131203},{"style":684},[131204],{"type":431,"value":700},{"type":426,"tag":553,"props":131206,"children":131207},{"style":572},[131208],{"type":431,"value":53129},{"type":426,"tag":553,"props":131210,"children":131211},{"style":566},[131212],{"type":431,"value":127499},{"type":426,"tag":553,"props":131214,"children":131215},{"style":572},[131216],{"type":431,"value":52718},{"type":426,"tag":553,"props":131218,"children":131219},{"style":684},[131220],{"type":431,"value":17901},{"type":426,"tag":553,"props":131222,"children":131223},{"class":555,"line":1127},[131224,131229,131233,131237],{"type":426,"tag":553,"props":131225,"children":131226},{"style":572},[131227],{"type":431,"value":131228},"      \"Content-Type\"",{"type":426,"tag":553,"props":131230,"children":131231},{"style":684},[131232],{"type":431,"value":700},{"type":426,"tag":553,"props":131234,"children":131235},{"style":572},[131236],{"type":431,"value":67587},{"type":426,"tag":553,"props":131238,"children":131239},{"style":684},[131240],{"type":431,"value":25987},{"type":426,"tag":553,"props":131242,"children":131243},{"class":555,"line":1167},[131244],{"type":426,"tag":553,"props":131245,"children":131246},{"style":684},[131247],{"type":431,"value":17203},{"type":426,"tag":553,"props":131249,"children":131250},{"class":555,"line":1184},[131251,131255,131259,131263,131267],{"type":426,"tag":553,"props":131252,"children":131253},{"style":684},[131254],{"type":431,"value":53173},{"type":426,"tag":553,"props":131256,"children":131257},{"style":566},[131258],{"type":431,"value":53178},{"type":426,"tag":553,"props":131260,"children":131261},{"style":684},[131262],{"type":431,"value":6789},{"type":426,"tag":553,"props":131264,"children":131265},{"style":560},[131266],{"type":431,"value":53187},{"type":426,"tag":553,"props":131268,"children":131269},{"style":684},[131270],{"type":431,"value":55908},{"type":426,"tag":553,"props":131272,"children":131273},{"class":555,"line":1192},[131274],{"type":426,"tag":553,"props":131275,"children":131276},{"style":684},[131277],{"type":431,"value":52480},{"type":426,"tag":553,"props":131279,"children":131280},{"class":555,"line":1210},[131281],{"type":426,"tag":553,"props":131282,"children":131283},{"style":684},[131284],{"type":431,"value":756},{"type":426,"tag":553,"props":131286,"children":131287},{"class":555,"line":1253},[131288],{"type":426,"tag":553,"props":131289,"children":131290},{"emptyLinePlaceholder":831},[131291],{"type":431,"value":834},{"type":426,"tag":553,"props":131293,"children":131294},{"class":555,"line":1302},[131295,131299,131303,131307,131311,131315,131319,131323,131327,131331,131335,131339,131343],{"type":426,"tag":553,"props":131296,"children":131297},{"style":684},[131298],{"type":431,"value":84565},{"type":426,"tag":553,"props":131300,"children":131301},{"style":560},[131302],{"type":431,"value":70594},{"type":426,"tag":553,"props":131304,"children":131305},{"style":684},[131306],{"type":431,"value":3275},{"type":426,"tag":553,"props":131308,"children":131309},{"style":572},[131310],{"type":431,"value":128591},{"type":426,"tag":553,"props":131312,"children":131313},{"style":684},[131314],{"type":431,"value":1907},{"type":426,"tag":553,"props":131316,"children":131317},{"style":795},[131318],{"type":431,"value":52361},{"type":426,"tag":553,"props":131320,"children":131321},{"style":684},[131322],{"type":431,"value":5684},{"type":426,"tag":553,"props":131324,"children":131325},{"style":1684},[131326],{"type":431,"value":84670},{"type":426,"tag":553,"props":131328,"children":131329},{"style":684},[131330],{"type":431,"value":1907},{"type":426,"tag":553,"props":131332,"children":131333},{"style":1684},[131334],{"type":431,"value":84679},{"type":426,"tag":553,"props":131336,"children":131337},{"style":684},[131338],{"type":431,"value":2987},{"type":426,"tag":553,"props":131340,"children":131341},{"style":795},[131342],{"type":431,"value":74581},{"type":426,"tag":553,"props":131344,"children":131345},{"style":684},[131346],{"type":431,"value":5458},{"type":426,"tag":553,"props":131348,"children":131349},{"class":555,"line":1374},[131350,131354,131358,131362,131366,131371],{"type":426,"tag":553,"props":131351,"children":131352},{"style":684},[131353],{"type":431,"value":84707},{"type":426,"tag":553,"props":131355,"children":131356},{"style":560},[131357],{"type":431,"value":673},{"type":426,"tag":553,"props":131359,"children":131360},{"style":684},[131361],{"type":431,"value":84732},{"type":426,"tag":553,"props":131363,"children":131364},{"style":572},[131365],{"type":431,"value":128689},{"type":426,"tag":553,"props":131367,"children":131368},{"style":684},[131369],{"type":431,"value":131370}," }); ",{"type":426,"tag":553,"props":131372,"children":131373},{"style":1975},[131374],{"type":431,"value":131375},"\u002F\u002F Respond immediately\n",{"type":426,"tag":553,"props":131377,"children":131378},{"class":555,"line":1414},[131379],{"type":426,"tag":553,"props":131380,"children":131381},{"style":684},[131382],{"type":431,"value":52575},{"type":426,"tag":553,"props":131384,"children":131385},{"class":555,"line":1479},[131386,131390,131394,131398,131402,131406,131410,131415,131419,131423,131427,131431],{"type":426,"tag":553,"props":131387,"children":131388},{"style":795},[131389],{"type":431,"value":52540},{"type":426,"tag":553,"props":131391,"children":131392},{"style":684},[131393],{"type":431,"value":52174},{"type":426,"tag":553,"props":131395,"children":131396},{"style":566},[131397],{"type":431,"value":82238},{"type":426,"tag":553,"props":131399,"children":131400},{"style":684},[131401],{"type":431,"value":1907},{"type":426,"tag":553,"props":131403,"children":131404},{"style":566},[131405],{"type":431,"value":811},{"type":426,"tag":553,"props":131407,"children":131408},{"style":684},[131409],{"type":431,"value":1907},{"type":426,"tag":553,"props":131411,"children":131412},{"style":566},[131413],{"type":431,"value":131414},"fromName",{"type":426,"tag":553,"props":131416,"children":131417},{"style":684},[131418],{"type":431,"value":1907},{"type":426,"tag":553,"props":131420,"children":131421},{"style":566},[131422],{"type":431,"value":2734},{"type":426,"tag":553,"props":131424,"children":131425},{"style":684},[131426],{"type":431,"value":52193},{"type":426,"tag":553,"props":131428,"children":131429},{"style":795},[131430],{"type":431,"value":957},{"type":426,"tag":553,"props":131432,"children":131433},{"style":684},[131434],{"type":431,"value":84783},{"type":426,"tag":553,"props":131436,"children":131437},{"class":555,"line":1517},[131438,131442,131446,131450,131454,131458,131462,131467,131471],{"type":426,"tag":553,"props":131439,"children":131440},{"style":795},[131441],{"type":431,"value":84798},{"type":426,"tag":553,"props":131443,"children":131444},{"style":684},[131445],{"type":431,"value":84803},{"type":426,"tag":553,"props":131447,"children":131448},{"style":795},[131449],{"type":431,"value":84808},{"type":426,"tag":553,"props":131451,"children":131452},{"style":572},[131453],{"type":431,"value":75756},{"type":426,"tag":553,"props":131455,"children":131456},{"style":795},[131457],{"type":431,"value":84619},{"type":426,"tag":553,"props":131459,"children":131460},{"style":795},[131461],{"type":431,"value":105376},{"type":426,"tag":553,"props":131463,"children":131464},{"style":684},[131465],{"type":431,"value":131466},"message) ",{"type":426,"tag":553,"props":131468,"children":131469},{"style":795},[131470],{"type":431,"value":84821},{"type":426,"tag":553,"props":131472,"children":131473},{"style":684},[131474],{"type":431,"value":52321},{"type":426,"tag":553,"props":131476,"children":131477},{"class":555,"line":1560},[131478],{"type":426,"tag":553,"props":131479,"children":131480},{"style":684},[131481],{"type":431,"value":52575},{"type":426,"tag":553,"props":131483,"children":131484},{"class":555,"line":1598},[131485,131489,131494,131498,131502,131506,131510,131514],{"type":426,"tag":553,"props":131486,"children":131487},{"style":795},[131488],{"type":431,"value":52540},{"type":426,"tag":553,"props":131490,"children":131491},{"style":566},[131492],{"type":431,"value":131493}," text",{"type":426,"tag":553,"props":131495,"children":131496},{"style":795},[131497],{"type":431,"value":8739},{"type":426,"tag":553,"props":131499,"children":131500},{"style":684},[131501],{"type":431,"value":76118},{"type":426,"tag":553,"props":131503,"children":131504},{"style":560},[131505],{"type":431,"value":85024},{"type":426,"tag":553,"props":131507,"children":131508},{"style":684},[131509],{"type":431,"value":53311},{"type":426,"tag":553,"props":131511,"children":131512},{"style":560},[131513],{"type":431,"value":105149},{"type":426,"tag":553,"props":131515,"children":131516},{"style":684},[131517],{"type":431,"value":53227},{"type":426,"tag":553,"props":131519,"children":131520},{"class":555,"line":1636},[131521,131526,131531,131535,131539],{"type":426,"tag":553,"props":131522,"children":131523},{"style":795},[131524],{"type":431,"value":131525},"  let",{"type":426,"tag":553,"props":131527,"children":131528},{"style":684},[131529],{"type":431,"value":131530}," reply ",{"type":426,"tag":553,"props":131532,"children":131533},{"style":795},[131534],{"type":431,"value":957},{"type":426,"tag":553,"props":131536,"children":131537},{"style":572},[131538],{"type":431,"value":76413},{"type":426,"tag":553,"props":131540,"children":131541},{"style":684},[131542],{"type":431,"value":52321},{"type":426,"tag":553,"props":131544,"children":131545},{"class":555,"line":1645},[131546],{"type":426,"tag":553,"props":131547,"children":131548},{"style":684},[131549],{"type":431,"value":52575},{"type":426,"tag":553,"props":131551,"children":131552},{"class":555,"line":1653},[131553,131557,131561,131565,131569,131573,131577,131581,131585,131589],{"type":426,"tag":553,"props":131554,"children":131555},{"style":795},[131556],{"type":431,"value":84798},{"type":426,"tag":553,"props":131558,"children":131559},{"style":684},[131560],{"type":431,"value":85133},{"type":426,"tag":553,"props":131562,"children":131563},{"style":572},[131564],{"type":431,"value":127774},{"type":426,"tag":553,"props":131566,"children":131567},{"style":684},[131568],{"type":431,"value":1907},{"type":426,"tag":553,"props":131570,"children":131571},{"style":572},[131572],{"type":431,"value":127783},{"type":426,"tag":553,"props":131574,"children":131575},{"style":684},[131576],{"type":431,"value":1907},{"type":426,"tag":553,"props":131578,"children":131579},{"style":572},[131580],{"type":431,"value":127810},{"type":426,"tag":553,"props":131582,"children":131583},{"style":684},[131584],{"type":431,"value":85158},{"type":426,"tag":553,"props":131586,"children":131587},{"style":560},[131588],{"type":431,"value":85163},{"type":426,"tag":553,"props":131590,"children":131591},{"style":684},[131592],{"type":431,"value":85168},{"type":426,"tag":553,"props":131594,"children":131595},{"class":555,"line":1667},[131596,131600,131604,131608,131612,131616,131620,131625,131629,131634,131638,131643],{"type":426,"tag":553,"props":131597,"children":131598},{"style":684},[131599],{"type":431,"value":83998},{"type":426,"tag":553,"props":131601,"children":131602},{"style":795},[131603],{"type":431,"value":957},{"type":426,"tag":553,"props":131605,"children":131606},{"style":572},[131607],{"type":431,"value":55750},{"type":426,"tag":553,"props":131609,"children":131610},{"style":684},[131611],{"type":431,"value":131414},{"type":426,"tag":553,"props":131613,"children":131614},{"style":572},[131615],{"type":431,"value":106717},{"type":426,"tag":553,"props":131617,"children":131618},{"style":566},[131619],{"type":431,"value":1295},{"type":426,"tag":553,"props":131621,"children":131622},{"style":572},[131623],{"type":431,"value":131624},"Reply:",{"type":426,"tag":553,"props":131626,"children":131627},{"style":566},[131628],{"type":431,"value":3661},{"type":426,"tag":553,"props":131630,"children":131631},{"style":572},[131632],{"type":431,"value":131633},"*ORDERS* - Track orders",{"type":426,"tag":553,"props":131635,"children":131636},{"style":566},[131637],{"type":431,"value":3661},{"type":426,"tag":553,"props":131639,"children":131640},{"style":572},[131641],{"type":431,"value":131642},"*HELP* - Get support`",{"type":426,"tag":553,"props":131644,"children":131645},{"style":684},[131646],{"type":431,"value":52321},{"type":426,"tag":553,"props":131648,"children":131649},{"class":555,"line":1680},[131650,131654,131658,131662,131666,131670,131674,131678],{"type":426,"tag":553,"props":131651,"children":131652},{"style":684},[131653],{"type":431,"value":85621},{"type":426,"tag":553,"props":131655,"children":131656},{"style":795},[131657],{"type":431,"value":61682},{"type":426,"tag":553,"props":131659,"children":131660},{"style":795},[131661],{"type":431,"value":1001},{"type":426,"tag":553,"props":131663,"children":131664},{"style":684},[131665],{"type":431,"value":85212},{"type":426,"tag":553,"props":131667,"children":131668},{"style":560},[131669],{"type":431,"value":85163},{"type":426,"tag":553,"props":131671,"children":131672},{"style":684},[131673],{"type":431,"value":3275},{"type":426,"tag":553,"props":131675,"children":131676},{"style":572},[131677],{"type":431,"value":129644},{"type":426,"tag":553,"props":131679,"children":131680},{"style":684},[131681],{"type":431,"value":85254},{"type":426,"tag":553,"props":131683,"children":131684},{"class":555,"line":1740},[131685,131689,131693,131698],{"type":426,"tag":553,"props":131686,"children":131687},{"style":684},[131688],{"type":431,"value":83998},{"type":426,"tag":553,"props":131690,"children":131691},{"style":795},[131692],{"type":431,"value":957},{"type":426,"tag":553,"props":131694,"children":131695},{"style":572},[131696],{"type":431,"value":131697}," \"Track your order at: https:\u002F\u002Fstore.com\u002Ftrack\"",{"type":426,"tag":553,"props":131699,"children":131700},{"style":684},[131701],{"type":431,"value":52321},{"type":426,"tag":553,"props":131703,"children":131704},{"class":555,"line":1787},[131705,131709,131713],{"type":426,"tag":553,"props":131706,"children":131707},{"style":684},[131708],{"type":431,"value":85621},{"type":426,"tag":553,"props":131710,"children":131711},{"style":795},[131712],{"type":431,"value":61682},{"type":426,"tag":553,"props":131714,"children":131715},{"style":684},[131716],{"type":431,"value":5458},{"type":426,"tag":553,"props":131718,"children":131719},{"class":555,"line":1796},[131720,131724,131728,131733],{"type":426,"tag":553,"props":131721,"children":131722},{"style":684},[131723],{"type":431,"value":83998},{"type":426,"tag":553,"props":131725,"children":131726},{"style":795},[131727],{"type":431,"value":957},{"type":426,"tag":553,"props":131729,"children":131730},{"style":572},[131731],{"type":431,"value":131732}," \"Thanks for your message! We'll reply within 1 hour.\"",{"type":426,"tag":553,"props":131734,"children":131735},{"style":684},[131736],{"type":431,"value":52321},{"type":426,"tag":553,"props":131738,"children":131739},{"class":555,"line":1804},[131740],{"type":426,"tag":553,"props":131741,"children":131742},{"style":684},[131743],{"type":431,"value":60547},{"type":426,"tag":553,"props":131745,"children":131746},{"class":555,"line":1812},[131747],{"type":426,"tag":553,"props":131748,"children":131749},{"style":684},[131750],{"type":431,"value":52575},{"type":426,"tag":553,"props":131752,"children":131753},{"class":555,"line":1847},[131754,131758,131762],{"type":426,"tag":553,"props":131755,"children":131756},{"style":795},[131757],{"type":431,"value":52583},{"type":426,"tag":553,"props":131759,"children":131760},{"style":560},[131761],{"type":431,"value":84946},{"type":426,"tag":553,"props":131763,"children":131764},{"style":684},[131765],{"type":431,"value":85069},{"type":426,"tag":553,"props":131767,"children":131768},{"class":555,"line":1856},[131769],{"type":426,"tag":553,"props":131770,"children":131771},{"style":684},[131772],{"type":431,"value":55916},{"type":426,"tag":553,"props":131774,"children":131775},{"class":555,"line":1874},[131776],{"type":426,"tag":553,"props":131777,"children":131778},{"emptyLinePlaceholder":831},[131779],{"type":431,"value":834},{"type":426,"tag":553,"props":131781,"children":131782},{"class":555,"line":1882},[131783,131787,131791,131795,131799,131803,131807,131811,131815,131819,131824],{"type":426,"tag":553,"props":131784,"children":131785},{"style":684},[131786],{"type":431,"value":84565},{"type":426,"tag":553,"props":131788,"children":131789},{"style":560},[131790],{"type":431,"value":85688},{"type":426,"tag":553,"props":131792,"children":131793},{"style":684},[131794],{"type":431,"value":3275},{"type":426,"tag":553,"props":131796,"children":131797},{"style":566},[131798],{"type":431,"value":65954},{"type":426,"tag":553,"props":131800,"children":131801},{"style":684},[131802],{"type":431,"value":85701},{"type":426,"tag":553,"props":131804,"children":131805},{"style":795},[131806],{"type":431,"value":74581},{"type":426,"tag":553,"props":131808,"children":131809},{"style":684},[131810],{"type":431,"value":53714},{"type":426,"tag":553,"props":131812,"children":131813},{"style":560},[131814],{"type":431,"value":53719},{"type":426,"tag":553,"props":131816,"children":131817},{"style":684},[131818],{"type":431,"value":3275},{"type":426,"tag":553,"props":131820,"children":131821},{"style":572},[131822],{"type":431,"value":131823},"\"Chatbot on port 3000\"",{"type":426,"tag":553,"props":131825,"children":131826},{"style":684},[131827],{"type":431,"value":61669},{"type":426,"tag":434,"props":131829,"children":131830},{"id":4109},[131831],{"type":431,"value":4112},{"type":426,"tag":427,"props":131833,"children":131834},{},[131835,131840],{"type":426,"tag":446,"props":131836,"children":131837},{},[131838],{"type":431,"value":131839},"Do I need a special framework to build a WhatsApp chatbot with Rapiwa?",{"type":431,"value":131841},"\nNo. A basic HTTP server (Flask, Express, any web framework) is all you need. Receive webhooks, process messages, and send replies via the Rapiwa API.",{"type":426,"tag":427,"props":131843,"children":131844},{},[131845,131850,131852,131858],{"type":426,"tag":446,"props":131846,"children":131847},{},[131848],{"type":431,"value":131849},"How do I add AI to my WhatsApp chatbot?",{"type":431,"value":131851},"\nConnect OpenAI's GPT-4 API (or Google's Gemini) to your webhook handler. Pass the customer message to GPT-4, get a reply, and send it back via Rapiwa. For a no-code version, use the ",{"type":426,"tag":3819,"props":131853,"children":131855},{"href":18864,"rel":131854},[3823],[131856],{"type":431,"value":131857},"n8n GPT-4 support bot template",{"type":431,"value":6789},{"type":426,"tag":427,"props":131860,"children":131861},{},[131862,131867],{"type":426,"tag":446,"props":131863,"children":131864},{},[131865],{"type":431,"value":131866},"Can I maintain conversation history for multi-turn conversations?",{"type":431,"value":131868},"\nYes. Store conversation state in a dictionary (simple), Redis (production), or a database. The state management example above shows the pattern.",{"type":426,"tag":427,"props":131870,"children":131871},{},[131872,131877],{"type":426,"tag":446,"props":131873,"children":131874},{},[131875],{"type":431,"value":131876},"How do I deploy my chatbot webhook to production?",{"type":431,"value":131878},"\nDeploy to Railway, Fly.io, Render, or any VPS with a public IP and HTTPS. Update your Rapiwa webhook URL to the production URL.",{"type":426,"tag":427,"props":131880,"children":131881},{},[131882,131887],{"type":426,"tag":446,"props":131883,"children":131884},{},[131885],{"type":431,"value":131886},"What happens if my chatbot server is down?",{"type":431,"value":131888},"\nRapiwa will retry webhook delivery. Incoming messages are queued and delivered when your server comes back online, within the retry window.",{"type":426,"tag":4164,"props":131890,"children":131891},{},[131892],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":131894},[131895,131896,131897,131902,131903,131904,131905],{"id":127315,"depth":588,"text":127318},{"id":47624,"depth":588,"text":47627},{"id":127390,"depth":588,"text":127393,"children":131898},[131899,131900,131901],{"id":127396,"depth":606,"text":127399},{"id":128972,"depth":606,"text":128975},{"id":65978,"depth":606,"text":65981},{"id":129051,"depth":588,"text":129054},{"id":130159,"depth":588,"text":130162},{"id":130981,"depth":588,"text":130984},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-build-whatsapp-chatbot-rapiwa-api.md","blog\u002Fhow-to-build-whatsapp-chatbot-rapiwa-api.md","blog\u002Fhow-to-build-whatsapp-chatbot-rapiwa-api",{"loc":185},{"_path":189,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":190,"description":191,"date":131911,"author":47538,"category":22,"_slug":131912,"image":131913,"body":131914,"_type":4187,"_id":133620,"_source":4189,"_file":133621,"_stem":133622,"_extension":4192,"sitemap":133623},"2026-02-02","how-to-add-whatsapp-order-notifications-woocommerce","\u002Fimages\u002Fblog\u002Fhow-to-add-whatsapp-order-notifications-woocommerce.svg",{"type":423,"children":131915,"toc":133607},[131916,131930,131936,131941,131981,131987,131992,131998,132032,132038,132080,132086,132166,132171,132177,132182,133216,133221,133257,133263,133268,133405,133413,133453,133459,133464,133485,133490,133496,133519,133523,133533,133543,133575,133585,133603],{"type":426,"tag":427,"props":131917,"children":131918},{},[131919,131921,131928],{"type":431,"value":131920},"Add WhatsApp order notifications to WooCommerce in 5 minutes using the ",{"type":426,"tag":3819,"props":131922,"children":131925},{"href":131923,"rel":131924},"https:\u002F\u002Fgithub.com\u002Fmannanzinat\u002FRapiwa-WP",[3823],[131926],{"type":431,"value":131927},"Rapiwa WooCommerce plugin",{"type":431,"value":131929}," — zero coding required. Install the plugin, enter your Rapiwa API key ($5\u002Fmonth), configure which order statuses trigger messages, and every WooCommerce order automatically sends a WhatsApp notification to the customer.",{"type":426,"tag":434,"props":131931,"children":131933},{"id":131932},"why-add-whatsapp-notifications-to-woocommerce",[131934],{"type":431,"value":131935},"Why Add WhatsApp Notifications to WooCommerce?",{"type":426,"tag":427,"props":131937,"children":131938},{},[131939],{"type":431,"value":131940},"WooCommerce email notifications have a 20% open rate. WhatsApp notifications achieve 98%. WooCommerce stores that add WhatsApp order notifications see:",{"type":426,"tag":454,"props":131942,"children":131943},{},[131944,131952,131961,131971],{"type":426,"tag":458,"props":131945,"children":131946},{},[131947,131951],{"type":426,"tag":446,"props":131948,"children":131949},{},[131950],{"type":431,"value":43174},{"type":431,"value":118771},{"type":426,"tag":458,"props":131953,"children":131954},{},[131955,131959],{"type":426,"tag":446,"props":131956,"children":131957},{},[131958],{"type":431,"value":38658},{"type":431,"value":131960}," on order confirmations vs 20% for email",{"type":426,"tag":458,"props":131962,"children":131963},{},[131964,131969],{"type":426,"tag":446,"props":131965,"children":131966},{},[131967],{"type":431,"value":131968},"Faster customer response",{"type":431,"value":131970}," when issues arise",{"type":426,"tag":458,"props":131972,"children":131973},{},[131974,131979],{"type":426,"tag":446,"props":131975,"children":131976},{},[131977],{"type":431,"value":131978},"2–3x faster payment",{"type":431,"value":131980}," when invoices are delivered via WhatsApp",{"type":426,"tag":434,"props":131982,"children":131984},{"id":131983},"method-1-rapiwa-woocommerce-plugin-zero-code",[131985],{"type":431,"value":131986},"Method 1: Rapiwa WooCommerce Plugin (Zero Code)",{"type":426,"tag":427,"props":131988,"children":131989},{},[131990],{"type":431,"value":131991},"The Rapiwa WooCommerce plugin is the easiest way to add WhatsApp notifications — no n8n, no webhooks, no code.",{"type":426,"tag":515,"props":131993,"children":131995},{"id":131994},"step-1-get-your-rapiwa-api-key",[131996],{"type":431,"value":131997},"Step 1: Get Your Rapiwa API Key",{"type":426,"tag":6331,"props":131999,"children":132000},{},[132001,132012,132017,132022,132027],{"type":426,"tag":458,"props":132002,"children":132003},{},[132004,132005,132010],{"type":431,"value":3817},{"type":426,"tag":3819,"props":132006,"children":132008},{"href":3821,"rel":132007},[3823],[132009],{"type":431,"value":3826},{"type":431,"value":132011}," (free 3-day trial)",{"type":426,"tag":458,"props":132013,"children":132014},{},[132015],{"type":431,"value":132016},"Go to Dashboard → Devices → Add Device",{"type":426,"tag":458,"props":132018,"children":132019},{},[132020],{"type":431,"value":132021},"Scan the QR code with WhatsApp on your phone",{"type":426,"tag":458,"props":132023,"children":132024},{},[132025],{"type":431,"value":132026},"Go to Dashboard → API Keys → Generate Key",{"type":426,"tag":458,"props":132028,"children":132029},{},[132030],{"type":431,"value":132031},"Copy your API key",{"type":426,"tag":515,"props":132033,"children":132035},{"id":132034},"step-2-install-the-plugin",[132036],{"type":431,"value":132037},"Step 2: Install the Plugin",{"type":426,"tag":6331,"props":132039,"children":132040},{},[132041,132052,132061,132071],{"type":426,"tag":458,"props":132042,"children":132043},{},[132044,132046],{"type":431,"value":132045},"Download the plugin from ",{"type":426,"tag":3819,"props":132047,"children":132049},{"href":131923,"rel":132048},[3823],[132050],{"type":431,"value":132051},"GitHub: mannanzinat\u002FRapiwa-WP",{"type":426,"tag":458,"props":132053,"children":132054},{},[132055,132056],{"type":431,"value":119089},{"type":426,"tag":446,"props":132057,"children":132058},{},[132059],{"type":431,"value":132060},"Plugins → Add New → Upload Plugin",{"type":426,"tag":458,"props":132062,"children":132063},{},[132064,132066],{"type":431,"value":132065},"Choose the downloaded zip file → ",{"type":426,"tag":446,"props":132067,"children":132068},{},[132069],{"type":431,"value":132070},"Install Now",{"type":426,"tag":458,"props":132072,"children":132073},{},[132074,132075],{"type":431,"value":47857},{"type":426,"tag":446,"props":132076,"children":132077},{},[132078],{"type":431,"value":132079},"Activate Plugin",{"type":426,"tag":515,"props":132081,"children":132083},{"id":132082},"step-3-configure-the-plugin",[132084],{"type":431,"value":132085},"Step 3: Configure the Plugin",{"type":426,"tag":6331,"props":132087,"children":132088},{},[132089,132105,132110,132158],{"type":426,"tag":458,"props":132090,"children":132091},{},[132092,132093,132098,132099,132104],{"type":431,"value":47846},{"type":426,"tag":446,"props":132094,"children":132095},{},[132096],{"type":431,"value":132097},"WooCommerce → Settings → Rapiwa",{"type":431,"value":114029},{"type":426,"tag":446,"props":132100,"children":132101},{},[132102],{"type":431,"value":132103},"WooCommerce → Rapiwa",{"type":431,"value":5736},{"type":426,"tag":458,"props":132106,"children":132107},{},[132108],{"type":431,"value":132109},"Enter your Rapiwa API key",{"type":426,"tag":458,"props":132111,"children":132112},{},[132113,132115],{"type":431,"value":132114},"Configure message templates for each order status:\n",{"type":426,"tag":454,"props":132116,"children":132117},{},[132118,132128,132138,132148],{"type":426,"tag":458,"props":132119,"children":132120},{},[132121,132126],{"type":426,"tag":446,"props":132122,"children":132123},{},[132124],{"type":431,"value":132125},"Order Pending",{"type":431,"value":132127},": \"Your order #{order_id} is pending payment.\"",{"type":426,"tag":458,"props":132129,"children":132130},{},[132131,132136],{"type":426,"tag":446,"props":132132,"children":132133},{},[132134],{"type":431,"value":132135},"Order Processing",{"type":431,"value":132137},": \"Hi {customer_name}! Order #{order_id} is being processed.\"",{"type":426,"tag":458,"props":132139,"children":132140},{},[132141,132146],{"type":426,"tag":446,"props":132142,"children":132143},{},[132144],{"type":431,"value":132145},"Order Completed",{"type":431,"value":132147},": \"Your order #{order_id} is complete! Thank you for shopping with us.\"",{"type":426,"tag":458,"props":132149,"children":132150},{},[132151,132156],{"type":426,"tag":446,"props":132152,"children":132153},{},[132154],{"type":431,"value":132155},"Order Refunded",{"type":431,"value":132157},": \"Your refund for order #{order_id} has been processed.\"",{"type":426,"tag":458,"props":132159,"children":132160},{},[132161,132162],{"type":431,"value":47857},{"type":426,"tag":446,"props":132163,"children":132164},{},[132165],{"type":431,"value":66022},{"type":426,"tag":427,"props":132167,"children":132168},{},[132169],{"type":431,"value":132170},"From now on, every WooCommerce order triggers an automatic WhatsApp notification.",{"type":426,"tag":515,"props":132172,"children":132174},{"id":132173},"custom-php-add-notifications-manually",[132175],{"type":431,"value":132176},"Custom PHP: Add Notifications Manually",{"type":426,"tag":427,"props":132178,"children":132179},{},[132180],{"type":431,"value":132181},"If you prefer to write your own hook instead of the plugin:",{"type":426,"tag":542,"props":132183,"children":132185},{"className":79948,"code":132184,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F In your theme's functions.php or a custom plugin\n\nadd_action('woocommerce_order_status_processing', 'rapiwa_whatsapp_notify');\nadd_action('woocommerce_order_status_completed', 'rapiwa_whatsapp_notify');\n\nfunction rapiwa_whatsapp_notify($order_id) {\n    $order = wc_get_order($order_id);\n    if (!$order) return;\n    \n    \u002F\u002F Get customer phone\n    $phone = $order->get_billing_phone();\n    \u002F\u002F Clean phone: remove +, spaces, dashes, parentheses\n    $phone = preg_replace('\u002F[^0-9]\u002F', '', $phone);\n    \n    if (empty($phone)) {\n        error_log(\"Rapiwa: No phone number for order #{$order_id}\");\n        return;\n    }\n    \n    $customer_name = $order->get_billing_first_name();\n    $order_total = $order->get_total();\n    $status = $order->get_status();\n    \n    \u002F\u002F Build message based on status\n    if ($status === 'processing') {\n        $message = \"*Order Confirmed!* 🛒\\n\\n\";\n        $message .= \"Hi {$customer_name}!\\n\";\n        $message .= \"Order #{$order_id}\\n\";\n        $message .= \"Total: $\" . number_format($order_total, 2) . \"\\n\\n\";\n        $message .= \"We're preparing your order now. You'll get another message when it ships.\";\n    } else {\n        $message = \"*Order Completed!* ✅\\n\\n\";\n        $message .= \"Hi {$customer_name}! Your order #{$order_id} is complete.\\n\\n\";\n        $message .= \"Thank you for shopping with us! 🙏\";\n    }\n    \n    \u002F\u002F Send via Rapiwa API\n    $api_key = get_option('rapiwa_api_key');\n    $response = wp_remote_post('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', [\n        'headers' => [\n            'Authorization' => 'Bearer ' . $api_key,\n            'Content-Type'  => 'application\u002Fjson',\n        ],\n        'body'    => json_encode(['number' => $phone, 'message' => $message]),\n        'timeout' => 10,\n    ]);\n    \n    if (is_wp_error($response)) {\n        error_log('Rapiwa WhatsApp Error: ' . $response->get_error_message());\n    }\n}\n",[132186],{"type":426,"tag":549,"props":132187,"children":132188},{"__ignoreMap":417},[132189,132200,132208,132215,132244,132271,132278,132295,132314,132342,132349,132357,132384,132392,132435,132442,132463,132491,132502,132509,132516,132544,132573,132602,132609,132617,132642,132670,132706,132742,132800,132820,132835,132863,132908,132928,132935,132942,132950,132977,133004,133019,133043,133062,133069,133114,133133,133140,133147,133166,133202,133209],{"type":426,"tag":553,"props":132190,"children":132191},{"class":555,"line":556},[132192,132196],{"type":426,"tag":553,"props":132193,"children":132194},{"style":795},[132195],{"type":431,"value":86379},{"type":426,"tag":553,"props":132197,"children":132198},{"style":566},[132199],{"type":431,"value":86384},{"type":426,"tag":553,"props":132201,"children":132202},{"class":555,"line":588},[132203],{"type":426,"tag":553,"props":132204,"children":132205},{"style":1975},[132206],{"type":431,"value":132207},"\u002F\u002F In your theme's functions.php or a custom plugin\n",{"type":426,"tag":553,"props":132209,"children":132210},{"class":555,"line":606},[132211],{"type":426,"tag":553,"props":132212,"children":132213},{"emptyLinePlaceholder":831},[132214],{"type":431,"value":834},{"type":426,"tag":553,"props":132216,"children":132217},{"class":555,"line":623},[132218,132222,132226,132231,132235,132240],{"type":426,"tag":553,"props":132219,"children":132220},{"style":560},[132221],{"type":431,"value":90207},{"type":426,"tag":553,"props":132223,"children":132224},{"style":684},[132225],{"type":431,"value":3275},{"type":426,"tag":553,"props":132227,"children":132228},{"style":572},[132229],{"type":431,"value":132230},"'woocommerce_order_status_processing'",{"type":426,"tag":553,"props":132232,"children":132233},{"style":684},[132234],{"type":431,"value":1907},{"type":426,"tag":553,"props":132236,"children":132237},{"style":572},[132238],{"type":431,"value":132239},"'rapiwa_whatsapp_notify'",{"type":426,"tag":553,"props":132241,"children":132242},{"style":684},[132243],{"type":431,"value":11379},{"type":426,"tag":553,"props":132245,"children":132246},{"class":555,"line":637},[132247,132251,132255,132259,132263,132267],{"type":426,"tag":553,"props":132248,"children":132249},{"style":560},[132250],{"type":431,"value":90207},{"type":426,"tag":553,"props":132252,"children":132253},{"style":684},[132254],{"type":431,"value":3275},{"type":426,"tag":553,"props":132256,"children":132257},{"style":572},[132258],{"type":431,"value":90216},{"type":426,"tag":553,"props":132260,"children":132261},{"style":684},[132262],{"type":431,"value":1907},{"type":426,"tag":553,"props":132264,"children":132265},{"style":572},[132266],{"type":431,"value":132239},{"type":426,"tag":553,"props":132268,"children":132269},{"style":684},[132270],{"type":431,"value":11379},{"type":426,"tag":553,"props":132272,"children":132273},{"class":555,"line":646},[132274],{"type":426,"tag":553,"props":132275,"children":132276},{"emptyLinePlaceholder":831},[132277],{"type":431,"value":834},{"type":426,"tag":553,"props":132279,"children":132280},{"class":555,"line":655},[132281,132285,132290],{"type":426,"tag":553,"props":132282,"children":132283},{"style":795},[132284],{"type":431,"value":79962},{"type":426,"tag":553,"props":132286,"children":132287},{"style":560},[132288],{"type":431,"value":132289}," rapiwa_whatsapp_notify",{"type":426,"tag":553,"props":132291,"children":132292},{"style":684},[132293],{"type":431,"value":132294},"($order_id) {\n",{"type":426,"tag":553,"props":132296,"children":132297},{"class":555,"line":1036},[132298,132302,132306,132310],{"type":426,"tag":553,"props":132299,"children":132300},{"style":684},[132301],{"type":431,"value":90245},{"type":426,"tag":553,"props":132303,"children":132304},{"style":795},[132305],{"type":431,"value":957},{"type":426,"tag":553,"props":132307,"children":132308},{"style":560},[132309],{"type":431,"value":90254},{"type":426,"tag":553,"props":132311,"children":132312},{"style":684},[132313],{"type":431,"value":90259},{"type":426,"tag":553,"props":132315,"children":132316},{"class":555,"line":1054},[132317,132321,132325,132329,132334,132338],{"type":426,"tag":553,"props":132318,"children":132319},{"style":795},[132320],{"type":431,"value":925},{"type":426,"tag":553,"props":132322,"children":132323},{"style":684},[132324],{"type":431,"value":5684},{"type":426,"tag":553,"props":132326,"children":132327},{"style":795},[132328],{"type":431,"value":4651},{"type":426,"tag":553,"props":132330,"children":132331},{"style":684},[132332],{"type":431,"value":132333},"$order) ",{"type":426,"tag":553,"props":132335,"children":132336},{"style":795},[132337],{"type":431,"value":84821},{"type":426,"tag":553,"props":132339,"children":132340},{"style":684},[132341],{"type":431,"value":52321},{"type":426,"tag":553,"props":132343,"children":132344},{"class":555,"line":1080},[132345],{"type":426,"tag":553,"props":132346,"children":132347},{"style":684},[132348],{"type":431,"value":917},{"type":426,"tag":553,"props":132350,"children":132351},{"class":555,"line":1097},[132352],{"type":426,"tag":553,"props":132353,"children":132354},{"style":1975},[132355],{"type":431,"value":132356},"    \u002F\u002F Get customer phone\n",{"type":426,"tag":553,"props":132358,"children":132359},{"class":555,"line":1114},[132360,132364,132368,132372,132376,132380],{"type":426,"tag":553,"props":132361,"children":132362},{"style":684},[132363],{"type":431,"value":90267},{"type":426,"tag":553,"props":132365,"children":132366},{"style":795},[132367],{"type":431,"value":957},{"type":426,"tag":553,"props":132369,"children":132370},{"style":684},[132371],{"type":431,"value":90276},{"type":426,"tag":553,"props":132373,"children":132374},{"style":795},[132375],{"type":431,"value":70711},{"type":426,"tag":553,"props":132377,"children":132378},{"style":560},[132379],{"type":431,"value":90285},{"type":426,"tag":553,"props":132381,"children":132382},{"style":684},[132383],{"type":431,"value":53227},{"type":426,"tag":553,"props":132385,"children":132386},{"class":555,"line":1127},[132387],{"type":426,"tag":553,"props":132388,"children":132389},{"style":1975},[132390],{"type":431,"value":132391},"    \u002F\u002F Clean phone: remove +, spaces, dashes, parentheses\n",{"type":426,"tag":553,"props":132393,"children":132394},{"class":555,"line":1167},[132395,132399,132403,132407,132411,132415,132419,132423,132427,132431],{"type":426,"tag":553,"props":132396,"children":132397},{"style":684},[132398],{"type":431,"value":90267},{"type":426,"tag":553,"props":132400,"children":132401},{"style":795},[132402],{"type":431,"value":957},{"type":426,"tag":553,"props":132404,"children":132405},{"style":566},[132406],{"type":431,"value":90568},{"type":426,"tag":553,"props":132408,"children":132409},{"style":684},[132410],{"type":431,"value":3275},{"type":426,"tag":553,"props":132412,"children":132413},{"style":572},[132414],{"type":431,"value":90577},{"type":426,"tag":553,"props":132416,"children":132417},{"style":90580},[132418],{"type":431,"value":90583},{"type":426,"tag":553,"props":132420,"children":132421},{"style":572},[132422],{"type":431,"value":90588},{"type":426,"tag":553,"props":132424,"children":132425},{"style":684},[132426],{"type":431,"value":1907},{"type":426,"tag":553,"props":132428,"children":132429},{"style":572},[132430],{"type":431,"value":13605},{"type":426,"tag":553,"props":132432,"children":132433},{"style":684},[132434],{"type":431,"value":90601},{"type":426,"tag":553,"props":132436,"children":132437},{"class":555,"line":1184},[132438],{"type":426,"tag":553,"props":132439,"children":132440},{"style":684},[132441],{"type":431,"value":917},{"type":426,"tag":553,"props":132443,"children":132444},{"class":555,"line":1192},[132445,132449,132453,132458],{"type":426,"tag":553,"props":132446,"children":132447},{"style":795},[132448],{"type":431,"value":925},{"type":426,"tag":553,"props":132450,"children":132451},{"style":684},[132452],{"type":431,"value":5684},{"type":426,"tag":553,"props":132454,"children":132455},{"style":566},[132456],{"type":431,"value":132457},"empty",{"type":426,"tag":553,"props":132459,"children":132460},{"style":684},[132461],{"type":431,"value":132462},"($phone)) {\n",{"type":426,"tag":553,"props":132464,"children":132465},{"class":555,"line":1210},[132466,132470,132474,132479,132483,132487],{"type":426,"tag":553,"props":132467,"children":132468},{"style":566},[132469],{"type":431,"value":90047},{"type":426,"tag":553,"props":132471,"children":132472},{"style":684},[132473],{"type":431,"value":3275},{"type":426,"tag":553,"props":132475,"children":132476},{"style":572},[132477],{"type":431,"value":132478},"\"Rapiwa: No phone number for order #{",{"type":426,"tag":553,"props":132480,"children":132481},{"style":684},[132482],{"type":431,"value":90348},{"type":426,"tag":553,"props":132484,"children":132485},{"style":572},[132486],{"type":431,"value":67316},{"type":426,"tag":553,"props":132488,"children":132489},{"style":684},[132490],{"type":431,"value":11379},{"type":426,"tag":553,"props":132492,"children":132493},{"class":555,"line":1253},[132494,132498],{"type":426,"tag":553,"props":132495,"children":132496},{"style":795},[132497],{"type":431,"value":8378},{"type":426,"tag":553,"props":132499,"children":132500},{"style":684},[132501],{"type":431,"value":52321},{"type":426,"tag":553,"props":132503,"children":132504},{"class":555,"line":1302},[132505],{"type":426,"tag":553,"props":132506,"children":132507},{"style":684},[132508],{"type":431,"value":5546},{"type":426,"tag":553,"props":132510,"children":132511},{"class":555,"line":1374},[132512],{"type":426,"tag":553,"props":132513,"children":132514},{"style":684},[132515],{"type":431,"value":917},{"type":426,"tag":553,"props":132517,"children":132518},{"class":555,"line":1414},[132519,132524,132528,132532,132536,132540],{"type":426,"tag":553,"props":132520,"children":132521},{"style":684},[132522],{"type":431,"value":132523},"    $customer_name ",{"type":426,"tag":553,"props":132525,"children":132526},{"style":795},[132527],{"type":431,"value":957},{"type":426,"tag":553,"props":132529,"children":132530},{"style":684},[132531],{"type":431,"value":90276},{"type":426,"tag":553,"props":132533,"children":132534},{"style":795},[132535],{"type":431,"value":70711},{"type":426,"tag":553,"props":132537,"children":132538},{"style":560},[132539],{"type":431,"value":90338},{"type":426,"tag":553,"props":132541,"children":132542},{"style":684},[132543],{"type":431,"value":53227},{"type":426,"tag":553,"props":132545,"children":132546},{"class":555,"line":1479},[132547,132552,132556,132560,132564,132569],{"type":426,"tag":553,"props":132548,"children":132549},{"style":684},[132550],{"type":431,"value":132551},"    $order_total ",{"type":426,"tag":553,"props":132553,"children":132554},{"style":795},[132555],{"type":431,"value":957},{"type":426,"tag":553,"props":132557,"children":132558},{"style":684},[132559],{"type":431,"value":90276},{"type":426,"tag":553,"props":132561,"children":132562},{"style":795},[132563],{"type":431,"value":70711},{"type":426,"tag":553,"props":132565,"children":132566},{"style":560},[132567],{"type":431,"value":132568},"get_total",{"type":426,"tag":553,"props":132570,"children":132571},{"style":684},[132572],{"type":431,"value":53227},{"type":426,"tag":553,"props":132574,"children":132575},{"class":555,"line":1517},[132576,132581,132585,132589,132593,132598],{"type":426,"tag":553,"props":132577,"children":132578},{"style":684},[132579],{"type":431,"value":132580},"    $status ",{"type":426,"tag":553,"props":132582,"children":132583},{"style":795},[132584],{"type":431,"value":957},{"type":426,"tag":553,"props":132586,"children":132587},{"style":684},[132588],{"type":431,"value":90276},{"type":426,"tag":553,"props":132590,"children":132591},{"style":795},[132592],{"type":431,"value":70711},{"type":426,"tag":553,"props":132594,"children":132595},{"style":560},[132596],{"type":431,"value":132597},"get_status",{"type":426,"tag":553,"props":132599,"children":132600},{"style":684},[132601],{"type":431,"value":53227},{"type":426,"tag":553,"props":132603,"children":132604},{"class":555,"line":1560},[132605],{"type":426,"tag":553,"props":132606,"children":132607},{"style":684},[132608],{"type":431,"value":917},{"type":426,"tag":553,"props":132610,"children":132611},{"class":555,"line":1598},[132612],{"type":426,"tag":553,"props":132613,"children":132614},{"style":1975},[132615],{"type":431,"value":132616},"    \u002F\u002F Build message based on status\n",{"type":426,"tag":553,"props":132618,"children":132619},{"class":555,"line":1636},[132620,132624,132629,132633,132638],{"type":426,"tag":553,"props":132621,"children":132622},{"style":795},[132623],{"type":431,"value":925},{"type":426,"tag":553,"props":132625,"children":132626},{"style":684},[132627],{"type":431,"value":132628}," ($status ",{"type":426,"tag":553,"props":132630,"children":132631},{"style":795},[132632],{"type":431,"value":55042},{"type":426,"tag":553,"props":132634,"children":132635},{"style":572},[132636],{"type":431,"value":132637}," 'processing'",{"type":426,"tag":553,"props":132639,"children":132640},{"style":684},[132641],{"type":431,"value":52385},{"type":426,"tag":553,"props":132643,"children":132644},{"class":555,"line":1645},[132645,132649,132653,132658,132662,132666],{"type":426,"tag":553,"props":132646,"children":132647},{"style":684},[132648],{"type":431,"value":88949},{"type":426,"tag":553,"props":132650,"children":132651},{"style":795},[132652],{"type":431,"value":957},{"type":426,"tag":553,"props":132654,"children":132655},{"style":572},[132656],{"type":431,"value":132657}," \"*Order Confirmed!* 🛒",{"type":426,"tag":553,"props":132659,"children":132660},{"style":566},[132661],{"type":431,"value":1295},{"type":426,"tag":553,"props":132663,"children":132664},{"style":572},[132665],{"type":431,"value":1527},{"type":426,"tag":553,"props":132667,"children":132668},{"style":684},[132669],{"type":431,"value":52321},{"type":426,"tag":553,"props":132671,"children":132672},{"class":555,"line":1653},[132673,132677,132681,132685,132690,132694,132698,132702],{"type":426,"tag":553,"props":132674,"children":132675},{"style":684},[132676],{"type":431,"value":88949},{"type":426,"tag":553,"props":132678,"children":132679},{"style":795},[132680],{"type":431,"value":123687},{"type":426,"tag":553,"props":132682,"children":132683},{"style":572},[132684],{"type":431,"value":90324},{"type":426,"tag":553,"props":132686,"children":132687},{"style":684},[132688],{"type":431,"value":132689},"$customer_name",{"type":426,"tag":553,"props":132691,"children":132692},{"style":572},[132693],{"type":431,"value":52905},{"type":426,"tag":553,"props":132695,"children":132696},{"style":566},[132697],{"type":431,"value":3661},{"type":426,"tag":553,"props":132699,"children":132700},{"style":572},[132701],{"type":431,"value":1527},{"type":426,"tag":553,"props":132703,"children":132704},{"style":684},[132705],{"type":431,"value":52321},{"type":426,"tag":553,"props":132707,"children":132708},{"class":555,"line":1667},[132709,132713,132717,132722,132726,132730,132734,132738],{"type":426,"tag":553,"props":132710,"children":132711},{"style":684},[132712],{"type":431,"value":88949},{"type":426,"tag":553,"props":132714,"children":132715},{"style":795},[132716],{"type":431,"value":123687},{"type":426,"tag":553,"props":132718,"children":132719},{"style":572},[132720],{"type":431,"value":132721}," \"Order #{",{"type":426,"tag":553,"props":132723,"children":132724},{"style":684},[132725],{"type":431,"value":90348},{"type":426,"tag":553,"props":132727,"children":132728},{"style":572},[132729],{"type":431,"value":982},{"type":426,"tag":553,"props":132731,"children":132732},{"style":566},[132733],{"type":431,"value":3661},{"type":426,"tag":553,"props":132735,"children":132736},{"style":572},[132737],{"type":431,"value":1527},{"type":426,"tag":553,"props":132739,"children":132740},{"style":684},[132741],{"type":431,"value":52321},{"type":426,"tag":553,"props":132743,"children":132744},{"class":555,"line":1680},[132745,132749,132753,132758,132762,132767,132772,132776,132780,132784,132788,132792,132796],{"type":426,"tag":553,"props":132746,"children":132747},{"style":684},[132748],{"type":431,"value":88949},{"type":426,"tag":553,"props":132750,"children":132751},{"style":795},[132752],{"type":431,"value":123687},{"type":426,"tag":553,"props":132754,"children":132755},{"style":572},[132756],{"type":431,"value":132757}," \"Total: $\"",{"type":426,"tag":553,"props":132759,"children":132760},{"style":795},[132761],{"type":431,"value":87022},{"type":426,"tag":553,"props":132763,"children":132764},{"style":566},[132765],{"type":431,"value":132766}," number_format",{"type":426,"tag":553,"props":132768,"children":132769},{"style":684},[132770],{"type":431,"value":132771},"($order_total, ",{"type":426,"tag":553,"props":132773,"children":132774},{"style":566},[132775],{"type":431,"value":6533},{"type":426,"tag":553,"props":132777,"children":132778},{"style":684},[132779],{"type":431,"value":2987},{"type":426,"tag":553,"props":132781,"children":132782},{"style":795},[132783],{"type":431,"value":6789},{"type":426,"tag":553,"props":132785,"children":132786},{"style":572},[132787],{"type":431,"value":87350},{"type":426,"tag":553,"props":132789,"children":132790},{"style":566},[132791],{"type":431,"value":1295},{"type":426,"tag":553,"props":132793,"children":132794},{"style":572},[132795],{"type":431,"value":1527},{"type":426,"tag":553,"props":132797,"children":132798},{"style":684},[132799],{"type":431,"value":52321},{"type":426,"tag":553,"props":132801,"children":132802},{"class":555,"line":1740},[132803,132807,132811,132816],{"type":426,"tag":553,"props":132804,"children":132805},{"style":684},[132806],{"type":431,"value":88949},{"type":426,"tag":553,"props":132808,"children":132809},{"style":795},[132810],{"type":431,"value":123687},{"type":426,"tag":553,"props":132812,"children":132813},{"style":572},[132814],{"type":431,"value":132815}," \"We're preparing your order now. You'll get another message when it ships.\"",{"type":426,"tag":553,"props":132817,"children":132818},{"style":684},[132819],{"type":431,"value":52321},{"type":426,"tag":553,"props":132821,"children":132822},{"class":555,"line":1787},[132823,132827,132831],{"type":426,"tag":553,"props":132824,"children":132825},{"style":684},[132826],{"type":431,"value":105650},{"type":426,"tag":553,"props":132828,"children":132829},{"style":795},[132830],{"type":431,"value":61682},{"type":426,"tag":553,"props":132832,"children":132833},{"style":684},[132834],{"type":431,"value":5458},{"type":426,"tag":553,"props":132836,"children":132837},{"class":555,"line":1796},[132838,132842,132846,132851,132855,132859],{"type":426,"tag":553,"props":132839,"children":132840},{"style":684},[132841],{"type":431,"value":88949},{"type":426,"tag":553,"props":132843,"children":132844},{"style":795},[132845],{"type":431,"value":957},{"type":426,"tag":553,"props":132847,"children":132848},{"style":572},[132849],{"type":431,"value":132850}," \"*Order Completed!* ✅",{"type":426,"tag":553,"props":132852,"children":132853},{"style":566},[132854],{"type":431,"value":1295},{"type":426,"tag":553,"props":132856,"children":132857},{"style":572},[132858],{"type":431,"value":1527},{"type":426,"tag":553,"props":132860,"children":132861},{"style":684},[132862],{"type":431,"value":52321},{"type":426,"tag":553,"props":132864,"children":132865},{"class":555,"line":1804},[132866,132870,132874,132878,132882,132887,132891,132896,132900,132904],{"type":426,"tag":553,"props":132867,"children":132868},{"style":684},[132869],{"type":431,"value":88949},{"type":426,"tag":553,"props":132871,"children":132872},{"style":795},[132873],{"type":431,"value":123687},{"type":426,"tag":553,"props":132875,"children":132876},{"style":572},[132877],{"type":431,"value":90324},{"type":426,"tag":553,"props":132879,"children":132880},{"style":684},[132881],{"type":431,"value":132689},{"type":426,"tag":553,"props":132883,"children":132884},{"style":572},[132885],{"type":431,"value":132886},"}! Your order #{",{"type":426,"tag":553,"props":132888,"children":132889},{"style":684},[132890],{"type":431,"value":90348},{"type":426,"tag":553,"props":132892,"children":132893},{"style":572},[132894],{"type":431,"value":132895},"} is complete.",{"type":426,"tag":553,"props":132897,"children":132898},{"style":566},[132899],{"type":431,"value":1295},{"type":426,"tag":553,"props":132901,"children":132902},{"style":572},[132903],{"type":431,"value":1527},{"type":426,"tag":553,"props":132905,"children":132906},{"style":684},[132907],{"type":431,"value":52321},{"type":426,"tag":553,"props":132909,"children":132910},{"class":555,"line":1812},[132911,132915,132919,132924],{"type":426,"tag":553,"props":132912,"children":132913},{"style":684},[132914],{"type":431,"value":88949},{"type":426,"tag":553,"props":132916,"children":132917},{"style":795},[132918],{"type":431,"value":123687},{"type":426,"tag":553,"props":132920,"children":132921},{"style":572},[132922],{"type":431,"value":132923}," \"Thank you for shopping with us! 🙏\"",{"type":426,"tag":553,"props":132925,"children":132926},{"style":684},[132927],{"type":431,"value":52321},{"type":426,"tag":553,"props":132929,"children":132930},{"class":555,"line":1847},[132931],{"type":426,"tag":553,"props":132932,"children":132933},{"style":684},[132934],{"type":431,"value":5546},{"type":426,"tag":553,"props":132936,"children":132937},{"class":555,"line":1856},[132938],{"type":426,"tag":553,"props":132939,"children":132940},{"style":684},[132941],{"type":431,"value":917},{"type":426,"tag":553,"props":132943,"children":132944},{"class":555,"line":1874},[132945],{"type":426,"tag":553,"props":132946,"children":132947},{"style":1975},[132948],{"type":431,"value":132949},"    \u002F\u002F Send via Rapiwa API\n",{"type":426,"tag":553,"props":132951,"children":132952},{"class":555,"line":1882},[132953,132957,132961,132965,132969,132973],{"type":426,"tag":553,"props":132954,"children":132955},{"style":684},[132956],{"type":431,"value":108857},{"type":426,"tag":553,"props":132958,"children":132959},{"style":795},[132960],{"type":431,"value":957},{"type":426,"tag":553,"props":132962,"children":132963},{"style":560},[132964],{"type":431,"value":89907},{"type":426,"tag":553,"props":132966,"children":132967},{"style":684},[132968],{"type":431,"value":3275},{"type":426,"tag":553,"props":132970,"children":132971},{"style":572},[132972],{"type":431,"value":14901},{"type":426,"tag":553,"props":132974,"children":132975},{"style":684},[132976],{"type":431,"value":11379},{"type":426,"tag":553,"props":132978,"children":132979},{"class":555,"line":1981},[132980,132984,132988,132992,132996,133000],{"type":426,"tag":553,"props":132981,"children":132982},{"style":684},[132983],{"type":431,"value":86692},{"type":426,"tag":553,"props":132985,"children":132986},{"style":795},[132987],{"type":431,"value":957},{"type":426,"tag":553,"props":132989,"children":132990},{"style":560},[132991],{"type":431,"value":89833},{"type":426,"tag":553,"props":132993,"children":132994},{"style":684},[132995],{"type":431,"value":3275},{"type":426,"tag":553,"props":132997,"children":132998},{"style":572},[132999],{"type":431,"value":55802},{"type":426,"tag":553,"props":133001,"children":133002},{"style":684},[133003],{"type":431,"value":87886},{"type":426,"tag":553,"props":133005,"children":133006},{"class":555,"line":1989},[133007,133011,133015],{"type":426,"tag":553,"props":133008,"children":133009},{"style":572},[133010],{"type":431,"value":89873},{"type":426,"tag":553,"props":133012,"children":133013},{"style":795},[133014],{"type":431,"value":53709},{"type":426,"tag":553,"props":133016,"children":133017},{"style":684},[133018],{"type":431,"value":80133},{"type":426,"tag":553,"props":133020,"children":133021},{"class":555,"line":2013},[133022,133026,133030,133034,133038],{"type":426,"tag":553,"props":133023,"children":133024},{"style":572},[133025],{"type":431,"value":89889},{"type":426,"tag":553,"props":133027,"children":133028},{"style":795},[133029],{"type":431,"value":53709},{"type":426,"tag":553,"props":133031,"children":133032},{"style":572},[133033],{"type":431,"value":89898},{"type":426,"tag":553,"props":133035,"children":133036},{"style":795},[133037],{"type":431,"value":87022},{"type":426,"tag":553,"props":133039,"children":133040},{"style":684},[133041],{"type":431,"value":133042}," $api_key,\n",{"type":426,"tag":553,"props":133044,"children":133045},{"class":555,"line":2055},[133046,133050,133054,133058],{"type":426,"tag":553,"props":133047,"children":133048},{"style":572},[133049],{"type":431,"value":89927},{"type":426,"tag":553,"props":133051,"children":133052},{"style":795},[133053],{"type":431,"value":86642},{"type":426,"tag":553,"props":133055,"children":133056},{"style":572},[133057],{"type":431,"value":87742},{"type":426,"tag":553,"props":133059,"children":133060},{"style":684},[133061],{"type":431,"value":710},{"type":426,"tag":553,"props":133063,"children":133064},{"class":555,"line":2064},[133065],{"type":426,"tag":553,"props":133066,"children":133067},{"style":684},[133068],{"type":431,"value":80161},{"type":426,"tag":553,"props":133070,"children":133071},{"class":555,"line":2087},[133072,133076,133081,133085,133089,133093,133097,133101,133105,133109],{"type":426,"tag":553,"props":133073,"children":133074},{"style":572},[133075],{"type":431,"value":89954},{"type":426,"tag":553,"props":133077,"children":133078},{"style":795},[133079],{"type":431,"value":133080},"    =>",{"type":426,"tag":553,"props":133082,"children":133083},{"style":566},[133084],{"type":431,"value":80178},{"type":426,"tag":553,"props":133086,"children":133087},{"style":684},[133088],{"type":431,"value":74656},{"type":426,"tag":553,"props":133090,"children":133091},{"style":572},[133092],{"type":431,"value":1759},{"type":426,"tag":553,"props":133094,"children":133095},{"style":795},[133096],{"type":431,"value":53709},{"type":426,"tag":553,"props":133098,"children":133099},{"style":684},[133100],{"type":431,"value":79980},{"type":426,"tag":553,"props":133102,"children":133103},{"style":572},[133104],{"type":431,"value":1779},{"type":426,"tag":553,"props":133106,"children":133107},{"style":795},[133108],{"type":431,"value":53709},{"type":426,"tag":553,"props":133110,"children":133111},{"style":684},[133112],{"type":431,"value":133113}," $message]),\n",{"type":426,"tag":553,"props":133115,"children":133116},{"class":555,"line":2096},[133117,133121,133125,133129],{"type":426,"tag":553,"props":133118,"children":133119},{"style":572},[133120],{"type":431,"value":89853},{"type":426,"tag":553,"props":133122,"children":133123},{"style":795},[133124],{"type":431,"value":53709},{"type":426,"tag":553,"props":133126,"children":133127},{"style":566},[133128],{"type":431,"value":49700},{"type":426,"tag":553,"props":133130,"children":133131},{"style":684},[133132],{"type":431,"value":710},{"type":426,"tag":553,"props":133134,"children":133135},{"class":555,"line":2105},[133136],{"type":426,"tag":553,"props":133137,"children":133138},{"style":684},[133139],{"type":431,"value":80263},{"type":426,"tag":553,"props":133141,"children":133142},{"class":555,"line":2114},[133143],{"type":426,"tag":553,"props":133144,"children":133145},{"style":684},[133146],{"type":431,"value":917},{"type":426,"tag":553,"props":133148,"children":133149},{"class":555,"line":2123},[133150,133154,133158,133162],{"type":426,"tag":553,"props":133151,"children":133152},{"style":795},[133153],{"type":431,"value":925},{"type":426,"tag":553,"props":133155,"children":133156},{"style":684},[133157],{"type":431,"value":5684},{"type":426,"tag":553,"props":133159,"children":133160},{"style":560},[133161],{"type":431,"value":90034},{"type":426,"tag":553,"props":133163,"children":133164},{"style":684},[133165],{"type":431,"value":90039},{"type":426,"tag":553,"props":133167,"children":133168},{"class":555,"line":2132},[133169,133173,133177,133182,133186,133190,133194,133198],{"type":426,"tag":553,"props":133170,"children":133171},{"style":566},[133172],{"type":431,"value":90047},{"type":426,"tag":553,"props":133174,"children":133175},{"style":684},[133176],{"type":431,"value":3275},{"type":426,"tag":553,"props":133178,"children":133179},{"style":572},[133180],{"type":431,"value":133181},"'Rapiwa WhatsApp Error: '",{"type":426,"tag":553,"props":133183,"children":133184},{"style":795},[133185],{"type":431,"value":87022},{"type":426,"tag":553,"props":133187,"children":133188},{"style":684},[133189],{"type":431,"value":90064},{"type":426,"tag":553,"props":133191,"children":133192},{"style":795},[133193],{"type":431,"value":70711},{"type":426,"tag":553,"props":133195,"children":133196},{"style":560},[133197],{"type":431,"value":90073},{"type":426,"tag":553,"props":133199,"children":133200},{"style":684},[133201],{"type":431,"value":61503},{"type":426,"tag":553,"props":133203,"children":133204},{"class":555,"line":2151},[133205],{"type":426,"tag":553,"props":133206,"children":133207},{"style":684},[133208],{"type":431,"value":5546},{"type":426,"tag":553,"props":133210,"children":133211},{"class":555,"line":2160},[133212],{"type":426,"tag":553,"props":133213,"children":133214},{"style":684},[133215],{"type":431,"value":756},{"type":426,"tag":427,"props":133217,"children":133218},{},[133219],{"type":431,"value":133220},"Store your API key in WordPress options:",{"type":426,"tag":542,"props":133222,"children":133224},{"className":79948,"code":133223,"language":79950,"meta":417,"style":417},"update_option('rapiwa_api_key', 'YOUR_RAPIWA_KEY');\n",[133225],{"type":426,"tag":549,"props":133226,"children":133227},{"__ignoreMap":417},[133228],{"type":426,"tag":553,"props":133229,"children":133230},{"class":555,"line":556},[133231,133236,133240,133244,133248,133253],{"type":426,"tag":553,"props":133232,"children":133233},{"style":560},[133234],{"type":431,"value":133235},"update_option",{"type":426,"tag":553,"props":133237,"children":133238},{"style":684},[133239],{"type":431,"value":3275},{"type":426,"tag":553,"props":133241,"children":133242},{"style":572},[133243],{"type":431,"value":14901},{"type":426,"tag":553,"props":133245,"children":133246},{"style":684},[133247],{"type":431,"value":1907},{"type":426,"tag":553,"props":133249,"children":133250},{"style":572},[133251],{"type":431,"value":133252},"'YOUR_RAPIWA_KEY'",{"type":426,"tag":553,"props":133254,"children":133255},{"style":684},[133256],{"type":431,"value":11379},{"type":426,"tag":434,"props":133258,"children":133260},{"id":133259},"method-2-n8n-templates-more-powerful-still-no-code",[133261],{"type":431,"value":133262},"Method 2: n8n Templates (More Powerful, Still No Code)",{"type":426,"tag":427,"props":133264,"children":133265},{},[133266],{"type":431,"value":133267},"For more complex workflows (invoices, cross-sells, review requests), use Rapiwa's n8n templates:",{"type":426,"tag":10600,"props":133269,"children":133270},{},[133271,133291],{"type":426,"tag":10604,"props":133272,"children":133273},{},[133274],{"type":426,"tag":10608,"props":133275,"children":133276},{},[133277,133281,133286],{"type":426,"tag":10612,"props":133278,"children":133279},{},[133280],{"type":431,"value":18774},{"type":426,"tag":10612,"props":133282,"children":133283},{},[133284],{"type":431,"value":133285},"What it sends",{"type":426,"tag":10612,"props":133287,"children":133288},{},[133289],{"type":431,"value":133290},"n8n Installs",{"type":426,"tag":10623,"props":133292,"children":133293},{},[133294,133315,133336,133359,133382],{"type":426,"tag":10608,"props":133295,"children":133296},{},[133297,133306,133311],{"type":426,"tag":10630,"props":133298,"children":133299},{},[133300],{"type":426,"tag":3819,"props":133301,"children":133303},{"href":18796,"rel":133302},[3823],[133304],{"type":431,"value":133305},"Invoice on order complete",{"type":426,"tag":10630,"props":133307,"children":133308},{},[133309],{"type":431,"value":133310},"PDF invoice via WhatsApp",{"type":426,"tag":10630,"props":133312,"children":133313},{},[133314],{"type":431,"value":18810},{"type":426,"tag":10608,"props":133316,"children":133317},{},[133318,133327,133332],{"type":426,"tag":10630,"props":133319,"children":133320},{},[133321],{"type":426,"tag":3819,"props":133322,"children":133324},{"href":18819,"rel":133323},[3823],[133325],{"type":431,"value":133326},"Order status updates",{"type":426,"tag":10630,"props":133328,"children":133329},{},[133330],{"type":431,"value":133331},"Status change notifications",{"type":426,"tag":10630,"props":133333,"children":133334},{},[133335],{"type":431,"value":18832},{"type":426,"tag":10608,"props":133337,"children":133338},{},[133339,133349,133354],{"type":426,"tag":10630,"props":133340,"children":133341},{},[133342],{"type":426,"tag":3819,"props":133343,"children":133346},{"href":133344,"rel":133345},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9969",[3823],[133347],{"type":431,"value":133348},"Review request (3–5 days after delivery)",{"type":426,"tag":10630,"props":133350,"children":133351},{},[133352],{"type":431,"value":133353},"Review request with link",{"type":426,"tag":10630,"props":133355,"children":133356},{},[133357],{"type":431,"value":133358},"284",{"type":426,"tag":10608,"props":133360,"children":133361},{},[133362,133372,133377],{"type":426,"tag":10630,"props":133363,"children":133364},{},[133365],{"type":426,"tag":3819,"props":133366,"children":133369},{"href":133367,"rel":133368},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10141",[3823],[133370],{"type":431,"value":133371},"Cross-sell offers",{"type":426,"tag":10630,"props":133373,"children":133374},{},[133375],{"type":431,"value":133376},"Product recommendations",{"type":426,"tag":10630,"props":133378,"children":133379},{},[133380],{"type":431,"value":133381},"311",{"type":426,"tag":10608,"props":133383,"children":133384},{},[133385,133395,133400],{"type":426,"tag":10630,"props":133386,"children":133387},{},[133388],{"type":426,"tag":3819,"props":133389,"children":133392},{"href":133390,"rel":133391},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10140",[3823],[133393],{"type":431,"value":133394},"Discount coupons",{"type":426,"tag":10630,"props":133396,"children":133397},{},[133398],{"type":431,"value":133399},"Personalized coupon codes",{"type":426,"tag":10630,"props":133401,"children":133402},{},[133403],{"type":431,"value":133404},"163",{"type":426,"tag":427,"props":133406,"children":133407},{},[133408],{"type":426,"tag":446,"props":133409,"children":133410},{},[133411],{"type":431,"value":133412},"Setup for n8n templates:",{"type":426,"tag":6331,"props":133414,"children":133415},{},[133416,133429,133438,133443,133448],{"type":426,"tag":458,"props":133417,"children":133418},{},[133419,133420,133427],{"type":431,"value":3817},{"type":426,"tag":3819,"props":133421,"children":133424},{"href":133422,"rel":133423},"https:\u002F\u002Fn8n.io",[3823],[133425],{"type":431,"value":133426},"n8n.io",{"type":431,"value":133428}," (free tier)",{"type":426,"tag":458,"props":133430,"children":133431},{},[133432,133434],{"type":431,"value":133433},"Go to the template URL → ",{"type":426,"tag":446,"props":133435,"children":133436},{},[133437],{"type":431,"value":47862},{"type":426,"tag":458,"props":133439,"children":133440},{},[133441],{"type":431,"value":133442},"Add Rapiwa API key to the HTTP Request node",{"type":426,"tag":458,"props":133444,"children":133445},{},[133446],{"type":431,"value":133447},"Set up WooCommerce webhook URL in WooCommerce Settings → Advanced → Webhooks",{"type":426,"tag":458,"props":133449,"children":133450},{},[133451],{"type":431,"value":133452},"Activate",{"type":426,"tag":434,"props":133454,"children":133456},{"id":133455},"phone-number-collection-at-checkout",[133457],{"type":431,"value":133458},"Phone Number Collection at Checkout",{"type":426,"tag":427,"props":133460,"children":133461},{},[133462],{"type":431,"value":133463},"Your customers must provide their phone number at WooCommerce checkout. The default WooCommerce billing form includes a phone field. Ensure:",{"type":426,"tag":6331,"props":133465,"children":133466},{},[133467,133475,133480],{"type":426,"tag":458,"props":133468,"children":133469},{},[133470,133471],{"type":431,"value":47846},{"type":426,"tag":446,"props":133472,"children":133473},{},[133474],{"type":431,"value":120775},{"type":426,"tag":458,"props":133476,"children":133477},{},[133478],{"type":431,"value":133479},"Check \"Phone\" is set to Required (not Optional)",{"type":426,"tag":458,"props":133481,"children":133482},{},[133483],{"type":431,"value":133484},"Add placeholder text: \"International format, e.g. 8801234567890\"",{"type":426,"tag":427,"props":133486,"children":133487},{},[133488],{"type":431,"value":133489},"For international customers, consider adding a country code selector plugin to help them format numbers correctly.",{"type":426,"tag":434,"props":133491,"children":133493},{"id":133492},"testing-your-setup",[133494],{"type":431,"value":133495},"Testing Your Setup",{"type":426,"tag":6331,"props":133497,"children":133498},{},[133499,133504,133509,133514],{"type":426,"tag":458,"props":133500,"children":133501},{},[133502],{"type":431,"value":133503},"Place a test order in your WooCommerce store",{"type":426,"tag":458,"props":133505,"children":133506},{},[133507],{"type":431,"value":133508},"Manually change the order status to \"Processing\" in WooCommerce → Orders",{"type":426,"tag":458,"props":133510,"children":133511},{},[133512],{"type":431,"value":133513},"Check your WhatsApp — the notification should arrive within seconds",{"type":426,"tag":458,"props":133515,"children":133516},{},[133517],{"type":431,"value":133518},"Check the plugin logs (if available) for any errors",{"type":426,"tag":434,"props":133520,"children":133521},{"id":4109},[133522],{"type":431,"value":4112},{"type":426,"tag":427,"props":133524,"children":133525},{},[133526,133531],{"type":426,"tag":446,"props":133527,"children":133528},{},[133529],{"type":431,"value":133530},"Does the Rapiwa WooCommerce plugin cost extra?",{"type":431,"value":133532},"\nThe plugin itself is free to download and use. You only pay for the Rapiwa API ($5\u002Fmonth) which handles the message delivery.",{"type":426,"tag":427,"props":133534,"children":133535},{},[133536,133541],{"type":426,"tag":446,"props":133537,"children":133538},{},[133539],{"type":431,"value":133540},"What WooCommerce order statuses can trigger WhatsApp notifications?",{"type":431,"value":133542},"\nAll standard WooCommerce statuses: Pending, Processing, On Hold, Completed, Cancelled, Refunded, Failed. Configure each independently in the plugin settings.",{"type":426,"tag":427,"props":133544,"children":133545},{},[133546,133551,133553,133559,133560,133566,133568,133574],{"type":426,"tag":446,"props":133547,"children":133548},{},[133549],{"type":431,"value":133550},"Can I customise the WhatsApp message content?",{"type":431,"value":133552},"\nYes. The plugin settings include customisable message templates per order status. Use placeholders like ",{"type":426,"tag":549,"props":133554,"children":133556},{"className":133555},[],[133557],{"type":431,"value":133558},"{customer_name}",{"type":431,"value":1907},{"type":426,"tag":549,"props":133561,"children":133563},{"className":133562},[],[133564],{"type":431,"value":133565},"{order_id}",{"type":431,"value":133567},", and ",{"type":426,"tag":549,"props":133569,"children":133571},{"className":133570},[],[133572],{"type":431,"value":133573},"{order_total}",{"type":431,"value":6789},{"type":426,"tag":427,"props":133576,"children":133577},{},[133578,133583],{"type":426,"tag":446,"props":133579,"children":133580},{},[133581],{"type":431,"value":133582},"What if a customer's phone number is wrong format?",{"type":431,"value":133584},"\nThe Rapiwa API will return a 400 error for invalid formats. The plugin logs these errors. Consider adding phone number format validation at checkout using a WooCommerce plugin.",{"type":426,"tag":427,"props":133586,"children":133587},{},[133588,133593,133595,133601],{"type":426,"tag":446,"props":133589,"children":133590},{},[133591],{"type":431,"value":133592},"Can I add WhatsApp notifications to WooCommerce without a plugin?",{"type":431,"value":133594},"\nYes. Use the ",{"type":426,"tag":549,"props":133596,"children":133598},{"className":133597},[],[133599],{"type":431,"value":133600},"woocommerce_order_status_*",{"type":431,"value":133602}," action hooks in PHP (see the code example above) to call the Rapiwa API when orders change status.",{"type":426,"tag":4164,"props":133604,"children":133605},{},[133606],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":133608},[133609,133610,133616,133617,133618,133619],{"id":131932,"depth":588,"text":131935},{"id":131983,"depth":588,"text":131986,"children":133611},[133612,133613,133614,133615],{"id":131994,"depth":606,"text":131997},{"id":132034,"depth":606,"text":132037},{"id":132082,"depth":606,"text":132085},{"id":132173,"depth":606,"text":132176},{"id":133259,"depth":588,"text":133262},{"id":133455,"depth":588,"text":133458},{"id":133492,"depth":588,"text":133495},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-add-whatsapp-order-notifications-woocommerce.md","blog\u002Fhow-to-add-whatsapp-order-notifications-woocommerce.md","blog\u002Fhow-to-add-whatsapp-order-notifications-woocommerce",{"loc":189},{"_path":193,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":194,"description":195,"date":133625,"author":4196,"category":22,"_slug":133626,"image":133627,"body":133628,"_type":4187,"_id":139034,"_source":4189,"_file":139035,"_stem":139036,"_extension":4192,"sitemap":139037},"2026-02-01","whatsapp-api-nodejs-setup-to-first-message-2026","\u002Fimages\u002Fblog\u002Fwhatsapp-api-nodejs-setup-to-first-message-2026.svg",{"type":423,"children":133629,"toc":139023},[133630,133657,133661,133690,133696,133979,133990,133996,134932,134940,135152,135158,135700,135711,135717,136861,136867,137745,137763,137769,138781,138787,138792,138823,138887,138910,138914,138958,138982,138992,139009,139019],{"type":426,"tag":427,"props":133631,"children":133632},{},[133633,133635,133640,133642,133648,133650,133655],{"type":431,"value":133634},"You can send WhatsApp messages from Node.js using the built-in ",{"type":426,"tag":549,"props":133636,"children":133638},{"className":133637},[],[133639],{"type":431,"value":106098},{"type":431,"value":133641}," API (Node 18+) or ",{"type":426,"tag":549,"props":133643,"children":133645},{"className":133644},[],[133646],{"type":431,"value":133647},"axios",{"type":431,"value":133649}," to call the Rapiwa REST API. Connect your WhatsApp number to ",{"type":426,"tag":3819,"props":133651,"children":133653},{"href":3821,"rel":133652},[3823],[133654],{"type":431,"value":127310},{"type":431,"value":133656}," ($5\u002Fmonth), get an API key, and send your first WhatsApp message in under 5 lines of JavaScript. This tutorial covers basic sending, Express webhooks, async patterns, TypeScript types, and production best practices.",{"type":426,"tag":434,"props":133658,"children":133659},{"id":47624},[133660],{"type":431,"value":47627},{"type":426,"tag":454,"props":133662,"children":133663},{},[133664,133675,133685],{"type":426,"tag":458,"props":133665,"children":133666},{},[133667,133669,133674],{"type":431,"value":133668},"Node.js 18+ (for native ",{"type":426,"tag":549,"props":133670,"children":133672},{"className":133671},[],[133673],{"type":431,"value":106098},{"type":431,"value":5736},{"type":426,"tag":458,"props":133676,"children":133677},{},[133678,133680],{"type":431,"value":133679},"Rapiwa account: ",{"type":426,"tag":3819,"props":133681,"children":133683},{"href":3821,"rel":133682},[3823],[133684],{"type":431,"value":127372},{"type":426,"tag":458,"props":133686,"children":133687},{},[133688],{"type":431,"value":133689},"API key from Dashboard → API Keys",{"type":426,"tag":434,"props":133691,"children":133693},{"id":133692},"step-1-send-your-first-message-node-18-no-libraries",[133694],{"type":431,"value":133695},"Step 1: Send Your First Message (Node 18+ — No Libraries)",{"type":426,"tag":542,"props":133697,"children":133699},{"className":52113,"code":133698,"language":52115,"meta":417,"style":417},"\u002F\u002F send.mjs\nconst API_KEY = \"YOUR_RAPIWA_API_KEY\";\n\nconst response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": `Bearer ${API_KEY}`,\n    \"Content-Type\": \"application\u002Fjson\"\n  },\n  body: JSON.stringify({\n    number: \"8801234567890\",\n    message: \"Hello from Node.js! 🚀\"\n  })\n});\n\nconst data = await response.json();\nconsole.log(data);\n\u002F\u002F { status: 'success', messageId: 'msg_abc123', timestamp: '...' }\n",[133700],{"type":426,"tag":549,"props":133701,"children":133702},{"__ignoreMap":417},[133703,133711,133736,133743,133778,133793,133800,133828,133844,133851,133874,133890,133903,133910,133917,133924,133955,133971],{"type":426,"tag":553,"props":133704,"children":133705},{"class":555,"line":556},[133706],{"type":426,"tag":553,"props":133707,"children":133708},{"style":1975},[133709],{"type":431,"value":133710},"\u002F\u002F send.mjs\n",{"type":426,"tag":553,"props":133712,"children":133713},{"class":555,"line":588},[133714,133718,133723,133727,133732],{"type":426,"tag":553,"props":133715,"children":133716},{"style":795},[133717],{"type":431,"value":52135},{"type":426,"tag":553,"props":133719,"children":133720},{"style":566},[133721],{"type":431,"value":133722}," API_KEY",{"type":426,"tag":553,"props":133724,"children":133725},{"style":795},[133726],{"type":431,"value":8739},{"type":426,"tag":553,"props":133728,"children":133729},{"style":572},[133730],{"type":431,"value":133731}," \"YOUR_RAPIWA_API_KEY\"",{"type":426,"tag":553,"props":133733,"children":133734},{"style":684},[133735],{"type":431,"value":52321},{"type":426,"tag":553,"props":133737,"children":133738},{"class":555,"line":606},[133739],{"type":426,"tag":553,"props":133740,"children":133741},{"emptyLinePlaceholder":831},[133742],{"type":431,"value":834},{"type":426,"tag":553,"props":133744,"children":133745},{"class":555,"line":623},[133746,133750,133754,133758,133762,133766,133770,133774],{"type":426,"tag":553,"props":133747,"children":133748},{"style":795},[133749],{"type":431,"value":52135},{"type":426,"tag":553,"props":133751,"children":133752},{"style":566},[133753],{"type":431,"value":53061},{"type":426,"tag":553,"props":133755,"children":133756},{"style":795},[133757],{"type":431,"value":8739},{"type":426,"tag":553,"props":133759,"children":133760},{"style":795},[133761],{"type":431,"value":53070},{"type":426,"tag":553,"props":133763,"children":133764},{"style":560},[133765],{"type":431,"value":52226},{"type":426,"tag":553,"props":133767,"children":133768},{"style":684},[133769],{"type":431,"value":3275},{"type":426,"tag":553,"props":133771,"children":133772},{"style":572},[133773],{"type":431,"value":60449},{"type":426,"tag":553,"props":133775,"children":133776},{"style":684},[133777],{"type":431,"value":53088},{"type":426,"tag":553,"props":133779,"children":133780},{"class":555,"line":637},[133781,133785,133789],{"type":426,"tag":553,"props":133782,"children":133783},{"style":684},[133784],{"type":431,"value":55814},{"type":426,"tag":553,"props":133786,"children":133787},{"style":572},[133788],{"type":431,"value":60428},{"type":426,"tag":553,"props":133790,"children":133791},{"style":684},[133792],{"type":431,"value":710},{"type":426,"tag":553,"props":133794,"children":133795},{"class":555,"line":646},[133796],{"type":426,"tag":553,"props":133797,"children":133798},{"style":684},[133799],{"type":431,"value":55830},{"type":426,"tag":553,"props":133801,"children":133802},{"class":555,"line":655},[133803,133807,133811,133815,133820,133824],{"type":426,"tag":553,"props":133804,"children":133805},{"style":572},[133806],{"type":431,"value":60473},{"type":426,"tag":553,"props":133808,"children":133809},{"style":684},[133810],{"type":431,"value":700},{"type":426,"tag":553,"props":133812,"children":133813},{"style":572},[133814],{"type":431,"value":53129},{"type":426,"tag":553,"props":133816,"children":133817},{"style":566},[133818],{"type":431,"value":133819},"API_KEY",{"type":426,"tag":553,"props":133821,"children":133822},{"style":572},[133823],{"type":431,"value":52718},{"type":426,"tag":553,"props":133825,"children":133826},{"style":684},[133827],{"type":431,"value":710},{"type":426,"tag":553,"props":133829,"children":133830},{"class":555,"line":1036},[133831,133836,133840],{"type":426,"tag":553,"props":133832,"children":133833},{"style":572},[133834],{"type":431,"value":133835},"    \"Content-Type\"",{"type":426,"tag":553,"props":133837,"children":133838},{"style":684},[133839],{"type":431,"value":700},{"type":426,"tag":553,"props":133841,"children":133842},{"style":572},[133843],{"type":431,"value":113079},{"type":426,"tag":553,"props":133845,"children":133846},{"class":555,"line":1054},[133847],{"type":426,"tag":553,"props":133848,"children":133849},{"style":684},[133850],{"type":431,"value":55883},{"type":426,"tag":553,"props":133852,"children":133853},{"class":555,"line":1080},[133854,133858,133862,133866,133870],{"type":426,"tag":553,"props":133855,"children":133856},{"style":684},[133857],{"type":431,"value":55891},{"type":426,"tag":553,"props":133859,"children":133860},{"style":566},[133861],{"type":431,"value":53178},{"type":426,"tag":553,"props":133863,"children":133864},{"style":684},[133865],{"type":431,"value":6789},{"type":426,"tag":553,"props":133867,"children":133868},{"style":560},[133869],{"type":431,"value":53187},{"type":426,"tag":553,"props":133871,"children":133872},{"style":684},[133873],{"type":431,"value":52612},{"type":426,"tag":553,"props":133875,"children":133876},{"class":555,"line":1097},[133877,133882,133886],{"type":426,"tag":553,"props":133878,"children":133879},{"style":684},[133880],{"type":431,"value":133881},"    number: ",{"type":426,"tag":553,"props":133883,"children":133884},{"style":572},[133885],{"type":431,"value":7286},{"type":426,"tag":553,"props":133887,"children":133888},{"style":684},[133889],{"type":431,"value":710},{"type":426,"tag":553,"props":133891,"children":133892},{"class":555,"line":1114},[133893,133898],{"type":426,"tag":553,"props":133894,"children":133895},{"style":684},[133896],{"type":431,"value":133897},"    message: ",{"type":426,"tag":553,"props":133899,"children":133900},{"style":572},[133901],{"type":431,"value":133902},"\"Hello from Node.js! 🚀\"\n",{"type":426,"tag":553,"props":133904,"children":133905},{"class":555,"line":1127},[133906],{"type":426,"tag":553,"props":133907,"children":133908},{"style":684},[133909],{"type":431,"value":123525},{"type":426,"tag":553,"props":133911,"children":133912},{"class":555,"line":1167},[133913],{"type":426,"tag":553,"props":133914,"children":133915},{"style":684},[133916],{"type":431,"value":55916},{"type":426,"tag":553,"props":133918,"children":133919},{"class":555,"line":1184},[133920],{"type":426,"tag":553,"props":133921,"children":133922},{"emptyLinePlaceholder":831},[133923],{"type":431,"value":834},{"type":426,"tag":553,"props":133925,"children":133926},{"class":555,"line":1192},[133927,133931,133935,133939,133943,133947,133951],{"type":426,"tag":553,"props":133928,"children":133929},{"style":795},[133930],{"type":431,"value":52135},{"type":426,"tag":553,"props":133932,"children":133933},{"style":566},[133934],{"type":431,"value":75817},{"type":426,"tag":553,"props":133936,"children":133937},{"style":795},[133938],{"type":431,"value":8739},{"type":426,"tag":553,"props":133940,"children":133941},{"style":795},[133942],{"type":431,"value":53070},{"type":426,"tag":553,"props":133944,"children":133945},{"style":684},[133946],{"type":431,"value":53218},{"type":426,"tag":553,"props":133948,"children":133949},{"style":560},[133950],{"type":431,"value":673},{"type":426,"tag":553,"props":133952,"children":133953},{"style":684},[133954],{"type":431,"value":53227},{"type":426,"tag":553,"props":133956,"children":133957},{"class":555,"line":1210},[133958,133962,133966],{"type":426,"tag":553,"props":133959,"children":133960},{"style":684},[133961],{"type":431,"value":121455},{"type":426,"tag":553,"props":133963,"children":133964},{"style":560},[133965],{"type":431,"value":53719},{"type":426,"tag":553,"props":133967,"children":133968},{"style":684},[133969],{"type":431,"value":133970},"(data);\n",{"type":426,"tag":553,"props":133972,"children":133973},{"class":555,"line":1253},[133974],{"type":426,"tag":553,"props":133975,"children":133976},{"style":1975},[133977],{"type":431,"value":133978},"\u002F\u002F { status: 'success', messageId: 'msg_abc123', timestamp: '...' }\n",{"type":426,"tag":427,"props":133980,"children":133981},{},[133982,133984],{"type":431,"value":133983},"Run: ",{"type":426,"tag":549,"props":133985,"children":133987},{"className":133986},[],[133988],{"type":431,"value":133989},"node send.mjs",{"type":426,"tag":434,"props":133991,"children":133993},{"id":133992},"step-2-create-a-reusable-whatsapp-module",[133994],{"type":431,"value":133995},"Step 2: Create a Reusable WhatsApp Module",{"type":426,"tag":542,"props":133997,"children":133999},{"className":52113,"code":133998,"language":52115,"meta":417,"style":417},"\u002F\u002F whatsapp.mjs\nconst API_KEY = process.env.RAPIWA_API_KEY;\nconst BASE_URL = \"https:\u002F\u002Fapp.rapiwa.com\";\n\nconst headers = {\n  \"Authorization\": `Bearer ${API_KEY}`,\n  \"Content-Type\": \"application\u002Fjson\"\n};\n\nexport async function sendText(phone, message) {\n  const res = await fetch(`${BASE_URL}\u002Fsend-message`, {\n    method: \"POST\",\n    headers,\n    body: JSON.stringify({ number: phone, message })\n  });\n  if (!res.ok) throw new Error(`API error: ${res.status} ${await res.text()}`);\n  return res.json();\n}\n\nexport async function sendImage(phone, imageUrl, caption = \"\") {\n  const payload = { number: phone, image: imageUrl };\n  if (caption) payload.caption = caption;\n  \n  const res = await fetch(`${BASE_URL}\u002Fsend-message`, {\n    method: \"POST\", headers,\n    body: JSON.stringify(payload)\n  });\n  return res.json();\n}\n\nexport async function sendDocument(phone, docUrl, filename, caption = \"\") {\n  const res = await fetch(`${BASE_URL}\u002Fsend-message`, {\n    method: \"POST\", headers,\n    body: JSON.stringify({ number: phone, document: docUrl, filename, caption })\n  });\n  return res.json();\n}\n\nexport async function checkNumber(phone) {\n  const res = await fetch(`${BASE_URL}\u002Fcheck-number?number=${phone}`, { headers });\n  return res.json();\n}\n",[134000],{"type":426,"tag":549,"props":134001,"children":134002},{"__ignoreMap":417},[134003,134011,134038,134062,134069,134089,134117,134133,134141,134148,134189,134235,134250,134258,134281,134288,134375,134394,134401,134408,134463,134483,134504,134511,134554,134570,134594,134601,134620,134627,134634,134699,134742,134757,134781,134788,134807,134814,134821,134853,134906,134925],{"type":426,"tag":553,"props":134004,"children":134005},{"class":555,"line":556},[134006],{"type":426,"tag":553,"props":134007,"children":134008},{"style":1975},[134009],{"type":431,"value":134010},"\u002F\u002F whatsapp.mjs\n",{"type":426,"tag":553,"props":134012,"children":134013},{"class":555,"line":588},[134014,134018,134022,134026,134030,134034],{"type":426,"tag":553,"props":134015,"children":134016},{"style":795},[134017],{"type":431,"value":52135},{"type":426,"tag":553,"props":134019,"children":134020},{"style":566},[134021],{"type":431,"value":133722},{"type":426,"tag":553,"props":134023,"children":134024},{"style":795},[134025],{"type":431,"value":8739},{"type":426,"tag":553,"props":134027,"children":134028},{"style":684},[134029],{"type":431,"value":84610},{"type":426,"tag":553,"props":134031,"children":134032},{"style":566},[134033],{"type":431,"value":7156},{"type":426,"tag":553,"props":134035,"children":134036},{"style":684},[134037],{"type":431,"value":52321},{"type":426,"tag":553,"props":134039,"children":134040},{"class":555,"line":606},[134041,134045,134050,134054,134058],{"type":426,"tag":553,"props":134042,"children":134043},{"style":795},[134044],{"type":431,"value":52135},{"type":426,"tag":553,"props":134046,"children":134047},{"style":566},[134048],{"type":431,"value":134049}," BASE_URL",{"type":426,"tag":553,"props":134051,"children":134052},{"style":795},[134053],{"type":431,"value":8739},{"type":426,"tag":553,"props":134055,"children":134056},{"style":572},[134057],{"type":431,"value":68758},{"type":426,"tag":553,"props":134059,"children":134060},{"style":684},[134061],{"type":431,"value":52321},{"type":426,"tag":553,"props":134063,"children":134064},{"class":555,"line":623},[134065],{"type":426,"tag":553,"props":134066,"children":134067},{"emptyLinePlaceholder":831},[134068],{"type":431,"value":834},{"type":426,"tag":553,"props":134070,"children":134071},{"class":555,"line":637},[134072,134076,134081,134085],{"type":426,"tag":553,"props":134073,"children":134074},{"style":795},[134075],{"type":431,"value":52135},{"type":426,"tag":553,"props":134077,"children":134078},{"style":566},[134079],{"type":431,"value":134080}," headers",{"type":426,"tag":553,"props":134082,"children":134083},{"style":795},[134084],{"type":431,"value":8739},{"type":426,"tag":553,"props":134086,"children":134087},{"style":684},[134088],{"type":431,"value":5458},{"type":426,"tag":553,"props":134090,"children":134091},{"class":555,"line":646},[134092,134097,134101,134105,134109,134113],{"type":426,"tag":553,"props":134093,"children":134094},{"style":572},[134095],{"type":431,"value":134096},"  \"Authorization\"",{"type":426,"tag":553,"props":134098,"children":134099},{"style":684},[134100],{"type":431,"value":700},{"type":426,"tag":553,"props":134102,"children":134103},{"style":572},[134104],{"type":431,"value":53129},{"type":426,"tag":553,"props":134106,"children":134107},{"style":566},[134108],{"type":431,"value":133819},{"type":426,"tag":553,"props":134110,"children":134111},{"style":572},[134112],{"type":431,"value":52718},{"type":426,"tag":553,"props":134114,"children":134115},{"style":684},[134116],{"type":431,"value":710},{"type":426,"tag":553,"props":134118,"children":134119},{"class":555,"line":655},[134120,134125,134129],{"type":426,"tag":553,"props":134121,"children":134122},{"style":572},[134123],{"type":431,"value":134124},"  \"Content-Type\"",{"type":426,"tag":553,"props":134126,"children":134127},{"style":684},[134128],{"type":431,"value":700},{"type":426,"tag":553,"props":134130,"children":134131},{"style":572},[134132],{"type":431,"value":113079},{"type":426,"tag":553,"props":134134,"children":134135},{"class":555,"line":1036},[134136],{"type":426,"tag":553,"props":134137,"children":134138},{"style":684},[134139],{"type":431,"value":134140},"};\n",{"type":426,"tag":553,"props":134142,"children":134143},{"class":555,"line":1054},[134144],{"type":426,"tag":553,"props":134145,"children":134146},{"emptyLinePlaceholder":831},[134147],{"type":431,"value":834},{"type":426,"tag":553,"props":134149,"children":134150},{"class":555,"line":1080},[134151,134156,134160,134164,134169,134173,134177,134181,134185],{"type":426,"tag":553,"props":134152,"children":134153},{"style":795},[134154],{"type":431,"value":134155},"export",{"type":426,"tag":553,"props":134157,"children":134158},{"style":795},[134159],{"type":431,"value":72192},{"type":426,"tag":553,"props":134161,"children":134162},{"style":795},[134163],{"type":431,"value":52366},{"type":426,"tag":553,"props":134165,"children":134166},{"style":560},[134167],{"type":431,"value":134168}," sendText",{"type":426,"tag":553,"props":134170,"children":134171},{"style":684},[134172],{"type":431,"value":3275},{"type":426,"tag":553,"props":134174,"children":134175},{"style":1684},[134176],{"type":431,"value":37598},{"type":426,"tag":553,"props":134178,"children":134179},{"style":684},[134180],{"type":431,"value":1907},{"type":426,"tag":553,"props":134182,"children":134183},{"style":1684},[134184],{"type":431,"value":2734},{"type":426,"tag":553,"props":134186,"children":134187},{"style":684},[134188],{"type":431,"value":52385},{"type":426,"tag":553,"props":134190,"children":134191},{"class":555,"line":1097},[134192,134196,134200,134204,134208,134212,134216,134221,134226,134231],{"type":426,"tag":553,"props":134193,"children":134194},{"style":795},[134195],{"type":431,"value":52540},{"type":426,"tag":553,"props":134197,"children":134198},{"style":566},[134199],{"type":431,"value":85416},{"type":426,"tag":553,"props":134201,"children":134202},{"style":795},[134203],{"type":431,"value":8739},{"type":426,"tag":553,"props":134205,"children":134206},{"style":795},[134207],{"type":431,"value":53070},{"type":426,"tag":553,"props":134209,"children":134210},{"style":560},[134211],{"type":431,"value":52226},{"type":426,"tag":553,"props":134213,"children":134214},{"style":684},[134215],{"type":431,"value":3275},{"type":426,"tag":553,"props":134217,"children":134218},{"style":572},[134219],{"type":431,"value":134220},"`${",{"type":426,"tag":553,"props":134222,"children":134223},{"style":566},[134224],{"type":431,"value":134225},"BASE_URL",{"type":426,"tag":553,"props":134227,"children":134228},{"style":572},[134229],{"type":431,"value":134230},"}\u002Fsend-message`",{"type":426,"tag":553,"props":134232,"children":134233},{"style":684},[134234],{"type":431,"value":53088},{"type":426,"tag":553,"props":134236,"children":134237},{"class":555,"line":1114},[134238,134242,134246],{"type":426,"tag":553,"props":134239,"children":134240},{"style":684},[134241],{"type":431,"value":53096},{"type":426,"tag":553,"props":134243,"children":134244},{"style":572},[134245],{"type":431,"value":60428},{"type":426,"tag":553,"props":134247,"children":134248},{"style":684},[134249],{"type":431,"value":710},{"type":426,"tag":553,"props":134251,"children":134252},{"class":555,"line":1127},[134253],{"type":426,"tag":553,"props":134254,"children":134255},{"style":684},[134256],{"type":431,"value":134257},"    headers,\n",{"type":426,"tag":553,"props":134259,"children":134260},{"class":555,"line":1167},[134261,134265,134269,134273,134277],{"type":426,"tag":553,"props":134262,"children":134263},{"style":684},[134264],{"type":431,"value":53173},{"type":426,"tag":553,"props":134266,"children":134267},{"style":566},[134268],{"type":431,"value":53178},{"type":426,"tag":553,"props":134270,"children":134271},{"style":684},[134272],{"type":431,"value":6789},{"type":426,"tag":553,"props":134274,"children":134275},{"style":560},[134276],{"type":431,"value":53187},{"type":426,"tag":553,"props":134278,"children":134279},{"style":684},[134280],{"type":431,"value":55908},{"type":426,"tag":553,"props":134282,"children":134283},{"class":555,"line":1184},[134284],{"type":426,"tag":553,"props":134285,"children":134286},{"style":684},[134287],{"type":431,"value":52480},{"type":426,"tag":553,"props":134289,"children":134290},{"class":555,"line":1192},[134291,134295,134299,134303,134308,134313,134317,134321,134325,134330,134334,134338,134342,134347,134351,134355,134359,134363,134367,134371],{"type":426,"tag":553,"props":134292,"children":134293},{"style":795},[134294],{"type":431,"value":84798},{"type":426,"tag":553,"props":134296,"children":134297},{"style":684},[134298],{"type":431,"value":5684},{"type":426,"tag":553,"props":134300,"children":134301},{"style":795},[134302],{"type":431,"value":4651},{"type":426,"tag":553,"props":134304,"children":134305},{"style":684},[134306],{"type":431,"value":134307},"res.ok) ",{"type":426,"tag":553,"props":134309,"children":134310},{"style":795},[134311],{"type":431,"value":134312},"throw",{"type":426,"tag":553,"props":134314,"children":134315},{"style":795},[134316],{"type":431,"value":52275},{"type":426,"tag":553,"props":134318,"children":134319},{"style":560},[134320],{"type":431,"value":97294},{"type":426,"tag":553,"props":134322,"children":134323},{"style":684},[134324],{"type":431,"value":3275},{"type":426,"tag":553,"props":134326,"children":134327},{"style":572},[134328],{"type":431,"value":134329},"`API error: ${",{"type":426,"tag":553,"props":134331,"children":134332},{"style":684},[134333],{"type":431,"value":84679},{"type":426,"tag":553,"props":134335,"children":134336},{"style":572},[134337],{"type":431,"value":6789},{"type":426,"tag":553,"props":134339,"children":134340},{"style":684},[134341],{"type":431,"value":67953},{"type":426,"tag":553,"props":134343,"children":134344},{"style":572},[134345],{"type":431,"value":134346},"} ${",{"type":426,"tag":553,"props":134348,"children":134349},{"style":795},[134350],{"type":431,"value":79424},{"type":426,"tag":553,"props":134352,"children":134353},{"style":684},[134354],{"type":431,"value":85416},{"type":426,"tag":553,"props":134356,"children":134357},{"style":572},[134358],{"type":431,"value":6789},{"type":426,"tag":553,"props":134360,"children":134361},{"style":560},[134362],{"type":431,"value":431},{"type":426,"tag":553,"props":134364,"children":134365},{"style":572},[134366],{"type":431,"value":87971},{"type":426,"tag":553,"props":134368,"children":134369},{"style":572},[134370],{"type":431,"value":52718},{"type":426,"tag":553,"props":134372,"children":134373},{"style":684},[134374],{"type":431,"value":11379},{"type":426,"tag":553,"props":134376,"children":134377},{"class":555,"line":1210},[134378,134382,134386,134390],{"type":426,"tag":553,"props":134379,"children":134380},{"style":795},[134381],{"type":431,"value":52393},{"type":426,"tag":553,"props":134383,"children":134384},{"style":684},[134385],{"type":431,"value":61715},{"type":426,"tag":553,"props":134387,"children":134388},{"style":560},[134389],{"type":431,"value":673},{"type":426,"tag":553,"props":134391,"children":134392},{"style":684},[134393],{"type":431,"value":53227},{"type":426,"tag":553,"props":134395,"children":134396},{"class":555,"line":1253},[134397],{"type":426,"tag":553,"props":134398,"children":134399},{"style":684},[134400],{"type":431,"value":756},{"type":426,"tag":553,"props":134402,"children":134403},{"class":555,"line":1302},[134404],{"type":426,"tag":553,"props":134405,"children":134406},{"emptyLinePlaceholder":831},[134407],{"type":431,"value":834},{"type":426,"tag":553,"props":134409,"children":134410},{"class":555,"line":1374},[134411,134415,134419,134423,134427,134431,134435,134439,134443,134447,134451,134455,134459],{"type":426,"tag":553,"props":134412,"children":134413},{"style":795},[134414],{"type":431,"value":134155},{"type":426,"tag":553,"props":134416,"children":134417},{"style":795},[134418],{"type":431,"value":72192},{"type":426,"tag":553,"props":134420,"children":134421},{"style":795},[134422],{"type":431,"value":52366},{"type":426,"tag":553,"props":134424,"children":134425},{"style":560},[134426],{"type":431,"value":88316},{"type":426,"tag":553,"props":134428,"children":134429},{"style":684},[134430],{"type":431,"value":3275},{"type":426,"tag":553,"props":134432,"children":134433},{"style":1684},[134434],{"type":431,"value":37598},{"type":426,"tag":553,"props":134436,"children":134437},{"style":684},[134438],{"type":431,"value":1907},{"type":426,"tag":553,"props":134440,"children":134441},{"style":1684},[134442],{"type":431,"value":52833},{"type":426,"tag":553,"props":134444,"children":134445},{"style":684},[134446],{"type":431,"value":1907},{"type":426,"tag":553,"props":134448,"children":134449},{"style":1684},[134450],{"type":431,"value":79236},{"type":426,"tag":553,"props":134452,"children":134453},{"style":795},[134454],{"type":431,"value":8739},{"type":426,"tag":553,"props":134456,"children":134457},{"style":572},[134458],{"type":431,"value":76413},{"type":426,"tag":553,"props":134460,"children":134461},{"style":684},[134462],{"type":431,"value":52385},{"type":426,"tag":553,"props":134464,"children":134465},{"class":555,"line":1414},[134466,134470,134474,134478],{"type":426,"tag":553,"props":134467,"children":134468},{"style":795},[134469],{"type":431,"value":52540},{"type":426,"tag":553,"props":134471,"children":134472},{"style":566},[134473],{"type":431,"value":75724},{"type":426,"tag":553,"props":134475,"children":134476},{"style":795},[134477],{"type":431,"value":8739},{"type":426,"tag":553,"props":134479,"children":134480},{"style":684},[134481],{"type":431,"value":134482}," { number: phone, image: imageUrl };\n",{"type":426,"tag":553,"props":134484,"children":134485},{"class":555,"line":1479},[134486,134490,134495,134499],{"type":426,"tag":553,"props":134487,"children":134488},{"style":795},[134489],{"type":431,"value":84798},{"type":426,"tag":553,"props":134491,"children":134492},{"style":684},[134493],{"type":431,"value":134494}," (caption) payload.caption ",{"type":426,"tag":553,"props":134496,"children":134497},{"style":795},[134498],{"type":431,"value":957},{"type":426,"tag":553,"props":134500,"children":134501},{"style":684},[134502],{"type":431,"value":134503}," caption;\n",{"type":426,"tag":553,"props":134505,"children":134506},{"class":555,"line":1517},[134507],{"type":426,"tag":553,"props":134508,"children":134509},{"style":684},[134510],{"type":431,"value":52575},{"type":426,"tag":553,"props":134512,"children":134513},{"class":555,"line":1560},[134514,134518,134522,134526,134530,134534,134538,134542,134546,134550],{"type":426,"tag":553,"props":134515,"children":134516},{"style":795},[134517],{"type":431,"value":52540},{"type":426,"tag":553,"props":134519,"children":134520},{"style":566},[134521],{"type":431,"value":85416},{"type":426,"tag":553,"props":134523,"children":134524},{"style":795},[134525],{"type":431,"value":8739},{"type":426,"tag":553,"props":134527,"children":134528},{"style":795},[134529],{"type":431,"value":53070},{"type":426,"tag":553,"props":134531,"children":134532},{"style":560},[134533],{"type":431,"value":52226},{"type":426,"tag":553,"props":134535,"children":134536},{"style":684},[134537],{"type":431,"value":3275},{"type":426,"tag":553,"props":134539,"children":134540},{"style":572},[134541],{"type":431,"value":134220},{"type":426,"tag":553,"props":134543,"children":134544},{"style":566},[134545],{"type":431,"value":134225},{"type":426,"tag":553,"props":134547,"children":134548},{"style":572},[134549],{"type":431,"value":134230},{"type":426,"tag":553,"props":134551,"children":134552},{"style":684},[134553],{"type":431,"value":53088},{"type":426,"tag":553,"props":134555,"children":134556},{"class":555,"line":1598},[134557,134561,134565],{"type":426,"tag":553,"props":134558,"children":134559},{"style":684},[134560],{"type":431,"value":53096},{"type":426,"tag":553,"props":134562,"children":134563},{"style":572},[134564],{"type":431,"value":60428},{"type":426,"tag":553,"props":134566,"children":134567},{"style":684},[134568],{"type":431,"value":134569},", headers,\n",{"type":426,"tag":553,"props":134571,"children":134572},{"class":555,"line":1636},[134573,134577,134581,134585,134589],{"type":426,"tag":553,"props":134574,"children":134575},{"style":684},[134576],{"type":431,"value":53173},{"type":426,"tag":553,"props":134578,"children":134579},{"style":566},[134580],{"type":431,"value":53178},{"type":426,"tag":553,"props":134582,"children":134583},{"style":684},[134584],{"type":431,"value":6789},{"type":426,"tag":553,"props":134586,"children":134587},{"style":560},[134588],{"type":431,"value":53187},{"type":426,"tag":553,"props":134590,"children":134591},{"style":684},[134592],{"type":431,"value":134593},"(payload)\n",{"type":426,"tag":553,"props":134595,"children":134596},{"class":555,"line":1645},[134597],{"type":426,"tag":553,"props":134598,"children":134599},{"style":684},[134600],{"type":431,"value":52480},{"type":426,"tag":553,"props":134602,"children":134603},{"class":555,"line":1653},[134604,134608,134612,134616],{"type":426,"tag":553,"props":134605,"children":134606},{"style":795},[134607],{"type":431,"value":52393},{"type":426,"tag":553,"props":134609,"children":134610},{"style":684},[134611],{"type":431,"value":61715},{"type":426,"tag":553,"props":134613,"children":134614},{"style":560},[134615],{"type":431,"value":673},{"type":426,"tag":553,"props":134617,"children":134618},{"style":684},[134619],{"type":431,"value":53227},{"type":426,"tag":553,"props":134621,"children":134622},{"class":555,"line":1667},[134623],{"type":426,"tag":553,"props":134624,"children":134625},{"style":684},[134626],{"type":431,"value":756},{"type":426,"tag":553,"props":134628,"children":134629},{"class":555,"line":1680},[134630],{"type":426,"tag":553,"props":134631,"children":134632},{"emptyLinePlaceholder":831},[134633],{"type":431,"value":834},{"type":426,"tag":553,"props":134635,"children":134636},{"class":555,"line":1740},[134637,134641,134645,134649,134654,134658,134662,134666,134671,134675,134679,134683,134687,134691,134695],{"type":426,"tag":553,"props":134638,"children":134639},{"style":795},[134640],{"type":431,"value":134155},{"type":426,"tag":553,"props":134642,"children":134643},{"style":795},[134644],{"type":431,"value":72192},{"type":426,"tag":553,"props":134646,"children":134647},{"style":795},[134648],{"type":431,"value":52366},{"type":426,"tag":553,"props":134650,"children":134651},{"style":560},[134652],{"type":431,"value":134653}," sendDocument",{"type":426,"tag":553,"props":134655,"children":134656},{"style":684},[134657],{"type":431,"value":3275},{"type":426,"tag":553,"props":134659,"children":134660},{"style":1684},[134661],{"type":431,"value":37598},{"type":426,"tag":553,"props":134663,"children":134664},{"style":684},[134665],{"type":431,"value":1907},{"type":426,"tag":553,"props":134667,"children":134668},{"style":1684},[134669],{"type":431,"value":134670},"docUrl",{"type":426,"tag":553,"props":134672,"children":134673},{"style":684},[134674],{"type":431,"value":1907},{"type":426,"tag":553,"props":134676,"children":134677},{"style":1684},[134678],{"type":431,"value":82772},{"type":426,"tag":553,"props":134680,"children":134681},{"style":684},[134682],{"type":431,"value":1907},{"type":426,"tag":553,"props":134684,"children":134685},{"style":1684},[134686],{"type":431,"value":79236},{"type":426,"tag":553,"props":134688,"children":134689},{"style":795},[134690],{"type":431,"value":8739},{"type":426,"tag":553,"props":134692,"children":134693},{"style":572},[134694],{"type":431,"value":76413},{"type":426,"tag":553,"props":134696,"children":134697},{"style":684},[134698],{"type":431,"value":52385},{"type":426,"tag":553,"props":134700,"children":134701},{"class":555,"line":1787},[134702,134706,134710,134714,134718,134722,134726,134730,134734,134738],{"type":426,"tag":553,"props":134703,"children":134704},{"style":795},[134705],{"type":431,"value":52540},{"type":426,"tag":553,"props":134707,"children":134708},{"style":566},[134709],{"type":431,"value":85416},{"type":426,"tag":553,"props":134711,"children":134712},{"style":795},[134713],{"type":431,"value":8739},{"type":426,"tag":553,"props":134715,"children":134716},{"style":795},[134717],{"type":431,"value":53070},{"type":426,"tag":553,"props":134719,"children":134720},{"style":560},[134721],{"type":431,"value":52226},{"type":426,"tag":553,"props":134723,"children":134724},{"style":684},[134725],{"type":431,"value":3275},{"type":426,"tag":553,"props":134727,"children":134728},{"style":572},[134729],{"type":431,"value":134220},{"type":426,"tag":553,"props":134731,"children":134732},{"style":566},[134733],{"type":431,"value":134225},{"type":426,"tag":553,"props":134735,"children":134736},{"style":572},[134737],{"type":431,"value":134230},{"type":426,"tag":553,"props":134739,"children":134740},{"style":684},[134741],{"type":431,"value":53088},{"type":426,"tag":553,"props":134743,"children":134744},{"class":555,"line":1796},[134745,134749,134753],{"type":426,"tag":553,"props":134746,"children":134747},{"style":684},[134748],{"type":431,"value":53096},{"type":426,"tag":553,"props":134750,"children":134751},{"style":572},[134752],{"type":431,"value":60428},{"type":426,"tag":553,"props":134754,"children":134755},{"style":684},[134756],{"type":431,"value":134569},{"type":426,"tag":553,"props":134758,"children":134759},{"class":555,"line":1804},[134760,134764,134768,134772,134776],{"type":426,"tag":553,"props":134761,"children":134762},{"style":684},[134763],{"type":431,"value":53173},{"type":426,"tag":553,"props":134765,"children":134766},{"style":566},[134767],{"type":431,"value":53178},{"type":426,"tag":553,"props":134769,"children":134770},{"style":684},[134771],{"type":431,"value":6789},{"type":426,"tag":553,"props":134773,"children":134774},{"style":560},[134775],{"type":431,"value":53187},{"type":426,"tag":553,"props":134777,"children":134778},{"style":684},[134779],{"type":431,"value":134780},"({ number: phone, document: docUrl, filename, caption })\n",{"type":426,"tag":553,"props":134782,"children":134783},{"class":555,"line":1812},[134784],{"type":426,"tag":553,"props":134785,"children":134786},{"style":684},[134787],{"type":431,"value":52480},{"type":426,"tag":553,"props":134789,"children":134790},{"class":555,"line":1847},[134791,134795,134799,134803],{"type":426,"tag":553,"props":134792,"children":134793},{"style":795},[134794],{"type":431,"value":52393},{"type":426,"tag":553,"props":134796,"children":134797},{"style":684},[134798],{"type":431,"value":61715},{"type":426,"tag":553,"props":134800,"children":134801},{"style":560},[134802],{"type":431,"value":673},{"type":426,"tag":553,"props":134804,"children":134805},{"style":684},[134806],{"type":431,"value":53227},{"type":426,"tag":553,"props":134808,"children":134809},{"class":555,"line":1856},[134810],{"type":426,"tag":553,"props":134811,"children":134812},{"style":684},[134813],{"type":431,"value":756},{"type":426,"tag":553,"props":134815,"children":134816},{"class":555,"line":1874},[134817],{"type":426,"tag":553,"props":134818,"children":134819},{"emptyLinePlaceholder":831},[134820],{"type":431,"value":834},{"type":426,"tag":553,"props":134822,"children":134823},{"class":555,"line":1882},[134824,134828,134832,134836,134841,134845,134849],{"type":426,"tag":553,"props":134825,"children":134826},{"style":795},[134827],{"type":431,"value":134155},{"type":426,"tag":553,"props":134829,"children":134830},{"style":795},[134831],{"type":431,"value":72192},{"type":426,"tag":553,"props":134833,"children":134834},{"style":795},[134835],{"type":431,"value":52366},{"type":426,"tag":553,"props":134837,"children":134838},{"style":560},[134839],{"type":431,"value":134840}," checkNumber",{"type":426,"tag":553,"props":134842,"children":134843},{"style":684},[134844],{"type":431,"value":3275},{"type":426,"tag":553,"props":134846,"children":134847},{"style":1684},[134848],{"type":431,"value":37598},{"type":426,"tag":553,"props":134850,"children":134851},{"style":684},[134852],{"type":431,"value":52385},{"type":426,"tag":553,"props":134854,"children":134855},{"class":555,"line":1981},[134856,134860,134864,134868,134872,134876,134880,134884,134888,134893,134897,134901],{"type":426,"tag":553,"props":134857,"children":134858},{"style":795},[134859],{"type":431,"value":52540},{"type":426,"tag":553,"props":134861,"children":134862},{"style":566},[134863],{"type":431,"value":85416},{"type":426,"tag":553,"props":134865,"children":134866},{"style":795},[134867],{"type":431,"value":8739},{"type":426,"tag":553,"props":134869,"children":134870},{"style":795},[134871],{"type":431,"value":53070},{"type":426,"tag":553,"props":134873,"children":134874},{"style":560},[134875],{"type":431,"value":52226},{"type":426,"tag":553,"props":134877,"children":134878},{"style":684},[134879],{"type":431,"value":3275},{"type":426,"tag":553,"props":134881,"children":134882},{"style":572},[134883],{"type":431,"value":134220},{"type":426,"tag":553,"props":134885,"children":134886},{"style":566},[134887],{"type":431,"value":134225},{"type":426,"tag":553,"props":134889,"children":134890},{"style":572},[134891],{"type":431,"value":134892},"}\u002Fcheck-number?number=${",{"type":426,"tag":553,"props":134894,"children":134895},{"style":684},[134896],{"type":431,"value":37598},{"type":426,"tag":553,"props":134898,"children":134899},{"style":572},[134900],{"type":431,"value":52718},{"type":426,"tag":553,"props":134902,"children":134903},{"style":684},[134904],{"type":431,"value":134905},", { headers });\n",{"type":426,"tag":553,"props":134907,"children":134908},{"class":555,"line":1989},[134909,134913,134917,134921],{"type":426,"tag":553,"props":134910,"children":134911},{"style":795},[134912],{"type":431,"value":52393},{"type":426,"tag":553,"props":134914,"children":134915},{"style":684},[134916],{"type":431,"value":61715},{"type":426,"tag":553,"props":134918,"children":134919},{"style":560},[134920],{"type":431,"value":673},{"type":426,"tag":553,"props":134922,"children":134923},{"style":684},[134924],{"type":431,"value":53227},{"type":426,"tag":553,"props":134926,"children":134927},{"class":555,"line":2013},[134928],{"type":426,"tag":553,"props":134929,"children":134930},{"style":684},[134931],{"type":431,"value":756},{"type":426,"tag":427,"props":134933,"children":134934},{},[134935],{"type":426,"tag":446,"props":134936,"children":134937},{},[134938],{"type":431,"value":134939},"Usage:",{"type":426,"tag":542,"props":134941,"children":134943},{"className":52113,"code":134942,"language":52115,"meta":417,"style":417},"import { sendText, sendImage, sendDocument } from \".\u002Fwhatsapp.mjs\";\n\n\u002F\u002F Send text\nawait sendText(\"8801234567890\", \"Hello!\");\n\n\u002F\u002F Send image\nawait sendImage(\"8801234567890\", \"https:\u002F\u002Fexample.com\u002Fproduct.jpg\", \"New product!\");\n\n\u002F\u002F Send PDF invoice\nawait sendDocument(\"8801234567890\", \n  \"https:\u002F\u002Fexample.com\u002Finvoice.pdf\", \n  \"Invoice_001.pdf\",\n  \"Your invoice is attached.\"\n);\n",[134944],{"type":426,"tag":549,"props":134945,"children":134946},{"__ignoreMap":417},[134947,134972,134979,134987,135019,135026,135034,135075,135082,135090,135113,135125,135137,135145],{"type":426,"tag":553,"props":134948,"children":134949},{"class":555,"line":556},[134950,134954,134959,134963,134968],{"type":426,"tag":553,"props":134951,"children":134952},{"style":795},[134953],{"type":431,"value":798},{"type":426,"tag":553,"props":134955,"children":134956},{"style":684},[134957],{"type":431,"value":134958}," { sendText, sendImage, sendDocument } ",{"type":426,"tag":553,"props":134960,"children":134961},{"style":795},[134962],{"type":431,"value":811},{"type":426,"tag":553,"props":134964,"children":134965},{"style":572},[134966],{"type":431,"value":134967}," \".\u002Fwhatsapp.mjs\"",{"type":426,"tag":553,"props":134969,"children":134970},{"style":684},[134971],{"type":431,"value":52321},{"type":426,"tag":553,"props":134973,"children":134974},{"class":555,"line":588},[134975],{"type":426,"tag":553,"props":134976,"children":134977},{"emptyLinePlaceholder":831},[134978],{"type":431,"value":834},{"type":426,"tag":553,"props":134980,"children":134981},{"class":555,"line":606},[134982],{"type":426,"tag":553,"props":134983,"children":134984},{"style":1975},[134985],{"type":431,"value":134986},"\u002F\u002F Send text\n",{"type":426,"tag":553,"props":134988,"children":134989},{"class":555,"line":623},[134990,134994,134998,135002,135006,135010,135015],{"type":426,"tag":553,"props":134991,"children":134992},{"style":795},[134993],{"type":431,"value":79424},{"type":426,"tag":553,"props":134995,"children":134996},{"style":560},[134997],{"type":431,"value":134168},{"type":426,"tag":553,"props":134999,"children":135000},{"style":684},[135001],{"type":431,"value":3275},{"type":426,"tag":553,"props":135003,"children":135004},{"style":572},[135005],{"type":431,"value":7286},{"type":426,"tag":553,"props":135007,"children":135008},{"style":684},[135009],{"type":431,"value":1907},{"type":426,"tag":553,"props":135011,"children":135012},{"style":572},[135013],{"type":431,"value":135014},"\"Hello!\"",{"type":426,"tag":553,"props":135016,"children":135017},{"style":684},[135018],{"type":431,"value":11379},{"type":426,"tag":553,"props":135020,"children":135021},{"class":555,"line":637},[135022],{"type":426,"tag":553,"props":135023,"children":135024},{"emptyLinePlaceholder":831},[135025],{"type":431,"value":834},{"type":426,"tag":553,"props":135027,"children":135028},{"class":555,"line":646},[135029],{"type":426,"tag":553,"props":135030,"children":135031},{"style":1975},[135032],{"type":431,"value":135033},"\u002F\u002F Send image\n",{"type":426,"tag":553,"props":135035,"children":135036},{"class":555,"line":655},[135037,135041,135045,135049,135053,135057,135062,135066,135071],{"type":426,"tag":553,"props":135038,"children":135039},{"style":795},[135040],{"type":431,"value":79424},{"type":426,"tag":553,"props":135042,"children":135043},{"style":560},[135044],{"type":431,"value":88316},{"type":426,"tag":553,"props":135046,"children":135047},{"style":684},[135048],{"type":431,"value":3275},{"type":426,"tag":553,"props":135050,"children":135051},{"style":572},[135052],{"type":431,"value":7286},{"type":426,"tag":553,"props":135054,"children":135055},{"style":684},[135056],{"type":431,"value":1907},{"type":426,"tag":553,"props":135058,"children":135059},{"style":572},[135060],{"type":431,"value":135061},"\"https:\u002F\u002Fexample.com\u002Fproduct.jpg\"",{"type":426,"tag":553,"props":135063,"children":135064},{"style":684},[135065],{"type":431,"value":1907},{"type":426,"tag":553,"props":135067,"children":135068},{"style":572},[135069],{"type":431,"value":135070},"\"New product!\"",{"type":426,"tag":553,"props":135072,"children":135073},{"style":684},[135074],{"type":431,"value":11379},{"type":426,"tag":553,"props":135076,"children":135077},{"class":555,"line":1036},[135078],{"type":426,"tag":553,"props":135079,"children":135080},{"emptyLinePlaceholder":831},[135081],{"type":431,"value":834},{"type":426,"tag":553,"props":135083,"children":135084},{"class":555,"line":1054},[135085],{"type":426,"tag":553,"props":135086,"children":135087},{"style":1975},[135088],{"type":431,"value":135089},"\u002F\u002F Send PDF invoice\n",{"type":426,"tag":553,"props":135091,"children":135092},{"class":555,"line":1080},[135093,135097,135101,135105,135109],{"type":426,"tag":553,"props":135094,"children":135095},{"style":795},[135096],{"type":431,"value":79424},{"type":426,"tag":553,"props":135098,"children":135099},{"style":560},[135100],{"type":431,"value":134653},{"type":426,"tag":553,"props":135102,"children":135103},{"style":684},[135104],{"type":431,"value":3275},{"type":426,"tag":553,"props":135106,"children":135107},{"style":572},[135108],{"type":431,"value":7286},{"type":426,"tag":553,"props":135110,"children":135111},{"style":684},[135112],{"type":431,"value":17901},{"type":426,"tag":553,"props":135114,"children":135115},{"class":555,"line":1097},[135116,135121],{"type":426,"tag":553,"props":135117,"children":135118},{"style":572},[135119],{"type":431,"value":135120},"  \"https:\u002F\u002Fexample.com\u002Finvoice.pdf\"",{"type":426,"tag":553,"props":135122,"children":135123},{"style":684},[135124],{"type":431,"value":17901},{"type":426,"tag":553,"props":135126,"children":135127},{"class":555,"line":1114},[135128,135133],{"type":426,"tag":553,"props":135129,"children":135130},{"style":572},[135131],{"type":431,"value":135132},"  \"Invoice_001.pdf\"",{"type":426,"tag":553,"props":135134,"children":135135},{"style":684},[135136],{"type":431,"value":710},{"type":426,"tag":553,"props":135138,"children":135139},{"class":555,"line":1127},[135140],{"type":426,"tag":553,"props":135141,"children":135142},{"style":572},[135143],{"type":431,"value":135144},"  \"Your invoice is attached.\"\n",{"type":426,"tag":553,"props":135146,"children":135147},{"class":555,"line":1167},[135148],{"type":426,"tag":553,"props":135149,"children":135150},{"style":684},[135151],{"type":431,"value":11379},{"type":426,"tag":434,"props":135153,"children":135155},{"id":135154},"step-3-using-axios-commonjs-older-nodejs",[135156],{"type":431,"value":135157},"Step 3: Using Axios (CommonJS \u002F Older Node.js)",{"type":426,"tag":542,"props":135159,"children":135161},{"className":52113,"code":135160,"language":52115,"meta":417,"style":417},"\u002F\u002F If you prefer axios or need CommonJS\nconst axios = require(\"axios\");\n\nconst rapiwa = axios.create({\n  baseURL: \"https:\u002F\u002Fapp.rapiwa.com\",\n  headers: { \"Authorization\": `Bearer ${process.env.RAPIWA_API_KEY}` }\n});\n\nasync function sendWhatsApp(phone, message) {\n  const { data } = await rapiwa.post(\"\u002Fsend-message\", { number: phone, message });\n  return data;\n}\n\n\u002F\u002F Error handling with axios\nasync function safeSend(phone, message) {\n  try {\n    const result = await sendWhatsApp(phone, message);\n    console.log(\"Sent:\", result.messageId);\n    return result;\n  } catch (error) {\n    if (error.response) {\n      console.error(`API Error ${error.response.status}:`, error.response.data);\n    } else {\n      console.error(\"Network error:\", error.message);\n    }\n    return null;\n  }\n}\n",[135162],{"type":426,"tag":549,"props":135163,"children":135164},{"__ignoreMap":417},[135165,135173,135205,135212,135240,135256,135307,135314,135321,135356,135405,135416,135423,135430,135438,135474,135485,135512,135537,135548,135563,135575,135624,135639,135664,135671,135686,135693],{"type":426,"tag":553,"props":135166,"children":135167},{"class":555,"line":556},[135168],{"type":426,"tag":553,"props":135169,"children":135170},{"style":1975},[135171],{"type":431,"value":135172},"\u002F\u002F If you prefer axios or need CommonJS\n",{"type":426,"tag":553,"props":135174,"children":135175},{"class":555,"line":588},[135176,135180,135184,135188,135192,135196,135201],{"type":426,"tag":553,"props":135177,"children":135178},{"style":795},[135179],{"type":431,"value":52135},{"type":426,"tag":553,"props":135181,"children":135182},{"style":566},[135183],{"type":431,"value":52105},{"type":426,"tag":553,"props":135185,"children":135186},{"style":795},[135187],{"type":431,"value":8739},{"type":426,"tag":553,"props":135189,"children":135190},{"style":560},[135191],{"type":431,"value":52149},{"type":426,"tag":553,"props":135193,"children":135194},{"style":684},[135195],{"type":431,"value":3275},{"type":426,"tag":553,"props":135197,"children":135198},{"style":572},[135199],{"type":431,"value":135200},"\"axios\"",{"type":426,"tag":553,"props":135202,"children":135203},{"style":684},[135204],{"type":431,"value":11379},{"type":426,"tag":553,"props":135206,"children":135207},{"class":555,"line":606},[135208],{"type":426,"tag":553,"props":135209,"children":135210},{"emptyLinePlaceholder":831},[135211],{"type":431,"value":834},{"type":426,"tag":553,"props":135213,"children":135214},{"class":555,"line":623},[135215,135219,135223,135227,135232,135236],{"type":426,"tag":553,"props":135216,"children":135217},{"style":795},[135218],{"type":431,"value":52135},{"type":426,"tag":553,"props":135220,"children":135221},{"style":566},[135222],{"type":431,"value":74572},{"type":426,"tag":553,"props":135224,"children":135225},{"style":795},[135226],{"type":431,"value":8739},{"type":426,"tag":553,"props":135228,"children":135229},{"style":684},[135230],{"type":431,"value":135231}," axios.",{"type":426,"tag":553,"props":135233,"children":135234},{"style":560},[135235],{"type":431,"value":67482},{"type":426,"tag":553,"props":135237,"children":135238},{"style":684},[135239],{"type":431,"value":52612},{"type":426,"tag":553,"props":135241,"children":135242},{"class":555,"line":637},[135243,135248,135252],{"type":426,"tag":553,"props":135244,"children":135245},{"style":684},[135246],{"type":431,"value":135247},"  baseURL: ",{"type":426,"tag":553,"props":135249,"children":135250},{"style":572},[135251],{"type":431,"value":74223},{"type":426,"tag":553,"props":135253,"children":135254},{"style":684},[135255],{"type":431,"value":710},{"type":426,"tag":553,"props":135257,"children":135258},{"class":555,"line":646},[135259,135264,135268,135272,135276,135281,135285,135290,135294,135298,135302],{"type":426,"tag":553,"props":135260,"children":135261},{"style":684},[135262],{"type":431,"value":135263},"  headers: { ",{"type":426,"tag":553,"props":135265,"children":135266},{"style":572},[135267],{"type":431,"value":45214},{"type":426,"tag":553,"props":135269,"children":135270},{"style":684},[135271],{"type":431,"value":700},{"type":426,"tag":553,"props":135273,"children":135274},{"style":572},[135275],{"type":431,"value":53129},{"type":426,"tag":553,"props":135277,"children":135278},{"style":684},[135279],{"type":431,"value":135280},"process",{"type":426,"tag":553,"props":135282,"children":135283},{"style":572},[135284],{"type":431,"value":6789},{"type":426,"tag":553,"props":135286,"children":135287},{"style":684},[135288],{"type":431,"value":135289},"env",{"type":426,"tag":553,"props":135291,"children":135292},{"style":572},[135293],{"type":431,"value":6789},{"type":426,"tag":553,"props":135295,"children":135296},{"style":566},[135297],{"type":431,"value":7156},{"type":426,"tag":553,"props":135299,"children":135300},{"style":572},[135301],{"type":431,"value":52718},{"type":426,"tag":553,"props":135303,"children":135304},{"style":684},[135305],{"type":431,"value":135306}," }\n",{"type":426,"tag":553,"props":135308,"children":135309},{"class":555,"line":655},[135310],{"type":426,"tag":553,"props":135311,"children":135312},{"style":684},[135313],{"type":431,"value":55916},{"type":426,"tag":553,"props":135315,"children":135316},{"class":555,"line":1036},[135317],{"type":426,"tag":553,"props":135318,"children":135319},{"emptyLinePlaceholder":831},[135320],{"type":431,"value":834},{"type":426,"tag":553,"props":135322,"children":135323},{"class":555,"line":1054},[135324,135328,135332,135336,135340,135344,135348,135352],{"type":426,"tag":553,"props":135325,"children":135326},{"style":795},[135327],{"type":431,"value":52361},{"type":426,"tag":553,"props":135329,"children":135330},{"style":795},[135331],{"type":431,"value":52366},{"type":426,"tag":553,"props":135333,"children":135334},{"style":560},[135335],{"type":431,"value":86403},{"type":426,"tag":553,"props":135337,"children":135338},{"style":684},[135339],{"type":431,"value":3275},{"type":426,"tag":553,"props":135341,"children":135342},{"style":1684},[135343],{"type":431,"value":37598},{"type":426,"tag":553,"props":135345,"children":135346},{"style":684},[135347],{"type":431,"value":1907},{"type":426,"tag":553,"props":135349,"children":135350},{"style":1684},[135351],{"type":431,"value":2734},{"type":426,"tag":553,"props":135353,"children":135354},{"style":684},[135355],{"type":431,"value":52385},{"type":426,"tag":553,"props":135357,"children":135358},{"class":555,"line":1080},[135359,135363,135367,135371,135375,135379,135383,135388,135392,135396,135400],{"type":426,"tag":553,"props":135360,"children":135361},{"style":795},[135362],{"type":431,"value":52540},{"type":426,"tag":553,"props":135364,"children":135365},{"style":684},[135366],{"type":431,"value":52174},{"type":426,"tag":553,"props":135368,"children":135369},{"style":566},[135370],{"type":431,"value":54344},{"type":426,"tag":553,"props":135372,"children":135373},{"style":684},[135374],{"type":431,"value":52193},{"type":426,"tag":553,"props":135376,"children":135377},{"style":795},[135378],{"type":431,"value":957},{"type":426,"tag":553,"props":135380,"children":135381},{"style":795},[135382],{"type":431,"value":53070},{"type":426,"tag":553,"props":135384,"children":135385},{"style":684},[135386],{"type":431,"value":135387}," rapiwa.",{"type":426,"tag":553,"props":135389,"children":135390},{"style":560},[135391],{"type":431,"value":70594},{"type":426,"tag":553,"props":135393,"children":135394},{"style":684},[135395],{"type":431,"value":3275},{"type":426,"tag":553,"props":135397,"children":135398},{"style":572},[135399],{"type":431,"value":70618},{"type":426,"tag":553,"props":135401,"children":135402},{"style":684},[135403],{"type":431,"value":135404},", { number: phone, message });\n",{"type":426,"tag":553,"props":135406,"children":135407},{"class":555,"line":1097},[135408,135412],{"type":426,"tag":553,"props":135409,"children":135410},{"style":795},[135411],{"type":431,"value":52393},{"type":426,"tag":553,"props":135413,"children":135414},{"style":684},[135415],{"type":431,"value":84894},{"type":426,"tag":553,"props":135417,"children":135418},{"class":555,"line":1114},[135419],{"type":426,"tag":553,"props":135420,"children":135421},{"style":684},[135422],{"type":431,"value":756},{"type":426,"tag":553,"props":135424,"children":135425},{"class":555,"line":1127},[135426],{"type":426,"tag":553,"props":135427,"children":135428},{"emptyLinePlaceholder":831},[135429],{"type":431,"value":834},{"type":426,"tag":553,"props":135431,"children":135432},{"class":555,"line":1167},[135433],{"type":426,"tag":553,"props":135434,"children":135435},{"style":1975},[135436],{"type":431,"value":135437},"\u002F\u002F Error handling with axios\n",{"type":426,"tag":553,"props":135439,"children":135440},{"class":555,"line":1184},[135441,135445,135449,135454,135458,135462,135466,135470],{"type":426,"tag":553,"props":135442,"children":135443},{"style":795},[135444],{"type":431,"value":52361},{"type":426,"tag":553,"props":135446,"children":135447},{"style":795},[135448],{"type":431,"value":52366},{"type":426,"tag":553,"props":135450,"children":135451},{"style":560},[135452],{"type":431,"value":135453}," safeSend",{"type":426,"tag":553,"props":135455,"children":135456},{"style":684},[135457],{"type":431,"value":3275},{"type":426,"tag":553,"props":135459,"children":135460},{"style":1684},[135461],{"type":431,"value":37598},{"type":426,"tag":553,"props":135463,"children":135464},{"style":684},[135465],{"type":431,"value":1907},{"type":426,"tag":553,"props":135467,"children":135468},{"style":1684},[135469],{"type":431,"value":2734},{"type":426,"tag":553,"props":135471,"children":135472},{"style":684},[135473],{"type":431,"value":52385},{"type":426,"tag":553,"props":135475,"children":135476},{"class":555,"line":1192},[135477,135481],{"type":426,"tag":553,"props":135478,"children":135479},{"style":795},[135480],{"type":431,"value":85399},{"type":426,"tag":553,"props":135482,"children":135483},{"style":684},[135484],{"type":431,"value":5458},{"type":426,"tag":553,"props":135486,"children":135487},{"class":555,"line":1210},[135488,135492,135496,135500,135504,135508],{"type":426,"tag":553,"props":135489,"children":135490},{"style":795},[135491],{"type":431,"value":85411},{"type":426,"tag":553,"props":135493,"children":135494},{"style":566},[135495],{"type":431,"value":53508},{"type":426,"tag":553,"props":135497,"children":135498},{"style":795},[135499],{"type":431,"value":8739},{"type":426,"tag":553,"props":135501,"children":135502},{"style":795},[135503],{"type":431,"value":53070},{"type":426,"tag":553,"props":135505,"children":135506},{"style":560},[135507],{"type":431,"value":86403},{"type":426,"tag":553,"props":135509,"children":135510},{"style":684},[135511],{"type":431,"value":62085},{"type":426,"tag":553,"props":135513,"children":135514},{"class":555,"line":1253},[135515,135519,135523,135527,135532],{"type":426,"tag":553,"props":135516,"children":135517},{"style":684},[135518],{"type":431,"value":85587},{"type":426,"tag":553,"props":135520,"children":135521},{"style":560},[135522],{"type":431,"value":53719},{"type":426,"tag":553,"props":135524,"children":135525},{"style":684},[135526],{"type":431,"value":3275},{"type":426,"tag":553,"props":135528,"children":135529},{"style":572},[135530],{"type":431,"value":135531},"\"Sent:\"",{"type":426,"tag":553,"props":135533,"children":135534},{"style":684},[135535],{"type":431,"value":135536},", result.messageId);\n",{"type":426,"tag":553,"props":135538,"children":135539},{"class":555,"line":1302},[135540,135544],{"type":426,"tag":553,"props":135541,"children":135542},{"style":795},[135543],{"type":431,"value":1659},{"type":426,"tag":553,"props":135545,"children":135546},{"style":684},[135547],{"type":431,"value":97361},{"type":426,"tag":553,"props":135549,"children":135550},{"class":555,"line":1374},[135551,135555,135559],{"type":426,"tag":553,"props":135552,"children":135553},{"style":684},[135554],{"type":431,"value":85621},{"type":426,"tag":553,"props":135556,"children":135557},{"style":795},[135558],{"type":431,"value":61750},{"type":426,"tag":553,"props":135560,"children":135561},{"style":684},[135562],{"type":431,"value":96511},{"type":426,"tag":553,"props":135564,"children":135565},{"class":555,"line":1414},[135566,135570],{"type":426,"tag":553,"props":135567,"children":135568},{"style":795},[135569],{"type":431,"value":925},{"type":426,"tag":553,"props":135571,"children":135572},{"style":684},[135573],{"type":431,"value":135574}," (error.response) {\n",{"type":426,"tag":553,"props":135576,"children":135577},{"class":555,"line":1479},[135578,135582,135586,135590,135595,135599,135603,135607,135611,135615,135619],{"type":426,"tag":553,"props":135579,"children":135580},{"style":684},[135581],{"type":431,"value":105591},{"type":426,"tag":553,"props":135583,"children":135584},{"style":560},[135585],{"type":431,"value":70759},{"type":426,"tag":553,"props":135587,"children":135588},{"style":684},[135589],{"type":431,"value":3275},{"type":426,"tag":553,"props":135591,"children":135592},{"style":572},[135593],{"type":431,"value":135594},"`API Error ${",{"type":426,"tag":553,"props":135596,"children":135597},{"style":684},[135598],{"type":431,"value":70759},{"type":426,"tag":553,"props":135600,"children":135601},{"style":572},[135602],{"type":431,"value":6789},{"type":426,"tag":553,"props":135604,"children":135605},{"style":684},[135606],{"type":431,"value":96832},{"type":426,"tag":553,"props":135608,"children":135609},{"style":572},[135610],{"type":431,"value":6789},{"type":426,"tag":553,"props":135612,"children":135613},{"style":684},[135614],{"type":431,"value":67953},{"type":426,"tag":553,"props":135616,"children":135617},{"style":572},[135618],{"type":431,"value":85609},{"type":426,"tag":553,"props":135620,"children":135621},{"style":684},[135622],{"type":431,"value":135623},", error.response.data);\n",{"type":426,"tag":553,"props":135625,"children":135626},{"class":555,"line":1517},[135627,135631,135635],{"type":426,"tag":553,"props":135628,"children":135629},{"style":684},[135630],{"type":431,"value":105650},{"type":426,"tag":553,"props":135632,"children":135633},{"style":795},[135634],{"type":431,"value":61682},{"type":426,"tag":553,"props":135636,"children":135637},{"style":684},[135638],{"type":431,"value":5458},{"type":426,"tag":553,"props":135640,"children":135641},{"class":555,"line":1560},[135642,135646,135650,135654,135659],{"type":426,"tag":553,"props":135643,"children":135644},{"style":684},[135645],{"type":431,"value":105591},{"type":426,"tag":553,"props":135647,"children":135648},{"style":560},[135649],{"type":431,"value":70759},{"type":426,"tag":553,"props":135651,"children":135652},{"style":684},[135653],{"type":431,"value":3275},{"type":426,"tag":553,"props":135655,"children":135656},{"style":572},[135657],{"type":431,"value":135658},"\"Network error:\"",{"type":426,"tag":553,"props":135660,"children":135661},{"style":684},[135662],{"type":431,"value":135663},", error.message);\n",{"type":426,"tag":553,"props":135665,"children":135666},{"class":555,"line":1598},[135667],{"type":426,"tag":553,"props":135668,"children":135669},{"style":684},[135670],{"type":431,"value":5546},{"type":426,"tag":553,"props":135672,"children":135673},{"class":555,"line":1636},[135674,135678,135682],{"type":426,"tag":553,"props":135675,"children":135676},{"style":795},[135677],{"type":431,"value":1659},{"type":426,"tag":553,"props":135679,"children":135680},{"style":566},[135681],{"type":431,"value":62188},{"type":426,"tag":553,"props":135683,"children":135684},{"style":684},[135685],{"type":431,"value":52321},{"type":426,"tag":553,"props":135687,"children":135688},{"class":555,"line":1645},[135689],{"type":426,"tag":553,"props":135690,"children":135691},{"style":684},[135692],{"type":431,"value":60547},{"type":426,"tag":553,"props":135694,"children":135695},{"class":555,"line":1653},[135696],{"type":426,"tag":553,"props":135697,"children":135698},{"style":684},[135699],{"type":431,"value":756},{"type":426,"tag":427,"props":135701,"children":135702},{},[135703,135705],{"type":431,"value":135704},"Install: ",{"type":426,"tag":549,"props":135706,"children":135708},{"className":135707},[],[135709],{"type":431,"value":135710},"npm install axios",{"type":426,"tag":434,"props":135712,"children":135714},{"id":135713},"step-4-bulk-sending-with-delay",[135715],{"type":431,"value":135716},"Step 4: Bulk Sending with Delay",{"type":426,"tag":542,"props":135718,"children":135720},{"className":52113,"code":135719,"language":52115,"meta":417,"style":417},"\u002F\u002F delay helper\nconst sleep = (ms) => new Promise(r => setTimeout(r, ms));\n\nasync function sendBulk(contacts, messageTemplate, delayMs = 1500) {\n  const results = { success: 0, failed: 0, errors: [] };\n  \n  for (let i = 0; i \u003C contacts.length; i++) {\n    const contact = contacts[i];\n    \u002F\u002F Replace {placeholder} with actual values\n    const message = messageTemplate.replace(\n      \u002F\\{(\\w+)\\}\u002Fg, (_, key) => contact[key] ?? \"\"\n    );\n    \n    try {\n      const response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n        method: \"POST\",\n        headers: {\n          \"Authorization\": `Bearer ${process.env.RAPIWA_API_KEY}`,\n          \"Content-Type\": \"application\u002Fjson\"\n        },\n        body: JSON.stringify({ number: contact.phone, message })\n      });\n      \n      const data = await response.json();\n      \n      if (data.status === \"success\") {\n        results.success++;\n        console.log(`[${i+1}\u002F${contacts.length}] ✓ ${contact.phone}`);\n      } else {\n        results.failed++;\n        results.errors.push({ phone: contact.phone, error: data });\n      }\n    } catch (err) {\n      results.failed++;\n      results.errors.push({ phone: contact.phone, error: err.message });\n    }\n    \n    if (i \u003C contacts.length - 1) await sleep(delayMs);\n  }\n  \n  console.log(`Done: ${results.success} sent, ${results.failed} failed`);\n  return results;\n}\n\n\u002F\u002F Usage\nconst contacts = [\n  { phone: \"8801111111111\", name: \"Alice\", orderId: \"12345\" },\n  { phone: \"8802222222222\", name: \"Bob\", orderId: \"12346\" }\n];\n\nawait sendBulk(contacts, \"Hi {name}! Order #{orderId} is confirmed.\", 1500);\n",[135721],{"type":426,"tag":549,"props":135722,"children":135723},{"__ignoreMap":417},[135724,135732,135797,135804,135858,135895,135902,135961,135982,135990,136018,136103,136110,136117,136128,136164,136180,136188,136232,136248,136255,136280,136288,136296,136327,136334,136359,136375,136452,136468,136484,136502,136509,136524,136540,136557,136564,136571,136620,136627,136634,136693,136704,136711,136718,136725,136745,136780,136814,136821,136828],{"type":426,"tag":553,"props":135725,"children":135726},{"class":555,"line":556},[135727],{"type":426,"tag":553,"props":135728,"children":135729},{"style":1975},[135730],{"type":431,"value":135731},"\u002F\u002F delay helper\n",{"type":426,"tag":553,"props":135733,"children":135734},{"class":555,"line":588},[135735,135739,135744,135748,135752,135757,135761,135765,135769,135774,135778,135783,135787,135792],{"type":426,"tag":553,"props":135736,"children":135737},{"style":795},[135738],{"type":431,"value":52135},{"type":426,"tag":553,"props":135740,"children":135741},{"style":560},[135742],{"type":431,"value":135743}," sleep",{"type":426,"tag":553,"props":135745,"children":135746},{"style":795},[135747],{"type":431,"value":8739},{"type":426,"tag":553,"props":135749,"children":135750},{"style":684},[135751],{"type":431,"value":5684},{"type":426,"tag":553,"props":135753,"children":135754},{"style":1684},[135755],{"type":431,"value":135756},"ms",{"type":426,"tag":553,"props":135758,"children":135759},{"style":684},[135760],{"type":431,"value":2987},{"type":426,"tag":553,"props":135762,"children":135763},{"style":795},[135764],{"type":431,"value":74581},{"type":426,"tag":553,"props":135766,"children":135767},{"style":795},[135768],{"type":431,"value":52275},{"type":426,"tag":553,"props":135770,"children":135771},{"style":566},[135772],{"type":431,"value":135773}," Promise",{"type":426,"tag":553,"props":135775,"children":135776},{"style":684},[135777],{"type":431,"value":3275},{"type":426,"tag":553,"props":135779,"children":135780},{"style":1684},[135781],{"type":431,"value":135782},"r",{"type":426,"tag":553,"props":135784,"children":135785},{"style":795},[135786],{"type":431,"value":53709},{"type":426,"tag":553,"props":135788,"children":135789},{"style":560},[135790],{"type":431,"value":135791}," setTimeout",{"type":426,"tag":553,"props":135793,"children":135794},{"style":684},[135795],{"type":431,"value":135796},"(r, ms));\n",{"type":426,"tag":553,"props":135798,"children":135799},{"class":555,"line":606},[135800],{"type":426,"tag":553,"props":135801,"children":135802},{"emptyLinePlaceholder":831},[135803],{"type":431,"value":834},{"type":426,"tag":553,"props":135805,"children":135806},{"class":555,"line":623},[135807,135811,135815,135820,135824,135828,135832,135837,135841,135845,135849,135854],{"type":426,"tag":553,"props":135808,"children":135809},{"style":795},[135810],{"type":431,"value":52361},{"type":426,"tag":553,"props":135812,"children":135813},{"style":795},[135814],{"type":431,"value":52366},{"type":426,"tag":553,"props":135816,"children":135817},{"style":560},[135818],{"type":431,"value":135819}," sendBulk",{"type":426,"tag":553,"props":135821,"children":135822},{"style":684},[135823],{"type":431,"value":3275},{"type":426,"tag":553,"props":135825,"children":135826},{"style":1684},[135827],{"type":431,"value":112146},{"type":426,"tag":553,"props":135829,"children":135830},{"style":684},[135831],{"type":431,"value":1907},{"type":426,"tag":553,"props":135833,"children":135834},{"style":1684},[135835],{"type":431,"value":135836},"messageTemplate",{"type":426,"tag":553,"props":135838,"children":135839},{"style":684},[135840],{"type":431,"value":1907},{"type":426,"tag":553,"props":135842,"children":135843},{"style":1684},[135844],{"type":431,"value":89559},{"type":426,"tag":553,"props":135846,"children":135847},{"style":795},[135848],{"type":431,"value":8739},{"type":426,"tag":553,"props":135850,"children":135851},{"style":566},[135852],{"type":431,"value":135853}," 1500",{"type":426,"tag":553,"props":135855,"children":135856},{"style":684},[135857],{"type":431,"value":52385},{"type":426,"tag":553,"props":135859,"children":135860},{"class":555,"line":637},[135861,135865,135869,135873,135877,135881,135886,135890],{"type":426,"tag":553,"props":135862,"children":135863},{"style":795},[135864],{"type":431,"value":52540},{"type":426,"tag":553,"props":135866,"children":135867},{"style":566},[135868],{"type":431,"value":75220},{"type":426,"tag":553,"props":135870,"children":135871},{"style":795},[135872],{"type":431,"value":8739},{"type":426,"tag":553,"props":135874,"children":135875},{"style":684},[135876],{"type":431,"value":123312},{"type":426,"tag":553,"props":135878,"children":135879},{"style":566},[135880],{"type":431,"value":1930},{"type":426,"tag":553,"props":135882,"children":135883},{"style":684},[135884],{"type":431,"value":135885},", failed: ",{"type":426,"tag":553,"props":135887,"children":135888},{"style":566},[135889],{"type":431,"value":1930},{"type":426,"tag":553,"props":135891,"children":135892},{"style":684},[135893],{"type":431,"value":135894},", errors: [] };\n",{"type":426,"tag":553,"props":135896,"children":135897},{"class":555,"line":646},[135898],{"type":426,"tag":553,"props":135899,"children":135900},{"style":684},[135901],{"type":431,"value":52575},{"type":426,"tag":553,"props":135903,"children":135904},{"class":555,"line":655},[135905,135909,135913,135917,135922,135926,135930,135935,135939,135944,135948,135953,135957],{"type":426,"tag":553,"props":135906,"children":135907},{"style":795},[135908],{"type":431,"value":105046},{"type":426,"tag":553,"props":135910,"children":135911},{"style":684},[135912],{"type":431,"value":5684},{"type":426,"tag":553,"props":135914,"children":135915},{"style":795},[135916],{"type":431,"value":105055},{"type":426,"tag":553,"props":135918,"children":135919},{"style":684},[135920],{"type":431,"value":135921}," i ",{"type":426,"tag":553,"props":135923,"children":135924},{"style":795},[135925],{"type":431,"value":957},{"type":426,"tag":553,"props":135927,"children":135928},{"style":566},[135929],{"type":431,"value":940},{"type":426,"tag":553,"props":135931,"children":135932},{"style":684},[135933],{"type":431,"value":135934},"; i ",{"type":426,"tag":553,"props":135936,"children":135937},{"style":795},[135938],{"type":431,"value":25949},{"type":426,"tag":553,"props":135940,"children":135941},{"style":684},[135942],{"type":431,"value":135943}," contacts.",{"type":426,"tag":553,"props":135945,"children":135946},{"style":566},[135947],{"type":431,"value":121253},{"type":426,"tag":553,"props":135949,"children":135950},{"style":684},[135951],{"type":431,"value":135952},"; i",{"type":426,"tag":553,"props":135954,"children":135955},{"style":795},[135956],{"type":431,"value":105086},{"type":426,"tag":553,"props":135958,"children":135959},{"style":684},[135960],{"type":431,"value":52385},{"type":426,"tag":553,"props":135962,"children":135963},{"class":555,"line":1036},[135964,135968,135973,135977],{"type":426,"tag":553,"props":135965,"children":135966},{"style":795},[135967],{"type":431,"value":85411},{"type":426,"tag":553,"props":135969,"children":135970},{"style":566},[135971],{"type":431,"value":135972}," contact",{"type":426,"tag":553,"props":135974,"children":135975},{"style":795},[135976],{"type":431,"value":8739},{"type":426,"tag":553,"props":135978,"children":135979},{"style":684},[135980],{"type":431,"value":135981}," contacts[i];\n",{"type":426,"tag":553,"props":135983,"children":135984},{"class":555,"line":1054},[135985],{"type":426,"tag":553,"props":135986,"children":135987},{"style":1975},[135988],{"type":431,"value":135989},"    \u002F\u002F Replace {placeholder} with actual values\n",{"type":426,"tag":553,"props":135991,"children":135992},{"class":555,"line":1080},[135993,135997,136001,136005,136010,136014],{"type":426,"tag":553,"props":135994,"children":135995},{"style":795},[135996],{"type":431,"value":85411},{"type":426,"tag":553,"props":135998,"children":135999},{"style":566},[136000],{"type":431,"value":55741},{"type":426,"tag":553,"props":136002,"children":136003},{"style":795},[136004],{"type":431,"value":8739},{"type":426,"tag":553,"props":136006,"children":136007},{"style":684},[136008],{"type":431,"value":136009}," messageTemplate.",{"type":426,"tag":553,"props":136011,"children":136012},{"style":560},[136013],{"type":431,"value":67341},{"type":426,"tag":553,"props":136015,"children":136016},{"style":684},[136017],{"type":431,"value":3172},{"type":426,"tag":553,"props":136019,"children":136020},{"class":555,"line":1097},[136021,136026,136032,136036,136041,136045,136049,136054,136058,136063,136068,136073,136077,136081,136085,136089,136094,136098],{"type":426,"tag":553,"props":136022,"children":136023},{"style":572},[136024],{"type":431,"value":136025},"      \u002F",{"type":426,"tag":553,"props":136027,"children":136029},{"style":136028},"--shiki-default:#85E89D;--shiki-default-font-weight:bold",[136030],{"type":431,"value":136031},"\\{",{"type":426,"tag":553,"props":136033,"children":136034},{"style":90580},[136035],{"type":431,"value":3275},{"type":426,"tag":553,"props":136037,"children":136038},{"style":566},[136039],{"type":431,"value":136040},"\\w",{"type":426,"tag":553,"props":136042,"children":136043},{"style":795},[136044],{"type":431,"value":2033},{"type":426,"tag":553,"props":136046,"children":136047},{"style":90580},[136048],{"type":431,"value":5736},{"type":426,"tag":553,"props":136050,"children":136051},{"style":136028},[136052],{"type":431,"value":136053},"\\}",{"type":426,"tag":553,"props":136055,"children":136056},{"style":572},[136057],{"type":431,"value":18503},{"type":426,"tag":553,"props":136059,"children":136060},{"style":795},[136061],{"type":431,"value":136062},"g",{"type":426,"tag":553,"props":136064,"children":136065},{"style":684},[136066],{"type":431,"value":136067},", (",{"type":426,"tag":553,"props":136069,"children":136070},{"style":1684},[136071],{"type":431,"value":136072},"_",{"type":426,"tag":553,"props":136074,"children":136075},{"style":684},[136076],{"type":431,"value":1907},{"type":426,"tag":553,"props":136078,"children":136079},{"style":1684},[136080],{"type":431,"value":50471},{"type":426,"tag":553,"props":136082,"children":136083},{"style":684},[136084],{"type":431,"value":2987},{"type":426,"tag":553,"props":136086,"children":136087},{"style":795},[136088],{"type":431,"value":74581},{"type":426,"tag":553,"props":136090,"children":136091},{"style":684},[136092],{"type":431,"value":136093}," contact[key] ",{"type":426,"tag":553,"props":136095,"children":136096},{"style":795},[136097],{"type":431,"value":74011},{"type":426,"tag":553,"props":136099,"children":136100},{"style":572},[136101],{"type":431,"value":136102}," \"\"\n",{"type":426,"tag":553,"props":136104,"children":136105},{"class":555,"line":1114},[136106],{"type":426,"tag":553,"props":136107,"children":136108},{"style":684},[136109],{"type":431,"value":72473},{"type":426,"tag":553,"props":136111,"children":136112},{"class":555,"line":1127},[136113],{"type":426,"tag":553,"props":136114,"children":136115},{"style":684},[136116],{"type":431,"value":917},{"type":426,"tag":553,"props":136118,"children":136119},{"class":555,"line":1167},[136120,136124],{"type":426,"tag":553,"props":136121,"children":136122},{"style":795},[136123],{"type":431,"value":13401},{"type":426,"tag":553,"props":136125,"children":136126},{"style":684},[136127],{"type":431,"value":5458},{"type":426,"tag":553,"props":136129,"children":136130},{"class":555,"line":1184},[136131,136136,136140,136144,136148,136152,136156,136160],{"type":426,"tag":553,"props":136132,"children":136133},{"style":795},[136134],{"type":431,"value":136135},"      const",{"type":426,"tag":553,"props":136137,"children":136138},{"style":566},[136139],{"type":431,"value":53061},{"type":426,"tag":553,"props":136141,"children":136142},{"style":795},[136143],{"type":431,"value":8739},{"type":426,"tag":553,"props":136145,"children":136146},{"style":795},[136147],{"type":431,"value":53070},{"type":426,"tag":553,"props":136149,"children":136150},{"style":560},[136151],{"type":431,"value":52226},{"type":426,"tag":553,"props":136153,"children":136154},{"style":684},[136155],{"type":431,"value":3275},{"type":426,"tag":553,"props":136157,"children":136158},{"style":572},[136159],{"type":431,"value":60449},{"type":426,"tag":553,"props":136161,"children":136162},{"style":684},[136163],{"type":431,"value":53088},{"type":426,"tag":553,"props":136165,"children":136166},{"class":555,"line":1192},[136167,136172,136176],{"type":426,"tag":553,"props":136168,"children":136169},{"style":684},[136170],{"type":431,"value":136171},"        method: ",{"type":426,"tag":553,"props":136173,"children":136174},{"style":572},[136175],{"type":431,"value":60428},{"type":426,"tag":553,"props":136177,"children":136178},{"style":684},[136179],{"type":431,"value":710},{"type":426,"tag":553,"props":136181,"children":136182},{"class":555,"line":1210},[136183],{"type":426,"tag":553,"props":136184,"children":136185},{"style":684},[136186],{"type":431,"value":136187},"        headers: {\n",{"type":426,"tag":553,"props":136189,"children":136190},{"class":555,"line":1253},[136191,136196,136200,136204,136208,136212,136216,136220,136224,136228],{"type":426,"tag":553,"props":136192,"children":136193},{"style":572},[136194],{"type":431,"value":136195},"          \"Authorization\"",{"type":426,"tag":553,"props":136197,"children":136198},{"style":684},[136199],{"type":431,"value":700},{"type":426,"tag":553,"props":136201,"children":136202},{"style":572},[136203],{"type":431,"value":53129},{"type":426,"tag":553,"props":136205,"children":136206},{"style":684},[136207],{"type":431,"value":135280},{"type":426,"tag":553,"props":136209,"children":136210},{"style":572},[136211],{"type":431,"value":6789},{"type":426,"tag":553,"props":136213,"children":136214},{"style":684},[136215],{"type":431,"value":135289},{"type":426,"tag":553,"props":136217,"children":136218},{"style":572},[136219],{"type":431,"value":6789},{"type":426,"tag":553,"props":136221,"children":136222},{"style":566},[136223],{"type":431,"value":7156},{"type":426,"tag":553,"props":136225,"children":136226},{"style":572},[136227],{"type":431,"value":52718},{"type":426,"tag":553,"props":136229,"children":136230},{"style":684},[136231],{"type":431,"value":710},{"type":426,"tag":553,"props":136233,"children":136234},{"class":555,"line":1302},[136235,136240,136244],{"type":426,"tag":553,"props":136236,"children":136237},{"style":572},[136238],{"type":431,"value":136239},"          \"Content-Type\"",{"type":426,"tag":553,"props":136241,"children":136242},{"style":684},[136243],{"type":431,"value":700},{"type":426,"tag":553,"props":136245,"children":136246},{"style":572},[136247],{"type":431,"value":113079},{"type":426,"tag":553,"props":136249,"children":136250},{"class":555,"line":1374},[136251],{"type":426,"tag":553,"props":136252,"children":136253},{"style":684},[136254],{"type":431,"value":32445},{"type":426,"tag":553,"props":136256,"children":136257},{"class":555,"line":1414},[136258,136263,136267,136271,136275],{"type":426,"tag":553,"props":136259,"children":136260},{"style":684},[136261],{"type":431,"value":136262},"        body: ",{"type":426,"tag":553,"props":136264,"children":136265},{"style":566},[136266],{"type":431,"value":53178},{"type":426,"tag":553,"props":136268,"children":136269},{"style":684},[136270],{"type":431,"value":6789},{"type":426,"tag":553,"props":136272,"children":136273},{"style":560},[136274],{"type":431,"value":53187},{"type":426,"tag":553,"props":136276,"children":136277},{"style":684},[136278],{"type":431,"value":136279},"({ number: contact.phone, message })\n",{"type":426,"tag":553,"props":136281,"children":136282},{"class":555,"line":1479},[136283],{"type":426,"tag":553,"props":136284,"children":136285},{"style":684},[136286],{"type":431,"value":136287},"      });\n",{"type":426,"tag":553,"props":136289,"children":136290},{"class":555,"line":1517},[136291],{"type":426,"tag":553,"props":136292,"children":136293},{"style":684},[136294],{"type":431,"value":136295},"      \n",{"type":426,"tag":553,"props":136297,"children":136298},{"class":555,"line":1560},[136299,136303,136307,136311,136315,136319,136323],{"type":426,"tag":553,"props":136300,"children":136301},{"style":795},[136302],{"type":431,"value":136135},{"type":426,"tag":553,"props":136304,"children":136305},{"style":566},[136306],{"type":431,"value":75817},{"type":426,"tag":553,"props":136308,"children":136309},{"style":795},[136310],{"type":431,"value":8739},{"type":426,"tag":553,"props":136312,"children":136313},{"style":795},[136314],{"type":431,"value":53070},{"type":426,"tag":553,"props":136316,"children":136317},{"style":684},[136318],{"type":431,"value":53218},{"type":426,"tag":553,"props":136320,"children":136321},{"style":560},[136322],{"type":431,"value":673},{"type":426,"tag":553,"props":136324,"children":136325},{"style":684},[136326],{"type":431,"value":53227},{"type":426,"tag":553,"props":136328,"children":136329},{"class":555,"line":1598},[136330],{"type":426,"tag":553,"props":136331,"children":136332},{"style":684},[136333],{"type":431,"value":136295},{"type":426,"tag":553,"props":136335,"children":136336},{"class":555,"line":1636},[136337,136342,136347,136351,136355],{"type":426,"tag":553,"props":136338,"children":136339},{"style":795},[136340],{"type":431,"value":136341},"      if",{"type":426,"tag":553,"props":136343,"children":136344},{"style":684},[136345],{"type":431,"value":136346}," (data.status ",{"type":426,"tag":553,"props":136348,"children":136349},{"style":795},[136350],{"type":431,"value":55042},{"type":426,"tag":553,"props":136352,"children":136353},{"style":572},[136354],{"type":431,"value":69054},{"type":426,"tag":553,"props":136356,"children":136357},{"style":684},[136358],{"type":431,"value":52385},{"type":426,"tag":553,"props":136360,"children":136361},{"class":555,"line":1645},[136362,136367,136371],{"type":426,"tag":553,"props":136363,"children":136364},{"style":684},[136365],{"type":431,"value":136366},"        results.success",{"type":426,"tag":553,"props":136368,"children":136369},{"style":795},[136370],{"type":431,"value":105086},{"type":426,"tag":553,"props":136372,"children":136373},{"style":684},[136374],{"type":431,"value":52321},{"type":426,"tag":553,"props":136376,"children":136377},{"class":555,"line":1653},[136378,136383,136387,136391,136396,136401,136405,136409,136414,136418,136422,136426,136431,136436,136440,136444,136448],{"type":426,"tag":553,"props":136379,"children":136380},{"style":684},[136381],{"type":431,"value":136382},"        console.",{"type":426,"tag":553,"props":136384,"children":136385},{"style":560},[136386],{"type":431,"value":53719},{"type":426,"tag":553,"props":136388,"children":136389},{"style":684},[136390],{"type":431,"value":3275},{"type":426,"tag":553,"props":136392,"children":136393},{"style":572},[136394],{"type":431,"value":136395},"`[${",{"type":426,"tag":553,"props":136397,"children":136398},{"style":684},[136399],{"type":431,"value":136400},"i",{"type":426,"tag":553,"props":136402,"children":136403},{"style":795},[136404],{"type":431,"value":2033},{"type":426,"tag":553,"props":136406,"children":136407},{"style":566},[136408],{"type":431,"value":1921},{"type":426,"tag":553,"props":136410,"children":136411},{"style":572},[136412],{"type":431,"value":136413},"}\u002F${",{"type":426,"tag":553,"props":136415,"children":136416},{"style":684},[136417],{"type":431,"value":112146},{"type":426,"tag":553,"props":136419,"children":136420},{"style":572},[136421],{"type":431,"value":6789},{"type":426,"tag":553,"props":136423,"children":136424},{"style":566},[136425],{"type":431,"value":121253},{"type":426,"tag":553,"props":136427,"children":136428},{"style":572},[136429],{"type":431,"value":136430},"}] ✓ ${",{"type":426,"tag":553,"props":136432,"children":136433},{"style":684},[136434],{"type":431,"value":136435},"contact",{"type":426,"tag":553,"props":136437,"children":136438},{"style":572},[136439],{"type":431,"value":6789},{"type":426,"tag":553,"props":136441,"children":136442},{"style":684},[136443],{"type":431,"value":37598},{"type":426,"tag":553,"props":136445,"children":136446},{"style":572},[136447],{"type":431,"value":52718},{"type":426,"tag":553,"props":136449,"children":136450},{"style":684},[136451],{"type":431,"value":11379},{"type":426,"tag":553,"props":136453,"children":136454},{"class":555,"line":1667},[136455,136460,136464],{"type":426,"tag":553,"props":136456,"children":136457},{"style":684},[136458],{"type":431,"value":136459},"      } ",{"type":426,"tag":553,"props":136461,"children":136462},{"style":795},[136463],{"type":431,"value":61682},{"type":426,"tag":553,"props":136465,"children":136466},{"style":684},[136467],{"type":431,"value":5458},{"type":426,"tag":553,"props":136469,"children":136470},{"class":555,"line":1680},[136471,136476,136480],{"type":426,"tag":553,"props":136472,"children":136473},{"style":684},[136474],{"type":431,"value":136475},"        results.failed",{"type":426,"tag":553,"props":136477,"children":136478},{"style":795},[136479],{"type":431,"value":105086},{"type":426,"tag":553,"props":136481,"children":136482},{"style":684},[136483],{"type":431,"value":52321},{"type":426,"tag":553,"props":136485,"children":136486},{"class":555,"line":1740},[136487,136492,136497],{"type":426,"tag":553,"props":136488,"children":136489},{"style":684},[136490],{"type":431,"value":136491},"        results.errors.",{"type":426,"tag":553,"props":136493,"children":136494},{"style":560},[136495],{"type":431,"value":136496},"push",{"type":426,"tag":553,"props":136498,"children":136499},{"style":684},[136500],{"type":431,"value":136501},"({ phone: contact.phone, error: data });\n",{"type":426,"tag":553,"props":136503,"children":136504},{"class":555,"line":1787},[136505],{"type":426,"tag":553,"props":136506,"children":136507},{"style":684},[136508],{"type":431,"value":96794},{"type":426,"tag":553,"props":136510,"children":136511},{"class":555,"line":1796},[136512,136516,136520],{"type":426,"tag":553,"props":136513,"children":136514},{"style":684},[136515],{"type":431,"value":105650},{"type":426,"tag":553,"props":136517,"children":136518},{"style":795},[136519],{"type":431,"value":61750},{"type":426,"tag":553,"props":136521,"children":136522},{"style":684},[136523],{"type":431,"value":85630},{"type":426,"tag":553,"props":136525,"children":136526},{"class":555,"line":1804},[136527,136532,136536],{"type":426,"tag":553,"props":136528,"children":136529},{"style":684},[136530],{"type":431,"value":136531},"      results.failed",{"type":426,"tag":553,"props":136533,"children":136534},{"style":795},[136535],{"type":431,"value":105086},{"type":426,"tag":553,"props":136537,"children":136538},{"style":684},[136539],{"type":431,"value":52321},{"type":426,"tag":553,"props":136541,"children":136542},{"class":555,"line":1812},[136543,136548,136552],{"type":426,"tag":553,"props":136544,"children":136545},{"style":684},[136546],{"type":431,"value":136547},"      results.errors.",{"type":426,"tag":553,"props":136549,"children":136550},{"style":560},[136551],{"type":431,"value":136496},{"type":426,"tag":553,"props":136553,"children":136554},{"style":684},[136555],{"type":431,"value":136556},"({ phone: contact.phone, error: err.message });\n",{"type":426,"tag":553,"props":136558,"children":136559},{"class":555,"line":1847},[136560],{"type":426,"tag":553,"props":136561,"children":136562},{"style":684},[136563],{"type":431,"value":5546},{"type":426,"tag":553,"props":136565,"children":136566},{"class":555,"line":1856},[136567],{"type":426,"tag":553,"props":136568,"children":136569},{"style":684},[136570],{"type":431,"value":917},{"type":426,"tag":553,"props":136572,"children":136573},{"class":555,"line":1874},[136574,136578,136583,136587,136591,136595,136599,136603,136607,136611,136615],{"type":426,"tag":553,"props":136575,"children":136576},{"style":795},[136577],{"type":431,"value":925},{"type":426,"tag":553,"props":136579,"children":136580},{"style":684},[136581],{"type":431,"value":136582}," (i ",{"type":426,"tag":553,"props":136584,"children":136585},{"style":795},[136586],{"type":431,"value":25949},{"type":426,"tag":553,"props":136588,"children":136589},{"style":684},[136590],{"type":431,"value":135943},{"type":426,"tag":553,"props":136592,"children":136593},{"style":566},[136594],{"type":431,"value":121253},{"type":426,"tag":553,"props":136596,"children":136597},{"style":795},[136598],{"type":431,"value":30047},{"type":426,"tag":553,"props":136600,"children":136601},{"style":566},[136602],{"type":431,"value":1014},{"type":426,"tag":553,"props":136604,"children":136605},{"style":684},[136606],{"type":431,"value":2987},{"type":426,"tag":553,"props":136608,"children":136609},{"style":795},[136610],{"type":431,"value":79424},{"type":426,"tag":553,"props":136612,"children":136613},{"style":560},[136614],{"type":431,"value":135743},{"type":426,"tag":553,"props":136616,"children":136617},{"style":684},[136618],{"type":431,"value":136619},"(delayMs);\n",{"type":426,"tag":553,"props":136621,"children":136622},{"class":555,"line":1882},[136623],{"type":426,"tag":553,"props":136624,"children":136625},{"style":684},[136626],{"type":431,"value":60547},{"type":426,"tag":553,"props":136628,"children":136629},{"class":555,"line":1981},[136630],{"type":426,"tag":553,"props":136631,"children":136632},{"style":684},[136633],{"type":431,"value":52575},{"type":426,"tag":553,"props":136635,"children":136636},{"class":555,"line":1989},[136637,136641,136645,136649,136654,136659,136663,136667,136672,136676,136680,136684,136689],{"type":426,"tag":553,"props":136638,"children":136639},{"style":684},[136640],{"type":431,"value":96892},{"type":426,"tag":553,"props":136642,"children":136643},{"style":560},[136644],{"type":431,"value":53719},{"type":426,"tag":553,"props":136646,"children":136647},{"style":684},[136648],{"type":431,"value":3275},{"type":426,"tag":553,"props":136650,"children":136651},{"style":572},[136652],{"type":431,"value":136653},"`Done: ${",{"type":426,"tag":553,"props":136655,"children":136656},{"style":684},[136657],{"type":431,"value":136658},"results",{"type":426,"tag":553,"props":136660,"children":136661},{"style":572},[136662],{"type":431,"value":6789},{"type":426,"tag":553,"props":136664,"children":136665},{"style":684},[136666],{"type":431,"value":67970},{"type":426,"tag":553,"props":136668,"children":136669},{"style":572},[136670],{"type":431,"value":136671},"} sent, ${",{"type":426,"tag":553,"props":136673,"children":136674},{"style":684},[136675],{"type":431,"value":136658},{"type":426,"tag":553,"props":136677,"children":136678},{"style":572},[136679],{"type":431,"value":6789},{"type":426,"tag":553,"props":136681,"children":136682},{"style":684},[136683],{"type":431,"value":92346},{"type":426,"tag":553,"props":136685,"children":136686},{"style":572},[136687],{"type":431,"value":136688},"} failed`",{"type":426,"tag":553,"props":136690,"children":136691},{"style":684},[136692],{"type":431,"value":11379},{"type":426,"tag":553,"props":136694,"children":136695},{"class":555,"line":2013},[136696,136700],{"type":426,"tag":553,"props":136697,"children":136698},{"style":795},[136699],{"type":431,"value":52393},{"type":426,"tag":553,"props":136701,"children":136702},{"style":684},[136703],{"type":431,"value":75540},{"type":426,"tag":553,"props":136705,"children":136706},{"class":555,"line":2055},[136707],{"type":426,"tag":553,"props":136708,"children":136709},{"style":684},[136710],{"type":431,"value":756},{"type":426,"tag":553,"props":136712,"children":136713},{"class":555,"line":2064},[136714],{"type":426,"tag":553,"props":136715,"children":136716},{"emptyLinePlaceholder":831},[136717],{"type":431,"value":834},{"type":426,"tag":553,"props":136719,"children":136720},{"class":555,"line":2087},[136721],{"type":426,"tag":553,"props":136722,"children":136723},{"style":1975},[136724],{"type":431,"value":53575},{"type":426,"tag":553,"props":136726,"children":136727},{"class":555,"line":2096},[136728,136732,136737,136741],{"type":426,"tag":553,"props":136729,"children":136730},{"style":795},[136731],{"type":431,"value":52135},{"type":426,"tag":553,"props":136733,"children":136734},{"style":566},[136735],{"type":431,"value":136736}," contacts",{"type":426,"tag":553,"props":136738,"children":136739},{"style":795},[136740],{"type":431,"value":8739},{"type":426,"tag":553,"props":136742,"children":136743},{"style":684},[136744],{"type":431,"value":80133},{"type":426,"tag":553,"props":136746,"children":136747},{"class":555,"line":2105},[136748,136753,136757,136761,136766,136771,136775],{"type":426,"tag":553,"props":136749,"children":136750},{"style":684},[136751],{"type":431,"value":136752},"  { phone: ",{"type":426,"tag":553,"props":136754,"children":136755},{"style":572},[136756],{"type":431,"value":81689},{"type":426,"tag":553,"props":136758,"children":136759},{"style":684},[136760],{"type":431,"value":44374},{"type":426,"tag":553,"props":136762,"children":136763},{"style":572},[136764],{"type":431,"value":136765},"\"Alice\"",{"type":426,"tag":553,"props":136767,"children":136768},{"style":684},[136769],{"type":431,"value":136770},", orderId: ",{"type":426,"tag":553,"props":136772,"children":136773},{"style":572},[136774],{"type":431,"value":113432},{"type":426,"tag":553,"props":136776,"children":136777},{"style":684},[136778],{"type":431,"value":136779}," },\n",{"type":426,"tag":553,"props":136781,"children":136782},{"class":555,"line":2114},[136783,136787,136792,136796,136801,136805,136810],{"type":426,"tag":553,"props":136784,"children":136785},{"style":684},[136786],{"type":431,"value":136752},{"type":426,"tag":553,"props":136788,"children":136789},{"style":572},[136790],{"type":431,"value":136791},"\"8802222222222\"",{"type":426,"tag":553,"props":136793,"children":136794},{"style":684},[136795],{"type":431,"value":44374},{"type":426,"tag":553,"props":136797,"children":136798},{"style":572},[136799],{"type":431,"value":136800},"\"Bob\"",{"type":426,"tag":553,"props":136802,"children":136803},{"style":684},[136804],{"type":431,"value":136770},{"type":426,"tag":553,"props":136806,"children":136807},{"style":572},[136808],{"type":431,"value":136809},"\"12346\"",{"type":426,"tag":553,"props":136811,"children":136812},{"style":684},[136813],{"type":431,"value":135306},{"type":426,"tag":553,"props":136815,"children":136816},{"class":555,"line":2123},[136817],{"type":426,"tag":553,"props":136818,"children":136819},{"style":684},[136820],{"type":431,"value":88941},{"type":426,"tag":553,"props":136822,"children":136823},{"class":555,"line":2132},[136824],{"type":426,"tag":553,"props":136825,"children":136826},{"emptyLinePlaceholder":831},[136827],{"type":431,"value":834},{"type":426,"tag":553,"props":136829,"children":136830},{"class":555,"line":2151},[136831,136835,136839,136844,136849,136853,136857],{"type":426,"tag":553,"props":136832,"children":136833},{"style":795},[136834],{"type":431,"value":79424},{"type":426,"tag":553,"props":136836,"children":136837},{"style":560},[136838],{"type":431,"value":135819},{"type":426,"tag":553,"props":136840,"children":136841},{"style":684},[136842],{"type":431,"value":136843},"(contacts, ",{"type":426,"tag":553,"props":136845,"children":136846},{"style":572},[136847],{"type":431,"value":136848},"\"Hi {name}! Order #{orderId} is confirmed.\"",{"type":426,"tag":553,"props":136850,"children":136851},{"style":684},[136852],{"type":431,"value":1907},{"type":426,"tag":553,"props":136854,"children":136855},{"style":566},[136856],{"type":431,"value":59675},{"type":426,"tag":553,"props":136858,"children":136859},{"style":684},[136860],{"type":431,"value":11379},{"type":426,"tag":434,"props":136862,"children":136864},{"id":136863},"step-5-express-webhook-for-incoming-messages",[136865],{"type":431,"value":136866},"Step 5: Express Webhook for Incoming Messages",{"type":426,"tag":542,"props":136868,"children":136870},{"className":52113,"code":136869,"language":52115,"meta":417,"style":417},"\u002F\u002F webhook-server.mjs\nimport express from \"express\";\n\nconst app = express();\napp.use(express.json());\n\nconst API_KEY = process.env.RAPIWA_API_KEY;\n\n\u002F\u002F Incoming message webhook\napp.post(\"\u002Fwebhook\u002Fwhatsapp\", async (req, res) => {\n  \u002F\u002F Always respond 200 immediately\n  res.json({ status: \"ok\" });\n  \n  const { event, from, fromName, message } = req.body;\n  \n  if (event !== \"message.received\") return;\n  \n  console.log(`Message from ${fromName} (${from}): ${message}`);\n  \n  \u002F\u002F Handle keywords\n  let reply;\n  const text = message.toLowerCase().trim();\n  \n  if (text.includes(\"order\") || text.includes(\"track\")) {\n    reply = \"To track your order, visit: https:\u002F\u002Fstore.com\u002Ftrack\";\n  } else if (text === \"hi\" || text === \"hello\") {\n    reply = `Hi ${fromName}! 👋 How can I help you today?\\n\\nReply with:\\n*ORDER* - Track your order\\n*PRICE* - View pricing\\n*HUMAN* - Talk to support`;\n  } else {\n    reply = \"Thanks for your message! Our team will reply within 1 hour.\";\n  }\n  \n  \u002F\u002F Send reply via Rapiwa\n  await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n    method: \"POST\",\n    headers: { \n      \"Authorization\": `Bearer ${API_KEY}`, \n      \"Content-Type\": \"application\u002Fjson\" \n    },\n    body: JSON.stringify({ number: from, message: reply })\n  });\n});\n\napp.listen(3000, () => console.log(\"Webhook server on port 3000\"));\n",[136871],{"type":426,"tag":549,"props":136872,"children":136873},{"__ignoreMap":417},[136874,136882,136905,136912,136935,136958,136965,136992,136999,137007,137062,137070,137093,137100,137151,137158,137189,137196,137244,137251,137259,137271,137306,137313,137365,137385,137433,137497,137512,137532,137539,137546,137554,137577,137592,137599,137626,137645,137652,137676,137683,137690,137697],{"type":426,"tag":553,"props":136875,"children":136876},{"class":555,"line":556},[136877],{"type":426,"tag":553,"props":136878,"children":136879},{"style":1975},[136880],{"type":431,"value":136881},"\u002F\u002F webhook-server.mjs\n",{"type":426,"tag":553,"props":136883,"children":136884},{"class":555,"line":588},[136885,136889,136893,136897,136901],{"type":426,"tag":553,"props":136886,"children":136887},{"style":795},[136888],{"type":431,"value":798},{"type":426,"tag":553,"props":136890,"children":136891},{"style":684},[136892],{"type":431,"value":131003},{"type":426,"tag":553,"props":136894,"children":136895},{"style":795},[136896],{"type":431,"value":811},{"type":426,"tag":553,"props":136898,"children":136899},{"style":572},[136900],{"type":431,"value":131012},{"type":426,"tag":553,"props":136902,"children":136903},{"style":684},[136904],{"type":431,"value":52321},{"type":426,"tag":553,"props":136906,"children":136907},{"class":555,"line":606},[136908],{"type":426,"tag":553,"props":136909,"children":136910},{"emptyLinePlaceholder":831},[136911],{"type":431,"value":834},{"type":426,"tag":553,"props":136913,"children":136914},{"class":555,"line":623},[136915,136919,136923,136927,136931],{"type":426,"tag":553,"props":136916,"children":136917},{"style":795},[136918],{"type":431,"value":52135},{"type":426,"tag":553,"props":136920,"children":136921},{"style":566},[136922],{"type":431,"value":84545},{"type":426,"tag":553,"props":136924,"children":136925},{"style":795},[136926],{"type":431,"value":8739},{"type":426,"tag":553,"props":136928,"children":136929},{"style":560},[136930],{"type":431,"value":84474},{"type":426,"tag":553,"props":136932,"children":136933},{"style":684},[136934],{"type":431,"value":53227},{"type":426,"tag":553,"props":136936,"children":136937},{"class":555,"line":637},[136938,136942,136946,136950,136954],{"type":426,"tag":553,"props":136939,"children":136940},{"style":684},[136941],{"type":431,"value":84565},{"type":426,"tag":553,"props":136943,"children":136944},{"style":560},[136945],{"type":431,"value":84570},{"type":426,"tag":553,"props":136947,"children":136948},{"style":684},[136949],{"type":431,"value":84575},{"type":426,"tag":553,"props":136951,"children":136952},{"style":560},[136953],{"type":431,"value":673},{"type":426,"tag":553,"props":136955,"children":136956},{"style":684},[136957],{"type":431,"value":61503},{"type":426,"tag":553,"props":136959,"children":136960},{"class":555,"line":646},[136961],{"type":426,"tag":553,"props":136962,"children":136963},{"emptyLinePlaceholder":831},[136964],{"type":431,"value":834},{"type":426,"tag":553,"props":136966,"children":136967},{"class":555,"line":655},[136968,136972,136976,136980,136984,136988],{"type":426,"tag":553,"props":136969,"children":136970},{"style":795},[136971],{"type":431,"value":52135},{"type":426,"tag":553,"props":136973,"children":136974},{"style":566},[136975],{"type":431,"value":133722},{"type":426,"tag":553,"props":136977,"children":136978},{"style":795},[136979],{"type":431,"value":8739},{"type":426,"tag":553,"props":136981,"children":136982},{"style":684},[136983],{"type":431,"value":84610},{"type":426,"tag":553,"props":136985,"children":136986},{"style":566},[136987],{"type":431,"value":7156},{"type":426,"tag":553,"props":136989,"children":136990},{"style":684},[136991],{"type":431,"value":52321},{"type":426,"tag":553,"props":136993,"children":136994},{"class":555,"line":1036},[136995],{"type":426,"tag":553,"props":136996,"children":136997},{"emptyLinePlaceholder":831},[136998],{"type":431,"value":834},{"type":426,"tag":553,"props":137000,"children":137001},{"class":555,"line":1054},[137002],{"type":426,"tag":553,"props":137003,"children":137004},{"style":1975},[137005],{"type":431,"value":137006},"\u002F\u002F Incoming message webhook\n",{"type":426,"tag":553,"props":137008,"children":137009},{"class":555,"line":1080},[137010,137014,137018,137022,137026,137030,137034,137038,137042,137046,137050,137054,137058],{"type":426,"tag":553,"props":137011,"children":137012},{"style":684},[137013],{"type":431,"value":84565},{"type":426,"tag":553,"props":137015,"children":137016},{"style":560},[137017],{"type":431,"value":70594},{"type":426,"tag":553,"props":137019,"children":137020},{"style":684},[137021],{"type":431,"value":3275},{"type":426,"tag":553,"props":137023,"children":137024},{"style":572},[137025],{"type":431,"value":128591},{"type":426,"tag":553,"props":137027,"children":137028},{"style":684},[137029],{"type":431,"value":1907},{"type":426,"tag":553,"props":137031,"children":137032},{"style":795},[137033],{"type":431,"value":52361},{"type":426,"tag":553,"props":137035,"children":137036},{"style":684},[137037],{"type":431,"value":5684},{"type":426,"tag":553,"props":137039,"children":137040},{"style":1684},[137041],{"type":431,"value":84670},{"type":426,"tag":553,"props":137043,"children":137044},{"style":684},[137045],{"type":431,"value":1907},{"type":426,"tag":553,"props":137047,"children":137048},{"style":1684},[137049],{"type":431,"value":84679},{"type":426,"tag":553,"props":137051,"children":137052},{"style":684},[137053],{"type":431,"value":2987},{"type":426,"tag":553,"props":137055,"children":137056},{"style":795},[137057],{"type":431,"value":74581},{"type":426,"tag":553,"props":137059,"children":137060},{"style":684},[137061],{"type":431,"value":5458},{"type":426,"tag":553,"props":137063,"children":137064},{"class":555,"line":1097},[137065],{"type":426,"tag":553,"props":137066,"children":137067},{"style":1975},[137068],{"type":431,"value":137069},"  \u002F\u002F Always respond 200 immediately\n",{"type":426,"tag":553,"props":137071,"children":137072},{"class":555,"line":1114},[137073,137077,137081,137085,137089],{"type":426,"tag":553,"props":137074,"children":137075},{"style":684},[137076],{"type":431,"value":84707},{"type":426,"tag":553,"props":137078,"children":137079},{"style":560},[137080],{"type":431,"value":673},{"type":426,"tag":553,"props":137082,"children":137083},{"style":684},[137084],{"type":431,"value":84732},{"type":426,"tag":553,"props":137086,"children":137087},{"style":572},[137088],{"type":431,"value":128689},{"type":426,"tag":553,"props":137090,"children":137091},{"style":684},[137092],{"type":431,"value":52295},{"type":426,"tag":553,"props":137094,"children":137095},{"class":555,"line":1127},[137096],{"type":426,"tag":553,"props":137097,"children":137098},{"style":684},[137099],{"type":431,"value":52575},{"type":426,"tag":553,"props":137101,"children":137102},{"class":555,"line":1167},[137103,137107,137111,137115,137119,137123,137127,137131,137135,137139,137143,137147],{"type":426,"tag":553,"props":137104,"children":137105},{"style":795},[137106],{"type":431,"value":52540},{"type":426,"tag":553,"props":137108,"children":137109},{"style":684},[137110],{"type":431,"value":52174},{"type":426,"tag":553,"props":137112,"children":137113},{"style":566},[137114],{"type":431,"value":82238},{"type":426,"tag":553,"props":137116,"children":137117},{"style":684},[137118],{"type":431,"value":1907},{"type":426,"tag":553,"props":137120,"children":137121},{"style":566},[137122],{"type":431,"value":811},{"type":426,"tag":553,"props":137124,"children":137125},{"style":684},[137126],{"type":431,"value":1907},{"type":426,"tag":553,"props":137128,"children":137129},{"style":566},[137130],{"type":431,"value":131414},{"type":426,"tag":553,"props":137132,"children":137133},{"style":684},[137134],{"type":431,"value":1907},{"type":426,"tag":553,"props":137136,"children":137137},{"style":566},[137138],{"type":431,"value":2734},{"type":426,"tag":553,"props":137140,"children":137141},{"style":684},[137142],{"type":431,"value":52193},{"type":426,"tag":553,"props":137144,"children":137145},{"style":795},[137146],{"type":431,"value":957},{"type":426,"tag":553,"props":137148,"children":137149},{"style":684},[137150],{"type":431,"value":84783},{"type":426,"tag":553,"props":137152,"children":137153},{"class":555,"line":1184},[137154],{"type":426,"tag":553,"props":137155,"children":137156},{"style":684},[137157],{"type":431,"value":52575},{"type":426,"tag":553,"props":137159,"children":137160},{"class":555,"line":1192},[137161,137165,137169,137173,137177,137181,137185],{"type":426,"tag":553,"props":137162,"children":137163},{"style":795},[137164],{"type":431,"value":84798},{"type":426,"tag":553,"props":137166,"children":137167},{"style":684},[137168],{"type":431,"value":84803},{"type":426,"tag":553,"props":137170,"children":137171},{"style":795},[137172],{"type":431,"value":84808},{"type":426,"tag":553,"props":137174,"children":137175},{"style":572},[137176],{"type":431,"value":75756},{"type":426,"tag":553,"props":137178,"children":137179},{"style":684},[137180],{"type":431,"value":2987},{"type":426,"tag":553,"props":137182,"children":137183},{"style":795},[137184],{"type":431,"value":84821},{"type":426,"tag":553,"props":137186,"children":137187},{"style":684},[137188],{"type":431,"value":52321},{"type":426,"tag":553,"props":137190,"children":137191},{"class":555,"line":1210},[137192],{"type":426,"tag":553,"props":137193,"children":137194},{"style":684},[137195],{"type":431,"value":52575},{"type":426,"tag":553,"props":137197,"children":137198},{"class":555,"line":1253},[137199,137203,137207,137211,137216,137220,137224,137228,137232,137236,137240],{"type":426,"tag":553,"props":137200,"children":137201},{"style":684},[137202],{"type":431,"value":96892},{"type":426,"tag":553,"props":137204,"children":137205},{"style":560},[137206],{"type":431,"value":53719},{"type":426,"tag":553,"props":137208,"children":137209},{"style":684},[137210],{"type":431,"value":3275},{"type":426,"tag":553,"props":137212,"children":137213},{"style":572},[137214],{"type":431,"value":137215},"`Message from ${",{"type":426,"tag":553,"props":137217,"children":137218},{"style":684},[137219],{"type":431,"value":131414},{"type":426,"tag":553,"props":137221,"children":137222},{"style":572},[137223],{"type":431,"value":105613},{"type":426,"tag":553,"props":137225,"children":137226},{"style":684},[137227],{"type":431,"value":811},{"type":426,"tag":553,"props":137229,"children":137230},{"style":572},[137231],{"type":431,"value":105622},{"type":426,"tag":553,"props":137233,"children":137234},{"style":684},[137235],{"type":431,"value":2734},{"type":426,"tag":553,"props":137237,"children":137238},{"style":572},[137239],{"type":431,"value":52718},{"type":426,"tag":553,"props":137241,"children":137242},{"style":684},[137243],{"type":431,"value":11379},{"type":426,"tag":553,"props":137245,"children":137246},{"class":555,"line":1302},[137247],{"type":426,"tag":553,"props":137248,"children":137249},{"style":684},[137250],{"type":431,"value":52575},{"type":426,"tag":553,"props":137252,"children":137253},{"class":555,"line":1374},[137254],{"type":426,"tag":553,"props":137255,"children":137256},{"style":1975},[137257],{"type":431,"value":137258},"  \u002F\u002F Handle keywords\n",{"type":426,"tag":553,"props":137260,"children":137261},{"class":555,"line":1414},[137262,137266],{"type":426,"tag":553,"props":137263,"children":137264},{"style":795},[137265],{"type":431,"value":131525},{"type":426,"tag":553,"props":137267,"children":137268},{"style":684},[137269],{"type":431,"value":137270}," reply;\n",{"type":426,"tag":553,"props":137272,"children":137273},{"class":555,"line":1479},[137274,137278,137282,137286,137290,137294,137298,137302],{"type":426,"tag":553,"props":137275,"children":137276},{"style":795},[137277],{"type":431,"value":52540},{"type":426,"tag":553,"props":137279,"children":137280},{"style":566},[137281],{"type":431,"value":131493},{"type":426,"tag":553,"props":137283,"children":137284},{"style":795},[137285],{"type":431,"value":8739},{"type":426,"tag":553,"props":137287,"children":137288},{"style":684},[137289],{"type":431,"value":76118},{"type":426,"tag":553,"props":137291,"children":137292},{"style":560},[137293],{"type":431,"value":85024},{"type":426,"tag":553,"props":137295,"children":137296},{"style":684},[137297],{"type":431,"value":53311},{"type":426,"tag":553,"props":137299,"children":137300},{"style":560},[137301],{"type":431,"value":105149},{"type":426,"tag":553,"props":137303,"children":137304},{"style":684},[137305],{"type":431,"value":53227},{"type":426,"tag":553,"props":137307,"children":137308},{"class":555,"line":1517},[137309],{"type":426,"tag":553,"props":137310,"children":137311},{"style":684},[137312],{"type":431,"value":52575},{"type":426,"tag":553,"props":137314,"children":137315},{"class":555,"line":1560},[137316,137320,137324,137328,137332,137336,137340,137344,137348,137352,137356,137361],{"type":426,"tag":553,"props":137317,"children":137318},{"style":795},[137319],{"type":431,"value":84798},{"type":426,"tag":553,"props":137321,"children":137322},{"style":684},[137323],{"type":431,"value":85212},{"type":426,"tag":553,"props":137325,"children":137326},{"style":560},[137327],{"type":431,"value":85163},{"type":426,"tag":553,"props":137329,"children":137330},{"style":684},[137331],{"type":431,"value":3275},{"type":426,"tag":553,"props":137333,"children":137334},{"style":572},[137335],{"type":431,"value":129644},{"type":426,"tag":553,"props":137337,"children":137338},{"style":684},[137339],{"type":431,"value":2987},{"type":426,"tag":553,"props":137341,"children":137342},{"style":795},[137343],{"type":431,"value":53296},{"type":426,"tag":553,"props":137345,"children":137346},{"style":684},[137347],{"type":431,"value":85237},{"type":426,"tag":553,"props":137349,"children":137350},{"style":560},[137351],{"type":431,"value":85163},{"type":426,"tag":553,"props":137353,"children":137354},{"style":684},[137355],{"type":431,"value":3275},{"type":426,"tag":553,"props":137357,"children":137358},{"style":572},[137359],{"type":431,"value":137360},"\"track\"",{"type":426,"tag":553,"props":137362,"children":137363},{"style":684},[137364],{"type":431,"value":85254},{"type":426,"tag":553,"props":137366,"children":137367},{"class":555,"line":1598},[137368,137372,137376,137381],{"type":426,"tag":553,"props":137369,"children":137370},{"style":684},[137371],{"type":431,"value":83998},{"type":426,"tag":553,"props":137373,"children":137374},{"style":795},[137375],{"type":431,"value":957},{"type":426,"tag":553,"props":137377,"children":137378},{"style":572},[137379],{"type":431,"value":137380}," \"To track your order, visit: https:\u002F\u002Fstore.com\u002Ftrack\"",{"type":426,"tag":553,"props":137382,"children":137383},{"style":684},[137384],{"type":431,"value":52321},{"type":426,"tag":553,"props":137386,"children":137387},{"class":555,"line":1636},[137388,137392,137396,137400,137405,137409,137413,137417,137421,137425,137429],{"type":426,"tag":553,"props":137389,"children":137390},{"style":684},[137391],{"type":431,"value":85621},{"type":426,"tag":553,"props":137393,"children":137394},{"style":795},[137395],{"type":431,"value":61682},{"type":426,"tag":553,"props":137397,"children":137398},{"style":795},[137399],{"type":431,"value":1001},{"type":426,"tag":553,"props":137401,"children":137402},{"style":684},[137403],{"type":431,"value":137404}," (text ",{"type":426,"tag":553,"props":137406,"children":137407},{"style":795},[137408],{"type":431,"value":55042},{"type":426,"tag":553,"props":137410,"children":137411},{"style":572},[137412],{"type":431,"value":76155},{"type":426,"tag":553,"props":137414,"children":137415},{"style":795},[137416],{"type":431,"value":84619},{"type":426,"tag":553,"props":137418,"children":137419},{"style":684},[137420],{"type":431,"value":82869},{"type":426,"tag":553,"props":137422,"children":137423},{"style":795},[137424],{"type":431,"value":55042},{"type":426,"tag":553,"props":137426,"children":137427},{"style":572},[137428],{"type":431,"value":76164},{"type":426,"tag":553,"props":137430,"children":137431},{"style":684},[137432],{"type":431,"value":52385},{"type":426,"tag":553,"props":137434,"children":137435},{"class":555,"line":1645},[137436,137440,137444,137448,137452,137457,137461,137466,137470,137475,137479,137484,137488,137493],{"type":426,"tag":553,"props":137437,"children":137438},{"style":684},[137439],{"type":431,"value":83998},{"type":426,"tag":553,"props":137441,"children":137442},{"style":795},[137443],{"type":431,"value":957},{"type":426,"tag":553,"props":137445,"children":137446},{"style":572},[137447],{"type":431,"value":55750},{"type":426,"tag":553,"props":137449,"children":137450},{"style":684},[137451],{"type":431,"value":131414},{"type":426,"tag":553,"props":137453,"children":137454},{"style":572},[137455],{"type":431,"value":137456},"}! 👋 How can I help you today?",{"type":426,"tag":553,"props":137458,"children":137459},{"style":566},[137460],{"type":431,"value":1295},{"type":426,"tag":553,"props":137462,"children":137463},{"style":572},[137464],{"type":431,"value":137465},"Reply with:",{"type":426,"tag":553,"props":137467,"children":137468},{"style":566},[137469],{"type":431,"value":3661},{"type":426,"tag":553,"props":137471,"children":137472},{"style":572},[137473],{"type":431,"value":137474},"*ORDER* - Track your order",{"type":426,"tag":553,"props":137476,"children":137477},{"style":566},[137478],{"type":431,"value":3661},{"type":426,"tag":553,"props":137480,"children":137481},{"style":572},[137482],{"type":431,"value":137483},"*PRICE* - View pricing",{"type":426,"tag":553,"props":137485,"children":137486},{"style":566},[137487],{"type":431,"value":3661},{"type":426,"tag":553,"props":137489,"children":137490},{"style":572},[137491],{"type":431,"value":137492},"*HUMAN* - Talk to support`",{"type":426,"tag":553,"props":137494,"children":137495},{"style":684},[137496],{"type":431,"value":52321},{"type":426,"tag":553,"props":137498,"children":137499},{"class":555,"line":1653},[137500,137504,137508],{"type":426,"tag":553,"props":137501,"children":137502},{"style":684},[137503],{"type":431,"value":85621},{"type":426,"tag":553,"props":137505,"children":137506},{"style":795},[137507],{"type":431,"value":61682},{"type":426,"tag":553,"props":137509,"children":137510},{"style":684},[137511],{"type":431,"value":5458},{"type":426,"tag":553,"props":137513,"children":137514},{"class":555,"line":1667},[137515,137519,137523,137528],{"type":426,"tag":553,"props":137516,"children":137517},{"style":684},[137518],{"type":431,"value":83998},{"type":426,"tag":553,"props":137520,"children":137521},{"style":795},[137522],{"type":431,"value":957},{"type":426,"tag":553,"props":137524,"children":137525},{"style":572},[137526],{"type":431,"value":137527}," \"Thanks for your message! Our team will reply within 1 hour.\"",{"type":426,"tag":553,"props":137529,"children":137530},{"style":684},[137531],{"type":431,"value":52321},{"type":426,"tag":553,"props":137533,"children":137534},{"class":555,"line":1680},[137535],{"type":426,"tag":553,"props":137536,"children":137537},{"style":684},[137538],{"type":431,"value":60547},{"type":426,"tag":553,"props":137540,"children":137541},{"class":555,"line":1740},[137542],{"type":426,"tag":553,"props":137543,"children":137544},{"style":684},[137545],{"type":431,"value":52575},{"type":426,"tag":553,"props":137547,"children":137548},{"class":555,"line":1787},[137549],{"type":426,"tag":553,"props":137550,"children":137551},{"style":1975},[137552],{"type":431,"value":137553},"  \u002F\u002F Send reply via Rapiwa\n",{"type":426,"tag":553,"props":137555,"children":137556},{"class":555,"line":1796},[137557,137561,137565,137569,137573],{"type":426,"tag":553,"props":137558,"children":137559},{"style":795},[137560],{"type":431,"value":52583},{"type":426,"tag":553,"props":137562,"children":137563},{"style":560},[137564],{"type":431,"value":52226},{"type":426,"tag":553,"props":137566,"children":137567},{"style":684},[137568],{"type":431,"value":3275},{"type":426,"tag":553,"props":137570,"children":137571},{"style":572},[137572],{"type":431,"value":60449},{"type":426,"tag":553,"props":137574,"children":137575},{"style":684},[137576],{"type":431,"value":53088},{"type":426,"tag":553,"props":137578,"children":137579},{"class":555,"line":1804},[137580,137584,137588],{"type":426,"tag":553,"props":137581,"children":137582},{"style":684},[137583],{"type":431,"value":53096},{"type":426,"tag":553,"props":137585,"children":137586},{"style":572},[137587],{"type":431,"value":60428},{"type":426,"tag":553,"props":137589,"children":137590},{"style":684},[137591],{"type":431,"value":710},{"type":426,"tag":553,"props":137593,"children":137594},{"class":555,"line":1812},[137595],{"type":426,"tag":553,"props":137596,"children":137597},{"style":684},[137598],{"type":431,"value":131192},{"type":426,"tag":553,"props":137600,"children":137601},{"class":555,"line":1847},[137602,137606,137610,137614,137618,137622],{"type":426,"tag":553,"props":137603,"children":137604},{"style":572},[137605],{"type":431,"value":131200},{"type":426,"tag":553,"props":137607,"children":137608},{"style":684},[137609],{"type":431,"value":700},{"type":426,"tag":553,"props":137611,"children":137612},{"style":572},[137613],{"type":431,"value":53129},{"type":426,"tag":553,"props":137615,"children":137616},{"style":566},[137617],{"type":431,"value":133819},{"type":426,"tag":553,"props":137619,"children":137620},{"style":572},[137621],{"type":431,"value":52718},{"type":426,"tag":553,"props":137623,"children":137624},{"style":684},[137625],{"type":431,"value":17901},{"type":426,"tag":553,"props":137627,"children":137628},{"class":555,"line":1856},[137629,137633,137637,137641],{"type":426,"tag":553,"props":137630,"children":137631},{"style":572},[137632],{"type":431,"value":131228},{"type":426,"tag":553,"props":137634,"children":137635},{"style":684},[137636],{"type":431,"value":700},{"type":426,"tag":553,"props":137638,"children":137639},{"style":572},[137640],{"type":431,"value":67587},{"type":426,"tag":553,"props":137642,"children":137643},{"style":684},[137644],{"type":431,"value":25987},{"type":426,"tag":553,"props":137646,"children":137647},{"class":555,"line":1874},[137648],{"type":426,"tag":553,"props":137649,"children":137650},{"style":684},[137651],{"type":431,"value":17203},{"type":426,"tag":553,"props":137653,"children":137654},{"class":555,"line":1882},[137655,137659,137663,137667,137671],{"type":426,"tag":553,"props":137656,"children":137657},{"style":684},[137658],{"type":431,"value":53173},{"type":426,"tag":553,"props":137660,"children":137661},{"style":566},[137662],{"type":431,"value":53178},{"type":426,"tag":553,"props":137664,"children":137665},{"style":684},[137666],{"type":431,"value":6789},{"type":426,"tag":553,"props":137668,"children":137669},{"style":560},[137670],{"type":431,"value":53187},{"type":426,"tag":553,"props":137672,"children":137673},{"style":684},[137674],{"type":431,"value":137675},"({ number: from, message: reply })\n",{"type":426,"tag":553,"props":137677,"children":137678},{"class":555,"line":1981},[137679],{"type":426,"tag":553,"props":137680,"children":137681},{"style":684},[137682],{"type":431,"value":52480},{"type":426,"tag":553,"props":137684,"children":137685},{"class":555,"line":1989},[137686],{"type":426,"tag":553,"props":137687,"children":137688},{"style":684},[137689],{"type":431,"value":55916},{"type":426,"tag":553,"props":137691,"children":137692},{"class":555,"line":2013},[137693],{"type":426,"tag":553,"props":137694,"children":137695},{"emptyLinePlaceholder":831},[137696],{"type":431,"value":834},{"type":426,"tag":553,"props":137698,"children":137699},{"class":555,"line":2055},[137700,137704,137708,137712,137716,137720,137724,137728,137732,137736,137741],{"type":426,"tag":553,"props":137701,"children":137702},{"style":684},[137703],{"type":431,"value":84565},{"type":426,"tag":553,"props":137705,"children":137706},{"style":560},[137707],{"type":431,"value":85688},{"type":426,"tag":553,"props":137709,"children":137710},{"style":684},[137711],{"type":431,"value":3275},{"type":426,"tag":553,"props":137713,"children":137714},{"style":566},[137715],{"type":431,"value":65954},{"type":426,"tag":553,"props":137717,"children":137718},{"style":684},[137719],{"type":431,"value":85701},{"type":426,"tag":553,"props":137721,"children":137722},{"style":795},[137723],{"type":431,"value":74581},{"type":426,"tag":553,"props":137725,"children":137726},{"style":684},[137727],{"type":431,"value":53714},{"type":426,"tag":553,"props":137729,"children":137730},{"style":560},[137731],{"type":431,"value":53719},{"type":426,"tag":553,"props":137733,"children":137734},{"style":684},[137735],{"type":431,"value":3275},{"type":426,"tag":553,"props":137737,"children":137738},{"style":572},[137739],{"type":431,"value":137740},"\"Webhook server on port 3000\"",{"type":426,"tag":553,"props":137742,"children":137743},{"style":684},[137744],{"type":431,"value":61669},{"type":426,"tag":427,"props":137746,"children":137747},{},[137748,137749,137755,137757],{"type":431,"value":135704},{"type":426,"tag":549,"props":137750,"children":137752},{"className":137751},[],[137753],{"type":431,"value":137754},"npm install express",{"type":431,"value":137756},"\nRun: ",{"type":426,"tag":549,"props":137758,"children":137760},{"className":137759},[],[137761],{"type":431,"value":137762},"node webhook-server.mjs",{"type":426,"tag":434,"props":137764,"children":137766},{"id":137765},"step-6-typescript-version",[137767],{"type":431,"value":137768},"Step 6: TypeScript Version",{"type":426,"tag":542,"props":137770,"children":137774},{"className":137771,"code":137772,"language":137773,"meta":417,"style":417},"language-typescript shiki shiki-themes github-dark","\u002F\u002F whatsapp.ts\ninterface SendMessagePayload {\n  number: string;\n  message?: string;\n  image?: string;\n  document?: string;\n  filename?: string;\n  caption?: string;\n}\n\ninterface SendMessageResponse {\n  status: \"success\" | \"error\";\n  messageId?: string;\n  timestamp?: string;\n  error?: string;\n}\n\nclass RapiwaClient {\n  private readonly headers: HeadersInit;\n  private readonly baseUrl = \"https:\u002F\u002Fapp.rapiwa.com\";\n\n  constructor(apiKey: string) {\n    this.headers = {\n      \"Authorization\": `Bearer ${apiKey}`,\n      \"Content-Type\": \"application\u002Fjson\"\n    };\n  }\n\n  async send(payload: SendMessagePayload): Promise\u003CSendMessageResponse> {\n    const response = await fetch(`${this.baseUrl}\u002Fsend-message`, {\n      method: \"POST\",\n      headers: this.headers,\n      body: JSON.stringify(payload)\n    });\n\n    if (!response.ok) {\n      throw new Error(`Rapiwa API error: ${response.status}`);\n    }\n\n    return response.json() as Promise\u003CSendMessageResponse>;\n  }\n\n  async sendText(phone: string, message: string): Promise\u003CSendMessageResponse> {\n    return this.send({ number: phone, message });\n  }\n}\n\n\u002F\u002F Usage\nconst client = new RapiwaClient(process.env.RAPIWA_API_KEY!);\nconst result = await client.sendText(\"8801234567890\", \"Hello from TypeScript!\");\nconsole.log(result.messageId);\n","typescript",[137775],{"type":426,"tag":549,"props":137776,"children":137777},{"__ignoreMap":417},[137778,137786,137803,137823,137844,137864,137884,137904,137924,137931,137938,137953,137982,138002,138022,138042,138049,138056,138071,138100,138128,138135,138163,138184,138211,138226,138234,138241,138248,138302,138354,138369,138386,138409,138416,138423,138443,138487,138494,138501,138541,138548,138555,138622,138647,138654,138661,138668,138675,138716,138765],{"type":426,"tag":553,"props":137779,"children":137780},{"class":555,"line":556},[137781],{"type":426,"tag":553,"props":137782,"children":137783},{"style":1975},[137784],{"type":431,"value":137785},"\u002F\u002F whatsapp.ts\n",{"type":426,"tag":553,"props":137787,"children":137788},{"class":555,"line":588},[137789,137794,137799],{"type":426,"tag":553,"props":137790,"children":137791},{"style":795},[137792],{"type":431,"value":137793},"interface",{"type":426,"tag":553,"props":137795,"children":137796},{"style":560},[137797],{"type":431,"value":137798}," SendMessagePayload",{"type":426,"tag":553,"props":137800,"children":137801},{"style":684},[137802],{"type":431,"value":5458},{"type":426,"tag":553,"props":137804,"children":137805},{"class":555,"line":606},[137806,137811,137815,137819],{"type":426,"tag":553,"props":137807,"children":137808},{"style":1684},[137809],{"type":431,"value":137810},"  number",{"type":426,"tag":553,"props":137812,"children":137813},{"style":795},[137814],{"type":431,"value":19071},{"type":426,"tag":553,"props":137816,"children":137817},{"style":566},[137818],{"type":431,"value":76053},{"type":426,"tag":553,"props":137820,"children":137821},{"style":684},[137822],{"type":431,"value":52321},{"type":426,"tag":553,"props":137824,"children":137825},{"class":555,"line":623},[137826,137831,137836,137840],{"type":426,"tag":553,"props":137827,"children":137828},{"style":1684},[137829],{"type":431,"value":137830},"  message",{"type":426,"tag":553,"props":137832,"children":137833},{"style":795},[137834],{"type":431,"value":137835},"?:",{"type":426,"tag":553,"props":137837,"children":137838},{"style":566},[137839],{"type":431,"value":76053},{"type":426,"tag":553,"props":137841,"children":137842},{"style":684},[137843],{"type":431,"value":52321},{"type":426,"tag":553,"props":137845,"children":137846},{"class":555,"line":637},[137847,137852,137856,137860],{"type":426,"tag":553,"props":137848,"children":137849},{"style":1684},[137850],{"type":431,"value":137851},"  image",{"type":426,"tag":553,"props":137853,"children":137854},{"style":795},[137855],{"type":431,"value":137835},{"type":426,"tag":553,"props":137857,"children":137858},{"style":566},[137859],{"type":431,"value":76053},{"type":426,"tag":553,"props":137861,"children":137862},{"style":684},[137863],{"type":431,"value":52321},{"type":426,"tag":553,"props":137865,"children":137866},{"class":555,"line":646},[137867,137872,137876,137880],{"type":426,"tag":553,"props":137868,"children":137869},{"style":1684},[137870],{"type":431,"value":137871},"  document",{"type":426,"tag":553,"props":137873,"children":137874},{"style":795},[137875],{"type":431,"value":137835},{"type":426,"tag":553,"props":137877,"children":137878},{"style":566},[137879],{"type":431,"value":76053},{"type":426,"tag":553,"props":137881,"children":137882},{"style":684},[137883],{"type":431,"value":52321},{"type":426,"tag":553,"props":137885,"children":137886},{"class":555,"line":655},[137887,137892,137896,137900],{"type":426,"tag":553,"props":137888,"children":137889},{"style":1684},[137890],{"type":431,"value":137891},"  filename",{"type":426,"tag":553,"props":137893,"children":137894},{"style":795},[137895],{"type":431,"value":137835},{"type":426,"tag":553,"props":137897,"children":137898},{"style":566},[137899],{"type":431,"value":76053},{"type":426,"tag":553,"props":137901,"children":137902},{"style":684},[137903],{"type":431,"value":52321},{"type":426,"tag":553,"props":137905,"children":137906},{"class":555,"line":1036},[137907,137912,137916,137920],{"type":426,"tag":553,"props":137908,"children":137909},{"style":1684},[137910],{"type":431,"value":137911},"  caption",{"type":426,"tag":553,"props":137913,"children":137914},{"style":795},[137915],{"type":431,"value":137835},{"type":426,"tag":553,"props":137917,"children":137918},{"style":566},[137919],{"type":431,"value":76053},{"type":426,"tag":553,"props":137921,"children":137922},{"style":684},[137923],{"type":431,"value":52321},{"type":426,"tag":553,"props":137925,"children":137926},{"class":555,"line":1054},[137927],{"type":426,"tag":553,"props":137928,"children":137929},{"style":684},[137930],{"type":431,"value":756},{"type":426,"tag":553,"props":137932,"children":137933},{"class":555,"line":1080},[137934],{"type":426,"tag":553,"props":137935,"children":137936},{"emptyLinePlaceholder":831},[137937],{"type":431,"value":834},{"type":426,"tag":553,"props":137939,"children":137940},{"class":555,"line":1097},[137941,137945,137949],{"type":426,"tag":553,"props":137942,"children":137943},{"style":795},[137944],{"type":431,"value":137793},{"type":426,"tag":553,"props":137946,"children":137947},{"style":560},[137948],{"type":431,"value":68933},{"type":426,"tag":553,"props":137950,"children":137951},{"style":684},[137952],{"type":431,"value":5458},{"type":426,"tag":553,"props":137954,"children":137955},{"class":555,"line":1114},[137956,137961,137965,137969,137973,137978],{"type":426,"tag":553,"props":137957,"children":137958},{"style":1684},[137959],{"type":431,"value":137960},"  status",{"type":426,"tag":553,"props":137962,"children":137963},{"style":795},[137964],{"type":431,"value":19071},{"type":426,"tag":553,"props":137966,"children":137967},{"style":572},[137968],{"type":431,"value":69054},{"type":426,"tag":553,"props":137970,"children":137971},{"style":795},[137972],{"type":431,"value":82841},{"type":426,"tag":553,"props":137974,"children":137975},{"style":572},[137976],{"type":431,"value":137977}," \"error\"",{"type":426,"tag":553,"props":137979,"children":137980},{"style":684},[137981],{"type":431,"value":52321},{"type":426,"tag":553,"props":137983,"children":137984},{"class":555,"line":1127},[137985,137990,137994,137998],{"type":426,"tag":553,"props":137986,"children":137987},{"style":1684},[137988],{"type":431,"value":137989},"  messageId",{"type":426,"tag":553,"props":137991,"children":137992},{"style":795},[137993],{"type":431,"value":137835},{"type":426,"tag":553,"props":137995,"children":137996},{"style":566},[137997],{"type":431,"value":76053},{"type":426,"tag":553,"props":137999,"children":138000},{"style":684},[138001],{"type":431,"value":52321},{"type":426,"tag":553,"props":138003,"children":138004},{"class":555,"line":1167},[138005,138010,138014,138018],{"type":426,"tag":553,"props":138006,"children":138007},{"style":1684},[138008],{"type":431,"value":138009},"  timestamp",{"type":426,"tag":553,"props":138011,"children":138012},{"style":795},[138013],{"type":431,"value":137835},{"type":426,"tag":553,"props":138015,"children":138016},{"style":566},[138017],{"type":431,"value":76053},{"type":426,"tag":553,"props":138019,"children":138020},{"style":684},[138021],{"type":431,"value":52321},{"type":426,"tag":553,"props":138023,"children":138024},{"class":555,"line":1184},[138025,138030,138034,138038],{"type":426,"tag":553,"props":138026,"children":138027},{"style":1684},[138028],{"type":431,"value":138029},"  error",{"type":426,"tag":553,"props":138031,"children":138032},{"style":795},[138033],{"type":431,"value":137835},{"type":426,"tag":553,"props":138035,"children":138036},{"style":566},[138037],{"type":431,"value":76053},{"type":426,"tag":553,"props":138039,"children":138040},{"style":684},[138041],{"type":431,"value":52321},{"type":426,"tag":553,"props":138043,"children":138044},{"class":555,"line":1192},[138045],{"type":426,"tag":553,"props":138046,"children":138047},{"style":684},[138048],{"type":431,"value":756},{"type":426,"tag":553,"props":138050,"children":138051},{"class":555,"line":1210},[138052],{"type":426,"tag":553,"props":138053,"children":138054},{"emptyLinePlaceholder":831},[138055],{"type":431,"value":834},{"type":426,"tag":553,"props":138057,"children":138058},{"class":555,"line":1253},[138059,138063,138067],{"type":426,"tag":553,"props":138060,"children":138061},{"style":795},[138062],{"type":431,"value":11909},{"type":426,"tag":553,"props":138064,"children":138065},{"style":560},[138066],{"type":431,"value":66860},{"type":426,"tag":553,"props":138068,"children":138069},{"style":684},[138070],{"type":431,"value":5458},{"type":426,"tag":553,"props":138072,"children":138073},{"class":555,"line":1302},[138074,138079,138083,138087,138091,138096],{"type":426,"tag":553,"props":138075,"children":138076},{"style":795},[138077],{"type":431,"value":138078},"  private",{"type":426,"tag":553,"props":138080,"children":138081},{"style":795},[138082],{"type":431,"value":73249},{"type":426,"tag":553,"props":138084,"children":138085},{"style":1684},[138086],{"type":431,"value":134080},{"type":426,"tag":553,"props":138088,"children":138089},{"style":795},[138090],{"type":431,"value":19071},{"type":426,"tag":553,"props":138092,"children":138093},{"style":560},[138094],{"type":431,"value":138095}," HeadersInit",{"type":426,"tag":553,"props":138097,"children":138098},{"style":684},[138099],{"type":431,"value":52321},{"type":426,"tag":553,"props":138101,"children":138102},{"class":555,"line":1374},[138103,138107,138111,138116,138120,138124],{"type":426,"tag":553,"props":138104,"children":138105},{"style":795},[138106],{"type":431,"value":138078},{"type":426,"tag":553,"props":138108,"children":138109},{"style":795},[138110],{"type":431,"value":73249},{"type":426,"tag":553,"props":138112,"children":138113},{"style":1684},[138114],{"type":431,"value":138115}," baseUrl",{"type":426,"tag":553,"props":138117,"children":138118},{"style":795},[138119],{"type":431,"value":8739},{"type":426,"tag":553,"props":138121,"children":138122},{"style":572},[138123],{"type":431,"value":68758},{"type":426,"tag":553,"props":138125,"children":138126},{"style":684},[138127],{"type":431,"value":52321},{"type":426,"tag":553,"props":138129,"children":138130},{"class":555,"line":1414},[138131],{"type":426,"tag":553,"props":138132,"children":138133},{"emptyLinePlaceholder":831},[138134],{"type":431,"value":834},{"type":426,"tag":553,"props":138136,"children":138137},{"class":555,"line":1479},[138138,138143,138147,138151,138155,138159],{"type":426,"tag":553,"props":138139,"children":138140},{"style":795},[138141],{"type":431,"value":138142},"  constructor",{"type":426,"tag":553,"props":138144,"children":138145},{"style":684},[138146],{"type":431,"value":3275},{"type":426,"tag":553,"props":138148,"children":138149},{"style":1684},[138150],{"type":431,"value":55851},{"type":426,"tag":553,"props":138152,"children":138153},{"style":795},[138154],{"type":431,"value":19071},{"type":426,"tag":553,"props":138156,"children":138157},{"style":566},[138158],{"type":431,"value":76053},{"type":426,"tag":553,"props":138160,"children":138161},{"style":684},[138162],{"type":431,"value":52385},{"type":426,"tag":553,"props":138164,"children":138165},{"class":555,"line":1517},[138166,138171,138176,138180],{"type":426,"tag":553,"props":138167,"children":138168},{"style":566},[138169],{"type":431,"value":138170},"    this",{"type":426,"tag":553,"props":138172,"children":138173},{"style":684},[138174],{"type":431,"value":138175},".headers ",{"type":426,"tag":553,"props":138177,"children":138178},{"style":795},[138179],{"type":431,"value":957},{"type":426,"tag":553,"props":138181,"children":138182},{"style":684},[138183],{"type":431,"value":5458},{"type":426,"tag":553,"props":138185,"children":138186},{"class":555,"line":1560},[138187,138191,138195,138199,138203,138207],{"type":426,"tag":553,"props":138188,"children":138189},{"style":572},[138190],{"type":431,"value":131200},{"type":426,"tag":553,"props":138192,"children":138193},{"style":684},[138194],{"type":431,"value":700},{"type":426,"tag":553,"props":138196,"children":138197},{"style":572},[138198],{"type":431,"value":53129},{"type":426,"tag":553,"props":138200,"children":138201},{"style":684},[138202],{"type":431,"value":55851},{"type":426,"tag":553,"props":138204,"children":138205},{"style":572},[138206],{"type":431,"value":52718},{"type":426,"tag":553,"props":138208,"children":138209},{"style":684},[138210],{"type":431,"value":710},{"type":426,"tag":553,"props":138212,"children":138213},{"class":555,"line":1598},[138214,138218,138222],{"type":426,"tag":553,"props":138215,"children":138216},{"style":572},[138217],{"type":431,"value":131228},{"type":426,"tag":553,"props":138219,"children":138220},{"style":684},[138221],{"type":431,"value":700},{"type":426,"tag":553,"props":138223,"children":138224},{"style":572},[138225],{"type":431,"value":113079},{"type":426,"tag":553,"props":138227,"children":138228},{"class":555,"line":1636},[138229],{"type":426,"tag":553,"props":138230,"children":138231},{"style":684},[138232],{"type":431,"value":138233},"    };\n",{"type":426,"tag":553,"props":138235,"children":138236},{"class":555,"line":1645},[138237],{"type":426,"tag":553,"props":138238,"children":138239},{"style":684},[138240],{"type":431,"value":60547},{"type":426,"tag":553,"props":138242,"children":138243},{"class":555,"line":1653},[138244],{"type":426,"tag":553,"props":138245,"children":138246},{"emptyLinePlaceholder":831},[138247],{"type":431,"value":834},{"type":426,"tag":553,"props":138249,"children":138250},{"class":555,"line":1667},[138251,138256,138260,138264,138269,138273,138277,138281,138285,138289,138293,138297],{"type":426,"tag":553,"props":138252,"children":138253},{"style":795},[138254],{"type":431,"value":138255},"  async",{"type":426,"tag":553,"props":138257,"children":138258},{"style":560},[138259],{"type":431,"value":93356},{"type":426,"tag":553,"props":138261,"children":138262},{"style":684},[138263],{"type":431,"value":3275},{"type":426,"tag":553,"props":138265,"children":138266},{"style":1684},[138267],{"type":431,"value":138268},"payload",{"type":426,"tag":553,"props":138270,"children":138271},{"style":795},[138272],{"type":431,"value":19071},{"type":426,"tag":553,"props":138274,"children":138275},{"style":560},[138276],{"type":431,"value":137798},{"type":426,"tag":553,"props":138278,"children":138279},{"style":684},[138280],{"type":431,"value":5736},{"type":426,"tag":553,"props":138282,"children":138283},{"style":795},[138284],{"type":431,"value":19071},{"type":426,"tag":553,"props":138286,"children":138287},{"style":560},[138288],{"type":431,"value":135773},{"type":426,"tag":553,"props":138290,"children":138291},{"style":684},[138292],{"type":431,"value":25949},{"type":426,"tag":553,"props":138294,"children":138295},{"style":560},[138296],{"type":431,"value":70547},{"type":426,"tag":553,"props":138298,"children":138299},{"style":684},[138300],{"type":431,"value":138301},"> {\n",{"type":426,"tag":553,"props":138303,"children":138304},{"class":555,"line":1680},[138305,138309,138313,138317,138321,138325,138329,138333,138338,138342,138346,138350],{"type":426,"tag":553,"props":138306,"children":138307},{"style":795},[138308],{"type":431,"value":85411},{"type":426,"tag":553,"props":138310,"children":138311},{"style":566},[138312],{"type":431,"value":53061},{"type":426,"tag":553,"props":138314,"children":138315},{"style":795},[138316],{"type":431,"value":8739},{"type":426,"tag":553,"props":138318,"children":138319},{"style":795},[138320],{"type":431,"value":53070},{"type":426,"tag":553,"props":138322,"children":138323},{"style":560},[138324],{"type":431,"value":52226},{"type":426,"tag":553,"props":138326,"children":138327},{"style":684},[138328],{"type":431,"value":3275},{"type":426,"tag":553,"props":138330,"children":138331},{"style":572},[138332],{"type":431,"value":134220},{"type":426,"tag":553,"props":138334,"children":138335},{"style":566},[138336],{"type":431,"value":138337},"this",{"type":426,"tag":553,"props":138339,"children":138340},{"style":572},[138341],{"type":431,"value":6789},{"type":426,"tag":553,"props":138343,"children":138344},{"style":684},[138345],{"type":431,"value":70409},{"type":426,"tag":553,"props":138347,"children":138348},{"style":572},[138349],{"type":431,"value":134230},{"type":426,"tag":553,"props":138351,"children":138352},{"style":684},[138353],{"type":431,"value":53088},{"type":426,"tag":553,"props":138355,"children":138356},{"class":555,"line":1740},[138357,138361,138365],{"type":426,"tag":553,"props":138358,"children":138359},{"style":684},[138360],{"type":431,"value":85448},{"type":426,"tag":553,"props":138362,"children":138363},{"style":572},[138364],{"type":431,"value":60428},{"type":426,"tag":553,"props":138366,"children":138367},{"style":684},[138368],{"type":431,"value":710},{"type":426,"tag":553,"props":138370,"children":138371},{"class":555,"line":1787},[138372,138377,138381],{"type":426,"tag":553,"props":138373,"children":138374},{"style":684},[138375],{"type":431,"value":138376},"      headers: ",{"type":426,"tag":553,"props":138378,"children":138379},{"style":566},[138380],{"type":431,"value":138337},{"type":426,"tag":553,"props":138382,"children":138383},{"style":684},[138384],{"type":431,"value":138385},".headers,\n",{"type":426,"tag":553,"props":138387,"children":138388},{"class":555,"line":1796},[138389,138393,138397,138401,138405],{"type":426,"tag":553,"props":138390,"children":138391},{"style":684},[138392],{"type":431,"value":85524},{"type":426,"tag":553,"props":138394,"children":138395},{"style":566},[138396],{"type":431,"value":53178},{"type":426,"tag":553,"props":138398,"children":138399},{"style":684},[138400],{"type":431,"value":6789},{"type":426,"tag":553,"props":138402,"children":138403},{"style":560},[138404],{"type":431,"value":53187},{"type":426,"tag":553,"props":138406,"children":138407},{"style":684},[138408],{"type":431,"value":134593},{"type":426,"tag":553,"props":138410,"children":138411},{"class":555,"line":1804},[138412],{"type":426,"tag":553,"props":138413,"children":138414},{"style":684},[138415],{"type":431,"value":85548},{"type":426,"tag":553,"props":138417,"children":138418},{"class":555,"line":1812},[138419],{"type":426,"tag":553,"props":138420,"children":138421},{"emptyLinePlaceholder":831},[138422],{"type":431,"value":834},{"type":426,"tag":553,"props":138424,"children":138425},{"class":555,"line":1847},[138426,138430,138434,138438],{"type":426,"tag":553,"props":138427,"children":138428},{"style":795},[138429],{"type":431,"value":925},{"type":426,"tag":553,"props":138431,"children":138432},{"style":684},[138433],{"type":431,"value":5684},{"type":426,"tag":553,"props":138435,"children":138436},{"style":795},[138437],{"type":431,"value":4651},{"type":426,"tag":553,"props":138439,"children":138440},{"style":684},[138441],{"type":431,"value":138442},"response.ok) {\n",{"type":426,"tag":553,"props":138444,"children":138445},{"class":555,"line":1856},[138446,138451,138455,138459,138463,138467,138471,138475,138479,138483],{"type":426,"tag":553,"props":138447,"children":138448},{"style":795},[138449],{"type":431,"value":138450},"      throw",{"type":426,"tag":553,"props":138452,"children":138453},{"style":795},[138454],{"type":431,"value":52275},{"type":426,"tag":553,"props":138456,"children":138457},{"style":560},[138458],{"type":431,"value":97294},{"type":426,"tag":553,"props":138460,"children":138461},{"style":684},[138462],{"type":431,"value":3275},{"type":426,"tag":553,"props":138464,"children":138465},{"style":572},[138466],{"type":431,"value":123360},{"type":426,"tag":553,"props":138468,"children":138469},{"style":684},[138470],{"type":431,"value":96832},{"type":426,"tag":553,"props":138472,"children":138473},{"style":572},[138474],{"type":431,"value":6789},{"type":426,"tag":553,"props":138476,"children":138477},{"style":684},[138478],{"type":431,"value":67953},{"type":426,"tag":553,"props":138480,"children":138481},{"style":572},[138482],{"type":431,"value":52718},{"type":426,"tag":553,"props":138484,"children":138485},{"style":684},[138486],{"type":431,"value":11379},{"type":426,"tag":553,"props":138488,"children":138489},{"class":555,"line":1874},[138490],{"type":426,"tag":553,"props":138491,"children":138492},{"style":684},[138493],{"type":431,"value":5546},{"type":426,"tag":553,"props":138495,"children":138496},{"class":555,"line":1882},[138497],{"type":426,"tag":553,"props":138498,"children":138499},{"emptyLinePlaceholder":831},[138500],{"type":431,"value":834},{"type":426,"tag":553,"props":138502,"children":138503},{"class":555,"line":1981},[138504,138508,138512,138516,138520,138524,138528,138532,138536],{"type":426,"tag":553,"props":138505,"children":138506},{"style":795},[138507],{"type":431,"value":1659},{"type":426,"tag":553,"props":138509,"children":138510},{"style":684},[138511],{"type":431,"value":53218},{"type":426,"tag":553,"props":138513,"children":138514},{"style":560},[138515],{"type":431,"value":673},{"type":426,"tag":553,"props":138517,"children":138518},{"style":684},[138519],{"type":431,"value":61573},{"type":426,"tag":553,"props":138521,"children":138522},{"style":795},[138523],{"type":431,"value":10075},{"type":426,"tag":553,"props":138525,"children":138526},{"style":560},[138527],{"type":431,"value":135773},{"type":426,"tag":553,"props":138529,"children":138530},{"style":684},[138531],{"type":431,"value":25949},{"type":426,"tag":553,"props":138533,"children":138534},{"style":560},[138535],{"type":431,"value":70547},{"type":426,"tag":553,"props":138537,"children":138538},{"style":684},[138539],{"type":431,"value":138540},">;\n",{"type":426,"tag":553,"props":138542,"children":138543},{"class":555,"line":1989},[138544],{"type":426,"tag":553,"props":138545,"children":138546},{"style":684},[138547],{"type":431,"value":60547},{"type":426,"tag":553,"props":138549,"children":138550},{"class":555,"line":2013},[138551],{"type":426,"tag":553,"props":138552,"children":138553},{"emptyLinePlaceholder":831},[138554],{"type":431,"value":834},{"type":426,"tag":553,"props":138556,"children":138557},{"class":555,"line":2055},[138558,138562,138566,138570,138574,138578,138582,138586,138590,138594,138598,138602,138606,138610,138614,138618],{"type":426,"tag":553,"props":138559,"children":138560},{"style":795},[138561],{"type":431,"value":138255},{"type":426,"tag":553,"props":138563,"children":138564},{"style":560},[138565],{"type":431,"value":134168},{"type":426,"tag":553,"props":138567,"children":138568},{"style":684},[138569],{"type":431,"value":3275},{"type":426,"tag":553,"props":138571,"children":138572},{"style":1684},[138573],{"type":431,"value":37598},{"type":426,"tag":553,"props":138575,"children":138576},{"style":795},[138577],{"type":431,"value":19071},{"type":426,"tag":553,"props":138579,"children":138580},{"style":566},[138581],{"type":431,"value":76053},{"type":426,"tag":553,"props":138583,"children":138584},{"style":684},[138585],{"type":431,"value":1907},{"type":426,"tag":553,"props":138587,"children":138588},{"style":1684},[138589],{"type":431,"value":2734},{"type":426,"tag":553,"props":138591,"children":138592},{"style":795},[138593],{"type":431,"value":19071},{"type":426,"tag":553,"props":138595,"children":138596},{"style":566},[138597],{"type":431,"value":76053},{"type":426,"tag":553,"props":138599,"children":138600},{"style":684},[138601],{"type":431,"value":5736},{"type":426,"tag":553,"props":138603,"children":138604},{"style":795},[138605],{"type":431,"value":19071},{"type":426,"tag":553,"props":138607,"children":138608},{"style":560},[138609],{"type":431,"value":135773},{"type":426,"tag":553,"props":138611,"children":138612},{"style":684},[138613],{"type":431,"value":25949},{"type":426,"tag":553,"props":138615,"children":138616},{"style":560},[138617],{"type":431,"value":70547},{"type":426,"tag":553,"props":138619,"children":138620},{"style":684},[138621],{"type":431,"value":138301},{"type":426,"tag":553,"props":138623,"children":138624},{"class":555,"line":2064},[138625,138629,138634,138638,138642],{"type":426,"tag":553,"props":138626,"children":138627},{"style":795},[138628],{"type":431,"value":1659},{"type":426,"tag":553,"props":138630,"children":138631},{"style":566},[138632],{"type":431,"value":138633}," this",{"type":426,"tag":553,"props":138635,"children":138636},{"style":684},[138637],{"type":431,"value":6789},{"type":426,"tag":553,"props":138639,"children":138640},{"style":560},[138641],{"type":431,"value":52593},{"type":426,"tag":553,"props":138643,"children":138644},{"style":684},[138645],{"type":431,"value":138646},"({ number: phone, message });\n",{"type":426,"tag":553,"props":138648,"children":138649},{"class":555,"line":2087},[138650],{"type":426,"tag":553,"props":138651,"children":138652},{"style":684},[138653],{"type":431,"value":60547},{"type":426,"tag":553,"props":138655,"children":138656},{"class":555,"line":2096},[138657],{"type":426,"tag":553,"props":138658,"children":138659},{"style":684},[138660],{"type":431,"value":756},{"type":426,"tag":553,"props":138662,"children":138663},{"class":555,"line":2105},[138664],{"type":426,"tag":553,"props":138665,"children":138666},{"emptyLinePlaceholder":831},[138667],{"type":431,"value":834},{"type":426,"tag":553,"props":138669,"children":138670},{"class":555,"line":2114},[138671],{"type":426,"tag":553,"props":138672,"children":138673},{"style":1975},[138674],{"type":431,"value":53575},{"type":426,"tag":553,"props":138676,"children":138677},{"class":555,"line":2123},[138678,138682,138687,138691,138695,138699,138704,138708,138712],{"type":426,"tag":553,"props":138679,"children":138680},{"style":795},[138681],{"type":431,"value":52135},{"type":426,"tag":553,"props":138683,"children":138684},{"style":566},[138685],{"type":431,"value":138686}," client",{"type":426,"tag":553,"props":138688,"children":138689},{"style":795},[138690],{"type":431,"value":8739},{"type":426,"tag":553,"props":138692,"children":138693},{"style":795},[138694],{"type":431,"value":52275},{"type":426,"tag":553,"props":138696,"children":138697},{"style":560},[138698],{"type":431,"value":66860},{"type":426,"tag":553,"props":138700,"children":138701},{"style":684},[138702],{"type":431,"value":138703},"(process.env.",{"type":426,"tag":553,"props":138705,"children":138706},{"style":566},[138707],{"type":431,"value":7156},{"type":426,"tag":553,"props":138709,"children":138710},{"style":795},[138711],{"type":431,"value":4651},{"type":426,"tag":553,"props":138713,"children":138714},{"style":684},[138715],{"type":431,"value":11379},{"type":426,"tag":553,"props":138717,"children":138718},{"class":555,"line":2132},[138719,138723,138727,138731,138735,138739,138744,138748,138752,138756,138761],{"type":426,"tag":553,"props":138720,"children":138721},{"style":795},[138722],{"type":431,"value":52135},{"type":426,"tag":553,"props":138724,"children":138725},{"style":566},[138726],{"type":431,"value":53508},{"type":426,"tag":553,"props":138728,"children":138729},{"style":795},[138730],{"type":431,"value":8739},{"type":426,"tag":553,"props":138732,"children":138733},{"style":795},[138734],{"type":431,"value":53070},{"type":426,"tag":553,"props":138736,"children":138737},{"style":684},[138738],{"type":431,"value":68373},{"type":426,"tag":553,"props":138740,"children":138741},{"style":560},[138742],{"type":431,"value":138743},"sendText",{"type":426,"tag":553,"props":138745,"children":138746},{"style":684},[138747],{"type":431,"value":3275},{"type":426,"tag":553,"props":138749,"children":138750},{"style":572},[138751],{"type":431,"value":7286},{"type":426,"tag":553,"props":138753,"children":138754},{"style":684},[138755],{"type":431,"value":1907},{"type":426,"tag":553,"props":138757,"children":138758},{"style":572},[138759],{"type":431,"value":138760},"\"Hello from TypeScript!\"",{"type":426,"tag":553,"props":138762,"children":138763},{"style":684},[138764],{"type":431,"value":11379},{"type":426,"tag":553,"props":138766,"children":138767},{"class":555,"line":2151},[138768,138772,138776],{"type":426,"tag":553,"props":138769,"children":138770},{"style":684},[138771],{"type":431,"value":121455},{"type":426,"tag":553,"props":138773,"children":138774},{"style":560},[138775],{"type":431,"value":53719},{"type":426,"tag":553,"props":138777,"children":138778},{"style":684},[138779],{"type":431,"value":138780},"(result.messageId);\n",{"type":426,"tag":434,"props":138782,"children":138784},{"id":138783},"environment-variables-best-practice",[138785],{"type":431,"value":138786},"Environment Variables (Best Practice)",{"type":426,"tag":427,"props":138788,"children":138789},{},[138790],{"type":431,"value":138791},"Never hardcode your API key. Use environment variables:",{"type":426,"tag":542,"props":138793,"children":138795},{"className":546,"code":138794,"language":545,"meta":417,"style":417},"# .env\nRAPIWA_API_KEY=your_actual_api_key_here\n",[138796],{"type":426,"tag":549,"props":138797,"children":138798},{"__ignoreMap":417},[138799,138807],{"type":426,"tag":553,"props":138800,"children":138801},{"class":555,"line":556},[138802],{"type":426,"tag":553,"props":138803,"children":138804},{"style":1975},[138805],{"type":431,"value":138806},"# .env\n",{"type":426,"tag":553,"props":138808,"children":138809},{"class":555,"line":588},[138810,138814,138818],{"type":426,"tag":553,"props":138811,"children":138812},{"style":684},[138813],{"type":431,"value":7156},{"type":426,"tag":553,"props":138815,"children":138816},{"style":795},[138817],{"type":431,"value":957},{"type":426,"tag":553,"props":138819,"children":138820},{"style":572},[138821],{"type":431,"value":138822},"your_actual_api_key_here\n",{"type":426,"tag":542,"props":138824,"children":138826},{"className":52113,"code":138825,"language":52115,"meta":417,"style":417},"\u002F\u002F Load with dotenv\nimport \"dotenv\u002Fconfig\";  \u002F\u002F or: require(\"dotenv\").config()\nconst API_KEY = process.env.RAPIWA_API_KEY;\n",[138827],{"type":426,"tag":549,"props":138828,"children":138829},{"__ignoreMap":417},[138830,138838,138860],{"type":426,"tag":553,"props":138831,"children":138832},{"class":555,"line":556},[138833],{"type":426,"tag":553,"props":138834,"children":138835},{"style":1975},[138836],{"type":431,"value":138837},"\u002F\u002F Load with dotenv\n",{"type":426,"tag":553,"props":138839,"children":138840},{"class":555,"line":588},[138841,138845,138850,138855],{"type":426,"tag":553,"props":138842,"children":138843},{"style":795},[138844],{"type":431,"value":798},{"type":426,"tag":553,"props":138846,"children":138847},{"style":572},[138848],{"type":431,"value":138849}," \"dotenv\u002Fconfig\"",{"type":426,"tag":553,"props":138851,"children":138852},{"style":684},[138853],{"type":431,"value":138854},";  ",{"type":426,"tag":553,"props":138856,"children":138857},{"style":1975},[138858],{"type":431,"value":138859},"\u002F\u002F or: require(\"dotenv\").config()\n",{"type":426,"tag":553,"props":138861,"children":138862},{"class":555,"line":606},[138863,138867,138871,138875,138879,138883],{"type":426,"tag":553,"props":138864,"children":138865},{"style":795},[138866],{"type":431,"value":52135},{"type":426,"tag":553,"props":138868,"children":138869},{"style":566},[138870],{"type":431,"value":133722},{"type":426,"tag":553,"props":138872,"children":138873},{"style":795},[138874],{"type":431,"value":8739},{"type":426,"tag":553,"props":138876,"children":138877},{"style":684},[138878],{"type":431,"value":84610},{"type":426,"tag":553,"props":138880,"children":138881},{"style":566},[138882],{"type":431,"value":7156},{"type":426,"tag":553,"props":138884,"children":138885},{"style":684},[138886],{"type":431,"value":52321},{"type":426,"tag":542,"props":138888,"children":138890},{"className":546,"code":138889,"language":545,"meta":417,"style":417},"npm install dotenv\n",[138891],{"type":426,"tag":549,"props":138892,"children":138893},{"__ignoreMap":417},[138894],{"type":426,"tag":553,"props":138895,"children":138896},{"class":555,"line":556},[138897,138901,138905],{"type":426,"tag":553,"props":138898,"children":138899},{"style":560},[138900],{"type":431,"value":52091},{"type":426,"tag":553,"props":138902,"children":138903},{"style":572},[138904],{"type":431,"value":48876},{"type":426,"tag":553,"props":138906,"children":138907},{"style":572},[138908],{"type":431,"value":138909}," dotenv\n",{"type":426,"tag":434,"props":138911,"children":138912},{"id":4109},[138913],{"type":431,"value":4112},{"type":426,"tag":427,"props":138915,"children":138916},{},[138917,138922,138924,138929,138931,138936,138937,138942,138944,138950,138951,138957],{"type":426,"tag":446,"props":138918,"children":138919},{},[138920],{"type":431,"value":138921},"Does Node.js have a built-in HTTP client for WhatsApp API?",{"type":431,"value":138923},"\nYes. Node.js 18+ includes ",{"type":426,"tag":549,"props":138925,"children":138927},{"className":138926},[],[138928],{"type":431,"value":106098},{"type":431,"value":138930}," natively. No additional library is needed. For older Node versions, use ",{"type":426,"tag":549,"props":138932,"children":138934},{"className":138933},[],[138935],{"type":431,"value":133647},{"type":431,"value":5684},{"type":426,"tag":549,"props":138938,"children":138940},{"className":138939},[],[138941],{"type":431,"value":135710},{"type":431,"value":138943},") or ",{"type":426,"tag":549,"props":138945,"children":138947},{"className":138946},[],[138948],{"type":431,"value":138949},"node-fetch",{"type":431,"value":5684},{"type":426,"tag":549,"props":138952,"children":138954},{"className":138953},[],[138955],{"type":431,"value":138956},"npm install node-fetch",{"type":431,"value":53330},{"type":426,"tag":427,"props":138959,"children":138960},{},[138961,138966,138967,138972,138974,138980],{"type":426,"tag":446,"props":138962,"children":138963},{},[138964],{"type":431,"value":138965},"What is the phone number format for Node.js WhatsApp API calls?",{"type":431,"value":125155},{"type":426,"tag":549,"props":138968,"children":138970},{"className":138969},[],[138971],{"type":431,"value":2033},{"type":431,"value":138973}," sign: ",{"type":426,"tag":549,"props":138975,"children":138977},{"className":138976},[],[138978],{"type":431,"value":138979},"\"number\": \"8801234567890\"",{"type":431,"value":138981}," (country code + number, no spaces or dashes).",{"type":426,"tag":427,"props":138983,"children":138984},{},[138985,138990],{"type":426,"tag":446,"props":138986,"children":138987},{},[138988],{"type":431,"value":138989},"Can I receive WhatsApp messages in a Node.js Express app?",{"type":431,"value":138991},"\nYes. Set up a POST endpoint in Express, configure it as a webhook URL in the Rapiwa dashboard. Rapiwa will POST incoming messages to your URL in real time.",{"type":426,"tag":427,"props":138993,"children":138994},{},[138995,139000,139002,139007],{"type":426,"tag":446,"props":138996,"children":138997},{},[138998],{"type":431,"value":138999},"Is there a Rapiwa SDK for Node.js \u002F TypeScript?",{"type":431,"value":139001},"\nNot yet — it's on the Rapiwa roadmap. The raw ",{"type":426,"tag":549,"props":139003,"children":139005},{"className":139004},[],[139006],{"type":431,"value":106098},{"type":431,"value":139008}," API with TypeScript types (as shown above) provides the same functionality in 10–15 lines.",{"type":426,"tag":427,"props":139010,"children":139011},{},[139012,139017],{"type":426,"tag":446,"props":139013,"children":139014},{},[139015],{"type":431,"value":139016},"How do I deploy a Node.js WhatsApp webhook to production?",{"type":431,"value":139018},"\nDeploy to any Node.js hosting: Railway, Fly.io, Render, Vercel (serverless), or a VPS. Ensure your URL is public (HTTPS) and accessible from the internet.",{"type":426,"tag":4164,"props":139020,"children":139021},{},[139022],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":139024},[139025,139026,139027,139028,139029,139030,139031,139032,139033],{"id":47624,"depth":588,"text":47627},{"id":133692,"depth":588,"text":133695},{"id":133992,"depth":588,"text":133995},{"id":135154,"depth":588,"text":135157},{"id":135713,"depth":588,"text":135716},{"id":136863,"depth":588,"text":136866},{"id":137765,"depth":588,"text":137768},{"id":138783,"depth":588,"text":138786},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-nodejs-setup-to-first-message-2026.md","blog\u002Fwhatsapp-api-nodejs-setup-to-first-message-2026.md","blog\u002Fwhatsapp-api-nodejs-setup-to-first-message-2026",{"loc":193},{"_path":197,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":198,"description":199,"date":139039,"author":18999,"category":22,"_slug":139040,"image":139041,"body":139042,"_type":4187,"_id":143990,"_source":4189,"_file":143991,"_stem":143992,"_extension":4192,"sitemap":143993},"2026-01-31","how-to-send-whatsapp-messages-python-tutorial","\u002Fimages\u002Fblog\u002Fhow-to-send-whatsapp-messages-python-tutorial.svg",{"type":423,"children":139043,"toc":143979},[139044,139064,139068,139090,139112,139118,139321,139344,139350,140418,140424,140850,140856,142089,142095,142100,142851,142862,142868,143359,143365,143864,143868,143907,143930,143940,143958,143975],{"type":426,"tag":427,"props":139045,"children":139046},{},[139047,139049,139055,139057,139062],{"type":431,"value":139048},"You can send WhatsApp messages with Python by making an HTTP POST request to the Rapiwa API using the ",{"type":426,"tag":549,"props":139050,"children":139052},{"className":139051},[],[139053],{"type":431,"value":139054},"requests",{"type":431,"value":139056}," library. With ",{"type":426,"tag":3819,"props":139058,"children":139060},{"href":3821,"rel":139059},[3823],[139061],{"type":431,"value":127310},{"type":431,"value":139063}," ($5\u002Fmonth), connect your WhatsApp number, get an API key, and send messages in 3 lines of Python. This tutorial covers basic sending, bulk messaging, file attachments, error handling, async sending, and Django\u002FFlask integration.",{"type":426,"tag":434,"props":139065,"children":139066},{"id":47624},[139067],{"type":431,"value":47627},{"type":426,"tag":542,"props":139069,"children":139071},{"className":546,"code":139070,"language":545,"meta":417,"style":417},"pip install requests\n",[139072],{"type":426,"tag":549,"props":139073,"children":139074},{"__ignoreMap":417},[139075],{"type":426,"tag":553,"props":139076,"children":139077},{"class":555,"line":556},[139078,139082,139086],{"type":426,"tag":553,"props":139079,"children":139080},{"style":560},[139081],{"type":431,"value":48871},{"type":426,"tag":553,"props":139083,"children":139084},{"style":572},[139085],{"type":431,"value":48876},{"type":426,"tag":553,"props":139087,"children":139088},{"style":572},[139089],{"type":431,"value":803},{"type":426,"tag":454,"props":139091,"children":139092},{},[139093,139102,139107],{"type":426,"tag":458,"props":139094,"children":139095},{},[139096,139097],{"type":431,"value":133679},{"type":426,"tag":3819,"props":139098,"children":139100},{"href":3821,"rel":139099},[3823],[139101],{"type":431,"value":127372},{"type":426,"tag":458,"props":139103,"children":139104},{},[139105],{"type":431,"value":139106},"Your API key from Dashboard → API Keys",{"type":426,"tag":458,"props":139108,"children":139109},{},[139110],{"type":431,"value":139111},"WhatsApp number connected via QR code",{"type":426,"tag":434,"props":139113,"children":139115},{"id":139114},"step-1-send-your-first-message",[139116],{"type":431,"value":139117},"Step 1: Send Your First Message",{"type":426,"tag":542,"props":139119,"children":139121},{"className":785,"code":139120,"language":784,"meta":417,"style":417},"import requests\n\nAPI_KEY = \"YOUR_RAPIWA_API_KEY\"\n\nresponse = requests.post(\n    \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\"number\": \"8801234567890\", \"message\": \"Hello from Python!\"}\n)\n\nprint(response.json())\n# {'status': 'success', 'messageId': 'msg_abc123', 'timestamp': '...'}\n",[139122],{"type":426,"tag":549,"props":139123,"children":139124},{"__ignoreMap":417},[139125,139136,139143,139158,139165,139181,139193,139238,139287,139294,139301,139313],{"type":426,"tag":553,"props":139126,"children":139127},{"class":555,"line":556},[139128,139132],{"type":426,"tag":553,"props":139129,"children":139130},{"style":795},[139131],{"type":431,"value":798},{"type":426,"tag":553,"props":139133,"children":139134},{"style":684},[139135],{"type":431,"value":803},{"type":426,"tag":553,"props":139137,"children":139138},{"class":555,"line":588},[139139],{"type":426,"tag":553,"props":139140,"children":139141},{"emptyLinePlaceholder":831},[139142],{"type":431,"value":834},{"type":426,"tag":553,"props":139144,"children":139145},{"class":555,"line":606},[139146,139150,139154],{"type":426,"tag":553,"props":139147,"children":139148},{"style":566},[139149],{"type":431,"value":133819},{"type":426,"tag":553,"props":139151,"children":139152},{"style":795},[139153],{"type":431,"value":8739},{"type":426,"tag":553,"props":139155,"children":139156},{"style":572},[139157],{"type":431,"value":47113},{"type":426,"tag":553,"props":139159,"children":139160},{"class":555,"line":623},[139161],{"type":426,"tag":553,"props":139162,"children":139163},{"emptyLinePlaceholder":831},[139164],{"type":431,"value":834},{"type":426,"tag":553,"props":139166,"children":139167},{"class":555,"line":637},[139168,139173,139177],{"type":426,"tag":553,"props":139169,"children":139170},{"style":684},[139171],{"type":431,"value":139172},"response ",{"type":426,"tag":553,"props":139174,"children":139175},{"style":795},[139176],{"type":431,"value":957},{"type":426,"tag":553,"props":139178,"children":139179},{"style":684},[139180],{"type":431,"value":1664},{"type":426,"tag":553,"props":139182,"children":139183},{"class":555,"line":646},[139184,139189],{"type":426,"tag":553,"props":139185,"children":139186},{"style":572},[139187],{"type":431,"value":139188},"    \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"",{"type":426,"tag":553,"props":139190,"children":139191},{"style":684},[139192],{"type":431,"value":710},{"type":426,"tag":553,"props":139194,"children":139195},{"class":555,"line":655},[139196,139201,139205,139209,139213,139217,139221,139225,139230,139234],{"type":426,"tag":553,"props":139197,"children":139198},{"style":1684},[139199],{"type":431,"value":139200},"    headers",{"type":426,"tag":553,"props":139202,"children":139203},{"style":795},[139204],{"type":431,"value":957},{"type":426,"tag":553,"props":139206,"children":139207},{"style":684},[139208],{"type":431,"value":972},{"type":426,"tag":553,"props":139210,"children":139211},{"style":572},[139212],{"type":431,"value":45214},{"type":426,"tag":553,"props":139214,"children":139215},{"style":684},[139216],{"type":431,"value":700},{"type":426,"tag":553,"props":139218,"children":139219},{"style":795},[139220],{"type":431,"value":1709},{"type":426,"tag":553,"props":139222,"children":139223},{"style":572},[139224],{"type":431,"value":12608},{"type":426,"tag":553,"props":139226,"children":139227},{"style":566},[139228],{"type":431,"value":139229},"{API_KEY}",{"type":426,"tag":553,"props":139231,"children":139232},{"style":572},[139233],{"type":431,"value":1527},{"type":426,"tag":553,"props":139235,"children":139236},{"style":684},[139237],{"type":431,"value":1737},{"type":426,"tag":553,"props":139239,"children":139240},{"class":555,"line":1036},[139241,139246,139250,139254,139258,139262,139266,139270,139274,139278,139283],{"type":426,"tag":553,"props":139242,"children":139243},{"style":1684},[139244],{"type":431,"value":139245},"    json",{"type":426,"tag":553,"props":139247,"children":139248},{"style":795},[139249],{"type":431,"value":957},{"type":426,"tag":553,"props":139251,"children":139252},{"style":684},[139253],{"type":431,"value":972},{"type":426,"tag":553,"props":139255,"children":139256},{"style":572},[139257],{"type":431,"value":45266},{"type":426,"tag":553,"props":139259,"children":139260},{"style":684},[139261],{"type":431,"value":700},{"type":426,"tag":553,"props":139263,"children":139264},{"style":572},[139265],{"type":431,"value":7286},{"type":426,"tag":553,"props":139267,"children":139268},{"style":684},[139269],{"type":431,"value":1907},{"type":426,"tag":553,"props":139271,"children":139272},{"style":572},[139273],{"type":431,"value":45275},{"type":426,"tag":553,"props":139275,"children":139276},{"style":684},[139277],{"type":431,"value":700},{"type":426,"tag":553,"props":139279,"children":139280},{"style":572},[139281],{"type":431,"value":139282},"\"Hello from Python!\"",{"type":426,"tag":553,"props":139284,"children":139285},{"style":684},[139286],{"type":431,"value":756},{"type":426,"tag":553,"props":139288,"children":139289},{"class":555,"line":1054},[139290],{"type":426,"tag":553,"props":139291,"children":139292},{"style":684},[139293],{"type":431,"value":3262},{"type":426,"tag":553,"props":139295,"children":139296},{"class":555,"line":1080},[139297],{"type":426,"tag":553,"props":139298,"children":139299},{"emptyLinePlaceholder":831},[139300],{"type":431,"value":834},{"type":426,"tag":553,"props":139302,"children":139303},{"class":555,"line":1097},[139304,139308],{"type":426,"tag":553,"props":139305,"children":139306},{"style":566},[139307],{"type":431,"value":3270},{"type":426,"tag":553,"props":139309,"children":139310},{"style":684},[139311],{"type":431,"value":139312},"(response.json())\n",{"type":426,"tag":553,"props":139314,"children":139315},{"class":555,"line":1114},[139316],{"type":426,"tag":553,"props":139317,"children":139318},{"style":1975},[139319],{"type":431,"value":139320},"# {'status': 'success', 'messageId': 'msg_abc123', 'timestamp': '...'}\n",{"type":426,"tag":427,"props":139322,"children":139323},{},[139324,139329,139331,139336,139338,139343],{"type":426,"tag":446,"props":139325,"children":139326},{},[139327],{"type":431,"value":139328},"Phone number format",{"type":431,"value":139330},": international format, no ",{"type":426,"tag":549,"props":139332,"children":139334},{"className":139333},[],[139335],{"type":431,"value":2033},{"type":431,"value":139337},", no spaces. Bangladesh: ",{"type":426,"tag":549,"props":139339,"children":139341},{"className":139340},[],[139342],{"type":431,"value":7237},{"type":431,"value":6789},{"type":426,"tag":434,"props":139345,"children":139347},{"id":139346},"step-2-create-a-reusable-whatsapp-client",[139348],{"type":431,"value":139349},"Step 2: Create a Reusable WhatsApp Client",{"type":426,"tag":542,"props":139351,"children":139353},{"className":785,"code":139352,"language":784,"meta":417,"style":417},"import requests\nfrom typing import Optional\n\nclass RapiwaClient:\n    \"\"\"WhatsApp messaging client using Rapiwa API.\"\"\"\n    \n    BASE_URL = \"https:\u002F\u002Fapp.rapiwa.com\"\n    \n    def __init__(self, api_key: str):\n        self.session = requests.Session()\n        self.session.headers.update({\n            \"Authorization\": f\"Bearer {api_key}\",\n            \"Content-Type\": \"application\u002Fjson\"\n        })\n    \n    def send_text(self, phone: str, message: str) -> dict:\n        \"\"\"Send a text message.\"\"\"\n        response = self.session.post(\n            f\"{self.BASE_URL}\u002Fsend-message\",\n            json={\"number\": phone, \"message\": message}\n        )\n        response.raise_for_status()\n        return response.json()\n    \n    def send_image(self, phone: str, image_url: str, caption: str = \"\") -> dict:\n        \"\"\"Send an image with optional caption.\"\"\"\n        payload = {\"number\": phone, \"image\": image_url}\n        if caption:\n            payload[\"caption\"] = caption\n        response = self.session.post(f\"{self.BASE_URL}\u002Fsend-message\", json=payload)\n        response.raise_for_status()\n        return response.json()\n    \n    def send_document(self, phone: str, doc_url: str, filename: str, caption: str = \"\") -> dict:\n        \"\"\"Send a document (PDF, DOCX, etc.).\"\"\"\n        payload = {\"number\": phone, \"document\": doc_url, \"filename\": filename}\n        if caption:\n            payload[\"caption\"] = caption\n        response = self.session.post(f\"{self.BASE_URL}\u002Fsend-message\", json=payload)\n        response.raise_for_status()\n        return response.json()\n    \n    def check_number(self, phone: str) -> dict:\n        \"\"\"Check if a phone number is registered on WhatsApp.\"\"\"\n        response = self.session.get(\n            f\"{self.BASE_URL}\u002Fcheck-number\",\n            params={\"number\": phone}\n        )\n        response.raise_for_status()\n        return response.json()\n\n# Usage\nclient = RapiwaClient(\"YOUR_API_KEY\")\nresult = client.send_text(\"8801234567890\", \"Hello!\")\nprint(result)\n",[139354],{"type":426,"tag":549,"props":139355,"children":139356},{"__ignoreMap":417},[139357,139368,139387,139394,139409,139417,139424,139441,139448,139471,139492,139504,139544,139560,139568,139575,139615,139623,139643,139676,139707,139714,139722,139733,139740,139796,139804,139837,139849,139875,139935,139942,139953,139960,140025,140033,140076,140087,140110,140169,140176,140187,140194,140226,140234,140254,140286,140311,140318,140325,140336,140343,140350,140375,140407],{"type":426,"tag":553,"props":139358,"children":139359},{"class":555,"line":556},[139360,139364],{"type":426,"tag":553,"props":139361,"children":139362},{"style":795},[139363],{"type":431,"value":798},{"type":426,"tag":553,"props":139365,"children":139366},{"style":684},[139367],{"type":431,"value":803},{"type":426,"tag":553,"props":139369,"children":139370},{"class":555,"line":588},[139371,139375,139379,139383],{"type":426,"tag":553,"props":139372,"children":139373},{"style":795},[139374],{"type":431,"value":811},{"type":426,"tag":553,"props":139376,"children":139377},{"style":684},[139378],{"type":431,"value":11852},{"type":426,"tag":553,"props":139380,"children":139381},{"style":795},[139382],{"type":431,"value":798},{"type":426,"tag":553,"props":139384,"children":139385},{"style":684},[139386],{"type":431,"value":11861},{"type":426,"tag":553,"props":139388,"children":139389},{"class":555,"line":606},[139390],{"type":426,"tag":553,"props":139391,"children":139392},{"emptyLinePlaceholder":831},[139393],{"type":431,"value":834},{"type":426,"tag":553,"props":139395,"children":139396},{"class":555,"line":623},[139397,139401,139405],{"type":426,"tag":553,"props":139398,"children":139399},{"style":795},[139400],{"type":431,"value":11909},{"type":426,"tag":553,"props":139402,"children":139403},{"style":560},[139404],{"type":431,"value":66860},{"type":426,"tag":553,"props":139406,"children":139407},{"style":684},[139408],{"type":431,"value":909},{"type":426,"tag":553,"props":139410,"children":139411},{"class":555,"line":637},[139412],{"type":426,"tag":553,"props":139413,"children":139414},{"style":572},[139415],{"type":431,"value":139416},"    \"\"\"WhatsApp messaging client using Rapiwa API.\"\"\"\n",{"type":426,"tag":553,"props":139418,"children":139419},{"class":555,"line":646},[139420],{"type":426,"tag":553,"props":139421,"children":139422},{"style":684},[139423],{"type":431,"value":917},{"type":426,"tag":553,"props":139425,"children":139426},{"class":555,"line":655},[139427,139432,139436],{"type":426,"tag":553,"props":139428,"children":139429},{"style":566},[139430],{"type":431,"value":139431},"    BASE_URL",{"type":426,"tag":553,"props":139433,"children":139434},{"style":795},[139435],{"type":431,"value":8739},{"type":426,"tag":553,"props":139437,"children":139438},{"style":572},[139439],{"type":431,"value":139440}," \"https:\u002F\u002Fapp.rapiwa.com\"\n",{"type":426,"tag":553,"props":139442,"children":139443},{"class":555,"line":1036},[139444],{"type":426,"tag":553,"props":139445,"children":139446},{"style":684},[139447],{"type":431,"value":917},{"type":426,"tag":553,"props":139449,"children":139450},{"class":555,"line":1054},[139451,139455,139459,139463,139467],{"type":426,"tag":553,"props":139452,"children":139453},{"style":795},[139454],{"type":431,"value":11926},{"type":426,"tag":553,"props":139456,"children":139457},{"style":566},[139458],{"type":431,"value":11931},{"type":426,"tag":553,"props":139460,"children":139461},{"style":684},[139462],{"type":431,"value":35527},{"type":426,"tag":553,"props":139464,"children":139465},{"style":566},[139466],{"type":431,"value":895},{"type":426,"tag":553,"props":139468,"children":139469},{"style":684},[139470],{"type":431,"value":8370},{"type":426,"tag":553,"props":139472,"children":139473},{"class":555,"line":1080},[139474,139478,139483,139487],{"type":426,"tag":553,"props":139475,"children":139476},{"style":566},[139477],{"type":431,"value":11952},{"type":426,"tag":553,"props":139479,"children":139480},{"style":684},[139481],{"type":431,"value":139482},".session ",{"type":426,"tag":553,"props":139484,"children":139485},{"style":795},[139486],{"type":431,"value":957},{"type":426,"tag":553,"props":139488,"children":139489},{"style":684},[139490],{"type":431,"value":139491}," requests.Session()\n",{"type":426,"tag":553,"props":139493,"children":139494},{"class":555,"line":1097},[139495,139499],{"type":426,"tag":553,"props":139496,"children":139497},{"style":566},[139498],{"type":431,"value":11952},{"type":426,"tag":553,"props":139500,"children":139501},{"style":684},[139502],{"type":431,"value":139503},".session.headers.update({\n",{"type":426,"tag":553,"props":139505,"children":139506},{"class":555,"line":1114},[139507,139512,139516,139520,139524,139528,139532,139536,139540],{"type":426,"tag":553,"props":139508,"children":139509},{"style":572},[139510],{"type":431,"value":139511},"            \"Authorization\"",{"type":426,"tag":553,"props":139513,"children":139514},{"style":684},[139515],{"type":431,"value":700},{"type":426,"tag":553,"props":139517,"children":139518},{"style":795},[139519],{"type":431,"value":1709},{"type":426,"tag":553,"props":139521,"children":139522},{"style":572},[139523],{"type":431,"value":12608},{"type":426,"tag":553,"props":139525,"children":139526},{"style":566},[139527],{"type":431,"value":972},{"type":426,"tag":553,"props":139529,"children":139530},{"style":684},[139531],{"type":431,"value":1723},{"type":426,"tag":553,"props":139533,"children":139534},{"style":566},[139535],{"type":431,"value":982},{"type":426,"tag":553,"props":139537,"children":139538},{"style":572},[139539],{"type":431,"value":1527},{"type":426,"tag":553,"props":139541,"children":139542},{"style":684},[139543],{"type":431,"value":710},{"type":426,"tag":553,"props":139545,"children":139546},{"class":555,"line":1127},[139547,139552,139556],{"type":426,"tag":553,"props":139548,"children":139549},{"style":572},[139550],{"type":431,"value":139551},"            \"Content-Type\"",{"type":426,"tag":553,"props":139553,"children":139554},{"style":684},[139555],{"type":431,"value":700},{"type":426,"tag":553,"props":139557,"children":139558},{"style":572},[139559],{"type":431,"value":113079},{"type":426,"tag":553,"props":139561,"children":139562},{"class":555,"line":1167},[139563],{"type":426,"tag":553,"props":139564,"children":139565},{"style":684},[139566],{"type":431,"value":139567},"        })\n",{"type":426,"tag":553,"props":139569,"children":139570},{"class":555,"line":1184},[139571],{"type":426,"tag":553,"props":139572,"children":139573},{"style":684},[139574],{"type":431,"value":917},{"type":426,"tag":553,"props":139576,"children":139577},{"class":555,"line":1192},[139578,139582,139587,139591,139595,139599,139603,139607,139611],{"type":426,"tag":553,"props":139579,"children":139580},{"style":795},[139581],{"type":431,"value":11926},{"type":426,"tag":553,"props":139583,"children":139584},{"style":560},[139585],{"type":431,"value":139586}," send_text",{"type":426,"tag":553,"props":139588,"children":139589},{"style":684},[139590],{"type":431,"value":16783},{"type":426,"tag":553,"props":139592,"children":139593},{"style":566},[139594],{"type":431,"value":895},{"type":426,"tag":553,"props":139596,"children":139597},{"style":684},[139598],{"type":431,"value":8713},{"type":426,"tag":553,"props":139600,"children":139601},{"style":566},[139602],{"type":431,"value":895},{"type":426,"tag":553,"props":139604,"children":139605},{"style":684},[139606],{"type":431,"value":900},{"type":426,"tag":553,"props":139608,"children":139609},{"style":566},[139610],{"type":431,"value":857},{"type":426,"tag":553,"props":139612,"children":139613},{"style":684},[139614],{"type":431,"value":909},{"type":426,"tag":553,"props":139616,"children":139617},{"class":555,"line":1210},[139618],{"type":426,"tag":553,"props":139619,"children":139620},{"style":572},[139621],{"type":431,"value":139622},"        \"\"\"Send a text message.\"\"\"\n",{"type":426,"tag":553,"props":139624,"children":139625},{"class":555,"line":1253},[139626,139630,139634,139638],{"type":426,"tag":553,"props":139627,"children":139628},{"style":684},[139629],{"type":431,"value":12557},{"type":426,"tag":553,"props":139631,"children":139632},{"style":795},[139633],{"type":431,"value":957},{"type":426,"tag":553,"props":139635,"children":139636},{"style":566},[139637],{"type":431,"value":12033},{"type":426,"tag":553,"props":139639,"children":139640},{"style":684},[139641],{"type":431,"value":139642},".session.post(\n",{"type":426,"tag":553,"props":139644,"children":139645},{"class":555,"line":1302},[139646,139650,139654,139658,139662,139667,139672],{"type":426,"tag":553,"props":139647,"children":139648},{"style":795},[139649],{"type":431,"value":3740},{"type":426,"tag":553,"props":139651,"children":139652},{"style":572},[139653],{"type":431,"value":1527},{"type":426,"tag":553,"props":139655,"children":139656},{"style":566},[139657],{"type":431,"value":35913},{"type":426,"tag":553,"props":139659,"children":139660},{"style":684},[139661],{"type":431,"value":6789},{"type":426,"tag":553,"props":139663,"children":139664},{"style":566},[139665],{"type":431,"value":139666},"BASE_URL}",{"type":426,"tag":553,"props":139668,"children":139669},{"style":572},[139670],{"type":431,"value":139671},"\u002Fsend-message\"",{"type":426,"tag":553,"props":139673,"children":139674},{"style":684},[139675],{"type":431,"value":710},{"type":426,"tag":553,"props":139677,"children":139678},{"class":555,"line":1374},[139679,139683,139687,139691,139695,139699,139703],{"type":426,"tag":553,"props":139680,"children":139681},{"style":1684},[139682],{"type":431,"value":2916},{"type":426,"tag":553,"props":139684,"children":139685},{"style":795},[139686],{"type":431,"value":957},{"type":426,"tag":553,"props":139688,"children":139689},{"style":684},[139690],{"type":431,"value":972},{"type":426,"tag":553,"props":139692,"children":139693},{"style":572},[139694],{"type":431,"value":45266},{"type":426,"tag":553,"props":139696,"children":139697},{"style":684},[139698],{"type":431,"value":8931},{"type":426,"tag":553,"props":139700,"children":139701},{"style":572},[139702],{"type":431,"value":45275},{"type":426,"tag":553,"props":139704,"children":139705},{"style":684},[139706],{"type":431,"value":1784},{"type":426,"tag":553,"props":139708,"children":139709},{"class":555,"line":1414},[139710],{"type":426,"tag":553,"props":139711,"children":139712},{"style":684},[139713],{"type":431,"value":6037},{"type":426,"tag":553,"props":139715,"children":139716},{"class":555,"line":1479},[139717],{"type":426,"tag":553,"props":139718,"children":139719},{"style":684},[139720],{"type":431,"value":139721},"        response.raise_for_status()\n",{"type":426,"tag":553,"props":139723,"children":139724},{"class":555,"line":1517},[139725,139729],{"type":426,"tag":553,"props":139726,"children":139727},{"style":795},[139728],{"type":431,"value":8378},{"type":426,"tag":553,"props":139730,"children":139731},{"style":684},[139732],{"type":431,"value":9193},{"type":426,"tag":553,"props":139734,"children":139735},{"class":555,"line":1560},[139736],{"type":426,"tag":553,"props":139737,"children":139738},{"style":684},[139739],{"type":431,"value":917},{"type":426,"tag":553,"props":139741,"children":139742},{"class":555,"line":1598},[139743,139747,139752,139756,139760,139764,139768,139772,139776,139780,139784,139788,139792],{"type":426,"tag":553,"props":139744,"children":139745},{"style":795},[139746],{"type":431,"value":11926},{"type":426,"tag":553,"props":139748,"children":139749},{"style":560},[139750],{"type":431,"value":139751}," send_image",{"type":426,"tag":553,"props":139753,"children":139754},{"style":684},[139755],{"type":431,"value":16783},{"type":426,"tag":553,"props":139757,"children":139758},{"style":566},[139759],{"type":431,"value":895},{"type":426,"tag":553,"props":139761,"children":139762},{"style":684},[139763],{"type":431,"value":78823},{"type":426,"tag":553,"props":139765,"children":139766},{"style":566},[139767],{"type":431,"value":895},{"type":426,"tag":553,"props":139769,"children":139770},{"style":684},[139771],{"type":431,"value":78832},{"type":426,"tag":553,"props":139773,"children":139774},{"style":566},[139775],{"type":431,"value":895},{"type":426,"tag":553,"props":139777,"children":139778},{"style":795},[139779],{"type":431,"value":8739},{"type":426,"tag":553,"props":139781,"children":139782},{"style":572},[139783],{"type":431,"value":76413},{"type":426,"tag":553,"props":139785,"children":139786},{"style":684},[139787],{"type":431,"value":900},{"type":426,"tag":553,"props":139789,"children":139790},{"style":566},[139791],{"type":431,"value":857},{"type":426,"tag":553,"props":139793,"children":139794},{"style":684},[139795],{"type":431,"value":909},{"type":426,"tag":553,"props":139797,"children":139798},{"class":555,"line":1636},[139799],{"type":426,"tag":553,"props":139800,"children":139801},{"style":572},[139802],{"type":431,"value":139803},"        \"\"\"Send an image with optional caption.\"\"\"\n",{"type":426,"tag":553,"props":139805,"children":139806},{"class":555,"line":1645},[139807,139811,139815,139819,139823,139827,139832],{"type":426,"tag":553,"props":139808,"children":139809},{"style":684},[139810],{"type":431,"value":13413},{"type":426,"tag":553,"props":139812,"children":139813},{"style":795},[139814],{"type":431,"value":957},{"type":426,"tag":553,"props":139816,"children":139817},{"style":684},[139818],{"type":431,"value":1450},{"type":426,"tag":553,"props":139820,"children":139821},{"style":572},[139822],{"type":431,"value":45266},{"type":426,"tag":553,"props":139824,"children":139825},{"style":684},[139826],{"type":431,"value":8931},{"type":426,"tag":553,"props":139828,"children":139829},{"style":572},[139830],{"type":431,"value":139831},"\"image\"",{"type":426,"tag":553,"props":139833,"children":139834},{"style":684},[139835],{"type":431,"value":139836},": image_url}\n",{"type":426,"tag":553,"props":139838,"children":139839},{"class":555,"line":1653},[139840,139844],{"type":426,"tag":553,"props":139841,"children":139842},{"style":795},[139843],{"type":431,"value":2972},{"type":426,"tag":553,"props":139845,"children":139846},{"style":684},[139847],{"type":431,"value":139848}," caption:\n",{"type":426,"tag":553,"props":139850,"children":139851},{"class":555,"line":1667},[139852,139857,139862,139866,139870],{"type":426,"tag":553,"props":139853,"children":139854},{"style":684},[139855],{"type":431,"value":139856},"            payload[",{"type":426,"tag":553,"props":139858,"children":139859},{"style":572},[139860],{"type":431,"value":139861},"\"caption\"",{"type":426,"tag":553,"props":139863,"children":139864},{"style":684},[139865],{"type":431,"value":2229},{"type":426,"tag":553,"props":139867,"children":139868},{"style":795},[139869],{"type":431,"value":957},{"type":426,"tag":553,"props":139871,"children":139872},{"style":684},[139873],{"type":431,"value":139874}," caption\n",{"type":426,"tag":553,"props":139876,"children":139877},{"class":555,"line":1680},[139878,139882,139886,139890,139895,139899,139903,139907,139911,139915,139919,139923,139927,139931],{"type":426,"tag":553,"props":139879,"children":139880},{"style":684},[139881],{"type":431,"value":12557},{"type":426,"tag":553,"props":139883,"children":139884},{"style":795},[139885],{"type":431,"value":957},{"type":426,"tag":553,"props":139887,"children":139888},{"style":566},[139889],{"type":431,"value":12033},{"type":426,"tag":553,"props":139891,"children":139892},{"style":684},[139893],{"type":431,"value":139894},".session.post(",{"type":426,"tag":553,"props":139896,"children":139897},{"style":795},[139898],{"type":431,"value":1709},{"type":426,"tag":553,"props":139900,"children":139901},{"style":572},[139902],{"type":431,"value":1527},{"type":426,"tag":553,"props":139904,"children":139905},{"style":566},[139906],{"type":431,"value":35913},{"type":426,"tag":553,"props":139908,"children":139909},{"style":684},[139910],{"type":431,"value":6789},{"type":426,"tag":553,"props":139912,"children":139913},{"style":566},[139914],{"type":431,"value":139666},{"type":426,"tag":553,"props":139916,"children":139917},{"style":572},[139918],{"type":431,"value":139671},{"type":426,"tag":553,"props":139920,"children":139921},{"style":684},[139922],{"type":431,"value":1907},{"type":426,"tag":553,"props":139924,"children":139925},{"style":1684},[139926],{"type":431,"value":673},{"type":426,"tag":553,"props":139928,"children":139929},{"style":795},[139930],{"type":431,"value":957},{"type":426,"tag":553,"props":139932,"children":139933},{"style":684},[139934],{"type":431,"value":113381},{"type":426,"tag":553,"props":139936,"children":139937},{"class":555,"line":1740},[139938],{"type":426,"tag":553,"props":139939,"children":139940},{"style":684},[139941],{"type":431,"value":139721},{"type":426,"tag":553,"props":139943,"children":139944},{"class":555,"line":1787},[139945,139949],{"type":426,"tag":553,"props":139946,"children":139947},{"style":795},[139948],{"type":431,"value":8378},{"type":426,"tag":553,"props":139950,"children":139951},{"style":684},[139952],{"type":431,"value":9193},{"type":426,"tag":553,"props":139954,"children":139955},{"class":555,"line":1796},[139956],{"type":426,"tag":553,"props":139957,"children":139958},{"style":684},[139959],{"type":431,"value":917},{"type":426,"tag":553,"props":139961,"children":139962},{"class":555,"line":1804},[139963,139967,139972,139976,139980,139985,139989,139993,139997,140001,140005,140009,140013,140017,140021],{"type":426,"tag":553,"props":139964,"children":139965},{"style":795},[139966],{"type":431,"value":11926},{"type":426,"tag":553,"props":139968,"children":139969},{"style":560},[139970],{"type":431,"value":139971}," send_document",{"type":426,"tag":553,"props":139973,"children":139974},{"style":684},[139975],{"type":431,"value":16783},{"type":426,"tag":553,"props":139977,"children":139978},{"style":566},[139979],{"type":431,"value":895},{"type":426,"tag":553,"props":139981,"children":139982},{"style":684},[139983],{"type":431,"value":139984},", doc_url: ",{"type":426,"tag":553,"props":139986,"children":139987},{"style":566},[139988],{"type":431,"value":895},{"type":426,"tag":553,"props":139990,"children":139991},{"style":684},[139992],{"type":431,"value":79638},{"type":426,"tag":553,"props":139994,"children":139995},{"style":566},[139996],{"type":431,"value":895},{"type":426,"tag":553,"props":139998,"children":139999},{"style":684},[140000],{"type":431,"value":78832},{"type":426,"tag":553,"props":140002,"children":140003},{"style":566},[140004],{"type":431,"value":895},{"type":426,"tag":553,"props":140006,"children":140007},{"style":795},[140008],{"type":431,"value":8739},{"type":426,"tag":553,"props":140010,"children":140011},{"style":572},[140012],{"type":431,"value":76413},{"type":426,"tag":553,"props":140014,"children":140015},{"style":684},[140016],{"type":431,"value":900},{"type":426,"tag":553,"props":140018,"children":140019},{"style":566},[140020],{"type":431,"value":857},{"type":426,"tag":553,"props":140022,"children":140023},{"style":684},[140024],{"type":431,"value":909},{"type":426,"tag":553,"props":140026,"children":140027},{"class":555,"line":1812},[140028],{"type":426,"tag":553,"props":140029,"children":140030},{"style":572},[140031],{"type":431,"value":140032},"        \"\"\"Send a document (PDF, DOCX, etc.).\"\"\"\n",{"type":426,"tag":553,"props":140034,"children":140035},{"class":555,"line":1847},[140036,140040,140044,140048,140052,140056,140061,140066,140071],{"type":426,"tag":553,"props":140037,"children":140038},{"style":684},[140039],{"type":431,"value":13413},{"type":426,"tag":553,"props":140041,"children":140042},{"style":795},[140043],{"type":431,"value":957},{"type":426,"tag":553,"props":140045,"children":140046},{"style":684},[140047],{"type":431,"value":1450},{"type":426,"tag":553,"props":140049,"children":140050},{"style":572},[140051],{"type":431,"value":45266},{"type":426,"tag":553,"props":140053,"children":140054},{"style":684},[140055],{"type":431,"value":8931},{"type":426,"tag":553,"props":140057,"children":140058},{"style":572},[140059],{"type":431,"value":140060},"\"document\"",{"type":426,"tag":553,"props":140062,"children":140063},{"style":684},[140064],{"type":431,"value":140065},": doc_url, ",{"type":426,"tag":553,"props":140067,"children":140068},{"style":572},[140069],{"type":431,"value":140070},"\"filename\"",{"type":426,"tag":553,"props":140072,"children":140073},{"style":684},[140074],{"type":431,"value":140075},": filename}\n",{"type":426,"tag":553,"props":140077,"children":140078},{"class":555,"line":1856},[140079,140083],{"type":426,"tag":553,"props":140080,"children":140081},{"style":795},[140082],{"type":431,"value":2972},{"type":426,"tag":553,"props":140084,"children":140085},{"style":684},[140086],{"type":431,"value":139848},{"type":426,"tag":553,"props":140088,"children":140089},{"class":555,"line":1874},[140090,140094,140098,140102,140106],{"type":426,"tag":553,"props":140091,"children":140092},{"style":684},[140093],{"type":431,"value":139856},{"type":426,"tag":553,"props":140095,"children":140096},{"style":572},[140097],{"type":431,"value":139861},{"type":426,"tag":553,"props":140099,"children":140100},{"style":684},[140101],{"type":431,"value":2229},{"type":426,"tag":553,"props":140103,"children":140104},{"style":795},[140105],{"type":431,"value":957},{"type":426,"tag":553,"props":140107,"children":140108},{"style":684},[140109],{"type":431,"value":139874},{"type":426,"tag":553,"props":140111,"children":140112},{"class":555,"line":1882},[140113,140117,140121,140125,140129,140133,140137,140141,140145,140149,140153,140157,140161,140165],{"type":426,"tag":553,"props":140114,"children":140115},{"style":684},[140116],{"type":431,"value":12557},{"type":426,"tag":553,"props":140118,"children":140119},{"style":795},[140120],{"type":431,"value":957},{"type":426,"tag":553,"props":140122,"children":140123},{"style":566},[140124],{"type":431,"value":12033},{"type":426,"tag":553,"props":140126,"children":140127},{"style":684},[140128],{"type":431,"value":139894},{"type":426,"tag":553,"props":140130,"children":140131},{"style":795},[140132],{"type":431,"value":1709},{"type":426,"tag":553,"props":140134,"children":140135},{"style":572},[140136],{"type":431,"value":1527},{"type":426,"tag":553,"props":140138,"children":140139},{"style":566},[140140],{"type":431,"value":35913},{"type":426,"tag":553,"props":140142,"children":140143},{"style":684},[140144],{"type":431,"value":6789},{"type":426,"tag":553,"props":140146,"children":140147},{"style":566},[140148],{"type":431,"value":139666},{"type":426,"tag":553,"props":140150,"children":140151},{"style":572},[140152],{"type":431,"value":139671},{"type":426,"tag":553,"props":140154,"children":140155},{"style":684},[140156],{"type":431,"value":1907},{"type":426,"tag":553,"props":140158,"children":140159},{"style":1684},[140160],{"type":431,"value":673},{"type":426,"tag":553,"props":140162,"children":140163},{"style":795},[140164],{"type":431,"value":957},{"type":426,"tag":553,"props":140166,"children":140167},{"style":684},[140168],{"type":431,"value":113381},{"type":426,"tag":553,"props":140170,"children":140171},{"class":555,"line":1981},[140172],{"type":426,"tag":553,"props":140173,"children":140174},{"style":684},[140175],{"type":431,"value":139721},{"type":426,"tag":553,"props":140177,"children":140178},{"class":555,"line":1989},[140179,140183],{"type":426,"tag":553,"props":140180,"children":140181},{"style":795},[140182],{"type":431,"value":8378},{"type":426,"tag":553,"props":140184,"children":140185},{"style":684},[140186],{"type":431,"value":9193},{"type":426,"tag":553,"props":140188,"children":140189},{"class":555,"line":2013},[140190],{"type":426,"tag":553,"props":140191,"children":140192},{"style":684},[140193],{"type":431,"value":917},{"type":426,"tag":553,"props":140195,"children":140196},{"class":555,"line":2055},[140197,140201,140206,140210,140214,140218,140222],{"type":426,"tag":553,"props":140198,"children":140199},{"style":795},[140200],{"type":431,"value":11926},{"type":426,"tag":553,"props":140202,"children":140203},{"style":560},[140204],{"type":431,"value":140205}," check_number",{"type":426,"tag":553,"props":140207,"children":140208},{"style":684},[140209],{"type":431,"value":16783},{"type":426,"tag":553,"props":140211,"children":140212},{"style":566},[140213],{"type":431,"value":895},{"type":426,"tag":553,"props":140215,"children":140216},{"style":684},[140217],{"type":431,"value":900},{"type":426,"tag":553,"props":140219,"children":140220},{"style":566},[140221],{"type":431,"value":857},{"type":426,"tag":553,"props":140223,"children":140224},{"style":684},[140225],{"type":431,"value":909},{"type":426,"tag":553,"props":140227,"children":140228},{"class":555,"line":2064},[140229],{"type":426,"tag":553,"props":140230,"children":140231},{"style":572},[140232],{"type":431,"value":140233},"        \"\"\"Check if a phone number is registered on WhatsApp.\"\"\"\n",{"type":426,"tag":553,"props":140235,"children":140236},{"class":555,"line":2087},[140237,140241,140245,140249],{"type":426,"tag":553,"props":140238,"children":140239},{"style":684},[140240],{"type":431,"value":12557},{"type":426,"tag":553,"props":140242,"children":140243},{"style":795},[140244],{"type":431,"value":957},{"type":426,"tag":553,"props":140246,"children":140247},{"style":566},[140248],{"type":431,"value":12033},{"type":426,"tag":553,"props":140250,"children":140251},{"style":684},[140252],{"type":431,"value":140253},".session.get(\n",{"type":426,"tag":553,"props":140255,"children":140256},{"class":555,"line":2096},[140257,140261,140265,140269,140273,140277,140282],{"type":426,"tag":553,"props":140258,"children":140259},{"style":795},[140260],{"type":431,"value":3740},{"type":426,"tag":553,"props":140262,"children":140263},{"style":572},[140264],{"type":431,"value":1527},{"type":426,"tag":553,"props":140266,"children":140267},{"style":566},[140268],{"type":431,"value":35913},{"type":426,"tag":553,"props":140270,"children":140271},{"style":684},[140272],{"type":431,"value":6789},{"type":426,"tag":553,"props":140274,"children":140275},{"style":566},[140276],{"type":431,"value":139666},{"type":426,"tag":553,"props":140278,"children":140279},{"style":572},[140280],{"type":431,"value":140281},"\u002Fcheck-number\"",{"type":426,"tag":553,"props":140283,"children":140284},{"style":684},[140285],{"type":431,"value":710},{"type":426,"tag":553,"props":140287,"children":140288},{"class":555,"line":2105},[140289,140294,140298,140302,140306],{"type":426,"tag":553,"props":140290,"children":140291},{"style":1684},[140292],{"type":431,"value":140293},"            params",{"type":426,"tag":553,"props":140295,"children":140296},{"style":795},[140297],{"type":431,"value":957},{"type":426,"tag":553,"props":140299,"children":140300},{"style":684},[140301],{"type":431,"value":972},{"type":426,"tag":553,"props":140303,"children":140304},{"style":572},[140305],{"type":431,"value":45266},{"type":426,"tag":553,"props":140307,"children":140308},{"style":684},[140309],{"type":431,"value":140310},": phone}\n",{"type":426,"tag":553,"props":140312,"children":140313},{"class":555,"line":2114},[140314],{"type":426,"tag":553,"props":140315,"children":140316},{"style":684},[140317],{"type":431,"value":6037},{"type":426,"tag":553,"props":140319,"children":140320},{"class":555,"line":2123},[140321],{"type":426,"tag":553,"props":140322,"children":140323},{"style":684},[140324],{"type":431,"value":139721},{"type":426,"tag":553,"props":140326,"children":140327},{"class":555,"line":2132},[140328,140332],{"type":426,"tag":553,"props":140329,"children":140330},{"style":795},[140331],{"type":431,"value":8378},{"type":426,"tag":553,"props":140333,"children":140334},{"style":684},[140335],{"type":431,"value":9193},{"type":426,"tag":553,"props":140337,"children":140338},{"class":555,"line":2151},[140339],{"type":426,"tag":553,"props":140340,"children":140341},{"emptyLinePlaceholder":831},[140342],{"type":431,"value":834},{"type":426,"tag":553,"props":140344,"children":140345},{"class":555,"line":2160},[140346],{"type":426,"tag":553,"props":140347,"children":140348},{"style":1975},[140349],{"type":431,"value":34179},{"type":426,"tag":553,"props":140351,"children":140352},{"class":555,"line":2174},[140353,140358,140362,140367,140371],{"type":426,"tag":553,"props":140354,"children":140355},{"style":684},[140356],{"type":431,"value":140357},"client ",{"type":426,"tag":553,"props":140359,"children":140360},{"style":795},[140361],{"type":431,"value":957},{"type":426,"tag":553,"props":140363,"children":140364},{"style":684},[140365],{"type":431,"value":140366}," RapiwaClient(",{"type":426,"tag":553,"props":140368,"children":140369},{"style":572},[140370],{"type":431,"value":68341},{"type":426,"tag":553,"props":140372,"children":140373},{"style":684},[140374],{"type":431,"value":3262},{"type":426,"tag":553,"props":140376,"children":140377},{"class":555,"line":2182},[140378,140382,140386,140391,140395,140399,140403],{"type":426,"tag":553,"props":140379,"children":140380},{"style":684},[140381],{"type":431,"value":3146},{"type":426,"tag":553,"props":140383,"children":140384},{"style":795},[140385],{"type":431,"value":957},{"type":426,"tag":553,"props":140387,"children":140388},{"style":684},[140389],{"type":431,"value":140390}," client.send_text(",{"type":426,"tag":553,"props":140392,"children":140393},{"style":572},[140394],{"type":431,"value":7286},{"type":426,"tag":553,"props":140396,"children":140397},{"style":684},[140398],{"type":431,"value":1907},{"type":426,"tag":553,"props":140400,"children":140401},{"style":572},[140402],{"type":431,"value":135014},{"type":426,"tag":553,"props":140404,"children":140405},{"style":684},[140406],{"type":431,"value":3262},{"type":426,"tag":553,"props":140408,"children":140409},{"class":555,"line":2205},[140410,140414],{"type":426,"tag":553,"props":140411,"children":140412},{"style":566},[140413],{"type":431,"value":3270},{"type":426,"tag":553,"props":140415,"children":140416},{"style":684},[140417],{"type":431,"value":79174},{"type":426,"tag":434,"props":140419,"children":140421},{"id":140420},"step-3-send-different-message-types",[140422],{"type":431,"value":140423},"Step 3: Send Different Message Types",{"type":426,"tag":542,"props":140425,"children":140427},{"className":785,"code":140426,"language":784,"meta":417,"style":417},"client = RapiwaClient(\"YOUR_API_KEY\")\n\n# Text with WhatsApp formatting\nclient.send_text(\"8801234567890\", \n    \"*Bold text*\\n_Italic text_\\n~Strikethrough~\\n`Monospace`\"\n)\n\n# Image with caption\nclient.send_image(\"8801234567890\",\n    \"https:\u002F\u002Fyourstore.com\u002Fproduct.jpg\",\n    caption=\"Check out our new product!\"\n)\n\n# PDF invoice\nclient.send_document(\"8801234567890\",\n    \"https:\u002F\u002Fyourstore.com\u002Finvoices\u002FINV-001.pdf\",\n    filename=\"Invoice_001.pdf\",\n    caption=\"Your invoice is attached.\"\n)\n\n# Location\nrequests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n    json={\n        \"number\": \"8801234567890\",\n        \"latitude\": 23.8103,\n        \"longitude\": 90.4125,\n        \"locationName\": \"Our Store — Dhaka\"\n    }\n)\n",[140428],{"type":426,"tag":549,"props":140429,"children":140430},{"__ignoreMap":417},[140431,140454,140461,140469,140485,140520,140527,140534,140542,140558,140570,140586,140593,140600,140608,140624,140636,140656,140672,140679,140686,140694,140710,140742,140757,140777,140798,140819,140836,140843],{"type":426,"tag":553,"props":140432,"children":140433},{"class":555,"line":556},[140434,140438,140442,140446,140450],{"type":426,"tag":553,"props":140435,"children":140436},{"style":684},[140437],{"type":431,"value":140357},{"type":426,"tag":553,"props":140439,"children":140440},{"style":795},[140441],{"type":431,"value":957},{"type":426,"tag":553,"props":140443,"children":140444},{"style":684},[140445],{"type":431,"value":140366},{"type":426,"tag":553,"props":140447,"children":140448},{"style":572},[140449],{"type":431,"value":68341},{"type":426,"tag":553,"props":140451,"children":140452},{"style":684},[140453],{"type":431,"value":3262},{"type":426,"tag":553,"props":140455,"children":140456},{"class":555,"line":588},[140457],{"type":426,"tag":553,"props":140458,"children":140459},{"emptyLinePlaceholder":831},[140460],{"type":431,"value":834},{"type":426,"tag":553,"props":140462,"children":140463},{"class":555,"line":606},[140464],{"type":426,"tag":553,"props":140465,"children":140466},{"style":1975},[140467],{"type":431,"value":140468},"# Text with WhatsApp formatting\n",{"type":426,"tag":553,"props":140470,"children":140471},{"class":555,"line":623},[140472,140477,140481],{"type":426,"tag":553,"props":140473,"children":140474},{"style":684},[140475],{"type":431,"value":140476},"client.send_text(",{"type":426,"tag":553,"props":140478,"children":140479},{"style":572},[140480],{"type":431,"value":7286},{"type":426,"tag":553,"props":140482,"children":140483},{"style":684},[140484],{"type":431,"value":17901},{"type":426,"tag":553,"props":140486,"children":140487},{"class":555,"line":637},[140488,140493,140497,140502,140506,140511,140515],{"type":426,"tag":553,"props":140489,"children":140490},{"style":572},[140491],{"type":431,"value":140492},"    \"*Bold text*",{"type":426,"tag":553,"props":140494,"children":140495},{"style":566},[140496],{"type":431,"value":3661},{"type":426,"tag":553,"props":140498,"children":140499},{"style":572},[140500],{"type":431,"value":140501},"_Italic text_",{"type":426,"tag":553,"props":140503,"children":140504},{"style":566},[140505],{"type":431,"value":3661},{"type":426,"tag":553,"props":140507,"children":140508},{"style":572},[140509],{"type":431,"value":140510},"~Strikethrough~",{"type":426,"tag":553,"props":140512,"children":140513},{"style":566},[140514],{"type":431,"value":3661},{"type":426,"tag":553,"props":140516,"children":140517},{"style":572},[140518],{"type":431,"value":140519},"`Monospace`\"\n",{"type":426,"tag":553,"props":140521,"children":140522},{"class":555,"line":646},[140523],{"type":426,"tag":553,"props":140524,"children":140525},{"style":684},[140526],{"type":431,"value":3262},{"type":426,"tag":553,"props":140528,"children":140529},{"class":555,"line":655},[140530],{"type":426,"tag":553,"props":140531,"children":140532},{"emptyLinePlaceholder":831},[140533],{"type":431,"value":834},{"type":426,"tag":553,"props":140535,"children":140536},{"class":555,"line":1036},[140537],{"type":426,"tag":553,"props":140538,"children":140539},{"style":1975},[140540],{"type":431,"value":140541},"# Image with caption\n",{"type":426,"tag":553,"props":140543,"children":140544},{"class":555,"line":1054},[140545,140550,140554],{"type":426,"tag":553,"props":140546,"children":140547},{"style":684},[140548],{"type":431,"value":140549},"client.send_image(",{"type":426,"tag":553,"props":140551,"children":140552},{"style":572},[140553],{"type":431,"value":7286},{"type":426,"tag":553,"props":140555,"children":140556},{"style":684},[140557],{"type":431,"value":710},{"type":426,"tag":553,"props":140559,"children":140560},{"class":555,"line":1080},[140561,140566],{"type":426,"tag":553,"props":140562,"children":140563},{"style":572},[140564],{"type":431,"value":140565},"    \"https:\u002F\u002Fyourstore.com\u002Fproduct.jpg\"",{"type":426,"tag":553,"props":140567,"children":140568},{"style":684},[140569],{"type":431,"value":710},{"type":426,"tag":553,"props":140571,"children":140572},{"class":555,"line":1097},[140573,140577,140581],{"type":426,"tag":553,"props":140574,"children":140575},{"style":1684},[140576],{"type":431,"value":79146},{"type":426,"tag":553,"props":140578,"children":140579},{"style":795},[140580],{"type":431,"value":957},{"type":426,"tag":553,"props":140582,"children":140583},{"style":572},[140584],{"type":431,"value":140585},"\"Check out our new product!\"\n",{"type":426,"tag":553,"props":140587,"children":140588},{"class":555,"line":1114},[140589],{"type":426,"tag":553,"props":140590,"children":140591},{"style":684},[140592],{"type":431,"value":3262},{"type":426,"tag":553,"props":140594,"children":140595},{"class":555,"line":1127},[140596],{"type":426,"tag":553,"props":140597,"children":140598},{"emptyLinePlaceholder":831},[140599],{"type":431,"value":834},{"type":426,"tag":553,"props":140601,"children":140602},{"class":555,"line":1167},[140603],{"type":426,"tag":553,"props":140604,"children":140605},{"style":1975},[140606],{"type":431,"value":140607},"# PDF invoice\n",{"type":426,"tag":553,"props":140609,"children":140610},{"class":555,"line":1184},[140611,140616,140620],{"type":426,"tag":553,"props":140612,"children":140613},{"style":684},[140614],{"type":431,"value":140615},"client.send_document(",{"type":426,"tag":553,"props":140617,"children":140618},{"style":572},[140619],{"type":431,"value":7286},{"type":426,"tag":553,"props":140621,"children":140622},{"style":684},[140623],{"type":431,"value":710},{"type":426,"tag":553,"props":140625,"children":140626},{"class":555,"line":1192},[140627,140632],{"type":426,"tag":553,"props":140628,"children":140629},{"style":572},[140630],{"type":431,"value":140631},"    \"https:\u002F\u002Fyourstore.com\u002Finvoices\u002FINV-001.pdf\"",{"type":426,"tag":553,"props":140633,"children":140634},{"style":684},[140635],{"type":431,"value":710},{"type":426,"tag":553,"props":140637,"children":140638},{"class":555,"line":1210},[140639,140643,140647,140652],{"type":426,"tag":553,"props":140640,"children":140641},{"style":1684},[140642],{"type":431,"value":79903},{"type":426,"tag":553,"props":140644,"children":140645},{"style":795},[140646],{"type":431,"value":957},{"type":426,"tag":553,"props":140648,"children":140649},{"style":572},[140650],{"type":431,"value":140651},"\"Invoice_001.pdf\"",{"type":426,"tag":553,"props":140653,"children":140654},{"style":684},[140655],{"type":431,"value":710},{"type":426,"tag":553,"props":140657,"children":140658},{"class":555,"line":1253},[140659,140663,140667],{"type":426,"tag":553,"props":140660,"children":140661},{"style":1684},[140662],{"type":431,"value":79146},{"type":426,"tag":553,"props":140664,"children":140665},{"style":795},[140666],{"type":431,"value":957},{"type":426,"tag":553,"props":140668,"children":140669},{"style":572},[140670],{"type":431,"value":140671},"\"Your invoice is attached.\"\n",{"type":426,"tag":553,"props":140673,"children":140674},{"class":555,"line":1302},[140675],{"type":426,"tag":553,"props":140676,"children":140677},{"style":684},[140678],{"type":431,"value":3262},{"type":426,"tag":553,"props":140680,"children":140681},{"class":555,"line":1374},[140682],{"type":426,"tag":553,"props":140683,"children":140684},{"emptyLinePlaceholder":831},[140685],{"type":431,"value":834},{"type":426,"tag":553,"props":140687,"children":140688},{"class":555,"line":1414},[140689],{"type":426,"tag":553,"props":140690,"children":140691},{"style":1975},[140692],{"type":431,"value":140693},"# Location\n",{"type":426,"tag":553,"props":140695,"children":140696},{"class":555,"line":1479},[140697,140702,140706],{"type":426,"tag":553,"props":140698,"children":140699},{"style":684},[140700],{"type":431,"value":140701},"requests.post(",{"type":426,"tag":553,"props":140703,"children":140704},{"style":572},[140705],{"type":431,"value":60449},{"type":426,"tag":553,"props":140707,"children":140708},{"style":684},[140709],{"type":431,"value":710},{"type":426,"tag":553,"props":140711,"children":140712},{"class":555,"line":1517},[140713,140717,140721,140725,140729,140733,140738],{"type":426,"tag":553,"props":140714,"children":140715},{"style":1684},[140716],{"type":431,"value":139200},{"type":426,"tag":553,"props":140718,"children":140719},{"style":795},[140720],{"type":431,"value":957},{"type":426,"tag":553,"props":140722,"children":140723},{"style":684},[140724],{"type":431,"value":972},{"type":426,"tag":553,"props":140726,"children":140727},{"style":572},[140728],{"type":431,"value":45214},{"type":426,"tag":553,"props":140730,"children":140731},{"style":684},[140732],{"type":431,"value":700},{"type":426,"tag":553,"props":140734,"children":140735},{"style":572},[140736],{"type":431,"value":140737},"\"Bearer YOUR_API_KEY\"",{"type":426,"tag":553,"props":140739,"children":140740},{"style":684},[140741],{"type":431,"value":1737},{"type":426,"tag":553,"props":140743,"children":140744},{"class":555,"line":1560},[140745,140749,140753],{"type":426,"tag":553,"props":140746,"children":140747},{"style":1684},[140748],{"type":431,"value":139245},{"type":426,"tag":553,"props":140750,"children":140751},{"style":795},[140752],{"type":431,"value":957},{"type":426,"tag":553,"props":140754,"children":140755},{"style":684},[140756],{"type":431,"value":687},{"type":426,"tag":553,"props":140758,"children":140759},{"class":555,"line":1598},[140760,140765,140769,140773],{"type":426,"tag":553,"props":140761,"children":140762},{"style":572},[140763],{"type":431,"value":140764},"        \"number\"",{"type":426,"tag":553,"props":140766,"children":140767},{"style":684},[140768],{"type":431,"value":700},{"type":426,"tag":553,"props":140770,"children":140771},{"style":572},[140772],{"type":431,"value":7286},{"type":426,"tag":553,"props":140774,"children":140775},{"style":684},[140776],{"type":431,"value":710},{"type":426,"tag":553,"props":140778,"children":140779},{"class":555,"line":1636},[140780,140785,140789,140794],{"type":426,"tag":553,"props":140781,"children":140782},{"style":572},[140783],{"type":431,"value":140784},"        \"latitude\"",{"type":426,"tag":553,"props":140786,"children":140787},{"style":684},[140788],{"type":431,"value":700},{"type":426,"tag":553,"props":140790,"children":140791},{"style":566},[140792],{"type":431,"value":140793},"23.8103",{"type":426,"tag":553,"props":140795,"children":140796},{"style":684},[140797],{"type":431,"value":710},{"type":426,"tag":553,"props":140799,"children":140800},{"class":555,"line":1645},[140801,140806,140810,140815],{"type":426,"tag":553,"props":140802,"children":140803},{"style":572},[140804],{"type":431,"value":140805},"        \"longitude\"",{"type":426,"tag":553,"props":140807,"children":140808},{"style":684},[140809],{"type":431,"value":700},{"type":426,"tag":553,"props":140811,"children":140812},{"style":566},[140813],{"type":431,"value":140814},"90.4125",{"type":426,"tag":553,"props":140816,"children":140817},{"style":684},[140818],{"type":431,"value":710},{"type":426,"tag":553,"props":140820,"children":140821},{"class":555,"line":1653},[140822,140827,140831],{"type":426,"tag":553,"props":140823,"children":140824},{"style":572},[140825],{"type":431,"value":140826},"        \"locationName\"",{"type":426,"tag":553,"props":140828,"children":140829},{"style":684},[140830],{"type":431,"value":700},{"type":426,"tag":553,"props":140832,"children":140833},{"style":572},[140834],{"type":431,"value":140835},"\"Our Store — Dhaka\"\n",{"type":426,"tag":553,"props":140837,"children":140838},{"class":555,"line":1667},[140839],{"type":426,"tag":553,"props":140840,"children":140841},{"style":684},[140842],{"type":431,"value":5546},{"type":426,"tag":553,"props":140844,"children":140845},{"class":555,"line":1680},[140846],{"type":426,"tag":553,"props":140847,"children":140848},{"style":684},[140849],{"type":431,"value":3262},{"type":426,"tag":434,"props":140851,"children":140853},{"id":140852},"step-4-bulk-sending-with-error-handling",[140854],{"type":431,"value":140855},"Step 4: Bulk Sending with Error Handling",{"type":426,"tag":542,"props":140857,"children":140859},{"className":785,"code":140858,"language":784,"meta":417,"style":417},"import requests\nimport time\nimport logging\n\nlogging.basicConfig(level=logging.INFO)\nlogger = logging.getLogger(__name__)\n\ndef send_bulk_messages(contacts: list[dict], message_template: str, \n                        api_key: str, delay: float = 1.5) -> dict:\n    \"\"\"\n    Send personalized messages to multiple contacts.\n    \n    contacts: list of dicts with 'phone' and any template variables\n    message_template: string with {variable} placeholders\n    delay: seconds to wait between messages\n    \"\"\"\n    results = {\"success\": [], \"failed\": []}\n    \n    for i, contact in enumerate(contacts, 1):\n        try:\n            message = message_template.format(**contact)\n            response = requests.post(\n                \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n                headers={\"Authorization\": f\"Bearer {api_key}\"},\n                json={\"number\": contact[\"phone\"], \"message\": message},\n                timeout=10\n            )\n            response.raise_for_status()\n            data = response.json()\n            \n            if data.get(\"status\") == \"success\":\n                results[\"success\"].append(contact[\"phone\"])\n                logger.info(f\"[{i}\u002F{len(contacts)}] ✓ {contact['phone']}\")\n            else:\n                results[\"failed\"].append({\"phone\": contact[\"phone\"], \"error\": data})\n                \n        except requests.exceptions.RequestException as e:\n            logger.error(f\"[{i}\u002F{len(contacts)}] ✗ {contact['phone']}: {e}\")\n            results[\"failed\"].append({\"phone\": contact[\"phone\"], \"error\": str(e)})\n        \n        if i \u003C len(contacts):\n            time.sleep(delay)\n    \n    logger.info(f\"Done: {len(results['success'])} sent, {len(results['failed'])} failed\")\n    return results\n\n# Usage\ncontacts = [\n    {\"phone\": \"8801111111111\", \"name\": \"Alice\", \"order_id\": \"12345\"},\n    {\"phone\": \"8802222222222\", \"name\": \"Bob\", \"order_id\": \"12346\"},\n]\n\nresults = send_bulk_messages(\n    contacts,\n    message_template=\"Hi {name}! Your order #{order_id} is confirmed.\",\n    api_key=\"YOUR_API_KEY\"\n)\n",[140860],{"type":426,"tag":549,"props":140861,"children":140862},{"__ignoreMap":417},[140863,140874,140885,140896,140903,140930,140953,140960,140994,141035,141042,141050,141057,141065,141073,141081,141088,141121,141128,141161,141172,141195,141210,141221,141272,141311,141326,141333,141341,141357,141364,141395,141420,141500,141511,141552,141559,141579,141672,141720,141727,141751,141759,141766,141836,141847,141854,141861,141877,141935,141990,141997,142004,142021,142029,142067,142082],{"type":426,"tag":553,"props":140864,"children":140865},{"class":555,"line":556},[140866,140870],{"type":426,"tag":553,"props":140867,"children":140868},{"style":795},[140869],{"type":431,"value":798},{"type":426,"tag":553,"props":140871,"children":140872},{"style":684},[140873],{"type":431,"value":803},{"type":426,"tag":553,"props":140875,"children":140876},{"class":555,"line":588},[140877,140881],{"type":426,"tag":553,"props":140878,"children":140879},{"style":795},[140880],{"type":431,"value":798},{"type":426,"tag":553,"props":140882,"children":140883},{"style":684},[140884],{"type":431,"value":3081},{"type":426,"tag":553,"props":140886,"children":140887},{"class":555,"line":606},[140888,140892],{"type":426,"tag":553,"props":140889,"children":140890},{"style":795},[140891],{"type":431,"value":798},{"type":426,"tag":553,"props":140893,"children":140894},{"style":684},[140895],{"type":431,"value":63158},{"type":426,"tag":553,"props":140897,"children":140898},{"class":555,"line":623},[140899],{"type":426,"tag":553,"props":140900,"children":140901},{"emptyLinePlaceholder":831},[140902],{"type":431,"value":834},{"type":426,"tag":553,"props":140904,"children":140905},{"class":555,"line":637},[140906,140910,140914,140918,140922,140926],{"type":426,"tag":553,"props":140907,"children":140908},{"style":684},[140909],{"type":431,"value":63266},{"type":426,"tag":553,"props":140911,"children":140912},{"style":1684},[140913],{"type":431,"value":63271},{"type":426,"tag":553,"props":140915,"children":140916},{"style":795},[140917],{"type":431,"value":957},{"type":426,"tag":553,"props":140919,"children":140920},{"style":684},[140921],{"type":431,"value":63280},{"type":426,"tag":553,"props":140923,"children":140924},{"style":566},[140925],{"type":431,"value":63285},{"type":426,"tag":553,"props":140927,"children":140928},{"style":684},[140929],{"type":431,"value":3262},{"type":426,"tag":553,"props":140931,"children":140932},{"class":555,"line":646},[140933,140937,140941,140945,140949],{"type":426,"tag":553,"props":140934,"children":140935},{"style":684},[140936],{"type":431,"value":63297},{"type":426,"tag":553,"props":140938,"children":140939},{"style":795},[140940],{"type":431,"value":957},{"type":426,"tag":553,"props":140942,"children":140943},{"style":684},[140944],{"type":431,"value":63306},{"type":426,"tag":553,"props":140946,"children":140947},{"style":566},[140948],{"type":431,"value":13315},{"type":426,"tag":553,"props":140950,"children":140951},{"style":684},[140952],{"type":431,"value":3262},{"type":426,"tag":553,"props":140954,"children":140955},{"class":555,"line":655},[140956],{"type":426,"tag":553,"props":140957,"children":140958},{"emptyLinePlaceholder":831},[140959],{"type":431,"value":834},{"type":426,"tag":553,"props":140961,"children":140962},{"class":555,"line":1036},[140963,140967,140972,140977,140981,140986,140990],{"type":426,"tag":553,"props":140964,"children":140965},{"style":795},[140966],{"type":431,"value":842},{"type":426,"tag":553,"props":140968,"children":140969},{"style":560},[140970],{"type":431,"value":140971}," send_bulk_messages",{"type":426,"tag":553,"props":140973,"children":140974},{"style":684},[140975],{"type":431,"value":140976},"(contacts: list[",{"type":426,"tag":553,"props":140978,"children":140979},{"style":566},[140980],{"type":431,"value":857},{"type":426,"tag":553,"props":140982,"children":140983},{"style":684},[140984],{"type":431,"value":140985},"], message_template: ",{"type":426,"tag":553,"props":140987,"children":140988},{"style":566},[140989],{"type":431,"value":895},{"type":426,"tag":553,"props":140991,"children":140992},{"style":684},[140993],{"type":431,"value":17901},{"type":426,"tag":553,"props":140995,"children":140996},{"class":555,"line":1054},[140997,141002,141006,141011,141015,141019,141023,141027,141031],{"type":426,"tag":553,"props":140998,"children":140999},{"style":684},[141000],{"type":431,"value":141001},"                        api_key: ",{"type":426,"tag":553,"props":141003,"children":141004},{"style":566},[141005],{"type":431,"value":895},{"type":426,"tag":553,"props":141007,"children":141008},{"style":684},[141009],{"type":431,"value":141010},", delay: ",{"type":426,"tag":553,"props":141012,"children":141013},{"style":566},[141014],{"type":431,"value":15693},{"type":426,"tag":553,"props":141016,"children":141017},{"style":795},[141018],{"type":431,"value":8739},{"type":426,"tag":553,"props":141020,"children":141021},{"style":566},[141022],{"type":431,"value":9638},{"type":426,"tag":553,"props":141024,"children":141025},{"style":684},[141026],{"type":431,"value":900},{"type":426,"tag":553,"props":141028,"children":141029},{"style":566},[141030],{"type":431,"value":857},{"type":426,"tag":553,"props":141032,"children":141033},{"style":684},[141034],{"type":431,"value":909},{"type":426,"tag":553,"props":141036,"children":141037},{"class":555,"line":1080},[141038],{"type":426,"tag":553,"props":141039,"children":141040},{"style":572},[141041],{"type":431,"value":2673},{"type":426,"tag":553,"props":141043,"children":141044},{"class":555,"line":1097},[141045],{"type":426,"tag":553,"props":141046,"children":141047},{"style":572},[141048],{"type":431,"value":141049},"    Send personalized messages to multiple contacts.\n",{"type":426,"tag":553,"props":141051,"children":141052},{"class":555,"line":1114},[141053],{"type":426,"tag":553,"props":141054,"children":141055},{"style":572},[141056],{"type":431,"value":917},{"type":426,"tag":553,"props":141058,"children":141059},{"class":555,"line":1127},[141060],{"type":426,"tag":553,"props":141061,"children":141062},{"style":572},[141063],{"type":431,"value":141064},"    contacts: list of dicts with 'phone' and any template variables\n",{"type":426,"tag":553,"props":141066,"children":141067},{"class":555,"line":1167},[141068],{"type":426,"tag":553,"props":141069,"children":141070},{"style":572},[141071],{"type":431,"value":141072},"    message_template: string with {variable} placeholders\n",{"type":426,"tag":553,"props":141074,"children":141075},{"class":555,"line":1184},[141076],{"type":426,"tag":553,"props":141077,"children":141078},{"style":572},[141079],{"type":431,"value":141080},"    delay: seconds to wait between messages\n",{"type":426,"tag":553,"props":141082,"children":141083},{"class":555,"line":1192},[141084],{"type":426,"tag":553,"props":141085,"children":141086},{"style":572},[141087],{"type":431,"value":2673},{"type":426,"tag":553,"props":141089,"children":141090},{"class":555,"line":1210},[141091,141095,141099,141103,141107,141111,141116],{"type":426,"tag":553,"props":141092,"children":141093},{"style":684},[141094],{"type":431,"value":2758},{"type":426,"tag":553,"props":141096,"children":141097},{"style":795},[141098],{"type":431,"value":957},{"type":426,"tag":553,"props":141100,"children":141101},{"style":684},[141102],{"type":431,"value":1450},{"type":426,"tag":553,"props":141104,"children":141105},{"style":572},[141106],{"type":431,"value":705},{"type":426,"tag":553,"props":141108,"children":141109},{"style":684},[141110],{"type":431,"value":64127},{"type":426,"tag":553,"props":141112,"children":141113},{"style":572},[141114],{"type":431,"value":141115},"\"failed\"",{"type":426,"tag":553,"props":141117,"children":141118},{"style":684},[141119],{"type":431,"value":141120},": []}\n",{"type":426,"tag":553,"props":141122,"children":141123},{"class":555,"line":1253},[141124],{"type":426,"tag":553,"props":141125,"children":141126},{"style":684},[141127],{"type":431,"value":917},{"type":426,"tag":553,"props":141129,"children":141130},{"class":555,"line":1302},[141131,141135,141140,141144,141149,141153,141157],{"type":426,"tag":553,"props":141132,"children":141133},{"style":795},[141134],{"type":431,"value":1995},{"type":426,"tag":553,"props":141136,"children":141137},{"style":684},[141138],{"type":431,"value":141139}," i, contact ",{"type":426,"tag":553,"props":141141,"children":141142},{"style":795},[141143],{"type":431,"value":2005},{"type":426,"tag":553,"props":141145,"children":141146},{"style":566},[141147],{"type":431,"value":141148}," enumerate",{"type":426,"tag":553,"props":141150,"children":141151},{"style":684},[141152],{"type":431,"value":136843},{"type":426,"tag":553,"props":141154,"children":141155},{"style":566},[141156],{"type":431,"value":1921},{"type":426,"tag":553,"props":141158,"children":141159},{"style":684},[141160],{"type":431,"value":8370},{"type":426,"tag":553,"props":141162,"children":141163},{"class":555,"line":1374},[141164,141168],{"type":426,"tag":553,"props":141165,"children":141166},{"style":795},[141167],{"type":431,"value":8822},{"type":426,"tag":553,"props":141169,"children":141170},{"style":684},[141171],{"type":431,"value":909},{"type":426,"tag":553,"props":141173,"children":141174},{"class":555,"line":1414},[141175,141179,141183,141187,141191],{"type":426,"tag":553,"props":141176,"children":141177},{"style":684},[141178],{"type":431,"value":18017},{"type":426,"tag":553,"props":141180,"children":141181},{"style":795},[141182],{"type":431,"value":957},{"type":426,"tag":553,"props":141184,"children":141185},{"style":684},[141186],{"type":431,"value":18026},{"type":426,"tag":553,"props":141188,"children":141189},{"style":795},[141190],{"type":431,"value":13053},{"type":426,"tag":553,"props":141192,"children":141193},{"style":684},[141194],{"type":431,"value":18035},{"type":426,"tag":553,"props":141196,"children":141197},{"class":555,"line":1479},[141198,141202,141206],{"type":426,"tag":553,"props":141199,"children":141200},{"style":684},[141201],{"type":431,"value":8834},{"type":426,"tag":553,"props":141203,"children":141204},{"style":795},[141205],{"type":431,"value":957},{"type":426,"tag":553,"props":141207,"children":141208},{"style":684},[141209],{"type":431,"value":1664},{"type":426,"tag":553,"props":141211,"children":141212},{"class":555,"line":1517},[141213,141217],{"type":426,"tag":553,"props":141214,"children":141215},{"style":572},[141216],{"type":431,"value":116833},{"type":426,"tag":553,"props":141218,"children":141219},{"style":684},[141220],{"type":431,"value":710},{"type":426,"tag":553,"props":141222,"children":141223},{"class":555,"line":1560},[141224,141228,141232,141236,141240,141244,141248,141252,141256,141260,141264,141268],{"type":426,"tag":553,"props":141225,"children":141226},{"style":1684},[141227],{"type":431,"value":8862},{"type":426,"tag":553,"props":141229,"children":141230},{"style":795},[141231],{"type":431,"value":957},{"type":426,"tag":553,"props":141233,"children":141234},{"style":684},[141235],{"type":431,"value":972},{"type":426,"tag":553,"props":141237,"children":141238},{"style":572},[141239],{"type":431,"value":45214},{"type":426,"tag":553,"props":141241,"children":141242},{"style":684},[141243],{"type":431,"value":700},{"type":426,"tag":553,"props":141245,"children":141246},{"style":795},[141247],{"type":431,"value":1709},{"type":426,"tag":553,"props":141249,"children":141250},{"style":572},[141251],{"type":431,"value":12608},{"type":426,"tag":553,"props":141253,"children":141254},{"style":566},[141255],{"type":431,"value":972},{"type":426,"tag":553,"props":141257,"children":141258},{"style":684},[141259],{"type":431,"value":1723},{"type":426,"tag":553,"props":141261,"children":141262},{"style":566},[141263],{"type":431,"value":982},{"type":426,"tag":553,"props":141265,"children":141266},{"style":572},[141267],{"type":431,"value":1527},{"type":426,"tag":553,"props":141269,"children":141270},{"style":684},[141271],{"type":431,"value":1737},{"type":426,"tag":553,"props":141273,"children":141274},{"class":555,"line":1598},[141275,141279,141283,141287,141291,141295,141299,141303,141307],{"type":426,"tag":553,"props":141276,"children":141277},{"style":1684},[141278],{"type":431,"value":8914},{"type":426,"tag":553,"props":141280,"children":141281},{"style":795},[141282],{"type":431,"value":957},{"type":426,"tag":553,"props":141284,"children":141285},{"style":684},[141286],{"type":431,"value":972},{"type":426,"tag":553,"props":141288,"children":141289},{"style":572},[141290],{"type":431,"value":45266},{"type":426,"tag":553,"props":141292,"children":141293},{"style":684},[141294],{"type":431,"value":18086},{"type":426,"tag":553,"props":141296,"children":141297},{"style":572},[141298],{"type":431,"value":73482},{"type":426,"tag":553,"props":141300,"children":141301},{"style":684},[141302],{"type":431,"value":1774},{"type":426,"tag":553,"props":141304,"children":141305},{"style":572},[141306],{"type":431,"value":45275},{"type":426,"tag":553,"props":141308,"children":141309},{"style":684},[141310],{"type":431,"value":8940},{"type":426,"tag":553,"props":141312,"children":141313},{"class":555,"line":1636},[141314,141318,141322],{"type":426,"tag":553,"props":141315,"children":141316},{"style":1684},[141317],{"type":431,"value":8948},{"type":426,"tag":553,"props":141319,"children":141320},{"style":795},[141321],{"type":431,"value":957},{"type":426,"tag":553,"props":141323,"children":141324},{"style":566},[141325],{"type":431,"value":56966},{"type":426,"tag":553,"props":141327,"children":141328},{"class":555,"line":1645},[141329],{"type":426,"tag":553,"props":141330,"children":141331},{"style":684},[141332],{"type":431,"value":2551},{"type":426,"tag":553,"props":141334,"children":141335},{"class":555,"line":1653},[141336],{"type":426,"tag":553,"props":141337,"children":141338},{"style":684},[141339],{"type":431,"value":141340},"            response.raise_for_status()\n",{"type":426,"tag":553,"props":141342,"children":141343},{"class":555,"line":1667},[141344,141349,141353],{"type":426,"tag":553,"props":141345,"children":141346},{"style":684},[141347],{"type":431,"value":141348},"            data ",{"type":426,"tag":553,"props":141350,"children":141351},{"style":795},[141352],{"type":431,"value":957},{"type":426,"tag":553,"props":141354,"children":141355},{"style":684},[141356],{"type":431,"value":9193},{"type":426,"tag":553,"props":141358,"children":141359},{"class":555,"line":1680},[141360],{"type":426,"tag":553,"props":141361,"children":141362},{"style":684},[141363],{"type":431,"value":8972},{"type":426,"tag":553,"props":141365,"children":141366},{"class":555,"line":1740},[141367,141371,141375,141379,141383,141387,141391],{"type":426,"tag":553,"props":141368,"children":141369},{"style":795},[141370],{"type":431,"value":8980},{"type":426,"tag":553,"props":141372,"children":141373},{"style":684},[141374],{"type":431,"value":8311},{"type":426,"tag":553,"props":141376,"children":141377},{"style":572},[141378],{"type":431,"value":68957},{"type":426,"tag":553,"props":141380,"children":141381},{"style":684},[141382],{"type":431,"value":2987},{"type":426,"tag":553,"props":141384,"children":141385},{"style":795},[141386],{"type":431,"value":1069},{"type":426,"tag":553,"props":141388,"children":141389},{"style":572},[141390],{"type":431,"value":69054},{"type":426,"tag":553,"props":141392,"children":141393},{"style":684},[141394],{"type":431,"value":909},{"type":426,"tag":553,"props":141396,"children":141397},{"class":555,"line":1787},[141398,141403,141407,141412,141416],{"type":426,"tag":553,"props":141399,"children":141400},{"style":684},[141401],{"type":431,"value":141402},"                results[",{"type":426,"tag":553,"props":141404,"children":141405},{"style":572},[141406],{"type":431,"value":705},{"type":426,"tag":553,"props":141408,"children":141409},{"style":684},[141410],{"type":431,"value":141411},"].append(contact[",{"type":426,"tag":553,"props":141413,"children":141414},{"style":572},[141415],{"type":431,"value":73482},{"type":426,"tag":553,"props":141417,"children":141418},{"style":684},[141419],{"type":431,"value":8061},{"type":426,"tag":553,"props":141421,"children":141422},{"class":555,"line":1796},[141423,141428,141432,141437,141441,141445,141449,141453,141457,141462,141466,141471,141475,141480,141484,141488,141492,141496],{"type":426,"tag":553,"props":141424,"children":141425},{"style":684},[141426],{"type":431,"value":141427},"                logger.info(",{"type":426,"tag":553,"props":141429,"children":141430},{"style":795},[141431],{"type":431,"value":1709},{"type":426,"tag":553,"props":141433,"children":141434},{"style":572},[141435],{"type":431,"value":141436},"\"[",{"type":426,"tag":553,"props":141438,"children":141439},{"style":566},[141440],{"type":431,"value":972},{"type":426,"tag":553,"props":141442,"children":141443},{"style":684},[141444],{"type":431,"value":136400},{"type":426,"tag":553,"props":141446,"children":141447},{"style":566},[141448],{"type":431,"value":982},{"type":426,"tag":553,"props":141450,"children":141451},{"style":572},[141452],{"type":431,"value":18503},{"type":426,"tag":553,"props":141454,"children":141455},{"style":566},[141456],{"type":431,"value":58466},{"type":426,"tag":553,"props":141458,"children":141459},{"style":684},[141460],{"type":431,"value":141461},"(contacts)",{"type":426,"tag":553,"props":141463,"children":141464},{"style":566},[141465],{"type":431,"value":982},{"type":426,"tag":553,"props":141467,"children":141468},{"style":572},[141469],{"type":431,"value":141470},"] ✓ ",{"type":426,"tag":553,"props":141472,"children":141473},{"style":566},[141474],{"type":431,"value":972},{"type":426,"tag":553,"props":141476,"children":141477},{"style":684},[141478],{"type":431,"value":141479},"contact[",{"type":426,"tag":553,"props":141481,"children":141482},{"style":572},[141483],{"type":431,"value":1769},{"type":426,"tag":553,"props":141485,"children":141486},{"style":684},[141487],{"type":431,"value":1240},{"type":426,"tag":553,"props":141489,"children":141490},{"style":566},[141491],{"type":431,"value":982},{"type":426,"tag":553,"props":141493,"children":141494},{"style":572},[141495],{"type":431,"value":1527},{"type":426,"tag":553,"props":141497,"children":141498},{"style":684},[141499],{"type":431,"value":3262},{"type":426,"tag":553,"props":141501,"children":141502},{"class":555,"line":1804},[141503,141507],{"type":426,"tag":553,"props":141504,"children":141505},{"style":795},[141506],{"type":431,"value":22129},{"type":426,"tag":553,"props":141508,"children":141509},{"style":684},[141510],{"type":431,"value":909},{"type":426,"tag":553,"props":141512,"children":141513},{"class":555,"line":1812},[141514,141518,141522,141527,141531,141535,141539,141543,141547],{"type":426,"tag":553,"props":141515,"children":141516},{"style":684},[141517],{"type":431,"value":141402},{"type":426,"tag":553,"props":141519,"children":141520},{"style":572},[141521],{"type":431,"value":141115},{"type":426,"tag":553,"props":141523,"children":141524},{"style":684},[141525],{"type":431,"value":141526},"].append({",{"type":426,"tag":553,"props":141528,"children":141529},{"style":572},[141530],{"type":431,"value":73482},{"type":426,"tag":553,"props":141532,"children":141533},{"style":684},[141534],{"type":431,"value":18086},{"type":426,"tag":553,"props":141536,"children":141537},{"style":572},[141538],{"type":431,"value":73482},{"type":426,"tag":553,"props":141540,"children":141541},{"style":684},[141542],{"type":431,"value":1774},{"type":426,"tag":553,"props":141544,"children":141545},{"style":572},[141546],{"type":431,"value":122447},{"type":426,"tag":553,"props":141548,"children":141549},{"style":684},[141550],{"type":431,"value":141551},": data})\n",{"type":426,"tag":553,"props":141553,"children":141554},{"class":555,"line":1847},[141555],{"type":426,"tag":553,"props":141556,"children":141557},{"style":684},[141558],{"type":431,"value":117211},{"type":426,"tag":553,"props":141560,"children":141561},{"class":555,"line":1856},[141562,141566,141571,141575],{"type":426,"tag":553,"props":141563,"children":141564},{"style":795},[141565],{"type":431,"value":9208},{"type":426,"tag":553,"props":141567,"children":141568},{"style":684},[141569],{"type":431,"value":141570}," requests.exceptions.RequestException ",{"type":426,"tag":553,"props":141572,"children":141573},{"style":795},[141574],{"type":431,"value":10075},{"type":426,"tag":553,"props":141576,"children":141577},{"style":684},[141578],{"type":431,"value":13932},{"type":426,"tag":553,"props":141580,"children":141581},{"class":555,"line":1874},[141582,141587,141591,141595,141599,141603,141607,141611,141615,141619,141623,141628,141632,141636,141640,141644,141648,141652,141656,141660,141664,141668],{"type":426,"tag":553,"props":141583,"children":141584},{"style":684},[141585],{"type":431,"value":141586},"            logger.error(",{"type":426,"tag":553,"props":141588,"children":141589},{"style":795},[141590],{"type":431,"value":1709},{"type":426,"tag":553,"props":141592,"children":141593},{"style":572},[141594],{"type":431,"value":141436},{"type":426,"tag":553,"props":141596,"children":141597},{"style":566},[141598],{"type":431,"value":972},{"type":426,"tag":553,"props":141600,"children":141601},{"style":684},[141602],{"type":431,"value":136400},{"type":426,"tag":553,"props":141604,"children":141605},{"style":566},[141606],{"type":431,"value":982},{"type":426,"tag":553,"props":141608,"children":141609},{"style":572},[141610],{"type":431,"value":18503},{"type":426,"tag":553,"props":141612,"children":141613},{"style":566},[141614],{"type":431,"value":58466},{"type":426,"tag":553,"props":141616,"children":141617},{"style":684},[141618],{"type":431,"value":141461},{"type":426,"tag":553,"props":141620,"children":141621},{"style":566},[141622],{"type":431,"value":982},{"type":426,"tag":553,"props":141624,"children":141625},{"style":572},[141626],{"type":431,"value":141627},"] ✗ ",{"type":426,"tag":553,"props":141629,"children":141630},{"style":566},[141631],{"type":431,"value":972},{"type":426,"tag":553,"props":141633,"children":141634},{"style":684},[141635],{"type":431,"value":141479},{"type":426,"tag":553,"props":141637,"children":141638},{"style":572},[141639],{"type":431,"value":1769},{"type":426,"tag":553,"props":141641,"children":141642},{"style":684},[141643],{"type":431,"value":1240},{"type":426,"tag":553,"props":141645,"children":141646},{"style":566},[141647],{"type":431,"value":982},{"type":426,"tag":553,"props":141649,"children":141650},{"style":572},[141651],{"type":431,"value":700},{"type":426,"tag":553,"props":141653,"children":141654},{"style":566},[141655],{"type":431,"value":972},{"type":426,"tag":553,"props":141657,"children":141658},{"style":684},[141659],{"type":431,"value":14643},{"type":426,"tag":553,"props":141661,"children":141662},{"style":566},[141663],{"type":431,"value":982},{"type":426,"tag":553,"props":141665,"children":141666},{"style":572},[141667],{"type":431,"value":1527},{"type":426,"tag":553,"props":141669,"children":141670},{"style":684},[141671],{"type":431,"value":3262},{"type":426,"tag":553,"props":141673,"children":141674},{"class":555,"line":1882},[141675,141679,141683,141687,141691,141695,141699,141703,141707,141711,141715],{"type":426,"tag":553,"props":141676,"children":141677},{"style":684},[141678],{"type":431,"value":3008},{"type":426,"tag":553,"props":141680,"children":141681},{"style":572},[141682],{"type":431,"value":141115},{"type":426,"tag":553,"props":141684,"children":141685},{"style":684},[141686],{"type":431,"value":141526},{"type":426,"tag":553,"props":141688,"children":141689},{"style":572},[141690],{"type":431,"value":73482},{"type":426,"tag":553,"props":141692,"children":141693},{"style":684},[141694],{"type":431,"value":18086},{"type":426,"tag":553,"props":141696,"children":141697},{"style":572},[141698],{"type":431,"value":73482},{"type":426,"tag":553,"props":141700,"children":141701},{"style":684},[141702],{"type":431,"value":1774},{"type":426,"tag":553,"props":141704,"children":141705},{"style":572},[141706],{"type":431,"value":122447},{"type":426,"tag":553,"props":141708,"children":141709},{"style":684},[141710],{"type":431,"value":700},{"type":426,"tag":553,"props":141712,"children":141713},{"style":566},[141714],{"type":431,"value":895},{"type":426,"tag":553,"props":141716,"children":141717},{"style":684},[141718],{"type":431,"value":141719},"(e)})\n",{"type":426,"tag":553,"props":141721,"children":141722},{"class":555,"line":1981},[141723],{"type":426,"tag":553,"props":141724,"children":141725},{"style":684},[141726],{"type":431,"value":2061},{"type":426,"tag":553,"props":141728,"children":141729},{"class":555,"line":1989},[141730,141734,141738,141742,141746],{"type":426,"tag":553,"props":141731,"children":141732},{"style":795},[141733],{"type":431,"value":2972},{"type":426,"tag":553,"props":141735,"children":141736},{"style":684},[141737],{"type":431,"value":135921},{"type":426,"tag":553,"props":141739,"children":141740},{"style":795},[141741],{"type":431,"value":25949},{"type":426,"tag":553,"props":141743,"children":141744},{"style":566},[141745],{"type":431,"value":64222},{"type":426,"tag":553,"props":141747,"children":141748},{"style":684},[141749],{"type":431,"value":141750},"(contacts):\n",{"type":426,"tag":553,"props":141752,"children":141753},{"class":555,"line":2013},[141754],{"type":426,"tag":553,"props":141755,"children":141756},{"style":684},[141757],{"type":431,"value":141758},"            time.sleep(delay)\n",{"type":426,"tag":553,"props":141760,"children":141761},{"class":555,"line":2055},[141762],{"type":426,"tag":553,"props":141763,"children":141764},{"style":684},[141765],{"type":431,"value":917},{"type":426,"tag":553,"props":141767,"children":141768},{"class":555,"line":2064},[141769,141773,141777,141782,141786,141791,141795,141800,141804,141808,141812,141816,141820,141824,141828,141832],{"type":426,"tag":553,"props":141770,"children":141771},{"style":684},[141772],{"type":431,"value":65267},{"type":426,"tag":553,"props":141774,"children":141775},{"style":795},[141776],{"type":431,"value":1709},{"type":426,"tag":553,"props":141778,"children":141779},{"style":572},[141780],{"type":431,"value":141781},"\"Done: ",{"type":426,"tag":553,"props":141783,"children":141784},{"style":566},[141785],{"type":431,"value":58466},{"type":426,"tag":553,"props":141787,"children":141788},{"style":684},[141789],{"type":431,"value":141790},"(results[",{"type":426,"tag":553,"props":141792,"children":141793},{"style":572},[141794],{"type":431,"value":10148},{"type":426,"tag":553,"props":141796,"children":141797},{"style":684},[141798],{"type":431,"value":141799},"])",{"type":426,"tag":553,"props":141801,"children":141802},{"style":566},[141803],{"type":431,"value":982},{"type":426,"tag":553,"props":141805,"children":141806},{"style":572},[141807],{"type":431,"value":3310},{"type":426,"tag":553,"props":141809,"children":141810},{"style":566},[141811],{"type":431,"value":58466},{"type":426,"tag":553,"props":141813,"children":141814},{"style":684},[141815],{"type":431,"value":141790},{"type":426,"tag":553,"props":141817,"children":141818},{"style":572},[141819],{"type":431,"value":2788},{"type":426,"tag":553,"props":141821,"children":141822},{"style":684},[141823],{"type":431,"value":141799},{"type":426,"tag":553,"props":141825,"children":141826},{"style":566},[141827],{"type":431,"value":982},{"type":426,"tag":553,"props":141829,"children":141830},{"style":572},[141831],{"type":431,"value":3335},{"type":426,"tag":553,"props":141833,"children":141834},{"style":684},[141835],{"type":431,"value":3262},{"type":426,"tag":553,"props":141837,"children":141838},{"class":555,"line":2087},[141839,141843],{"type":426,"tag":553,"props":141840,"children":141841},{"style":795},[141842],{"type":431,"value":1659},{"type":426,"tag":553,"props":141844,"children":141845},{"style":684},[141846],{"type":431,"value":3123},{"type":426,"tag":553,"props":141848,"children":141849},{"class":555,"line":2096},[141850],{"type":426,"tag":553,"props":141851,"children":141852},{"emptyLinePlaceholder":831},[141853],{"type":431,"value":834},{"type":426,"tag":553,"props":141855,"children":141856},{"class":555,"line":2105},[141857],{"type":426,"tag":553,"props":141858,"children":141859},{"style":1975},[141860],{"type":431,"value":34179},{"type":426,"tag":553,"props":141862,"children":141863},{"class":555,"line":2114},[141864,141869,141873],{"type":426,"tag":553,"props":141865,"children":141866},{"style":684},[141867],{"type":431,"value":141868},"contacts ",{"type":426,"tag":553,"props":141870,"children":141871},{"style":795},[141872],{"type":431,"value":957},{"type":426,"tag":553,"props":141874,"children":141875},{"style":684},[141876],{"type":431,"value":80133},{"type":426,"tag":553,"props":141878,"children":141879},{"class":555,"line":2123},[141880,141885,141889,141893,141897,141901,141906,141910,141914,141918,141923,141927,141931],{"type":426,"tag":553,"props":141881,"children":141882},{"style":684},[141883],{"type":431,"value":141884},"    {",{"type":426,"tag":553,"props":141886,"children":141887},{"style":572},[141888],{"type":431,"value":73482},{"type":426,"tag":553,"props":141890,"children":141891},{"style":684},[141892],{"type":431,"value":700},{"type":426,"tag":553,"props":141894,"children":141895},{"style":572},[141896],{"type":431,"value":81689},{"type":426,"tag":553,"props":141898,"children":141899},{"style":684},[141900],{"type":431,"value":1907},{"type":426,"tag":553,"props":141902,"children":141903},{"style":572},[141904],{"type":431,"value":141905},"\"name\"",{"type":426,"tag":553,"props":141907,"children":141908},{"style":684},[141909],{"type":431,"value":700},{"type":426,"tag":553,"props":141911,"children":141912},{"style":572},[141913],{"type":431,"value":136765},{"type":426,"tag":553,"props":141915,"children":141916},{"style":684},[141917],{"type":431,"value":1907},{"type":426,"tag":553,"props":141919,"children":141920},{"style":572},[141921],{"type":431,"value":141922},"\"order_id\"",{"type":426,"tag":553,"props":141924,"children":141925},{"style":684},[141926],{"type":431,"value":700},{"type":426,"tag":553,"props":141928,"children":141929},{"style":572},[141930],{"type":431,"value":113432},{"type":426,"tag":553,"props":141932,"children":141933},{"style":684},[141934],{"type":431,"value":1737},{"type":426,"tag":553,"props":141936,"children":141937},{"class":555,"line":2132},[141938,141942,141946,141950,141954,141958,141962,141966,141970,141974,141978,141982,141986],{"type":426,"tag":553,"props":141939,"children":141940},{"style":684},[141941],{"type":431,"value":141884},{"type":426,"tag":553,"props":141943,"children":141944},{"style":572},[141945],{"type":431,"value":73482},{"type":426,"tag":553,"props":141947,"children":141948},{"style":684},[141949],{"type":431,"value":700},{"type":426,"tag":553,"props":141951,"children":141952},{"style":572},[141953],{"type":431,"value":136791},{"type":426,"tag":553,"props":141955,"children":141956},{"style":684},[141957],{"type":431,"value":1907},{"type":426,"tag":553,"props":141959,"children":141960},{"style":572},[141961],{"type":431,"value":141905},{"type":426,"tag":553,"props":141963,"children":141964},{"style":684},[141965],{"type":431,"value":700},{"type":426,"tag":553,"props":141967,"children":141968},{"style":572},[141969],{"type":431,"value":136800},{"type":426,"tag":553,"props":141971,"children":141972},{"style":684},[141973],{"type":431,"value":1907},{"type":426,"tag":553,"props":141975,"children":141976},{"style":572},[141977],{"type":431,"value":141922},{"type":426,"tag":553,"props":141979,"children":141980},{"style":684},[141981],{"type":431,"value":700},{"type":426,"tag":553,"props":141983,"children":141984},{"style":572},[141985],{"type":431,"value":136809},{"type":426,"tag":553,"props":141987,"children":141988},{"style":684},[141989],{"type":431,"value":1737},{"type":426,"tag":553,"props":141991,"children":141992},{"class":555,"line":2151},[141993],{"type":426,"tag":553,"props":141994,"children":141995},{"style":684},[141996],{"type":431,"value":16523},{"type":426,"tag":553,"props":141998,"children":141999},{"class":555,"line":2160},[142000],{"type":426,"tag":553,"props":142001,"children":142002},{"emptyLinePlaceholder":831},[142003],{"type":431,"value":834},{"type":426,"tag":553,"props":142005,"children":142006},{"class":555,"line":2174},[142007,142012,142016],{"type":426,"tag":553,"props":142008,"children":142009},{"style":684},[142010],{"type":431,"value":142011},"results ",{"type":426,"tag":553,"props":142013,"children":142014},{"style":795},[142015],{"type":431,"value":957},{"type":426,"tag":553,"props":142017,"children":142018},{"style":684},[142019],{"type":431,"value":142020}," send_bulk_messages(\n",{"type":426,"tag":553,"props":142022,"children":142023},{"class":555,"line":2182},[142024],{"type":426,"tag":553,"props":142025,"children":142026},{"style":684},[142027],{"type":431,"value":142028},"    contacts,\n",{"type":426,"tag":553,"props":142030,"children":142031},{"class":555,"line":2205},[142032,142037,142041,142045,142049,142054,142058,142063],{"type":426,"tag":553,"props":142033,"children":142034},{"style":1684},[142035],{"type":431,"value":142036},"    message_template",{"type":426,"tag":553,"props":142038,"children":142039},{"style":795},[142040],{"type":431,"value":957},{"type":426,"tag":553,"props":142042,"children":142043},{"style":572},[142044],{"type":431,"value":4625},{"type":426,"tag":553,"props":142046,"children":142047},{"style":566},[142048],{"type":431,"value":34991},{"type":426,"tag":553,"props":142050,"children":142051},{"style":572},[142052],{"type":431,"value":142053},"! Your order #",{"type":426,"tag":553,"props":142055,"children":142056},{"style":566},[142057],{"type":431,"value":133565},{"type":426,"tag":553,"props":142059,"children":142060},{"style":572},[142061],{"type":431,"value":142062}," is confirmed.\"",{"type":426,"tag":553,"props":142064,"children":142065},{"style":684},[142066],{"type":431,"value":710},{"type":426,"tag":553,"props":142068,"children":142069},{"class":555,"line":2241},[142070,142074,142078],{"type":426,"tag":553,"props":142071,"children":142072},{"style":1684},[142073],{"type":431,"value":3245},{"type":426,"tag":553,"props":142075,"children":142076},{"style":795},[142077],{"type":431,"value":957},{"type":426,"tag":553,"props":142079,"children":142080},{"style":572},[142081],{"type":431,"value":45386},{"type":426,"tag":553,"props":142083,"children":142084},{"class":555,"line":2250},[142085],{"type":426,"tag":553,"props":142086,"children":142087},{"style":684},[142088],{"type":431,"value":3262},{"type":426,"tag":434,"props":142090,"children":142092},{"id":142091},"step-5-async-sending-with-aiohttp",[142093],{"type":431,"value":142094},"Step 5: Async Sending with aiohttp",{"type":426,"tag":427,"props":142096,"children":142097},{},[142098],{"type":431,"value":142099},"For high-throughput applications, use async sending:",{"type":426,"tag":542,"props":142101,"children":142103},{"className":785,"code":142102,"language":784,"meta":417,"style":417},"import asyncio\nimport aiohttp\n\nAPI_KEY = \"YOUR_API_KEY\"\n\nasync def send_whatsapp_async(session: aiohttp.ClientSession, phone: str, message: str) -> dict:\n    async with session.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n        json={\"number\": phone, \"message\": message}\n    ) as response:\n        return await response.json()\n\nasync def send_bulk_async(contacts: list[dict], message: str, max_concurrent: int = 10):\n    \"\"\"Send messages concurrently with rate limiting.\"\"\"\n    semaphore = asyncio.Semaphore(max_concurrent)\n    \n    async def send_with_limit(contact):\n        async with semaphore:\n            result = await send_whatsapp_async(session, contact[\"phone\"], \n                                                message.format(**contact))\n            await asyncio.sleep(0.1)  # Small delay even in async\n            return result\n    \n    async with aiohttp.ClientSession() as session:\n        tasks = [send_with_limit(c) for c in contacts]\n        results = await asyncio.gather(*tasks, return_exceptions=True)\n    \n    return results\n\n# Usage\ncontacts = [{\"phone\": f\"880100000{i:04d}\", \"name\": f\"User{i}\"} for i in range(100)]\nresults = asyncio.run(send_bulk_async(contacts, \"Hi {name}! Your account is active.\"))\n",[142104],{"type":426,"tag":549,"props":142105,"children":142106},{"__ignoreMap":417},[142107,142119,142131,142138,142153,142160,142205,142222,142233,142276,142307,142324,142339,142346,142400,142408,142425,142432,142453,142469,142497,142514,142540,142551,142558,142583,142617,142663,142670,142681,142688,142695,142818],{"type":426,"tag":553,"props":142108,"children":142109},{"class":555,"line":556},[142110,142114],{"type":426,"tag":553,"props":142111,"children":142112},{"style":795},[142113],{"type":431,"value":798},{"type":426,"tag":553,"props":142115,"children":142116},{"style":684},[142117],{"type":431,"value":142118}," asyncio\n",{"type":426,"tag":553,"props":142120,"children":142121},{"class":555,"line":588},[142122,142126],{"type":426,"tag":553,"props":142123,"children":142124},{"style":795},[142125],{"type":431,"value":798},{"type":426,"tag":553,"props":142127,"children":142128},{"style":684},[142129],{"type":431,"value":142130}," aiohttp\n",{"type":426,"tag":553,"props":142132,"children":142133},{"class":555,"line":606},[142134],{"type":426,"tag":553,"props":142135,"children":142136},{"emptyLinePlaceholder":831},[142137],{"type":431,"value":834},{"type":426,"tag":553,"props":142139,"children":142140},{"class":555,"line":623},[142141,142145,142149],{"type":426,"tag":553,"props":142142,"children":142143},{"style":566},[142144],{"type":431,"value":133819},{"type":426,"tag":553,"props":142146,"children":142147},{"style":795},[142148],{"type":431,"value":8739},{"type":426,"tag":553,"props":142150,"children":142151},{"style":572},[142152],{"type":431,"value":40863},{"type":426,"tag":553,"props":142154,"children":142155},{"class":555,"line":637},[142156],{"type":426,"tag":553,"props":142157,"children":142158},{"emptyLinePlaceholder":831},[142159],{"type":431,"value":834},{"type":426,"tag":553,"props":142161,"children":142162},{"class":555,"line":646},[142163,142167,142171,142176,142181,142185,142189,142193,142197,142201],{"type":426,"tag":553,"props":142164,"children":142165},{"style":795},[142166],{"type":431,"value":52361},{"type":426,"tag":553,"props":142168,"children":142169},{"style":795},[142170],{"type":431,"value":83670},{"type":426,"tag":553,"props":142172,"children":142173},{"style":560},[142174],{"type":431,"value":142175}," send_whatsapp_async",{"type":426,"tag":553,"props":142177,"children":142178},{"style":684},[142179],{"type":431,"value":142180},"(session: aiohttp.ClientSession, phone: ",{"type":426,"tag":553,"props":142182,"children":142183},{"style":566},[142184],{"type":431,"value":895},{"type":426,"tag":553,"props":142186,"children":142187},{"style":684},[142188],{"type":431,"value":8713},{"type":426,"tag":553,"props":142190,"children":142191},{"style":566},[142192],{"type":431,"value":895},{"type":426,"tag":553,"props":142194,"children":142195},{"style":684},[142196],{"type":431,"value":900},{"type":426,"tag":553,"props":142198,"children":142199},{"style":566},[142200],{"type":431,"value":857},{"type":426,"tag":553,"props":142202,"children":142203},{"style":684},[142204],{"type":431,"value":909},{"type":426,"tag":553,"props":142206,"children":142207},{"class":555,"line":655},[142208,142213,142217],{"type":426,"tag":553,"props":142209,"children":142210},{"style":795},[142211],{"type":431,"value":142212},"    async",{"type":426,"tag":553,"props":142214,"children":142215},{"style":795},[142216],{"type":431,"value":84037},{"type":426,"tag":553,"props":142218,"children":142219},{"style":684},[142220],{"type":431,"value":142221}," session.post(\n",{"type":426,"tag":553,"props":142223,"children":142224},{"class":555,"line":1036},[142225,142229],{"type":426,"tag":553,"props":142226,"children":142227},{"style":572},[142228],{"type":431,"value":47296},{"type":426,"tag":553,"props":142230,"children":142231},{"style":684},[142232],{"type":431,"value":710},{"type":426,"tag":553,"props":142234,"children":142235},{"class":555,"line":1054},[142236,142240,142244,142248,142252,142256,142260,142264,142268,142272],{"type":426,"tag":553,"props":142237,"children":142238},{"style":1684},[142239],{"type":431,"value":1687},{"type":426,"tag":553,"props":142241,"children":142242},{"style":795},[142243],{"type":431,"value":957},{"type":426,"tag":553,"props":142245,"children":142246},{"style":684},[142247],{"type":431,"value":972},{"type":426,"tag":553,"props":142249,"children":142250},{"style":572},[142251],{"type":431,"value":45214},{"type":426,"tag":553,"props":142253,"children":142254},{"style":684},[142255],{"type":431,"value":700},{"type":426,"tag":553,"props":142257,"children":142258},{"style":795},[142259],{"type":431,"value":1709},{"type":426,"tag":553,"props":142261,"children":142262},{"style":572},[142263],{"type":431,"value":12608},{"type":426,"tag":553,"props":142265,"children":142266},{"style":566},[142267],{"type":431,"value":139229},{"type":426,"tag":553,"props":142269,"children":142270},{"style":572},[142271],{"type":431,"value":1527},{"type":426,"tag":553,"props":142273,"children":142274},{"style":684},[142275],{"type":431,"value":1737},{"type":426,"tag":553,"props":142277,"children":142278},{"class":555,"line":1080},[142279,142283,142287,142291,142295,142299,142303],{"type":426,"tag":553,"props":142280,"children":142281},{"style":1684},[142282],{"type":431,"value":1746},{"type":426,"tag":553,"props":142284,"children":142285},{"style":795},[142286],{"type":431,"value":957},{"type":426,"tag":553,"props":142288,"children":142289},{"style":684},[142290],{"type":431,"value":972},{"type":426,"tag":553,"props":142292,"children":142293},{"style":572},[142294],{"type":431,"value":45266},{"type":426,"tag":553,"props":142296,"children":142297},{"style":684},[142298],{"type":431,"value":8931},{"type":426,"tag":553,"props":142300,"children":142301},{"style":572},[142302],{"type":431,"value":45275},{"type":426,"tag":553,"props":142304,"children":142305},{"style":684},[142306],{"type":431,"value":1784},{"type":426,"tag":553,"props":142308,"children":142309},{"class":555,"line":1097},[142310,142315,142319],{"type":426,"tag":553,"props":142311,"children":142312},{"style":684},[142313],{"type":431,"value":142314},"    ) ",{"type":426,"tag":553,"props":142316,"children":142317},{"style":795},[142318],{"type":431,"value":10075},{"type":426,"tag":553,"props":142320,"children":142321},{"style":684},[142322],{"type":431,"value":142323}," response:\n",{"type":426,"tag":553,"props":142325,"children":142326},{"class":555,"line":1114},[142327,142331,142335],{"type":426,"tag":553,"props":142328,"children":142329},{"style":795},[142330],{"type":431,"value":8378},{"type":426,"tag":553,"props":142332,"children":142333},{"style":795},[142334],{"type":431,"value":53070},{"type":426,"tag":553,"props":142336,"children":142337},{"style":684},[142338],{"type":431,"value":9193},{"type":426,"tag":553,"props":142340,"children":142341},{"class":555,"line":1127},[142342],{"type":426,"tag":553,"props":142343,"children":142344},{"emptyLinePlaceholder":831},[142345],{"type":431,"value":834},{"type":426,"tag":553,"props":142347,"children":142348},{"class":555,"line":1167},[142349,142353,142357,142362,142366,142370,142375,142379,142384,142388,142392,142396],{"type":426,"tag":553,"props":142350,"children":142351},{"style":795},[142352],{"type":431,"value":52361},{"type":426,"tag":553,"props":142354,"children":142355},{"style":795},[142356],{"type":431,"value":83670},{"type":426,"tag":553,"props":142358,"children":142359},{"style":560},[142360],{"type":431,"value":142361}," send_bulk_async",{"type":426,"tag":553,"props":142363,"children":142364},{"style":684},[142365],{"type":431,"value":140976},{"type":426,"tag":553,"props":142367,"children":142368},{"style":566},[142369],{"type":431,"value":857},{"type":426,"tag":553,"props":142371,"children":142372},{"style":684},[142373],{"type":431,"value":142374},"], message: ",{"type":426,"tag":553,"props":142376,"children":142377},{"style":566},[142378],{"type":431,"value":895},{"type":426,"tag":553,"props":142380,"children":142381},{"style":684},[142382],{"type":431,"value":142383},", max_concurrent: ",{"type":426,"tag":553,"props":142385,"children":142386},{"style":566},[142387],{"type":431,"value":885},{"type":426,"tag":553,"props":142389,"children":142390},{"style":795},[142391],{"type":431,"value":8739},{"type":426,"tag":553,"props":142393,"children":142394},{"style":566},[142395],{"type":431,"value":49700},{"type":426,"tag":553,"props":142397,"children":142398},{"style":684},[142399],{"type":431,"value":8370},{"type":426,"tag":553,"props":142401,"children":142402},{"class":555,"line":1184},[142403],{"type":426,"tag":553,"props":142404,"children":142405},{"style":572},[142406],{"type":431,"value":142407},"    \"\"\"Send messages concurrently with rate limiting.\"\"\"\n",{"type":426,"tag":553,"props":142409,"children":142410},{"class":555,"line":1192},[142411,142416,142420],{"type":426,"tag":553,"props":142412,"children":142413},{"style":684},[142414],{"type":431,"value":142415},"    semaphore ",{"type":426,"tag":553,"props":142417,"children":142418},{"style":795},[142419],{"type":431,"value":957},{"type":426,"tag":553,"props":142421,"children":142422},{"style":684},[142423],{"type":431,"value":142424}," asyncio.Semaphore(max_concurrent)\n",{"type":426,"tag":553,"props":142426,"children":142427},{"class":555,"line":1210},[142428],{"type":426,"tag":553,"props":142429,"children":142430},{"style":684},[142431],{"type":431,"value":917},{"type":426,"tag":553,"props":142433,"children":142434},{"class":555,"line":1253},[142435,142439,142443,142448],{"type":426,"tag":553,"props":142436,"children":142437},{"style":795},[142438],{"type":431,"value":142212},{"type":426,"tag":553,"props":142440,"children":142441},{"style":795},[142442],{"type":431,"value":83670},{"type":426,"tag":553,"props":142444,"children":142445},{"style":560},[142446],{"type":431,"value":142447}," send_with_limit",{"type":426,"tag":553,"props":142449,"children":142450},{"style":684},[142451],{"type":431,"value":142452},"(contact):\n",{"type":426,"tag":553,"props":142454,"children":142455},{"class":555,"line":1302},[142456,142460,142464],{"type":426,"tag":553,"props":142457,"children":142458},{"style":795},[142459],{"type":431,"value":84032},{"type":426,"tag":553,"props":142461,"children":142462},{"style":795},[142463],{"type":431,"value":84037},{"type":426,"tag":553,"props":142465,"children":142466},{"style":684},[142467],{"type":431,"value":142468}," semaphore:\n",{"type":426,"tag":553,"props":142470,"children":142471},{"class":555,"line":1374},[142472,142476,142480,142484,142489,142493],{"type":426,"tag":553,"props":142473,"children":142474},{"style":684},[142475],{"type":431,"value":18043},{"type":426,"tag":553,"props":142477,"children":142478},{"style":795},[142479],{"type":431,"value":957},{"type":426,"tag":553,"props":142481,"children":142482},{"style":795},[142483],{"type":431,"value":53070},{"type":426,"tag":553,"props":142485,"children":142486},{"style":684},[142487],{"type":431,"value":142488}," send_whatsapp_async(session, contact[",{"type":426,"tag":553,"props":142490,"children":142491},{"style":572},[142492],{"type":431,"value":73482},{"type":426,"tag":553,"props":142494,"children":142495},{"style":684},[142496],{"type":431,"value":2350},{"type":426,"tag":553,"props":142498,"children":142499},{"class":555,"line":1414},[142500,142505,142509],{"type":426,"tag":553,"props":142501,"children":142502},{"style":684},[142503],{"type":431,"value":142504},"                                                message.format(",{"type":426,"tag":553,"props":142506,"children":142507},{"style":795},[142508],{"type":431,"value":13053},{"type":426,"tag":553,"props":142510,"children":142511},{"style":684},[142512],{"type":431,"value":142513},"contact))\n",{"type":426,"tag":553,"props":142515,"children":142516},{"class":555,"line":1479},[142517,142521,142526,142531,142535],{"type":426,"tag":553,"props":142518,"children":142519},{"style":795},[142520],{"type":431,"value":74941},{"type":426,"tag":553,"props":142522,"children":142523},{"style":684},[142524],{"type":431,"value":142525}," asyncio.sleep(",{"type":426,"tag":553,"props":142527,"children":142528},{"style":566},[142529],{"type":431,"value":142530},"0.1",{"type":426,"tag":553,"props":142532,"children":142533},{"style":684},[142534],{"type":431,"value":3099},{"type":426,"tag":553,"props":142536,"children":142537},{"style":1975},[142538],{"type":431,"value":142539},"# Small delay even in async\n",{"type":426,"tag":553,"props":142541,"children":142542},{"class":555,"line":1517},[142543,142547],{"type":426,"tag":553,"props":142544,"children":142545},{"style":795},[142546],{"type":431,"value":9188},{"type":426,"tag":553,"props":142548,"children":142549},{"style":684},[142550],{"type":431,"value":13022},{"type":426,"tag":553,"props":142552,"children":142553},{"class":555,"line":1560},[142554],{"type":426,"tag":553,"props":142555,"children":142556},{"style":684},[142557],{"type":431,"value":917},{"type":426,"tag":553,"props":142559,"children":142560},{"class":555,"line":1598},[142561,142565,142569,142574,142578],{"type":426,"tag":553,"props":142562,"children":142563},{"style":795},[142564],{"type":431,"value":142212},{"type":426,"tag":553,"props":142566,"children":142567},{"style":795},[142568],{"type":431,"value":84037},{"type":426,"tag":553,"props":142570,"children":142571},{"style":684},[142572],{"type":431,"value":142573}," aiohttp.ClientSession() ",{"type":426,"tag":553,"props":142575,"children":142576},{"style":795},[142577],{"type":431,"value":10075},{"type":426,"tag":553,"props":142579,"children":142580},{"style":684},[142581],{"type":431,"value":142582}," session:\n",{"type":426,"tag":553,"props":142584,"children":142585},{"class":555,"line":1636},[142586,142591,142595,142600,142604,142608,142612],{"type":426,"tag":553,"props":142587,"children":142588},{"style":684},[142589],{"type":431,"value":142590},"        tasks ",{"type":426,"tag":553,"props":142592,"children":142593},{"style":795},[142594],{"type":431,"value":957},{"type":426,"tag":553,"props":142596,"children":142597},{"style":684},[142598],{"type":431,"value":142599}," [send_with_limit(c) ",{"type":426,"tag":553,"props":142601,"children":142602},{"style":795},[142603],{"type":431,"value":7491},{"type":426,"tag":553,"props":142605,"children":142606},{"style":684},[142607],{"type":431,"value":7496},{"type":426,"tag":553,"props":142609,"children":142610},{"style":795},[142611],{"type":431,"value":2005},{"type":426,"tag":553,"props":142613,"children":142614},{"style":684},[142615],{"type":431,"value":142616}," contacts]\n",{"type":426,"tag":553,"props":142618,"children":142619},{"class":555,"line":1645},[142620,142624,142628,142632,142637,142641,142646,142651,142655,142659],{"type":426,"tag":553,"props":142621,"children":142622},{"style":684},[142623],{"type":431,"value":17961},{"type":426,"tag":553,"props":142625,"children":142626},{"style":795},[142627],{"type":431,"value":957},{"type":426,"tag":553,"props":142629,"children":142630},{"style":795},[142631],{"type":431,"value":53070},{"type":426,"tag":553,"props":142633,"children":142634},{"style":684},[142635],{"type":431,"value":142636}," asyncio.gather(",{"type":426,"tag":553,"props":142638,"children":142639},{"style":795},[142640],{"type":431,"value":5801},{"type":426,"tag":553,"props":142642,"children":142643},{"style":684},[142644],{"type":431,"value":142645},"tasks, ",{"type":426,"tag":553,"props":142647,"children":142648},{"style":1684},[142649],{"type":431,"value":142650},"return_exceptions",{"type":426,"tag":553,"props":142652,"children":142653},{"style":795},[142654],{"type":431,"value":957},{"type":426,"tag":553,"props":142656,"children":142657},{"style":566},[142658],{"type":431,"value":21167},{"type":426,"tag":553,"props":142660,"children":142661},{"style":684},[142662],{"type":431,"value":3262},{"type":426,"tag":553,"props":142664,"children":142665},{"class":555,"line":1653},[142666],{"type":426,"tag":553,"props":142667,"children":142668},{"style":684},[142669],{"type":431,"value":917},{"type":426,"tag":553,"props":142671,"children":142672},{"class":555,"line":1667},[142673,142677],{"type":426,"tag":553,"props":142674,"children":142675},{"style":795},[142676],{"type":431,"value":1659},{"type":426,"tag":553,"props":142678,"children":142679},{"style":684},[142680],{"type":431,"value":3123},{"type":426,"tag":553,"props":142682,"children":142683},{"class":555,"line":1680},[142684],{"type":426,"tag":553,"props":142685,"children":142686},{"emptyLinePlaceholder":831},[142687],{"type":431,"value":834},{"type":426,"tag":553,"props":142689,"children":142690},{"class":555,"line":1740},[142691],{"type":426,"tag":553,"props":142692,"children":142693},{"style":1975},[142694],{"type":431,"value":34179},{"type":426,"tag":553,"props":142696,"children":142697},{"class":555,"line":1787},[142698,142702,142706,142711,142715,142719,142723,142728,142732,142736,142741,142745,142749,142753,142757,142761,142765,142770,142774,142778,142782,142786,142790,142794,142798,142802,142806,142810,142814],{"type":426,"tag":553,"props":142699,"children":142700},{"style":684},[142701],{"type":431,"value":141868},{"type":426,"tag":553,"props":142703,"children":142704},{"style":795},[142705],{"type":431,"value":957},{"type":426,"tag":553,"props":142707,"children":142708},{"style":684},[142709],{"type":431,"value":142710}," [{",{"type":426,"tag":553,"props":142712,"children":142713},{"style":572},[142714],{"type":431,"value":73482},{"type":426,"tag":553,"props":142716,"children":142717},{"style":684},[142718],{"type":431,"value":700},{"type":426,"tag":553,"props":142720,"children":142721},{"style":795},[142722],{"type":431,"value":1709},{"type":426,"tag":553,"props":142724,"children":142725},{"style":572},[142726],{"type":431,"value":142727},"\"880100000",{"type":426,"tag":553,"props":142729,"children":142730},{"style":566},[142731],{"type":431,"value":972},{"type":426,"tag":553,"props":142733,"children":142734},{"style":684},[142735],{"type":431,"value":136400},{"type":426,"tag":553,"props":142737,"children":142738},{"style":795},[142739],{"type":431,"value":142740},":04d",{"type":426,"tag":553,"props":142742,"children":142743},{"style":566},[142744],{"type":431,"value":982},{"type":426,"tag":553,"props":142746,"children":142747},{"style":572},[142748],{"type":431,"value":1527},{"type":426,"tag":553,"props":142750,"children":142751},{"style":684},[142752],{"type":431,"value":1907},{"type":426,"tag":553,"props":142754,"children":142755},{"style":572},[142756],{"type":431,"value":141905},{"type":426,"tag":553,"props":142758,"children":142759},{"style":684},[142760],{"type":431,"value":700},{"type":426,"tag":553,"props":142762,"children":142763},{"style":795},[142764],{"type":431,"value":1709},{"type":426,"tag":553,"props":142766,"children":142767},{"style":572},[142768],{"type":431,"value":142769},"\"User",{"type":426,"tag":553,"props":142771,"children":142772},{"style":566},[142773],{"type":431,"value":972},{"type":426,"tag":553,"props":142775,"children":142776},{"style":684},[142777],{"type":431,"value":136400},{"type":426,"tag":553,"props":142779,"children":142780},{"style":566},[142781],{"type":431,"value":982},{"type":426,"tag":553,"props":142783,"children":142784},{"style":572},[142785],{"type":431,"value":1527},{"type":426,"tag":553,"props":142787,"children":142788},{"style":684},[142789],{"type":431,"value":87289},{"type":426,"tag":553,"props":142791,"children":142792},{"style":795},[142793],{"type":431,"value":7491},{"type":426,"tag":553,"props":142795,"children":142796},{"style":684},[142797],{"type":431,"value":135921},{"type":426,"tag":553,"props":142799,"children":142800},{"style":795},[142801],{"type":431,"value":2005},{"type":426,"tag":553,"props":142803,"children":142804},{"style":566},[142805],{"type":431,"value":8809},{"type":426,"tag":553,"props":142807,"children":142808},{"style":684},[142809],{"type":431,"value":3275},{"type":426,"tag":553,"props":142811,"children":142812},{"style":566},[142813],{"type":431,"value":11264},{"type":426,"tag":553,"props":142815,"children":142816},{"style":684},[142817],{"type":431,"value":74484},{"type":426,"tag":553,"props":142819,"children":142820},{"class":555,"line":1796},[142821,142825,142829,142834,142838,142842,142847],{"type":426,"tag":553,"props":142822,"children":142823},{"style":684},[142824],{"type":431,"value":142011},{"type":426,"tag":553,"props":142826,"children":142827},{"style":795},[142828],{"type":431,"value":957},{"type":426,"tag":553,"props":142830,"children":142831},{"style":684},[142832],{"type":431,"value":142833}," asyncio.run(send_bulk_async(contacts, ",{"type":426,"tag":553,"props":142835,"children":142836},{"style":572},[142837],{"type":431,"value":4625},{"type":426,"tag":553,"props":142839,"children":142840},{"style":566},[142841],{"type":431,"value":34991},{"type":426,"tag":553,"props":142843,"children":142844},{"style":572},[142845],{"type":431,"value":142846},"! Your account is active.\"",{"type":426,"tag":553,"props":142848,"children":142849},{"style":684},[142850],{"type":431,"value":6538},{"type":426,"tag":427,"props":142852,"children":142853},{},[142854,142856],{"type":431,"value":142855},"Install aiohttp: ",{"type":426,"tag":549,"props":142857,"children":142859},{"className":142858},[],[142860],{"type":431,"value":142861},"pip install aiohttp",{"type":426,"tag":434,"props":142863,"children":142865},{"id":142864},"step-6-django-integration",[142866],{"type":431,"value":142867},"Step 6: Django Integration",{"type":426,"tag":542,"props":142869,"children":142871},{"className":785,"code":142870,"language":784,"meta":417,"style":417},"# yourapp\u002Fservices\u002Fwhatsapp.py\nimport requests\nfrom django.conf import settings\n\ndef send_order_notification(customer_phone: str, order_id: int, total: str):\n    \"\"\"Send WhatsApp order notification using Django settings.\"\"\"\n    message = (\n        f\"*Order Confirmed!* 🛒\\n\\n\"\n        f\"Order #{order_id}\\n\"\n        f\"Total: ${total}\\n\\n\"\n        f\"We'll update you when it ships!\"\n    )\n    \n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {settings.RAPIWA_API_KEY}\"},\n        json={\"number\": customer_phone, \"message\": message},\n        timeout=10\n    )\n    \n    if not response.ok:\n        raise ValueError(f\"WhatsApp API error: {response.text}\")\n    \n    return response.json()\n\n# In settings.py:\n# RAPIWA_API_KEY = os.getenv(\"RAPIWA_API_KEY\")\n\n# In views.py:\n# from .services.whatsapp import send_order_notification\n# send_order_notification(order.phone, order.id, str(order.total))\n",[142872],{"type":426,"tag":549,"props":142873,"children":142874},{"__ignoreMap":417},[142875,142883,142894,142915,142922,142963,142971,142986,143006,143033,143060,143072,143079,143086,143101,143112,143165,143196,143211,143218,143225,143241,143287,143294,143305,143312,143320,143328,143335,143343,143351],{"type":426,"tag":553,"props":142876,"children":142877},{"class":555,"line":556},[142878],{"type":426,"tag":553,"props":142879,"children":142880},{"style":1975},[142881],{"type":431,"value":142882},"# yourapp\u002Fservices\u002Fwhatsapp.py\n",{"type":426,"tag":553,"props":142884,"children":142885},{"class":555,"line":588},[142886,142890],{"type":426,"tag":553,"props":142887,"children":142888},{"style":795},[142889],{"type":431,"value":798},{"type":426,"tag":553,"props":142891,"children":142892},{"style":684},[142893],{"type":431,"value":803},{"type":426,"tag":553,"props":142895,"children":142896},{"class":555,"line":606},[142897,142901,142906,142910],{"type":426,"tag":553,"props":142898,"children":142899},{"style":795},[142900],{"type":431,"value":811},{"type":426,"tag":553,"props":142902,"children":142903},{"style":684},[142904],{"type":431,"value":142905}," django.conf ",{"type":426,"tag":553,"props":142907,"children":142908},{"style":795},[142909],{"type":431,"value":798},{"type":426,"tag":553,"props":142911,"children":142912},{"style":684},[142913],{"type":431,"value":142914}," settings\n",{"type":426,"tag":553,"props":142916,"children":142917},{"class":555,"line":623},[142918],{"type":426,"tag":553,"props":142919,"children":142920},{"emptyLinePlaceholder":831},[142921],{"type":431,"value":834},{"type":426,"tag":553,"props":142923,"children":142924},{"class":555,"line":637},[142925,142929,142934,142939,142943,142947,142951,142955,142959],{"type":426,"tag":553,"props":142926,"children":142927},{"style":795},[142928],{"type":431,"value":842},{"type":426,"tag":553,"props":142930,"children":142931},{"style":560},[142932],{"type":431,"value":142933}," send_order_notification",{"type":426,"tag":553,"props":142935,"children":142936},{"style":684},[142937],{"type":431,"value":142938},"(customer_phone: ",{"type":426,"tag":553,"props":142940,"children":142941},{"style":566},[142942],{"type":431,"value":895},{"type":426,"tag":553,"props":142944,"children":142945},{"style":684},[142946],{"type":431,"value":46618},{"type":426,"tag":553,"props":142948,"children":142949},{"style":566},[142950],{"type":431,"value":885},{"type":426,"tag":553,"props":142952,"children":142953},{"style":684},[142954],{"type":431,"value":28972},{"type":426,"tag":553,"props":142956,"children":142957},{"style":566},[142958],{"type":431,"value":895},{"type":426,"tag":553,"props":142960,"children":142961},{"style":684},[142962],{"type":431,"value":8370},{"type":426,"tag":553,"props":142964,"children":142965},{"class":555,"line":646},[142966],{"type":426,"tag":553,"props":142967,"children":142968},{"style":572},[142969],{"type":431,"value":142970},"    \"\"\"Send WhatsApp order notification using Django settings.\"\"\"\n",{"type":426,"tag":553,"props":142972,"children":142973},{"class":555,"line":655},[142974,142978,142982],{"type":426,"tag":553,"props":142975,"children":142976},{"style":684},[142977],{"type":431,"value":1198},{"type":426,"tag":553,"props":142979,"children":142980},{"style":795},[142981],{"type":431,"value":957},{"type":426,"tag":553,"props":142983,"children":142984},{"style":684},[142985],{"type":431,"value":1207},{"type":426,"tag":553,"props":142987,"children":142988},{"class":555,"line":1036},[142989,142993,142998,143002],{"type":426,"tag":553,"props":142990,"children":142991},{"style":795},[142992],{"type":431,"value":1216},{"type":426,"tag":553,"props":142994,"children":142995},{"style":572},[142996],{"type":431,"value":142997},"\"*Order Confirmed!* 🛒",{"type":426,"tag":553,"props":142999,"children":143000},{"style":566},[143001],{"type":431,"value":1295},{"type":426,"tag":553,"props":143003,"children":143004},{"style":572},[143005],{"type":431,"value":1250},{"type":426,"tag":553,"props":143007,"children":143008},{"class":555,"line":1054},[143009,143013,143017,143021,143025,143029],{"type":426,"tag":553,"props":143010,"children":143011},{"style":795},[143012],{"type":431,"value":1216},{"type":426,"tag":553,"props":143014,"children":143015},{"style":572},[143016],{"type":431,"value":47140},{"type":426,"tag":553,"props":143018,"children":143019},{"style":566},[143020],{"type":431,"value":972},{"type":426,"tag":553,"props":143022,"children":143023},{"style":684},[143024],{"type":431,"value":46710},{"type":426,"tag":553,"props":143026,"children":143027},{"style":566},[143028],{"type":431,"value":1407},{"type":426,"tag":553,"props":143030,"children":143031},{"style":572},[143032],{"type":431,"value":1250},{"type":426,"tag":553,"props":143034,"children":143035},{"class":555,"line":1080},[143036,143040,143044,143048,143052,143056],{"type":426,"tag":553,"props":143037,"children":143038},{"style":795},[143039],{"type":431,"value":1216},{"type":426,"tag":553,"props":143041,"children":143042},{"style":572},[143043],{"type":431,"value":47177},{"type":426,"tag":553,"props":143045,"children":143046},{"style":566},[143047],{"type":431,"value":972},{"type":426,"tag":553,"props":143049,"children":143050},{"style":684},[143051],{"type":431,"value":28805},{"type":426,"tag":553,"props":143053,"children":143054},{"style":566},[143055],{"type":431,"value":1245},{"type":426,"tag":553,"props":143057,"children":143058},{"style":572},[143059],{"type":431,"value":1250},{"type":426,"tag":553,"props":143061,"children":143062},{"class":555,"line":1097},[143063,143067],{"type":426,"tag":553,"props":143064,"children":143065},{"style":795},[143066],{"type":431,"value":1216},{"type":426,"tag":553,"props":143068,"children":143069},{"style":572},[143070],{"type":431,"value":143071},"\"We'll update you when it ships!\"\n",{"type":426,"tag":553,"props":143073,"children":143074},{"class":555,"line":1114},[143075],{"type":426,"tag":553,"props":143076,"children":143077},{"style":684},[143078],{"type":431,"value":1642},{"type":426,"tag":553,"props":143080,"children":143081},{"class":555,"line":1127},[143082],{"type":426,"tag":553,"props":143083,"children":143084},{"style":684},[143085],{"type":431,"value":917},{"type":426,"tag":553,"props":143087,"children":143088},{"class":555,"line":1167},[143089,143093,143097],{"type":426,"tag":553,"props":143090,"children":143091},{"style":684},[143092],{"type":431,"value":8117},{"type":426,"tag":553,"props":143094,"children":143095},{"style":795},[143096],{"type":431,"value":957},{"type":426,"tag":553,"props":143098,"children":143099},{"style":684},[143100],{"type":431,"value":1664},{"type":426,"tag":553,"props":143102,"children":143103},{"class":555,"line":1184},[143104,143108],{"type":426,"tag":553,"props":143105,"children":143106},{"style":572},[143107],{"type":431,"value":47296},{"type":426,"tag":553,"props":143109,"children":143110},{"style":684},[143111],{"type":431,"value":710},{"type":426,"tag":553,"props":143113,"children":143114},{"class":555,"line":1192},[143115,143119,143123,143127,143131,143135,143139,143143,143147,143152,143157,143161],{"type":426,"tag":553,"props":143116,"children":143117},{"style":1684},[143118],{"type":431,"value":1687},{"type":426,"tag":553,"props":143120,"children":143121},{"style":795},[143122],{"type":431,"value":957},{"type":426,"tag":553,"props":143124,"children":143125},{"style":684},[143126],{"type":431,"value":972},{"type":426,"tag":553,"props":143128,"children":143129},{"style":572},[143130],{"type":431,"value":45214},{"type":426,"tag":553,"props":143132,"children":143133},{"style":684},[143134],{"type":431,"value":700},{"type":426,"tag":553,"props":143136,"children":143137},{"style":795},[143138],{"type":431,"value":1709},{"type":426,"tag":553,"props":143140,"children":143141},{"style":572},[143142],{"type":431,"value":12608},{"type":426,"tag":553,"props":143144,"children":143145},{"style":566},[143146],{"type":431,"value":972},{"type":426,"tag":553,"props":143148,"children":143149},{"style":684},[143150],{"type":431,"value":143151},"settings.",{"type":426,"tag":553,"props":143153,"children":143154},{"style":566},[143155],{"type":431,"value":143156},"RAPIWA_API_KEY}",{"type":426,"tag":553,"props":143158,"children":143159},{"style":572},[143160],{"type":431,"value":1527},{"type":426,"tag":553,"props":143162,"children":143163},{"style":684},[143164],{"type":431,"value":1737},{"type":426,"tag":553,"props":143166,"children":143167},{"class":555,"line":1210},[143168,143172,143176,143180,143184,143188,143192],{"type":426,"tag":553,"props":143169,"children":143170},{"style":1684},[143171],{"type":431,"value":1746},{"type":426,"tag":553,"props":143173,"children":143174},{"style":795},[143175],{"type":431,"value":957},{"type":426,"tag":553,"props":143177,"children":143178},{"style":684},[143179],{"type":431,"value":972},{"type":426,"tag":553,"props":143181,"children":143182},{"style":572},[143183],{"type":431,"value":45266},{"type":426,"tag":553,"props":143185,"children":143186},{"style":684},[143187],{"type":431,"value":21204},{"type":426,"tag":553,"props":143189,"children":143190},{"style":572},[143191],{"type":431,"value":45275},{"type":426,"tag":553,"props":143193,"children":143194},{"style":684},[143195],{"type":431,"value":8940},{"type":426,"tag":553,"props":143197,"children":143198},{"class":555,"line":1253},[143199,143203,143207],{"type":426,"tag":553,"props":143200,"children":143201},{"style":1684},[143202],{"type":431,"value":51045},{"type":426,"tag":553,"props":143204,"children":143205},{"style":795},[143206],{"type":431,"value":957},{"type":426,"tag":553,"props":143208,"children":143209},{"style":566},[143210],{"type":431,"value":56966},{"type":426,"tag":553,"props":143212,"children":143213},{"class":555,"line":1302},[143214],{"type":426,"tag":553,"props":143215,"children":143216},{"style":684},[143217],{"type":431,"value":1642},{"type":426,"tag":553,"props":143219,"children":143220},{"class":555,"line":1374},[143221],{"type":426,"tag":553,"props":143222,"children":143223},{"style":684},[143224],{"type":431,"value":917},{"type":426,"tag":553,"props":143226,"children":143227},{"class":555,"line":1414},[143228,143232,143236],{"type":426,"tag":553,"props":143229,"children":143230},{"style":795},[143231],{"type":431,"value":925},{"type":426,"tag":553,"props":143233,"children":143234},{"style":795},[143235],{"type":431,"value":12110},{"type":426,"tag":553,"props":143237,"children":143238},{"style":684},[143239],{"type":431,"value":143240}," response.ok:\n",{"type":426,"tag":553,"props":143242,"children":143243},{"class":555,"line":1479},[143244,143249,143253,143257,143261,143266,143270,143275,143279,143283],{"type":426,"tag":553,"props":143245,"children":143246},{"style":795},[143247],{"type":431,"value":143248},"        raise",{"type":426,"tag":553,"props":143250,"children":143251},{"style":566},[143252],{"type":431,"value":12350},{"type":426,"tag":553,"props":143254,"children":143255},{"style":684},[143256],{"type":431,"value":3275},{"type":426,"tag":553,"props":143258,"children":143259},{"style":795},[143260],{"type":431,"value":1709},{"type":426,"tag":553,"props":143262,"children":143263},{"style":572},[143264],{"type":431,"value":143265},"\"WhatsApp API error: ",{"type":426,"tag":553,"props":143267,"children":143268},{"style":566},[143269],{"type":431,"value":972},{"type":426,"tag":553,"props":143271,"children":143272},{"style":684},[143273],{"type":431,"value":143274},"response.text",{"type":426,"tag":553,"props":143276,"children":143277},{"style":566},[143278],{"type":431,"value":982},{"type":426,"tag":553,"props":143280,"children":143281},{"style":572},[143282],{"type":431,"value":1527},{"type":426,"tag":553,"props":143284,"children":143285},{"style":684},[143286],{"type":431,"value":3262},{"type":426,"tag":553,"props":143288,"children":143289},{"class":555,"line":1517},[143290],{"type":426,"tag":553,"props":143291,"children":143292},{"style":684},[143293],{"type":431,"value":917},{"type":426,"tag":553,"props":143295,"children":143296},{"class":555,"line":1560},[143297,143301],{"type":426,"tag":553,"props":143298,"children":143299},{"style":795},[143300],{"type":431,"value":1659},{"type":426,"tag":553,"props":143302,"children":143303},{"style":684},[143304],{"type":431,"value":9193},{"type":426,"tag":553,"props":143306,"children":143307},{"class":555,"line":1598},[143308],{"type":426,"tag":553,"props":143309,"children":143310},{"emptyLinePlaceholder":831},[143311],{"type":431,"value":834},{"type":426,"tag":553,"props":143313,"children":143314},{"class":555,"line":1636},[143315],{"type":426,"tag":553,"props":143316,"children":143317},{"style":1975},[143318],{"type":431,"value":143319},"# In settings.py:\n",{"type":426,"tag":553,"props":143321,"children":143322},{"class":555,"line":1645},[143323],{"type":426,"tag":553,"props":143324,"children":143325},{"style":1975},[143326],{"type":431,"value":143327},"# RAPIWA_API_KEY = os.getenv(\"RAPIWA_API_KEY\")\n",{"type":426,"tag":553,"props":143329,"children":143330},{"class":555,"line":1653},[143331],{"type":426,"tag":553,"props":143332,"children":143333},{"emptyLinePlaceholder":831},[143334],{"type":431,"value":834},{"type":426,"tag":553,"props":143336,"children":143337},{"class":555,"line":1667},[143338],{"type":426,"tag":553,"props":143339,"children":143340},{"style":1975},[143341],{"type":431,"value":143342},"# In views.py:\n",{"type":426,"tag":553,"props":143344,"children":143345},{"class":555,"line":1680},[143346],{"type":426,"tag":553,"props":143347,"children":143348},{"style":1975},[143349],{"type":431,"value":143350},"# from .services.whatsapp import send_order_notification\n",{"type":426,"tag":553,"props":143352,"children":143353},{"class":555,"line":1740},[143354],{"type":426,"tag":553,"props":143355,"children":143356},{"style":1975},[143357],{"type":431,"value":143358},"# send_order_notification(order.phone, order.id, str(order.total))\n",{"type":426,"tag":434,"props":143360,"children":143362},{"id":143361},"step-7-flask-integration",[143363],{"type":431,"value":143364},"Step 7: Flask Integration",{"type":426,"tag":542,"props":143366,"children":143368},{"className":785,"code":143367,"language":784,"meta":417,"style":417},"from flask import Flask, request, jsonify\nimport requests\nimport os\n\napp = Flask(__name__)\nRAPIWA_KEY = os.getenv(\"RAPIWA_API_KEY\")\n\ndef send_whatsapp(phone: str, message: str) -> bool:\n    resp = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {RAPIWA_KEY}\"},\n        json={\"number\": phone, \"message\": message}\n    )\n    return resp.json().get(\"status\") == \"success\"\n\n@app.route(\"\u002Fnotify-customer\", methods=[\"POST\"])\ndef notify_customer():\n    data = request.json\n    success = send_whatsapp(data[\"phone\"], f\"Hi {data['name']}! Your order is confirmed.\")\n    return jsonify({\"sent\": success})\n\nif __name__ == \"__main__\":\n    app.run(port=5000)\n",[143369],{"type":426,"tag":549,"props":143370,"children":143371},{"__ignoreMap":417},[143372,143391,143402,143413,143420,143443,143466,143473,143512,143528,143539,143582,143613,143620,143649,143656,143696,143712,143727,143790,143811,143818,143841],{"type":426,"tag":553,"props":143373,"children":143374},{"class":555,"line":556},[143375,143379,143383,143387],{"type":426,"tag":553,"props":143376,"children":143377},{"style":795},[143378],{"type":431,"value":811},{"type":426,"tag":553,"props":143380,"children":143381},{"style":684},[143382],{"type":431,"value":13265},{"type":426,"tag":553,"props":143384,"children":143385},{"style":795},[143386],{"type":431,"value":798},{"type":426,"tag":553,"props":143388,"children":143389},{"style":684},[143390],{"type":431,"value":19220},{"type":426,"tag":553,"props":143392,"children":143393},{"class":555,"line":588},[143394,143398],{"type":426,"tag":553,"props":143395,"children":143396},{"style":795},[143397],{"type":431,"value":798},{"type":426,"tag":553,"props":143399,"children":143400},{"style":684},[143401],{"type":431,"value":803},{"type":426,"tag":553,"props":143403,"children":143404},{"class":555,"line":606},[143405,143409],{"type":426,"tag":553,"props":143406,"children":143407},{"style":795},[143408],{"type":431,"value":798},{"type":426,"tag":553,"props":143410,"children":143411},{"style":684},[143412],{"type":431,"value":19255},{"type":426,"tag":553,"props":143414,"children":143415},{"class":555,"line":623},[143416],{"type":426,"tag":553,"props":143417,"children":143418},{"emptyLinePlaceholder":831},[143419],{"type":431,"value":834},{"type":426,"tag":553,"props":143421,"children":143422},{"class":555,"line":637},[143423,143427,143431,143435,143439],{"type":426,"tag":553,"props":143424,"children":143425},{"style":684},[143426],{"type":431,"value":13301},{"type":426,"tag":553,"props":143428,"children":143429},{"style":795},[143430],{"type":431,"value":957},{"type":426,"tag":553,"props":143432,"children":143433},{"style":684},[143434],{"type":431,"value":13310},{"type":426,"tag":553,"props":143436,"children":143437},{"style":566},[143438],{"type":431,"value":13315},{"type":426,"tag":553,"props":143440,"children":143441},{"style":684},[143442],{"type":431,"value":3262},{"type":426,"tag":553,"props":143444,"children":143445},{"class":555,"line":646},[143446,143450,143454,143458,143462],{"type":426,"tag":553,"props":143447,"children":143448},{"style":566},[143449],{"type":431,"value":127499},{"type":426,"tag":553,"props":143451,"children":143452},{"style":795},[143453],{"type":431,"value":8739},{"type":426,"tag":553,"props":143455,"children":143456},{"style":684},[143457],{"type":431,"value":127508},{"type":426,"tag":553,"props":143459,"children":143460},{"style":572},[143461],{"type":431,"value":127513},{"type":426,"tag":553,"props":143463,"children":143464},{"style":684},[143465],{"type":431,"value":3262},{"type":426,"tag":553,"props":143467,"children":143468},{"class":555,"line":655},[143469],{"type":426,"tag":553,"props":143470,"children":143471},{"emptyLinePlaceholder":831},[143472],{"type":431,"value":834},{"type":426,"tag":553,"props":143474,"children":143475},{"class":555,"line":1036},[143476,143480,143484,143488,143492,143496,143500,143504,143508],{"type":426,"tag":553,"props":143477,"children":143478},{"style":795},[143479],{"type":431,"value":842},{"type":426,"tag":553,"props":143481,"children":143482},{"style":560},[143483],{"type":431,"value":20746},{"type":426,"tag":553,"props":143485,"children":143486},{"style":684},[143487],{"type":431,"value":7446},{"type":426,"tag":553,"props":143489,"children":143490},{"style":566},[143491],{"type":431,"value":895},{"type":426,"tag":553,"props":143493,"children":143494},{"style":684},[143495],{"type":431,"value":8713},{"type":426,"tag":553,"props":143497,"children":143498},{"style":566},[143499],{"type":431,"value":895},{"type":426,"tag":553,"props":143501,"children":143502},{"style":684},[143503],{"type":431,"value":900},{"type":426,"tag":553,"props":143505,"children":143506},{"style":566},[143507],{"type":431,"value":28342},{"type":426,"tag":553,"props":143509,"children":143510},{"style":684},[143511],{"type":431,"value":909},{"type":426,"tag":553,"props":143513,"children":143514},{"class":555,"line":1054},[143515,143520,143524],{"type":426,"tag":553,"props":143516,"children":143517},{"style":684},[143518],{"type":431,"value":143519},"    resp ",{"type":426,"tag":553,"props":143521,"children":143522},{"style":795},[143523],{"type":431,"value":957},{"type":426,"tag":553,"props":143525,"children":143526},{"style":684},[143527],{"type":431,"value":1664},{"type":426,"tag":553,"props":143529,"children":143530},{"class":555,"line":1080},[143531,143535],{"type":426,"tag":553,"props":143532,"children":143533},{"style":572},[143534],{"type":431,"value":47296},{"type":426,"tag":553,"props":143536,"children":143537},{"style":684},[143538],{"type":431,"value":710},{"type":426,"tag":553,"props":143540,"children":143541},{"class":555,"line":1097},[143542,143546,143550,143554,143558,143562,143566,143570,143574,143578],{"type":426,"tag":553,"props":143543,"children":143544},{"style":1684},[143545],{"type":431,"value":1687},{"type":426,"tag":553,"props":143547,"children":143548},{"style":795},[143549],{"type":431,"value":957},{"type":426,"tag":553,"props":143551,"children":143552},{"style":684},[143553],{"type":431,"value":972},{"type":426,"tag":553,"props":143555,"children":143556},{"style":572},[143557],{"type":431,"value":45214},{"type":426,"tag":553,"props":143559,"children":143560},{"style":684},[143561],{"type":431,"value":700},{"type":426,"tag":553,"props":143563,"children":143564},{"style":795},[143565],{"type":431,"value":1709},{"type":426,"tag":553,"props":143567,"children":143568},{"style":572},[143569],{"type":431,"value":12608},{"type":426,"tag":553,"props":143571,"children":143572},{"style":566},[143573],{"type":431,"value":127617},{"type":426,"tag":553,"props":143575,"children":143576},{"style":572},[143577],{"type":431,"value":1527},{"type":426,"tag":553,"props":143579,"children":143580},{"style":684},[143581],{"type":431,"value":1737},{"type":426,"tag":553,"props":143583,"children":143584},{"class":555,"line":1114},[143585,143589,143593,143597,143601,143605,143609],{"type":426,"tag":553,"props":143586,"children":143587},{"style":1684},[143588],{"type":431,"value":1746},{"type":426,"tag":553,"props":143590,"children":143591},{"style":795},[143592],{"type":431,"value":957},{"type":426,"tag":553,"props":143594,"children":143595},{"style":684},[143596],{"type":431,"value":972},{"type":426,"tag":553,"props":143598,"children":143599},{"style":572},[143600],{"type":431,"value":45266},{"type":426,"tag":553,"props":143602,"children":143603},{"style":684},[143604],{"type":431,"value":8931},{"type":426,"tag":553,"props":143606,"children":143607},{"style":572},[143608],{"type":431,"value":45275},{"type":426,"tag":553,"props":143610,"children":143611},{"style":684},[143612],{"type":431,"value":1784},{"type":426,"tag":553,"props":143614,"children":143615},{"class":555,"line":1127},[143616],{"type":426,"tag":553,"props":143617,"children":143618},{"style":684},[143619],{"type":431,"value":1642},{"type":426,"tag":553,"props":143621,"children":143622},{"class":555,"line":1167},[143623,143627,143632,143636,143640,143644],{"type":426,"tag":553,"props":143624,"children":143625},{"style":795},[143626],{"type":431,"value":1659},{"type":426,"tag":553,"props":143628,"children":143629},{"style":684},[143630],{"type":431,"value":143631}," resp.json().get(",{"type":426,"tag":553,"props":143633,"children":143634},{"style":572},[143635],{"type":431,"value":68957},{"type":426,"tag":553,"props":143637,"children":143638},{"style":684},[143639],{"type":431,"value":2987},{"type":426,"tag":553,"props":143641,"children":143642},{"style":795},[143643],{"type":431,"value":1069},{"type":426,"tag":553,"props":143645,"children":143646},{"style":572},[143647],{"type":431,"value":143648}," \"success\"\n",{"type":426,"tag":553,"props":143650,"children":143651},{"class":555,"line":1184},[143652],{"type":426,"tag":553,"props":143653,"children":143654},{"emptyLinePlaceholder":831},[143655],{"type":431,"value":834},{"type":426,"tag":553,"props":143657,"children":143658},{"class":555,"line":1192},[143659,143663,143667,143672,143676,143680,143684,143688,143692],{"type":426,"tag":553,"props":143660,"children":143661},{"style":560},[143662],{"type":431,"value":8024},{"type":426,"tag":553,"props":143664,"children":143665},{"style":684},[143666],{"type":431,"value":3275},{"type":426,"tag":553,"props":143668,"children":143669},{"style":572},[143670],{"type":431,"value":143671},"\"\u002Fnotify-customer\"",{"type":426,"tag":553,"props":143673,"children":143674},{"style":684},[143675],{"type":431,"value":1907},{"type":426,"tag":553,"props":143677,"children":143678},{"style":1684},[143679],{"type":431,"value":8042},{"type":426,"tag":553,"props":143681,"children":143682},{"style":795},[143683],{"type":431,"value":957},{"type":426,"tag":553,"props":143685,"children":143686},{"style":684},[143687],{"type":431,"value":8051},{"type":426,"tag":553,"props":143689,"children":143690},{"style":572},[143691],{"type":431,"value":60428},{"type":426,"tag":553,"props":143693,"children":143694},{"style":684},[143695],{"type":431,"value":8061},{"type":426,"tag":553,"props":143697,"children":143698},{"class":555,"line":1210},[143699,143703,143708],{"type":426,"tag":553,"props":143700,"children":143701},{"style":795},[143702],{"type":431,"value":842},{"type":426,"tag":553,"props":143704,"children":143705},{"style":560},[143706],{"type":431,"value":143707}," notify_customer",{"type":426,"tag":553,"props":143709,"children":143710},{"style":684},[143711],{"type":431,"value":6433},{"type":426,"tag":553,"props":143713,"children":143714},{"class":555,"line":1253},[143715,143719,143723],{"type":426,"tag":553,"props":143716,"children":143717},{"style":684},[143718],{"type":431,"value":13733},{"type":426,"tag":553,"props":143720,"children":143721},{"style":795},[143722],{"type":431,"value":957},{"type":426,"tag":553,"props":143724,"children":143725},{"style":684},[143726],{"type":431,"value":98209},{"type":426,"tag":553,"props":143728,"children":143729},{"class":555,"line":1302},[143730,143735,143739,143744,143748,143752,143756,143760,143764,143769,143773,143777,143781,143786],{"type":426,"tag":553,"props":143731,"children":143732},{"style":684},[143733],{"type":431,"value":143734},"    success ",{"type":426,"tag":553,"props":143736,"children":143737},{"style":795},[143738],{"type":431,"value":957},{"type":426,"tag":553,"props":143740,"children":143741},{"style":684},[143742],{"type":431,"value":143743}," send_whatsapp(data[",{"type":426,"tag":553,"props":143745,"children":143746},{"style":572},[143747],{"type":431,"value":73482},{"type":426,"tag":553,"props":143749,"children":143750},{"style":684},[143751],{"type":431,"value":1774},{"type":426,"tag":553,"props":143753,"children":143754},{"style":795},[143755],{"type":431,"value":1709},{"type":426,"tag":553,"props":143757,"children":143758},{"style":572},[143759],{"type":431,"value":4625},{"type":426,"tag":553,"props":143761,"children":143762},{"style":566},[143763],{"type":431,"value":972},{"type":426,"tag":553,"props":143765,"children":143766},{"style":684},[143767],{"type":431,"value":143768},"data[",{"type":426,"tag":553,"props":143770,"children":143771},{"style":572},[143772],{"type":431,"value":1277},{"type":426,"tag":553,"props":143774,"children":143775},{"style":684},[143776],{"type":431,"value":1240},{"type":426,"tag":553,"props":143778,"children":143779},{"style":566},[143780],{"type":431,"value":982},{"type":426,"tag":553,"props":143782,"children":143783},{"style":572},[143784],{"type":431,"value":143785},"! Your order is confirmed.\"",{"type":426,"tag":553,"props":143787,"children":143788},{"style":684},[143789],{"type":431,"value":3262},{"type":426,"tag":553,"props":143791,"children":143792},{"class":555,"line":1374},[143793,143797,143801,143806],{"type":426,"tag":553,"props":143794,"children":143795},{"style":795},[143796],{"type":431,"value":1659},{"type":426,"tag":553,"props":143798,"children":143799},{"style":684},[143800],{"type":431,"value":8126},{"type":426,"tag":553,"props":143802,"children":143803},{"style":572},[143804],{"type":431,"value":143805},"\"sent\"",{"type":426,"tag":553,"props":143807,"children":143808},{"style":684},[143809],{"type":431,"value":143810},": success})\n",{"type":426,"tag":553,"props":143812,"children":143813},{"class":555,"line":1414},[143814],{"type":426,"tag":553,"props":143815,"children":143816},{"emptyLinePlaceholder":831},[143817],{"type":431,"value":834},{"type":426,"tag":553,"props":143819,"children":143820},{"class":555,"line":1479},[143821,143825,143829,143833,143837],{"type":426,"tag":553,"props":143822,"children":143823},{"style":795},[143824],{"type":431,"value":7510},{"type":426,"tag":553,"props":143826,"children":143827},{"style":566},[143828],{"type":431,"value":51734},{"type":426,"tag":553,"props":143830,"children":143831},{"style":795},[143832],{"type":431,"value":51739},{"type":426,"tag":553,"props":143834,"children":143835},{"style":572},[143836],{"type":431,"value":58919},{"type":426,"tag":553,"props":143838,"children":143839},{"style":684},[143840],{"type":431,"value":909},{"type":426,"tag":553,"props":143842,"children":143843},{"class":555,"line":1517},[143844,143848,143852,143856,143860],{"type":426,"tag":553,"props":143845,"children":143846},{"style":684},[143847],{"type":431,"value":65922},{"type":426,"tag":553,"props":143849,"children":143850},{"style":1684},[143851],{"type":431,"value":65945},{"type":426,"tag":553,"props":143853,"children":143854},{"style":795},[143855],{"type":431,"value":957},{"type":426,"tag":553,"props":143857,"children":143858},{"style":566},[143859],{"type":431,"value":27258},{"type":426,"tag":553,"props":143861,"children":143862},{"style":684},[143863],{"type":431,"value":3262},{"type":426,"tag":434,"props":143865,"children":143866},{"id":4109},[143867],{"type":431,"value":4112},{"type":426,"tag":427,"props":143869,"children":143870},{},[143871,143876,143878,143883,143885,143891,143893,143899,143900,143905],{"type":426,"tag":446,"props":143872,"children":143873},{},[143874],{"type":431,"value":143875},"What Python library should I use to send WhatsApp messages?",{"type":431,"value":143877},"\nUse the ",{"type":426,"tag":549,"props":143879,"children":143881},{"className":143880},[],[143882],{"type":431,"value":139054},{"type":431,"value":143884}," library for simplicity. For async applications, use ",{"type":426,"tag":549,"props":143886,"children":143888},{"className":143887},[],[143889],{"type":431,"value":143890},"aiohttp",{"type":431,"value":143892},". For Django, the built-in ",{"type":426,"tag":549,"props":143894,"children":143896},{"className":143895},[],[143897],{"type":431,"value":143898},"django.utils.http",{"type":431,"value":77103},{"type":426,"tag":549,"props":143901,"children":143903},{"className":143902},[],[143904],{"type":431,"value":139054},{"type":431,"value":143906}," both work.",{"type":426,"tag":427,"props":143908,"children":143909},{},[143910,143915,143916,143921,143923,143929],{"type":426,"tag":446,"props":143911,"children":143912},{},[143913],{"type":431,"value":143914},"How do I send WhatsApp messages with attachments in Python?",{"type":431,"value":143877},{"type":426,"tag":549,"props":143917,"children":143919},{"className":143918},[],[143920],{"type":431,"value":8503},{"type":431,"value":143922}," field with a publicly accessible URL: ",{"type":426,"tag":549,"props":143924,"children":143926},{"className":143925},[],[143927],{"type":431,"value":143928},"json={\"number\": phone, \"document\": url, \"filename\": \"file.pdf\"}",{"type":431,"value":6789},{"type":426,"tag":427,"props":143931,"children":143932},{},[143933,143938],{"type":426,"tag":446,"props":143934,"children":143935},{},[143936],{"type":431,"value":143937},"Can I send WhatsApp messages from a Python script without a phone connected?",{"type":431,"value":143939},"\nYes. Once your WhatsApp number is connected in the Rapiwa dashboard via QR code, your Python script can make API calls from any server without a phone present.",{"type":426,"tag":427,"props":143941,"children":143942},{},[143943,143948,143950,143956],{"type":426,"tag":446,"props":143944,"children":143945},{},[143946],{"type":431,"value":143947},"How do I handle rate limits in Python?",{"type":431,"value":143949},"\nAdd ",{"type":426,"tag":549,"props":143951,"children":143953},{"className":143952},[],[143954],{"type":431,"value":143955},"time.sleep(1.5)",{"type":431,"value":143957}," between messages, or use exponential backoff when receiving 429 status codes. See the bulk sending example above.",{"type":426,"tag":427,"props":143959,"children":143960},{},[143961,143966,143968,143973],{"type":426,"tag":446,"props":143962,"children":143963},{},[143964],{"type":431,"value":143965},"What is the best Python SDK for Rapiwa?",{"type":431,"value":143967},"\nThere is no official Rapiwa Python SDK yet (on the roadmap). The ",{"type":426,"tag":549,"props":143969,"children":143971},{"className":143970},[],[143972],{"type":431,"value":139054},{"type":431,"value":143974}," library with 3–5 lines of code is all you need for full functionality.",{"type":426,"tag":4164,"props":143976,"children":143977},{},[143978],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":143980},[143981,143982,143983,143984,143985,143986,143987,143988,143989],{"id":47624,"depth":588,"text":47627},{"id":139114,"depth":588,"text":139117},{"id":139346,"depth":588,"text":139349},{"id":140420,"depth":588,"text":140423},{"id":140852,"depth":588,"text":140855},{"id":142091,"depth":588,"text":142094},{"id":142864,"depth":588,"text":142867},{"id":143361,"depth":588,"text":143364},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-send-whatsapp-messages-python-tutorial.md","blog\u002Fhow-to-send-whatsapp-messages-python-tutorial.md","blog\u002Fhow-to-send-whatsapp-messages-python-tutorial",{"loc":197},{"_path":201,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":202,"description":203,"date":143995,"author":33271,"category":43,"_slug":143996,"image":143997,"body":143998,"_type":4187,"_id":145134,"_source":4189,"_file":145135,"_stem":145136,"_extension":4192,"sitemap":145137},"2026-01-30","auto-send-woocommerce-invoices-whatsapp-rapiwa-n8n","\u002Fimages\u002Fblog\u002Fauto-send-woocommerce-invoices-whatsapp-rapiwa-n8n.svg",{"type":423,"children":143999,"toc":145119},[144000,144012,144016,144021,144029,144052,144076,144082,144123,144127,144175,144181,144228,144232,144263,144269,144279,144349,144449,144459,144568,144575,144651,144657,144743,144748,144754,144759,144824,144834,144839,144845,144877,144881,144957,144963,144994,145000,145025,145033,145037,145047,145057,145080,145090,145100,145115],{"type":426,"tag":427,"props":144001,"children":144002},{},[144003,144005,144010],{"type":431,"value":144004},"This n8n workflow automatically sends a WhatsApp invoice to customers after every WooCommerce order is completed, using the Rapiwa API. It requires a ",{"type":426,"tag":3819,"props":144006,"children":144008},{"href":3821,"rel":144007},[3823],[144009],{"type":431,"value":47638},{"type":431,"value":144011}," ($5\u002Fmonth, no per-message fees), a free n8n instance, and your WooCommerce store. Over 1,306 developers have installed this template — the most-used Rapiwa workflow on n8n.",{"type":426,"tag":434,"props":144013,"children":144014},{"id":47550},[144015],{"type":431,"value":47553},{"type":426,"tag":427,"props":144017,"children":144018},{},[144019],{"type":431,"value":144020},"When a WooCommerce order status changes to \"completed,\" n8n fetches the order details (customer name, phone, order ID, total, invoice PDF link), constructs a WhatsApp message, and sends it to the customer via the Rapiwa API. Customers receive their invoice directly in WhatsApp — not buried in an email inbox.",{"type":426,"tag":427,"props":144022,"children":144023},{},[144024],{"type":426,"tag":446,"props":144025,"children":144026},{},[144027],{"type":431,"value":144028},"Workflow summary:",{"type":426,"tag":6331,"props":144030,"children":144031},{},[144032,144037,144042,144047],{"type":426,"tag":458,"props":144033,"children":144034},{},[144035],{"type":431,"value":144036},"WooCommerce webhook fires when order status = \"completed\"",{"type":426,"tag":458,"props":144038,"children":144039},{},[144040],{"type":431,"value":144041},"n8n fetches the order details and customer phone number",{"type":426,"tag":458,"props":144043,"children":144044},{},[144045],{"type":431,"value":144046},"n8n formats the invoice message with order ID, total, and PDF link",{"type":426,"tag":458,"props":144048,"children":144049},{},[144050],{"type":431,"value":144051},"Rapiwa API sends the WhatsApp invoice to the customer's number",{"type":426,"tag":41290,"props":144053,"children":144054},{},[144055],{"type":426,"tag":427,"props":144056,"children":144057},{},[144058,144062,144064,144071],{"type":426,"tag":446,"props":144059,"children":144060},{},[144061],{"type":431,"value":47606},{"type":431,"value":144063},": Import the workflow with one click:\n",{"type":426,"tag":3819,"props":144065,"children":144068},{"href":144066,"rel":144067},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9879-auto-send-woocommerce-invoices-via-whatsapp-with-rapiwa-api\u002F",[3823],[144069],{"type":431,"value":144070},"Auto-send WooCommerce invoices via WhatsApp with Rapiwa API →",{"type":426,"tag":47617,"props":144072,"children":144073},{},[144074],{"type":431,"value":144075},"(1,306 installs — the most used Rapiwa workflow on n8n)",{"type":426,"tag":434,"props":144077,"children":144079},{"id":144078},"why-whatsapp-invoices-beat-email-invoices",[144080],{"type":431,"value":144081},"Why WhatsApp Invoices Beat Email Invoices",{"type":426,"tag":454,"props":144083,"children":144084},{},[144085,144094,144103,144113],{"type":426,"tag":458,"props":144086,"children":144087},{},[144088,144092],{"type":426,"tag":446,"props":144089,"children":144090},{},[144091],{"type":431,"value":38658},{"type":431,"value":144093}," on WhatsApp vs 20% for email invoices",{"type":426,"tag":458,"props":144095,"children":144096},{},[144097,144101],{"type":426,"tag":446,"props":144098,"children":144099},{},[144100],{"type":431,"value":131978},{"type":431,"value":144102}," — customers pay faster when invoice arrives on WhatsApp",{"type":426,"tag":458,"props":144104,"children":144105},{},[144106,144111],{"type":426,"tag":446,"props":144107,"children":144108},{},[144109],{"type":431,"value":144110},"30–50% reduction",{"type":431,"value":144112}," in \"where is my invoice?\" support queries",{"type":426,"tag":458,"props":144114,"children":144115},{},[144116,144121],{"type":426,"tag":446,"props":144117,"children":144118},{},[144119],{"type":431,"value":144120},"PDF attachment directly in chat",{"type":431,"value":144122}," — customer sees invoice in context with their order conversation",{"type":426,"tag":434,"props":144124,"children":144125},{"id":47624},[144126],{"type":431,"value":47627},{"type":426,"tag":454,"props":144128,"children":144129},{},[144130,144145,144161,144170],{"type":426,"tag":458,"props":144131,"children":144132},{},[144133,144137,144138,144143],{"type":426,"tag":446,"props":144134,"children":144135},{},[144136],{"type":431,"value":47638},{"type":431,"value":22506},{"type":426,"tag":3819,"props":144139,"children":144141},{"href":3821,"rel":144140},[3823],[144142],{"type":431,"value":47645},{"type":431,"value":144144}," (no credit card)",{"type":426,"tag":458,"props":144146,"children":144147},{},[144148,144152,144153,144159],{"type":426,"tag":446,"props":144149,"children":144150},{},[144151],{"type":431,"value":47653},{"type":431,"value":22506},{"type":426,"tag":3819,"props":144154,"children":144156},{"href":133422,"rel":144155},[3823],[144157],{"type":431,"value":144158},"n8n Cloud",{"type":431,"value":144160}," free tier or self-hosted",{"type":426,"tag":458,"props":144162,"children":144163},{},[144164,144168],{"type":426,"tag":446,"props":144165,"children":144166},{},[144167],{"type":431,"value":101954},{"type":431,"value":144169}," store with customer phone numbers at checkout",{"type":426,"tag":458,"props":144171,"children":144172},{},[144173],{"type":431,"value":144174},"Customer phone numbers in international format in WooCommerce billing fields",{"type":426,"tag":434,"props":144176,"children":144178},{"id":144177},"step-1-connect-your-whatsapp-number-to-rapiwa",[144179],{"type":431,"value":144180},"Step 1: Connect Your WhatsApp Number to Rapiwa",{"type":426,"tag":6331,"props":144182,"children":144183},{},[144184,144193,144202,144212,144217],{"type":426,"tag":458,"props":144185,"children":144186},{},[144187,144188],{"type":431,"value":3817},{"type":426,"tag":3819,"props":144189,"children":144191},{"href":3821,"rel":144190},[3823],[144192],{"type":431,"value":3826},{"type":426,"tag":458,"props":144194,"children":144195},{},[144196,144197],{"type":431,"value":47846},{"type":426,"tag":446,"props":144198,"children":144199},{},[144200],{"type":431,"value":144201},"Dashboard → Devices → Add Device",{"type":426,"tag":458,"props":144203,"children":144204},{},[144205,144207],{"type":431,"value":144206},"Open WhatsApp on your phone → ",{"type":426,"tag":446,"props":144208,"children":144209},{},[144210],{"type":431,"value":144211},"Settings → Linked Devices → Link a Device",{"type":426,"tag":458,"props":144213,"children":144214},{},[144215],{"type":431,"value":144216},"Scan the QR code shown in your Rapiwa dashboard",{"type":426,"tag":458,"props":144218,"children":144219},{},[144220,144221,144226],{"type":431,"value":47846},{"type":426,"tag":446,"props":144222,"children":144223},{},[144224],{"type":431,"value":144225},"Dashboard → API Keys → Generate Key",{"type":431,"value":144227}," — copy your API key",{"type":426,"tag":434,"props":144229,"children":144230},{"id":47835},[144231],{"type":431,"value":47838},{"type":426,"tag":6331,"props":144233,"children":144234},{},[144235,144245,144253,144258],{"type":426,"tag":458,"props":144236,"children":144237},{},[144238,144239],{"type":431,"value":47846},{"type":426,"tag":3819,"props":144240,"children":144242},{"href":144066,"rel":144241},[3823],[144243],{"type":431,"value":144244},"n8n.io\u002Fworkflows\u002F9879",{"type":426,"tag":458,"props":144246,"children":144247},{},[144248,144249],{"type":431,"value":47857},{"type":426,"tag":446,"props":144250,"children":144251},{},[144252],{"type":431,"value":47862},{"type":426,"tag":458,"props":144254,"children":144255},{},[144256],{"type":431,"value":144257},"Sign in to your n8n account",{"type":426,"tag":458,"props":144259,"children":144260},{},[144261],{"type":431,"value":144262},"The workflow canvas opens with all nodes pre-configured",{"type":426,"tag":434,"props":144264,"children":144266},{"id":144265},"step-3-configure-the-rapiwa-http-request-node",[144267],{"type":431,"value":144268},"Step 3: Configure the Rapiwa HTTP Request Node",{"type":426,"tag":427,"props":144270,"children":144271},{},[144272,144273,144277],{"type":431,"value":48065},{"type":426,"tag":446,"props":144274,"children":144275},{},[144276],{"type":431,"value":44949},{"type":431,"value":144278}," node labeled \"Send WhatsApp Invoice via Rapiwa\" in the workflow:",{"type":426,"tag":454,"props":144280,"children":144281},{},[144282,144290,144303,144312,144326,144340],{"type":426,"tag":458,"props":144283,"children":144284},{},[144285,144289],{"type":426,"tag":446,"props":144286,"children":144287},{},[144288],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":144291,"children":144292},{},[144293,144297,144298],{"type":426,"tag":446,"props":144294,"children":144295},{},[144296],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":144299,"children":144301},{"className":144300},[],[144302],{"type":431,"value":48098},{"type":426,"tag":458,"props":144304,"children":144305},{},[144306,144310],{"type":426,"tag":446,"props":144307,"children":144308},{},[144309],{"type":431,"value":86289},{"type":431,"value":144311},": Header Auth",{"type":426,"tag":458,"props":144313,"children":144314},{},[144315,144320,144321],{"type":426,"tag":446,"props":144316,"children":144317},{},[144318],{"type":431,"value":144319},"Header Name",{"type":431,"value":700},{"type":426,"tag":549,"props":144322,"children":144324},{"className":144323},[],[144325],{"type":431,"value":48106},{"type":426,"tag":458,"props":144327,"children":144328},{},[144329,144334,144335],{"type":426,"tag":446,"props":144330,"children":144331},{},[144332],{"type":431,"value":144333},"Header Value",{"type":431,"value":700},{"type":426,"tag":549,"props":144336,"children":144338},{"className":144337},[],[144339],{"type":431,"value":48113},{"type":426,"tag":458,"props":144341,"children":144342},{},[144343,144348],{"type":426,"tag":446,"props":144344,"children":144345},{},[144346],{"type":431,"value":144347},"Body (JSON)",{"type":431,"value":19071},{"type":426,"tag":542,"props":144350,"children":144352},{"code":144351,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"{{ $json.customer_phone }}\",\n  \"document\": \"{{ $json.invoice_pdf_url }}\",\n  \"filename\": \"Invoice_{{ $json.order_id }}.pdf\",\n  \"caption\": \"Hi {{ $json.customer_name }}! Your invoice for order #{{ $json.order_id }} is attached. Total: ${{ $json.order_total }}. Thank you for your order!\"\n}\n",[144353],{"type":426,"tag":549,"props":144354,"children":144355},{"__ignoreMap":417},[144356,144363,144383,144404,144425,144442],{"type":426,"tag":553,"props":144357,"children":144358},{"class":555,"line":556},[144359],{"type":426,"tag":553,"props":144360,"children":144361},{"style":684},[144362],{"type":431,"value":687},{"type":426,"tag":553,"props":144364,"children":144365},{"class":555,"line":588},[144366,144370,144374,144379],{"type":426,"tag":553,"props":144367,"children":144368},{"style":566},[144369],{"type":431,"value":7277},{"type":426,"tag":553,"props":144371,"children":144372},{"style":684},[144373],{"type":431,"value":700},{"type":426,"tag":553,"props":144375,"children":144376},{"style":572},[144377],{"type":431,"value":144378},"\"{{ $json.customer_phone }}\"",{"type":426,"tag":553,"props":144380,"children":144381},{"style":684},[144382],{"type":431,"value":710},{"type":426,"tag":553,"props":144384,"children":144385},{"class":555,"line":606},[144386,144391,144395,144400],{"type":426,"tag":553,"props":144387,"children":144388},{"style":566},[144389],{"type":431,"value":144390},"  \"document\"",{"type":426,"tag":553,"props":144392,"children":144393},{"style":684},[144394],{"type":431,"value":700},{"type":426,"tag":553,"props":144396,"children":144397},{"style":572},[144398],{"type":431,"value":144399},"\"{{ $json.invoice_pdf_url }}\"",{"type":426,"tag":553,"props":144401,"children":144402},{"style":684},[144403],{"type":431,"value":710},{"type":426,"tag":553,"props":144405,"children":144406},{"class":555,"line":623},[144407,144412,144416,144421],{"type":426,"tag":553,"props":144408,"children":144409},{"style":566},[144410],{"type":431,"value":144411},"  \"filename\"",{"type":426,"tag":553,"props":144413,"children":144414},{"style":684},[144415],{"type":431,"value":700},{"type":426,"tag":553,"props":144417,"children":144418},{"style":572},[144419],{"type":431,"value":144420},"\"Invoice_{{ $json.order_id }}.pdf\"",{"type":426,"tag":553,"props":144422,"children":144423},{"style":684},[144424],{"type":431,"value":710},{"type":426,"tag":553,"props":144426,"children":144427},{"class":555,"line":637},[144428,144433,144437],{"type":426,"tag":553,"props":144429,"children":144430},{"style":566},[144431],{"type":431,"value":144432},"  \"caption\"",{"type":426,"tag":553,"props":144434,"children":144435},{"style":684},[144436],{"type":431,"value":700},{"type":426,"tag":553,"props":144438,"children":144439},{"style":572},[144440],{"type":431,"value":144441},"\"Hi {{ $json.customer_name }}! Your invoice for order #{{ $json.order_id }} is attached. Total: ${{ $json.order_total }}. Thank you for your order!\"\n",{"type":426,"tag":553,"props":144443,"children":144444},{"class":555,"line":646},[144445],{"type":426,"tag":553,"props":144446,"children":144447},{"style":684},[144448],{"type":431,"value":756},{"type":426,"tag":427,"props":144450,"children":144451},{},[144452,144457],{"type":426,"tag":446,"props":144453,"children":144454},{},[144455],{"type":431,"value":144456},"Full working cURL test",{"type":431,"value":144458}," (run this to verify your API key before connecting n8n):",{"type":426,"tag":542,"props":144460,"children":144462},{"code":144461,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"document\": \"https:\u002F\u002Fyourstore.com\u002Finvoices\u002Forder_12345.pdf\",\n    \"filename\": \"Invoice_12345.pdf\",\n    \"caption\": \"Hi John! Your invoice for order #12345 is attached. Total: $49.99.\"\n  }'\n",[144463],{"type":426,"tag":549,"props":144464,"children":144465},{"__ignoreMap":417},[144466,144489,144504,144519,144530,144537,144545,144553,144561],{"type":426,"tag":553,"props":144467,"children":144468},{"class":555,"line":556},[144469,144473,144477,144481,144485],{"type":426,"tag":553,"props":144470,"children":144471},{"style":560},[144472],{"type":431,"value":563},{"type":426,"tag":553,"props":144474,"children":144475},{"style":566},[144476],{"type":431,"value":569},{"type":426,"tag":553,"props":144478,"children":144479},{"style":572},[144480],{"type":431,"value":575},{"type":426,"tag":553,"props":144482,"children":144483},{"style":572},[144484],{"type":431,"value":580},{"type":426,"tag":553,"props":144486,"children":144487},{"style":566},[144488],{"type":431,"value":585},{"type":426,"tag":553,"props":144490,"children":144491},{"class":555,"line":588},[144492,144496,144500],{"type":426,"tag":553,"props":144493,"children":144494},{"style":566},[144495],{"type":431,"value":594},{"type":426,"tag":553,"props":144497,"children":144498},{"style":572},[144499],{"type":431,"value":599},{"type":426,"tag":553,"props":144501,"children":144502},{"style":566},[144503],{"type":431,"value":585},{"type":426,"tag":553,"props":144505,"children":144506},{"class":555,"line":606},[144507,144511,144515],{"type":426,"tag":553,"props":144508,"children":144509},{"style":566},[144510],{"type":431,"value":594},{"type":426,"tag":553,"props":144512,"children":144513},{"style":572},[144514],{"type":431,"value":616},{"type":426,"tag":553,"props":144516,"children":144517},{"style":566},[144518],{"type":431,"value":585},{"type":426,"tag":553,"props":144520,"children":144521},{"class":555,"line":623},[144522,144526],{"type":426,"tag":553,"props":144523,"children":144524},{"style":566},[144525],{"type":431,"value":629},{"type":426,"tag":553,"props":144527,"children":144528},{"style":572},[144529],{"type":431,"value":634},{"type":426,"tag":553,"props":144531,"children":144532},{"class":555,"line":637},[144533],{"type":426,"tag":553,"props":144534,"children":144535},{"style":572},[144536],{"type":431,"value":643},{"type":426,"tag":553,"props":144538,"children":144539},{"class":555,"line":646},[144540],{"type":426,"tag":553,"props":144541,"children":144542},{"style":572},[144543],{"type":431,"value":144544},"    \"document\": \"https:\u002F\u002Fyourstore.com\u002Finvoices\u002Forder_12345.pdf\",\n",{"type":426,"tag":553,"props":144546,"children":144547},{"class":555,"line":655},[144548],{"type":426,"tag":553,"props":144549,"children":144550},{"style":572},[144551],{"type":431,"value":144552},"    \"filename\": \"Invoice_12345.pdf\",\n",{"type":426,"tag":553,"props":144554,"children":144555},{"class":555,"line":1036},[144556],{"type":426,"tag":553,"props":144557,"children":144558},{"style":572},[144559],{"type":431,"value":144560},"    \"caption\": \"Hi John! Your invoice for order #12345 is attached. Total: $49.99.\"\n",{"type":426,"tag":553,"props":144562,"children":144563},{"class":555,"line":1054},[144564],{"type":426,"tag":553,"props":144565,"children":144566},{"style":572},[144567],{"type":431,"value":661},{"type":426,"tag":427,"props":144569,"children":144570},{},[144571],{"type":426,"tag":446,"props":144572,"children":144573},{},[144574],{"type":431,"value":121691},{"type":426,"tag":542,"props":144576,"children":144578},{"code":144577,"language":673,"meta":417,"className":674,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123xyz\",\n  \"timestamp\": \"2026-06-01T10:30:00Z\"\n}\n",[144579],{"type":426,"tag":549,"props":144580,"children":144581},{"__ignoreMap":417},[144582,144589,144608,144628,144644],{"type":426,"tag":553,"props":144583,"children":144584},{"class":555,"line":556},[144585],{"type":426,"tag":553,"props":144586,"children":144587},{"style":684},[144588],{"type":431,"value":687},{"type":426,"tag":553,"props":144590,"children":144591},{"class":555,"line":588},[144592,144596,144600,144604],{"type":426,"tag":553,"props":144593,"children":144594},{"style":566},[144595],{"type":431,"value":695},{"type":426,"tag":553,"props":144597,"children":144598},{"style":684},[144599],{"type":431,"value":700},{"type":426,"tag":553,"props":144601,"children":144602},{"style":572},[144603],{"type":431,"value":705},{"type":426,"tag":553,"props":144605,"children":144606},{"style":684},[144607],{"type":431,"value":710},{"type":426,"tag":553,"props":144609,"children":144610},{"class":555,"line":606},[144611,144615,144619,144624],{"type":426,"tag":553,"props":144612,"children":144613},{"style":566},[144614],{"type":431,"value":718},{"type":426,"tag":553,"props":144616,"children":144617},{"style":684},[144618],{"type":431,"value":700},{"type":426,"tag":553,"props":144620,"children":144621},{"style":572},[144622],{"type":431,"value":144623},"\"msg_abc123xyz\"",{"type":426,"tag":553,"props":144625,"children":144626},{"style":684},[144627],{"type":431,"value":710},{"type":426,"tag":553,"props":144629,"children":144630},{"class":555,"line":623},[144631,144635,144639],{"type":426,"tag":553,"props":144632,"children":144633},{"style":566},[144634],{"type":431,"value":739},{"type":426,"tag":553,"props":144636,"children":144637},{"style":684},[144638],{"type":431,"value":700},{"type":426,"tag":553,"props":144640,"children":144641},{"style":572},[144642],{"type":431,"value":144643},"\"2026-06-01T10:30:00Z\"\n",{"type":426,"tag":553,"props":144645,"children":144646},{"class":555,"line":637},[144647],{"type":426,"tag":553,"props":144648,"children":144649},{"style":684},[144650],{"type":431,"value":756},{"type":426,"tag":434,"props":144652,"children":144654},{"id":144653},"step-4-set-up-the-woocommerce-webhook",[144655],{"type":431,"value":144656},"Step 4: Set Up the WooCommerce Webhook",{"type":426,"tag":6331,"props":144658,"children":144659},{},[144660,144669,144678,144734],{"type":426,"tag":458,"props":144661,"children":144662},{},[144663,144664],{"type":431,"value":119089},{"type":426,"tag":446,"props":144665,"children":144666},{},[144667],{"type":431,"value":144668},"WooCommerce → Settings → Advanced → Webhooks",{"type":426,"tag":458,"props":144670,"children":144671},{},[144672,144673],{"type":431,"value":47857},{"type":426,"tag":446,"props":144674,"children":144675},{},[144676],{"type":431,"value":144677},"Add webhook",{"type":426,"tag":458,"props":144679,"children":144680},{},[144681,144683],{"type":431,"value":144682},"Configure:\n",{"type":426,"tag":454,"props":144684,"children":144685},{},[144686,144695,144704,144714,144724],{"type":426,"tag":458,"props":144687,"children":144688},{},[144689,144693],{"type":426,"tag":446,"props":144690,"children":144691},{},[144692],{"type":431,"value":54812},{"type":431,"value":144694},": Invoice WhatsApp n8n",{"type":426,"tag":458,"props":144696,"children":144697},{},[144698,144702],{"type":426,"tag":446,"props":144699,"children":144700},{},[144701],{"type":431,"value":54821},{"type":431,"value":144703},": Active",{"type":426,"tag":458,"props":144705,"children":144706},{},[144707,144712],{"type":426,"tag":446,"props":144708,"children":144709},{},[144710],{"type":431,"value":144711},"Topic",{"type":431,"value":144713},": Order completed",{"type":426,"tag":458,"props":144715,"children":144716},{},[144717,144722],{"type":426,"tag":446,"props":144718,"children":144719},{},[144720],{"type":431,"value":144721},"Delivery URL",{"type":431,"value":144723},": Your n8n webhook URL (found in the Webhook trigger node in n8n)",{"type":426,"tag":458,"props":144725,"children":144726},{},[144727,144732],{"type":426,"tag":446,"props":144728,"children":144729},{},[144730],{"type":431,"value":144731},"API Version",{"type":431,"value":144733},": v3",{"type":426,"tag":458,"props":144735,"children":144736},{},[144737,144738],{"type":431,"value":47857},{"type":426,"tag":446,"props":144739,"children":144740},{},[144741],{"type":431,"value":144742},"Save webhook",{"type":426,"tag":427,"props":144744,"children":144745},{},[144746],{"type":431,"value":144747},"Now every completed WooCommerce order fires this webhook and triggers the n8n workflow.",{"type":426,"tag":434,"props":144749,"children":144751},{"id":144750},"step-5-set-up-google-sheets-for-phone-number-lookup-optional",[144752],{"type":431,"value":144753},"Step 5: Set Up Google Sheets for Phone Number Lookup (Optional)",{"type":426,"tag":427,"props":144755,"children":144756},{},[144757],{"type":431,"value":144758},"If customer phone numbers are not in the WooCommerce order data, you can use a Google Sheets lookup:",{"type":426,"tag":10600,"props":144760,"children":144761},{},[144762,144778],{"type":426,"tag":10604,"props":144763,"children":144764},{},[144765],{"type":426,"tag":10608,"props":144766,"children":144767},{},[144768,144773],{"type":426,"tag":10612,"props":144769,"children":144770},{},[144771],{"type":431,"value":144772},"Column A",{"type":426,"tag":10612,"props":144774,"children":144775},{},[144776],{"type":431,"value":144777},"Column B",{"type":426,"tag":10623,"props":144779,"children":144780},{},[144781,144794,144808],{"type":426,"tag":10608,"props":144782,"children":144783},{},[144784,144789],{"type":426,"tag":10630,"props":144785,"children":144786},{},[144787],{"type":431,"value":144788},"customer_email",{"type":426,"tag":10630,"props":144790,"children":144791},{},[144792],{"type":431,"value":144793},"phone_number",{"type":426,"tag":10608,"props":144795,"children":144796},{},[144797,144804],{"type":426,"tag":10630,"props":144798,"children":144799},{},[144800],{"type":426,"tag":3819,"props":144801,"children":144802},{"href":127020},[144803],{"type":431,"value":127023},{"type":426,"tag":10630,"props":144805,"children":144806},{},[144807],{"type":431,"value":7237},{"type":426,"tag":10608,"props":144809,"children":144810},{},[144811,144820],{"type":426,"tag":10630,"props":144812,"children":144813},{},[144814],{"type":426,"tag":3819,"props":144815,"children":144817},{"href":144816},"mailto:jane@example.com",[144818],{"type":431,"value":144819},"jane@example.com",{"type":426,"tag":10630,"props":144821,"children":144822},{},[144823],{"type":431,"value":127028},{"type":426,"tag":427,"props":144825,"children":144826},{},[144827,144828,144833],{"type":431,"value":127070},{"type":426,"tag":446,"props":144829,"children":144830},{},[144831],{"type":431,"value":144832},"Credentials → Google Sheets → OAuth2 API",{"type":431,"value":6789},{"type":426,"tag":427,"props":144835,"children":144836},{},[144837],{"type":431,"value":144838},"The workflow looks up the customer email from the WooCommerce order, finds the phone number in the sheet, and uses it for WhatsApp delivery.",{"type":426,"tag":434,"props":144840,"children":144842},{"id":144841},"step-6-test-the-workflow",[144843],{"type":431,"value":144844},"Step 6: Test the Workflow",{"type":426,"tag":6331,"props":144846,"children":144847},{},[144848,144857,144862,144867],{"type":426,"tag":458,"props":144849,"children":144850},{},[144851,144852,144856],{"type":431,"value":47857},{"type":426,"tag":446,"props":144853,"children":144854},{},[144855],{"type":431,"value":127091},{"type":431,"value":127093},{"type":426,"tag":458,"props":144858,"children":144859},{},[144860],{"type":431,"value":144861},"Place a test order in WooCommerce and change status to \"completed\"",{"type":426,"tag":458,"props":144863,"children":144864},{},[144865],{"type":431,"value":144866},"Check your WhatsApp — the invoice should arrive within 5–10 seconds",{"type":426,"tag":458,"props":144868,"children":144869},{},[144870,144872],{"type":431,"value":144871},"In n8n, check the HTTP Request node output for ",{"type":426,"tag":549,"props":144873,"children":144875},{"className":144874},[],[144876],{"type":431,"value":127119},{"type":426,"tag":434,"props":144878,"children":144879},{"id":18886},[144880],{"type":431,"value":18889},{"type":426,"tag":454,"props":144882,"children":144883},{},[144884,144893,144920,144930,144940],{"type":426,"tag":458,"props":144885,"children":144886},{},[144887,144891],{"type":426,"tag":446,"props":144888,"children":144889},{},[144890],{"type":431,"value":118874},{"type":431,"value":144892},": API key is wrong or expired. Regenerate in Dashboard → API Keys.",{"type":426,"tag":458,"props":144894,"children":144895},{},[144896,144900,144901,144906,144907,144912,144913,144919],{"type":426,"tag":446,"props":144897,"children":144898},{},[144899],{"type":431,"value":125064},{"type":431,"value":103148},{"type":426,"tag":549,"props":144902,"children":144904},{"className":144903},[],[144905],{"type":431,"value":2033},{"type":431,"value":90779},{"type":426,"tag":549,"props":144908,"children":144910},{"className":144909},[],[144911],{"type":431,"value":7237},{"type":431,"value":125041},{"type":426,"tag":549,"props":144914,"children":144916},{"className":144915},[],[144917],{"type":431,"value":144918},"+8801234567890",{"type":431,"value":6789},{"type":426,"tag":458,"props":144921,"children":144922},{},[144923,144928],{"type":426,"tag":446,"props":144924,"children":144925},{},[144926],{"type":431,"value":144927},"WooCommerce webhook not firing",{"type":431,"value":144929},": Your site must be accessible from the internet (not localhost). Verify webhook status in WooCommerce → Status → Webhooks.",{"type":426,"tag":458,"props":144931,"children":144932},{},[144933,144938],{"type":426,"tag":446,"props":144934,"children":144935},{},[144936],{"type":431,"value":144937},"Google Sheets lookup empty",{"type":431,"value":144939},": The customer email in WooCommerce must exactly match column A (case-sensitive).",{"type":426,"tag":458,"props":144941,"children":144942},{},[144943,144948,144950,144955],{"type":426,"tag":446,"props":144944,"children":144945},{},[144946],{"type":431,"value":144947},"PDF not attached",{"type":431,"value":144949},": Ensure the ",{"type":426,"tag":549,"props":144951,"children":144953},{"className":144952},[],[144954],{"type":431,"value":8503},{"type":431,"value":144956}," URL is publicly accessible and returns a valid PDF file.",{"type":426,"tag":434,"props":144958,"children":144960},{"id":144959},"real-world-results-you-can-expect",[144961],{"type":431,"value":144962},"Real-World Results You Can Expect",{"type":426,"tag":454,"props":144964,"children":144965},{},[144966,144976,144985],{"type":426,"tag":458,"props":144967,"children":144968},{},[144969,144974],{"type":426,"tag":446,"props":144970,"children":144971},{},[144972],{"type":431,"value":144973},"95%+ invoice open rate",{"type":431,"value":144975}," on WhatsApp vs 20% for email",{"type":426,"tag":458,"props":144977,"children":144978},{},[144979,144983],{"type":426,"tag":446,"props":144980,"children":144981},{},[144982],{"type":431,"value":131978},{"type":431,"value":144984}," from customers receiving WhatsApp invoices",{"type":426,"tag":458,"props":144986,"children":144987},{},[144988,144992],{"type":426,"tag":446,"props":144989,"children":144990},{},[144991],{"type":431,"value":144110},{"type":431,"value":144993}," in \"where is my invoice?\" support tickets",{"type":426,"tag":434,"props":144995,"children":144997},{"id":144996},"customising-the-invoice-message",[144998],{"type":431,"value":144999},"Customising the Invoice Message",{"type":426,"tag":427,"props":145001,"children":145002},{},[145003,145005,145009,145010,145015,145017,145023],{"type":431,"value":145004},"Edit the message in n8n's ",{"type":426,"tag":446,"props":145006,"children":145007},{},[145008],{"type":431,"value":60378},{"type":431,"value":77103},{"type":426,"tag":446,"props":145011,"children":145012},{},[145013],{"type":431,"value":145014},"Edit Fields",{"type":431,"value":145016}," node. Use ",{"type":426,"tag":549,"props":145018,"children":145020},{"className":145019},[],[145021],{"type":431,"value":145022},"{{ $json.fieldname }}",{"type":431,"value":145024}," for dynamic data:",{"type":426,"tag":542,"props":145026,"children":145028},{"code":145027},"Hi {{ $json.customer_name }}!\n\nYour invoice for order #{{ $json.order_id }} is attached.\n\n*Order Summary:*\n• Total: ${{ $json.order_total }}\n• Payment method: {{ $json.payment_method }}\n\nThank you for shopping with us! Reply to this message if you have any questions.\n",[145029],{"type":426,"tag":549,"props":145030,"children":145031},{"__ignoreMap":417},[145032],{"type":431,"value":145027},{"type":426,"tag":434,"props":145034,"children":145035},{"id":4109},[145036],{"type":431,"value":4112},{"type":426,"tag":427,"props":145038,"children":145039},{},[145040,145045],{"type":426,"tag":446,"props":145041,"children":145042},{},[145043],{"type":431,"value":145044},"Do I need technical skills to use this n8n workflow?",{"type":431,"value":145046},"\nNo. Import the template with one click, add your Rapiwa API key and WooCommerce webhook URL, and it runs automatically. No coding required.",{"type":426,"tag":427,"props":145048,"children":145049},{},[145050,145055],{"type":426,"tag":446,"props":145051,"children":145052},{},[145053],{"type":431,"value":145054},"Does Rapiwa charge per invoice sent?",{"type":431,"value":145056},"\nNo. Rapiwa uses flat-rate pricing from $5\u002Fmonth with no per-message fees — you can send unlimited invoices.",{"type":426,"tag":427,"props":145058,"children":145059},{},[145060,145065,145066,145071,145073,145078],{"type":426,"tag":446,"props":145061,"children":145062},{},[145063],{"type":431,"value":145064},"Can I send the invoice as a PDF attachment?",{"type":431,"value":133594},{"type":426,"tag":549,"props":145067,"children":145069},{"className":145068},[],[145070],{"type":431,"value":8503},{"type":431,"value":145072}," field in the Rapiwa API payload with the PDF URL and a ",{"type":426,"tag":549,"props":145074,"children":145076},{"className":145075},[],[145077],{"type":431,"value":82772},{"type":431,"value":145079}," to attach it directly in the WhatsApp chat.",{"type":426,"tag":427,"props":145081,"children":145082},{},[145083,145088],{"type":426,"tag":446,"props":145084,"children":145085},{},[145086],{"type":431,"value":145087},"What happens if a customer's phone number is missing?",{"type":431,"value":145089},"\nThe workflow can include an IF node that skips the WhatsApp step and logs the missing number to a Google Sheet for manual follow-up.",{"type":426,"tag":427,"props":145091,"children":145092},{},[145093,145098],{"type":426,"tag":446,"props":145094,"children":145095},{},[145096],{"type":431,"value":145097},"Can I use this with multiple WooCommerce stores?",{"type":431,"value":145099},"\nYes. Duplicate the workflow in n8n and configure a separate Rapiwa API key and WooCommerce webhook for each store.",{"type":426,"tag":427,"props":145101,"children":145102},{},[145103,145108,145113],{"type":426,"tag":446,"props":145104,"children":145105},{},[145106],{"type":431,"value":145107},"What is the n8n template URL for WooCommerce invoices?",{"type":426,"tag":3819,"props":145109,"children":145111},{"href":144066,"rel":145110},[3823],[145112],{"type":431,"value":144066},{"type":431,"value":145114}," — 1,306 installs.",{"type":426,"tag":4164,"props":145116,"children":145117},{},[145118],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":145120},[145121,145122,145123,145124,145125,145126,145127,145128,145129,145130,145131,145132,145133],{"id":47550,"depth":588,"text":47553},{"id":144078,"depth":588,"text":144081},{"id":47624,"depth":588,"text":47627},{"id":144177,"depth":588,"text":144180},{"id":47835,"depth":588,"text":47838},{"id":144265,"depth":588,"text":144268},{"id":144653,"depth":588,"text":144656},{"id":144750,"depth":588,"text":144753},{"id":144841,"depth":588,"text":144844},{"id":18886,"depth":588,"text":18889},{"id":144959,"depth":588,"text":144962},{"id":144996,"depth":588,"text":144999},{"id":4109,"depth":588,"text":4112},"content:blog:auto-send-woocommerce-invoices-whatsapp-rapiwa-n8n.md","blog\u002Fauto-send-woocommerce-invoices-whatsapp-rapiwa-n8n.md","blog\u002Fauto-send-woocommerce-invoices-whatsapp-rapiwa-n8n",{"loc":201},{"_path":205,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":206,"description":207,"date":145139,"author":54670,"category":22,"_slug":145140,"image":145141,"body":145142,"_type":4187,"_id":146928,"_source":4189,"_file":146929,"_stem":146930,"_extension":4192,"sitemap":146931},"2026-01-28","how-to-integrate-rapiwa-with-n8n-complete-tutorial","\u002Fimages\u002Fblog\u002Fhow-to-integrate-rapiwa-with-n8n-complete-tutorial.svg",{"type":423,"children":145143,"toc":146913},[145144,145156,145162,145189,145195,145208,145243,145251,145287,145293,145299,145304,145331,145337,145345,145458,145466,145522,145541,145547,145559,145665,145671,145706,145712,145717,146457,146463,146468,146519,146524,146641,146647,146652,146660,146678,146742,146748,146756,146777,146785,146803,146811,146824,146828,146838,146848,146858,146893,146909],{"type":426,"tag":427,"props":145145,"children":145146},{},[145147,145149,145154],{"type":431,"value":145148},"You can integrate Rapiwa with n8n in under 10 minutes using an HTTP Request node. Configure the node with Rapiwa's endpoint, add your Bearer token, and map your data fields — then any n8n trigger can send WhatsApp messages automatically. ",{"type":426,"tag":3819,"props":145150,"children":145152},{"href":3821,"rel":145151},[3823],[145153],{"type":431,"value":127310},{"type":431,"value":145155}," ($5\u002Fmonth) has 10 pre-built n8n templates you can import with one click to skip all manual configuration.",{"type":426,"tag":434,"props":145157,"children":145159},{"id":145158},"what-you-need",[145160],{"type":431,"value":145161},"What You Need",{"type":426,"tag":454,"props":145163,"children":145164},{},[145165,145174,145179,145184],{"type":426,"tag":458,"props":145166,"children":145167},{},[145168,145169],{"type":431,"value":127366},{"type":426,"tag":3819,"props":145170,"children":145172},{"href":3821,"rel":145171},[3823],[145173],{"type":431,"value":127372},{"type":426,"tag":458,"props":145175,"children":145176},{},[145177],{"type":431,"value":145178},"n8n instance (Cloud free tier or self-hosted)",{"type":426,"tag":458,"props":145180,"children":145181},{},[145182],{"type":431,"value":145183},"Rapiwa API key (Dashboard → API Keys)",{"type":426,"tag":458,"props":145185,"children":145186},{},[145187],{"type":431,"value":145188},"WhatsApp number connected in Rapiwa dashboard",{"type":426,"tag":434,"props":145190,"children":145192},{"id":145191},"method-1-import-a-pre-built-template-fastest-5-minutes",[145193],{"type":431,"value":145194},"Method 1: Import a Pre-Built Template (Fastest — 5 Minutes)",{"type":426,"tag":427,"props":145196,"children":145197},{},[145198,145200,145207],{"type":431,"value":145199},"Rapiwa has 10 ready-made n8n templates at ",{"type":426,"tag":3819,"props":145201,"children":145204},{"href":145202,"rel":145203},"https:\u002F\u002Fn8n.io\u002Fcreators\u002Frapiwa\u002F",[3823],[145205],{"type":431,"value":145206},"n8n.io\u002Fcreators\u002Frapiwa",{"type":431,"value":19071},{"type":426,"tag":6331,"props":145209,"children":145210},{},[145211,145216,145224,145229,145234,145239],{"type":426,"tag":458,"props":145212,"children":145213},{},[145214],{"type":431,"value":145215},"Go to the template page",{"type":426,"tag":458,"props":145217,"children":145218},{},[145219,145220],{"type":431,"value":47857},{"type":426,"tag":446,"props":145221,"children":145222},{},[145223],{"type":431,"value":47862},{"type":426,"tag":458,"props":145225,"children":145226},{},[145227],{"type":431,"value":145228},"Open the HTTP Request node in the workflow",{"type":426,"tag":458,"props":145230,"children":145231},{},[145232],{"type":431,"value":145233},"Update the Authorization header with your Rapiwa API key",{"type":426,"tag":458,"props":145235,"children":145236},{},[145237],{"type":431,"value":145238},"Configure the trigger (WooCommerce webhook, Google Calendar, etc.)",{"type":426,"tag":458,"props":145240,"children":145241},{},[145242],{"type":431,"value":133452},{"type":426,"tag":427,"props":145244,"children":145245},{},[145246],{"type":426,"tag":446,"props":145247,"children":145248},{},[145249],{"type":431,"value":145250},"Most popular templates:",{"type":426,"tag":454,"props":145252,"children":145253},{},[145254,145265,145276],{"type":426,"tag":458,"props":145255,"children":145256},{},[145257,145263],{"type":426,"tag":3819,"props":145258,"children":145260},{"href":18796,"rel":145259},[3823],[145261],{"type":431,"value":145262},"WooCommerce invoice delivery",{"type":431,"value":145264}," — 1,306 installs",{"type":426,"tag":458,"props":145266,"children":145267},{},[145268,145274],{"type":426,"tag":3819,"props":145269,"children":145271},{"href":18841,"rel":145270},[3823],[145272],{"type":431,"value":145273},"Google Calendar + Gemini AI reminders",{"type":431,"value":145275}," — 538 installs",{"type":426,"tag":458,"props":145277,"children":145278},{},[145279,145285],{"type":426,"tag":3819,"props":145280,"children":145282},{"href":18864,"rel":145281},[3823],[145283],{"type":431,"value":145284},"GPT-4 WhatsApp support bot",{"type":431,"value":145286}," — 474 installs",{"type":426,"tag":434,"props":145288,"children":145290},{"id":145289},"method-2-add-rapiwa-to-any-custom-workflow",[145291],{"type":431,"value":145292},"Method 2: Add Rapiwa to Any Custom Workflow",{"type":426,"tag":515,"props":145294,"children":145296},{"id":145295},"step-1-add-an-http-request-node",[145297],{"type":431,"value":145298},"Step 1: Add an HTTP Request Node",{"type":426,"tag":427,"props":145300,"children":145301},{},[145302],{"type":431,"value":145303},"In your n8n workflow canvas:",{"type":426,"tag":6331,"props":145305,"children":145306},{},[145307,145318,145326],{"type":426,"tag":458,"props":145308,"children":145309},{},[145310,145311,145316],{"type":431,"value":102040},{"type":426,"tag":549,"props":145312,"children":145314},{"className":145313},[],[145315],{"type":431,"value":2033},{"type":431,"value":145317}," button to add a new node",{"type":426,"tag":458,"props":145319,"children":145320},{},[145321,145322],{"type":431,"value":77510},{"type":426,"tag":446,"props":145323,"children":145324},{},[145325],{"type":431,"value":44949},{"type":426,"tag":458,"props":145327,"children":145328},{},[145329],{"type":431,"value":145330},"Click to add it",{"type":426,"tag":515,"props":145332,"children":145334},{"id":145333},"step-2-configure-the-rapiwa-node",[145335],{"type":431,"value":145336},"Step 2: Configure the Rapiwa Node",{"type":426,"tag":427,"props":145338,"children":145339},{},[145340],{"type":426,"tag":446,"props":145341,"children":145342},{},[145343],{"type":431,"value":145344},"In the HTTP Request node settings:",{"type":426,"tag":10600,"props":145346,"children":145347},{},[145348,145363],{"type":426,"tag":10604,"props":145349,"children":145350},{},[145351],{"type":426,"tag":10608,"props":145352,"children":145353},{},[145354,145359],{"type":426,"tag":10612,"props":145355,"children":145356},{},[145357],{"type":431,"value":145358},"Setting",{"type":426,"tag":10612,"props":145360,"children":145361},{},[145362],{"type":431,"value":10621},{"type":426,"tag":10623,"props":145364,"children":145365},{},[145366,145381,145396,145412,145427,145442],{"type":426,"tag":10608,"props":145367,"children":145368},{},[145369,145373],{"type":426,"tag":10630,"props":145370,"children":145371},{},[145372],{"type":431,"value":46964},{"type":426,"tag":10630,"props":145374,"children":145375},{},[145376],{"type":426,"tag":549,"props":145377,"children":145379},{"className":145378},[],[145380],{"type":431,"value":67603},{"type":426,"tag":10608,"props":145382,"children":145383},{},[145384,145388],{"type":426,"tag":10630,"props":145385,"children":145386},{},[145387],{"type":431,"value":48091},{"type":426,"tag":10630,"props":145389,"children":145390},{},[145391],{"type":426,"tag":549,"props":145392,"children":145394},{"className":145393},[],[145395],{"type":431,"value":48098},{"type":426,"tag":10608,"props":145397,"children":145398},{},[145399,145403],{"type":426,"tag":10630,"props":145400,"children":145401},{},[145402],{"type":431,"value":86289},{"type":426,"tag":10630,"props":145404,"children":145405},{},[145406],{"type":426,"tag":549,"props":145407,"children":145409},{"className":145408},[],[145410],{"type":431,"value":145411},"Header Auth",{"type":426,"tag":10608,"props":145413,"children":145414},{},[145415,145419],{"type":426,"tag":10630,"props":145416,"children":145417},{},[145418],{"type":431,"value":144319},{"type":426,"tag":10630,"props":145420,"children":145421},{},[145422],{"type":426,"tag":549,"props":145423,"children":145425},{"className":145424},[],[145426],{"type":431,"value":48106},{"type":426,"tag":10608,"props":145428,"children":145429},{},[145430,145434],{"type":426,"tag":10630,"props":145431,"children":145432},{},[145433],{"type":431,"value":144333},{"type":426,"tag":10630,"props":145435,"children":145436},{},[145437],{"type":426,"tag":549,"props":145438,"children":145440},{"className":145439},[],[145441],{"type":431,"value":48113},{"type":426,"tag":10608,"props":145443,"children":145444},{},[145445,145450],{"type":426,"tag":10630,"props":145446,"children":145447},{},[145448],{"type":431,"value":145449},"Body Content Type",{"type":426,"tag":10630,"props":145451,"children":145452},{},[145453],{"type":426,"tag":549,"props":145454,"children":145456},{"className":145455},[],[145457],{"type":431,"value":53178},{"type":426,"tag":427,"props":145459,"children":145460},{},[145461],{"type":426,"tag":446,"props":145462,"children":145463},{},[145464],{"type":431,"value":145465},"Request body (JSON):",{"type":426,"tag":542,"props":145467,"children":145469},{"code":145468,"language":673,"meta":417,"className":674,"style":417},"{\n  \"number\": \"={{ $json.customer_phone }}\",\n  \"message\": \"={{ $json.message_text }}\"\n}\n",[145470],{"type":426,"tag":549,"props":145471,"children":145472},{"__ignoreMap":417},[145473,145480,145499,145515],{"type":426,"tag":553,"props":145474,"children":145475},{"class":555,"line":556},[145476],{"type":426,"tag":553,"props":145477,"children":145478},{"style":684},[145479],{"type":431,"value":687},{"type":426,"tag":553,"props":145481,"children":145482},{"class":555,"line":588},[145483,145487,145491,145495],{"type":426,"tag":553,"props":145484,"children":145485},{"style":566},[145486],{"type":431,"value":7277},{"type":426,"tag":553,"props":145488,"children":145489},{"style":684},[145490],{"type":431,"value":700},{"type":426,"tag":553,"props":145492,"children":145493},{"style":572},[145494],{"type":431,"value":48152},{"type":426,"tag":553,"props":145496,"children":145497},{"style":684},[145498],{"type":431,"value":710},{"type":426,"tag":553,"props":145500,"children":145501},{"class":555,"line":606},[145502,145506,145510],{"type":426,"tag":553,"props":145503,"children":145504},{"style":566},[145505],{"type":431,"value":7298},{"type":426,"tag":553,"props":145507,"children":145508},{"style":684},[145509],{"type":431,"value":700},{"type":426,"tag":553,"props":145511,"children":145512},{"style":572},[145513],{"type":431,"value":145514},"\"={{ $json.message_text }}\"\n",{"type":426,"tag":553,"props":145516,"children":145517},{"class":555,"line":623},[145518],{"type":426,"tag":553,"props":145519,"children":145520},{"style":684},[145521],{"type":431,"value":756},{"type":426,"tag":427,"props":145523,"children":145524},{},[145525,145526,145532,145533,145539],{"type":431,"value":102215},{"type":426,"tag":549,"props":145527,"children":145529},{"className":145528},[],[145530],{"type":431,"value":145531},"$json.customer_phone",{"type":431,"value":48630},{"type":426,"tag":549,"props":145534,"children":145536},{"className":145535},[],[145537],{"type":431,"value":145538},"$json.message_text",{"type":431,"value":145540}," with your actual field paths from upstream nodes.",{"type":426,"tag":515,"props":145542,"children":145544},{"id":145543},"step-3-map-data-from-your-trigger",[145545],{"type":431,"value":145546},"Step 3: Map Data from Your Trigger",{"type":426,"tag":427,"props":145548,"children":145549},{},[145550,145552,145557],{"type":431,"value":145551},"n8n uses ",{"type":426,"tag":549,"props":145553,"children":145555},{"className":145554},[],[145556],{"type":431,"value":145022},{"type":431,"value":145558}," expressions to reference data from previous nodes:",{"type":426,"tag":10600,"props":145560,"children":145561},{},[145562,145578],{"type":426,"tag":10604,"props":145563,"children":145564},{},[145565],{"type":426,"tag":10608,"props":145566,"children":145567},{},[145568,145573],{"type":426,"tag":10612,"props":145569,"children":145570},{},[145571],{"type":431,"value":145572},"Data to include",{"type":426,"tag":10612,"props":145574,"children":145575},{},[145576],{"type":431,"value":145577},"n8n expression example",{"type":426,"tag":10623,"props":145579,"children":145580},{},[145581,145598,145615,145631,145648],{"type":426,"tag":10608,"props":145582,"children":145583},{},[145584,145589],{"type":426,"tag":10630,"props":145585,"children":145586},{},[145587],{"type":431,"value":145588},"Customer phone",{"type":426,"tag":10630,"props":145590,"children":145591},{},[145592],{"type":426,"tag":549,"props":145593,"children":145595},{"className":145594},[],[145596],{"type":431,"value":145597},"{{ $json.billing.phone }}",{"type":426,"tag":10608,"props":145599,"children":145600},{},[145601,145606],{"type":426,"tag":10630,"props":145602,"children":145603},{},[145604],{"type":431,"value":145605},"Customer name",{"type":426,"tag":10630,"props":145607,"children":145608},{},[145609],{"type":426,"tag":549,"props":145610,"children":145612},{"className":145611},[],[145613],{"type":431,"value":145614},"{{ $json.billing.first_name }}",{"type":426,"tag":10608,"props":145616,"children":145617},{},[145618,145623],{"type":426,"tag":10630,"props":145619,"children":145620},{},[145621],{"type":431,"value":145622},"Order ID",{"type":426,"tag":10630,"props":145624,"children":145625},{},[145626],{"type":426,"tag":549,"props":145627,"children":145629},{"className":145628},[],[145630],{"type":431,"value":48019},{"type":426,"tag":10608,"props":145632,"children":145633},{},[145634,145639],{"type":426,"tag":10630,"props":145635,"children":145636},{},[145637],{"type":431,"value":145638},"Order total",{"type":426,"tag":10630,"props":145640,"children":145641},{},[145642],{"type":426,"tag":549,"props":145643,"children":145645},{"className":145644},[],[145646],{"type":431,"value":145647},"{{ $json.total }}",{"type":426,"tag":10608,"props":145649,"children":145650},{},[145651,145656],{"type":426,"tag":10630,"props":145652,"children":145653},{},[145654],{"type":431,"value":145655},"Custom text",{"type":426,"tag":10630,"props":145657,"children":145658},{},[145659],{"type":426,"tag":549,"props":145660,"children":145662},{"className":145661},[],[145663],{"type":431,"value":145664},"Hi {{ $json.billing.first_name }}! Order #{{ $json.id }} confirmed.",{"type":426,"tag":515,"props":145666,"children":145668},{"id":145667},"step-4-test-the-node",[145669],{"type":431,"value":145670},"Step 4: Test the Node",{"type":426,"tag":6331,"props":145672,"children":145673},{},[145674,145691,145701],{"type":426,"tag":458,"props":145675,"children":145676},{},[145677,145678,145683,145684,145689],{"type":431,"value":47857},{"type":426,"tag":446,"props":145679,"children":145680},{},[145681],{"type":431,"value":145682},"Test node",{"type":431,"value":114029},{"type":426,"tag":446,"props":145685,"children":145686},{},[145687],{"type":431,"value":145688},"Execute Node",{"type":431,"value":145690},") in n8n",{"type":426,"tag":458,"props":145692,"children":145693},{},[145694,145696],{"type":431,"value":145695},"Check the output — you should see ",{"type":426,"tag":549,"props":145697,"children":145699},{"className":145698},[],[145700],{"type":431,"value":7120},{"type":426,"tag":458,"props":145702,"children":145703},{},[145704],{"type":431,"value":145705},"Check your WhatsApp — the message should arrive within seconds",{"type":426,"tag":434,"props":145707,"children":145709},{"id":145708},"complete-example-woocommerce-order-whatsapp",[145710],{"type":431,"value":145711},"Complete Example: WooCommerce Order → WhatsApp",{"type":426,"tag":427,"props":145713,"children":145714},{},[145715],{"type":431,"value":145716},"Here is a complete workflow JSON you can paste into n8n:",{"type":426,"tag":542,"props":145718,"children":145720},{"code":145719,"language":673,"meta":417,"className":674,"style":417},"{\n  \"name\": \"WooCommerce Order → WhatsApp (Rapiwa)\",\n  \"nodes\": [\n    {\n      \"name\": \"WooCommerce Webhook\",\n      \"type\": \"n8n-nodes-base.webhook\",\n      \"parameters\": {\n        \"httpMethod\": \"POST\",\n        \"path\": \"woocommerce-order\",\n        \"responseMode\": \"onReceived\"\n      },\n      \"position\": [200, 300]\n    },\n    {\n      \"name\": \"Format Phone Number\",\n      \"type\": \"n8n-nodes-base.set\",\n      \"parameters\": {\n        \"values\": {\n          \"string\": [\n            {\n              \"name\": \"clean_phone\",\n              \"value\": \"={{ $json.billing.phone.replace(\u002F[^0-9]\u002Fg, '') }}\"\n            },\n            {\n              \"name\": \"message\",\n              \"value\": \"=*Order Confirmed!* 🛒\\n\\nHi {{ $json.billing.first_name }}!\\nOrder #{{ $json.id }}\\nTotal: ${{ $json.total }}\\n\\nThank you for your order!\"\n            }\n          ]\n        }\n      },\n      \"position\": [400, 300]\n    },\n    {\n      \"name\": \"Send WhatsApp via Rapiwa\",\n      \"type\": \"n8n-nodes-base.httpRequest\",\n      \"parameters\": {\n        \"method\": \"POST\",\n        \"url\": \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        \"authentication\": \"headerAuth\",\n        \"headerAuthName\": \"Authorization\",\n        \"headerAuthValue\": \"Bearer YOUR_API_KEY\",\n        \"bodyContentType\": \"json\",\n        \"jsonBody\": \"={{ JSON.stringify({number: $json.clean_phone, message: $json.message}) }}\"\n      },\n      \"position\": [600, 300]\n    }\n  ]\n}\n",[145721],{"type":426,"tag":549,"props":145722,"children":145723},{"__ignoreMap":417},[145724,145731,145752,145764,145771,145792,145813,145825,145845,145866,145883,145890,145920,145927,145934,145954,145974,145985,145997,146009,146016,146037,146054,146062,146069,146088,146140,146147,146155,146162,146169,146196,146203,146210,146230,146250,146261,146281,146301,146322,146342,146362,146383,146400,146407,146435,146442,146450],{"type":426,"tag":553,"props":145725,"children":145726},{"class":555,"line":556},[145727],{"type":426,"tag":553,"props":145728,"children":145729},{"style":684},[145730],{"type":431,"value":687},{"type":426,"tag":553,"props":145732,"children":145733},{"class":555,"line":588},[145734,145739,145743,145748],{"type":426,"tag":553,"props":145735,"children":145736},{"style":566},[145737],{"type":431,"value":145738},"  \"name\"",{"type":426,"tag":553,"props":145740,"children":145741},{"style":684},[145742],{"type":431,"value":700},{"type":426,"tag":553,"props":145744,"children":145745},{"style":572},[145746],{"type":431,"value":145747},"\"WooCommerce Order → WhatsApp (Rapiwa)\"",{"type":426,"tag":553,"props":145749,"children":145750},{"style":684},[145751],{"type":431,"value":710},{"type":426,"tag":553,"props":145753,"children":145754},{"class":555,"line":606},[145755,145760],{"type":426,"tag":553,"props":145756,"children":145757},{"style":566},[145758],{"type":431,"value":145759},"  \"nodes\"",{"type":426,"tag":553,"props":145761,"children":145762},{"style":684},[145763],{"type":431,"value":17136},{"type":426,"tag":553,"props":145765,"children":145766},{"class":555,"line":623},[145767],{"type":426,"tag":553,"props":145768,"children":145769},{"style":684},[145770],{"type":431,"value":73368},{"type":426,"tag":553,"props":145772,"children":145773},{"class":555,"line":637},[145774,145779,145783,145788],{"type":426,"tag":553,"props":145775,"children":145776},{"style":566},[145777],{"type":431,"value":145778},"      \"name\"",{"type":426,"tag":553,"props":145780,"children":145781},{"style":684},[145782],{"type":431,"value":700},{"type":426,"tag":553,"props":145784,"children":145785},{"style":572},[145786],{"type":431,"value":145787},"\"WooCommerce Webhook\"",{"type":426,"tag":553,"props":145789,"children":145790},{"style":684},[145791],{"type":431,"value":710},{"type":426,"tag":553,"props":145793,"children":145794},{"class":555,"line":646},[145795,145800,145804,145809],{"type":426,"tag":553,"props":145796,"children":145797},{"style":566},[145798],{"type":431,"value":145799},"      \"type\"",{"type":426,"tag":553,"props":145801,"children":145802},{"style":684},[145803],{"type":431,"value":700},{"type":426,"tag":553,"props":145805,"children":145806},{"style":572},[145807],{"type":431,"value":145808},"\"n8n-nodes-base.webhook\"",{"type":426,"tag":553,"props":145810,"children":145811},{"style":684},[145812],{"type":431,"value":710},{"type":426,"tag":553,"props":145814,"children":145815},{"class":555,"line":655},[145816,145821],{"type":426,"tag":553,"props":145817,"children":145818},{"style":566},[145819],{"type":431,"value":145820},"      \"parameters\"",{"type":426,"tag":553,"props":145822,"children":145823},{"style":684},[145824],{"type":431,"value":17102},{"type":426,"tag":553,"props":145826,"children":145827},{"class":555,"line":1036},[145828,145833,145837,145841],{"type":426,"tag":553,"props":145829,"children":145830},{"style":566},[145831],{"type":431,"value":145832},"        \"httpMethod\"",{"type":426,"tag":553,"props":145834,"children":145835},{"style":684},[145836],{"type":431,"value":700},{"type":426,"tag":553,"props":145838,"children":145839},{"style":572},[145840],{"type":431,"value":60428},{"type":426,"tag":553,"props":145842,"children":145843},{"style":684},[145844],{"type":431,"value":710},{"type":426,"tag":553,"props":145846,"children":145847},{"class":555,"line":1054},[145848,145853,145857,145862],{"type":426,"tag":553,"props":145849,"children":145850},{"style":566},[145851],{"type":431,"value":145852},"        \"path\"",{"type":426,"tag":553,"props":145854,"children":145855},{"style":684},[145856],{"type":431,"value":700},{"type":426,"tag":553,"props":145858,"children":145859},{"style":572},[145860],{"type":431,"value":145861},"\"woocommerce-order\"",{"type":426,"tag":553,"props":145863,"children":145864},{"style":684},[145865],{"type":431,"value":710},{"type":426,"tag":553,"props":145867,"children":145868},{"class":555,"line":1080},[145869,145874,145878],{"type":426,"tag":553,"props":145870,"children":145871},{"style":566},[145872],{"type":431,"value":145873},"        \"responseMode\"",{"type":426,"tag":553,"props":145875,"children":145876},{"style":684},[145877],{"type":431,"value":700},{"type":426,"tag":553,"props":145879,"children":145880},{"style":572},[145881],{"type":431,"value":145882},"\"onReceived\"\n",{"type":426,"tag":553,"props":145884,"children":145885},{"class":555,"line":1097},[145886],{"type":426,"tag":553,"props":145887,"children":145888},{"style":684},[145889],{"type":431,"value":85516},{"type":426,"tag":553,"props":145891,"children":145892},{"class":555,"line":1114},[145893,145898,145903,145907,145911,145916],{"type":426,"tag":553,"props":145894,"children":145895},{"style":566},[145896],{"type":431,"value":145897},"      \"position\"",{"type":426,"tag":553,"props":145899,"children":145900},{"style":684},[145901],{"type":431,"value":145902},": [",{"type":426,"tag":553,"props":145904,"children":145905},{"style":566},[145906],{"type":431,"value":10114},{"type":426,"tag":553,"props":145908,"children":145909},{"style":684},[145910],{"type":431,"value":1907},{"type":426,"tag":553,"props":145912,"children":145913},{"style":566},[145914],{"type":431,"value":145915},"300",{"type":426,"tag":553,"props":145917,"children":145918},{"style":684},[145919],{"type":431,"value":16523},{"type":426,"tag":553,"props":145921,"children":145922},{"class":555,"line":1127},[145923],{"type":426,"tag":553,"props":145924,"children":145925},{"style":684},[145926],{"type":431,"value":17203},{"type":426,"tag":553,"props":145928,"children":145929},{"class":555,"line":1167},[145930],{"type":426,"tag":553,"props":145931,"children":145932},{"style":684},[145933],{"type":431,"value":73368},{"type":426,"tag":553,"props":145935,"children":145936},{"class":555,"line":1184},[145937,145941,145945,145950],{"type":426,"tag":553,"props":145938,"children":145939},{"style":566},[145940],{"type":431,"value":145778},{"type":426,"tag":553,"props":145942,"children":145943},{"style":684},[145944],{"type":431,"value":700},{"type":426,"tag":553,"props":145946,"children":145947},{"style":572},[145948],{"type":431,"value":145949},"\"Format Phone Number\"",{"type":426,"tag":553,"props":145951,"children":145952},{"style":684},[145953],{"type":431,"value":710},{"type":426,"tag":553,"props":145955,"children":145956},{"class":555,"line":1192},[145957,145961,145965,145970],{"type":426,"tag":553,"props":145958,"children":145959},{"style":566},[145960],{"type":431,"value":145799},{"type":426,"tag":553,"props":145962,"children":145963},{"style":684},[145964],{"type":431,"value":700},{"type":426,"tag":553,"props":145966,"children":145967},{"style":572},[145968],{"type":431,"value":145969},"\"n8n-nodes-base.set\"",{"type":426,"tag":553,"props":145971,"children":145972},{"style":684},[145973],{"type":431,"value":710},{"type":426,"tag":553,"props":145975,"children":145976},{"class":555,"line":1210},[145977,145981],{"type":426,"tag":553,"props":145978,"children":145979},{"style":566},[145980],{"type":431,"value":145820},{"type":426,"tag":553,"props":145982,"children":145983},{"style":684},[145984],{"type":431,"value":17102},{"type":426,"tag":553,"props":145986,"children":145987},{"class":555,"line":1253},[145988,145993],{"type":426,"tag":553,"props":145989,"children":145990},{"style":566},[145991],{"type":431,"value":145992},"        \"values\"",{"type":426,"tag":553,"props":145994,"children":145995},{"style":684},[145996],{"type":431,"value":17102},{"type":426,"tag":553,"props":145998,"children":145999},{"class":555,"line":1302},[146000,146005],{"type":426,"tag":553,"props":146001,"children":146002},{"style":566},[146003],{"type":431,"value":146004},"          \"string\"",{"type":426,"tag":553,"props":146006,"children":146007},{"style":684},[146008],{"type":431,"value":17136},{"type":426,"tag":553,"props":146010,"children":146011},{"class":555,"line":1374},[146012],{"type":426,"tag":553,"props":146013,"children":146014},{"style":684},[146015],{"type":431,"value":21084},{"type":426,"tag":553,"props":146017,"children":146018},{"class":555,"line":1414},[146019,146024,146028,146033],{"type":426,"tag":553,"props":146020,"children":146021},{"style":566},[146022],{"type":431,"value":146023},"              \"name\"",{"type":426,"tag":553,"props":146025,"children":146026},{"style":684},[146027],{"type":431,"value":700},{"type":426,"tag":553,"props":146029,"children":146030},{"style":572},[146031],{"type":431,"value":146032},"\"clean_phone\"",{"type":426,"tag":553,"props":146034,"children":146035},{"style":684},[146036],{"type":431,"value":710},{"type":426,"tag":553,"props":146038,"children":146039},{"class":555,"line":1479},[146040,146045,146049],{"type":426,"tag":553,"props":146041,"children":146042},{"style":566},[146043],{"type":431,"value":146044},"              \"value\"",{"type":426,"tag":553,"props":146046,"children":146047},{"style":684},[146048],{"type":431,"value":700},{"type":426,"tag":553,"props":146050,"children":146051},{"style":572},[146052],{"type":431,"value":146053},"\"={{ $json.billing.phone.replace(\u002F[^0-9]\u002Fg, '') }}\"\n",{"type":426,"tag":553,"props":146055,"children":146056},{"class":555,"line":1517},[146057],{"type":426,"tag":553,"props":146058,"children":146059},{"style":684},[146060],{"type":431,"value":146061},"            },\n",{"type":426,"tag":553,"props":146063,"children":146064},{"class":555,"line":1560},[146065],{"type":426,"tag":553,"props":146066,"children":146067},{"style":684},[146068],{"type":431,"value":21084},{"type":426,"tag":553,"props":146070,"children":146071},{"class":555,"line":1598},[146072,146076,146080,146084],{"type":426,"tag":553,"props":146073,"children":146074},{"style":566},[146075],{"type":431,"value":146023},{"type":426,"tag":553,"props":146077,"children":146078},{"style":684},[146079],{"type":431,"value":700},{"type":426,"tag":553,"props":146081,"children":146082},{"style":572},[146083],{"type":431,"value":45275},{"type":426,"tag":553,"props":146085,"children":146086},{"style":684},[146087],{"type":431,"value":710},{"type":426,"tag":553,"props":146089,"children":146090},{"class":555,"line":1636},[146091,146095,146099,146104,146108,146113,146117,146122,146126,146131,146135],{"type":426,"tag":553,"props":146092,"children":146093},{"style":566},[146094],{"type":431,"value":146044},{"type":426,"tag":553,"props":146096,"children":146097},{"style":684},[146098],{"type":431,"value":700},{"type":426,"tag":553,"props":146100,"children":146101},{"style":572},[146102],{"type":431,"value":146103},"\"=*Order Confirmed!* 🛒",{"type":426,"tag":553,"props":146105,"children":146106},{"style":566},[146107],{"type":431,"value":1295},{"type":426,"tag":553,"props":146109,"children":146110},{"style":572},[146111],{"type":431,"value":146112},"Hi {{ $json.billing.first_name }}!",{"type":426,"tag":553,"props":146114,"children":146115},{"style":566},[146116],{"type":431,"value":3661},{"type":426,"tag":553,"props":146118,"children":146119},{"style":572},[146120],{"type":431,"value":146121},"Order #{{ $json.id }}",{"type":426,"tag":553,"props":146123,"children":146124},{"style":566},[146125],{"type":431,"value":3661},{"type":426,"tag":553,"props":146127,"children":146128},{"style":572},[146129],{"type":431,"value":146130},"Total: ${{ $json.total }}",{"type":426,"tag":553,"props":146132,"children":146133},{"style":566},[146134],{"type":431,"value":1295},{"type":426,"tag":553,"props":146136,"children":146137},{"style":572},[146138],{"type":431,"value":146139},"Thank you for your order!\"\n",{"type":426,"tag":553,"props":146141,"children":146142},{"class":555,"line":1645},[146143],{"type":426,"tag":553,"props":146144,"children":146145},{"style":684},[146146],{"type":431,"value":21329},{"type":426,"tag":553,"props":146148,"children":146149},{"class":555,"line":1653},[146150],{"type":426,"tag":553,"props":146151,"children":146152},{"style":684},[146153],{"type":431,"value":146154},"          ]\n",{"type":426,"tag":553,"props":146156,"children":146157},{"class":555,"line":1667},[146158],{"type":426,"tag":553,"props":146159,"children":146160},{"style":684},[146161],{"type":431,"value":15075},{"type":426,"tag":553,"props":146163,"children":146164},{"class":555,"line":1680},[146165],{"type":426,"tag":553,"props":146166,"children":146167},{"style":684},[146168],{"type":431,"value":85516},{"type":426,"tag":553,"props":146170,"children":146171},{"class":555,"line":1740},[146172,146176,146180,146184,146188,146192],{"type":426,"tag":553,"props":146173,"children":146174},{"style":566},[146175],{"type":431,"value":145897},{"type":426,"tag":553,"props":146177,"children":146178},{"style":684},[146179],{"type":431,"value":145902},{"type":426,"tag":553,"props":146181,"children":146182},{"style":566},[146183],{"type":431,"value":52455},{"type":426,"tag":553,"props":146185,"children":146186},{"style":684},[146187],{"type":431,"value":1907},{"type":426,"tag":553,"props":146189,"children":146190},{"style":566},[146191],{"type":431,"value":145915},{"type":426,"tag":553,"props":146193,"children":146194},{"style":684},[146195],{"type":431,"value":16523},{"type":426,"tag":553,"props":146197,"children":146198},{"class":555,"line":1787},[146199],{"type":426,"tag":553,"props":146200,"children":146201},{"style":684},[146202],{"type":431,"value":17203},{"type":426,"tag":553,"props":146204,"children":146205},{"class":555,"line":1796},[146206],{"type":426,"tag":553,"props":146207,"children":146208},{"style":684},[146209],{"type":431,"value":73368},{"type":426,"tag":553,"props":146211,"children":146212},{"class":555,"line":1804},[146213,146217,146221,146226],{"type":426,"tag":553,"props":146214,"children":146215},{"style":566},[146216],{"type":431,"value":145778},{"type":426,"tag":553,"props":146218,"children":146219},{"style":684},[146220],{"type":431,"value":700},{"type":426,"tag":553,"props":146222,"children":146223},{"style":572},[146224],{"type":431,"value":146225},"\"Send WhatsApp via Rapiwa\"",{"type":426,"tag":553,"props":146227,"children":146228},{"style":684},[146229],{"type":431,"value":710},{"type":426,"tag":553,"props":146231,"children":146232},{"class":555,"line":1812},[146233,146237,146241,146246],{"type":426,"tag":553,"props":146234,"children":146235},{"style":566},[146236],{"type":431,"value":145799},{"type":426,"tag":553,"props":146238,"children":146239},{"style":684},[146240],{"type":431,"value":700},{"type":426,"tag":553,"props":146242,"children":146243},{"style":572},[146244],{"type":431,"value":146245},"\"n8n-nodes-base.httpRequest\"",{"type":426,"tag":553,"props":146247,"children":146248},{"style":684},[146249],{"type":431,"value":710},{"type":426,"tag":553,"props":146251,"children":146252},{"class":555,"line":1847},[146253,146257],{"type":426,"tag":553,"props":146254,"children":146255},{"style":566},[146256],{"type":431,"value":145820},{"type":426,"tag":553,"props":146258,"children":146259},{"style":684},[146260],{"type":431,"value":17102},{"type":426,"tag":553,"props":146262,"children":146263},{"class":555,"line":1856},[146264,146269,146273,146277],{"type":426,"tag":553,"props":146265,"children":146266},{"style":566},[146267],{"type":431,"value":146268},"        \"method\"",{"type":426,"tag":553,"props":146270,"children":146271},{"style":684},[146272],{"type":431,"value":700},{"type":426,"tag":553,"props":146274,"children":146275},{"style":572},[146276],{"type":431,"value":60428},{"type":426,"tag":553,"props":146278,"children":146279},{"style":684},[146280],{"type":431,"value":710},{"type":426,"tag":553,"props":146282,"children":146283},{"class":555,"line":1874},[146284,146289,146293,146297],{"type":426,"tag":553,"props":146285,"children":146286},{"style":566},[146287],{"type":431,"value":146288},"        \"url\"",{"type":426,"tag":553,"props":146290,"children":146291},{"style":684},[146292],{"type":431,"value":700},{"type":426,"tag":553,"props":146294,"children":146295},{"style":572},[146296],{"type":431,"value":60449},{"type":426,"tag":553,"props":146298,"children":146299},{"style":684},[146300],{"type":431,"value":710},{"type":426,"tag":553,"props":146302,"children":146303},{"class":555,"line":1882},[146304,146309,146313,146318],{"type":426,"tag":553,"props":146305,"children":146306},{"style":566},[146307],{"type":431,"value":146308},"        \"authentication\"",{"type":426,"tag":553,"props":146310,"children":146311},{"style":684},[146312],{"type":431,"value":700},{"type":426,"tag":553,"props":146314,"children":146315},{"style":572},[146316],{"type":431,"value":146317},"\"headerAuth\"",{"type":426,"tag":553,"props":146319,"children":146320},{"style":684},[146321],{"type":431,"value":710},{"type":426,"tag":553,"props":146323,"children":146324},{"class":555,"line":1981},[146325,146330,146334,146338],{"type":426,"tag":553,"props":146326,"children":146327},{"style":566},[146328],{"type":431,"value":146329},"        \"headerAuthName\"",{"type":426,"tag":553,"props":146331,"children":146332},{"style":684},[146333],{"type":431,"value":700},{"type":426,"tag":553,"props":146335,"children":146336},{"style":572},[146337],{"type":431,"value":45214},{"type":426,"tag":553,"props":146339,"children":146340},{"style":684},[146341],{"type":431,"value":710},{"type":426,"tag":553,"props":146343,"children":146344},{"class":555,"line":1989},[146345,146350,146354,146358],{"type":426,"tag":553,"props":146346,"children":146347},{"style":566},[146348],{"type":431,"value":146349},"        \"headerAuthValue\"",{"type":426,"tag":553,"props":146351,"children":146352},{"style":684},[146353],{"type":431,"value":700},{"type":426,"tag":553,"props":146355,"children":146356},{"style":572},[146357],{"type":431,"value":140737},{"type":426,"tag":553,"props":146359,"children":146360},{"style":684},[146361],{"type":431,"value":710},{"type":426,"tag":553,"props":146363,"children":146364},{"class":555,"line":2013},[146365,146370,146374,146379],{"type":426,"tag":553,"props":146366,"children":146367},{"style":566},[146368],{"type":431,"value":146369},"        \"bodyContentType\"",{"type":426,"tag":553,"props":146371,"children":146372},{"style":684},[146373],{"type":431,"value":700},{"type":426,"tag":553,"props":146375,"children":146376},{"style":572},[146377],{"type":431,"value":146378},"\"json\"",{"type":426,"tag":553,"props":146380,"children":146381},{"style":684},[146382],{"type":431,"value":710},{"type":426,"tag":553,"props":146384,"children":146385},{"class":555,"line":2055},[146386,146391,146395],{"type":426,"tag":553,"props":146387,"children":146388},{"style":566},[146389],{"type":431,"value":146390},"        \"jsonBody\"",{"type":426,"tag":553,"props":146392,"children":146393},{"style":684},[146394],{"type":431,"value":700},{"type":426,"tag":553,"props":146396,"children":146397},{"style":572},[146398],{"type":431,"value":146399},"\"={{ JSON.stringify({number: $json.clean_phone, message: $json.message}) }}\"\n",{"type":426,"tag":553,"props":146401,"children":146402},{"class":555,"line":2064},[146403],{"type":426,"tag":553,"props":146404,"children":146405},{"style":684},[146406],{"type":431,"value":85516},{"type":426,"tag":553,"props":146408,"children":146409},{"class":555,"line":2087},[146410,146414,146418,146423,146427,146431],{"type":426,"tag":553,"props":146411,"children":146412},{"style":566},[146413],{"type":431,"value":145897},{"type":426,"tag":553,"props":146415,"children":146416},{"style":684},[146417],{"type":431,"value":145902},{"type":426,"tag":553,"props":146419,"children":146420},{"style":566},[146421],{"type":431,"value":146422},"600",{"type":426,"tag":553,"props":146424,"children":146425},{"style":684},[146426],{"type":431,"value":1907},{"type":426,"tag":553,"props":146428,"children":146429},{"style":566},[146430],{"type":431,"value":145915},{"type":426,"tag":553,"props":146432,"children":146433},{"style":684},[146434],{"type":431,"value":16523},{"type":426,"tag":553,"props":146436,"children":146437},{"class":555,"line":2096},[146438],{"type":426,"tag":553,"props":146439,"children":146440},{"style":684},[146441],{"type":431,"value":5546},{"type":426,"tag":553,"props":146443,"children":146444},{"class":555,"line":2105},[146445],{"type":426,"tag":553,"props":146446,"children":146447},{"style":684},[146448],{"type":431,"value":146449},"  ]\n",{"type":426,"tag":553,"props":146451,"children":146452},{"class":555,"line":2114},[146453],{"type":426,"tag":553,"props":146454,"children":146455},{"style":684},[146456],{"type":431,"value":756},{"type":426,"tag":434,"props":146458,"children":146460},{"id":146459},"receive-whatsapp-messages-in-n8n-webhook",[146461],{"type":431,"value":146462},"Receive WhatsApp Messages in n8n (Webhook)",{"type":426,"tag":427,"props":146464,"children":146465},{},[146466],{"type":431,"value":146467},"To receive incoming WhatsApp messages in n8n:",{"type":426,"tag":6331,"props":146469,"children":146470},{},[146471,146481,146498,146509,146514],{"type":426,"tag":458,"props":146472,"children":146473},{},[146474,146475,146479],{"type":431,"value":60194},{"type":426,"tag":446,"props":146476,"children":146477},{},[146478],{"type":431,"value":60199},{"type":431,"value":146480}," node to your workflow",{"type":426,"tag":458,"props":146482,"children":146483},{},[146484,146486,146490,146492],{"type":431,"value":146485},"Set method to ",{"type":426,"tag":446,"props":146487,"children":146488},{},[146489],{"type":431,"value":67603},{"type":431,"value":146491},", path to e.g. ",{"type":426,"tag":549,"props":146493,"children":146495},{"className":146494},[],[146496],{"type":431,"value":146497},"rapiwa-incoming",{"type":426,"tag":458,"props":146499,"children":146500},{},[146501,146502,146508],{"type":431,"value":60206},{"type":426,"tag":549,"props":146503,"children":146505},{"className":146504},[],[146506],{"type":431,"value":146507},"https:\u002F\u002Fyour-n8n.cloud\u002Fwebhook\u002Frapiwa-incoming",{"type":431,"value":5736},{"type":426,"tag":458,"props":146510,"children":146511},{},[146512],{"type":431,"value":146513},"In Rapiwa dashboard → Webhooks → add this URL",{"type":426,"tag":458,"props":146515,"children":146516},{},[146517],{"type":431,"value":146518},"Activate the workflow",{"type":426,"tag":427,"props":146520,"children":146521},{},[146522],{"type":431,"value":146523},"When someone sends a WhatsApp message to your Rapiwa number, n8n receives:",{"type":426,"tag":542,"props":146525,"children":146527},{"code":146526,"language":673,"meta":417,"className":674,"style":417},"{\n  \"event\": \"message.received\",\n  \"from\": \"8801234567890\",\n  \"fromName\": \"Customer Name\",\n  \"message\": \"Hi, I need help with my order\",\n  \"timestamp\": \"2026-05-31T10:00:00Z\"\n}\n",[146528],{"type":426,"tag":549,"props":146529,"children":146530},{"__ignoreMap":417},[146531,146538,146557,146577,146598,146618,146634],{"type":426,"tag":553,"props":146532,"children":146533},{"class":555,"line":556},[146534],{"type":426,"tag":553,"props":146535,"children":146536},{"style":684},[146537],{"type":431,"value":687},{"type":426,"tag":553,"props":146539,"children":146540},{"class":555,"line":588},[146541,146545,146549,146553],{"type":426,"tag":553,"props":146542,"children":146543},{"style":566},[146544],{"type":431,"value":81627},{"type":426,"tag":553,"props":146546,"children":146547},{"style":684},[146548],{"type":431,"value":700},{"type":426,"tag":553,"props":146550,"children":146551},{"style":572},[146552],{"type":431,"value":81636},{"type":426,"tag":553,"props":146554,"children":146555},{"style":684},[146556],{"type":431,"value":710},{"type":426,"tag":553,"props":146558,"children":146559},{"class":555,"line":606},[146560,146565,146569,146573],{"type":426,"tag":553,"props":146561,"children":146562},{"style":566},[146563],{"type":431,"value":146564},"  \"from\"",{"type":426,"tag":553,"props":146566,"children":146567},{"style":684},[146568],{"type":431,"value":700},{"type":426,"tag":553,"props":146570,"children":146571},{"style":572},[146572],{"type":431,"value":7286},{"type":426,"tag":553,"props":146574,"children":146575},{"style":684},[146576],{"type":431,"value":710},{"type":426,"tag":553,"props":146578,"children":146579},{"class":555,"line":623},[146580,146585,146589,146594],{"type":426,"tag":553,"props":146581,"children":146582},{"style":566},[146583],{"type":431,"value":146584},"  \"fromName\"",{"type":426,"tag":553,"props":146586,"children":146587},{"style":684},[146588],{"type":431,"value":700},{"type":426,"tag":553,"props":146590,"children":146591},{"style":572},[146592],{"type":431,"value":146593},"\"Customer Name\"",{"type":426,"tag":553,"props":146595,"children":146596},{"style":684},[146597],{"type":431,"value":710},{"type":426,"tag":553,"props":146599,"children":146600},{"class":555,"line":637},[146601,146605,146609,146614],{"type":426,"tag":553,"props":146602,"children":146603},{"style":566},[146604],{"type":431,"value":7298},{"type":426,"tag":553,"props":146606,"children":146607},{"style":684},[146608],{"type":431,"value":700},{"type":426,"tag":553,"props":146610,"children":146611},{"style":572},[146612],{"type":431,"value":146613},"\"Hi, I need help with my order\"",{"type":426,"tag":553,"props":146615,"children":146616},{"style":684},[146617],{"type":431,"value":710},{"type":426,"tag":553,"props":146619,"children":146620},{"class":555,"line":646},[146621,146625,146629],{"type":426,"tag":553,"props":146622,"children":146623},{"style":566},[146624],{"type":431,"value":739},{"type":426,"tag":553,"props":146626,"children":146627},{"style":684},[146628],{"type":431,"value":700},{"type":426,"tag":553,"props":146630,"children":146631},{"style":572},[146632],{"type":431,"value":146633},"\"2026-05-31T10:00:00Z\"\n",{"type":426,"tag":553,"props":146635,"children":146636},{"class":555,"line":655},[146637],{"type":426,"tag":553,"props":146638,"children":146639},{"style":684},[146640],{"type":431,"value":756},{"type":426,"tag":434,"props":146642,"children":146644},{"id":146643},"building-a-two-way-whatsapp-bot-in-n8n",[146645],{"type":431,"value":146646},"Building a Two-Way WhatsApp Bot in n8n",{"type":426,"tag":427,"props":146648,"children":146649},{},[146650],{"type":431,"value":146651},"Combining send and receive:",{"type":426,"tag":542,"props":146653,"children":146655},{"code":146654},"[Rapiwa Webhook] → [n8n processes message] → [Rapiwa HTTP Request sends reply]\n",[146656],{"type":426,"tag":549,"props":146657,"children":146658},{"__ignoreMap":417},[146659],{"type":431,"value":146654},{"type":426,"tag":6331,"props":146661,"children":146662},{},[146663,146668,146673],{"type":426,"tag":458,"props":146664,"children":146665},{},[146666],{"type":431,"value":146667},"Webhook node receives incoming message",{"type":426,"tag":458,"props":146669,"children":146670},{},[146671],{"type":431,"value":146672},"IF node routes based on message content",{"type":426,"tag":458,"props":146674,"children":146675},{},[146676],{"type":431,"value":146677},"HTTP Request node sends reply via Rapiwa",{"type":426,"tag":542,"props":146679,"children":146681},{"code":146680,"language":673,"meta":417,"className":674,"style":417},"\u002F\u002F In the HTTP Request \"reply\" node:\n{\n  \"number\": \"={{ $('Webhook').item.json.from }}\",\n  \"message\": \"Thanks for your message! We'll reply within 1 hour.\"\n}\n",[146682],{"type":426,"tag":549,"props":146683,"children":146684},{"__ignoreMap":417},[146685,146693,146700,146719,146735],{"type":426,"tag":553,"props":146686,"children":146687},{"class":555,"line":556},[146688],{"type":426,"tag":553,"props":146689,"children":146690},{"style":1975},[146691],{"type":431,"value":146692},"\u002F\u002F In the HTTP Request \"reply\" node:\n",{"type":426,"tag":553,"props":146694,"children":146695},{"class":555,"line":588},[146696],{"type":426,"tag":553,"props":146697,"children":146698},{"style":684},[146699],{"type":431,"value":687},{"type":426,"tag":553,"props":146701,"children":146702},{"class":555,"line":606},[146703,146707,146711,146715],{"type":426,"tag":553,"props":146704,"children":146705},{"style":566},[146706],{"type":431,"value":7277},{"type":426,"tag":553,"props":146708,"children":146709},{"style":684},[146710],{"type":431,"value":700},{"type":426,"tag":553,"props":146712,"children":146713},{"style":572},[146714],{"type":431,"value":125674},{"type":426,"tag":553,"props":146716,"children":146717},{"style":684},[146718],{"type":431,"value":710},{"type":426,"tag":553,"props":146720,"children":146721},{"class":555,"line":623},[146722,146726,146730],{"type":426,"tag":553,"props":146723,"children":146724},{"style":566},[146725],{"type":431,"value":7298},{"type":426,"tag":553,"props":146727,"children":146728},{"style":684},[146729],{"type":431,"value":700},{"type":426,"tag":553,"props":146731,"children":146732},{"style":572},[146733],{"type":431,"value":146734},"\"Thanks for your message! We'll reply within 1 hour.\"\n",{"type":426,"tag":553,"props":146736,"children":146737},{"class":555,"line":637},[146738],{"type":426,"tag":553,"props":146739,"children":146740},{"style":684},[146741],{"type":431,"value":756},{"type":426,"tag":434,"props":146743,"children":146745},{"id":146744},"common-n8n-rapiwa-issues",[146746],{"type":431,"value":146747},"Common n8n + Rapiwa Issues",{"type":426,"tag":427,"props":146749,"children":146750},{},[146751],{"type":426,"tag":446,"props":146752,"children":146753},{},[146754],{"type":431,"value":146755},"\"Authentication failed\" error:",{"type":426,"tag":454,"props":146757,"children":146758},{},[146759,146764],{"type":426,"tag":458,"props":146760,"children":146761},{},[146762],{"type":431,"value":146763},"Check your API key has no extra spaces",{"type":426,"tag":458,"props":146765,"children":146766},{},[146767,146769,146775],{"type":431,"value":146768},"Ensure the header value is exactly ",{"type":426,"tag":549,"props":146770,"children":146772},{"className":146771},[],[146773],{"type":431,"value":146774},"Bearer YOUR_KEY",{"type":431,"value":146776}," (with space after \"Bearer\")",{"type":426,"tag":427,"props":146778,"children":146779},{},[146780],{"type":426,"tag":446,"props":146781,"children":146782},{},[146783],{"type":431,"value":146784},"Empty phone number:",{"type":426,"tag":454,"props":146786,"children":146787},{},[146788,146793],{"type":426,"tag":458,"props":146789,"children":146790},{},[146791],{"type":431,"value":146792},"Check your data mapping — use n8n's input inspector to see the exact field names",{"type":426,"tag":458,"props":146794,"children":146795},{},[146796,146798],{"type":431,"value":146797},"Clean phone numbers with: ",{"type":426,"tag":549,"props":146799,"children":146801},{"className":146800},[],[146802],{"type":431,"value":104486},{"type":426,"tag":427,"props":146804,"children":146805},{},[146806],{"type":426,"tag":446,"props":146807,"children":146808},{},[146809],{"type":431,"value":146810},"Workflow not triggering:",{"type":426,"tag":454,"props":146812,"children":146813},{},[146814,146819],{"type":426,"tag":458,"props":146815,"children":146816},{},[146817],{"type":431,"value":146818},"For webhooks: ensure your n8n instance is accessible from the internet",{"type":426,"tag":458,"props":146820,"children":146821},{},[146822],{"type":431,"value":146823},"For scheduled triggers: check timezone settings in n8n",{"type":426,"tag":434,"props":146825,"children":146826},{"id":4109},[146827],{"type":431,"value":4112},{"type":426,"tag":427,"props":146829,"children":146830},{},[146831,146836],{"type":426,"tag":446,"props":146832,"children":146833},{},[146834],{"type":431,"value":146835},"Do I need to know how to code to use Rapiwa with n8n?",{"type":431,"value":146837},"\nNo. Use any of the 10 pre-built templates — import, add your API key, activate. Zero coding required.",{"type":426,"tag":427,"props":146839,"children":146840},{},[146841,146846],{"type":426,"tag":446,"props":146842,"children":146843},{},[146844],{"type":431,"value":146845},"Is n8n free to use with Rapiwa?",{"type":431,"value":146847},"\nn8n has a free self-hosted version (unlimited) and a free Cloud tier (5,000 executions\u002Fmonth). For most small business use cases, the free tier is sufficient.",{"type":426,"tag":427,"props":146849,"children":146850},{},[146851,146856],{"type":426,"tag":446,"props":146852,"children":146853},{},[146854],{"type":431,"value":146855},"Can I use Rapiwa with n8n's WooCommerce trigger?",{"type":431,"value":146857},"\nYes. The WooCommerce trigger or webhook node fires when orders are created\u002Fupdated, then the HTTP Request node sends the WhatsApp message via Rapiwa.",{"type":426,"tag":427,"props":146859,"children":146860},{},[146861,146866,146868,146873,146874,146879,146880,146885,146886,146891],{"type":426,"tag":446,"props":146862,"children":146863},{},[146864],{"type":431,"value":146865},"How do I format messages in n8n for WhatsApp?",{"type":431,"value":146867},"\nUse WhatsApp markdown in your message text: ",{"type":426,"tag":549,"props":146869,"children":146871},{"className":146870},[],[146872],{"type":431,"value":7672},{"type":431,"value":1907},{"type":426,"tag":549,"props":146875,"children":146877},{"className":146876},[],[146878],{"type":431,"value":7683},{"type":431,"value":1907},{"type":426,"tag":549,"props":146881,"children":146883},{"className":146882},[],[146884],{"type":431,"value":7693},{"type":431,"value":90779},{"type":426,"tag":549,"props":146887,"children":146889},{"className":146888},[],[146890],{"type":431,"value":3661},{"type":431,"value":146892}," for line breaks in n8n expressions.",{"type":426,"tag":427,"props":146894,"children":146895},{},[146896,146901,146903,146908],{"type":426,"tag":446,"props":146897,"children":146898},{},[146899],{"type":431,"value":146900},"What are the most popular Rapiwa + n8n workflows?",{"type":431,"value":146902},"\nWooCommerce invoice delivery (1,306 installs), Google Calendar reminders (538), GPT-4 support bot (474), and WooCommerce cross-sell (311). See all at ",{"type":426,"tag":3819,"props":146904,"children":146906},{"href":145202,"rel":146905},[3823],[146907],{"type":431,"value":145206},{"type":431,"value":6789},{"type":426,"tag":4164,"props":146910,"children":146911},{},[146912],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":146914},[146915,146916,146917,146923,146924,146925,146926,146927],{"id":145158,"depth":588,"text":145161},{"id":145191,"depth":588,"text":145194},{"id":145289,"depth":588,"text":145292,"children":146918},[146919,146920,146921,146922],{"id":145295,"depth":606,"text":145298},{"id":145333,"depth":606,"text":145336},{"id":145543,"depth":606,"text":145546},{"id":145667,"depth":606,"text":145670},{"id":145708,"depth":588,"text":145711},{"id":146459,"depth":588,"text":146462},{"id":146643,"depth":588,"text":146646},{"id":146744,"depth":588,"text":146747},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-integrate-rapiwa-with-n8n-complete-tutorial.md","blog\u002Fhow-to-integrate-rapiwa-with-n8n-complete-tutorial.md","blog\u002Fhow-to-integrate-rapiwa-with-n8n-complete-tutorial",{"loc":205},{"_path":209,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":210,"description":211,"date":146933,"author":6858,"category":212,"_slug":146934,"image":146935,"body":146936,"_type":4187,"_id":148254,"_source":4189,"_file":148255,"_stem":148256,"_extension":4192,"sitemap":148257},"2026-01-27","best-twilio-whatsapp-alternative-2026-cheaper-no-fees","\u002Fimages\u002Fblog\u002Fbest-twilio-whatsapp-alternative-2026-cheaper-no-fees.svg",{"type":423,"children":146937,"toc":148242},[146938,146950,146956,146961,147014,147020,147290,147296,147302,147339,147345,147379,147385,147419,147425,147433,147609,147617,147776,147784,148124,148137,148143,148148,148171,148176,148180,148190,148200,148210,148220,148238],{"type":426,"tag":427,"props":146939,"children":146940},{},[146941,146943,146948],{"type":431,"value":146942},"The best Twilio WhatsApp alternative in 2026 is ",{"type":426,"tag":3819,"props":146944,"children":146946},{"href":3821,"rel":146945},[3823],[146947],{"type":431,"value":127310},{"type":431,"value":146949}," — at $5\u002Fmonth flat with no per-message fees, it is 50–60x cheaper than Twilio for high-volume WhatsApp messaging. Twilio charges $0.025 per marketing conversation plus per-message fees and requires Meta business verification. Rapiwa requires none of these and connects in 5 minutes.",{"type":426,"tag":434,"props":146951,"children":146953},{"id":146952},"why-developers-switch-from-twilio-whatsapp",[146954],{"type":431,"value":146955},"Why Developers Switch from Twilio WhatsApp",{"type":426,"tag":427,"props":146957,"children":146958},{},[146959],{"type":431,"value":146960},"Developers and businesses switch from Twilio's WhatsApp integration when:",{"type":426,"tag":6331,"props":146962,"children":146963},{},[146964,146974,146984,146994,147004],{"type":426,"tag":458,"props":146965,"children":146966},{},[146967,146972],{"type":426,"tag":446,"props":146968,"children":146969},{},[146970],{"type":431,"value":146971},"The cost is too high",{"type":431,"value":146973}," — Twilio's per-conversation pricing becomes expensive quickly",{"type":426,"tag":458,"props":146975,"children":146976},{},[146977,146982],{"type":426,"tag":446,"props":146978,"children":146979},{},[146980],{"type":431,"value":146981},"The approval process is too slow",{"type":431,"value":146983}," — Meta business verification + template approval takes days to weeks",{"type":426,"tag":458,"props":146985,"children":146986},{},[146987,146992],{"type":426,"tag":446,"props":146988,"children":146989},{},[146990],{"type":431,"value":146991},"Templates are too restrictive",{"type":431,"value":146993}," — needing pre-approved templates for every outbound message is inflexible",{"type":426,"tag":458,"props":146995,"children":146996},{},[146997,147002],{"type":426,"tag":446,"props":146998,"children":146999},{},[147000],{"type":431,"value":147001},"The 24-hour window limits campaigns",{"type":431,"value":147003}," — can't reach customers outside the service window without templates",{"type":426,"tag":458,"props":147005,"children":147006},{},[147007,147012],{"type":426,"tag":446,"props":147008,"children":147009},{},[147010],{"type":431,"value":147011},"Simpler alternatives exist",{"type":431,"value":147013}," — Rapiwa's flat-rate API is faster to set up and cheaper to run",{"type":426,"tag":434,"props":147015,"children":147017},{"id":147016},"twilio-vs-top-whatsapp-alternatives-full-comparison",[147018],{"type":431,"value":147019},"Twilio vs Top WhatsApp Alternatives: Full Comparison",{"type":426,"tag":10600,"props":147021,"children":147022},{},[147023,147064],{"type":426,"tag":10604,"props":147024,"children":147025},{},[147026],{"type":426,"tag":10608,"props":147027,"children":147028},{},[147029,147034,147039,147044,147049,147054,147059],{"type":426,"tag":10612,"props":147030,"children":147031},{},[147032],{"type":431,"value":147033},"Provider",{"type":426,"tag":10612,"props":147035,"children":147036},{},[147037],{"type":431,"value":147038},"Type",{"type":426,"tag":10612,"props":147040,"children":147041},{},[147042],{"type":431,"value":147043},"Monthly Cost",{"type":426,"tag":10612,"props":147045,"children":147046},{},[147047],{"type":431,"value":147048},"Per-msg",{"type":426,"tag":10612,"props":147050,"children":147051},{},[147052],{"type":431,"value":147053},"Approval",{"type":426,"tag":10612,"props":147055,"children":147056},{},[147057],{"type":431,"value":147058},"Templates",{"type":426,"tag":10612,"props":147060,"children":147061},{},[147062],{"type":431,"value":147063},"Setup",{"type":426,"tag":10623,"props":147065,"children":147066},{},[147067,147103,147156,147189,147223,147257],{"type":426,"tag":10608,"props":147068,"children":147069},{},[147070,147075,147080,147085,147089,147094,147099],{"type":426,"tag":10630,"props":147071,"children":147072},{},[147073],{"type":431,"value":147074},"Twilio WhatsApp",{"type":426,"tag":10630,"props":147076,"children":147077},{},[147078],{"type":431,"value":147079},"Official",{"type":426,"tag":10630,"props":147081,"children":147082},{},[147083],{"type":431,"value":147084},"Variable",{"type":426,"tag":10630,"props":147086,"children":147087},{},[147088],{"type":431,"value":103087},{"type":426,"tag":10630,"props":147090,"children":147091},{},[147092],{"type":431,"value":147093},"Yes (Meta)",{"type":426,"tag":10630,"props":147095,"children":147096},{},[147097],{"type":431,"value":147098},"Required",{"type":426,"tag":10630,"props":147100,"children":147101},{},[147102],{"type":431,"value":114800},{"type":426,"tag":10608,"props":147104,"children":147105},{},[147106,147113,147118,147126,147133,147140,147148],{"type":426,"tag":10630,"props":147107,"children":147108},{},[147109],{"type":426,"tag":446,"props":147110,"children":147111},{},[147112],{"type":431,"value":127310},{"type":426,"tag":10630,"props":147114,"children":147115},{},[147116],{"type":431,"value":147117},"Unofficial",{"type":426,"tag":10630,"props":147119,"children":147120},{},[147121],{"type":426,"tag":446,"props":147122,"children":147123},{},[147124],{"type":431,"value":147125},"$5",{"type":426,"tag":10630,"props":147127,"children":147128},{},[147129],{"type":426,"tag":446,"props":147130,"children":147131},{},[147132],{"type":431,"value":1840},{"type":426,"tag":10630,"props":147134,"children":147135},{},[147136],{"type":426,"tag":446,"props":147137,"children":147138},{},[147139],{"type":431,"value":1840},{"type":426,"tag":10630,"props":147141,"children":147142},{},[147143],{"type":426,"tag":446,"props":147144,"children":147145},{},[147146],{"type":431,"value":147147},"Not required",{"type":426,"tag":10630,"props":147149,"children":147150},{},[147151],{"type":426,"tag":446,"props":147152,"children":147153},{},[147154],{"type":431,"value":147155},"5 min",{"type":426,"tag":10608,"props":147157,"children":147158},{},[147159,147164,147168,147173,147177,147181,147185],{"type":426,"tag":10630,"props":147160,"children":147161},{},[147162],{"type":431,"value":147163},"WasenderAPI",{"type":426,"tag":10630,"props":147165,"children":147166},{},[147167],{"type":431,"value":147117},{"type":426,"tag":10630,"props":147169,"children":147170},{},[147171],{"type":431,"value":147172},"$6",{"type":426,"tag":10630,"props":147174,"children":147175},{},[147176],{"type":431,"value":1840},{"type":426,"tag":10630,"props":147178,"children":147179},{},[147180],{"type":431,"value":1840},{"type":426,"tag":10630,"props":147182,"children":147183},{},[147184],{"type":431,"value":147147},{"type":426,"tag":10630,"props":147186,"children":147187},{},[147188],{"type":431,"value":147155},{"type":426,"tag":10608,"props":147190,"children":147191},{},[147192,147197,147201,147206,147210,147214,147218],{"type":426,"tag":10630,"props":147193,"children":147194},{},[147195],{"type":431,"value":147196},"WAHA Cloud",{"type":426,"tag":10630,"props":147198,"children":147199},{},[147200],{"type":431,"value":147117},{"type":426,"tag":10630,"props":147202,"children":147203},{},[147204],{"type":431,"value":147205},"$19",{"type":426,"tag":10630,"props":147207,"children":147208},{},[147209],{"type":431,"value":1840},{"type":426,"tag":10630,"props":147211,"children":147212},{},[147213],{"type":431,"value":1840},{"type":426,"tag":10630,"props":147215,"children":147216},{},[147217],{"type":431,"value":147147},{"type":426,"tag":10630,"props":147219,"children":147220},{},[147221],{"type":431,"value":147222},"30 min",{"type":426,"tag":10608,"props":147224,"children":147225},{},[147226,147231,147235,147240,147245,147249,147253],{"type":426,"tag":10630,"props":147227,"children":147228},{},[147229],{"type":431,"value":147230},"WATI",{"type":426,"tag":10630,"props":147232,"children":147233},{},[147234],{"type":431,"value":147079},{"type":426,"tag":10630,"props":147236,"children":147237},{},[147238],{"type":431,"value":147239},"$49",{"type":426,"tag":10630,"props":147241,"children":147242},{},[147243],{"type":431,"value":147244},"Meta fees",{"type":426,"tag":10630,"props":147246,"children":147247},{},[147248],{"type":431,"value":103087},{"type":426,"tag":10630,"props":147250,"children":147251},{},[147252],{"type":431,"value":147098},{"type":426,"tag":10630,"props":147254,"children":147255},{},[147256],{"type":431,"value":114800},{"type":426,"tag":10608,"props":147258,"children":147259},{},[147260,147265,147269,147274,147278,147282,147286],{"type":426,"tag":10630,"props":147261,"children":147262},{},[147263],{"type":431,"value":147264},"360dialog",{"type":426,"tag":10630,"props":147266,"children":147267},{},[147268],{"type":431,"value":147079},{"type":426,"tag":10630,"props":147270,"children":147271},{},[147272],{"type":431,"value":147273},"$5 + fees",{"type":426,"tag":10630,"props":147275,"children":147276},{},[147277],{"type":431,"value":147244},{"type":426,"tag":10630,"props":147279,"children":147280},{},[147281],{"type":431,"value":103087},{"type":426,"tag":10630,"props":147283,"children":147284},{},[147285],{"type":431,"value":147098},{"type":426,"tag":10630,"props":147287,"children":147288},{},[147289],{"type":431,"value":114800},{"type":426,"tag":434,"props":147291,"children":147293},{"id":147292},"how-much-can-you-save-switching-to-rapiwa",[147294],{"type":431,"value":147295},"How Much Can You Save Switching to Rapiwa?",{"type":426,"tag":515,"props":147297,"children":147299},{"id":147298},"at-5000-messagesmonth",[147300],{"type":431,"value":147301},"At 5,000 Messages\u002FMonth",{"type":426,"tag":454,"props":147303,"children":147304},{},[147305,147315,147324],{"type":426,"tag":458,"props":147306,"children":147307},{},[147308,147313],{"type":426,"tag":446,"props":147309,"children":147310},{},[147311],{"type":431,"value":147312},"Twilio",{"type":431,"value":147314}," (Marketing conversations, US): 5,000 × $0.025 = ~$125\u002Fmonth + platform fees = ~$130–150\u002Fmonth",{"type":426,"tag":458,"props":147316,"children":147317},{},[147318,147322],{"type":426,"tag":446,"props":147319,"children":147320},{},[147321],{"type":431,"value":127310},{"type":431,"value":147323},": $5\u002Fmonth",{"type":426,"tag":458,"props":147325,"children":147326},{},[147327,147332,147334],{"type":426,"tag":446,"props":147328,"children":147329},{},[147330],{"type":431,"value":147331},"Savings",{"type":431,"value":147333},": ~$125\u002Fmonth = ",{"type":426,"tag":446,"props":147335,"children":147336},{},[147337],{"type":431,"value":147338},"$1,500\u002Fyear",{"type":426,"tag":515,"props":147340,"children":147342},{"id":147341},"at-10000-messagesmonth",[147343],{"type":431,"value":147344},"At 10,000 Messages\u002FMonth",{"type":426,"tag":454,"props":147346,"children":147347},{},[147348,147357,147365],{"type":426,"tag":458,"props":147349,"children":147350},{},[147351,147355],{"type":426,"tag":446,"props":147352,"children":147353},{},[147354],{"type":431,"value":147312},{"type":431,"value":147356},": ~$250–300\u002Fmonth",{"type":426,"tag":458,"props":147358,"children":147359},{},[147360,147364],{"type":426,"tag":446,"props":147361,"children":147362},{},[147363],{"type":431,"value":127310},{"type":431,"value":147323},{"type":426,"tag":458,"props":147366,"children":147367},{},[147368,147372,147374],{"type":426,"tag":446,"props":147369,"children":147370},{},[147371],{"type":431,"value":147331},{"type":431,"value":147373},": ~$245–295\u002Fmonth = ",{"type":426,"tag":446,"props":147375,"children":147376},{},[147377],{"type":431,"value":147378},"$2,940–$3,540\u002Fyear",{"type":426,"tag":515,"props":147380,"children":147382},{"id":147381},"at-50000-messagesmonth",[147383],{"type":431,"value":147384},"At 50,000 Messages\u002FMonth",{"type":426,"tag":454,"props":147386,"children":147387},{},[147388,147397,147405],{"type":426,"tag":458,"props":147389,"children":147390},{},[147391,147395],{"type":426,"tag":446,"props":147392,"children":147393},{},[147394],{"type":431,"value":147312},{"type":431,"value":147396},": ~$1,250–1,500\u002Fmonth",{"type":426,"tag":458,"props":147398,"children":147399},{},[147400,147404],{"type":426,"tag":446,"props":147401,"children":147402},{},[147403],{"type":431,"value":127310},{"type":431,"value":147323},{"type":426,"tag":458,"props":147406,"children":147407},{},[147408,147412,147414],{"type":426,"tag":446,"props":147409,"children":147410},{},[147411],{"type":431,"value":147331},{"type":431,"value":147413},": ~$1,245–1,495\u002Fmonth = ",{"type":426,"tag":446,"props":147415,"children":147416},{},[147417],{"type":431,"value":147418},"$14,940–17,940\u002Fyear",{"type":426,"tag":434,"props":147420,"children":147422},{"id":147421},"code-migration-twilio-to-rapiwa",[147423],{"type":431,"value":147424},"Code Migration: Twilio to Rapiwa",{"type":426,"tag":427,"props":147426,"children":147427},{},[147428],{"type":426,"tag":446,"props":147429,"children":147430},{},[147431],{"type":431,"value":147432},"Twilio WhatsApp send (template required):",{"type":426,"tag":542,"props":147434,"children":147436},{"className":785,"code":147435,"language":784,"meta":417,"style":417},"from twilio.rest import Client\n\nclient = Client(account_sid, auth_token)\nmessage = client.messages.create(\n    from_=\"whatsapp:+14155238886\",  # Twilio Sandbox or approved number\n    to=\"whatsapp:+8801234567890\",\n    content_sid=\"HXcb4c421b90a1cf0a7a42d6d88d0f3083\",  # Pre-approved template\n    content_variables='{\"1\":\"John\",\"2\":\"12345\",\"3\":\"$49.99\"}'\n)\nprint(message.sid)\n",[147437],{"type":426,"tag":549,"props":147438,"children":147439},{"__ignoreMap":417},[147440,147461,147468,147484,147500,147526,147547,147573,147590,147597],{"type":426,"tag":553,"props":147441,"children":147442},{"class":555,"line":556},[147443,147447,147452,147456],{"type":426,"tag":553,"props":147444,"children":147445},{"style":795},[147446],{"type":431,"value":811},{"type":426,"tag":553,"props":147448,"children":147449},{"style":684},[147450],{"type":431,"value":147451}," twilio.rest ",{"type":426,"tag":553,"props":147453,"children":147454},{"style":795},[147455],{"type":431,"value":798},{"type":426,"tag":553,"props":147457,"children":147458},{"style":684},[147459],{"type":431,"value":147460}," Client\n",{"type":426,"tag":553,"props":147462,"children":147463},{"class":555,"line":588},[147464],{"type":426,"tag":553,"props":147465,"children":147466},{"emptyLinePlaceholder":831},[147467],{"type":431,"value":834},{"type":426,"tag":553,"props":147469,"children":147470},{"class":555,"line":606},[147471,147475,147479],{"type":426,"tag":553,"props":147472,"children":147473},{"style":684},[147474],{"type":431,"value":140357},{"type":426,"tag":553,"props":147476,"children":147477},{"style":795},[147478],{"type":431,"value":957},{"type":426,"tag":553,"props":147480,"children":147481},{"style":684},[147482],{"type":431,"value":147483}," Client(account_sid, auth_token)\n",{"type":426,"tag":553,"props":147485,"children":147486},{"class":555,"line":623},[147487,147491,147495],{"type":426,"tag":553,"props":147488,"children":147489},{"style":684},[147490],{"type":431,"value":7737},{"type":426,"tag":553,"props":147492,"children":147493},{"style":795},[147494],{"type":431,"value":957},{"type":426,"tag":553,"props":147496,"children":147497},{"style":684},[147498],{"type":431,"value":147499}," client.messages.create(\n",{"type":426,"tag":553,"props":147501,"children":147502},{"class":555,"line":637},[147503,147508,147512,147517,147521],{"type":426,"tag":553,"props":147504,"children":147505},{"style":1684},[147506],{"type":431,"value":147507},"    from_",{"type":426,"tag":553,"props":147509,"children":147510},{"style":795},[147511],{"type":431,"value":957},{"type":426,"tag":553,"props":147513,"children":147514},{"style":572},[147515],{"type":431,"value":147516},"\"whatsapp:+14155238886\"",{"type":426,"tag":553,"props":147518,"children":147519},{"style":684},[147520],{"type":431,"value":11654},{"type":426,"tag":553,"props":147522,"children":147523},{"style":1975},[147524],{"type":431,"value":147525},"# Twilio Sandbox or approved number\n",{"type":426,"tag":553,"props":147527,"children":147528},{"class":555,"line":646},[147529,147534,147538,147543],{"type":426,"tag":553,"props":147530,"children":147531},{"style":1684},[147532],{"type":431,"value":147533},"    to",{"type":426,"tag":553,"props":147535,"children":147536},{"style":795},[147537],{"type":431,"value":957},{"type":426,"tag":553,"props":147539,"children":147540},{"style":572},[147541],{"type":431,"value":147542},"\"whatsapp:+8801234567890\"",{"type":426,"tag":553,"props":147544,"children":147545},{"style":684},[147546],{"type":431,"value":710},{"type":426,"tag":553,"props":147548,"children":147549},{"class":555,"line":655},[147550,147555,147559,147564,147568],{"type":426,"tag":553,"props":147551,"children":147552},{"style":1684},[147553],{"type":431,"value":147554},"    content_sid",{"type":426,"tag":553,"props":147556,"children":147557},{"style":795},[147558],{"type":431,"value":957},{"type":426,"tag":553,"props":147560,"children":147561},{"style":572},[147562],{"type":431,"value":147563},"\"HXcb4c421b90a1cf0a7a42d6d88d0f3083\"",{"type":426,"tag":553,"props":147565,"children":147566},{"style":684},[147567],{"type":431,"value":11654},{"type":426,"tag":553,"props":147569,"children":147570},{"style":1975},[147571],{"type":431,"value":147572},"# Pre-approved template\n",{"type":426,"tag":553,"props":147574,"children":147575},{"class":555,"line":1036},[147576,147581,147585],{"type":426,"tag":553,"props":147577,"children":147578},{"style":1684},[147579],{"type":431,"value":147580},"    content_variables",{"type":426,"tag":553,"props":147582,"children":147583},{"style":795},[147584],{"type":431,"value":957},{"type":426,"tag":553,"props":147586,"children":147587},{"style":572},[147588],{"type":431,"value":147589},"'{\"1\":\"John\",\"2\":\"12345\",\"3\":\"$49.99\"}'\n",{"type":426,"tag":553,"props":147591,"children":147592},{"class":555,"line":1054},[147593],{"type":426,"tag":553,"props":147594,"children":147595},{"style":684},[147596],{"type":431,"value":3262},{"type":426,"tag":553,"props":147598,"children":147599},{"class":555,"line":1080},[147600,147604],{"type":426,"tag":553,"props":147601,"children":147602},{"style":566},[147603],{"type":431,"value":3270},{"type":426,"tag":553,"props":147605,"children":147606},{"style":684},[147607],{"type":431,"value":147608},"(message.sid)\n",{"type":426,"tag":427,"props":147610,"children":147611},{},[147612],{"type":426,"tag":446,"props":147613,"children":147614},{},[147615],{"type":431,"value":147616},"Rapiwa (no template, instant):",{"type":426,"tag":542,"props":147618,"children":147620},{"className":785,"code":147619,"language":784,"meta":417,"style":417},"import requests\n\nresponse = requests.post(\n    \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": \"Bearer YOUR_RAPIWA_KEY\"},\n    json={\n        \"number\": \"8801234567890\",\n        \"message\": \"Hi John! Your order #12345 for $49.99 is confirmed.\"\n    }\n)\nprint(response.json())\n",[147621],{"type":426,"tag":549,"props":147622,"children":147623},{"__ignoreMap":417},[147624,147635,147642,147657,147668,147700,147715,147734,147751,147758,147765],{"type":426,"tag":553,"props":147625,"children":147626},{"class":555,"line":556},[147627,147631],{"type":426,"tag":553,"props":147628,"children":147629},{"style":795},[147630],{"type":431,"value":798},{"type":426,"tag":553,"props":147632,"children":147633},{"style":684},[147634],{"type":431,"value":803},{"type":426,"tag":553,"props":147636,"children":147637},{"class":555,"line":588},[147638],{"type":426,"tag":553,"props":147639,"children":147640},{"emptyLinePlaceholder":831},[147641],{"type":431,"value":834},{"type":426,"tag":553,"props":147643,"children":147644},{"class":555,"line":606},[147645,147649,147653],{"type":426,"tag":553,"props":147646,"children":147647},{"style":684},[147648],{"type":431,"value":139172},{"type":426,"tag":553,"props":147650,"children":147651},{"style":795},[147652],{"type":431,"value":957},{"type":426,"tag":553,"props":147654,"children":147655},{"style":684},[147656],{"type":431,"value":1664},{"type":426,"tag":553,"props":147658,"children":147659},{"class":555,"line":623},[147660,147664],{"type":426,"tag":553,"props":147661,"children":147662},{"style":572},[147663],{"type":431,"value":139188},{"type":426,"tag":553,"props":147665,"children":147666},{"style":684},[147667],{"type":431,"value":710},{"type":426,"tag":553,"props":147669,"children":147670},{"class":555,"line":637},[147671,147675,147679,147683,147687,147691,147696],{"type":426,"tag":553,"props":147672,"children":147673},{"style":1684},[147674],{"type":431,"value":139200},{"type":426,"tag":553,"props":147676,"children":147677},{"style":795},[147678],{"type":431,"value":957},{"type":426,"tag":553,"props":147680,"children":147681},{"style":684},[147682],{"type":431,"value":972},{"type":426,"tag":553,"props":147684,"children":147685},{"style":572},[147686],{"type":431,"value":45214},{"type":426,"tag":553,"props":147688,"children":147689},{"style":684},[147690],{"type":431,"value":700},{"type":426,"tag":553,"props":147692,"children":147693},{"style":572},[147694],{"type":431,"value":147695},"\"Bearer YOUR_RAPIWA_KEY\"",{"type":426,"tag":553,"props":147697,"children":147698},{"style":684},[147699],{"type":431,"value":1737},{"type":426,"tag":553,"props":147701,"children":147702},{"class":555,"line":646},[147703,147707,147711],{"type":426,"tag":553,"props":147704,"children":147705},{"style":1684},[147706],{"type":431,"value":139245},{"type":426,"tag":553,"props":147708,"children":147709},{"style":795},[147710],{"type":431,"value":957},{"type":426,"tag":553,"props":147712,"children":147713},{"style":684},[147714],{"type":431,"value":687},{"type":426,"tag":553,"props":147716,"children":147717},{"class":555,"line":655},[147718,147722,147726,147730],{"type":426,"tag":553,"props":147719,"children":147720},{"style":572},[147721],{"type":431,"value":140764},{"type":426,"tag":553,"props":147723,"children":147724},{"style":684},[147725],{"type":431,"value":700},{"type":426,"tag":553,"props":147727,"children":147728},{"style":572},[147729],{"type":431,"value":7286},{"type":426,"tag":553,"props":147731,"children":147732},{"style":684},[147733],{"type":431,"value":710},{"type":426,"tag":553,"props":147735,"children":147736},{"class":555,"line":1036},[147737,147742,147746],{"type":426,"tag":553,"props":147738,"children":147739},{"style":572},[147740],{"type":431,"value":147741},"        \"message\"",{"type":426,"tag":553,"props":147743,"children":147744},{"style":684},[147745],{"type":431,"value":700},{"type":426,"tag":553,"props":147747,"children":147748},{"style":572},[147749],{"type":431,"value":147750},"\"Hi John! Your order #12345 for $49.99 is confirmed.\"\n",{"type":426,"tag":553,"props":147752,"children":147753},{"class":555,"line":1054},[147754],{"type":426,"tag":553,"props":147755,"children":147756},{"style":684},[147757],{"type":431,"value":5546},{"type":426,"tag":553,"props":147759,"children":147760},{"class":555,"line":1080},[147761],{"type":426,"tag":553,"props":147762,"children":147763},{"style":684},[147764],{"type":431,"value":3262},{"type":426,"tag":553,"props":147766,"children":147767},{"class":555,"line":1097},[147768,147772],{"type":426,"tag":553,"props":147769,"children":147770},{"style":566},[147771],{"type":431,"value":3270},{"type":426,"tag":553,"props":147773,"children":147774},{"style":684},[147775],{"type":431,"value":139312},{"type":426,"tag":427,"props":147777,"children":147778},{},[147779],{"type":426,"tag":446,"props":147780,"children":147781},{},[147782],{"type":431,"value":147783},"Node.js migration:",{"type":426,"tag":542,"props":147785,"children":147787},{"className":52113,"code":147786,"language":52115,"meta":417,"style":417},"\u002F\u002F Before: Twilio SDK\nconst twilio = require(\"twilio\");\nconst client = twilio(accountSid, authToken);\n\nawait client.messages.create({\n  from: \"whatsapp:+14155238886\",\n  to: \"whatsapp:+8801234567890\",\n  contentSid: \"HXcb4c421b...\",\n  contentVariables: JSON.stringify({\"1\": \"John\"})\n});\n\n\u002F\u002F After: Rapiwa (3 lines)\nawait fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n  method: \"POST\",\n  headers: { \"Authorization\": \"Bearer YOUR_KEY\", \"Content-Type\": \"application\u002Fjson\" },\n  body: JSON.stringify({ number: \"8801234567890\", message: \"Hi John! Order confirmed.\" })\n});\n",[147788],{"type":426,"tag":549,"props":147789,"children":147790},{"__ignoreMap":417},[147791,147799,147832,147856,147863,147883,147899,147915,147932,147975,147982,147989,147997,148020,148035,148075,148117],{"type":426,"tag":553,"props":147792,"children":147793},{"class":555,"line":556},[147794],{"type":426,"tag":553,"props":147795,"children":147796},{"style":1975},[147797],{"type":431,"value":147798},"\u002F\u002F Before: Twilio SDK\n",{"type":426,"tag":553,"props":147800,"children":147801},{"class":555,"line":588},[147802,147806,147811,147815,147819,147823,147828],{"type":426,"tag":553,"props":147803,"children":147804},{"style":795},[147805],{"type":431,"value":52135},{"type":426,"tag":553,"props":147807,"children":147808},{"style":566},[147809],{"type":431,"value":147810}," twilio",{"type":426,"tag":553,"props":147812,"children":147813},{"style":795},[147814],{"type":431,"value":8739},{"type":426,"tag":553,"props":147816,"children":147817},{"style":560},[147818],{"type":431,"value":52149},{"type":426,"tag":553,"props":147820,"children":147821},{"style":684},[147822],{"type":431,"value":3275},{"type":426,"tag":553,"props":147824,"children":147825},{"style":572},[147826],{"type":431,"value":147827},"\"twilio\"",{"type":426,"tag":553,"props":147829,"children":147830},{"style":684},[147831],{"type":431,"value":11379},{"type":426,"tag":553,"props":147833,"children":147834},{"class":555,"line":606},[147835,147839,147843,147847,147851],{"type":426,"tag":553,"props":147836,"children":147837},{"style":795},[147838],{"type":431,"value":52135},{"type":426,"tag":553,"props":147840,"children":147841},{"style":566},[147842],{"type":431,"value":138686},{"type":426,"tag":553,"props":147844,"children":147845},{"style":795},[147846],{"type":431,"value":8739},{"type":426,"tag":553,"props":147848,"children":147849},{"style":560},[147850],{"type":431,"value":147810},{"type":426,"tag":553,"props":147852,"children":147853},{"style":684},[147854],{"type":431,"value":147855},"(accountSid, authToken);\n",{"type":426,"tag":553,"props":147857,"children":147858},{"class":555,"line":623},[147859],{"type":426,"tag":553,"props":147860,"children":147861},{"emptyLinePlaceholder":831},[147862],{"type":431,"value":834},{"type":426,"tag":553,"props":147864,"children":147865},{"class":555,"line":637},[147866,147870,147875,147879],{"type":426,"tag":553,"props":147867,"children":147868},{"style":795},[147869],{"type":431,"value":79424},{"type":426,"tag":553,"props":147871,"children":147872},{"style":684},[147873],{"type":431,"value":147874}," client.messages.",{"type":426,"tag":553,"props":147876,"children":147877},{"style":560},[147878],{"type":431,"value":67482},{"type":426,"tag":553,"props":147880,"children":147881},{"style":684},[147882],{"type":431,"value":52612},{"type":426,"tag":553,"props":147884,"children":147885},{"class":555,"line":646},[147886,147891,147895],{"type":426,"tag":553,"props":147887,"children":147888},{"style":684},[147889],{"type":431,"value":147890},"  from: ",{"type":426,"tag":553,"props":147892,"children":147893},{"style":572},[147894],{"type":431,"value":147516},{"type":426,"tag":553,"props":147896,"children":147897},{"style":684},[147898],{"type":431,"value":710},{"type":426,"tag":553,"props":147900,"children":147901},{"class":555,"line":655},[147902,147907,147911],{"type":426,"tag":553,"props":147903,"children":147904},{"style":684},[147905],{"type":431,"value":147906},"  to: ",{"type":426,"tag":553,"props":147908,"children":147909},{"style":572},[147910],{"type":431,"value":147542},{"type":426,"tag":553,"props":147912,"children":147913},{"style":684},[147914],{"type":431,"value":710},{"type":426,"tag":553,"props":147916,"children":147917},{"class":555,"line":1036},[147918,147923,147928],{"type":426,"tag":553,"props":147919,"children":147920},{"style":684},[147921],{"type":431,"value":147922},"  contentSid: ",{"type":426,"tag":553,"props":147924,"children":147925},{"style":572},[147926],{"type":431,"value":147927},"\"HXcb4c421b...\"",{"type":426,"tag":553,"props":147929,"children":147930},{"style":684},[147931],{"type":431,"value":710},{"type":426,"tag":553,"props":147933,"children":147934},{"class":555,"line":1054},[147935,147940,147944,147948,147952,147957,147962,147966,147971],{"type":426,"tag":553,"props":147936,"children":147937},{"style":684},[147938],{"type":431,"value":147939},"  contentVariables: ",{"type":426,"tag":553,"props":147941,"children":147942},{"style":566},[147943],{"type":431,"value":53178},{"type":426,"tag":553,"props":147945,"children":147946},{"style":684},[147947],{"type":431,"value":6789},{"type":426,"tag":553,"props":147949,"children":147950},{"style":560},[147951],{"type":431,"value":53187},{"type":426,"tag":553,"props":147953,"children":147954},{"style":684},[147955],{"type":431,"value":147956},"({",{"type":426,"tag":553,"props":147958,"children":147959},{"style":572},[147960],{"type":431,"value":147961},"\"1\"",{"type":426,"tag":553,"props":147963,"children":147964},{"style":684},[147965],{"type":431,"value":700},{"type":426,"tag":553,"props":147967,"children":147968},{"style":572},[147969],{"type":431,"value":147970},"\"John\"",{"type":426,"tag":553,"props":147972,"children":147973},{"style":684},[147974],{"type":431,"value":8144},{"type":426,"tag":553,"props":147976,"children":147977},{"class":555,"line":1080},[147978],{"type":426,"tag":553,"props":147979,"children":147980},{"style":684},[147981],{"type":431,"value":55916},{"type":426,"tag":553,"props":147983,"children":147984},{"class":555,"line":1097},[147985],{"type":426,"tag":553,"props":147986,"children":147987},{"emptyLinePlaceholder":831},[147988],{"type":431,"value":834},{"type":426,"tag":553,"props":147990,"children":147991},{"class":555,"line":1114},[147992],{"type":426,"tag":553,"props":147993,"children":147994},{"style":1975},[147995],{"type":431,"value":147996},"\u002F\u002F After: Rapiwa (3 lines)\n",{"type":426,"tag":553,"props":147998,"children":147999},{"class":555,"line":1127},[148000,148004,148008,148012,148016],{"type":426,"tag":553,"props":148001,"children":148002},{"style":795},[148003],{"type":431,"value":79424},{"type":426,"tag":553,"props":148005,"children":148006},{"style":560},[148007],{"type":431,"value":52226},{"type":426,"tag":553,"props":148009,"children":148010},{"style":684},[148011],{"type":431,"value":3275},{"type":426,"tag":553,"props":148013,"children":148014},{"style":572},[148015],{"type":431,"value":60449},{"type":426,"tag":553,"props":148017,"children":148018},{"style":684},[148019],{"type":431,"value":53088},{"type":426,"tag":553,"props":148021,"children":148022},{"class":555,"line":1167},[148023,148027,148031],{"type":426,"tag":553,"props":148024,"children":148025},{"style":684},[148026],{"type":431,"value":55814},{"type":426,"tag":553,"props":148028,"children":148029},{"style":572},[148030],{"type":431,"value":60428},{"type":426,"tag":553,"props":148032,"children":148033},{"style":684},[148034],{"type":431,"value":710},{"type":426,"tag":553,"props":148036,"children":148037},{"class":555,"line":1184},[148038,148042,148046,148050,148055,148059,148063,148067,148071],{"type":426,"tag":553,"props":148039,"children":148040},{"style":684},[148041],{"type":431,"value":135263},{"type":426,"tag":553,"props":148043,"children":148044},{"style":572},[148045],{"type":431,"value":45214},{"type":426,"tag":553,"props":148047,"children":148048},{"style":684},[148049],{"type":431,"value":700},{"type":426,"tag":553,"props":148051,"children":148052},{"style":572},[148053],{"type":431,"value":148054},"\"Bearer YOUR_KEY\"",{"type":426,"tag":553,"props":148056,"children":148057},{"style":684},[148058],{"type":431,"value":1907},{"type":426,"tag":553,"props":148060,"children":148061},{"style":572},[148062],{"type":431,"value":67578},{"type":426,"tag":553,"props":148064,"children":148065},{"style":684},[148066],{"type":431,"value":700},{"type":426,"tag":553,"props":148068,"children":148069},{"style":572},[148070],{"type":431,"value":67587},{"type":426,"tag":553,"props":148072,"children":148073},{"style":684},[148074],{"type":431,"value":136779},{"type":426,"tag":553,"props":148076,"children":148077},{"class":555,"line":1192},[148078,148082,148086,148090,148094,148099,148103,148107,148112],{"type":426,"tag":553,"props":148079,"children":148080},{"style":684},[148081],{"type":431,"value":55891},{"type":426,"tag":553,"props":148083,"children":148084},{"style":566},[148085],{"type":431,"value":53178},{"type":426,"tag":553,"props":148087,"children":148088},{"style":684},[148089],{"type":431,"value":6789},{"type":426,"tag":553,"props":148091,"children":148092},{"style":560},[148093],{"type":431,"value":53187},{"type":426,"tag":553,"props":148095,"children":148096},{"style":684},[148097],{"type":431,"value":148098},"({ number: ",{"type":426,"tag":553,"props":148100,"children":148101},{"style":572},[148102],{"type":431,"value":7286},{"type":426,"tag":553,"props":148104,"children":148105},{"style":684},[148106],{"type":431,"value":8713},{"type":426,"tag":553,"props":148108,"children":148109},{"style":572},[148110],{"type":431,"value":148111},"\"Hi John! Order confirmed.\"",{"type":426,"tag":553,"props":148113,"children":148114},{"style":684},[148115],{"type":431,"value":148116}," })\n",{"type":426,"tag":553,"props":148118,"children":148119},{"class":555,"line":1210},[148120],{"type":426,"tag":553,"props":148121,"children":148122},{"style":684},[148123],{"type":431,"value":55916},{"type":426,"tag":427,"props":148125,"children":148126},{},[148127,148129,148135],{"type":431,"value":148128},"The Rapiwa version eliminates: SDK dependency, template management, pre-approval overhead, and ",{"type":426,"tag":549,"props":148130,"children":148132},{"className":148131},[],[148133],{"type":431,"value":148134},"whatsapp:+",{"type":431,"value":148136}," phone prefix formatting.",{"type":426,"tag":434,"props":148138,"children":148140},{"id":148139},"when-twilio-is-still-the-right-choice",[148141],{"type":431,"value":148142},"When Twilio Is Still the Right Choice",{"type":426,"tag":427,"props":148144,"children":148145},{},[148146],{"type":431,"value":148147},"Twilio remains the better choice when:",{"type":426,"tag":454,"props":148149,"children":148150},{},[148151,148156,148161,148166],{"type":426,"tag":458,"props":148152,"children":148153},{},[148154],{"type":431,"value":148155},"Your enterprise requires Meta-certified WhatsApp with the green badge",{"type":426,"tag":458,"props":148157,"children":148158},{},[148159],{"type":431,"value":148160},"You already use Twilio for SMS\u002FVoice and want unified billing",{"type":426,"tag":458,"props":148162,"children":148163},{},[148164],{"type":431,"value":148165},"Your legal team requires official Meta API compliance",{"type":426,"tag":458,"props":148167,"children":148168},{},[148169],{"type":431,"value":148170},"You operate in regulated industries with strict communication compliance requirements",{"type":426,"tag":427,"props":148172,"children":148173},{},[148174],{"type":431,"value":148175},"For all other cases — especially startups, developers, and e-commerce businesses — Rapiwa's $5\u002Fmonth flat rate is the obvious choice.",{"type":426,"tag":434,"props":148177,"children":148178},{"id":4109},[148179],{"type":431,"value":4112},{"type":426,"tag":427,"props":148181,"children":148182},{},[148183,148188],{"type":426,"tag":446,"props":148184,"children":148185},{},[148186],{"type":431,"value":148187},"What is the cheapest Twilio WhatsApp alternative?",{"type":431,"value":148189},"\nRapiwa at $5\u002Fmonth with unlimited messages and no per-message fees is the cheapest managed Twilio WhatsApp alternative.",{"type":426,"tag":427,"props":148191,"children":148192},{},[148193,148198],{"type":426,"tag":446,"props":148194,"children":148195},{},[148196],{"type":431,"value":148197},"Do I need Meta approval to use Rapiwa instead of Twilio?",{"type":431,"value":148199},"\nNo. Rapiwa is an unofficial WhatsApp API — no Meta business verification or approval process required.",{"type":426,"tag":427,"props":148201,"children":148202},{},[148203,148208],{"type":426,"tag":446,"props":148204,"children":148205},{},[148206],{"type":431,"value":148207},"Can I send marketing messages without Twilio templates?",{"type":431,"value":148209},"\nYes. Rapiwa has no template requirement — send any message content to any opted-in customer at any time.",{"type":426,"tag":427,"props":148211,"children":148212},{},[148213,148218],{"type":426,"tag":446,"props":148214,"children":148215},{},[148216],{"type":431,"value":148217},"Is switching from Twilio to Rapiwa difficult?",{"type":431,"value":148219},"\nFor developers: replace the Twilio SDK call with a standard HTTP POST to Rapiwa's endpoint. Update field names and remove template-related code. Most migrations take under 2 hours.",{"type":426,"tag":427,"props":148221,"children":148222},{},[148223,148228,148230,148236],{"type":426,"tag":446,"props":148224,"children":148225},{},[148226],{"type":431,"value":148227},"What is Twilio's WhatsApp pricing in 2026?",{"type":431,"value":148229},"\nTwilio charges Meta's per-conversation rates (",{"type":426,"tag":148231,"props":148232,"children":148233},"del",{},[148234],{"type":431,"value":148235},"$0.015–$0.025 per session in the US) plus Twilio's own per-message fees (",{"type":431,"value":148237},"$0.005 per message). Total cost varies with volume and conversation category. Check twilio.com\u002Fen-us\u002Fwhatsapp\u002Fpricing for current rates.",{"type":426,"tag":4164,"props":148239,"children":148240},{},[148241],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":148243},[148244,148245,148246,148251,148252,148253],{"id":146952,"depth":588,"text":146955},{"id":147016,"depth":588,"text":147019},{"id":147292,"depth":588,"text":147295,"children":148247},[148248,148249,148250],{"id":147298,"depth":606,"text":147301},{"id":147341,"depth":606,"text":147344},{"id":147381,"depth":606,"text":147384},{"id":147421,"depth":588,"text":147424},{"id":148139,"depth":588,"text":148142},{"id":4109,"depth":588,"text":4112},"content:blog:best-twilio-whatsapp-alternative-2026-cheaper-no-fees.md","blog\u002Fbest-twilio-whatsapp-alternative-2026-cheaper-no-fees.md","blog\u002Fbest-twilio-whatsapp-alternative-2026-cheaper-no-fees",{"loc":209},{"_path":214,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":215,"description":216,"date":148259,"author":18999,"category":212,"_slug":148260,"image":148261,"body":148262,"_type":4187,"_id":149713,"_source":4189,"_file":149714,"_stem":149715,"_extension":4192,"sitemap":149716},"2026-01-26","wasenderapi-vs-rapiwa-developer-side-by-side-comparison","\u002Fimages\u002Fblog\u002Fwasenderapi-vs-rapiwa-developer-side-by-side-comparison.svg",{"type":423,"children":148263,"toc":149696},[148264,148276,148282,148651,148657,148662,148670,148744,148752,148825,148833,148874,148879,148885,148891,149083,149088,149094,149314,149319,149329,149335,149341,149354,149360,149379,149387,149393,149408,149423,149429,149484,149490,149555,149561,149566,149598,149603,149612,149616,149626,149636,149672,149682,149692],{"type":426,"tag":427,"props":148265,"children":148266},{},[148267,148269,148274],{"type":431,"value":148268},"WasenderAPI and Rapiwa are the two most popular managed unofficial WhatsApp APIs in 2026. ",{"type":426,"tag":3819,"props":148270,"children":148272},{"href":3821,"rel":148271},[3823],[148273],{"type":431,"value":127310},{"type":431,"value":148275}," wins on price ($5 vs $6\u002Fmonth), Sourceforge rating (5.0 vs 4.5), WooCommerce integration, and n8n templates. WasenderAPI wins on SDK maturity (TypeScript, Python, Laravel published now) and MCP Server integration. This detailed comparison helps you choose the right tool.",{"type":426,"tag":434,"props":148277,"children":148279},{"id":148278},"wasenderapi-vs-rapiwa-complete-comparison",[148280],{"type":431,"value":148281},"WasenderAPI vs Rapiwa: Complete Comparison",{"type":426,"tag":10600,"props":148283,"children":148284},{},[148285,148309],{"type":426,"tag":10604,"props":148286,"children":148287},{},[148288],{"type":426,"tag":10608,"props":148289,"children":148290},{},[148291,148296,148300,148304],{"type":426,"tag":10612,"props":148292,"children":148293},{},[148294],{"type":431,"value":148295},"Criteria",{"type":426,"tag":10612,"props":148297,"children":148298},{},[148299],{"type":431,"value":147163},{"type":426,"tag":10612,"props":148301,"children":148302},{},[148303],{"type":431,"value":127310},{"type":426,"tag":10612,"props":148305,"children":148306},{},[148307],{"type":431,"value":148308},"Winner",{"type":426,"tag":10623,"props":148310,"children":148311},{},[148312,148337,148360,148383,148407,148432,148455,148478,148502,148527,148550,148573,148593,148612,148632],{"type":426,"tag":10608,"props":148313,"children":148314},{},[148315,148320,148325,148333],{"type":426,"tag":10630,"props":148316,"children":148317},{},[148318],{"type":431,"value":148319},"Price (1 number)",{"type":426,"tag":10630,"props":148321,"children":148322},{},[148323],{"type":431,"value":148324},"$6\u002Fmonth",{"type":426,"tag":10630,"props":148326,"children":148327},{},[148328],{"type":426,"tag":446,"props":148329,"children":148330},{},[148331],{"type":431,"value":148332},"$5\u002Fmonth",{"type":426,"tag":10630,"props":148334,"children":148335},{},[148336],{"type":431,"value":127310},{"type":426,"tag":10608,"props":148338,"children":148339},{},[148340,148345,148350,148355],{"type":426,"tag":10630,"props":148341,"children":148342},{},[148343],{"type":431,"value":148344},"Price (3 numbers)",{"type":426,"tag":10630,"props":148346,"children":148347},{},[148348],{"type":431,"value":148349},"$15\u002Fmonth",{"type":426,"tag":10630,"props":148351,"children":148352},{},[148353],{"type":431,"value":148354},"Contact",{"type":426,"tag":10630,"props":148356,"children":148357},{},[148358],{"type":431,"value":148359},"Rapiwa (lower base)",{"type":426,"tag":10608,"props":148361,"children":148362},{},[148363,148367,148372,148379],{"type":426,"tag":10630,"props":148364,"children":148365},{},[148366],{"type":431,"value":10800},{"type":426,"tag":10630,"props":148368,"children":148369},{},[148370],{"type":431,"value":148371},"4.5\u002F5",{"type":426,"tag":10630,"props":148373,"children":148374},{},[148375],{"type":426,"tag":446,"props":148376,"children":148377},{},[148378],{"type":431,"value":10805},{"type":426,"tag":10630,"props":148380,"children":148381},{},[148382],{"type":431,"value":127310},{"type":426,"tag":10608,"props":148384,"children":148385},{},[148386,148390,148395,148402],{"type":426,"tag":10630,"props":148387,"children":148388},{},[148389],{"type":431,"value":10787},{"type":426,"tag":10630,"props":148391,"children":148392},{},[148393],{"type":431,"value":148394},"3 days",{"type":426,"tag":10630,"props":148396,"children":148397},{},[148398],{"type":426,"tag":446,"props":148399,"children":148400},{},[148401],{"type":431,"value":148394},{"type":426,"tag":10630,"props":148403,"children":148404},{},[148405],{"type":431,"value":148406},"Tie",{"type":426,"tag":10608,"props":148408,"children":148409},{},[148410,148415,148423,148428],{"type":426,"tag":10630,"props":148411,"children":148412},{},[148413],{"type":431,"value":148414},"Node.js SDK",{"type":426,"tag":10630,"props":148416,"children":148417},{},[148418],{"type":426,"tag":446,"props":148419,"children":148420},{},[148421],{"type":431,"value":148422},"Published",{"type":426,"tag":10630,"props":148424,"children":148425},{},[148426],{"type":431,"value":148427},"Roadmap",{"type":426,"tag":10630,"props":148429,"children":148430},{},[148431],{"type":431,"value":147163},{"type":426,"tag":10608,"props":148433,"children":148434},{},[148435,148440,148447,148451],{"type":426,"tag":10630,"props":148436,"children":148437},{},[148438],{"type":431,"value":148439},"Python SDK",{"type":426,"tag":10630,"props":148441,"children":148442},{},[148443],{"type":426,"tag":446,"props":148444,"children":148445},{},[148446],{"type":431,"value":148422},{"type":426,"tag":10630,"props":148448,"children":148449},{},[148450],{"type":431,"value":148427},{"type":426,"tag":10630,"props":148452,"children":148453},{},[148454],{"type":431,"value":147163},{"type":426,"tag":10608,"props":148456,"children":148457},{},[148458,148463,148470,148474],{"type":426,"tag":10630,"props":148459,"children":148460},{},[148461],{"type":431,"value":148462},"Laravel SDK",{"type":426,"tag":10630,"props":148464,"children":148465},{},[148466],{"type":426,"tag":446,"props":148467,"children":148468},{},[148469],{"type":431,"value":148422},{"type":426,"tag":10630,"props":148471,"children":148472},{},[148473],{"type":431,"value":148427},{"type":426,"tag":10630,"props":148475,"children":148476},{},[148477],{"type":431,"value":147163},{"type":426,"tag":10608,"props":148479,"children":148480},{},[148481,148485,148490,148498],{"type":426,"tag":10630,"props":148482,"children":148483},{},[148484],{"type":431,"value":16164},{"type":426,"tag":10630,"props":148486,"children":148487},{},[148488],{"type":431,"value":148489},"0 ready-made",{"type":426,"tag":10630,"props":148491,"children":148492},{},[148493],{"type":426,"tag":446,"props":148494,"children":148495},{},[148496],{"type":431,"value":148497},"10 templates",{"type":426,"tag":10630,"props":148499,"children":148500},{},[148501],{"type":431,"value":127310},{"type":426,"tag":10608,"props":148503,"children":148504},{},[148505,148510,148515,148523],{"type":426,"tag":10630,"props":148506,"children":148507},{},[148508],{"type":431,"value":148509},"n8n total installs",{"type":426,"tag":10630,"props":148511,"children":148512},{},[148513],{"type":431,"value":148514},"N\u002FA",{"type":426,"tag":10630,"props":148516,"children":148517},{},[148518],{"type":426,"tag":446,"props":148519,"children":148520},{},[148521],{"type":431,"value":148522},"3,581",{"type":426,"tag":10630,"props":148524,"children":148525},{},[148526],{"type":431,"value":127310},{"type":426,"tag":10608,"props":148528,"children":148529},{},[148530,148535,148539,148546],{"type":426,"tag":10630,"props":148531,"children":148532},{},[148533],{"type":431,"value":148534},"WooCommerce plugin",{"type":426,"tag":10630,"props":148536,"children":148537},{},[148538],{"type":431,"value":78130},{"type":426,"tag":10630,"props":148540,"children":148541},{},[148542],{"type":426,"tag":446,"props":148543,"children":148544},{},[148545],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148547,"children":148548},{},[148549],{"type":431,"value":127310},{"type":426,"tag":10608,"props":148551,"children":148552},{},[148553,148558,148565,148569],{"type":426,"tag":10630,"props":148554,"children":148555},{},[148556],{"type":431,"value":148557},"MCP Server",{"type":426,"tag":10630,"props":148559,"children":148560},{},[148561],{"type":426,"tag":446,"props":148562,"children":148563},{},[148564],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148566,"children":148567},{},[148568],{"type":431,"value":78130},{"type":426,"tag":10630,"props":148570,"children":148571},{},[148572],{"type":431,"value":147163},{"type":426,"tag":10608,"props":148574,"children":148575},{},[148576,148581,148585,148589],{"type":426,"tag":10630,"props":148577,"children":148578},{},[148579],{"type":431,"value":148580},"All message types",{"type":426,"tag":10630,"props":148582,"children":148583},{},[148584],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148586,"children":148587},{},[148588],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148590,"children":148591},{},[148592],{"type":431,"value":148406},{"type":426,"tag":10608,"props":148594,"children":148595},{},[148596,148600,148604,148608],{"type":426,"tag":10630,"props":148597,"children":148598},{},[148599],{"type":431,"value":102926},{"type":426,"tag":10630,"props":148601,"children":148602},{},[148603],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148605,"children":148606},{},[148607],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148609,"children":148610},{},[148611],{"type":431,"value":148406},{"type":426,"tag":10608,"props":148613,"children":148614},{},[148615,148620,148624,148628],{"type":426,"tag":10630,"props":148616,"children":148617},{},[148618],{"type":431,"value":148619},"Number verification",{"type":426,"tag":10630,"props":148621,"children":148622},{},[148623],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148625,"children":148626},{},[148627],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148629,"children":148630},{},[148631],{"type":431,"value":148406},{"type":426,"tag":10608,"props":148633,"children":148634},{},[148635,148639,148643,148647],{"type":426,"tag":10630,"props":148636,"children":148637},{},[148638],{"type":431,"value":16138},{"type":426,"tag":10630,"props":148640,"children":148641},{},[148642],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148644,"children":148645},{},[148646],{"type":431,"value":103087},{"type":426,"tag":10630,"props":148648,"children":148649},{},[148650],{"type":431,"value":148406},{"type":426,"tag":434,"props":148652,"children":148654},{"id":148653},"api-structure-comparison",[148655],{"type":431,"value":148656},"API Structure Comparison",{"type":426,"tag":427,"props":148658,"children":148659},{},[148660],{"type":431,"value":148661},"Both APIs use standard REST with Bearer token authentication. The field names differ:",{"type":426,"tag":427,"props":148663,"children":148664},{},[148665],{"type":426,"tag":446,"props":148666,"children":148667},{},[148668],{"type":431,"value":148669},"WasenderAPI request:",{"type":426,"tag":542,"props":148671,"children":148673},{"code":148672,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fwasenderapi.com\u002Fapi\u002Fsend-message \\\n  -H \"Authorization: Bearer WASENDER_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"to\": \"8801234567890\", \"text\": \"Hello from WasenderAPI!\"}'\n",[148674],{"type":426,"tag":549,"props":148675,"children":148676},{"__ignoreMap":417},[148677,148701,148717,148732],{"type":426,"tag":553,"props":148678,"children":148679},{"class":555,"line":556},[148680,148684,148688,148692,148697],{"type":426,"tag":553,"props":148681,"children":148682},{"style":560},[148683],{"type":431,"value":563},{"type":426,"tag":553,"props":148685,"children":148686},{"style":566},[148687],{"type":431,"value":569},{"type":426,"tag":553,"props":148689,"children":148690},{"style":572},[148691],{"type":431,"value":575},{"type":426,"tag":553,"props":148693,"children":148694},{"style":572},[148695],{"type":431,"value":148696}," https:\u002F\u002Fwasenderapi.com\u002Fapi\u002Fsend-message",{"type":426,"tag":553,"props":148698,"children":148699},{"style":566},[148700],{"type":431,"value":585},{"type":426,"tag":553,"props":148702,"children":148703},{"class":555,"line":588},[148704,148708,148713],{"type":426,"tag":553,"props":148705,"children":148706},{"style":566},[148707],{"type":431,"value":594},{"type":426,"tag":553,"props":148709,"children":148710},{"style":572},[148711],{"type":431,"value":148712}," \"Authorization: Bearer WASENDER_KEY\"",{"type":426,"tag":553,"props":148714,"children":148715},{"style":566},[148716],{"type":431,"value":585},{"type":426,"tag":553,"props":148718,"children":148719},{"class":555,"line":606},[148720,148724,148728],{"type":426,"tag":553,"props":148721,"children":148722},{"style":566},[148723],{"type":431,"value":594},{"type":426,"tag":553,"props":148725,"children":148726},{"style":572},[148727],{"type":431,"value":616},{"type":426,"tag":553,"props":148729,"children":148730},{"style":566},[148731],{"type":431,"value":585},{"type":426,"tag":553,"props":148733,"children":148734},{"class":555,"line":623},[148735,148739],{"type":426,"tag":553,"props":148736,"children":148737},{"style":566},[148738],{"type":431,"value":629},{"type":426,"tag":553,"props":148740,"children":148741},{"style":572},[148742],{"type":431,"value":148743}," '{\"to\": \"8801234567890\", \"text\": \"Hello from WasenderAPI!\"}'\n",{"type":426,"tag":427,"props":148745,"children":148746},{},[148747],{"type":426,"tag":446,"props":148748,"children":148749},{},[148750],{"type":431,"value":148751},"Rapiwa request:",{"type":426,"tag":542,"props":148753,"children":148755},{"code":148754,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer RAPIWA_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello from Rapiwa!\"}'\n",[148756],{"type":426,"tag":549,"props":148757,"children":148758},{"__ignoreMap":417},[148759,148782,148798,148813],{"type":426,"tag":553,"props":148760,"children":148761},{"class":555,"line":556},[148762,148766,148770,148774,148778],{"type":426,"tag":553,"props":148763,"children":148764},{"style":560},[148765],{"type":431,"value":563},{"type":426,"tag":553,"props":148767,"children":148768},{"style":566},[148769],{"type":431,"value":569},{"type":426,"tag":553,"props":148771,"children":148772},{"style":572},[148773],{"type":431,"value":575},{"type":426,"tag":553,"props":148775,"children":148776},{"style":572},[148777],{"type":431,"value":580},{"type":426,"tag":553,"props":148779,"children":148780},{"style":566},[148781],{"type":431,"value":585},{"type":426,"tag":553,"props":148783,"children":148784},{"class":555,"line":588},[148785,148789,148794],{"type":426,"tag":553,"props":148786,"children":148787},{"style":566},[148788],{"type":431,"value":594},{"type":426,"tag":553,"props":148790,"children":148791},{"style":572},[148792],{"type":431,"value":148793}," \"Authorization: Bearer RAPIWA_KEY\"",{"type":426,"tag":553,"props":148795,"children":148796},{"style":566},[148797],{"type":431,"value":585},{"type":426,"tag":553,"props":148799,"children":148800},{"class":555,"line":606},[148801,148805,148809],{"type":426,"tag":553,"props":148802,"children":148803},{"style":566},[148804],{"type":431,"value":594},{"type":426,"tag":553,"props":148806,"children":148807},{"style":572},[148808],{"type":431,"value":616},{"type":426,"tag":553,"props":148810,"children":148811},{"style":566},[148812],{"type":431,"value":585},{"type":426,"tag":553,"props":148814,"children":148815},{"class":555,"line":623},[148816,148820],{"type":426,"tag":553,"props":148817,"children":148818},{"style":566},[148819],{"type":431,"value":629},{"type":426,"tag":553,"props":148821,"children":148822},{"style":572},[148823],{"type":431,"value":148824}," '{\"number\": \"8801234567890\", \"message\": \"Hello from Rapiwa!\"}'\n",{"type":426,"tag":427,"props":148826,"children":148827},{},[148828],{"type":426,"tag":446,"props":148829,"children":148830},{},[148831],{"type":431,"value":148832},"Key differences:",{"type":426,"tag":454,"props":148834,"children":148835},{},[148836,148854,148869],{"type":426,"tag":458,"props":148837,"children":148838},{},[148839,148845,148847,148852],{"type":426,"tag":549,"props":148840,"children":148842},{"className":148841},[],[148843],{"type":431,"value":148844},"to",{"type":431,"value":148846}," (WasenderAPI) → ",{"type":426,"tag":549,"props":148848,"children":148850},{"className":148849},[],[148851],{"type":431,"value":39195},{"type":431,"value":148853}," (Rapiwa)",{"type":426,"tag":458,"props":148855,"children":148856},{},[148857,148862,148863,148868],{"type":426,"tag":549,"props":148858,"children":148860},{"className":148859},[],[148861],{"type":431,"value":431},{"type":431,"value":148846},{"type":426,"tag":549,"props":148864,"children":148866},{"className":148865},[],[148867],{"type":431,"value":2734},{"type":431,"value":148853},{"type":426,"tag":458,"props":148870,"children":148871},{},[148872],{"type":431,"value":148873},"Endpoint URLs differ",{"type":426,"tag":427,"props":148875,"children":148876},{},[148877],{"type":431,"value":148878},"For switching between them, these two field names are the only changes for basic text messaging.",{"type":426,"tag":434,"props":148880,"children":148882},{"id":148881},"sdk-comparison",[148883],{"type":431,"value":148884},"SDK Comparison",{"type":426,"tag":515,"props":148886,"children":148888},{"id":148887},"wasenderapi-typescript-sdk",[148889],{"type":431,"value":148890},"WasenderAPI TypeScript SDK",{"type":426,"tag":542,"props":148892,"children":148894},{"code":148893,"language":137773,"meta":417,"className":137771,"style":417},"import { createWasender } from 'wasenderapi';\n\nconst wasender = createWasender({ apiKey: process.env.WASENDER_API_KEY! });\n\nasync function sendMessage(phone: string, text: string) {\n  const response = await wasender.send({ to: phone, text });\n  console.log(response.messageId);\n}\n",[148895],{"type":426,"tag":549,"props":148896,"children":148897},{"__ignoreMap":417},[148898,148923,148930,148969,148976,149027,149060,149076],{"type":426,"tag":553,"props":148899,"children":148900},{"class":555,"line":556},[148901,148905,148910,148914,148919],{"type":426,"tag":553,"props":148902,"children":148903},{"style":795},[148904],{"type":431,"value":798},{"type":426,"tag":553,"props":148906,"children":148907},{"style":684},[148908],{"type":431,"value":148909}," { createWasender } ",{"type":426,"tag":553,"props":148911,"children":148912},{"style":795},[148913],{"type":431,"value":811},{"type":426,"tag":553,"props":148915,"children":148916},{"style":572},[148917],{"type":431,"value":148918}," 'wasenderapi'",{"type":426,"tag":553,"props":148920,"children":148921},{"style":684},[148922],{"type":431,"value":52321},{"type":426,"tag":553,"props":148924,"children":148925},{"class":555,"line":588},[148926],{"type":426,"tag":553,"props":148927,"children":148928},{"emptyLinePlaceholder":831},[148929],{"type":431,"value":834},{"type":426,"tag":553,"props":148931,"children":148932},{"class":555,"line":606},[148933,148937,148942,148946,148951,148956,148961,148965],{"type":426,"tag":553,"props":148934,"children":148935},{"style":795},[148936],{"type":431,"value":52135},{"type":426,"tag":553,"props":148938,"children":148939},{"style":566},[148940],{"type":431,"value":148941}," wasender",{"type":426,"tag":553,"props":148943,"children":148944},{"style":795},[148945],{"type":431,"value":8739},{"type":426,"tag":553,"props":148947,"children":148948},{"style":560},[148949],{"type":431,"value":148950}," createWasender",{"type":426,"tag":553,"props":148952,"children":148953},{"style":684},[148954],{"type":431,"value":148955},"({ apiKey: process.env.",{"type":426,"tag":553,"props":148957,"children":148958},{"style":566},[148959],{"type":431,"value":148960},"WASENDER_API_KEY",{"type":426,"tag":553,"props":148962,"children":148963},{"style":795},[148964],{"type":431,"value":4651},{"type":426,"tag":553,"props":148966,"children":148967},{"style":684},[148968],{"type":431,"value":52295},{"type":426,"tag":553,"props":148970,"children":148971},{"class":555,"line":623},[148972],{"type":426,"tag":553,"props":148973,"children":148974},{"emptyLinePlaceholder":831},[148975],{"type":431,"value":834},{"type":426,"tag":553,"props":148977,"children":148978},{"class":555,"line":637},[148979,148983,148987,148991,148995,148999,149003,149007,149011,149015,149019,149023],{"type":426,"tag":553,"props":148980,"children":148981},{"style":795},[148982],{"type":431,"value":52361},{"type":426,"tag":553,"props":148984,"children":148985},{"style":795},[148986],{"type":431,"value":52366},{"type":426,"tag":553,"props":148988,"children":148989},{"style":560},[148990],{"type":431,"value":67188},{"type":426,"tag":553,"props":148992,"children":148993},{"style":684},[148994],{"type":431,"value":3275},{"type":426,"tag":553,"props":148996,"children":148997},{"style":1684},[148998],{"type":431,"value":37598},{"type":426,"tag":553,"props":149000,"children":149001},{"style":795},[149002],{"type":431,"value":19071},{"type":426,"tag":553,"props":149004,"children":149005},{"style":566},[149006],{"type":431,"value":76053},{"type":426,"tag":553,"props":149008,"children":149009},{"style":684},[149010],{"type":431,"value":1907},{"type":426,"tag":553,"props":149012,"children":149013},{"style":1684},[149014],{"type":431,"value":431},{"type":426,"tag":553,"props":149016,"children":149017},{"style":795},[149018],{"type":431,"value":19071},{"type":426,"tag":553,"props":149020,"children":149021},{"style":566},[149022],{"type":431,"value":76053},{"type":426,"tag":553,"props":149024,"children":149025},{"style":684},[149026],{"type":431,"value":52385},{"type":426,"tag":553,"props":149028,"children":149029},{"class":555,"line":646},[149030,149034,149038,149042,149046,149051,149055],{"type":426,"tag":553,"props":149031,"children":149032},{"style":795},[149033],{"type":431,"value":52540},{"type":426,"tag":553,"props":149035,"children":149036},{"style":566},[149037],{"type":431,"value":53061},{"type":426,"tag":553,"props":149039,"children":149040},{"style":795},[149041],{"type":431,"value":8739},{"type":426,"tag":553,"props":149043,"children":149044},{"style":795},[149045],{"type":431,"value":53070},{"type":426,"tag":553,"props":149047,"children":149048},{"style":684},[149049],{"type":431,"value":149050}," wasender.",{"type":426,"tag":553,"props":149052,"children":149053},{"style":560},[149054],{"type":431,"value":52593},{"type":426,"tag":553,"props":149056,"children":149057},{"style":684},[149058],{"type":431,"value":149059},"({ to: phone, text });\n",{"type":426,"tag":553,"props":149061,"children":149062},{"class":555,"line":655},[149063,149067,149071],{"type":426,"tag":553,"props":149064,"children":149065},{"style":684},[149066],{"type":431,"value":96892},{"type":426,"tag":553,"props":149068,"children":149069},{"style":560},[149070],{"type":431,"value":53719},{"type":426,"tag":553,"props":149072,"children":149073},{"style":684},[149074],{"type":431,"value":149075},"(response.messageId);\n",{"type":426,"tag":553,"props":149077,"children":149078},{"class":555,"line":1036},[149079],{"type":426,"tag":553,"props":149080,"children":149081},{"style":684},[149082],{"type":431,"value":756},{"type":426,"tag":427,"props":149084,"children":149085},{},[149086],{"type":431,"value":149087},"This is a polished, type-safe SDK with full IDE autocompletion. If you work in TypeScript, this is a genuine productivity improvement.",{"type":426,"tag":515,"props":149089,"children":149091},{"id":149090},"rapiwa-with-raw-fetch-javascript",[149092],{"type":431,"value":149093},"Rapiwa with Raw Fetch (JavaScript)",{"type":426,"tag":542,"props":149095,"children":149097},{"code":149096,"language":52115,"meta":417,"className":52113,"style":417},"async function sendMessage(phone, message) {\n  const response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n    method: \"POST\",\n    headers: {\n      \"Authorization\": `Bearer ${process.env.RAPIWA_API_KEY}`,\n      \"Content-Type\": \"application\u002Fjson\"\n    },\n    body: JSON.stringify({ number: phone, message })\n  });\n  return response.json();\n}\n",[149098],{"type":426,"tag":549,"props":149099,"children":149100},{"__ignoreMap":417},[149101,149136,149171,149186,149193,149236,149251,149258,149281,149288,149307],{"type":426,"tag":553,"props":149102,"children":149103},{"class":555,"line":556},[149104,149108,149112,149116,149120,149124,149128,149132],{"type":426,"tag":553,"props":149105,"children":149106},{"style":795},[149107],{"type":431,"value":52361},{"type":426,"tag":553,"props":149109,"children":149110},{"style":795},[149111],{"type":431,"value":52366},{"type":426,"tag":553,"props":149113,"children":149114},{"style":560},[149115],{"type":431,"value":67188},{"type":426,"tag":553,"props":149117,"children":149118},{"style":684},[149119],{"type":431,"value":3275},{"type":426,"tag":553,"props":149121,"children":149122},{"style":1684},[149123],{"type":431,"value":37598},{"type":426,"tag":553,"props":149125,"children":149126},{"style":684},[149127],{"type":431,"value":1907},{"type":426,"tag":553,"props":149129,"children":149130},{"style":1684},[149131],{"type":431,"value":2734},{"type":426,"tag":553,"props":149133,"children":149134},{"style":684},[149135],{"type":431,"value":52385},{"type":426,"tag":553,"props":149137,"children":149138},{"class":555,"line":588},[149139,149143,149147,149151,149155,149159,149163,149167],{"type":426,"tag":553,"props":149140,"children":149141},{"style":795},[149142],{"type":431,"value":52540},{"type":426,"tag":553,"props":149144,"children":149145},{"style":566},[149146],{"type":431,"value":53061},{"type":426,"tag":553,"props":149148,"children":149149},{"style":795},[149150],{"type":431,"value":8739},{"type":426,"tag":553,"props":149152,"children":149153},{"style":795},[149154],{"type":431,"value":53070},{"type":426,"tag":553,"props":149156,"children":149157},{"style":560},[149158],{"type":431,"value":52226},{"type":426,"tag":553,"props":149160,"children":149161},{"style":684},[149162],{"type":431,"value":3275},{"type":426,"tag":553,"props":149164,"children":149165},{"style":572},[149166],{"type":431,"value":60449},{"type":426,"tag":553,"props":149168,"children":149169},{"style":684},[149170],{"type":431,"value":53088},{"type":426,"tag":553,"props":149172,"children":149173},{"class":555,"line":606},[149174,149178,149182],{"type":426,"tag":553,"props":149175,"children":149176},{"style":684},[149177],{"type":431,"value":53096},{"type":426,"tag":553,"props":149179,"children":149180},{"style":572},[149181],{"type":431,"value":60428},{"type":426,"tag":553,"props":149183,"children":149184},{"style":684},[149185],{"type":431,"value":710},{"type":426,"tag":553,"props":149187,"children":149188},{"class":555,"line":623},[149189],{"type":426,"tag":553,"props":149190,"children":149191},{"style":684},[149192],{"type":431,"value":53112},{"type":426,"tag":553,"props":149194,"children":149195},{"class":555,"line":637},[149196,149200,149204,149208,149212,149216,149220,149224,149228,149232],{"type":426,"tag":553,"props":149197,"children":149198},{"style":572},[149199],{"type":431,"value":131200},{"type":426,"tag":553,"props":149201,"children":149202},{"style":684},[149203],{"type":431,"value":700},{"type":426,"tag":553,"props":149205,"children":149206},{"style":572},[149207],{"type":431,"value":53129},{"type":426,"tag":553,"props":149209,"children":149210},{"style":684},[149211],{"type":431,"value":135280},{"type":426,"tag":553,"props":149213,"children":149214},{"style":572},[149215],{"type":431,"value":6789},{"type":426,"tag":553,"props":149217,"children":149218},{"style":684},[149219],{"type":431,"value":135289},{"type":426,"tag":553,"props":149221,"children":149222},{"style":572},[149223],{"type":431,"value":6789},{"type":426,"tag":553,"props":149225,"children":149226},{"style":566},[149227],{"type":431,"value":7156},{"type":426,"tag":553,"props":149229,"children":149230},{"style":572},[149231],{"type":431,"value":52718},{"type":426,"tag":553,"props":149233,"children":149234},{"style":684},[149235],{"type":431,"value":710},{"type":426,"tag":553,"props":149237,"children":149238},{"class":555,"line":646},[149239,149243,149247],{"type":426,"tag":553,"props":149240,"children":149241},{"style":572},[149242],{"type":431,"value":131228},{"type":426,"tag":553,"props":149244,"children":149245},{"style":684},[149246],{"type":431,"value":700},{"type":426,"tag":553,"props":149248,"children":149249},{"style":572},[149250],{"type":431,"value":113079},{"type":426,"tag":553,"props":149252,"children":149253},{"class":555,"line":655},[149254],{"type":426,"tag":553,"props":149255,"children":149256},{"style":684},[149257],{"type":431,"value":17203},{"type":426,"tag":553,"props":149259,"children":149260},{"class":555,"line":1036},[149261,149265,149269,149273,149277],{"type":426,"tag":553,"props":149262,"children":149263},{"style":684},[149264],{"type":431,"value":53173},{"type":426,"tag":553,"props":149266,"children":149267},{"style":566},[149268],{"type":431,"value":53178},{"type":426,"tag":553,"props":149270,"children":149271},{"style":684},[149272],{"type":431,"value":6789},{"type":426,"tag":553,"props":149274,"children":149275},{"style":560},[149276],{"type":431,"value":53187},{"type":426,"tag":553,"props":149278,"children":149279},{"style":684},[149280],{"type":431,"value":55908},{"type":426,"tag":553,"props":149282,"children":149283},{"class":555,"line":1054},[149284],{"type":426,"tag":553,"props":149285,"children":149286},{"style":684},[149287],{"type":431,"value":52480},{"type":426,"tag":553,"props":149289,"children":149290},{"class":555,"line":1080},[149291,149295,149299,149303],{"type":426,"tag":553,"props":149292,"children":149293},{"style":795},[149294],{"type":431,"value":52393},{"type":426,"tag":553,"props":149296,"children":149297},{"style":684},[149298],{"type":431,"value":53218},{"type":426,"tag":553,"props":149300,"children":149301},{"style":560},[149302],{"type":431,"value":673},{"type":426,"tag":553,"props":149304,"children":149305},{"style":684},[149306],{"type":431,"value":53227},{"type":426,"tag":553,"props":149308,"children":149309},{"class":555,"line":1097},[149310],{"type":426,"tag":553,"props":149311,"children":149312},{"style":684},[149313],{"type":431,"value":756},{"type":426,"tag":427,"props":149315,"children":149316},{},[149317],{"type":431,"value":149318},"Without a dedicated SDK, Rapiwa requires 5–10 lines of HTTP client code per use. For most developers, this is negligible. For large teams with extensive API usage, a typed SDK reduces errors.",{"type":426,"tag":427,"props":149320,"children":149321},{},[149322,149327],{"type":426,"tag":446,"props":149323,"children":149324},{},[149325],{"type":431,"value":149326},"Rapiwa's SDKs are on the roadmap",{"type":431,"value":149328}," — this comparison will change as they ship.",{"type":426,"tag":434,"props":149330,"children":149332},{"id":149331},"n8n-integration-comparison",[149333],{"type":431,"value":149334},"n8n Integration Comparison",{"type":426,"tag":515,"props":149336,"children":149338},{"id":149337},"wasenderapi-n8n",[149339],{"type":431,"value":149340},"WasenderAPI n8n",{"type":426,"tag":427,"props":149342,"children":149343},{},[149344,149346,149352],{"type":431,"value":149345},"WasenderAPI has an ",{"type":426,"tag":549,"props":149347,"children":149349},{"className":149348},[],[149350],{"type":431,"value":149351},"n8n-nodes-wasenderapi",{"type":431,"value":149353}," community node package. You can add it to n8n and use it in any workflow. There are no pre-built templates on the n8n marketplace.",{"type":426,"tag":515,"props":149355,"children":149357},{"id":149356},"rapiwa-n8n",[149358],{"type":431,"value":149359},"Rapiwa n8n",{"type":426,"tag":427,"props":149361,"children":149362},{},[149363,149365,149370,149372,149377],{"type":431,"value":149364},"Rapiwa has ",{"type":426,"tag":446,"props":149366,"children":149367},{},[149368],{"type":431,"value":149369},"10 official workflow templates",{"type":431,"value":149371}," on the n8n marketplace with ",{"type":426,"tag":446,"props":149373,"children":149374},{},[149375],{"type":431,"value":149376},"3,581 combined installs",{"type":431,"value":149378},". Import any template with one click — no configuration needed beyond adding your API key.",{"type":426,"tag":542,"props":149380,"children":149382},{"code":149381},"Templates available:\n✓ WooCommerce invoice delivery (1,306 installs)\n✓ Google Calendar + Gemini AI reminders (538 installs)\n✓ GPT-4 customer support bot (474 installs)\n✓ WooCommerce cross-sell (311 installs)\n✓ WooCommerce review requests (284 installs)\n✓ WooCommerce order updates (236 installs)\n✓ WooCommerce discount coupons (163 installs)\n✓ Shopify cancellation apology (139 installs)\n✓ Shopify discount codes (74 installs)\n✓ Shopify upsell (56 installs)\n",[149383],{"type":426,"tag":549,"props":149384,"children":149385},{"__ignoreMap":417},[149386],{"type":431,"value":149381},{"type":426,"tag":434,"props":149388,"children":149390},{"id":149389},"woocommerce-integration",[149391],{"type":431,"value":149392},"WooCommerce Integration",{"type":426,"tag":427,"props":149394,"children":149395},{},[149396,149400,149402,149407],{"type":426,"tag":446,"props":149397,"children":149398},{},[149399],{"type":431,"value":147163},{"type":431,"value":149401},": No dedicated plugin. WooCommerce developers must build custom integrations using the HTTP API or ",{"type":426,"tag":549,"props":149403,"children":149405},{"className":149404},[],[149406],{"type":431,"value":89735},{"type":431,"value":6789},{"type":426,"tag":427,"props":149409,"children":149410},{},[149411,149415,149416,149421],{"type":426,"tag":446,"props":149412,"children":149413},{},[149414],{"type":431,"value":127310},{"type":431,"value":78182},{"type":426,"tag":3819,"props":149417,"children":149419},{"href":131923,"rel":149418},[3823],[149420],{"type":431,"value":148534},{"type":431,"value":149422}," installs in WordPress in minutes. Enter API key → configure → done. Plus 6 WooCommerce-specific n8n templates.",{"type":426,"tag":434,"props":149424,"children":149426},{"id":149425},"who-should-choose-wasenderapi",[149427],{"type":431,"value":149428},"Who Should Choose WasenderAPI?",{"type":426,"tag":454,"props":149430,"children":149431},{},[149432,149444,149456,149468,149479],{"type":426,"tag":458,"props":149433,"children":149434},{},[149435,149437,149442],{"type":431,"value":149436},"Your team uses ",{"type":426,"tag":446,"props":149438,"children":149439},{},[149440],{"type":431,"value":149441},"TypeScript throughout",{"type":431,"value":149443}," and wants type-safe API client code",{"type":426,"tag":458,"props":149445,"children":149446},{},[149447,149449,149454],{"type":431,"value":149448},"You need a ",{"type":426,"tag":446,"props":149450,"children":149451},{},[149452],{"type":431,"value":149453},"Python SDK with full type hints",{"type":431,"value":149455}," today (not roadmap)",{"type":426,"tag":458,"props":149457,"children":149458},{},[149459,149461,149466],{"type":431,"value":149460},"You are building ",{"type":426,"tag":446,"props":149462,"children":149463},{},[149464],{"type":431,"value":149465},"AI agent tools",{"type":431,"value":149467}," that use MCP Server protocol",{"type":426,"tag":458,"props":149469,"children":149470},{},[149471,149473,149477],{"type":431,"value":149472},"You need ",{"type":426,"tag":446,"props":149474,"children":149475},{},[149476],{"type":431,"value":148462},{"type":431,"value":149478}," for PHP projects with Artisan-style integration",{"type":426,"tag":458,"props":149480,"children":149481},{},[149482],{"type":431,"value":149483},"Your existing tech stack benefits from SDK packages over raw HTTP",{"type":426,"tag":434,"props":149485,"children":149487},{"id":149486},"who-should-choose-rapiwa",[149488],{"type":431,"value":149489},"Who Should Choose Rapiwa?",{"type":426,"tag":454,"props":149491,"children":149492},{},[149493,149505,149516,149527,149539,149550],{"type":426,"tag":458,"props":149494,"children":149495},{},[149496,149498,149503],{"type":431,"value":149497},"You want the ",{"type":426,"tag":446,"props":149499,"children":149500},{},[149501],{"type":431,"value":149502},"lowest price",{"type":431,"value":149504}," ($5 vs $6\u002Fmonth)",{"type":426,"tag":458,"props":149506,"children":149507},{},[149508,149509,149514],{"type":431,"value":149448},{"type":426,"tag":446,"props":149510,"children":149511},{},[149512],{"type":431,"value":149513},"WooCommerce integration",{"type":431,"value":149515}," without custom code",{"type":426,"tag":458,"props":149517,"children":149518},{},[149519,149521,149525],{"type":431,"value":149520},"You use ",{"type":426,"tag":446,"props":149522,"children":149523},{},[149524],{"type":431,"value":47653},{"type":431,"value":149526}," and want ready-to-use templates",{"type":426,"tag":458,"props":149528,"children":149529},{},[149530,149532,149537],{"type":431,"value":149531},"You value a ",{"type":426,"tag":446,"props":149533,"children":149534},{},[149535],{"type":431,"value":149536},"higher Sourceforge rating",{"type":431,"value":149538}," (5.0 vs 4.5) for trust",{"type":426,"tag":458,"props":149540,"children":149541},{},[149542,149543,149548],{"type":431,"value":149472},{"type":426,"tag":446,"props":149544,"children":149545},{},[149546],{"type":431,"value":149547},"Shopify automation",{"type":431,"value":149549}," templates",{"type":426,"tag":458,"props":149551,"children":149552},{},[149553],{"type":431,"value":149554},"You are happy with raw HTTP requests or can wait for SDK roadmap",{"type":426,"tag":434,"props":149556,"children":149558},{"id":149557},"the-practical-choice-for-most-developers",[149559],{"type":431,"value":149560},"The Practical Choice for Most Developers",{"type":426,"tag":427,"props":149562,"children":149563},{},[149564],{"type":431,"value":149565},"For 80% of developer use cases — order notifications, chatbots, appointment reminders, bulk messaging — both APIs are functionally identical. The choice comes down to:",{"type":426,"tag":454,"props":149567,"children":149568},{},[149569,149579,149589],{"type":426,"tag":458,"props":149570,"children":149571},{},[149572,149577],{"type":426,"tag":446,"props":149573,"children":149574},{},[149575],{"type":431,"value":149576},"You want SDKs today",{"type":431,"value":149578},": WasenderAPI",{"type":426,"tag":458,"props":149580,"children":149581},{},[149582,149587],{"type":426,"tag":446,"props":149583,"children":149584},{},[149585],{"type":431,"value":149586},"You want templates and plugins today",{"type":431,"value":149588},": Rapiwa",{"type":426,"tag":458,"props":149590,"children":149591},{},[149592,149597],{"type":426,"tag":446,"props":149593,"children":149594},{},[149595],{"type":431,"value":149596},"You want cheapest + highest rated",{"type":431,"value":149588},{"type":426,"tag":427,"props":149599,"children":149600},{},[149601],{"type":431,"value":149602},"Start with Rapiwa's 3-day free trial. If you hit a wall where a typed SDK would genuinely improve your workflow, WasenderAPI is one HTTP endpoint change away.",{"type":426,"tag":427,"props":149604,"children":149605},{},[149606],{"type":426,"tag":3819,"props":149607,"children":149609},{"href":3821,"rel":149608},[3823],[149610],{"type":431,"value":149611},"Try Rapiwa free →",{"type":426,"tag":434,"props":149613,"children":149614},{"id":4109},[149615],{"type":431,"value":4112},{"type":426,"tag":427,"props":149617,"children":149618},{},[149619,149624],{"type":426,"tag":446,"props":149620,"children":149621},{},[149622],{"type":431,"value":149623},"Which is better: WasenderAPI or Rapiwa?",{"type":431,"value":149625},"\nRapiwa is better for most use cases (lower price, higher rating, WooCommerce plugin, n8n templates). WasenderAPI is better for teams that need TypeScript\u002FPython\u002FLaravel SDKs or MCP Server integration today.",{"type":426,"tag":427,"props":149627,"children":149628},{},[149629,149634],{"type":426,"tag":446,"props":149630,"children":149631},{},[149632],{"type":431,"value":149633},"Can I use both WasenderAPI and Rapiwa?",{"type":431,"value":149635},"\nYes. Some developers use both: Rapiwa for WooCommerce\u002Fn8n integrations and WasenderAPI for SDK-heavy projects. They are not mutually exclusive.",{"type":426,"tag":427,"props":149637,"children":149638},{},[149639,149644,149646,149651,149653,149658,149659,149664,149665,149670],{"type":426,"tag":446,"props":149640,"children":149641},{},[149642],{"type":431,"value":149643},"Is switching between WasenderAPI and Rapiwa easy?",{"type":431,"value":149645},"\nVery easy. Change two field names (",{"type":426,"tag":549,"props":149647,"children":149649},{"className":149648},[],[149650],{"type":431,"value":148844},{"type":431,"value":149652},"→",{"type":426,"tag":549,"props":149654,"children":149656},{"className":149655},[],[149657],{"type":431,"value":39195},{"type":431,"value":1907},{"type":426,"tag":549,"props":149660,"children":149662},{"className":149661},[],[149663],{"type":431,"value":431},{"type":431,"value":149652},{"type":426,"tag":549,"props":149666,"children":149668},{"className":149667},[],[149669],{"type":431,"value":2734},{"type":431,"value":149671},") and the endpoint URL. Most migrations take under 30 minutes.",{"type":426,"tag":427,"props":149673,"children":149674},{},[149675,149680],{"type":426,"tag":446,"props":149676,"children":149677},{},[149678],{"type":431,"value":149679},"Does WasenderAPI have more features than Rapiwa?",{"type":431,"value":149681},"\nWasenderAPI has more mature SDK packages and MCP Server. Rapiwa has more pre-built integrations (WooCommerce plugin, n8n templates). Core message types, webhooks, and API functionality are equivalent.",{"type":426,"tag":427,"props":149683,"children":149684},{},[149685,149690],{"type":426,"tag":446,"props":149686,"children":149687},{},[149688],{"type":431,"value":149689},"What is the price difference between WasenderAPI and Rapiwa per year?",{"type":431,"value":149691},"\n$1\u002Fmonth difference = $12\u002Fyear for a single WhatsApp number. Small in absolute terms, but Rapiwa's additional integrations (plugin + templates) add significantly more value.",{"type":426,"tag":4164,"props":149693,"children":149694},{},[149695],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":149697},[149698,149699,149700,149704,149708,149709,149710,149711,149712],{"id":148278,"depth":588,"text":148281},{"id":148653,"depth":588,"text":148656},{"id":148881,"depth":588,"text":148884,"children":149701},[149702,149703],{"id":148887,"depth":606,"text":148890},{"id":149090,"depth":606,"text":149093},{"id":149331,"depth":588,"text":149334,"children":149705},[149706,149707],{"id":149337,"depth":606,"text":149340},{"id":149356,"depth":606,"text":149359},{"id":149389,"depth":588,"text":149392},{"id":149425,"depth":588,"text":149428},{"id":149486,"depth":588,"text":149489},{"id":149557,"depth":588,"text":149560},{"id":4109,"depth":588,"text":4112},"content:blog:wasenderapi-vs-rapiwa-developer-side-by-side-comparison.md","blog\u002Fwasenderapi-vs-rapiwa-developer-side-by-side-comparison.md","blog\u002Fwasenderapi-vs-rapiwa-developer-side-by-side-comparison",{"loc":214},{"_path":218,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":219,"description":220,"date":149718,"author":6858,"category":212,"_slug":149719,"image":149720,"body":149721,"_type":4187,"_id":150704,"_source":4189,"_file":150705,"_stem":150706,"_extension":4192,"sitemap":150707},"2026-01-24","how-much-does-whatsapp-automation-really-cost-2026","\u002Fimages\u002Fblog\u002Fhow-much-does-whatsapp-automation-really-cost-2026.svg",{"type":423,"children":149722,"toc":150684},[149723,149735,149741,149746,149778,149784,149899,149909,149915,150089,150099,150105,150111,150171,150176,150182,150242,150247,150253,150314,150320,150382,150388,150449,150455,150460,150503,150508,150514,150520,150525,150531,150536,150554,150559,150565,150577,150583,150588,150597,150605,150623,150633,150637,150647,150657,150667],{"type":426,"tag":427,"props":149724,"children":149725},{},[149726,149728,149733],{"type":431,"value":149727},"A complete WhatsApp automation stack costs $5–$25\u002Fmonth in 2026. The WhatsApp API (",{"type":426,"tag":3819,"props":149729,"children":149731},{"href":3821,"rel":149730},[3823],[149732],{"type":431,"value":127310},{"type":431,"value":149734},") costs $5\u002Fmonth with unlimited messages. Automation tools (n8n, Make.com) range from $0 to $20\u002Fmonth. For WooCommerce stores, the total stack is $5\u002Fmonth — the plugin is free. This guide breaks down every cost component for building WhatsApp automation.",{"type":426,"tag":434,"props":149736,"children":149738},{"id":149737},"what-makes-up-whatsapp-automation-cost",[149739],{"type":431,"value":149740},"What Makes Up WhatsApp Automation Cost?",{"type":426,"tag":427,"props":149742,"children":149743},{},[149744],{"type":431,"value":149745},"WhatsApp automation requires three components:",{"type":426,"tag":6331,"props":149747,"children":149748},{},[149749,149758,149768],{"type":426,"tag":458,"props":149750,"children":149751},{},[149752,149756],{"type":426,"tag":446,"props":149753,"children":149754},{},[149755],{"type":431,"value":17},{"type":431,"value":149757}," — connects your number to a programmable endpoint",{"type":426,"tag":458,"props":149759,"children":149760},{},[149761,149766],{"type":426,"tag":446,"props":149762,"children":149763},{},[149764],{"type":431,"value":149765},"Automation tool",{"type":431,"value":149767}," — connects the API to triggers (n8n, Make.com, Zapier, or custom code)",{"type":426,"tag":458,"props":149769,"children":149770},{},[149771,149776],{"type":426,"tag":446,"props":149772,"children":149773},{},[149774],{"type":431,"value":149775},"Infrastructure",{"type":431,"value":149777}," — hosting for your webhook handler (if needed)",{"type":426,"tag":434,"props":149779,"children":149781},{"id":149780},"component-1-whatsapp-api-cost",[149782],{"type":431,"value":149783},"Component 1: WhatsApp API Cost",{"type":426,"tag":10600,"props":149785,"children":149786},{},[149787,149806],{"type":426,"tag":10604,"props":149788,"children":149789},{},[149790],{"type":426,"tag":10608,"props":149791,"children":149792},{},[149793,149797,149801],{"type":426,"tag":10612,"props":149794,"children":149795},{},[149796],{"type":431,"value":147033},{"type":426,"tag":10612,"props":149798,"children":149799},{},[149800],{"type":431,"value":103028},{"type":426,"tag":10612,"props":149802,"children":149803},{},[149804],{"type":431,"value":149805},"Notes",{"type":426,"tag":10623,"props":149807,"children":149808},{},[149809,149831,149847,149864,149881],{"type":426,"tag":10608,"props":149810,"children":149811},{},[149812,149819,149826],{"type":426,"tag":10630,"props":149813,"children":149814},{},[149815],{"type":426,"tag":446,"props":149816,"children":149817},{},[149818],{"type":431,"value":127310},{"type":426,"tag":10630,"props":149820,"children":149821},{},[149822],{"type":426,"tag":446,"props":149823,"children":149824},{},[149825],{"type":431,"value":148332},{"type":426,"tag":10630,"props":149827,"children":149828},{},[149829],{"type":431,"value":149830},"Cheapest managed, unlimited messages",{"type":426,"tag":10608,"props":149832,"children":149833},{},[149834,149838,149842],{"type":426,"tag":10630,"props":149835,"children":149836},{},[149837],{"type":431,"value":147163},{"type":426,"tag":10630,"props":149839,"children":149840},{},[149841],{"type":431,"value":148324},{"type":426,"tag":10630,"props":149843,"children":149844},{},[149845],{"type":431,"value":149846},"TypeScript\u002FPython SDKs",{"type":426,"tag":10608,"props":149848,"children":149849},{},[149850,149854,149859],{"type":426,"tag":10630,"props":149851,"children":149852},{},[149853],{"type":431,"value":147196},{"type":426,"tag":10630,"props":149855,"children":149856},{},[149857],{"type":431,"value":149858},"$19\u002Fmonth",{"type":426,"tag":10630,"props":149860,"children":149861},{},[149862],{"type":431,"value":149863},"Open source, hosted",{"type":426,"tag":10608,"props":149865,"children":149866},{},[149867,149872,149876],{"type":426,"tag":10630,"props":149868,"children":149869},{},[149870],{"type":431,"value":149871},"Meta Cloud API",{"type":426,"tag":10630,"props":149873,"children":149874},{},[149875],{"type":431,"value":147084},{"type":426,"tag":10630,"props":149877,"children":149878},{},[149879],{"type":431,"value":149880},"Per-conversation + BSP fees",{"type":426,"tag":10608,"props":149882,"children":149883},{},[149884,149889,149894],{"type":426,"tag":10630,"props":149885,"children":149886},{},[149887],{"type":431,"value":149888},"Self-Hosted",{"type":426,"tag":10630,"props":149890,"children":149891},{},[149892],{"type":431,"value":149893},"$0 + VPS",{"type":426,"tag":10630,"props":149895,"children":149896},{},[149897],{"type":431,"value":149898},"$40+ real cost",{"type":426,"tag":427,"props":149900,"children":149901},{},[149902,149907],{"type":426,"tag":446,"props":149903,"children":149904},{},[149905],{"type":431,"value":149906},"Recommended: Rapiwa at $5\u002Fmonth",{"type":431,"value":149908}," — lowest total cost for most use cases.",{"type":426,"tag":434,"props":149910,"children":149912},{"id":149911},"component-2-automation-tool-cost",[149913],{"type":431,"value":149914},"Component 2: Automation Tool Cost",{"type":426,"tag":10600,"props":149916,"children":149917},{},[149918,149943],{"type":426,"tag":10604,"props":149919,"children":149920},{},[149921],{"type":426,"tag":10608,"props":149922,"children":149923},{},[149924,149929,149934,149939],{"type":426,"tag":10612,"props":149925,"children":149926},{},[149927],{"type":431,"value":149928},"Tool",{"type":426,"tag":10612,"props":149930,"children":149931},{},[149932],{"type":431,"value":149933},"Free Tier",{"type":426,"tag":10612,"props":149935,"children":149936},{},[149937],{"type":431,"value":149938},"Paid Starting",{"type":426,"tag":10612,"props":149940,"children":149941},{},[149942],{"type":431,"value":149805},{"type":426,"tag":10623,"props":149944,"children":149945},{},[149946,149975,149999,150020,150042,150064],{"type":426,"tag":10608,"props":149947,"children":149948},{},[149949,149957,149965,149970],{"type":426,"tag":10630,"props":149950,"children":149951},{},[149952],{"type":426,"tag":446,"props":149953,"children":149954},{},[149955],{"type":431,"value":149956},"n8n Self-Hosted",{"type":426,"tag":10630,"props":149958,"children":149959},{},[149960],{"type":426,"tag":446,"props":149961,"children":149962},{},[149963],{"type":431,"value":149964},"Free (unlimited)",{"type":426,"tag":10630,"props":149966,"children":149967},{},[149968],{"type":431,"value":149969},"$0 (self-host)",{"type":426,"tag":10630,"props":149971,"children":149972},{},[149973],{"type":431,"value":149974},"Best for technical users",{"type":426,"tag":10608,"props":149976,"children":149977},{},[149978,149985,149990,149994],{"type":426,"tag":10630,"props":149979,"children":149980},{},[149981],{"type":426,"tag":446,"props":149982,"children":149983},{},[149984],{"type":431,"value":144158},{"type":426,"tag":10630,"props":149986,"children":149987},{},[149988],{"type":431,"value":149989},"5,000 ops\u002Fmonth",{"type":426,"tag":10630,"props":149991,"children":149992},{},[149993],{"type":431,"value":78107},{"type":426,"tag":10630,"props":149995,"children":149996},{},[149997],{"type":431,"value":149998},"Best for non-technical",{"type":426,"tag":10608,"props":150000,"children":150001},{},[150002,150006,150011,150015],{"type":426,"tag":10630,"props":150003,"children":150004},{},[150005],{"type":431,"value":78023},{"type":426,"tag":10630,"props":150007,"children":150008},{},[150009],{"type":431,"value":150010},"1,000 ops\u002Fmonth",{"type":426,"tag":10630,"props":150012,"children":150013},{},[150014],{"type":431,"value":78117},{"type":426,"tag":10630,"props":150016,"children":150017},{},[150018],{"type":431,"value":150019},"Good UI",{"type":426,"tag":10608,"props":150021,"children":150022},{},[150023,150027,150032,150037],{"type":426,"tag":10630,"props":150024,"children":150025},{},[150026],{"type":431,"value":78014},{"type":426,"tag":10630,"props":150028,"children":150029},{},[150030],{"type":431,"value":150031},"100 tasks\u002Fmonth",{"type":426,"tag":10630,"props":150033,"children":150034},{},[150035],{"type":431,"value":150036},"$19.99\u002Fmonth",{"type":426,"tag":10630,"props":150038,"children":150039},{},[150040],{"type":431,"value":150041},"Most popular",{"type":426,"tag":10608,"props":150043,"children":150044},{},[150045,150050,150054,150059],{"type":426,"tag":10630,"props":150046,"children":150047},{},[150048],{"type":431,"value":150049},"Custom code",{"type":426,"tag":10630,"props":150051,"children":150052},{},[150053],{"type":431,"value":80750},{"type":426,"tag":10630,"props":150055,"children":150056},{},[150057],{"type":431,"value":150058},"Hosting cost",{"type":426,"tag":10630,"props":150060,"children":150061},{},[150062],{"type":431,"value":150063},"Most flexible",{"type":426,"tag":10608,"props":150065,"children":150066},{},[150067,150072,150079,150084],{"type":426,"tag":10630,"props":150068,"children":150069},{},[150070],{"type":431,"value":150071},"WooCommerce Plugin",{"type":426,"tag":10630,"props":150073,"children":150074},{},[150075],{"type":426,"tag":446,"props":150076,"children":150077},{},[150078],{"type":431,"value":80750},{"type":426,"tag":10630,"props":150080,"children":150081},{},[150082],{"type":431,"value":150083},"$0",{"type":426,"tag":10630,"props":150085,"children":150086},{},[150087],{"type":431,"value":150088},"Zero code, WooCommerce only",{"type":426,"tag":427,"props":150090,"children":150091},{},[150092,150097],{"type":426,"tag":446,"props":150093,"children":150094},{},[150095],{"type":431,"value":150096},"For WooCommerce users: the plugin is free",{"type":431,"value":150098}," — no automation tool cost at all.",{"type":426,"tag":434,"props":150100,"children":150102},{"id":150101},"complete-whatsapp-automation-stack-costs",[150103],{"type":431,"value":150104},"Complete WhatsApp Automation Stack Costs",{"type":426,"tag":515,"props":150106,"children":150108},{"id":150107},"scenario-1-woocommerce-store-easiest-cheapest",[150109],{"type":431,"value":150110},"Scenario 1: WooCommerce Store (Easiest, Cheapest)",{"type":426,"tag":10600,"props":150112,"children":150113},{},[150114,150129],{"type":426,"tag":10604,"props":150115,"children":150116},{},[150117],{"type":426,"tag":10608,"props":150118,"children":150119},{},[150120,150125],{"type":426,"tag":10612,"props":150121,"children":150122},{},[150123],{"type":431,"value":150124},"Component",{"type":426,"tag":10612,"props":150126,"children":150127},{},[150128],{"type":431,"value":505},{"type":426,"tag":10623,"props":150130,"children":150131},{},[150132,150143,150154],{"type":426,"tag":10608,"props":150133,"children":150134},{},[150135,150139],{"type":426,"tag":10630,"props":150136,"children":150137},{},[150138],{"type":431,"value":62461},{"type":426,"tag":10630,"props":150140,"children":150141},{},[150142],{"type":431,"value":148332},{"type":426,"tag":10608,"props":150144,"children":150145},{},[150146,150150],{"type":426,"tag":10630,"props":150147,"children":150148},{},[150149],{"type":431,"value":150071},{"type":426,"tag":10630,"props":150151,"children":150152},{},[150153],{"type":431,"value":80750},{"type":426,"tag":10608,"props":150155,"children":150156},{},[150157,150164],{"type":426,"tag":10630,"props":150158,"children":150159},{},[150160],{"type":426,"tag":446,"props":150161,"children":150162},{},[150163],{"type":431,"value":74889},{"type":426,"tag":10630,"props":150165,"children":150166},{},[150167],{"type":426,"tag":446,"props":150168,"children":150169},{},[150170],{"type":431,"value":148332},{"type":426,"tag":427,"props":150172,"children":150173},{},[150174],{"type":431,"value":150175},"Automation: order confirmations, shipping updates, invoice delivery.\nNo coding. No automation tool subscription needed.",{"type":426,"tag":515,"props":150177,"children":150179},{"id":150178},"scenario-2-n8n-automation-all-use-cases-no-code",[150180],{"type":431,"value":150181},"Scenario 2: n8n Automation (All Use Cases, No Code)",{"type":426,"tag":10600,"props":150183,"children":150184},{},[150185,150199],{"type":426,"tag":10604,"props":150186,"children":150187},{},[150188],{"type":426,"tag":10608,"props":150189,"children":150190},{},[150191,150195],{"type":426,"tag":10612,"props":150192,"children":150193},{},[150194],{"type":431,"value":150124},{"type":426,"tag":10612,"props":150196,"children":150197},{},[150198],{"type":431,"value":505},{"type":426,"tag":10623,"props":150200,"children":150201},{},[150202,150213,150225],{"type":426,"tag":10608,"props":150203,"children":150204},{},[150205,150209],{"type":426,"tag":10630,"props":150206,"children":150207},{},[150208],{"type":431,"value":62461},{"type":426,"tag":10630,"props":150210,"children":150211},{},[150212],{"type":431,"value":148332},{"type":426,"tag":10608,"props":150214,"children":150215},{},[150216,150221],{"type":426,"tag":10630,"props":150217,"children":150218},{},[150219],{"type":431,"value":150220},"n8n Cloud (free tier)",{"type":426,"tag":10630,"props":150222,"children":150223},{},[150224],{"type":431,"value":150083},{"type":426,"tag":10608,"props":150226,"children":150227},{},[150228,150235],{"type":426,"tag":10630,"props":150229,"children":150230},{},[150231],{"type":426,"tag":446,"props":150232,"children":150233},{},[150234],{"type":431,"value":74889},{"type":426,"tag":10630,"props":150236,"children":150237},{},[150238],{"type":426,"tag":446,"props":150239,"children":150240},{},[150241],{"type":431,"value":148332},{"type":426,"tag":427,"props":150243,"children":150244},{},[150245],{"type":431,"value":150246},"Use any of the 10 pre-built Rapiwa n8n templates. Free tier is sufficient for most small business automation (5,000 executions\u002Fmonth).",{"type":426,"tag":515,"props":150248,"children":150250},{"id":150249},"scenario-3-makecom-automation",[150251],{"type":431,"value":150252},"Scenario 3: Make.com Automation",{"type":426,"tag":10600,"props":150254,"children":150255},{},[150256,150270],{"type":426,"tag":10604,"props":150257,"children":150258},{},[150259],{"type":426,"tag":10608,"props":150260,"children":150261},{},[150262,150266],{"type":426,"tag":10612,"props":150263,"children":150264},{},[150265],{"type":431,"value":150124},{"type":426,"tag":10612,"props":150267,"children":150268},{},[150269],{"type":431,"value":505},{"type":426,"tag":10623,"props":150271,"children":150272},{},[150273,150284,150296],{"type":426,"tag":10608,"props":150274,"children":150275},{},[150276,150280],{"type":426,"tag":10630,"props":150277,"children":150278},{},[150279],{"type":431,"value":62461},{"type":426,"tag":10630,"props":150281,"children":150282},{},[150283],{"type":431,"value":148332},{"type":426,"tag":10608,"props":150285,"children":150286},{},[150287,150292],{"type":426,"tag":10630,"props":150288,"children":150289},{},[150290],{"type":431,"value":150291},"Make.com Core",{"type":426,"tag":10630,"props":150293,"children":150294},{},[150295],{"type":431,"value":78117},{"type":426,"tag":10608,"props":150297,"children":150298},{},[150299,150306],{"type":426,"tag":10630,"props":150300,"children":150301},{},[150302],{"type":426,"tag":446,"props":150303,"children":150304},{},[150305],{"type":431,"value":74889},{"type":426,"tag":10630,"props":150307,"children":150308},{},[150309],{"type":426,"tag":446,"props":150310,"children":150311},{},[150312],{"type":431,"value":150313},"$14\u002Fmonth",{"type":426,"tag":515,"props":150315,"children":150317},{"id":150316},"scenario-4-custom-code-developer",[150318],{"type":431,"value":150319},"Scenario 4: Custom Code (Developer)",{"type":426,"tag":10600,"props":150321,"children":150322},{},[150323,150337],{"type":426,"tag":10604,"props":150324,"children":150325},{},[150326],{"type":426,"tag":10608,"props":150327,"children":150328},{},[150329,150333],{"type":426,"tag":10612,"props":150330,"children":150331},{},[150332],{"type":431,"value":150124},{"type":426,"tag":10612,"props":150334,"children":150335},{},[150336],{"type":431,"value":505},{"type":426,"tag":10623,"props":150338,"children":150339},{},[150340,150351,150364],{"type":426,"tag":10608,"props":150341,"children":150342},{},[150343,150347],{"type":426,"tag":10630,"props":150344,"children":150345},{},[150346],{"type":431,"value":62461},{"type":426,"tag":10630,"props":150348,"children":150349},{},[150350],{"type":431,"value":148332},{"type":426,"tag":10608,"props":150352,"children":150353},{},[150354,150359],{"type":426,"tag":10630,"props":150355,"children":150356},{},[150357],{"type":431,"value":150358},"VPS \u002F Cloud Server",{"type":426,"tag":10630,"props":150360,"children":150361},{},[150362],{"type":431,"value":150363},"$5–15\u002Fmonth",{"type":426,"tag":10608,"props":150365,"children":150366},{},[150367,150374],{"type":426,"tag":10630,"props":150368,"children":150369},{},[150370],{"type":426,"tag":446,"props":150371,"children":150372},{},[150373],{"type":431,"value":74889},{"type":426,"tag":10630,"props":150375,"children":150376},{},[150377],{"type":426,"tag":446,"props":150378,"children":150379},{},[150380],{"type":431,"value":150381},"$10–20\u002Fmonth",{"type":426,"tag":515,"props":150383,"children":150385},{"id":150384},"scenario-5-high-volume-enterprise",[150386],{"type":431,"value":150387},"Scenario 5: High-Volume Enterprise",{"type":426,"tag":10600,"props":150389,"children":150390},{},[150391,150405],{"type":426,"tag":10604,"props":150392,"children":150393},{},[150394],{"type":426,"tag":10608,"props":150395,"children":150396},{},[150397,150401],{"type":426,"tag":10612,"props":150398,"children":150399},{},[150400],{"type":431,"value":150124},{"type":426,"tag":10612,"props":150402,"children":150403},{},[150404],{"type":431,"value":505},{"type":426,"tag":10623,"props":150406,"children":150407},{},[150408,150421,150434],{"type":426,"tag":10608,"props":150409,"children":150410},{},[150411,150416],{"type":426,"tag":10630,"props":150412,"children":150413},{},[150414],{"type":431,"value":150415},"Rapiwa Enterprise",{"type":426,"tag":10630,"props":150417,"children":150418},{},[150419],{"type":431,"value":150420},"Custom",{"type":426,"tag":10608,"props":150422,"children":150423},{},[150424,150429],{"type":426,"tag":10630,"props":150425,"children":150426},{},[150427],{"type":431,"value":150428},"n8n Cloud Pro",{"type":426,"tag":10630,"props":150430,"children":150431},{},[150432],{"type":431,"value":150433},"$50\u002Fmonth",{"type":426,"tag":10608,"props":150435,"children":150436},{},[150437,150444],{"type":426,"tag":10630,"props":150438,"children":150439},{},[150440],{"type":426,"tag":446,"props":150441,"children":150442},{},[150443],{"type":431,"value":74889},{"type":426,"tag":10630,"props":150445,"children":150446},{},[150447],{"type":431,"value":150448},"Custom + $50\u002Fmonth",{"type":426,"tag":434,"props":150450,"children":150452},{"id":150451},"what-you-get-for-5month-rapiwa-free-n8n",[150453],{"type":431,"value":150454},"What You Get for $5\u002FMonth (Rapiwa + Free n8n)",{"type":426,"tag":427,"props":150456,"children":150457},{},[150458],{"type":431,"value":150459},"For $5\u002Fmonth total, you can automate:",{"type":426,"tag":454,"props":150461,"children":150462},{},[150463,150468,150473,150478,150483,150488,150493,150498],{"type":426,"tag":458,"props":150464,"children":150465},{},[150466],{"type":431,"value":150467},"WooCommerce order confirmations",{"type":426,"tag":458,"props":150469,"children":150470},{},[150471],{"type":431,"value":150472},"Invoice delivery as PDF attachments",{"type":426,"tag":458,"props":150474,"children":150475},{},[150476],{"type":431,"value":150477},"Appointment reminders from Google Calendar",{"type":426,"tag":458,"props":150479,"children":150480},{},[150481],{"type":431,"value":150482},"AI customer support bot (GPT-4 Mini)",{"type":426,"tag":458,"props":150484,"children":150485},{},[150486],{"type":431,"value":150487},"Cross-sell product recommendations",{"type":426,"tag":458,"props":150489,"children":150490},{},[150491],{"type":431,"value":150492},"Review request sequences",{"type":426,"tag":458,"props":150494,"children":150495},{},[150496],{"type":431,"value":150497},"Discount coupon delivery",{"type":426,"tag":458,"props":150499,"children":150500},{},[150501],{"type":431,"value":150502},"Shopify order and cancellation notifications",{"type":426,"tag":427,"props":150504,"children":150505},{},[150506],{"type":431,"value":150507},"This would cost $50–300+\u002Fmonth with SMS providers or official WhatsApp API (per-conversation pricing).",{"type":426,"tag":434,"props":150509,"children":150511},{"id":150510},"hidden-costs-to-watch-for",[150512],{"type":431,"value":150513},"Hidden Costs to Watch For",{"type":426,"tag":515,"props":150515,"children":150517},{"id":150516},"whatsapp-account-warm-up-time",[150518],{"type":431,"value":150519},"WhatsApp Account Warm-Up Time",{"type":426,"tag":427,"props":150521,"children":150522},{},[150523],{"type":431,"value":150524},"New WhatsApp numbers need gradual warm-up (low volume for 2–4 weeks). This is not a financial cost but a time cost. Using an established number you already own avoids this.",{"type":426,"tag":515,"props":150526,"children":150528},{"id":150527},"developersetup-time",[150529],{"type":431,"value":150530},"Developer\u002FSetup Time",{"type":426,"tag":427,"props":150532,"children":150533},{},[150534],{"type":431,"value":150535},"Initial setup takes 5–30 minutes depending on your approach:",{"type":426,"tag":454,"props":150537,"children":150538},{},[150539,150544,150549],{"type":426,"tag":458,"props":150540,"children":150541},{},[150542],{"type":431,"value":150543},"WooCommerce plugin: 5 minutes",{"type":426,"tag":458,"props":150545,"children":150546},{},[150547],{"type":431,"value":150548},"n8n template import: 10 minutes",{"type":426,"tag":458,"props":150550,"children":150551},{},[150552],{"type":431,"value":150553},"Custom code: 30–60 minutes",{"type":426,"tag":427,"props":150555,"children":150556},{},[150557],{"type":431,"value":150558},"For most setups, this is a one-time cost.",{"type":426,"tag":515,"props":150560,"children":150562},{"id":150561},"message-content-creation",[150563],{"type":431,"value":150564},"Message Content Creation",{"type":426,"tag":427,"props":150566,"children":150567},{},[150568,150570,150575],{"type":431,"value":150569},"Creating effective WhatsApp message templates takes time. Use the templates in the ",{"type":426,"tag":3819,"props":150571,"children":150572},{"href":238},[150573],{"type":431,"value":150574},"Rapiwa n8n workflow posts",{"type":431,"value":150576}," as starting points.",{"type":426,"tag":434,"props":150578,"children":150580},{"id":150579},"roi-calculation",[150581],{"type":431,"value":150582},"ROI Calculation",{"type":426,"tag":427,"props":150584,"children":150585},{},[150586],{"type":431,"value":150587},"For a WooCommerce store with 500 orders\u002Fmonth:",{"type":426,"tag":427,"props":150589,"children":150590},{},[150591,150595],{"type":426,"tag":446,"props":150592,"children":150593},{},[150594],{"type":431,"value":505},{"type":431,"value":150596},": $5\u002Fmonth (Rapiwa Starter)",{"type":426,"tag":427,"props":150598,"children":150599},{},[150600],{"type":426,"tag":446,"props":150601,"children":150602},{},[150603],{"type":431,"value":150604},"Value created:",{"type":426,"tag":454,"props":150606,"children":150607},{},[150608,150613,150618],{"type":426,"tag":458,"props":150609,"children":150610},{},[150611],{"type":431,"value":150612},"40% reduction in support tickets (at $2\u002Fticket = $400\u002Fmonth saved)",{"type":426,"tag":458,"props":150614,"children":150615},{},[150616],{"type":431,"value":150617},"35% faster payment on invoices",{"type":426,"tag":458,"props":150619,"children":150620},{},[150621],{"type":431,"value":150622},"25% improvement in repeat purchase rate from post-order engagement",{"type":426,"tag":427,"props":150624,"children":150625},{},[150626,150631],{"type":426,"tag":446,"props":150627,"children":150628},{},[150629],{"type":431,"value":150630},"ROI",{"type":431,"value":150632},": First month savings from reduced support tickets alone exceeds the entire annual API cost.",{"type":426,"tag":434,"props":150634,"children":150635},{"id":4109},[150636],{"type":431,"value":4112},{"type":426,"tag":427,"props":150638,"children":150639},{},[150640,150645],{"type":426,"tag":446,"props":150641,"children":150642},{},[150643],{"type":431,"value":150644},"How much does WhatsApp automation cost per month?",{"type":431,"value":150646},"\nA complete WhatsApp automation stack costs $5–$25\u002Fmonth in 2026. For WooCommerce stores: $5\u002Fmonth (Rapiwa + free plugin). For custom automation with n8n free tier: $5\u002Fmonth. For Make.com: $14\u002Fmonth.",{"type":426,"tag":427,"props":150648,"children":150649},{},[150650,150655],{"type":426,"tag":446,"props":150651,"children":150652},{},[150653],{"type":431,"value":150654},"Is WhatsApp automation cheaper than email marketing?",{"type":431,"value":150656},"\nYes, significantly. Rapiwa costs $5\u002Fmonth for unlimited messages. Email platforms like Mailchimp charge $100\u002Fmonth for 10,000 contacts. WhatsApp automation is cheaper AND has 5x higher open rates.",{"type":426,"tag":427,"props":150658,"children":150659},{},[150660,150665],{"type":426,"tag":446,"props":150661,"children":150662},{},[150663],{"type":431,"value":150664},"Is there a free WhatsApp automation tool?",{"type":431,"value":150666},"\nn8n Self-Hosted is free automation software. Combined with Rapiwa's free 3-day trial, you can test a complete WhatsApp automation stack for $0. After the trial, Rapiwa costs $5\u002Fmonth.",{"type":426,"tag":427,"props":150668,"children":150669},{},[150670,150675,150677,150682],{"type":426,"tag":446,"props":150671,"children":150672},{},[150673],{"type":431,"value":150674},"What is the cheapest way to automate WhatsApp for WooCommerce?",{"type":431,"value":150676},"\nInstall the free ",{"type":426,"tag":3819,"props":150678,"children":150680},{"href":131923,"rel":150679},[3823],[150681],{"type":431,"value":131927},{"type":431,"value":150683}," + Rapiwa $5\u002Fmonth API = $5\u002Fmonth total for fully automated WooCommerce WhatsApp notifications.",{"title":417,"searchDepth":588,"depth":588,"links":150685},[150686,150687,150688,150689,150696,150697,150702,150703],{"id":149737,"depth":588,"text":149740},{"id":149780,"depth":588,"text":149783},{"id":149911,"depth":588,"text":149914},{"id":150101,"depth":588,"text":150104,"children":150690},[150691,150692,150693,150694,150695],{"id":150107,"depth":606,"text":150110},{"id":150178,"depth":606,"text":150181},{"id":150249,"depth":606,"text":150252},{"id":150316,"depth":606,"text":150319},{"id":150384,"depth":606,"text":150387},{"id":150451,"depth":588,"text":150454},{"id":150510,"depth":588,"text":150513,"children":150698},[150699,150700,150701],{"id":150516,"depth":606,"text":150519},{"id":150527,"depth":606,"text":150530},{"id":150561,"depth":606,"text":150564},{"id":150579,"depth":588,"text":150582},{"id":4109,"depth":588,"text":4112},"content:blog:how-much-does-whatsapp-automation-really-cost-2026.md","blog\u002Fhow-much-does-whatsapp-automation-really-cost-2026.md","blog\u002Fhow-much-does-whatsapp-automation-really-cost-2026",{"loc":218},{"_path":222,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":223,"description":224,"date":150709,"author":30617,"category":212,"_slug":150710,"image":150711,"body":150712,"_type":4187,"_id":151462,"_source":4189,"_file":151463,"_stem":151464,"_extension":4192,"sitemap":151465},"2026-01-23","gupshup-vs-rapiwa-whatsapp-api-small-businesses","\u002Fimages\u002Fblog\u002Fgupshup-vs-rapiwa-whatsapp-api-small-businesses.svg",{"type":423,"children":150713,"toc":151449},[150714,150726,150732,150930,150936,150941,150949,150972,150980,151003,151009,151014,151022,151030,151038,151051,151057,151063,151068,151074,151079,151085,151090,151096,151101,151107,151380,151385,151389,151399,151409,151425,151435,151445],{"type":426,"tag":427,"props":150715,"children":150716},{},[150717,150719,150724],{"type":431,"value":150718},"Gupshup is an enterprise WhatsApp Business Solution Provider with platform fees, per-conversation charges, and Meta approval requirements. ",{"type":426,"tag":3819,"props":150720,"children":150722},{"href":3821,"rel":150721},[3823],[150723],{"type":431,"value":127310},{"type":431,"value":150725}," costs $5\u002Fmonth flat with no Meta approval, no per-message fees, and includes a WooCommerce plugin and 10 n8n templates. For small businesses, Rapiwa is dramatically more affordable and faster to deploy.",{"type":426,"tag":434,"props":150727,"children":150729},{"id":150728},"gupshup-vs-rapiwa-comparison",[150730],{"type":431,"value":150731},"Gupshup vs Rapiwa: Comparison",{"type":426,"tag":10600,"props":150733,"children":150734},{},[150735,150754],{"type":426,"tag":10604,"props":150736,"children":150737},{},[150738],{"type":426,"tag":10608,"props":150739,"children":150740},{},[150741,150745,150750],{"type":426,"tag":10612,"props":150742,"children":150743},{},[150744],{"type":431,"value":16096},{"type":426,"tag":10612,"props":150746,"children":150747},{},[150748],{"type":431,"value":150749},"Gupshup",{"type":426,"tag":10612,"props":150751,"children":150752},{},[150753],{"type":431,"value":127310},{"type":426,"tag":10623,"props":150755,"children":150756},{},[150757,150775,150795,150815,150834,150853,150873,150891,150910],{"type":426,"tag":10608,"props":150758,"children":150759},{},[150760,150765,150770],{"type":426,"tag":10630,"props":150761,"children":150762},{},[150763],{"type":431,"value":150764},"API type",{"type":426,"tag":10630,"props":150766,"children":150767},{},[150768],{"type":431,"value":150769},"Official (Meta Cloud BSP)",{"type":426,"tag":10630,"props":150771,"children":150772},{},[150773],{"type":431,"value":150774},"Unofficial (QR code)",{"type":426,"tag":10608,"props":150776,"children":150777},{},[150778,150783,150788],{"type":426,"tag":10630,"props":150779,"children":150780},{},[150781],{"type":431,"value":150782},"Starting price",{"type":426,"tag":10630,"props":150784,"children":150785},{},[150786],{"type":431,"value":150787},"Enterprise pricing",{"type":426,"tag":10630,"props":150789,"children":150790},{},[150791],{"type":426,"tag":446,"props":150792,"children":150793},{},[150794],{"type":431,"value":148332},{"type":426,"tag":10608,"props":150796,"children":150797},{},[150798,150803,150808],{"type":426,"tag":10630,"props":150799,"children":150800},{},[150801],{"type":431,"value":150802},"Per-conversation fee",{"type":426,"tag":10630,"props":150804,"children":150805},{},[150806],{"type":431,"value":150807},"Yes (Meta rates)",{"type":426,"tag":10630,"props":150809,"children":150810},{},[150811],{"type":426,"tag":446,"props":150812,"children":150813},{},[150814],{"type":431,"value":1840},{"type":426,"tag":10608,"props":150816,"children":150817},{},[150818,150823,150827],{"type":426,"tag":10630,"props":150819,"children":150820},{},[150821],{"type":431,"value":150822},"Meta approval",{"type":426,"tag":10630,"props":150824,"children":150825},{},[150826],{"type":431,"value":147098},{"type":426,"tag":10630,"props":150828,"children":150829},{},[150830],{"type":426,"tag":446,"props":150831,"children":150832},{},[150833],{"type":431,"value":147147},{"type":426,"tag":10608,"props":150835,"children":150836},{},[150837,150842,150846],{"type":426,"tag":10630,"props":150838,"children":150839},{},[150840],{"type":431,"value":150841},"Message templates",{"type":426,"tag":10630,"props":150843,"children":150844},{},[150845],{"type":431,"value":147098},{"type":426,"tag":10630,"props":150847,"children":150848},{},[150849],{"type":426,"tag":446,"props":150850,"children":150851},{},[150852],{"type":431,"value":147147},{"type":426,"tag":10608,"props":150854,"children":150855},{},[150856,150861,150865],{"type":426,"tag":10630,"props":150857,"children":150858},{},[150859],{"type":431,"value":150860},"Target market",{"type":426,"tag":10630,"props":150862,"children":150863},{},[150864],{"type":431,"value":18722},{"type":426,"tag":10630,"props":150866,"children":150867},{},[150868],{"type":426,"tag":446,"props":150869,"children":150870},{},[150871],{"type":431,"value":150872},"SMB + Developers",{"type":426,"tag":10608,"props":150874,"children":150875},{},[150876,150880,150884],{"type":426,"tag":10630,"props":150877,"children":150878},{},[150879],{"type":431,"value":148534},{"type":426,"tag":10630,"props":150881,"children":150882},{},[150883],{"type":431,"value":78130},{"type":426,"tag":10630,"props":150885,"children":150886},{},[150887],{"type":426,"tag":446,"props":150888,"children":150889},{},[150890],{"type":431,"value":103087},{"type":426,"tag":10608,"props":150892,"children":150893},{},[150894,150898,150902],{"type":426,"tag":10630,"props":150895,"children":150896},{},[150897],{"type":431,"value":16164},{"type":426,"tag":10630,"props":150899,"children":150900},{},[150901],{"type":431,"value":78130},{"type":426,"tag":10630,"props":150903,"children":150904},{},[150905],{"type":426,"tag":446,"props":150906,"children":150907},{},[150908],{"type":431,"value":150909},"Yes (10)",{"type":426,"tag":10608,"props":150911,"children":150912},{},[150913,150918,150923],{"type":426,"tag":10630,"props":150914,"children":150915},{},[150916],{"type":431,"value":150917},"Setup time",{"type":426,"tag":10630,"props":150919,"children":150920},{},[150921],{"type":431,"value":150922},"Days–weeks",{"type":426,"tag":10630,"props":150924,"children":150925},{},[150926],{"type":426,"tag":446,"props":150927,"children":150928},{},[150929],{"type":431,"value":46995},{"type":426,"tag":434,"props":150931,"children":150933},{"id":150932},"what-is-gupshup",[150934],{"type":431,"value":150935},"What Is Gupshup?",{"type":426,"tag":427,"props":150937,"children":150938},{},[150939],{"type":431,"value":150940},"Gupshup (gupshup.io) is one of the oldest and largest WhatsApp Business Solution Providers (BSPs) in the world. They are officially certified by Meta and primarily serve enterprise customers — large banks, retailers, healthcare systems, and telcos.",{"type":426,"tag":427,"props":150942,"children":150943},{},[150944],{"type":426,"tag":446,"props":150945,"children":150946},{},[150947],{"type":431,"value":150948},"Gupshup is appropriate for:",{"type":426,"tag":454,"props":150950,"children":150951},{},[150952,150957,150962,150967],{"type":426,"tag":458,"props":150953,"children":150954},{},[150955],{"type":431,"value":150956},"Large enterprises with dedicated IT teams",{"type":426,"tag":458,"props":150958,"children":150959},{},[150960],{"type":431,"value":150961},"Regulated industries (banking, insurance, healthcare) requiring full Meta compliance",{"type":426,"tag":458,"props":150963,"children":150964},{},[150965],{"type":431,"value":150966},"Businesses needing a suite of AI\u002Fchatbot tools alongside the API",{"type":426,"tag":458,"props":150968,"children":150969},{},[150970],{"type":431,"value":150971},"Organizations with procurement processes requiring Meta-certified vendors",{"type":426,"tag":427,"props":150973,"children":150974},{},[150975],{"type":426,"tag":446,"props":150976,"children":150977},{},[150978],{"type":431,"value":150979},"Gupshup is NOT appropriate for:",{"type":426,"tag":454,"props":150981,"children":150982},{},[150983,150988,150993,150998],{"type":426,"tag":458,"props":150984,"children":150985},{},[150986],{"type":431,"value":150987},"Small businesses and startups",{"type":426,"tag":458,"props":150989,"children":150990},{},[150991],{"type":431,"value":150992},"Developers building quick automations",{"type":426,"tag":458,"props":150994,"children":150995},{},[150996],{"type":431,"value":150997},"WooCommerce\u002FShopify store owners",{"type":426,"tag":458,"props":150999,"children":151000},{},[151001],{"type":431,"value":151002},"Budget-conscious teams",{"type":426,"tag":434,"props":151004,"children":151006},{"id":151005},"the-cost-gap-for-small-businesses",[151007],{"type":431,"value":151008},"The Cost Gap for Small Businesses",{"type":426,"tag":427,"props":151010,"children":151011},{},[151012],{"type":431,"value":151013},"Gupshup's enterprise pricing model makes it inaccessible for small businesses. Even at the lowest tier, the combination of platform fees and per-conversation charges creates a monthly cost in the tens to hundreds of dollars.",{"type":426,"tag":427,"props":151015,"children":151016},{},[151017],{"type":426,"tag":446,"props":151018,"children":151019},{},[151020],{"type":431,"value":151021},"Rapiwa for a small business sending 2,000 messages\u002Fmonth:",{"type":426,"tag":454,"props":151023,"children":151024},{},[151025],{"type":426,"tag":458,"props":151026,"children":151027},{},[151028],{"type":431,"value":151029},"$5\u002Fmonth total (flat rate, unlimited messages)",{"type":426,"tag":427,"props":151031,"children":151032},{},[151033],{"type":426,"tag":446,"props":151034,"children":151035},{},[151036],{"type":431,"value":151037},"Gupshup equivalent:",{"type":426,"tag":454,"props":151039,"children":151040},{},[151041,151046],{"type":426,"tag":458,"props":151042,"children":151043},{},[151044],{"type":431,"value":151045},"Platform fee + Meta conversation fees",{"type":426,"tag":458,"props":151047,"children":151048},{},[151049],{"type":431,"value":151050},"Likely $50–200+\u002Fmonth at this volume",{"type":426,"tag":434,"props":151052,"children":151054},{"id":151053},"why-small-businesses-choose-rapiwa-over-gupshup",[151055],{"type":431,"value":151056},"Why Small Businesses Choose Rapiwa Over Gupshup",{"type":426,"tag":515,"props":151058,"children":151060},{"id":151059},"_1-no-enterprise-sales-process",[151061],{"type":431,"value":151062},"1. No Enterprise Sales Process",{"type":426,"tag":427,"props":151064,"children":151065},{},[151066],{"type":431,"value":151067},"Gupshup typically requires signing up through a sales process, getting a quote, and negotiating contract terms. Rapiwa is self-serve — sign up, scan QR, start sending.",{"type":426,"tag":515,"props":151069,"children":151071},{"id":151070},"_2-no-meta-approval-queue",[151072],{"type":431,"value":151073},"2. No Meta Approval Queue",{"type":426,"tag":427,"props":151075,"children":151076},{},[151077],{"type":431,"value":151078},"Getting approved for Gupshup's WhatsApp API requires Meta business verification. Rapiwa requires none — live in 5 minutes.",{"type":426,"tag":515,"props":151080,"children":151082},{"id":151081},"_3-woocommerce-and-n8n-ready",[151083],{"type":431,"value":151084},"3. WooCommerce and n8n Ready",{"type":426,"tag":427,"props":151086,"children":151087},{},[151088],{"type":431,"value":151089},"Small businesses frequently run WooCommerce stores or use n8n for automation. Rapiwa has dedicated tools for both. Gupshup is an enterprise platform without these small-business-first integrations.",{"type":426,"tag":515,"props":151091,"children":151093},{"id":151092},"_4-predictable-budget",[151094],{"type":431,"value":151095},"4. Predictable Budget",{"type":426,"tag":427,"props":151097,"children":151098},{},[151099],{"type":431,"value":151100},"$5\u002Fmonth is predictable. Gupshup's usage-based pricing creates variable monthly bills that are hard to budget for small businesses.",{"type":426,"tag":434,"props":151102,"children":151104},{"id":151103},"quick-start-rapiwa-for-small-business",[151105],{"type":431,"value":151106},"Quick Start: Rapiwa for Small Business",{"type":426,"tag":542,"props":151108,"children":151110},{"className":785,"code":151109,"language":784,"meta":417,"style":417},"import requests\n\n# Small business: send order confirmation\ndef notify_customer(phone, customer_name, order_id, total):\n    message = (\n        f\"Hi {customer_name}! 👋\\n\\n\"\n        f\"*Order Confirmed!*\\n\"\n        f\"Order #{order_id} — ${total}\\n\\n\"\n        f\"We'll update you when it ships. Thank you! 🙏\"\n    )\n    \n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n        json={\"number\": phone, \"message\": message}\n    )\n",[151111],{"type":426,"tag":549,"props":151112,"children":151113},{"__ignoreMap":417},[151114,151125,151132,151140,151156,151171,151206,151226,151270,151282,151289,151296,151311,151342,151373],{"type":426,"tag":553,"props":151115,"children":151116},{"class":555,"line":556},[151117,151121],{"type":426,"tag":553,"props":151118,"children":151119},{"style":795},[151120],{"type":431,"value":798},{"type":426,"tag":553,"props":151122,"children":151123},{"style":684},[151124],{"type":431,"value":803},{"type":426,"tag":553,"props":151126,"children":151127},{"class":555,"line":588},[151128],{"type":426,"tag":553,"props":151129,"children":151130},{"emptyLinePlaceholder":831},[151131],{"type":431,"value":834},{"type":426,"tag":553,"props":151133,"children":151134},{"class":555,"line":606},[151135],{"type":426,"tag":553,"props":151136,"children":151137},{"style":1975},[151138],{"type":431,"value":151139},"# Small business: send order confirmation\n",{"type":426,"tag":553,"props":151141,"children":151142},{"class":555,"line":623},[151143,151147,151151],{"type":426,"tag":553,"props":151144,"children":151145},{"style":795},[151146],{"type":431,"value":842},{"type":426,"tag":553,"props":151148,"children":151149},{"style":560},[151150],{"type":431,"value":143707},{"type":426,"tag":553,"props":151152,"children":151153},{"style":684},[151154],{"type":431,"value":151155},"(phone, customer_name, order_id, total):\n",{"type":426,"tag":553,"props":151157,"children":151158},{"class":555,"line":637},[151159,151163,151167],{"type":426,"tag":553,"props":151160,"children":151161},{"style":684},[151162],{"type":431,"value":1198},{"type":426,"tag":553,"props":151164,"children":151165},{"style":795},[151166],{"type":431,"value":957},{"type":426,"tag":553,"props":151168,"children":151169},{"style":684},[151170],{"type":431,"value":1207},{"type":426,"tag":553,"props":151172,"children":151173},{"class":555,"line":646},[151174,151178,151182,151186,151190,151194,151198,151202],{"type":426,"tag":553,"props":151175,"children":151176},{"style":795},[151177],{"type":431,"value":1216},{"type":426,"tag":553,"props":151179,"children":151180},{"style":572},[151181],{"type":431,"value":4625},{"type":426,"tag":553,"props":151183,"children":151184},{"style":566},[151185],{"type":431,"value":972},{"type":426,"tag":553,"props":151187,"children":151188},{"style":684},[151189],{"type":431,"value":21708},{"type":426,"tag":553,"props":151191,"children":151192},{"style":566},[151193],{"type":431,"value":982},{"type":426,"tag":553,"props":151195,"children":151196},{"style":572},[151197],{"type":431,"value":32637},{"type":426,"tag":553,"props":151199,"children":151200},{"style":566},[151201],{"type":431,"value":1295},{"type":426,"tag":553,"props":151203,"children":151204},{"style":572},[151205],{"type":431,"value":1250},{"type":426,"tag":553,"props":151207,"children":151208},{"class":555,"line":655},[151209,151213,151218,151222],{"type":426,"tag":553,"props":151210,"children":151211},{"style":795},[151212],{"type":431,"value":1216},{"type":426,"tag":553,"props":151214,"children":151215},{"style":572},[151216],{"type":431,"value":151217},"\"*Order Confirmed!*",{"type":426,"tag":553,"props":151219,"children":151220},{"style":566},[151221],{"type":431,"value":3661},{"type":426,"tag":553,"props":151223,"children":151224},{"style":572},[151225],{"type":431,"value":1250},{"type":426,"tag":553,"props":151227,"children":151228},{"class":555,"line":1036},[151229,151233,151237,151241,151245,151249,151254,151258,151262,151266],{"type":426,"tag":553,"props":151230,"children":151231},{"style":795},[151232],{"type":431,"value":1216},{"type":426,"tag":553,"props":151234,"children":151235},{"style":572},[151236],{"type":431,"value":47140},{"type":426,"tag":553,"props":151238,"children":151239},{"style":566},[151240],{"type":431,"value":972},{"type":426,"tag":553,"props":151242,"children":151243},{"style":684},[151244],{"type":431,"value":46710},{"type":426,"tag":553,"props":151246,"children":151247},{"style":566},[151248],{"type":431,"value":982},{"type":426,"tag":553,"props":151250,"children":151251},{"style":572},[151252],{"type":431,"value":151253}," — $",{"type":426,"tag":553,"props":151255,"children":151256},{"style":566},[151257],{"type":431,"value":972},{"type":426,"tag":553,"props":151259,"children":151260},{"style":684},[151261],{"type":431,"value":28805},{"type":426,"tag":553,"props":151263,"children":151264},{"style":566},[151265],{"type":431,"value":1245},{"type":426,"tag":553,"props":151267,"children":151268},{"style":572},[151269],{"type":431,"value":1250},{"type":426,"tag":553,"props":151271,"children":151272},{"class":555,"line":1054},[151273,151277],{"type":426,"tag":553,"props":151274,"children":151275},{"style":795},[151276],{"type":431,"value":1216},{"type":426,"tag":553,"props":151278,"children":151279},{"style":572},[151280],{"type":431,"value":151281},"\"We'll update you when it ships. Thank you! 🙏\"\n",{"type":426,"tag":553,"props":151283,"children":151284},{"class":555,"line":1080},[151285],{"type":426,"tag":553,"props":151286,"children":151287},{"style":684},[151288],{"type":431,"value":1642},{"type":426,"tag":553,"props":151290,"children":151291},{"class":555,"line":1097},[151292],{"type":426,"tag":553,"props":151293,"children":151294},{"style":684},[151295],{"type":431,"value":917},{"type":426,"tag":553,"props":151297,"children":151298},{"class":555,"line":1114},[151299,151303,151307],{"type":426,"tag":553,"props":151300,"children":151301},{"style":684},[151302],{"type":431,"value":129222},{"type":426,"tag":553,"props":151304,"children":151305},{"style":572},[151306],{"type":431,"value":60449},{"type":426,"tag":553,"props":151308,"children":151309},{"style":684},[151310],{"type":431,"value":710},{"type":426,"tag":553,"props":151312,"children":151313},{"class":555,"line":1127},[151314,151318,151322,151326,151330,151334,151338],{"type":426,"tag":553,"props":151315,"children":151316},{"style":1684},[151317],{"type":431,"value":1687},{"type":426,"tag":553,"props":151319,"children":151320},{"style":795},[151321],{"type":431,"value":957},{"type":426,"tag":553,"props":151323,"children":151324},{"style":684},[151325],{"type":431,"value":972},{"type":426,"tag":553,"props":151327,"children":151328},{"style":572},[151329],{"type":431,"value":45214},{"type":426,"tag":553,"props":151331,"children":151332},{"style":684},[151333],{"type":431,"value":700},{"type":426,"tag":553,"props":151335,"children":151336},{"style":572},[151337],{"type":431,"value":140737},{"type":426,"tag":553,"props":151339,"children":151340},{"style":684},[151341],{"type":431,"value":1737},{"type":426,"tag":553,"props":151343,"children":151344},{"class":555,"line":1167},[151345,151349,151353,151357,151361,151365,151369],{"type":426,"tag":553,"props":151346,"children":151347},{"style":1684},[151348],{"type":431,"value":1746},{"type":426,"tag":553,"props":151350,"children":151351},{"style":795},[151352],{"type":431,"value":957},{"type":426,"tag":553,"props":151354,"children":151355},{"style":684},[151356],{"type":431,"value":972},{"type":426,"tag":553,"props":151358,"children":151359},{"style":572},[151360],{"type":431,"value":45266},{"type":426,"tag":553,"props":151362,"children":151363},{"style":684},[151364],{"type":431,"value":8931},{"type":426,"tag":553,"props":151366,"children":151367},{"style":572},[151368],{"type":431,"value":45275},{"type":426,"tag":553,"props":151370,"children":151371},{"style":684},[151372],{"type":431,"value":1784},{"type":426,"tag":553,"props":151374,"children":151375},{"class":555,"line":1184},[151376],{"type":426,"tag":553,"props":151377,"children":151378},{"style":684},[151379],{"type":431,"value":1642},{"type":426,"tag":427,"props":151381,"children":151382},{},[151383],{"type":431,"value":151384},"Or use the zero-code WooCommerce plugin — install, enter API key, done.",{"type":426,"tag":434,"props":151386,"children":151387},{"id":4109},[151388],{"type":431,"value":4112},{"type":426,"tag":427,"props":151390,"children":151391},{},[151392,151397],{"type":426,"tag":446,"props":151393,"children":151394},{},[151395],{"type":431,"value":151396},"Is Gupshup cheaper than Rapiwa?",{"type":431,"value":151398},"\nNo. Gupshup is enterprise-priced with per-conversation fees on top of platform charges. Rapiwa is $5\u002Fmonth flat with unlimited messages.",{"type":426,"tag":427,"props":151400,"children":151401},{},[151402,151407],{"type":426,"tag":446,"props":151403,"children":151404},{},[151405],{"type":431,"value":151406},"Can small businesses use Gupshup?",{"type":431,"value":151408},"\nTechnically yes, but Gupshup is designed for enterprise clients. The pricing, sales process, and feature complexity are not suitable for most small businesses.",{"type":426,"tag":427,"props":151410,"children":151411},{},[151412,151417,151419,151424],{"type":426,"tag":446,"props":151413,"children":151414},{},[151415],{"type":431,"value":151416},"What is the best WhatsApp API for small businesses?",{"type":431,"value":151418},"\nRapiwa ($5\u002Fmonth) — cheapest managed option with WooCommerce plugin and n8n templates. See the full guide: ",{"type":426,"tag":3819,"props":151420,"children":151421},{"href":310},[151422],{"type":431,"value":151423},"WhatsApp API for Small Businesses",{"type":431,"value":6789},{"type":426,"tag":427,"props":151426,"children":151427},{},[151428,151433],{"type":426,"tag":446,"props":151429,"children":151430},{},[151431],{"type":431,"value":151432},"Does Gupshup have a free trial?",{"type":431,"value":151434},"\nGupshup has sandbox\u002Ftrial access through their developer portal. Rapiwa has a 3-day free trial with full production access, no credit card.",{"type":426,"tag":427,"props":151436,"children":151437},{},[151438,151443],{"type":426,"tag":446,"props":151439,"children":151440},{},[151441],{"type":431,"value":151442},"Can I use Rapiwa without Meta approval?",{"type":431,"value":151444},"\nYes. Rapiwa is an unofficial WhatsApp API — no Meta approval needed. Connect any WhatsApp number via QR code in 5 minutes.",{"type":426,"tag":4164,"props":151446,"children":151447},{},[151448],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":151450},[151451,151452,151453,151454,151460,151461],{"id":150728,"depth":588,"text":150731},{"id":150932,"depth":588,"text":150935},{"id":151005,"depth":588,"text":151008},{"id":151053,"depth":588,"text":151056,"children":151455},[151456,151457,151458,151459],{"id":151059,"depth":606,"text":151062},{"id":151070,"depth":606,"text":151073},{"id":151081,"depth":606,"text":151084},{"id":151092,"depth":606,"text":151095},{"id":151103,"depth":588,"text":151106},{"id":4109,"depth":588,"text":4112},"content:blog:gupshup-vs-rapiwa-whatsapp-api-small-businesses.md","blog\u002Fgupshup-vs-rapiwa-whatsapp-api-small-businesses.md","blog\u002Fgupshup-vs-rapiwa-whatsapp-api-small-businesses",{"loc":222},{"_path":226,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":227,"description":228,"date":151467,"author":6858,"category":43,"_slug":151468,"image":151469,"body":151470,"_type":4187,"_id":152432,"_source":4189,"_file":152433,"_stem":152434,"_extension":4192,"sitemap":152435},"2026-01-22","best-no-code-whatsapp-api-integration-tools-2026","\u002Fimages\u002Fblog\u002Fbest-no-code-whatsapp-api-integration-tools-2026.svg",{"type":423,"children":151471,"toc":152417},[151472,151485,151491,151496,151504,151527,151533,151545,151551,151791,151797,151854,151869,151875,151880,151886,151980,151986,152100,152110,152116,152121,152179,152188,152194,152206,152229,152234,152240,152363,152367,152377,152387,152397,152407],{"type":426,"tag":427,"props":151473,"children":151474},{},[151475,151477,151483],{"type":431,"value":151476},"The best no-code tools for WhatsApp API integration in 2026 are n8n (10 pre-built Rapiwa templates), Make.com, and Zapier. Combined with ",{"type":426,"tag":3819,"props":151478,"children":151480},{"href":3821,"rel":151479},[3823],[151481],{"type":431,"value":151482},"Rapiwa's API",{"type":431,"value":151484}," ($5\u002Fmonth), non-technical users can automate WhatsApp order notifications, appointment reminders, and AI chatbots without writing a single line of code.",{"type":426,"tag":434,"props":151486,"children":151488},{"id":151487},"what-is-no-code-whatsapp-automation",[151489],{"type":431,"value":151490},"What Is No-Code WhatsApp Automation?",{"type":426,"tag":427,"props":151492,"children":151493},{},[151494],{"type":431,"value":151495},"No-code WhatsApp automation means connecting a WhatsApp API to your other tools (WooCommerce, Shopify, Google Sheets, CRM) using visual workflow builders — without writing code. You drag, drop, and configure nodes in a visual canvas.",{"type":426,"tag":427,"props":151497,"children":151498},{},[151499],{"type":426,"tag":446,"props":151500,"children":151501},{},[151502],{"type":431,"value":151503},"Who benefits most:",{"type":426,"tag":454,"props":151505,"children":151506},{},[151507,151512,151517,151522],{"type":426,"tag":458,"props":151508,"children":151509},{},[151510],{"type":431,"value":151511},"WooCommerce or Shopify store owners without developer support",{"type":426,"tag":458,"props":151513,"children":151514},{},[151515],{"type":431,"value":151516},"Freelancers and small agency owners",{"type":426,"tag":458,"props":151518,"children":151519},{},[151520],{"type":431,"value":151521},"Non-technical business owners who want automation without hiring developers",{"type":426,"tag":458,"props":151523,"children":151524},{},[151525],{"type":431,"value":151526},"Operations teams who manage customer communication workflows",{"type":426,"tag":434,"props":151528,"children":151530},{"id":151529},"tool-1-n8n-best-for-rapiwa-10-pre-built-templates",[151531],{"type":431,"value":151532},"Tool #1: n8n (Best for Rapiwa — 10 Pre-Built Templates)",{"type":426,"tag":427,"props":151534,"children":151535},{},[151536,151538,151543],{"type":431,"value":151537},"n8n (n8n.io) is the best no-code automation tool for Rapiwa because Rapiwa has ",{"type":426,"tag":446,"props":151539,"children":151540},{},[151541],{"type":431,"value":151542},"10 official templates",{"type":431,"value":151544}," published on the n8n marketplace — no setup required.",{"type":426,"tag":515,"props":151546,"children":151548},{"id":151547},"ready-made-rapiwa-n8n-templates",[151549],{"type":431,"value":151550},"Ready-Made Rapiwa n8n Templates",{"type":426,"tag":10600,"props":151552,"children":151553},{},[151554,151574],{"type":426,"tag":10604,"props":151555,"children":151556},{},[151557],{"type":426,"tag":10608,"props":151558,"children":151559},{},[151560,151564,151569],{"type":426,"tag":10612,"props":151561,"children":151562},{},[151563],{"type":431,"value":18774},{"type":426,"tag":10612,"props":151565,"children":151566},{},[151567],{"type":431,"value":151568},"Installs",{"type":426,"tag":10612,"props":151570,"children":151571},{},[151572],{"type":431,"value":151573},"What It Does",{"type":426,"tag":10623,"props":151575,"children":151576},{},[151577,151597,151617,151638,151659,151680,151701,151722,151745,151768],{"type":426,"tag":10608,"props":151578,"children":151579},{},[151580,151588,151592],{"type":426,"tag":10630,"props":151581,"children":151582},{},[151583],{"type":426,"tag":3819,"props":151584,"children":151586},{"href":18796,"rel":151585},[3823],[151587],{"type":431,"value":145262},{"type":426,"tag":10630,"props":151589,"children":151590},{},[151591],{"type":431,"value":18810},{"type":426,"tag":10630,"props":151593,"children":151594},{},[151595],{"type":431,"value":151596},"Send PDF invoice when order completes",{"type":426,"tag":10608,"props":151598,"children":151599},{},[151600,151608,151612],{"type":426,"tag":10630,"props":151601,"children":151602},{},[151603],{"type":426,"tag":3819,"props":151604,"children":151606},{"href":18841,"rel":151605},[3823],[151607],{"type":431,"value":145273},{"type":426,"tag":10630,"props":151609,"children":151610},{},[151611],{"type":431,"value":18855},{"type":426,"tag":10630,"props":151613,"children":151614},{},[151615],{"type":431,"value":151616},"Send AI-generated follow-ups after calendar events",{"type":426,"tag":10608,"props":151618,"children":151619},{},[151620,151629,151633],{"type":426,"tag":10630,"props":151621,"children":151622},{},[151623],{"type":426,"tag":3819,"props":151624,"children":151626},{"href":18864,"rel":151625},[3823],[151627],{"type":431,"value":151628},"GPT-4 customer support bot",{"type":426,"tag":10630,"props":151630,"children":151631},{},[151632],{"type":431,"value":18878},{"type":426,"tag":10630,"props":151634,"children":151635},{},[151636],{"type":431,"value":151637},"AI replies to incoming WhatsApp messages",{"type":426,"tag":10608,"props":151639,"children":151640},{},[151641,151650,151654],{"type":426,"tag":10630,"props":151642,"children":151643},{},[151644],{"type":426,"tag":3819,"props":151645,"children":151647},{"href":133367,"rel":151646},[3823],[151648],{"type":431,"value":151649},"WooCommerce cross-sell offers",{"type":426,"tag":10630,"props":151651,"children":151652},{},[151653],{"type":431,"value":133381},{"type":426,"tag":10630,"props":151655,"children":151656},{},[151657],{"type":431,"value":151658},"Recommend products post-purchase",{"type":426,"tag":10608,"props":151660,"children":151661},{},[151662,151671,151675],{"type":426,"tag":10630,"props":151663,"children":151664},{},[151665],{"type":426,"tag":3819,"props":151666,"children":151668},{"href":133344,"rel":151667},[3823],[151669],{"type":431,"value":151670},"WooCommerce review requests",{"type":426,"tag":10630,"props":151672,"children":151673},{},[151674],{"type":431,"value":133358},{"type":426,"tag":10630,"props":151676,"children":151677},{},[151678],{"type":431,"value":151679},"Request reviews 3–5 days after delivery",{"type":426,"tag":10608,"props":151681,"children":151682},{},[151683,151692,151696],{"type":426,"tag":10630,"props":151684,"children":151685},{},[151686],{"type":426,"tag":3819,"props":151687,"children":151689},{"href":18819,"rel":151688},[3823],[151690],{"type":431,"value":151691},"WooCommerce order updates",{"type":426,"tag":10630,"props":151693,"children":151694},{},[151695],{"type":431,"value":18832},{"type":426,"tag":10630,"props":151697,"children":151698},{},[151699],{"type":431,"value":151700},"Update customer on status changes",{"type":426,"tag":10608,"props":151702,"children":151703},{},[151704,151713,151717],{"type":426,"tag":10630,"props":151705,"children":151706},{},[151707],{"type":426,"tag":3819,"props":151708,"children":151710},{"href":133390,"rel":151709},[3823],[151711],{"type":431,"value":151712},"WooCommerce discount coupons",{"type":426,"tag":10630,"props":151714,"children":151715},{},[151716],{"type":431,"value":133404},{"type":426,"tag":10630,"props":151718,"children":151719},{},[151720],{"type":431,"value":151721},"Send personalized coupons",{"type":426,"tag":10608,"props":151723,"children":151724},{},[151725,151735,151740],{"type":426,"tag":10630,"props":151726,"children":151727},{},[151728],{"type":426,"tag":3819,"props":151729,"children":151732},{"href":151730,"rel":151731},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10237",[3823],[151733],{"type":431,"value":151734},"Shopify cancellation apology",{"type":426,"tag":10630,"props":151736,"children":151737},{},[151738],{"type":431,"value":151739},"139",{"type":426,"tag":10630,"props":151741,"children":151742},{},[151743],{"type":431,"value":151744},"Send reorder link after cancellation",{"type":426,"tag":10608,"props":151746,"children":151747},{},[151748,151758,151763],{"type":426,"tag":10630,"props":151749,"children":151750},{},[151751],{"type":426,"tag":3819,"props":151752,"children":151755},{"href":151753,"rel":151754},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F9560",[3823],[151756],{"type":431,"value":151757},"Shopify discount codes",{"type":426,"tag":10630,"props":151759,"children":151760},{},[151761],{"type":431,"value":151762},"74",{"type":426,"tag":10630,"props":151764,"children":151765},{},[151766],{"type":431,"value":151767},"Automatic discount code delivery",{"type":426,"tag":10608,"props":151769,"children":151770},{},[151771,151781,151786],{"type":426,"tag":10630,"props":151772,"children":151773},{},[151774],{"type":426,"tag":3819,"props":151775,"children":151778},{"href":151776,"rel":151777},"https:\u002F\u002Fn8n.io\u002Fworkflows\u002F10790",[3823],[151779],{"type":431,"value":151780},"Shopify upsell on cancellation",{"type":426,"tag":10630,"props":151782,"children":151783},{},[151784],{"type":431,"value":151785},"56",{"type":426,"tag":10630,"props":151787,"children":151788},{},[151789],{"type":431,"value":151790},"Upsell alternative products",{"type":426,"tag":515,"props":151792,"children":151794},{"id":151793},"how-to-use-a-rapiwa-n8n-template-no-code",[151795],{"type":431,"value":151796},"How to Use a Rapiwa n8n Template (No Code)",{"type":426,"tag":6331,"props":151798,"children":151799},{},[151800,151811,151820,151829,151834,151839,151844],{"type":426,"tag":458,"props":151801,"children":151802},{},[151803,151804,151809],{"type":431,"value":3817},{"type":426,"tag":3819,"props":151805,"children":151807},{"href":133422,"rel":151806},[3823],[151808],{"type":431,"value":133426},{"type":431,"value":151810}," (free tier available)",{"type":426,"tag":458,"props":151812,"children":151813},{},[151814,151815],{"type":431,"value":47846},{"type":426,"tag":3819,"props":151816,"children":151818},{"href":145202,"rel":151817},[3823],[151819],{"type":431,"value":145206},{"type":426,"tag":458,"props":151821,"children":151822},{},[151823,151825],{"type":431,"value":151824},"Click any template → ",{"type":426,"tag":446,"props":151826,"children":151827},{},[151828],{"type":431,"value":47862},{"type":426,"tag":458,"props":151830,"children":151831},{},[151832],{"type":431,"value":151833},"In the workflow canvas, find the HTTP Request node labeled \"Send WhatsApp via Rapiwa\"",{"type":426,"tag":458,"props":151835,"children":151836},{},[151837],{"type":431,"value":151838},"Add your Rapiwa API key to the Authorization header",{"type":426,"tag":458,"props":151840,"children":151841},{},[151842],{"type":431,"value":151843},"Configure trigger (WooCommerce webhook URL, Google Calendar connection, etc.)",{"type":426,"tag":458,"props":151845,"children":151846},{},[151847,151848,151852],{"type":431,"value":47857},{"type":426,"tag":446,"props":151849,"children":151850},{},[151851],{"type":431,"value":133452},{"type":431,"value":151853}," — the workflow runs automatically forever",{"type":426,"tag":427,"props":151855,"children":151856},{},[151857,151861,151863,151868],{"type":426,"tag":446,"props":151858,"children":151859},{},[151860],{"type":431,"value":505},{"type":431,"value":151862},": n8n free tier + Rapiwa $5\u002Fmonth = ",{"type":426,"tag":446,"props":151864,"children":151865},{},[151866],{"type":431,"value":151867},"$5\u002Fmonth total",{"type":431,"value":6789},{"type":426,"tag":434,"props":151870,"children":151872},{"id":151871},"tool-2-makecom-integromat",[151873],{"type":431,"value":151874},"Tool #2: Make.com (Integromat)",{"type":426,"tag":427,"props":151876,"children":151877},{},[151878],{"type":431,"value":151879},"Make.com (formerly Integromat) is a visual automation platform with 1,000+ app integrations. Connect Rapiwa's WhatsApp API via the HTTP module.",{"type":426,"tag":515,"props":151881,"children":151883},{"id":151882},"setting-up-rapiwa-in-makecom",[151884],{"type":431,"value":151885},"Setting Up Rapiwa in Make.com",{"type":426,"tag":6331,"props":151887,"children":151888},{},[151889,151894,151899,151915],{"type":426,"tag":458,"props":151890,"children":151891},{},[151892],{"type":431,"value":151893},"Create a Make.com scenario",{"type":426,"tag":458,"props":151895,"children":151896},{},[151897],{"type":431,"value":151898},"Add a trigger (WooCommerce, Google Sheets, Airtable, etc.)",{"type":426,"tag":458,"props":151900,"children":151901},{},[151902,151903,151907,151908,151913],{"type":431,"value":55109},{"type":426,"tag":446,"props":151904,"children":151905},{},[151906],{"type":431,"value":102055},{"type":431,"value":5710},{"type":426,"tag":446,"props":151909,"children":151910},{},[151911],{"type":431,"value":151912},"Make a request",{"type":431,"value":151914}," module",{"type":426,"tag":458,"props":151916,"children":151917},{},[151918,151919],{"type":431,"value":144682},{"type":426,"tag":454,"props":151920,"children":151921},{},[151922,151935,151943,151956,151965],{"type":426,"tag":458,"props":151923,"children":151924},{},[151925,151929,151930],{"type":426,"tag":446,"props":151926,"children":151927},{},[151928],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":151931,"children":151933},{"className":151932},[],[151934],{"type":431,"value":48098},{"type":426,"tag":458,"props":151936,"children":151937},{},[151938,151942],{"type":426,"tag":446,"props":151939,"children":151940},{},[151941],{"type":431,"value":46964},{"type":431,"value":48083},{"type":426,"tag":458,"props":151944,"children":151945},{},[151946,151950,151951],{"type":426,"tag":446,"props":151947,"children":151948},{},[151949],{"type":431,"value":72355},{"type":431,"value":700},{"type":426,"tag":549,"props":151952,"children":151954},{"className":151953},[],[151955],{"type":431,"value":10711},{"type":426,"tag":458,"props":151957,"children":151958},{},[151959,151963],{"type":426,"tag":446,"props":151960,"children":151961},{},[151962],{"type":431,"value":102126},{"type":431,"value":151964},": Raw → JSON",{"type":426,"tag":458,"props":151966,"children":151967},{},[151968,151973,151974],{"type":426,"tag":446,"props":151969,"children":151970},{},[151971],{"type":431,"value":151972},"Request content",{"type":431,"value":700},{"type":426,"tag":549,"props":151975,"children":151977},{"className":151976},[],[151978],{"type":431,"value":151979},"{\"number\": \"{{customer_phone}}\", \"message\": \"{{message_text}}\"}",{"type":426,"tag":515,"props":151981,"children":151983},{"id":151982},"makecom-vs-n8n-for-rapiwa",[151984],{"type":431,"value":151985},"Make.com vs n8n for Rapiwa",{"type":426,"tag":10600,"props":151987,"children":151988},{},[151989,152007],{"type":426,"tag":10604,"props":151990,"children":151991},{},[151992],{"type":426,"tag":10608,"props":151993,"children":151994},{},[151995,151999,152003],{"type":426,"tag":10612,"props":151996,"children":151997},{},[151998],{"type":431,"value":16096},{"type":426,"tag":10612,"props":152000,"children":152001},{},[152002],{"type":431,"value":78023},{"type":426,"tag":10612,"props":152004,"children":152005},{},[152006],{"type":431,"value":47653},{"type":426,"tag":10623,"props":152008,"children":152009},{},[152010,152029,152045,152063,152081],{"type":426,"tag":10608,"props":152011,"children":152012},{},[152013,152018,152022],{"type":426,"tag":10630,"props":152014,"children":152015},{},[152016],{"type":431,"value":152017},"Pre-built Rapiwa templates",{"type":426,"tag":10630,"props":152019,"children":152020},{},[152021],{"type":431,"value":1930},{"type":426,"tag":10630,"props":152023,"children":152024},{},[152025],{"type":426,"tag":446,"props":152026,"children":152027},{},[152028],{"type":431,"value":11479},{"type":426,"tag":10608,"props":152030,"children":152031},{},[152032,152037,152041],{"type":426,"tag":10630,"props":152033,"children":152034},{},[152035],{"type":431,"value":152036},"Free tier",{"type":426,"tag":10630,"props":152038,"children":152039},{},[152040],{"type":431,"value":150010},{"type":426,"tag":10630,"props":152042,"children":152043},{},[152044],{"type":431,"value":149989},{"type":426,"tag":10608,"props":152046,"children":152047},{},[152048,152053,152058],{"type":426,"tag":10630,"props":152049,"children":152050},{},[152051],{"type":431,"value":152052},"Visual interface",{"type":426,"tag":10630,"props":152054,"children":152055},{},[152056],{"type":431,"value":152057},"Excellent",{"type":426,"tag":10630,"props":152059,"children":152060},{},[152061],{"type":431,"value":152062},"Good",{"type":426,"tag":10608,"props":152064,"children":152065},{},[152066,152071,152076],{"type":426,"tag":10630,"props":152067,"children":152068},{},[152069],{"type":431,"value":152070},"Cost (paid plans)",{"type":426,"tag":10630,"props":152072,"children":152073},{},[152074],{"type":431,"value":152075},"$9+\u002Fmonth",{"type":426,"tag":10630,"props":152077,"children":152078},{},[152079],{"type":431,"value":152080},"$20+\u002Fmonth",{"type":426,"tag":10608,"props":152082,"children":152083},{},[152084,152089,152093],{"type":426,"tag":10630,"props":152085,"children":152086},{},[152087],{"type":431,"value":152088},"Self-hostable",{"type":426,"tag":10630,"props":152090,"children":152091},{},[152092],{"type":431,"value":78130},{"type":426,"tag":10630,"props":152094,"children":152095},{},[152096],{"type":426,"tag":446,"props":152097,"children":152098},{},[152099],{"type":431,"value":103087},{"type":426,"tag":427,"props":152101,"children":152102},{},[152103,152108],{"type":426,"tag":446,"props":152104,"children":152105},{},[152106],{"type":431,"value":152107},"Recommendation",{"type":431,"value":152109},": Start with n8n for access to Rapiwa's pre-built templates. Use Make.com if you prefer its interface or already use it for other workflows.",{"type":426,"tag":434,"props":152111,"children":152113},{"id":152112},"tool-3-zapier",[152114],{"type":431,"value":152115},"Tool #3: Zapier",{"type":426,"tag":427,"props":152117,"children":152118},{},[152119],{"type":431,"value":152120},"Zapier is the most widely known automation tool. Connect Rapiwa via the Zapier Webhooks app:",{"type":426,"tag":6331,"props":152122,"children":152123},{},[152124,152129,152139,152159,152168],{"type":426,"tag":458,"props":152125,"children":152126},{},[152127],{"type":431,"value":152128},"Create a Zap with your trigger (new WooCommerce order, new Google Sheets row, etc.)",{"type":426,"tag":458,"props":152130,"children":152131},{},[152132,152133,152137],{"type":431,"value":60194},{"type":426,"tag":446,"props":152134,"children":152135},{},[152136],{"type":431,"value":77301},{"type":431,"value":152138}," action",{"type":426,"tag":458,"props":152140,"children":152141},{},[152142,152144,152149,152150],{"type":431,"value":152143},"Configure: ",{"type":426,"tag":446,"props":152145,"children":152146},{},[152147],{"type":431,"value":152148},"Method: POST",{"type":431,"value":1907},{"type":426,"tag":446,"props":152151,"children":152152},{},[152153,152154],{"type":431,"value":62466},{"type":426,"tag":3819,"props":152155,"children":152157},{"href":48098,"rel":152156},[3823],[152158],{"type":431,"value":48098},{"type":426,"tag":458,"props":152160,"children":152161},{},[152162,152164],{"type":431,"value":152163},"Add header: ",{"type":426,"tag":446,"props":152165,"children":152166},{},[152167],{"type":431,"value":10711},{"type":426,"tag":458,"props":152169,"children":152170},{},[152171,152173],{"type":431,"value":152172},"Add data: ",{"type":426,"tag":549,"props":152174,"children":152176},{"className":152175},[],[152177],{"type":431,"value":152178},"{\"number\": \"{{customer_phone}}\", \"message\": \"{{order_confirmation}}\"}",{"type":426,"tag":427,"props":152180,"children":152181},{},[152182,152186],{"type":426,"tag":446,"props":152183,"children":152184},{},[152185],{"type":431,"value":77432},{"type":431,"value":152187},": Zapier's free tier is limited to 100 tasks\u002Fmonth. For higher volumes, paid plans start at $19.99\u002Fmonth.",{"type":426,"tag":434,"props":152189,"children":152191},{"id":152190},"tool-4-woocommerce-plugin-zero-setup",[152192],{"type":431,"value":152193},"Tool #4: WooCommerce Plugin (Zero Setup)",{"type":426,"tag":427,"props":152195,"children":152196},{},[152197,152199,152204],{"type":431,"value":152198},"For WooCommerce stores, Rapiwa's ",{"type":426,"tag":3819,"props":152200,"children":152202},{"href":131923,"rel":152201},[3823],[152203],{"type":431,"value":148534},{"type":431,"value":152205}," is the simplest no-code integration:",{"type":426,"tag":6331,"props":152207,"children":152208},{},[152209,152214,152219,152224],{"type":426,"tag":458,"props":152210,"children":152211},{},[152212],{"type":431,"value":152213},"Install plugin in WordPress",{"type":426,"tag":458,"props":152215,"children":152216},{},[152217],{"type":431,"value":152218},"Activate and enter API key",{"type":426,"tag":458,"props":152220,"children":152221},{},[152222],{"type":431,"value":152223},"Configure message templates per order status",{"type":426,"tag":458,"props":152225,"children":152226},{},[152227],{"type":431,"value":152228},"Done — no n8n, no Make.com, no Zapier needed",{"type":426,"tag":427,"props":152230,"children":152231},{},[152232],{"type":431,"value":152233},"The plugin handles all WooCommerce order notifications automatically.",{"type":426,"tag":434,"props":152235,"children":152237},{"id":152236},"comparing-no-code-automation-tools-for-whatsapp",[152238],{"type":431,"value":152239},"Comparing No-Code Automation Tools for WhatsApp",{"type":426,"tag":10600,"props":152241,"children":152242},{},[152243,152267],{"type":426,"tag":10604,"props":152244,"children":152245},{},[152246],{"type":426,"tag":10608,"props":152247,"children":152248},{},[152249,152253,152258,152262],{"type":426,"tag":10612,"props":152250,"children":152251},{},[152252],{"type":431,"value":149928},{"type":426,"tag":10612,"props":152254,"children":152255},{},[152256],{"type":431,"value":152257},"Pre-built Rapiwa Integrations",{"type":426,"tag":10612,"props":152259,"children":152260},{},[152261],{"type":431,"value":149933},{"type":426,"tag":10612,"props":152263,"children":152264},{},[152265],{"type":431,"value":152266},"Best For",{"type":426,"tag":10623,"props":152268,"children":152269},{},[152270,152297,152319,152341],{"type":426,"tag":10608,"props":152271,"children":152272},{},[152273,152280,152287,152292],{"type":426,"tag":10630,"props":152274,"children":152275},{},[152276],{"type":426,"tag":446,"props":152277,"children":152278},{},[152279],{"type":431,"value":47653},{"type":426,"tag":10630,"props":152281,"children":152282},{},[152283],{"type":426,"tag":446,"props":152284,"children":152285},{},[152286],{"type":431,"value":148497},{"type":426,"tag":10630,"props":152288,"children":152289},{},[152290],{"type":431,"value":152291},"5,000 ops\u002Fmo",{"type":426,"tag":10630,"props":152293,"children":152294},{},[152295],{"type":431,"value":152296},"All automations",{"type":426,"tag":10608,"props":152298,"children":152299},{},[152300,152304,152309,152314],{"type":426,"tag":10630,"props":152301,"children":152302},{},[152303],{"type":431,"value":46985},{"type":426,"tag":10630,"props":152305,"children":152306},{},[152307],{"type":431,"value":152308},"Built-in",{"type":426,"tag":10630,"props":152310,"children":152311},{},[152312],{"type":431,"value":152313},"Included",{"type":426,"tag":10630,"props":152315,"children":152316},{},[152317],{"type":431,"value":152318},"WooCommerce only",{"type":426,"tag":10608,"props":152320,"children":152321},{},[152322,152326,152331,152336],{"type":426,"tag":10630,"props":152323,"children":152324},{},[152325],{"type":431,"value":78023},{"type":426,"tag":10630,"props":152327,"children":152328},{},[152329],{"type":431,"value":152330},"0 (manual HTTP)",{"type":426,"tag":10630,"props":152332,"children":152333},{},[152334],{"type":431,"value":152335},"1,000 ops\u002Fmo",{"type":426,"tag":10630,"props":152337,"children":152338},{},[152339],{"type":431,"value":152340},"Complex workflows",{"type":426,"tag":10608,"props":152342,"children":152343},{},[152344,152348,152353,152358],{"type":426,"tag":10630,"props":152345,"children":152346},{},[152347],{"type":431,"value":78014},{"type":426,"tag":10630,"props":152349,"children":152350},{},[152351],{"type":431,"value":152352},"0 (Webhook action)",{"type":426,"tag":10630,"props":152354,"children":152355},{},[152356],{"type":431,"value":152357},"100 tasks\u002Fmo",{"type":426,"tag":10630,"props":152359,"children":152360},{},[152361],{"type":431,"value":152362},"Simple triggers",{"type":426,"tag":434,"props":152364,"children":152365},{"id":4109},[152366],{"type":431,"value":4112},{"type":426,"tag":427,"props":152368,"children":152369},{},[152370,152375],{"type":426,"tag":446,"props":152371,"children":152372},{},[152373],{"type":431,"value":152374},"Can I automate WhatsApp without coding?",{"type":431,"value":152376},"\nYes. Use Rapiwa's WooCommerce plugin (zero code) or any of the 10 ready-made n8n templates. Connect your WhatsApp number, enter your API key, and activate — no programming knowledge required.",{"type":426,"tag":427,"props":152378,"children":152379},{},[152380,152385],{"type":426,"tag":446,"props":152381,"children":152382},{},[152383],{"type":431,"value":152384},"What is the best free no-code tool for WhatsApp automation?",{"type":431,"value":152386},"\nn8n with Rapiwa templates is the best free option — n8n's free tier allows 5,000 workflow executions per month, and Rapiwa offers a 3-day free trial. After the trial, Rapiwa costs $5\u002Fmonth.",{"type":426,"tag":427,"props":152388,"children":152389},{},[152390,152395],{"type":426,"tag":446,"props":152391,"children":152392},{},[152393],{"type":431,"value":152394},"Does Make.com have WhatsApp integration?",{"type":431,"value":152396},"\nMake.com does not have a native WhatsApp app, but you can connect Rapiwa via the HTTP module. It requires manual setup (no templates) but works with all Make.com triggers.",{"type":426,"tag":427,"props":152398,"children":152399},{},[152400,152405],{"type":426,"tag":446,"props":152401,"children":152402},{},[152403],{"type":431,"value":152404},"Can I use Zapier to send WhatsApp messages?",{"type":431,"value":152406},"\nYes. Use Zapier's Webhooks action to call Rapiwa's API endpoint. Zapier's free tier is limited to 100 tasks\u002Fmonth — for higher volumes, use n8n's more generous free tier.",{"type":426,"tag":427,"props":152408,"children":152409},{},[152410,152415],{"type":426,"tag":446,"props":152411,"children":152412},{},[152413],{"type":431,"value":152414},"Is n8n free?",{"type":431,"value":152416},"\nn8n has a free self-hosted version (unlimited) and a free Cloud tier with 5,000 workflow executions per month. Paid Cloud plans start at $20\u002Fmonth for higher execution limits.",{"title":417,"searchDepth":588,"depth":588,"links":152418},[152419,152420,152424,152428,152429,152430,152431],{"id":151487,"depth":588,"text":151490},{"id":151529,"depth":588,"text":151532,"children":152421},[152422,152423],{"id":151547,"depth":606,"text":151550},{"id":151793,"depth":606,"text":151796},{"id":151871,"depth":588,"text":151874,"children":152425},[152426,152427],{"id":151882,"depth":606,"text":151885},{"id":151982,"depth":606,"text":151985},{"id":152112,"depth":588,"text":152115},{"id":152190,"depth":588,"text":152193},{"id":152236,"depth":588,"text":152239},{"id":4109,"depth":588,"text":4112},"content:blog:best-no-code-whatsapp-api-integration-tools-2026.md","blog\u002Fbest-no-code-whatsapp-api-integration-tools-2026.md","blog\u002Fbest-no-code-whatsapp-api-integration-tools-2026",{"loc":226},{"_path":230,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":231,"description":232,"date":152437,"author":419,"category":212,"_slug":152438,"image":152439,"body":152440,"_type":4187,"_id":153440,"_source":4189,"_file":153441,"_stem":153442,"_extension":4192,"sitemap":153443},"2026-01-21","whatsapp-api-vs-email-marketing-open-rate-battle-2026","\u002Fimages\u002Fblog\u002Fwhatsapp-api-vs-email-marketing-open-rate-battle-2026.svg",{"type":423,"children":152441,"toc":153418},[152442,152454,152460,152643,152648,152654,152660,152726,152731,152737,152834,152839,152845,152851,152856,152869,152875,152880,152892,152898,152903,152909,152914,152919,152925,152930,152936,152942,152947,152953,152958,152964,152969,152975,152980,152986,152991,153056,153360,153364,153374,153384,153394,153404,153414],{"type":426,"tag":427,"props":152443,"children":152444},{},[152445,152447,152452],{"type":431,"value":152446},"WhatsApp messages achieve a 98% open rate. Email achieves 20%. For businesses in regions where WhatsApp is dominant, this engagement gap makes WhatsApp the higher-ROI channel for customer notifications, invoice delivery, and targeted marketing. With ",{"type":426,"tag":3819,"props":152448,"children":152450},{"href":3821,"rel":152449},[3823],[152451],{"type":431,"value":127310},{"type":431,"value":152453}," at $5\u002Fmonth (no per-message fees), WhatsApp is also cheaper than most email marketing platforms at scale.",{"type":426,"tag":434,"props":152455,"children":152457},{"id":152456},"whatsapp-vs-email-key-metrics-2026",[152458],{"type":431,"value":152459},"WhatsApp vs Email: Key Metrics (2026)",{"type":426,"tag":10600,"props":152461,"children":152462},{},[152463,152481],{"type":426,"tag":10604,"props":152464,"children":152465},{},[152466],{"type":426,"tag":10608,"props":152467,"children":152468},{},[152469,152473,152477],{"type":426,"tag":10612,"props":152470,"children":152471},{},[152472],{"type":431,"value":22764},{"type":426,"tag":10612,"props":152474,"children":152475},{},[152476],{"type":431,"value":30650},{"type":426,"tag":10612,"props":152478,"children":152479},{},[152480],{"type":431,"value":30655},{"type":426,"tag":10623,"props":152482,"children":152483},{},[152484,152502,152522,152540,152560,152581,152603,152625],{"type":426,"tag":10608,"props":152485,"children":152486},{},[152487,152491,152498],{"type":426,"tag":10630,"props":152488,"children":152489},{},[152490],{"type":431,"value":30666},{"type":426,"tag":10630,"props":152492,"children":152493},{},[152494],{"type":426,"tag":446,"props":152495,"children":152496},{},[152497],{"type":431,"value":30671},{"type":426,"tag":10630,"props":152499,"children":152500},{},[152501],{"type":431,"value":30676},{"type":426,"tag":10608,"props":152503,"children":152504},{},[152505,152510,152517],{"type":426,"tag":10630,"props":152506,"children":152507},{},[152508],{"type":431,"value":152509},"Read within 5 minutes",{"type":426,"tag":10630,"props":152511,"children":152512},{},[152513],{"type":426,"tag":446,"props":152514,"children":152515},{},[152516],{"type":431,"value":56298},{"type":426,"tag":10630,"props":152518,"children":152519},{},[152520],{"type":431,"value":152521},"16%",{"type":426,"tag":10608,"props":152523,"children":152524},{},[152525,152529,152536],{"type":426,"tag":10630,"props":152526,"children":152527},{},[152528],{"type":431,"value":30702},{"type":426,"tag":10630,"props":152530,"children":152531},{},[152532],{"type":426,"tag":446,"props":152533,"children":152534},{},[152535],{"type":431,"value":30689},{"type":426,"tag":10630,"props":152537,"children":152538},{},[152539],{"type":431,"value":30694},{"type":426,"tag":10608,"props":152541,"children":152542},{},[152543,152547,152555],{"type":426,"tag":10630,"props":152544,"children":152545},{},[152546],{"type":431,"value":30684},{"type":426,"tag":10630,"props":152548,"children":152549},{},[152550],{"type":426,"tag":446,"props":152551,"children":152552},{},[152553],{"type":431,"value":152554},"15–35%",{"type":426,"tag":10630,"props":152556,"children":152557},{},[152558],{"type":431,"value":152559},"2–3%",{"type":426,"tag":10608,"props":152561,"children":152562},{},[152563,152568,152576],{"type":426,"tag":10630,"props":152564,"children":152565},{},[152566],{"type":431,"value":152567},"Spam filter bypass rate",{"type":426,"tag":10630,"props":152569,"children":152570},{},[152571],{"type":426,"tag":446,"props":152572,"children":152573},{},[152574],{"type":431,"value":152575},"High",{"type":426,"tag":10630,"props":152577,"children":152578},{},[152579],{"type":431,"value":152580},"Variable (10–20% go to spam)",{"type":426,"tag":10608,"props":152582,"children":152583},{},[152584,152589,152598],{"type":426,"tag":10630,"props":152585,"children":152586},{},[152587],{"type":431,"value":152588},"Rich media",{"type":426,"tag":10630,"props":152590,"children":152591},{},[152592,152596],{"type":426,"tag":446,"props":152593,"children":152594},{},[152595],{"type":431,"value":103087},{"type":431,"value":152597}," (images, PDF, video)",{"type":426,"tag":10630,"props":152599,"children":152600},{},[152601],{"type":431,"value":152602},"Limited (image-heavy emails blocked)",{"type":426,"tag":10608,"props":152604,"children":152605},{},[152606,152611,152620],{"type":426,"tag":10630,"props":152607,"children":152608},{},[152609],{"type":431,"value":152610},"Read receipts",{"type":426,"tag":10630,"props":152612,"children":152613},{},[152614,152618],{"type":426,"tag":446,"props":152615,"children":152616},{},[152617],{"type":431,"value":103087},{"type":431,"value":152619}," (blue ticks)",{"type":426,"tag":10630,"props":152621,"children":152622},{},[152623],{"type":431,"value":152624},"Varies (most email clients block pixels)",{"type":426,"tag":10608,"props":152626,"children":152627},{},[152628,152633,152638],{"type":426,"tag":10630,"props":152629,"children":152630},{},[152631],{"type":431,"value":152632},"Opt-out simplicity",{"type":426,"tag":10630,"props":152634,"children":152635},{},[152636],{"type":431,"value":152637},"Reply \"STOP\"",{"type":426,"tag":10630,"props":152639,"children":152640},{},[152641],{"type":431,"value":152642},"Unsubscribe link",{"type":426,"tag":427,"props":152644,"children":152645},{},[152646],{"type":431,"value":152647},"WhatsApp messages are read within minutes. Emails sit unread in inboxes. For time-sensitive communications (order confirmations, appointment reminders, payment alerts), WhatsApp is objectively more effective.",{"type":426,"tag":434,"props":152649,"children":152651},{"id":152650},"cost-comparison-whatsapp-api-vs-email-marketing",[152652],{"type":431,"value":152653},"Cost Comparison: WhatsApp API vs Email Marketing",{"type":426,"tag":515,"props":152655,"children":152657},{"id":152656},"rapiwa-whatsapp-api",[152658],{"type":431,"value":152659},"Rapiwa (WhatsApp API)",{"type":426,"tag":10600,"props":152661,"children":152662},{},[152663,152678],{"type":426,"tag":10604,"props":152664,"children":152665},{},[152666],{"type":426,"tag":10608,"props":152667,"children":152668},{},[152669,152674],{"type":426,"tag":10612,"props":152670,"children":152671},{},[152672],{"type":431,"value":152673},"Volume",{"type":426,"tag":10612,"props":152675,"children":152676},{},[152677],{"type":431,"value":147043},{"type":426,"tag":10623,"props":152679,"children":152680},{},[152681,152696,152711],{"type":426,"tag":10608,"props":152682,"children":152683},{},[152684,152689],{"type":426,"tag":10630,"props":152685,"children":152686},{},[152687],{"type":431,"value":152688},"1,000 messages",{"type":426,"tag":10630,"props":152690,"children":152691},{},[152692],{"type":426,"tag":446,"props":152693,"children":152694},{},[152695],{"type":431,"value":147125},{"type":426,"tag":10608,"props":152697,"children":152698},{},[152699,152704],{"type":426,"tag":10630,"props":152700,"children":152701},{},[152702],{"type":431,"value":152703},"10,000 messages",{"type":426,"tag":10630,"props":152705,"children":152706},{},[152707],{"type":426,"tag":446,"props":152708,"children":152709},{},[152710],{"type":431,"value":147125},{"type":426,"tag":10608,"props":152712,"children":152713},{},[152714,152719],{"type":426,"tag":10630,"props":152715,"children":152716},{},[152717],{"type":431,"value":152718},"100,000 messages",{"type":426,"tag":10630,"props":152720,"children":152721},{},[152722],{"type":426,"tag":446,"props":152723,"children":152724},{},[152725],{"type":431,"value":147125},{"type":426,"tag":427,"props":152727,"children":152728},{},[152729],{"type":431,"value":152730},"No message caps. Flat rate. No per-message fees.",{"type":426,"tag":515,"props":152732,"children":152734},{"id":152733},"email-marketing-platforms",[152735],{"type":431,"value":152736},"Email Marketing Platforms",{"type":426,"tag":10600,"props":152738,"children":152739},{},[152740,152761],{"type":426,"tag":10604,"props":152741,"children":152742},{},[152743],{"type":426,"tag":10608,"props":152744,"children":152745},{},[152746,152751,152756],{"type":426,"tag":10612,"props":152747,"children":152748},{},[152749],{"type":431,"value":152750},"Platform",{"type":426,"tag":10612,"props":152752,"children":152753},{},[152754],{"type":431,"value":152755},"10,000 contacts\u002Fmonth",{"type":426,"tag":10612,"props":152757,"children":152758},{},[152759],{"type":431,"value":152760},"100,000 contacts\u002Fmonth",{"type":426,"tag":10623,"props":152762,"children":152763},{},[152764,152782,152799,152817],{"type":426,"tag":10608,"props":152765,"children":152766},{},[152767,152772,152777],{"type":426,"tag":10630,"props":152768,"children":152769},{},[152770],{"type":431,"value":152771},"Mailchimp",{"type":426,"tag":10630,"props":152773,"children":152774},{},[152775],{"type":431,"value":152776},"~$100",{"type":426,"tag":10630,"props":152778,"children":152779},{},[152780],{"type":431,"value":152781},"~$500+",{"type":426,"tag":10608,"props":152783,"children":152784},{},[152785,152790,152794],{"type":426,"tag":10630,"props":152786,"children":152787},{},[152788],{"type":431,"value":152789},"Klaviyo",{"type":426,"tag":10630,"props":152791,"children":152792},{},[152793],{"type":431,"value":152776},{"type":426,"tag":10630,"props":152795,"children":152796},{},[152797],{"type":431,"value":152798},"~$700+",{"type":426,"tag":10608,"props":152800,"children":152801},{},[152802,152807,152812],{"type":426,"tag":10630,"props":152803,"children":152804},{},[152805],{"type":431,"value":152806},"Brevo (SendinBlue)",{"type":426,"tag":10630,"props":152808,"children":152809},{},[152810],{"type":431,"value":152811},"~$25",{"type":426,"tag":10630,"props":152813,"children":152814},{},[152815],{"type":431,"value":152816},"~$65",{"type":426,"tag":10608,"props":152818,"children":152819},{},[152820,152825,152830],{"type":426,"tag":10630,"props":152821,"children":152822},{},[152823],{"type":431,"value":152824},"ActiveCampaign",{"type":426,"tag":10630,"props":152826,"children":152827},{},[152828],{"type":431,"value":152829},"~$159",{"type":426,"tag":10630,"props":152831,"children":152832},{},[152833],{"type":431,"value":152781},{"type":426,"tag":427,"props":152835,"children":152836},{},[152837],{"type":431,"value":152838},"For WhatsApp at similar volumes, Rapiwa stays at $5\u002Fmonth.",{"type":426,"tag":434,"props":152840,"children":152842},{"id":152841},"when-whatsapp-beats-email",[152843],{"type":431,"value":152844},"When WhatsApp Beats Email",{"type":426,"tag":515,"props":152846,"children":152848},{"id":152847},"_1-order-confirmations",[152849],{"type":431,"value":152850},"1. Order Confirmations",{"type":426,"tag":427,"props":152852,"children":152853},{},[152854],{"type":431,"value":152855},"Email order confirmations have a ~40% open rate and take minutes to arrive. WhatsApp order confirmations have a 95–98% open rate and arrive within seconds.",{"type":426,"tag":427,"props":152857,"children":152858},{},[152859,152861,152867],{"type":431,"value":152860},"For WooCommerce stores, the ",{"type":426,"tag":3819,"props":152862,"children":152864},{"href":18819,"rel":152863},[3823],[152865],{"type":431,"value":152866},"Rapiwa order notification n8n template",{"type":431,"value":152868}," handles this automatically.",{"type":426,"tag":515,"props":152870,"children":152872},{"id":152871},"_2-invoice-delivery",[152873],{"type":431,"value":152874},"2. Invoice Delivery",{"type":426,"tag":427,"props":152876,"children":152877},{},[152878],{"type":431,"value":152879},"WhatsApp invoices are opened immediately. PDF invoices sent by email get buried, forwarded to wrong accounts, or overlooked. Customers who receive WhatsApp invoices pay 2–3x faster.",{"type":426,"tag":427,"props":152881,"children":152882},{},[152883,152884,152890],{"type":431,"value":86346},{"type":426,"tag":3819,"props":152885,"children":152887},{"href":18796,"rel":152886},[3823],[152888],{"type":431,"value":152889},"Rapiwa WooCommerce invoice template",{"type":431,"value":152891}," (1,306 installs) automates this — most-used Rapiwa template on n8n.",{"type":426,"tag":515,"props":152893,"children":152895},{"id":152894},"_3-appointment-reminders",[152896],{"type":431,"value":152897},"3. Appointment Reminders",{"type":426,"tag":427,"props":152899,"children":152900},{},[152901],{"type":431,"value":152902},"Email reminders are frequently missed. WhatsApp reminders get read within minutes. The result is 30–40% fewer no-shows for the same reminder content.",{"type":426,"tag":515,"props":152904,"children":152906},{"id":152905},"_4-abandoned-cart-recovery",[152907],{"type":431,"value":152908},"4. Abandoned Cart Recovery",{"type":426,"tag":427,"props":152910,"children":152911},{},[152912],{"type":431,"value":152913},"Email abandoned cart recovery: 5–10% recovery rate.\nWhatsApp abandoned cart recovery: 35–45% recovery rate.",{"type":426,"tag":427,"props":152915,"children":152916},{},[152917],{"type":431,"value":152918},"For e-commerce stores, this difference is revenue-critical.",{"type":426,"tag":515,"props":152920,"children":152922},{"id":152921},"_5-payment-reminders",[152923],{"type":431,"value":152924},"5. Payment Reminders",{"type":426,"tag":427,"props":152926,"children":152927},{},[152928],{"type":431,"value":152929},"Overdue invoices sent by email have low urgency. The same reminder on WhatsApp — appearing alongside personal messages — creates immediate psychological urgency. Payment recovery rate is significantly higher.",{"type":426,"tag":434,"props":152931,"children":152933},{"id":152932},"when-email-beats-whatsapp",[152934],{"type":431,"value":152935},"When Email Beats WhatsApp",{"type":426,"tag":515,"props":152937,"children":152939},{"id":152938},"_1-long-form-content",[152940],{"type":431,"value":152941},"1. Long-Form Content",{"type":426,"tag":427,"props":152943,"children":152944},{},[152945],{"type":431,"value":152946},"Email supports long-form HTML content — newsletters with images, embedded links, formatted tables. WhatsApp messages are best as short, conversational text.",{"type":426,"tag":515,"props":152948,"children":152950},{"id":152949},"_2-audience-segmentation-and-analytics",[152951],{"type":431,"value":152952},"2. Audience Segmentation and Analytics",{"type":426,"tag":427,"props":152954,"children":152955},{},[152956],{"type":431,"value":152957},"Mature email platforms (Mailchimp, Klaviyo) have advanced segmentation, A\u002FB testing, and analytics built in. WhatsApp API is more manual for campaign analytics.",{"type":426,"tag":515,"props":152959,"children":152961},{"id":152960},"_3-non-whatsapp-users",[152962],{"type":431,"value":152963},"3. Non-WhatsApp Users",{"type":426,"tag":427,"props":152965,"children":152966},{},[152967],{"type":431,"value":152968},"Email reaches everyone with an email address. WhatsApp requires the recipient to have WhatsApp installed. In markets with low WhatsApp penetration (USA, Japan, South Korea), email is more universal.",{"type":426,"tag":515,"props":152970,"children":152972},{"id":152971},"_4-compliance-and-tos",[152973],{"type":431,"value":152974},"4. Compliance and ToS",{"type":426,"tag":427,"props":152976,"children":152977},{},[152978],{"type":431,"value":152979},"Email marketing has a clear regulatory framework (CAN-SPAM, GDPR) with well-established compliance paths. WhatsApp API (unofficial) is more legally nuanced. For highly regulated industries, email's compliance picture is clearer.",{"type":426,"tag":434,"props":152981,"children":152983},{"id":152982},"the-recommended-hybrid-strategy",[152984],{"type":431,"value":152985},"The Recommended Hybrid Strategy",{"type":426,"tag":427,"props":152987,"children":152988},{},[152989],{"type":431,"value":152990},"Use both channels for maximum reach and engagement:",{"type":426,"tag":6331,"props":152992,"children":152993},{},[152994,153024],{"type":426,"tag":458,"props":152995,"children":152996},{},[152997,153001,153003],{"type":426,"tag":446,"props":152998,"children":152999},{},[153000],{"type":431,"value":30650},{"type":431,"value":153002}," (via Rapiwa) — primary channel for time-sensitive, high-priority messages:",{"type":426,"tag":454,"props":153004,"children":153005},{},[153006,153011,153016,153020],{"type":426,"tag":458,"props":153007,"children":153008},{},[153009],{"type":431,"value":153010},"Order confirmations and shipping updates",{"type":426,"tag":458,"props":153012,"children":153013},{},[153014],{"type":431,"value":153015},"Invoice delivery",{"type":426,"tag":458,"props":153017,"children":153018},{},[153019],{"type":431,"value":104630},{"type":426,"tag":458,"props":153021,"children":153022},{},[153023],{"type":431,"value":104640},{"type":426,"tag":458,"props":153025,"children":153026},{},[153027,153031,153033],{"type":426,"tag":446,"props":153028,"children":153029},{},[153030],{"type":431,"value":30655},{"type":431,"value":153032}," — secondary channel for:",{"type":426,"tag":454,"props":153034,"children":153035},{},[153036,153041,153046,153051],{"type":426,"tag":458,"props":153037,"children":153038},{},[153039],{"type":431,"value":153040},"Long-form newsletters",{"type":426,"tag":458,"props":153042,"children":153043},{},[153044],{"type":431,"value":153045},"Customers without WhatsApp",{"type":426,"tag":458,"props":153047,"children":153048},{},[153049],{"type":431,"value":153050},"Detailed documentation and reports",{"type":426,"tag":458,"props":153052,"children":153053},{},[153054],{"type":431,"value":153055},"Legal notices requiring a paper trail",{"type":426,"tag":542,"props":153057,"children":153059},{"className":785,"code":153058,"language":784,"meta":417,"style":417},"import requests\n\ndef notify_customer(email, phone, message, subject, html_body):\n    \"\"\"Send to WhatsApp first, email as backup.\"\"\"\n    \n    # Check if customer has WhatsApp\n    check = requests.get(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\",\n        headers={\"Authorization\": \"Bearer RAPIWA_KEY\"},\n        params={\"number\": phone}\n    ).json()\n    \n    if check.get(\"exists\"):\n        # Primary: WhatsApp\n        requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": \"Bearer RAPIWA_KEY\"},\n            json={\"number\": phone, \"message\": message}\n        )\n    else:\n        # Fallback: Email\n        send_email(email, subject, html_body)\n",[153060],{"type":426,"tag":549,"props":153061,"children":153062},{"__ignoreMap":417},[153063,153074,153081,153097,153105,153112,153120,153137,153149,153181,153205,153212,153219,153240,153248,153264,153295,153326,153333,153344,153352],{"type":426,"tag":553,"props":153064,"children":153065},{"class":555,"line":556},[153066,153070],{"type":426,"tag":553,"props":153067,"children":153068},{"style":795},[153069],{"type":431,"value":798},{"type":426,"tag":553,"props":153071,"children":153072},{"style":684},[153073],{"type":431,"value":803},{"type":426,"tag":553,"props":153075,"children":153076},{"class":555,"line":588},[153077],{"type":426,"tag":553,"props":153078,"children":153079},{"emptyLinePlaceholder":831},[153080],{"type":431,"value":834},{"type":426,"tag":553,"props":153082,"children":153083},{"class":555,"line":606},[153084,153088,153092],{"type":426,"tag":553,"props":153085,"children":153086},{"style":795},[153087],{"type":431,"value":842},{"type":426,"tag":553,"props":153089,"children":153090},{"style":560},[153091],{"type":431,"value":143707},{"type":426,"tag":553,"props":153093,"children":153094},{"style":684},[153095],{"type":431,"value":153096},"(email, phone, message, subject, html_body):\n",{"type":426,"tag":553,"props":153098,"children":153099},{"class":555,"line":623},[153100],{"type":426,"tag":553,"props":153101,"children":153102},{"style":572},[153103],{"type":431,"value":153104},"    \"\"\"Send to WhatsApp first, email as backup.\"\"\"\n",{"type":426,"tag":553,"props":153106,"children":153107},{"class":555,"line":637},[153108],{"type":426,"tag":553,"props":153109,"children":153110},{"style":684},[153111],{"type":431,"value":917},{"type":426,"tag":553,"props":153113,"children":153114},{"class":555,"line":646},[153115],{"type":426,"tag":553,"props":153116,"children":153117},{"style":1975},[153118],{"type":431,"value":153119},"    # Check if customer has WhatsApp\n",{"type":426,"tag":553,"props":153121,"children":153122},{"class":555,"line":655},[153123,153128,153132],{"type":426,"tag":553,"props":153124,"children":153125},{"style":684},[153126],{"type":431,"value":153127},"    check ",{"type":426,"tag":553,"props":153129,"children":153130},{"style":795},[153131],{"type":431,"value":957},{"type":426,"tag":553,"props":153133,"children":153134},{"style":684},[153135],{"type":431,"value":153136}," requests.get(\n",{"type":426,"tag":553,"props":153138,"children":153139},{"class":555,"line":1036},[153140,153145],{"type":426,"tag":553,"props":153141,"children":153142},{"style":572},[153143],{"type":431,"value":153144},"        \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\"",{"type":426,"tag":553,"props":153146,"children":153147},{"style":684},[153148],{"type":431,"value":710},{"type":426,"tag":553,"props":153150,"children":153151},{"class":555,"line":1054},[153152,153156,153160,153164,153168,153172,153177],{"type":426,"tag":553,"props":153153,"children":153154},{"style":1684},[153155],{"type":431,"value":1687},{"type":426,"tag":553,"props":153157,"children":153158},{"style":795},[153159],{"type":431,"value":957},{"type":426,"tag":553,"props":153161,"children":153162},{"style":684},[153163],{"type":431,"value":972},{"type":426,"tag":553,"props":153165,"children":153166},{"style":572},[153167],{"type":431,"value":45214},{"type":426,"tag":553,"props":153169,"children":153170},{"style":684},[153171],{"type":431,"value":700},{"type":426,"tag":553,"props":153173,"children":153174},{"style":572},[153175],{"type":431,"value":153176},"\"Bearer RAPIWA_KEY\"",{"type":426,"tag":553,"props":153178,"children":153179},{"style":684},[153180],{"type":431,"value":1737},{"type":426,"tag":553,"props":153182,"children":153183},{"class":555,"line":1080},[153184,153189,153193,153197,153201],{"type":426,"tag":553,"props":153185,"children":153186},{"style":1684},[153187],{"type":431,"value":153188},"        params",{"type":426,"tag":553,"props":153190,"children":153191},{"style":795},[153192],{"type":431,"value":957},{"type":426,"tag":553,"props":153194,"children":153195},{"style":684},[153196],{"type":431,"value":972},{"type":426,"tag":553,"props":153198,"children":153199},{"style":572},[153200],{"type":431,"value":45266},{"type":426,"tag":553,"props":153202,"children":153203},{"style":684},[153204],{"type":431,"value":140310},{"type":426,"tag":553,"props":153206,"children":153207},{"class":555,"line":1097},[153208],{"type":426,"tag":553,"props":153209,"children":153210},{"style":684},[153211],{"type":431,"value":1793},{"type":426,"tag":553,"props":153213,"children":153214},{"class":555,"line":1114},[153215],{"type":426,"tag":553,"props":153216,"children":153217},{"style":684},[153218],{"type":431,"value":917},{"type":426,"tag":553,"props":153220,"children":153221},{"class":555,"line":1127},[153222,153226,153231,153236],{"type":426,"tag":553,"props":153223,"children":153224},{"style":795},[153225],{"type":431,"value":925},{"type":426,"tag":553,"props":153227,"children":153228},{"style":684},[153229],{"type":431,"value":153230}," check.get(",{"type":426,"tag":553,"props":153232,"children":153233},{"style":572},[153234],{"type":431,"value":153235},"\"exists\"",{"type":426,"tag":553,"props":153237,"children":153238},{"style":684},[153239],{"type":431,"value":8370},{"type":426,"tag":553,"props":153241,"children":153242},{"class":555,"line":1167},[153243],{"type":426,"tag":553,"props":153244,"children":153245},{"style":1975},[153246],{"type":431,"value":153247},"        # Primary: WhatsApp\n",{"type":426,"tag":553,"props":153249,"children":153250},{"class":555,"line":1184},[153251,153256,153260],{"type":426,"tag":553,"props":153252,"children":153253},{"style":684},[153254],{"type":431,"value":153255},"        requests.post(",{"type":426,"tag":553,"props":153257,"children":153258},{"style":572},[153259],{"type":431,"value":60449},{"type":426,"tag":553,"props":153261,"children":153262},{"style":684},[153263],{"type":431,"value":710},{"type":426,"tag":553,"props":153265,"children":153266},{"class":555,"line":1192},[153267,153271,153275,153279,153283,153287,153291],{"type":426,"tag":553,"props":153268,"children":153269},{"style":1684},[153270],{"type":431,"value":2864},{"type":426,"tag":553,"props":153272,"children":153273},{"style":795},[153274],{"type":431,"value":957},{"type":426,"tag":553,"props":153276,"children":153277},{"style":684},[153278],{"type":431,"value":972},{"type":426,"tag":553,"props":153280,"children":153281},{"style":572},[153282],{"type":431,"value":45214},{"type":426,"tag":553,"props":153284,"children":153285},{"style":684},[153286],{"type":431,"value":700},{"type":426,"tag":553,"props":153288,"children":153289},{"style":572},[153290],{"type":431,"value":153176},{"type":426,"tag":553,"props":153292,"children":153293},{"style":684},[153294],{"type":431,"value":1737},{"type":426,"tag":553,"props":153296,"children":153297},{"class":555,"line":1210},[153298,153302,153306,153310,153314,153318,153322],{"type":426,"tag":553,"props":153299,"children":153300},{"style":1684},[153301],{"type":431,"value":2916},{"type":426,"tag":553,"props":153303,"children":153304},{"style":795},[153305],{"type":431,"value":957},{"type":426,"tag":553,"props":153307,"children":153308},{"style":684},[153309],{"type":431,"value":972},{"type":426,"tag":553,"props":153311,"children":153312},{"style":572},[153313],{"type":431,"value":45266},{"type":426,"tag":553,"props":153315,"children":153316},{"style":684},[153317],{"type":431,"value":8931},{"type":426,"tag":553,"props":153319,"children":153320},{"style":572},[153321],{"type":431,"value":45275},{"type":426,"tag":553,"props":153323,"children":153324},{"style":684},[153325],{"type":431,"value":1784},{"type":426,"tag":553,"props":153327,"children":153328},{"class":555,"line":1253},[153329],{"type":426,"tag":553,"props":153330,"children":153331},{"style":684},[153332],{"type":431,"value":6037},{"type":426,"tag":553,"props":153334,"children":153335},{"class":555,"line":1302},[153336,153340],{"type":426,"tag":553,"props":153337,"children":153338},{"style":795},[153339],{"type":431,"value":1120},{"type":426,"tag":553,"props":153341,"children":153342},{"style":684},[153343],{"type":431,"value":909},{"type":426,"tag":553,"props":153345,"children":153346},{"class":555,"line":1374},[153347],{"type":426,"tag":553,"props":153348,"children":153349},{"style":1975},[153350],{"type":431,"value":153351},"        # Fallback: Email\n",{"type":426,"tag":553,"props":153353,"children":153354},{"class":555,"line":1414},[153355],{"type":426,"tag":553,"props":153356,"children":153357},{"style":684},[153358],{"type":431,"value":153359},"        send_email(email, subject, html_body)\n",{"type":426,"tag":434,"props":153361,"children":153362},{"id":4109},[153363],{"type":431,"value":4112},{"type":426,"tag":427,"props":153365,"children":153366},{},[153367,153372],{"type":426,"tag":446,"props":153368,"children":153369},{},[153370],{"type":431,"value":153371},"What is the open rate of WhatsApp messages?",{"type":431,"value":153373},"\nWhatsApp messages achieve a 98% open rate on average. Approximately 90% are read within 5 minutes of delivery.",{"type":426,"tag":427,"props":153375,"children":153376},{},[153377,153382],{"type":426,"tag":446,"props":153378,"children":153379},{},[153380],{"type":431,"value":153381},"Is WhatsApp marketing cheaper than email marketing?",{"type":431,"value":153383},"\nFor high volumes, yes. Rapiwa charges $5\u002Fmonth for unlimited WhatsApp messages. Email marketing platforms charge by contact or volume — Mailchimp charges ~$100\u002Fmonth for 10,000 contacts.",{"type":426,"tag":427,"props":153385,"children":153386},{},[153387,153392],{"type":426,"tag":446,"props":153388,"children":153389},{},[153390],{"type":431,"value":153391},"Can I replace email marketing with WhatsApp API?",{"type":431,"value":153393},"\nPartially. WhatsApp is better for time-sensitive notifications. Email is better for long-form content, newsletters, and reaching audiences without WhatsApp. A hybrid approach uses both.",{"type":426,"tag":427,"props":153395,"children":153396},{},[153397,153402],{"type":426,"tag":446,"props":153398,"children":153399},{},[153400],{"type":431,"value":153401},"Does WhatsApp API comply with GDPR?",{"type":431,"value":153403},"\nWhatsApp messaging is subject to GDPR if you operate in the EU. You must obtain explicit consent before messaging contacts, maintain records of consent, and honor opt-out requests. Unofficial APIs add additional compliance complexity.",{"type":426,"tag":427,"props":153405,"children":153406},{},[153407,153412],{"type":426,"tag":446,"props":153408,"children":153409},{},[153410],{"type":431,"value":153411},"What is the best WhatsApp API for replacing email notifications?",{"type":431,"value":153413},"\nRapiwa at $5\u002Fmonth is the best option — cheaper than email marketing platforms for equivalent volume, with WooCommerce and n8n integrations for automated notification workflows.",{"type":426,"tag":4164,"props":153415,"children":153416},{},[153417],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":153419},[153420,153421,153425,153432,153438,153439],{"id":152456,"depth":588,"text":152459},{"id":152650,"depth":588,"text":152653,"children":153422},[153423,153424],{"id":152656,"depth":606,"text":152659},{"id":152733,"depth":606,"text":152736},{"id":152841,"depth":588,"text":152844,"children":153426},[153427,153428,153429,153430,153431],{"id":152847,"depth":606,"text":152850},{"id":152871,"depth":606,"text":152874},{"id":152894,"depth":606,"text":152897},{"id":152905,"depth":606,"text":152908},{"id":152921,"depth":606,"text":152924},{"id":152932,"depth":588,"text":152935,"children":153433},[153434,153435,153436,153437],{"id":152938,"depth":606,"text":152941},{"id":152949,"depth":606,"text":152952},{"id":152960,"depth":606,"text":152963},{"id":152971,"depth":606,"text":152974},{"id":152982,"depth":588,"text":152985},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-vs-email-marketing-open-rate-battle-2026.md","blog\u002Fwhatsapp-api-vs-email-marketing-open-rate-battle-2026.md","blog\u002Fwhatsapp-api-vs-email-marketing-open-rate-battle-2026",{"loc":230},{"_path":234,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":235,"description":236,"date":153445,"author":26210,"category":212,"_slug":153446,"image":153447,"body":153448,"_type":4187,"_id":154255,"_source":4189,"_file":154256,"_stem":154257,"_extension":4192,"sitemap":154258},"2026-01-19","rapiwa-vs-360dialog-which-is-better-for-developers","\u002Fimages\u002Fblog\u002Frapiwa-vs-360dialog-which-is-better-for-developers.svg",{"type":423,"children":153449,"toc":154243},[153450,153460,153466,153654,153660,153665,153673,153706,153712,153717,153725,153746,153754,153775,153787,153793,153799,153807,153845,153853,153871,153879,153885,153890,153896,153929,153937,154081,154089,154161,154167,154172,154195,154199,154209,154219,154229,154239],{"type":426,"tag":427,"props":153451,"children":153452},{},[153453,153458],{"type":426,"tag":3819,"props":153454,"children":153456},{"href":3821,"rel":153455},[3823],[153457],{"type":431,"value":127310},{"type":431,"value":153459}," costs $5\u002Fmonth flat with no Meta approval required. 360dialog uses the official Meta WhatsApp Business API with per-conversation fees ($0.015–$0.08) and a required business verification process. For developers building automations, WooCommerce integrations, or budget-sensitive projects, Rapiwa is dramatically cheaper and faster to deploy.",{"type":426,"tag":434,"props":153461,"children":153463},{"id":153462},"rapiwa-vs-360dialog-comparison",[153464],{"type":431,"value":153465},"Rapiwa vs 360dialog: Comparison",{"type":426,"tag":10600,"props":153467,"children":153468},{},[153469,153487],{"type":426,"tag":10604,"props":153470,"children":153471},{},[153472],{"type":426,"tag":10608,"props":153473,"children":153474},{},[153475,153479,153483],{"type":426,"tag":10612,"props":153476,"children":153477},{},[153478],{"type":431,"value":16096},{"type":426,"tag":10612,"props":153480,"children":153481},{},[153482],{"type":431,"value":147264},{"type":426,"tag":10612,"props":153484,"children":153485},{},[153486],{"type":431,"value":127310},{"type":426,"tag":10623,"props":153488,"children":153489},{},[153490,153506,153526,153544,153562,153580,153600,153618,153636],{"type":426,"tag":10608,"props":153491,"children":153492},{},[153493,153497,153502],{"type":426,"tag":10630,"props":153494,"children":153495},{},[153496],{"type":431,"value":150764},{"type":426,"tag":10630,"props":153498,"children":153499},{},[153500],{"type":431,"value":153501},"Official (Meta Cloud)",{"type":426,"tag":10630,"props":153503,"children":153504},{},[153505],{"type":431,"value":150774},{"type":426,"tag":10608,"props":153507,"children":153508},{},[153509,153514,153519],{"type":426,"tag":10630,"props":153510,"children":153511},{},[153512],{"type":431,"value":153513},"Platform fee",{"type":426,"tag":10630,"props":153515,"children":153516},{},[153517],{"type":431,"value":153518},"$5+\u002Fmonth",{"type":426,"tag":10630,"props":153520,"children":153521},{},[153522],{"type":426,"tag":446,"props":153523,"children":153524},{},[153525],{"type":431,"value":148332},{"type":426,"tag":10608,"props":153527,"children":153528},{},[153529,153533,153537],{"type":426,"tag":10630,"props":153530,"children":153531},{},[153532],{"type":431,"value":150802},{"type":426,"tag":10630,"props":153534,"children":153535},{},[153536],{"type":431,"value":150807},{"type":426,"tag":10630,"props":153538,"children":153539},{},[153540],{"type":426,"tag":446,"props":153541,"children":153542},{},[153543],{"type":431,"value":1840},{"type":426,"tag":10608,"props":153545,"children":153546},{},[153547,153551,153555],{"type":426,"tag":10630,"props":153548,"children":153549},{},[153550],{"type":431,"value":150822},{"type":426,"tag":10630,"props":153552,"children":153553},{},[153554],{"type":431,"value":147098},{"type":426,"tag":10630,"props":153556,"children":153557},{},[153558],{"type":426,"tag":446,"props":153559,"children":153560},{},[153561],{"type":431,"value":147147},{"type":426,"tag":10608,"props":153563,"children":153564},{},[153565,153569,153573],{"type":426,"tag":10630,"props":153566,"children":153567},{},[153568],{"type":431,"value":150841},{"type":426,"tag":10630,"props":153570,"children":153571},{},[153572],{"type":431,"value":147098},{"type":426,"tag":10630,"props":153574,"children":153575},{},[153576],{"type":426,"tag":446,"props":153577,"children":153578},{},[153579],{"type":431,"value":147147},{"type":426,"tag":10608,"props":153581,"children":153582},{},[153583,153588,153592],{"type":426,"tag":10630,"props":153584,"children":153585},{},[153586],{"type":431,"value":153587},"24-hour window",{"type":426,"tag":10630,"props":153589,"children":153590},{},[153591],{"type":431,"value":103087},{"type":426,"tag":10630,"props":153593,"children":153594},{},[153595],{"type":426,"tag":446,"props":153596,"children":153597},{},[153598],{"type":431,"value":153599},"No restriction",{"type":426,"tag":10608,"props":153601,"children":153602},{},[153603,153607,153611],{"type":426,"tag":10630,"props":153604,"children":153605},{},[153606],{"type":431,"value":150917},{"type":426,"tag":10630,"props":153608,"children":153609},{},[153610],{"type":431,"value":150922},{"type":426,"tag":10630,"props":153612,"children":153613},{},[153614],{"type":426,"tag":446,"props":153615,"children":153616},{},[153617],{"type":431,"value":46995},{"type":426,"tag":10608,"props":153619,"children":153620},{},[153621,153625,153629],{"type":426,"tag":10630,"props":153622,"children":153623},{},[153624],{"type":431,"value":148534},{"type":426,"tag":10630,"props":153626,"children":153627},{},[153628],{"type":431,"value":78130},{"type":426,"tag":10630,"props":153630,"children":153631},{},[153632],{"type":426,"tag":446,"props":153633,"children":153634},{},[153635],{"type":431,"value":103087},{"type":426,"tag":10608,"props":153637,"children":153638},{},[153639,153643,153647],{"type":426,"tag":10630,"props":153640,"children":153641},{},[153642],{"type":431,"value":16164},{"type":426,"tag":10630,"props":153644,"children":153645},{},[153646],{"type":431,"value":78130},{"type":426,"tag":10630,"props":153648,"children":153649},{},[153650],{"type":426,"tag":446,"props":153651,"children":153652},{},[153653],{"type":431,"value":150909},{"type":426,"tag":434,"props":153655,"children":153657},{"id":153656},"what-is-360dialog",[153658],{"type":431,"value":153659},"What Is 360dialog?",{"type":426,"tag":427,"props":153661,"children":153662},{},[153663],{"type":431,"value":153664},"360dialog (360dialog.com) is a Meta Business Solution Provider (BSP) — an official reseller of the Meta WhatsApp Business Cloud API. 360dialog provides API access, a dashboard, and developer tools on top of Meta's API infrastructure.",{"type":426,"tag":427,"props":153666,"children":153667},{},[153668],{"type":426,"tag":446,"props":153669,"children":153670},{},[153671],{"type":431,"value":153672},"Key 360dialog characteristics:",{"type":426,"tag":454,"props":153674,"children":153675},{},[153676,153681,153686,153691,153696,153701],{"type":426,"tag":458,"props":153677,"children":153678},{},[153679],{"type":431,"value":153680},"Official Meta WhatsApp Business API access",{"type":426,"tag":458,"props":153682,"children":153683},{},[153684],{"type":431,"value":153685},"Starts at $5\u002Fmonth platform fee",{"type":426,"tag":458,"props":153687,"children":153688},{},[153689],{"type":431,"value":153690},"Plus Meta's per-conversation charges on top",{"type":426,"tag":458,"props":153692,"children":153693},{},[153694],{"type":431,"value":153695},"Business verification process required",{"type":426,"tag":458,"props":153697,"children":153698},{},[153699],{"type":431,"value":153700},"Template management required",{"type":426,"tag":458,"props":153702,"children":153703},{},[153704],{"type":431,"value":153705},"Used primarily by enterprise and agency clients",{"type":426,"tag":434,"props":153707,"children":153709},{"id":153708},"the-hidden-cost-of-360dialog",[153710],{"type":431,"value":153711},"The Hidden Cost of 360dialog",{"type":426,"tag":427,"props":153713,"children":153714},{},[153715],{"type":431,"value":153716},"360dialog's $5\u002Fmonth platform fee appears competitive with Rapiwa. The critical difference is what happens above the platform fee:",{"type":426,"tag":427,"props":153718,"children":153719},{},[153720],{"type":426,"tag":446,"props":153721,"children":153722},{},[153723],{"type":431,"value":153724},"360dialog total cost for 10,000 marketing messages (US):",{"type":426,"tag":454,"props":153726,"children":153727},{},[153728,153733,153738],{"type":426,"tag":458,"props":153729,"children":153730},{},[153731],{"type":431,"value":153732},"Platform fee: $5",{"type":426,"tag":458,"props":153734,"children":153735},{},[153736],{"type":431,"value":153737},"Meta conversation fees: ~$250 (10,000 × $0.025)",{"type":426,"tag":458,"props":153739,"children":153740},{},[153741],{"type":426,"tag":446,"props":153742,"children":153743},{},[153744],{"type":431,"value":153745},"Total: $255\u002Fmonth",{"type":426,"tag":427,"props":153747,"children":153748},{},[153749],{"type":426,"tag":446,"props":153750,"children":153751},{},[153752],{"type":431,"value":153753},"Rapiwa total cost for 10,000 messages:",{"type":426,"tag":454,"props":153755,"children":153756},{},[153757,153762,153767],{"type":426,"tag":458,"props":153758,"children":153759},{},[153760],{"type":431,"value":153761},"$5\u002Fmonth flat",{"type":426,"tag":458,"props":153763,"children":153764},{},[153765],{"type":431,"value":153766},"No per-conversation fees",{"type":426,"tag":458,"props":153768,"children":153769},{},[153770],{"type":426,"tag":446,"props":153771,"children":153772},{},[153773],{"type":431,"value":153774},"Total: $5\u002Fmonth",{"type":426,"tag":427,"props":153776,"children":153777},{},[153778,153780,153785],{"type":431,"value":153779},"360dialog is ",{"type":426,"tag":446,"props":153781,"children":153782},{},[153783],{"type":431,"value":153784},"51x more expensive",{"type":431,"value":153786}," at 10,000 marketing messages.",{"type":426,"tag":434,"props":153788,"children":153790},{"id":153789},"developer-experience-360dialog-vs-rapiwa",[153791],{"type":431,"value":153792},"Developer Experience: 360dialog vs Rapiwa",{"type":426,"tag":515,"props":153794,"children":153796},{"id":153795},"time-to-first-message",[153797],{"type":431,"value":153798},"Time to First Message",{"type":426,"tag":427,"props":153800,"children":153801},{},[153802],{"type":426,"tag":446,"props":153803,"children":153804},{},[153805],{"type":431,"value":153806},"360dialog:",{"type":426,"tag":6331,"props":153808,"children":153809},{},[153810,153815,153820,153825,153830,153835,153840],{"type":426,"tag":458,"props":153811,"children":153812},{},[153813],{"type":431,"value":153814},"Register account",{"type":426,"tag":458,"props":153816,"children":153817},{},[153818],{"type":431,"value":153819},"Submit business information for Meta verification",{"type":426,"tag":458,"props":153821,"children":153822},{},[153823],{"type":431,"value":153824},"Wait 1–14 days for approval",{"type":426,"tag":458,"props":153826,"children":153827},{},[153828],{"type":431,"value":153829},"Register dedicated phone number",{"type":426,"tag":458,"props":153831,"children":153832},{},[153833],{"type":431,"value":153834},"Create message templates and submit for approval",{"type":426,"tag":458,"props":153836,"children":153837},{},[153838],{"type":431,"value":153839},"Wait for template approval",{"type":426,"tag":458,"props":153841,"children":153842},{},[153843],{"type":431,"value":153844},"Start testing",{"type":426,"tag":427,"props":153846,"children":153847},{},[153848],{"type":426,"tag":446,"props":153849,"children":153850},{},[153851],{"type":431,"value":153852},"Rapiwa:",{"type":426,"tag":6331,"props":153854,"children":153855},{},[153856,153861,153866],{"type":426,"tag":458,"props":153857,"children":153858},{},[153859],{"type":431,"value":153860},"Sign up at rapiwa.com (1 minute)",{"type":426,"tag":458,"props":153862,"children":153863},{},[153864],{"type":431,"value":153865},"Scan QR code (2 minutes)",{"type":426,"tag":458,"props":153867,"children":153868},{},[153869],{"type":431,"value":153870},"Send first message (1 minute)",{"type":426,"tag":427,"props":153872,"children":153873},{},[153874],{"type":426,"tag":446,"props":153875,"children":153876},{},[153877],{"type":431,"value":153878},"Rapiwa: 4 minutes. 360dialog: Days to weeks.",{"type":426,"tag":515,"props":153880,"children":153882},{"id":153881},"message-flexibility",[153883],{"type":431,"value":153884},"Message Flexibility",{"type":426,"tag":427,"props":153886,"children":153887},{},[153888],{"type":431,"value":153889},"360dialog requires pre-approved templates for any outbound message to customers who haven't messaged you in the last 24 hours. Rapiwa has no restrictions — send any message to any contact at any time.",{"type":426,"tag":515,"props":153891,"children":153893},{"id":153892},"integration-complexity",[153894],{"type":431,"value":153895},"Integration Complexity",{"type":426,"tag":427,"props":153897,"children":153898},{},[153899,153901,153907,153908,153914,153916,153921,153922,153927],{"type":431,"value":153900},"360dialog connects via Meta's API which uses ",{"type":426,"tag":549,"props":153902,"children":153904},{"className":153903},[],[153905],{"type":431,"value":153906},"messaging_product",{"type":431,"value":1907},{"type":426,"tag":549,"props":153909,"children":153911},{"className":153910},[],[153912],{"type":431,"value":153913},"type",{"type":431,"value":153915},", and template components. Rapiwa uses ",{"type":426,"tag":549,"props":153917,"children":153919},{"className":153918},[],[153920],{"type":431,"value":39195},{"type":431,"value":48630},{"type":426,"tag":549,"props":153923,"children":153925},{"className":153924},[],[153926],{"type":431,"value":2734},{"type":431,"value":153928}," — simpler for developers.",{"type":426,"tag":427,"props":153930,"children":153931},{},[153932],{"type":426,"tag":446,"props":153933,"children":153934},{},[153935],{"type":431,"value":153936},"360dialog send (with template):",{"type":426,"tag":542,"props":153938,"children":153940},{"className":546,"code":153939,"language":545,"meta":417,"style":417},"curl -X POST 'https:\u002F\u002Fwaba.360dialog.io\u002Fv1\u002Fmessages' \\\n  -H 'D360-API-KEY: YOUR_360DIALOG_KEY' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"messaging_product\": \"whatsapp\",\n    \"to\": \"8801234567890\",\n    \"type\": \"template\",\n    \"template\": {\n      \"name\": \"order_confirmation\",\n      \"language\": {\"code\": \"en_US\"},\n      \"components\": [...]\n    }\n  }'\n",[153941],{"type":426,"tag":549,"props":153942,"children":153943},{"__ignoreMap":417},[153944,153968,153984,154000,154011,154019,154027,154035,154043,154051,154059,154067,154074],{"type":426,"tag":553,"props":153945,"children":153946},{"class":555,"line":556},[153947,153951,153955,153959,153964],{"type":426,"tag":553,"props":153948,"children":153949},{"style":560},[153950],{"type":431,"value":563},{"type":426,"tag":553,"props":153952,"children":153953},{"style":566},[153954],{"type":431,"value":569},{"type":426,"tag":553,"props":153956,"children":153957},{"style":572},[153958],{"type":431,"value":575},{"type":426,"tag":553,"props":153960,"children":153961},{"style":572},[153962],{"type":431,"value":153963}," 'https:\u002F\u002Fwaba.360dialog.io\u002Fv1\u002Fmessages'",{"type":426,"tag":553,"props":153965,"children":153966},{"style":566},[153967],{"type":431,"value":585},{"type":426,"tag":553,"props":153969,"children":153970},{"class":555,"line":588},[153971,153975,153980],{"type":426,"tag":553,"props":153972,"children":153973},{"style":566},[153974],{"type":431,"value":594},{"type":426,"tag":553,"props":153976,"children":153977},{"style":572},[153978],{"type":431,"value":153979}," 'D360-API-KEY: YOUR_360DIALOG_KEY'",{"type":426,"tag":553,"props":153981,"children":153982},{"style":566},[153983],{"type":431,"value":585},{"type":426,"tag":553,"props":153985,"children":153986},{"class":555,"line":606},[153987,153991,153996],{"type":426,"tag":553,"props":153988,"children":153989},{"style":566},[153990],{"type":431,"value":594},{"type":426,"tag":553,"props":153992,"children":153993},{"style":572},[153994],{"type":431,"value":153995}," 'Content-Type: application\u002Fjson'",{"type":426,"tag":553,"props":153997,"children":153998},{"style":566},[153999],{"type":431,"value":585},{"type":426,"tag":553,"props":154001,"children":154002},{"class":555,"line":623},[154003,154007],{"type":426,"tag":553,"props":154004,"children":154005},{"style":566},[154006],{"type":431,"value":629},{"type":426,"tag":553,"props":154008,"children":154009},{"style":572},[154010],{"type":431,"value":634},{"type":426,"tag":553,"props":154012,"children":154013},{"class":555,"line":637},[154014],{"type":426,"tag":553,"props":154015,"children":154016},{"style":572},[154017],{"type":431,"value":154018},"    \"messaging_product\": \"whatsapp\",\n",{"type":426,"tag":553,"props":154020,"children":154021},{"class":555,"line":646},[154022],{"type":426,"tag":553,"props":154023,"children":154024},{"style":572},[154025],{"type":431,"value":154026},"    \"to\": \"8801234567890\",\n",{"type":426,"tag":553,"props":154028,"children":154029},{"class":555,"line":655},[154030],{"type":426,"tag":553,"props":154031,"children":154032},{"style":572},[154033],{"type":431,"value":154034},"    \"type\": \"template\",\n",{"type":426,"tag":553,"props":154036,"children":154037},{"class":555,"line":1036},[154038],{"type":426,"tag":553,"props":154039,"children":154040},{"style":572},[154041],{"type":431,"value":154042},"    \"template\": {\n",{"type":426,"tag":553,"props":154044,"children":154045},{"class":555,"line":1054},[154046],{"type":426,"tag":553,"props":154047,"children":154048},{"style":572},[154049],{"type":431,"value":154050},"      \"name\": \"order_confirmation\",\n",{"type":426,"tag":553,"props":154052,"children":154053},{"class":555,"line":1080},[154054],{"type":426,"tag":553,"props":154055,"children":154056},{"style":572},[154057],{"type":431,"value":154058},"      \"language\": {\"code\": \"en_US\"},\n",{"type":426,"tag":553,"props":154060,"children":154061},{"class":555,"line":1097},[154062],{"type":426,"tag":553,"props":154063,"children":154064},{"style":572},[154065],{"type":431,"value":154066},"      \"components\": [...]\n",{"type":426,"tag":553,"props":154068,"children":154069},{"class":555,"line":1114},[154070],{"type":426,"tag":553,"props":154071,"children":154072},{"style":572},[154073],{"type":431,"value":5546},{"type":426,"tag":553,"props":154075,"children":154076},{"class":555,"line":1127},[154077],{"type":426,"tag":553,"props":154078,"children":154079},{"style":572},[154080],{"type":431,"value":661},{"type":426,"tag":427,"props":154082,"children":154083},{},[154084],{"type":426,"tag":446,"props":154085,"children":154086},{},[154087],{"type":431,"value":154088},"Rapiwa send (no template needed):",{"type":426,"tag":542,"props":154090,"children":154092},{"className":546,"code":154091,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hi! Your order is confirmed.\"}'\n",[154093],{"type":426,"tag":549,"props":154094,"children":154095},{"__ignoreMap":417},[154096,154119,154134,154149],{"type":426,"tag":553,"props":154097,"children":154098},{"class":555,"line":556},[154099,154103,154107,154111,154115],{"type":426,"tag":553,"props":154100,"children":154101},{"style":560},[154102],{"type":431,"value":563},{"type":426,"tag":553,"props":154104,"children":154105},{"style":566},[154106],{"type":431,"value":569},{"type":426,"tag":553,"props":154108,"children":154109},{"style":572},[154110],{"type":431,"value":575},{"type":426,"tag":553,"props":154112,"children":154113},{"style":572},[154114],{"type":431,"value":580},{"type":426,"tag":553,"props":154116,"children":154117},{"style":566},[154118],{"type":431,"value":585},{"type":426,"tag":553,"props":154120,"children":154121},{"class":555,"line":588},[154122,154126,154130],{"type":426,"tag":553,"props":154123,"children":154124},{"style":566},[154125],{"type":431,"value":594},{"type":426,"tag":553,"props":154127,"children":154128},{"style":572},[154129],{"type":431,"value":599},{"type":426,"tag":553,"props":154131,"children":154132},{"style":566},[154133],{"type":431,"value":585},{"type":426,"tag":553,"props":154135,"children":154136},{"class":555,"line":606},[154137,154141,154145],{"type":426,"tag":553,"props":154138,"children":154139},{"style":566},[154140],{"type":431,"value":594},{"type":426,"tag":553,"props":154142,"children":154143},{"style":572},[154144],{"type":431,"value":616},{"type":426,"tag":553,"props":154146,"children":154147},{"style":566},[154148],{"type":431,"value":585},{"type":426,"tag":553,"props":154150,"children":154151},{"class":555,"line":623},[154152,154156],{"type":426,"tag":553,"props":154153,"children":154154},{"style":566},[154155],{"type":431,"value":629},{"type":426,"tag":553,"props":154157,"children":154158},{"style":572},[154159],{"type":431,"value":154160}," '{\"number\": \"8801234567890\", \"message\": \"Hi! Your order is confirmed.\"}'\n",{"type":426,"tag":434,"props":154162,"children":154164},{"id":154163},"when-360dialog-is-the-right-choice",[154165],{"type":431,"value":154166},"When 360dialog Is the Right Choice",{"type":426,"tag":427,"props":154168,"children":154169},{},[154170],{"type":431,"value":154171},"Choose 360dialog when:",{"type":426,"tag":454,"props":154173,"children":154174},{},[154175,154180,154185,154190],{"type":426,"tag":458,"props":154176,"children":154177},{},[154178],{"type":431,"value":154179},"Your business requires Meta's green verification badge",{"type":426,"tag":458,"props":154181,"children":154182},{},[154183],{"type":431,"value":154184},"You are in a regulated industry requiring official API compliance",{"type":426,"tag":458,"props":154186,"children":154187},{},[154188],{"type":431,"value":154189},"You need Meta's enterprise support and SLA",{"type":426,"tag":458,"props":154191,"children":154192},{},[154193],{"type":431,"value":154194},"Your existing tech stack is built around Meta's API structure (familiar from Instagram\u002FFacebook Business)",{"type":426,"tag":434,"props":154196,"children":154197},{"id":4109},[154198],{"type":431,"value":4112},{"type":426,"tag":427,"props":154200,"children":154201},{},[154202,154207],{"type":426,"tag":446,"props":154203,"children":154204},{},[154205],{"type":431,"value":154206},"Is 360dialog free?",{"type":431,"value":154208},"\n360dialog has a $5\u002Fmonth platform fee plus Meta's per-conversation charges. At any meaningful message volume, the total is significantly more than the platform fee.",{"type":426,"tag":427,"props":154210,"children":154211},{},[154212,154217],{"type":426,"tag":446,"props":154213,"children":154214},{},[154215],{"type":431,"value":154216},"Is Rapiwa cheaper than 360dialog?",{"type":431,"value":154218},"\nFor any volume beyond a few conversations per month, Rapiwa is dramatically cheaper — $5\u002Fmonth flat vs 360dialog's platform fee + per-conversation Meta fees.",{"type":426,"tag":427,"props":154220,"children":154221},{},[154222,154227],{"type":426,"tag":446,"props":154223,"children":154224},{},[154225],{"type":431,"value":154226},"Does 360dialog have a WooCommerce integration?",{"type":431,"value":154228},"\n360dialog does not have a dedicated WooCommerce plugin. Rapiwa has both a plugin and 6 WooCommerce n8n templates.",{"type":426,"tag":427,"props":154230,"children":154231},{},[154232,154237],{"type":426,"tag":446,"props":154233,"children":154234},{},[154235],{"type":431,"value":154236},"Can I switch from 360dialog to Rapiwa?",{"type":431,"value":154238},"\nYes. The API structure is different (Meta API vs REST), so migration requires rewriting the integration, but all business logic remains the same. Update your API calls to Rapiwa's simpler endpoint structure.",{"type":426,"tag":4164,"props":154240,"children":154241},{},[154242],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":154244},[154245,154246,154247,154248,154253,154254],{"id":153462,"depth":588,"text":153465},{"id":153656,"depth":588,"text":153659},{"id":153708,"depth":588,"text":153711},{"id":153789,"depth":588,"text":153792,"children":154249},[154250,154251,154252],{"id":153795,"depth":606,"text":153798},{"id":153881,"depth":606,"text":153884},{"id":153892,"depth":606,"text":153895},{"id":154163,"depth":588,"text":154166},{"id":4109,"depth":588,"text":4112},"content:blog:rapiwa-vs-360dialog-which-is-better-for-developers.md","blog\u002Frapiwa-vs-360dialog-which-is-better-for-developers.md","blog\u002Frapiwa-vs-360dialog-which-is-better-for-developers",{"loc":234},{"_path":238,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":239,"description":240,"date":154260,"author":54670,"category":212,"_slug":154261,"image":154262,"body":154263,"_type":4187,"_id":155765,"_source":4189,"_file":155766,"_stem":155767,"_extension":4192,"sitemap":155768},"2026-01-18","best-whatsapp-api-for-n8n-automation-2026","\u002Fimages\u002Fblog\u002Fbest-whatsapp-api-for-n8n-automation-2026.svg",{"type":423,"children":154264,"toc":155753},[154265,154277,154283,154288,154331,154336,154342,154354,154656,154666,154672,154678,154748,154754,154765,154956,154969,154975,155079,155085,155090,155539,155545,155690,155695,155699,155709,155719,155729,155739,155749],{"type":426,"tag":427,"props":154266,"children":154267},{},[154268,154270,154275],{"type":431,"value":154269},"The best WhatsApp API for n8n automation is ",{"type":426,"tag":3819,"props":154271,"children":154273},{"href":3821,"rel":154272},[3823],[154274],{"type":431,"value":127310},{"type":431,"value":154276}," — it has 10 official n8n workflow templates published on the n8n marketplace with over 3,000 combined installs. No other WhatsApp API has more pre-built n8n templates. At $5\u002Fmonth with no per-message fees, Rapiwa is also the most affordable option for n8n users.",{"type":426,"tag":434,"props":154278,"children":154280},{"id":154279},"why-n8n-whatsapp-api-is-a-powerful-combination",[154281],{"type":431,"value":154282},"Why n8n + WhatsApp API Is a Powerful Combination",{"type":426,"tag":427,"props":154284,"children":154285},{},[154286],{"type":431,"value":154287},"n8n is an open-source workflow automation tool. It connects APIs, databases, CRMs, and communication tools without code. When you add Rapiwa's WhatsApp API to n8n:",{"type":426,"tag":454,"props":154289,"children":154290},{},[154291,154301,154311,154321],{"type":426,"tag":458,"props":154292,"children":154293},{},[154294,154299],{"type":426,"tag":446,"props":154295,"children":154296},{},[154297],{"type":431,"value":154298},"No coding required",{"type":431,"value":154300}," — configure workflows visually",{"type":426,"tag":458,"props":154302,"children":154303},{},[154304,154309],{"type":426,"tag":446,"props":154305,"children":154306},{},[154307],{"type":431,"value":154308},"Any trigger possible",{"type":431,"value":154310}," — WooCommerce order, Google Calendar event, new CRM lead, database row update",{"type":426,"tag":458,"props":154312,"children":154313},{},[154314,154319],{"type":426,"tag":446,"props":154315,"children":154316},{},[154317],{"type":431,"value":154318},"Any data transformation",{"type":431,"value":154320}," — map fields, format messages, add conditions",{"type":426,"tag":458,"props":154322,"children":154323},{},[154324,154329],{"type":426,"tag":446,"props":154325,"children":154326},{},[154327],{"type":431,"value":154328},"WhatsApp delivery",{"type":431,"value":154330}," — send the message via Rapiwa's HTTP node",{"type":426,"tag":427,"props":154332,"children":154333},{},[154334],{"type":431,"value":154335},"The combination means any developer can build production-ready WhatsApp automation in minutes.",{"type":426,"tag":434,"props":154337,"children":154339},{"id":154338},"rapiwas-10-official-n8n-templates",[154340],{"type":431,"value":154341},"Rapiwa's 10 Official n8n Templates",{"type":426,"tag":427,"props":154343,"children":154344},{},[154345,154347,154352],{"type":431,"value":154346},"All templates are available at ",{"type":426,"tag":3819,"props":154348,"children":154350},{"href":145202,"rel":154349},[3823],[154351],{"type":431,"value":145206},{"type":431,"value":154353}," — import with one click.",{"type":426,"tag":10600,"props":154355,"children":154356},{},[154357,154381],{"type":426,"tag":10604,"props":154358,"children":154359},{},[154360],{"type":426,"tag":10608,"props":154361,"children":154362},{},[154363,154368,154372,154376],{"type":426,"tag":10612,"props":154364,"children":154365},{},[154366],{"type":431,"value":154367},"#",{"type":426,"tag":10612,"props":154369,"children":154370},{},[154371],{"type":431,"value":18774},{"type":426,"tag":10612,"props":154373,"children":154374},{},[154375],{"type":431,"value":151568},{"type":426,"tag":10612,"props":154377,"children":154378},{},[154379],{"type":431,"value":154380},"Category",{"type":426,"tag":10623,"props":154382,"children":154383},{},[154384,154411,154439,154467,154494,154521,154548,154575,154602,154629],{"type":426,"tag":10608,"props":154385,"children":154386},{},[154387,154391,154400,154407],{"type":426,"tag":10630,"props":154388,"children":154389},{},[154390],{"type":431,"value":1921},{"type":426,"tag":10630,"props":154392,"children":154393},{},[154394],{"type":426,"tag":3819,"props":154395,"children":154397},{"href":18796,"rel":154396},[3823],[154398],{"type":431,"value":154399},"Auto-send WooCommerce invoices via WhatsApp",{"type":426,"tag":10630,"props":154401,"children":154402},{},[154403],{"type":426,"tag":446,"props":154404,"children":154405},{},[154406],{"type":431,"value":18810},{"type":426,"tag":10630,"props":154408,"children":154409},{},[154410],{"type":431,"value":101954},{"type":426,"tag":10608,"props":154412,"children":154413},{},[154414,154418,154427,154434],{"type":426,"tag":10630,"props":154415,"children":154416},{},[154417],{"type":431,"value":6533},{"type":426,"tag":10630,"props":154419,"children":154420},{},[154421],{"type":426,"tag":3819,"props":154422,"children":154424},{"href":18841,"rel":154423},[3823],[154425],{"type":431,"value":154426},"Google Calendar events with Gemini AI via WhatsApp",{"type":426,"tag":10630,"props":154428,"children":154429},{},[154430],{"type":426,"tag":446,"props":154431,"children":154432},{},[154433],{"type":431,"value":18855},{"type":426,"tag":10630,"props":154435,"children":154436},{},[154437],{"type":431,"value":154438},"Calendar\u002FAI",{"type":426,"tag":10608,"props":154440,"children":154441},{},[154442,154446,154455,154462],{"type":426,"tag":10630,"props":154443,"children":154444},{},[154445],{"type":431,"value":1912},{"type":426,"tag":10630,"props":154447,"children":154448},{},[154449],{"type":426,"tag":3819,"props":154450,"children":154452},{"href":18864,"rel":154451},[3823],[154453],{"type":431,"value":154454},"WhatsApp support bot with GPT-4 Mini & Sheets",{"type":426,"tag":10630,"props":154456,"children":154457},{},[154458],{"type":426,"tag":446,"props":154459,"children":154460},{},[154461],{"type":431,"value":18878},{"type":426,"tag":10630,"props":154463,"children":154464},{},[154465],{"type":431,"value":154466},"AI Chatbot",{"type":426,"tag":10608,"props":154468,"children":154469},{},[154470,154474,154483,154490],{"type":426,"tag":10630,"props":154471,"children":154472},{},[154473],{"type":431,"value":105304},{"type":426,"tag":10630,"props":154475,"children":154476},{},[154477],{"type":426,"tag":3819,"props":154478,"children":154480},{"href":133367,"rel":154479},[3823],[154481],{"type":431,"value":154482},"WooCommerce cross-sell offers via WhatsApp",{"type":426,"tag":10630,"props":154484,"children":154485},{},[154486],{"type":426,"tag":446,"props":154487,"children":154488},{},[154489],{"type":431,"value":133381},{"type":426,"tag":10630,"props":154491,"children":154492},{},[154493],{"type":431,"value":101954},{"type":426,"tag":10608,"props":154495,"children":154496},{},[154497,154501,154510,154517],{"type":426,"tag":10630,"props":154498,"children":154499},{},[154500],{"type":431,"value":9306},{"type":426,"tag":10630,"props":154502,"children":154503},{},[154504],{"type":426,"tag":3819,"props":154505,"children":154507},{"href":133344,"rel":154506},[3823],[154508],{"type":431,"value":154509},"WooCommerce review requests via WhatsApp",{"type":426,"tag":10630,"props":154511,"children":154512},{},[154513],{"type":426,"tag":446,"props":154514,"children":154515},{},[154516],{"type":431,"value":133358},{"type":426,"tag":10630,"props":154518,"children":154519},{},[154520],{"type":431,"value":101954},{"type":426,"tag":10608,"props":154522,"children":154523},{},[154524,154528,154537,154544],{"type":426,"tag":10630,"props":154525,"children":154526},{},[154527],{"type":431,"value":121040},{"type":426,"tag":10630,"props":154529,"children":154530},{},[154531],{"type":426,"tag":3819,"props":154532,"children":154534},{"href":18819,"rel":154533},[3823],[154535],{"type":431,"value":154536},"WooCommerce order updates via WhatsApp",{"type":426,"tag":10630,"props":154538,"children":154539},{},[154540],{"type":426,"tag":446,"props":154541,"children":154542},{},[154543],{"type":431,"value":18832},{"type":426,"tag":10630,"props":154545,"children":154546},{},[154547],{"type":431,"value":101954},{"type":426,"tag":10608,"props":154549,"children":154550},{},[154551,154555,154564,154571],{"type":426,"tag":10630,"props":154552,"children":154553},{},[154554],{"type":431,"value":1902},{"type":426,"tag":10630,"props":154556,"children":154557},{},[154558],{"type":426,"tag":3819,"props":154559,"children":154561},{"href":133390,"rel":154560},[3823],[154562],{"type":431,"value":154563},"WooCommerce discount coupons via WhatsApp",{"type":426,"tag":10630,"props":154565,"children":154566},{},[154567],{"type":426,"tag":446,"props":154568,"children":154569},{},[154570],{"type":431,"value":133404},{"type":426,"tag":10630,"props":154572,"children":154573},{},[154574],{"type":431,"value":101954},{"type":426,"tag":10608,"props":154576,"children":154577},{},[154578,154582,154591,154598],{"type":426,"tag":10630,"props":154579,"children":154580},{},[154581],{"type":431,"value":51208},{"type":426,"tag":10630,"props":154583,"children":154584},{},[154585],{"type":426,"tag":3819,"props":154586,"children":154588},{"href":151730,"rel":154587},[3823],[154589],{"type":431,"value":154590},"Shopify cancelled order apology & reorder link",{"type":426,"tag":10630,"props":154592,"children":154593},{},[154594],{"type":426,"tag":446,"props":154595,"children":154596},{},[154597],{"type":431,"value":151739},{"type":426,"tag":10630,"props":154599,"children":154600},{},[154601],{"type":431,"value":77375},{"type":426,"tag":10608,"props":154603,"children":154604},{},[154605,154609,154618,154625],{"type":426,"tag":10630,"props":154606,"children":154607},{},[154608],{"type":431,"value":115813},{"type":426,"tag":10630,"props":154610,"children":154611},{},[154612],{"type":426,"tag":3819,"props":154613,"children":154615},{"href":151753,"rel":154614},[3823],[154616],{"type":431,"value":154617},"Shopify discount codes to customers via WhatsApp",{"type":426,"tag":10630,"props":154619,"children":154620},{},[154621],{"type":426,"tag":446,"props":154622,"children":154623},{},[154624],{"type":431,"value":151762},{"type":426,"tag":10630,"props":154626,"children":154627},{},[154628],{"type":431,"value":77375},{"type":426,"tag":10608,"props":154630,"children":154631},{},[154632,154636,154645,154652],{"type":426,"tag":10630,"props":154633,"children":154634},{},[154635],{"type":431,"value":11479},{"type":426,"tag":10630,"props":154637,"children":154638},{},[154639],{"type":426,"tag":3819,"props":154640,"children":154642},{"href":151776,"rel":154641},[3823],[154643],{"type":431,"value":154644},"Shopify cancellation upsell messages via WhatsApp",{"type":426,"tag":10630,"props":154646,"children":154647},{},[154648],{"type":426,"tag":446,"props":154649,"children":154650},{},[154651],{"type":431,"value":151785},{"type":426,"tag":10630,"props":154653,"children":154654},{},[154655],{"type":431,"value":77375},{"type":426,"tag":427,"props":154657,"children":154658},{},[154659,154664],{"type":426,"tag":446,"props":154660,"children":154661},{},[154662],{"type":431,"value":154663},"Total installs: 3,581",{"type":431,"value":154665}," — the largest pre-built WhatsApp API template library on n8n.",{"type":426,"tag":434,"props":154667,"children":154669},{"id":154668},"setting-up-rapiwa-in-n8n",[154670],{"type":431,"value":154671},"Setting Up Rapiwa in n8n",{"type":426,"tag":515,"props":154673,"children":154675},{"id":154674},"method-1-import-a-pre-built-template-easiest",[154676],{"type":431,"value":154677},"Method 1: Import a Pre-Built Template (Easiest)",{"type":426,"tag":6331,"props":154679,"children":154680},{},[154681,154690,154699,154710,154728,154744],{"type":426,"tag":458,"props":154682,"children":154683},{},[154684,154685],{"type":431,"value":47846},{"type":426,"tag":3819,"props":154686,"children":154688},{"href":145202,"rel":154687},[3823],[154689],{"type":431,"value":145206},{"type":426,"tag":458,"props":154691,"children":154692},{},[154693,154695],{"type":431,"value":154694},"Choose any template and click ",{"type":426,"tag":446,"props":154696,"children":154697},{},[154698],{"type":431,"value":47862},{"type":426,"tag":458,"props":154700,"children":154701},{},[154702,154704,154708],{"type":431,"value":154703},"In n8n, open the ",{"type":426,"tag":446,"props":154705,"children":154706},{},[154707],{"type":431,"value":44949},{"type":431,"value":154709}," node labeled \"Send WhatsApp via Rapiwa\"",{"type":426,"tag":458,"props":154711,"children":154712},{},[154713,154714,154718,154719],{"type":431,"value":152143},{"type":426,"tag":446,"props":154715,"children":154716},{},[154717],{"type":431,"value":152148},{"type":431,"value":1907},{"type":426,"tag":446,"props":154720,"children":154721},{},[154722,154723],{"type":431,"value":62466},{"type":426,"tag":3819,"props":154724,"children":154726},{"href":48098,"rel":154725},[3823],[154727],{"type":431,"value":48098},{"type":426,"tag":458,"props":154729,"children":154730},{},[154731,154733,154738,154739],{"type":431,"value":154732},"Add Header Auth: ",{"type":426,"tag":446,"props":154734,"children":154735},{},[154736],{"type":431,"value":154737},"Name: Authorization",{"type":431,"value":1907},{"type":426,"tag":446,"props":154740,"children":154741},{},[154742],{"type":431,"value":154743},"Value: Bearer YOUR_API_KEY",{"type":426,"tag":458,"props":154745,"children":154746},{},[154747],{"type":431,"value":146518},{"type":426,"tag":515,"props":154749,"children":154751},{"id":154750},"method-2-add-to-any-custom-n8n-workflow",[154752],{"type":431,"value":154753},"Method 2: Add to Any Custom n8n Workflow",{"type":426,"tag":427,"props":154755,"children":154756},{},[154757,154759,154763],{"type":431,"value":154758},"Use an ",{"type":426,"tag":446,"props":154760,"children":154761},{},[154762],{"type":431,"value":44949},{"type":431,"value":154764}," node in any existing workflow:",{"type":426,"tag":542,"props":154766,"children":154768},{"className":674,"code":154767,"language":673,"meta":417,"style":417},"{\n  \"method\": \"POST\",\n  \"url\": \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n  \"authentication\": \"headerAuth\",\n  \"headerAuthName\": \"Authorization\",\n  \"headerAuthValue\": \"Bearer YOUR_API_KEY\",\n  \"bodyContentType\": \"json\",\n  \"body\": {\n    \"number\": \"={{ $json.customer_phone }}\",\n    \"message\": \"={{ $json.message_text }}\"\n  }\n}\n",[154769],{"type":426,"tag":549,"props":154770,"children":154771},{"__ignoreMap":417},[154772,154779,154798,154817,154837,154857,154877,154897,154908,154927,154942,154949],{"type":426,"tag":553,"props":154773,"children":154774},{"class":555,"line":556},[154775],{"type":426,"tag":553,"props":154776,"children":154777},{"style":684},[154778],{"type":431,"value":687},{"type":426,"tag":553,"props":154780,"children":154781},{"class":555,"line":588},[154782,154786,154790,154794],{"type":426,"tag":553,"props":154783,"children":154784},{"style":566},[154785],{"type":431,"value":60419},{"type":426,"tag":553,"props":154787,"children":154788},{"style":684},[154789],{"type":431,"value":700},{"type":426,"tag":553,"props":154791,"children":154792},{"style":572},[154793],{"type":431,"value":60428},{"type":426,"tag":553,"props":154795,"children":154796},{"style":684},[154797],{"type":431,"value":710},{"type":426,"tag":553,"props":154799,"children":154800},{"class":555,"line":606},[154801,154805,154809,154813],{"type":426,"tag":553,"props":154802,"children":154803},{"style":566},[154804],{"type":431,"value":60440},{"type":426,"tag":553,"props":154806,"children":154807},{"style":684},[154808],{"type":431,"value":700},{"type":426,"tag":553,"props":154810,"children":154811},{"style":572},[154812],{"type":431,"value":60449},{"type":426,"tag":553,"props":154814,"children":154815},{"style":684},[154816],{"type":431,"value":710},{"type":426,"tag":553,"props":154818,"children":154819},{"class":555,"line":623},[154820,154825,154829,154833],{"type":426,"tag":553,"props":154821,"children":154822},{"style":566},[154823],{"type":431,"value":154824},"  \"authentication\"",{"type":426,"tag":553,"props":154826,"children":154827},{"style":684},[154828],{"type":431,"value":700},{"type":426,"tag":553,"props":154830,"children":154831},{"style":572},[154832],{"type":431,"value":146317},{"type":426,"tag":553,"props":154834,"children":154835},{"style":684},[154836],{"type":431,"value":710},{"type":426,"tag":553,"props":154838,"children":154839},{"class":555,"line":637},[154840,154845,154849,154853],{"type":426,"tag":553,"props":154841,"children":154842},{"style":566},[154843],{"type":431,"value":154844},"  \"headerAuthName\"",{"type":426,"tag":553,"props":154846,"children":154847},{"style":684},[154848],{"type":431,"value":700},{"type":426,"tag":553,"props":154850,"children":154851},{"style":572},[154852],{"type":431,"value":45214},{"type":426,"tag":553,"props":154854,"children":154855},{"style":684},[154856],{"type":431,"value":710},{"type":426,"tag":553,"props":154858,"children":154859},{"class":555,"line":646},[154860,154865,154869,154873],{"type":426,"tag":553,"props":154861,"children":154862},{"style":566},[154863],{"type":431,"value":154864},"  \"headerAuthValue\"",{"type":426,"tag":553,"props":154866,"children":154867},{"style":684},[154868],{"type":431,"value":700},{"type":426,"tag":553,"props":154870,"children":154871},{"style":572},[154872],{"type":431,"value":140737},{"type":426,"tag":553,"props":154874,"children":154875},{"style":684},[154876],{"type":431,"value":710},{"type":426,"tag":553,"props":154878,"children":154879},{"class":555,"line":655},[154880,154885,154889,154893],{"type":426,"tag":553,"props":154881,"children":154882},{"style":566},[154883],{"type":431,"value":154884},"  \"bodyContentType\"",{"type":426,"tag":553,"props":154886,"children":154887},{"style":684},[154888],{"type":431,"value":700},{"type":426,"tag":553,"props":154890,"children":154891},{"style":572},[154892],{"type":431,"value":146378},{"type":426,"tag":553,"props":154894,"children":154895},{"style":684},[154896],{"type":431,"value":710},{"type":426,"tag":553,"props":154898,"children":154899},{"class":555,"line":1036},[154900,154904],{"type":426,"tag":553,"props":154901,"children":154902},{"style":566},[154903],{"type":431,"value":60497},{"type":426,"tag":553,"props":154905,"children":154906},{"style":684},[154907],{"type":431,"value":17102},{"type":426,"tag":553,"props":154909,"children":154910},{"class":555,"line":1054},[154911,154915,154919,154923],{"type":426,"tag":553,"props":154912,"children":154913},{"style":566},[154914],{"type":431,"value":60509},{"type":426,"tag":553,"props":154916,"children":154917},{"style":684},[154918],{"type":431,"value":700},{"type":426,"tag":553,"props":154920,"children":154921},{"style":572},[154922],{"type":431,"value":48152},{"type":426,"tag":553,"props":154924,"children":154925},{"style":684},[154926],{"type":431,"value":710},{"type":426,"tag":553,"props":154928,"children":154929},{"class":555,"line":1080},[154930,154934,154938],{"type":426,"tag":553,"props":154931,"children":154932},{"style":566},[154933],{"type":431,"value":60530},{"type":426,"tag":553,"props":154935,"children":154936},{"style":684},[154937],{"type":431,"value":700},{"type":426,"tag":553,"props":154939,"children":154940},{"style":572},[154941],{"type":431,"value":145514},{"type":426,"tag":553,"props":154943,"children":154944},{"class":555,"line":1097},[154945],{"type":426,"tag":553,"props":154946,"children":154947},{"style":684},[154948],{"type":431,"value":60547},{"type":426,"tag":553,"props":154950,"children":154951},{"class":555,"line":1114},[154952],{"type":426,"tag":553,"props":154953,"children":154954},{"style":684},[154955],{"type":431,"value":756},{"type":426,"tag":427,"props":154957,"children":154958},{},[154959,154961,154967],{"type":431,"value":154960},"You can reference any upstream node's data using n8n's ",{"type":426,"tag":549,"props":154962,"children":154964},{"className":154963},[],[154965],{"type":431,"value":154966},"{{ $json.field }}",{"type":431,"value":154968}," expression syntax.",{"type":426,"tag":515,"props":154970,"children":154972},{"id":154971},"n8n-expression-examples",[154973],{"type":431,"value":154974},"n8n Expression Examples",{"type":426,"tag":10600,"props":154976,"children":154977},{},[154978,154994],{"type":426,"tag":10604,"props":154979,"children":154980},{},[154981],{"type":426,"tag":10608,"props":154982,"children":154983},{},[154984,154989],{"type":426,"tag":10612,"props":154985,"children":154986},{},[154987],{"type":431,"value":154988},"Dynamic message element",{"type":426,"tag":10612,"props":154990,"children":154991},{},[154992],{"type":431,"value":154993},"n8n expression",{"type":426,"tag":10623,"props":154995,"children":154996},{},[154997,155013,155030,155045,155062],{"type":426,"tag":10608,"props":154998,"children":154999},{},[155000,155004],{"type":426,"tag":10630,"props":155001,"children":155002},{},[155003],{"type":431,"value":145605},{"type":426,"tag":10630,"props":155005,"children":155006},{},[155007],{"type":426,"tag":549,"props":155008,"children":155010},{"className":155009},[],[155011],{"type":431,"value":155012},"{{ $json.customer_name }}",{"type":426,"tag":10608,"props":155014,"children":155015},{},[155016,155021],{"type":426,"tag":10630,"props":155017,"children":155018},{},[155019],{"type":431,"value":155020},"Order number",{"type":426,"tag":10630,"props":155022,"children":155023},{},[155024],{"type":426,"tag":549,"props":155025,"children":155027},{"className":155026},[],[155028],{"type":431,"value":155029},"{{ $json.order_id }}",{"type":426,"tag":10608,"props":155031,"children":155032},{},[155033,155037],{"type":426,"tag":10630,"props":155034,"children":155035},{},[155036],{"type":431,"value":145638},{"type":426,"tag":10630,"props":155038,"children":155039},{},[155040],{"type":426,"tag":549,"props":155041,"children":155043},{"className":155042},[],[155044],{"type":431,"value":145647},{"type":426,"tag":10608,"props":155046,"children":155047},{},[155048,155053],{"type":426,"tag":10630,"props":155049,"children":155050},{},[155051],{"type":431,"value":155052},"Invoice URL",{"type":426,"tag":10630,"props":155054,"children":155055},{},[155056],{"type":426,"tag":549,"props":155057,"children":155059},{"className":155058},[],[155060],{"type":431,"value":155061},"{{ $json.invoice_url }}",{"type":426,"tag":10608,"props":155063,"children":155064},{},[155065,155070],{"type":426,"tag":10630,"props":155066,"children":155067},{},[155068],{"type":431,"value":155069},"Current date",{"type":426,"tag":10630,"props":155071,"children":155072},{},[155073],{"type":426,"tag":549,"props":155074,"children":155076},{"className":155075},[],[155077],{"type":431,"value":155078},"{{ $now.format('MMMM D, YYYY') }}",{"type":426,"tag":434,"props":155080,"children":155082},{"id":155081},"n8n-whatsapp-workflow-complete-example",[155083],{"type":431,"value":155084},"n8n WhatsApp Workflow: Complete Example",{"type":426,"tag":427,"props":155086,"children":155087},{},[155088],{"type":431,"value":155089},"Here is the JSON configuration for a complete WooCommerce order notification workflow using Rapiwa in n8n:",{"type":426,"tag":542,"props":155091,"children":155093},{"className":674,"code":155092,"language":673,"meta":417,"style":417},"{\n  \"nodes\": [\n    {\n      \"name\": \"WooCommerce Trigger\",\n      \"type\": \"n8n-nodes-base.wooCommerceTrigger\",\n      \"parameters\": {\n        \"event\": \"order.completed\"\n      }\n    },\n    {\n      \"name\": \"Send WhatsApp via Rapiwa\",\n      \"type\": \"n8n-nodes-base.httpRequest\",\n      \"parameters\": {\n        \"method\": \"POST\",\n        \"url\": \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        \"authentication\": \"headerAuth\",\n        \"headerAuthName\": \"Authorization\",\n        \"headerAuthValue\": \"Bearer YOUR_API_KEY\",\n        \"bodyContentType\": \"json\",\n        \"jsonBody\": \"={\\n  \\\"number\\\": \\\"{{ $json.billing.phone.replace(\u002F[^0-9]\u002Fg, '') }}\\\",\\n  \\\"message\\\": \\\"*Order Confirmed!*\\\\n\\\\nHi {{ $json.billing.first_name }}!\\\\nOrder #{{ $json.id }} — ${{ $json.total }}\\\\n\\\\nThank you for your order!\\\"\\n}\"\n      }\n    }\n  ]\n}\n",[155094],{"type":426,"tag":549,"props":155095,"children":155096},{"__ignoreMap":417},[155097,155104,155115,155122,155142,155162,155173,155190,155197,155204,155211,155230,155249,155260,155279,155298,155317,155336,155355,155374,155511,155518,155525,155532],{"type":426,"tag":553,"props":155098,"children":155099},{"class":555,"line":556},[155100],{"type":426,"tag":553,"props":155101,"children":155102},{"style":684},[155103],{"type":431,"value":687},{"type":426,"tag":553,"props":155105,"children":155106},{"class":555,"line":588},[155107,155111],{"type":426,"tag":553,"props":155108,"children":155109},{"style":566},[155110],{"type":431,"value":145759},{"type":426,"tag":553,"props":155112,"children":155113},{"style":684},[155114],{"type":431,"value":17136},{"type":426,"tag":553,"props":155116,"children":155117},{"class":555,"line":606},[155118],{"type":426,"tag":553,"props":155119,"children":155120},{"style":684},[155121],{"type":431,"value":73368},{"type":426,"tag":553,"props":155123,"children":155124},{"class":555,"line":623},[155125,155129,155133,155138],{"type":426,"tag":553,"props":155126,"children":155127},{"style":566},[155128],{"type":431,"value":145778},{"type":426,"tag":553,"props":155130,"children":155131},{"style":684},[155132],{"type":431,"value":700},{"type":426,"tag":553,"props":155134,"children":155135},{"style":572},[155136],{"type":431,"value":155137},"\"WooCommerce Trigger\"",{"type":426,"tag":553,"props":155139,"children":155140},{"style":684},[155141],{"type":431,"value":710},{"type":426,"tag":553,"props":155143,"children":155144},{"class":555,"line":637},[155145,155149,155153,155158],{"type":426,"tag":553,"props":155146,"children":155147},{"style":566},[155148],{"type":431,"value":145799},{"type":426,"tag":553,"props":155150,"children":155151},{"style":684},[155152],{"type":431,"value":700},{"type":426,"tag":553,"props":155154,"children":155155},{"style":572},[155156],{"type":431,"value":155157},"\"n8n-nodes-base.wooCommerceTrigger\"",{"type":426,"tag":553,"props":155159,"children":155160},{"style":684},[155161],{"type":431,"value":710},{"type":426,"tag":553,"props":155163,"children":155164},{"class":555,"line":646},[155165,155169],{"type":426,"tag":553,"props":155166,"children":155167},{"style":566},[155168],{"type":431,"value":145820},{"type":426,"tag":553,"props":155170,"children":155171},{"style":684},[155172],{"type":431,"value":17102},{"type":426,"tag":553,"props":155174,"children":155175},{"class":555,"line":655},[155176,155181,155185],{"type":426,"tag":553,"props":155177,"children":155178},{"style":566},[155179],{"type":431,"value":155180},"        \"event\"",{"type":426,"tag":553,"props":155182,"children":155183},{"style":684},[155184],{"type":431,"value":700},{"type":426,"tag":553,"props":155186,"children":155187},{"style":572},[155188],{"type":431,"value":155189},"\"order.completed\"\n",{"type":426,"tag":553,"props":155191,"children":155192},{"class":555,"line":1036},[155193],{"type":426,"tag":553,"props":155194,"children":155195},{"style":684},[155196],{"type":431,"value":96794},{"type":426,"tag":553,"props":155198,"children":155199},{"class":555,"line":1054},[155200],{"type":426,"tag":553,"props":155201,"children":155202},{"style":684},[155203],{"type":431,"value":17203},{"type":426,"tag":553,"props":155205,"children":155206},{"class":555,"line":1080},[155207],{"type":426,"tag":553,"props":155208,"children":155209},{"style":684},[155210],{"type":431,"value":73368},{"type":426,"tag":553,"props":155212,"children":155213},{"class":555,"line":1097},[155214,155218,155222,155226],{"type":426,"tag":553,"props":155215,"children":155216},{"style":566},[155217],{"type":431,"value":145778},{"type":426,"tag":553,"props":155219,"children":155220},{"style":684},[155221],{"type":431,"value":700},{"type":426,"tag":553,"props":155223,"children":155224},{"style":572},[155225],{"type":431,"value":146225},{"type":426,"tag":553,"props":155227,"children":155228},{"style":684},[155229],{"type":431,"value":710},{"type":426,"tag":553,"props":155231,"children":155232},{"class":555,"line":1114},[155233,155237,155241,155245],{"type":426,"tag":553,"props":155234,"children":155235},{"style":566},[155236],{"type":431,"value":145799},{"type":426,"tag":553,"props":155238,"children":155239},{"style":684},[155240],{"type":431,"value":700},{"type":426,"tag":553,"props":155242,"children":155243},{"style":572},[155244],{"type":431,"value":146245},{"type":426,"tag":553,"props":155246,"children":155247},{"style":684},[155248],{"type":431,"value":710},{"type":426,"tag":553,"props":155250,"children":155251},{"class":555,"line":1127},[155252,155256],{"type":426,"tag":553,"props":155253,"children":155254},{"style":566},[155255],{"type":431,"value":145820},{"type":426,"tag":553,"props":155257,"children":155258},{"style":684},[155259],{"type":431,"value":17102},{"type":426,"tag":553,"props":155261,"children":155262},{"class":555,"line":1167},[155263,155267,155271,155275],{"type":426,"tag":553,"props":155264,"children":155265},{"style":566},[155266],{"type":431,"value":146268},{"type":426,"tag":553,"props":155268,"children":155269},{"style":684},[155270],{"type":431,"value":700},{"type":426,"tag":553,"props":155272,"children":155273},{"style":572},[155274],{"type":431,"value":60428},{"type":426,"tag":553,"props":155276,"children":155277},{"style":684},[155278],{"type":431,"value":710},{"type":426,"tag":553,"props":155280,"children":155281},{"class":555,"line":1184},[155282,155286,155290,155294],{"type":426,"tag":553,"props":155283,"children":155284},{"style":566},[155285],{"type":431,"value":146288},{"type":426,"tag":553,"props":155287,"children":155288},{"style":684},[155289],{"type":431,"value":700},{"type":426,"tag":553,"props":155291,"children":155292},{"style":572},[155293],{"type":431,"value":60449},{"type":426,"tag":553,"props":155295,"children":155296},{"style":684},[155297],{"type":431,"value":710},{"type":426,"tag":553,"props":155299,"children":155300},{"class":555,"line":1192},[155301,155305,155309,155313],{"type":426,"tag":553,"props":155302,"children":155303},{"style":566},[155304],{"type":431,"value":146308},{"type":426,"tag":553,"props":155306,"children":155307},{"style":684},[155308],{"type":431,"value":700},{"type":426,"tag":553,"props":155310,"children":155311},{"style":572},[155312],{"type":431,"value":146317},{"type":426,"tag":553,"props":155314,"children":155315},{"style":684},[155316],{"type":431,"value":710},{"type":426,"tag":553,"props":155318,"children":155319},{"class":555,"line":1210},[155320,155324,155328,155332],{"type":426,"tag":553,"props":155321,"children":155322},{"style":566},[155323],{"type":431,"value":146329},{"type":426,"tag":553,"props":155325,"children":155326},{"style":684},[155327],{"type":431,"value":700},{"type":426,"tag":553,"props":155329,"children":155330},{"style":572},[155331],{"type":431,"value":45214},{"type":426,"tag":553,"props":155333,"children":155334},{"style":684},[155335],{"type":431,"value":710},{"type":426,"tag":553,"props":155337,"children":155338},{"class":555,"line":1253},[155339,155343,155347,155351],{"type":426,"tag":553,"props":155340,"children":155341},{"style":566},[155342],{"type":431,"value":146349},{"type":426,"tag":553,"props":155344,"children":155345},{"style":684},[155346],{"type":431,"value":700},{"type":426,"tag":553,"props":155348,"children":155349},{"style":572},[155350],{"type":431,"value":140737},{"type":426,"tag":553,"props":155352,"children":155353},{"style":684},[155354],{"type":431,"value":710},{"type":426,"tag":553,"props":155356,"children":155357},{"class":555,"line":1302},[155358,155362,155366,155370],{"type":426,"tag":553,"props":155359,"children":155360},{"style":566},[155361],{"type":431,"value":146369},{"type":426,"tag":553,"props":155363,"children":155364},{"style":684},[155365],{"type":431,"value":700},{"type":426,"tag":553,"props":155367,"children":155368},{"style":572},[155369],{"type":431,"value":146378},{"type":426,"tag":553,"props":155371,"children":155372},{"style":684},[155373],{"type":431,"value":710},{"type":426,"tag":553,"props":155375,"children":155376},{"class":555,"line":1374},[155377,155381,155385,155390,155394,155399,155403,155407,155411,155415,155420,155424,155428,155432,155436,155440,155444,155448,155452,155457,155461,155466,155470,155475,155479,155484,155488,155492,155496,155501,155506],{"type":426,"tag":553,"props":155378,"children":155379},{"style":566},[155380],{"type":431,"value":146390},{"type":426,"tag":553,"props":155382,"children":155383},{"style":684},[155384],{"type":431,"value":700},{"type":426,"tag":553,"props":155386,"children":155387},{"style":572},[155388],{"type":431,"value":155389},"\"={",{"type":426,"tag":553,"props":155391,"children":155392},{"style":566},[155393],{"type":431,"value":3661},{"type":426,"tag":553,"props":155395,"children":155396},{"style":566},[155397],{"type":431,"value":155398},"  \\\"",{"type":426,"tag":553,"props":155400,"children":155401},{"style":572},[155402],{"type":431,"value":39195},{"type":426,"tag":553,"props":155404,"children":155405},{"style":566},[155406],{"type":431,"value":39200},{"type":426,"tag":553,"props":155408,"children":155409},{"style":572},[155410],{"type":431,"value":700},{"type":426,"tag":553,"props":155412,"children":155413},{"style":566},[155414],{"type":431,"value":39200},{"type":426,"tag":553,"props":155416,"children":155417},{"style":572},[155418],{"type":431,"value":155419},"{{ $json.billing.phone.replace(\u002F[^0-9]\u002Fg, '') }}",{"type":426,"tag":553,"props":155421,"children":155422},{"style":566},[155423],{"type":431,"value":39200},{"type":426,"tag":553,"props":155425,"children":155426},{"style":572},[155427],{"type":431,"value":1290},{"type":426,"tag":553,"props":155429,"children":155430},{"style":566},[155431],{"type":431,"value":3661},{"type":426,"tag":553,"props":155433,"children":155434},{"style":566},[155435],{"type":431,"value":155398},{"type":426,"tag":553,"props":155437,"children":155438},{"style":572},[155439],{"type":431,"value":2734},{"type":426,"tag":553,"props":155441,"children":155442},{"style":566},[155443],{"type":431,"value":39200},{"type":426,"tag":553,"props":155445,"children":155446},{"style":572},[155447],{"type":431,"value":700},{"type":426,"tag":553,"props":155449,"children":155450},{"style":566},[155451],{"type":431,"value":39200},{"type":426,"tag":553,"props":155453,"children":155454},{"style":572},[155455],{"type":431,"value":155456},"*Order Confirmed!*",{"type":426,"tag":553,"props":155458,"children":155459},{"style":566},[155460],{"type":431,"value":67411},{"type":426,"tag":553,"props":155462,"children":155463},{"style":572},[155464],{"type":431,"value":155465},"n",{"type":426,"tag":553,"props":155467,"children":155468},{"style":566},[155469],{"type":431,"value":67411},{"type":426,"tag":553,"props":155471,"children":155472},{"style":572},[155473],{"type":431,"value":155474},"nHi {{ $json.billing.first_name }}!",{"type":426,"tag":553,"props":155476,"children":155477},{"style":566},[155478],{"type":431,"value":67411},{"type":426,"tag":553,"props":155480,"children":155481},{"style":572},[155482],{"type":431,"value":155483},"nOrder #{{ $json.id }} — ${{ $json.total }}",{"type":426,"tag":553,"props":155485,"children":155486},{"style":566},[155487],{"type":431,"value":67411},{"type":426,"tag":553,"props":155489,"children":155490},{"style":572},[155491],{"type":431,"value":155465},{"type":426,"tag":553,"props":155493,"children":155494},{"style":566},[155495],{"type":431,"value":67411},{"type":426,"tag":553,"props":155497,"children":155498},{"style":572},[155499],{"type":431,"value":155500},"nThank you for your order!",{"type":426,"tag":553,"props":155502,"children":155503},{"style":566},[155504],{"type":431,"value":155505},"\\\"\\n",{"type":426,"tag":553,"props":155507,"children":155508},{"style":572},[155509],{"type":431,"value":155510},"}\"\n",{"type":426,"tag":553,"props":155512,"children":155513},{"class":555,"line":1414},[155514],{"type":426,"tag":553,"props":155515,"children":155516},{"style":684},[155517],{"type":431,"value":96794},{"type":426,"tag":553,"props":155519,"children":155520},{"class":555,"line":1479},[155521],{"type":426,"tag":553,"props":155522,"children":155523},{"style":684},[155524],{"type":431,"value":5546},{"type":426,"tag":553,"props":155526,"children":155527},{"class":555,"line":1517},[155528],{"type":426,"tag":553,"props":155529,"children":155530},{"style":684},[155531],{"type":431,"value":146449},{"type":426,"tag":553,"props":155533,"children":155534},{"class":555,"line":1560},[155535],{"type":426,"tag":553,"props":155536,"children":155537},{"style":684},[155538],{"type":431,"value":756},{"type":426,"tag":434,"props":155540,"children":155542},{"id":155541},"whatsapp-apis-for-n8n-full-comparison",[155543],{"type":431,"value":155544},"WhatsApp APIs for n8n: Full Comparison",{"type":426,"tag":10600,"props":155546,"children":155547},{},[155548,155572],{"type":426,"tag":10604,"props":155549,"children":155550},{},[155551],{"type":426,"tag":10608,"props":155552,"children":155553},{},[155554,155558,155563,155568],{"type":426,"tag":10612,"props":155555,"children":155556},{},[155557],{"type":431,"value":147033},{"type":426,"tag":10612,"props":155559,"children":155560},{},[155561],{"type":431,"value":155562},"n8n Official Templates",{"type":426,"tag":10612,"props":155564,"children":155565},{},[155566],{"type":431,"value":155567},"n8n Total Installs",{"type":426,"tag":10612,"props":155569,"children":155570},{},[155571],{"type":431,"value":103028},{"type":426,"tag":10623,"props":155573,"children":155574},{},[155575,155607,155628,155649,155670],{"type":426,"tag":10608,"props":155576,"children":155577},{},[155578,155585,155592,155599],{"type":426,"tag":10630,"props":155579,"children":155580},{},[155581],{"type":426,"tag":446,"props":155582,"children":155583},{},[155584],{"type":431,"value":127310},{"type":426,"tag":10630,"props":155586,"children":155587},{},[155588],{"type":426,"tag":446,"props":155589,"children":155590},{},[155591],{"type":431,"value":11479},{"type":426,"tag":10630,"props":155593,"children":155594},{},[155595],{"type":426,"tag":446,"props":155596,"children":155597},{},[155598],{"type":431,"value":148522},{"type":426,"tag":10630,"props":155600,"children":155601},{},[155602],{"type":426,"tag":446,"props":155603,"children":155604},{},[155605],{"type":431,"value":155606},"$5\u002Fmo",{"type":426,"tag":10608,"props":155608,"children":155609},{},[155610,155614,155619,155623],{"type":426,"tag":10630,"props":155611,"children":155612},{},[155613],{"type":431,"value":147163},{"type":426,"tag":10630,"props":155615,"children":155616},{},[155617],{"type":431,"value":155618},"0 (node only)",{"type":426,"tag":10630,"props":155620,"children":155621},{},[155622],{"type":431,"value":148514},{"type":426,"tag":10630,"props":155624,"children":155625},{},[155626],{"type":431,"value":155627},"$6\u002Fmo",{"type":426,"tag":10608,"props":155629,"children":155630},{},[155631,155636,155640,155644],{"type":426,"tag":10630,"props":155632,"children":155633},{},[155634],{"type":431,"value":155635},"WAHA",{"type":426,"tag":10630,"props":155637,"children":155638},{},[155639],{"type":431,"value":1930},{"type":426,"tag":10630,"props":155641,"children":155642},{},[155643],{"type":431,"value":148514},{"type":426,"tag":10630,"props":155645,"children":155646},{},[155647],{"type":431,"value":155648},"$19+\u002Fmo",{"type":426,"tag":10608,"props":155650,"children":155651},{},[155652,155657,155661,155665],{"type":426,"tag":10630,"props":155653,"children":155654},{},[155655],{"type":431,"value":155656},"Evolution API",{"type":426,"tag":10630,"props":155658,"children":155659},{},[155660],{"type":431,"value":1930},{"type":426,"tag":10630,"props":155662,"children":155663},{},[155664],{"type":431,"value":148514},{"type":426,"tag":10630,"props":155666,"children":155667},{},[155668],{"type":431,"value":155669},"$40+\u002Fmo",{"type":426,"tag":10608,"props":155671,"children":155672},{},[155673,155677,155681,155685],{"type":426,"tag":10630,"props":155674,"children":155675},{},[155676],{"type":431,"value":147312},{"type":426,"tag":10630,"props":155678,"children":155679},{},[155680],{"type":431,"value":1930},{"type":426,"tag":10630,"props":155682,"children":155683},{},[155684],{"type":431,"value":148514},{"type":426,"tag":10630,"props":155686,"children":155687},{},[155688],{"type":431,"value":155689},"$150+\u002Fmo",{"type":426,"tag":427,"props":155691,"children":155692},{},[155693],{"type":431,"value":155694},"Rapiwa has more n8n templates than all other WhatsApp API providers combined.",{"type":426,"tag":434,"props":155696,"children":155697},{"id":4109},[155698],{"type":431,"value":4112},{"type":426,"tag":427,"props":155700,"children":155701},{},[155702,155707],{"type":426,"tag":446,"props":155703,"children":155704},{},[155705],{"type":431,"value":155706},"Which WhatsApp API has the most n8n templates?",{"type":431,"value":155708},"\nRapiwa has 10 official n8n templates — more than any other WhatsApp API provider on the n8n marketplace.",{"type":426,"tag":427,"props":155710,"children":155711},{},[155712,155717],{"type":426,"tag":446,"props":155713,"children":155714},{},[155715],{"type":431,"value":155716},"Can I use any WhatsApp API with n8n?",{"type":431,"value":155718},"\nYes. Any WhatsApp API with a REST endpoint can be connected to n8n via an HTTP Request node. However, Rapiwa has ready-made templates that eliminate manual configuration.",{"type":426,"tag":427,"props":155720,"children":155721},{},[155722,155727],{"type":426,"tag":446,"props":155723,"children":155724},{},[155725],{"type":431,"value":155726},"Do I need a paid n8n plan to use Rapiwa?",{"type":431,"value":155728},"\nNo. n8n has a free self-hosted version and a free Cloud tier (limited executions). Most Rapiwa n8n templates run on the free n8n tier for typical business volumes.",{"type":426,"tag":427,"props":155730,"children":155731},{},[155732,155737],{"type":426,"tag":446,"props":155733,"children":155734},{},[155735],{"type":431,"value":155736},"How do I update Rapiwa API key in n8n?",{"type":431,"value":155738},"\nOpen your n8n workflow, click the HTTP Request node, and update the Authorization header value with your new API key.",{"type":426,"tag":427,"props":155740,"children":155741},{},[155742,155747],{"type":426,"tag":446,"props":155743,"children":155744},{},[155745],{"type":431,"value":155746},"Can I receive WhatsApp messages in n8n using Rapiwa?",{"type":431,"value":155748},"\nYes. Create a Webhook node in n8n with a POST trigger, and configure Rapiwa's webhook settings to point to your n8n webhook URL. Incoming WhatsApp messages will trigger the workflow.",{"type":426,"tag":4164,"props":155750,"children":155751},{},[155752],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":155754},[155755,155756,155757,155762,155763,155764],{"id":154279,"depth":588,"text":154282},{"id":154338,"depth":588,"text":154341},{"id":154668,"depth":588,"text":154671,"children":155758},[155759,155760,155761],{"id":154674,"depth":606,"text":154677},{"id":154750,"depth":606,"text":154753},{"id":154971,"depth":606,"text":154974},{"id":155081,"depth":588,"text":155084},{"id":155541,"depth":588,"text":155544},{"id":4109,"depth":588,"text":4112},"content:blog:best-whatsapp-api-for-n8n-automation-2026.md","blog\u002Fbest-whatsapp-api-for-n8n-automation-2026.md","blog\u002Fbest-whatsapp-api-for-n8n-automation-2026",{"loc":238},{"_path":242,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":243,"description":244,"date":155770,"author":36566,"category":212,"_slug":155771,"image":155772,"body":155773,"_type":4187,"_id":157057,"_source":4189,"_file":157058,"_stem":157059,"_extension":4192,"sitemap":157060},"2026-01-17","best-whatsapp-api-for-woocommerce-2026","\u002Fimages\u002Fblog\u002Fbest-whatsapp-api-for-woocommerce-2026.svg",{"type":423,"children":155774,"toc":157046},[155775,155787,155793,155798,155837,155843,155855,155861,155894,155899,155905,155928,155934,155939,156104,156114,156120,156125,156806,156812,156970,156975,156979,156988,157004,157022,157032,157042],{"type":426,"tag":427,"props":155776,"children":155777},{},[155778,155780,155785],{"type":431,"value":155779},"The best WhatsApp API for WooCommerce in 2026 is ",{"type":426,"tag":3819,"props":155781,"children":155783},{"href":3821,"rel":155782},[3823],[155784],{"type":431,"value":127310},{"type":431,"value":155786}," — it is the only provider with a dedicated WooCommerce plugin and 6 ready-made n8n automation templates specifically for WooCommerce stores. At $5\u002Fmonth with no per-message fees, it is also the cheapest option. No other WhatsApp API provider offers all three: dedicated plugin, WooCommerce templates, and the lowest price.",{"type":426,"tag":434,"props":155788,"children":155790},{"id":155789},"why-woocommerce-stores-need-whatsapp-api",[155791],{"type":431,"value":155792},"Why WooCommerce Stores Need WhatsApp API",{"type":426,"tag":427,"props":155794,"children":155795},{},[155796],{"type":431,"value":155797},"WooCommerce stores that add WhatsApp notifications see measurable improvements:",{"type":426,"tag":454,"props":155799,"children":155800},{},[155801,155809,155818,155827],{"type":426,"tag":458,"props":155802,"children":155803},{},[155804,155808],{"type":426,"tag":446,"props":155805,"children":155806},{},[155807],{"type":431,"value":43174},{"type":431,"value":118771},{"type":426,"tag":458,"props":155810,"children":155811},{},[155812,155816],{"type":426,"tag":446,"props":155813,"children":155814},{},[155815],{"type":431,"value":38658},{"type":431,"value":155817}," on WhatsApp order confirmations vs 20% for email",{"type":426,"tag":458,"props":155819,"children":155820},{},[155821,155825],{"type":426,"tag":446,"props":155822,"children":155823},{},[155824],{"type":431,"value":131978},{"type":431,"value":155826}," from customers who receive WhatsApp invoices",{"type":426,"tag":458,"props":155828,"children":155829},{},[155830,155835],{"type":426,"tag":446,"props":155831,"children":155832},{},[155833],{"type":431,"value":155834},"35–45% cart recovery",{"type":431,"value":155836}," rate with WhatsApp abandoned cart messages vs 5–10% for email",{"type":426,"tag":434,"props":155838,"children":155840},{"id":155839},"rapiwa-the-only-whatsapp-api-with-a-woocommerce-plugin",[155841],{"type":431,"value":155842},"Rapiwa: The Only WhatsApp API with a WooCommerce Plugin",{"type":426,"tag":427,"props":155844,"children":155845},{},[155846,155848,155853],{"type":431,"value":155847},"Rapiwa's ",{"type":426,"tag":3819,"props":155849,"children":155851},{"href":131923,"rel":155850},[3823],[155852],{"type":431,"value":148534},{"type":431,"value":155854}," is available on GitHub and requires zero coding:",{"type":426,"tag":515,"props":155856,"children":155858},{"id":155857},"setup-zero-code-required",[155859],{"type":431,"value":155860},"Setup (Zero Code Required)",{"type":426,"tag":6331,"props":155862,"children":155863},{},[155864,155869,155879,155884,155889],{"type":426,"tag":458,"props":155865,"children":155866},{},[155867],{"type":431,"value":155868},"Download and install the plugin in WordPress",{"type":426,"tag":458,"props":155870,"children":155871},{},[155872,155874],{"type":431,"value":155873},"Activate: ",{"type":426,"tag":446,"props":155875,"children":155876},{},[155877],{"type":431,"value":155878},"Plugins → Activate → Rapiwa WhatsApp",{"type":426,"tag":458,"props":155880,"children":155881},{},[155882],{"type":431,"value":155883},"Enter your Rapiwa API key in plugin settings",{"type":426,"tag":458,"props":155885,"children":155886},{},[155887],{"type":431,"value":155888},"Configure which order statuses trigger WhatsApp messages",{"type":426,"tag":458,"props":155890,"children":155891},{},[155892],{"type":431,"value":155893},"Done — every new order sends a WhatsApp notification automatically",{"type":426,"tag":427,"props":155895,"children":155896},{},[155897],{"type":431,"value":155898},"No webhooks, no custom code, no HTTP requests to write. The plugin handles everything.",{"type":426,"tag":515,"props":155900,"children":155902},{"id":155901},"what-the-plugin-does",[155903],{"type":431,"value":155904},"What the Plugin Does",{"type":426,"tag":454,"props":155906,"children":155907},{},[155908,155913,155918,155923],{"type":426,"tag":458,"props":155909,"children":155910},{},[155911],{"type":431,"value":155912},"Sends WhatsApp notifications when orders change status (pending → processing → completed → refunded)",{"type":426,"tag":458,"props":155914,"children":155915},{},[155916],{"type":431,"value":155917},"Includes customer name and order details in the message",{"type":426,"tag":458,"props":155919,"children":155920},{},[155921],{"type":431,"value":155922},"Works with any WhatsApp-enabled phone number (customer's existing number)",{"type":426,"tag":458,"props":155924,"children":155925},{},[155926],{"type":431,"value":155927},"Customizable message templates per order status",{"type":426,"tag":434,"props":155929,"children":155931},{"id":155930},"rapiwas-6-woocommerce-n8n-templates",[155932],{"type":431,"value":155933},"Rapiwa's 6 WooCommerce n8n Templates",{"type":426,"tag":427,"props":155935,"children":155936},{},[155937],{"type":431,"value":155938},"In addition to the plugin, Rapiwa has 6 ready-to-import n8n templates specifically for WooCommerce:",{"type":426,"tag":10600,"props":155940,"children":155941},{},[155942,155961],{"type":426,"tag":10604,"props":155943,"children":155944},{},[155945],{"type":426,"tag":10608,"props":155946,"children":155947},{},[155948,155952,155956],{"type":426,"tag":10612,"props":155949,"children":155950},{},[155951],{"type":431,"value":18774},{"type":426,"tag":10612,"props":155953,"children":155954},{},[155955],{"type":431,"value":133290},{"type":426,"tag":10612,"props":155957,"children":155958},{},[155959],{"type":431,"value":155960},"Use Case",{"type":426,"tag":10623,"props":155962,"children":155963},{},[155964,155987,156010,156033,156057,156080],{"type":426,"tag":10608,"props":155965,"children":155966},{},[155967,155976,155983],{"type":426,"tag":10630,"props":155968,"children":155969},{},[155970],{"type":426,"tag":3819,"props":155971,"children":155973},{"href":18796,"rel":155972},[3823],[155974],{"type":431,"value":155975},"Auto-send invoices",{"type":426,"tag":10630,"props":155977,"children":155978},{},[155979],{"type":426,"tag":446,"props":155980,"children":155981},{},[155982],{"type":431,"value":18810},{"type":426,"tag":10630,"props":155984,"children":155985},{},[155986],{"type":431,"value":151596},{"type":426,"tag":10608,"props":155988,"children":155989},{},[155990,155998,156005],{"type":426,"tag":10630,"props":155991,"children":155992},{},[155993],{"type":426,"tag":3819,"props":155994,"children":155996},{"href":18819,"rel":155995},[3823],[155997],{"type":431,"value":133326},{"type":426,"tag":10630,"props":155999,"children":156000},{},[156001],{"type":426,"tag":446,"props":156002,"children":156003},{},[156004],{"type":431,"value":18832},{"type":426,"tag":10630,"props":156006,"children":156007},{},[156008],{"type":431,"value":156009},"Update customer on every status change",{"type":426,"tag":10608,"props":156011,"children":156012},{},[156013,156021,156028],{"type":426,"tag":10630,"props":156014,"children":156015},{},[156016],{"type":426,"tag":3819,"props":156017,"children":156019},{"href":133367,"rel":156018},[3823],[156020],{"type":431,"value":133371},{"type":426,"tag":10630,"props":156022,"children":156023},{},[156024],{"type":426,"tag":446,"props":156025,"children":156026},{},[156027],{"type":431,"value":133381},{"type":426,"tag":10630,"props":156029,"children":156030},{},[156031],{"type":431,"value":156032},"Send product recommendations post-purchase",{"type":426,"tag":10608,"props":156034,"children":156035},{},[156036,156045,156052],{"type":426,"tag":10630,"props":156037,"children":156038},{},[156039],{"type":426,"tag":3819,"props":156040,"children":156042},{"href":133344,"rel":156041},[3823],[156043],{"type":431,"value":156044},"Review requests",{"type":426,"tag":10630,"props":156046,"children":156047},{},[156048],{"type":426,"tag":446,"props":156049,"children":156050},{},[156051],{"type":431,"value":133358},{"type":426,"tag":10630,"props":156053,"children":156054},{},[156055],{"type":431,"value":156056},"Request review 3–5 days after delivery",{"type":426,"tag":10608,"props":156058,"children":156059},{},[156060,156068,156075],{"type":426,"tag":10630,"props":156061,"children":156062},{},[156063],{"type":426,"tag":3819,"props":156064,"children":156066},{"href":133390,"rel":156065},[3823],[156067],{"type":431,"value":133394},{"type":426,"tag":10630,"props":156069,"children":156070},{},[156071],{"type":426,"tag":446,"props":156072,"children":156073},{},[156074],{"type":431,"value":133404},{"type":426,"tag":10630,"props":156076,"children":156077},{},[156078],{"type":431,"value":156079},"Send personalized coupon codes",{"type":426,"tag":10608,"props":156081,"children":156082},{},[156083,156092,156099],{"type":426,"tag":10630,"props":156084,"children":156085},{},[156086],{"type":426,"tag":3819,"props":156087,"children":156089},{"href":18841,"rel":156088},[3823],[156090],{"type":431,"value":156091},"WooCommerce + Gemini AI",{"type":426,"tag":10630,"props":156093,"children":156094},{},[156095],{"type":426,"tag":446,"props":156096,"children":156097},{},[156098],{"type":431,"value":18855},{"type":426,"tag":10630,"props":156100,"children":156101},{},[156102],{"type":431,"value":156103},"AI follow-up suggestions via WhatsApp",{"type":426,"tag":427,"props":156105,"children":156106},{},[156107,156112],{"type":426,"tag":446,"props":156108,"children":156109},{},[156110],{"type":431,"value":156111},"Total WooCommerce n8n installs: 2,838",{"type":431,"value":156113}," — real-world validation from thousands of stores.",{"type":426,"tag":434,"props":156115,"children":156117},{"id":156116},"code-example-custom-woocommerce-whatsapp-integration",[156118],{"type":431,"value":156119},"Code Example: Custom WooCommerce WhatsApp Integration",{"type":426,"tag":427,"props":156121,"children":156122},{},[156123],{"type":431,"value":156124},"If you prefer to build a custom integration beyond the plugin:",{"type":426,"tag":542,"props":156126,"children":156128},{"className":79948,"code":156127,"language":79950,"meta":417,"style":417},"\u003C?php\n\u002F\u002F In your functions.php or a custom plugin\nadd_action('woocommerce_order_status_processing', 'rapiwa_send_order_confirmation');\n\nfunction rapiwa_send_order_confirmation($order_id) {\n    $order = wc_get_order($order_id);\n    $customer_phone = $order->get_billing_phone();\n    $customer_name  = $order->get_billing_first_name();\n    $order_total    = $order->get_total();\n    \n    \u002F\u002F Format phone: remove +, spaces, dashes\n    $phone = preg_replace('\u002F[^0-9]\u002F', '', $customer_phone);\n    \n    $message = \"*Order Confirmed!* 🛒\\n\\n\";\n    $message .= \"Hi {$customer_name}!\\n\";\n    $message .= \"Order #{$order_id}\\n\";\n    $message .= \"Total: $\" . number_format($order_total, 2) . \"\\n\\n\";\n    $message .= \"Track: \" . $order->get_checkout_order_received_url();\n    \n    $response = wp_remote_post('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', [\n        'headers' => [\n            'Authorization' => 'Bearer ' . get_option('rapiwa_api_key'),\n            'Content-Type'  => 'application\u002Fjson'\n        ],\n        'body' => json_encode([\n            'number'  => $phone,\n            'message' => $message\n        ])\n    ]);\n    \n    if (is_wp_error($response)) {\n        error_log('Rapiwa WhatsApp error: ' . $response->get_error_message());\n    }\n}\n",[156129],{"type":426,"tag":549,"props":156130,"children":156131},{"__ignoreMap":417},[156132,156143,156151,156179,156186,156202,156221,156249,156277,156305,156312,156320,156364,156371,156398,156433,156468,156523,156560,156567,156594,156609,156644,156660,156667,156686,156701,156716,156723,156730,156737,156756,156792,156799],{"type":426,"tag":553,"props":156133,"children":156134},{"class":555,"line":556},[156135,156139],{"type":426,"tag":553,"props":156136,"children":156137},{"style":795},[156138],{"type":431,"value":86379},{"type":426,"tag":553,"props":156140,"children":156141},{"style":566},[156142],{"type":431,"value":86384},{"type":426,"tag":553,"props":156144,"children":156145},{"class":555,"line":588},[156146],{"type":426,"tag":553,"props":156147,"children":156148},{"style":1975},[156149],{"type":431,"value":156150},"\u002F\u002F In your functions.php or a custom plugin\n",{"type":426,"tag":553,"props":156152,"children":156153},{"class":555,"line":606},[156154,156158,156162,156166,156170,156175],{"type":426,"tag":553,"props":156155,"children":156156},{"style":560},[156157],{"type":431,"value":90207},{"type":426,"tag":553,"props":156159,"children":156160},{"style":684},[156161],{"type":431,"value":3275},{"type":426,"tag":553,"props":156163,"children":156164},{"style":572},[156165],{"type":431,"value":132230},{"type":426,"tag":553,"props":156167,"children":156168},{"style":684},[156169],{"type":431,"value":1907},{"type":426,"tag":553,"props":156171,"children":156172},{"style":572},[156173],{"type":431,"value":156174},"'rapiwa_send_order_confirmation'",{"type":426,"tag":553,"props":156176,"children":156177},{"style":684},[156178],{"type":431,"value":11379},{"type":426,"tag":553,"props":156180,"children":156181},{"class":555,"line":623},[156182],{"type":426,"tag":553,"props":156183,"children":156184},{"emptyLinePlaceholder":831},[156185],{"type":431,"value":834},{"type":426,"tag":553,"props":156187,"children":156188},{"class":555,"line":637},[156189,156193,156198],{"type":426,"tag":553,"props":156190,"children":156191},{"style":795},[156192],{"type":431,"value":79962},{"type":426,"tag":553,"props":156194,"children":156195},{"style":560},[156196],{"type":431,"value":156197}," rapiwa_send_order_confirmation",{"type":426,"tag":553,"props":156199,"children":156200},{"style":684},[156201],{"type":431,"value":132294},{"type":426,"tag":553,"props":156203,"children":156204},{"class":555,"line":646},[156205,156209,156213,156217],{"type":426,"tag":553,"props":156206,"children":156207},{"style":684},[156208],{"type":431,"value":90245},{"type":426,"tag":553,"props":156210,"children":156211},{"style":795},[156212],{"type":431,"value":957},{"type":426,"tag":553,"props":156214,"children":156215},{"style":560},[156216],{"type":431,"value":90254},{"type":426,"tag":553,"props":156218,"children":156219},{"style":684},[156220],{"type":431,"value":90259},{"type":426,"tag":553,"props":156222,"children":156223},{"class":555,"line":655},[156224,156229,156233,156237,156241,156245],{"type":426,"tag":553,"props":156225,"children":156226},{"style":684},[156227],{"type":431,"value":156228},"    $customer_phone ",{"type":426,"tag":553,"props":156230,"children":156231},{"style":795},[156232],{"type":431,"value":957},{"type":426,"tag":553,"props":156234,"children":156235},{"style":684},[156236],{"type":431,"value":90276},{"type":426,"tag":553,"props":156238,"children":156239},{"style":795},[156240],{"type":431,"value":70711},{"type":426,"tag":553,"props":156242,"children":156243},{"style":560},[156244],{"type":431,"value":90285},{"type":426,"tag":553,"props":156246,"children":156247},{"style":684},[156248],{"type":431,"value":53227},{"type":426,"tag":553,"props":156250,"children":156251},{"class":555,"line":1036},[156252,156257,156261,156265,156269,156273],{"type":426,"tag":553,"props":156253,"children":156254},{"style":684},[156255],{"type":431,"value":156256},"    $customer_name  ",{"type":426,"tag":553,"props":156258,"children":156259},{"style":795},[156260],{"type":431,"value":957},{"type":426,"tag":553,"props":156262,"children":156263},{"style":684},[156264],{"type":431,"value":90276},{"type":426,"tag":553,"props":156266,"children":156267},{"style":795},[156268],{"type":431,"value":70711},{"type":426,"tag":553,"props":156270,"children":156271},{"style":560},[156272],{"type":431,"value":90338},{"type":426,"tag":553,"props":156274,"children":156275},{"style":684},[156276],{"type":431,"value":53227},{"type":426,"tag":553,"props":156278,"children":156279},{"class":555,"line":1054},[156280,156285,156289,156293,156297,156301],{"type":426,"tag":553,"props":156281,"children":156282},{"style":684},[156283],{"type":431,"value":156284},"    $order_total    ",{"type":426,"tag":553,"props":156286,"children":156287},{"style":795},[156288],{"type":431,"value":957},{"type":426,"tag":553,"props":156290,"children":156291},{"style":684},[156292],{"type":431,"value":90276},{"type":426,"tag":553,"props":156294,"children":156295},{"style":795},[156296],{"type":431,"value":70711},{"type":426,"tag":553,"props":156298,"children":156299},{"style":560},[156300],{"type":431,"value":132568},{"type":426,"tag":553,"props":156302,"children":156303},{"style":684},[156304],{"type":431,"value":53227},{"type":426,"tag":553,"props":156306,"children":156307},{"class":555,"line":1080},[156308],{"type":426,"tag":553,"props":156309,"children":156310},{"style":684},[156311],{"type":431,"value":917},{"type":426,"tag":553,"props":156313,"children":156314},{"class":555,"line":1097},[156315],{"type":426,"tag":553,"props":156316,"children":156317},{"style":1975},[156318],{"type":431,"value":156319},"    \u002F\u002F Format phone: remove +, spaces, dashes\n",{"type":426,"tag":553,"props":156321,"children":156322},{"class":555,"line":1114},[156323,156327,156331,156335,156339,156343,156347,156351,156355,156359],{"type":426,"tag":553,"props":156324,"children":156325},{"style":684},[156326],{"type":431,"value":90267},{"type":426,"tag":553,"props":156328,"children":156329},{"style":795},[156330],{"type":431,"value":957},{"type":426,"tag":553,"props":156332,"children":156333},{"style":566},[156334],{"type":431,"value":90568},{"type":426,"tag":553,"props":156336,"children":156337},{"style":684},[156338],{"type":431,"value":3275},{"type":426,"tag":553,"props":156340,"children":156341},{"style":572},[156342],{"type":431,"value":90577},{"type":426,"tag":553,"props":156344,"children":156345},{"style":90580},[156346],{"type":431,"value":90583},{"type":426,"tag":553,"props":156348,"children":156349},{"style":572},[156350],{"type":431,"value":90588},{"type":426,"tag":553,"props":156352,"children":156353},{"style":684},[156354],{"type":431,"value":1907},{"type":426,"tag":553,"props":156356,"children":156357},{"style":572},[156358],{"type":431,"value":13605},{"type":426,"tag":553,"props":156360,"children":156361},{"style":684},[156362],{"type":431,"value":156363},", $customer_phone);\n",{"type":426,"tag":553,"props":156365,"children":156366},{"class":555,"line":1127},[156367],{"type":426,"tag":553,"props":156368,"children":156369},{"style":684},[156370],{"type":431,"value":917},{"type":426,"tag":553,"props":156372,"children":156373},{"class":555,"line":1167},[156374,156378,156382,156386,156390,156394],{"type":426,"tag":553,"props":156375,"children":156376},{"style":684},[156377],{"type":431,"value":108269},{"type":426,"tag":553,"props":156379,"children":156380},{"style":795},[156381],{"type":431,"value":957},{"type":426,"tag":553,"props":156383,"children":156384},{"style":572},[156385],{"type":431,"value":132657},{"type":426,"tag":553,"props":156387,"children":156388},{"style":566},[156389],{"type":431,"value":1295},{"type":426,"tag":553,"props":156391,"children":156392},{"style":572},[156393],{"type":431,"value":1527},{"type":426,"tag":553,"props":156395,"children":156396},{"style":684},[156397],{"type":431,"value":52321},{"type":426,"tag":553,"props":156399,"children":156400},{"class":555,"line":1184},[156401,156405,156409,156413,156417,156421,156425,156429],{"type":426,"tag":553,"props":156402,"children":156403},{"style":684},[156404],{"type":431,"value":108269},{"type":426,"tag":553,"props":156406,"children":156407},{"style":795},[156408],{"type":431,"value":123687},{"type":426,"tag":553,"props":156410,"children":156411},{"style":572},[156412],{"type":431,"value":90324},{"type":426,"tag":553,"props":156414,"children":156415},{"style":684},[156416],{"type":431,"value":132689},{"type":426,"tag":553,"props":156418,"children":156419},{"style":572},[156420],{"type":431,"value":52905},{"type":426,"tag":553,"props":156422,"children":156423},{"style":566},[156424],{"type":431,"value":3661},{"type":426,"tag":553,"props":156426,"children":156427},{"style":572},[156428],{"type":431,"value":1527},{"type":426,"tag":553,"props":156430,"children":156431},{"style":684},[156432],{"type":431,"value":52321},{"type":426,"tag":553,"props":156434,"children":156435},{"class":555,"line":1192},[156436,156440,156444,156448,156452,156456,156460,156464],{"type":426,"tag":553,"props":156437,"children":156438},{"style":684},[156439],{"type":431,"value":108269},{"type":426,"tag":553,"props":156441,"children":156442},{"style":795},[156443],{"type":431,"value":123687},{"type":426,"tag":553,"props":156445,"children":156446},{"style":572},[156447],{"type":431,"value":132721},{"type":426,"tag":553,"props":156449,"children":156450},{"style":684},[156451],{"type":431,"value":90348},{"type":426,"tag":553,"props":156453,"children":156454},{"style":572},[156455],{"type":431,"value":982},{"type":426,"tag":553,"props":156457,"children":156458},{"style":566},[156459],{"type":431,"value":3661},{"type":426,"tag":553,"props":156461,"children":156462},{"style":572},[156463],{"type":431,"value":1527},{"type":426,"tag":553,"props":156465,"children":156466},{"style":684},[156467],{"type":431,"value":52321},{"type":426,"tag":553,"props":156469,"children":156470},{"class":555,"line":1210},[156471,156475,156479,156483,156487,156491,156495,156499,156503,156507,156511,156515,156519],{"type":426,"tag":553,"props":156472,"children":156473},{"style":684},[156474],{"type":431,"value":108269},{"type":426,"tag":553,"props":156476,"children":156477},{"style":795},[156478],{"type":431,"value":123687},{"type":426,"tag":553,"props":156480,"children":156481},{"style":572},[156482],{"type":431,"value":132757},{"type":426,"tag":553,"props":156484,"children":156485},{"style":795},[156486],{"type":431,"value":87022},{"type":426,"tag":553,"props":156488,"children":156489},{"style":566},[156490],{"type":431,"value":132766},{"type":426,"tag":553,"props":156492,"children":156493},{"style":684},[156494],{"type":431,"value":132771},{"type":426,"tag":553,"props":156496,"children":156497},{"style":566},[156498],{"type":431,"value":6533},{"type":426,"tag":553,"props":156500,"children":156501},{"style":684},[156502],{"type":431,"value":2987},{"type":426,"tag":553,"props":156504,"children":156505},{"style":795},[156506],{"type":431,"value":6789},{"type":426,"tag":553,"props":156508,"children":156509},{"style":572},[156510],{"type":431,"value":87350},{"type":426,"tag":553,"props":156512,"children":156513},{"style":566},[156514],{"type":431,"value":1295},{"type":426,"tag":553,"props":156516,"children":156517},{"style":572},[156518],{"type":431,"value":1527},{"type":426,"tag":553,"props":156520,"children":156521},{"style":684},[156522],{"type":431,"value":52321},{"type":426,"tag":553,"props":156524,"children":156525},{"class":555,"line":1253},[156526,156530,156534,156539,156543,156547,156551,156556],{"type":426,"tag":553,"props":156527,"children":156528},{"style":684},[156529],{"type":431,"value":108269},{"type":426,"tag":553,"props":156531,"children":156532},{"style":795},[156533],{"type":431,"value":123687},{"type":426,"tag":553,"props":156535,"children":156536},{"style":572},[156537],{"type":431,"value":156538}," \"Track: \"",{"type":426,"tag":553,"props":156540,"children":156541},{"style":795},[156542],{"type":431,"value":87022},{"type":426,"tag":553,"props":156544,"children":156545},{"style":684},[156546],{"type":431,"value":90276},{"type":426,"tag":553,"props":156548,"children":156549},{"style":795},[156550],{"type":431,"value":70711},{"type":426,"tag":553,"props":156552,"children":156553},{"style":560},[156554],{"type":431,"value":156555},"get_checkout_order_received_url",{"type":426,"tag":553,"props":156557,"children":156558},{"style":684},[156559],{"type":431,"value":53227},{"type":426,"tag":553,"props":156561,"children":156562},{"class":555,"line":1302},[156563],{"type":426,"tag":553,"props":156564,"children":156565},{"style":684},[156566],{"type":431,"value":917},{"type":426,"tag":553,"props":156568,"children":156569},{"class":555,"line":1374},[156570,156574,156578,156582,156586,156590],{"type":426,"tag":553,"props":156571,"children":156572},{"style":684},[156573],{"type":431,"value":86692},{"type":426,"tag":553,"props":156575,"children":156576},{"style":795},[156577],{"type":431,"value":957},{"type":426,"tag":553,"props":156579,"children":156580},{"style":560},[156581],{"type":431,"value":89833},{"type":426,"tag":553,"props":156583,"children":156584},{"style":684},[156585],{"type":431,"value":3275},{"type":426,"tag":553,"props":156587,"children":156588},{"style":572},[156589],{"type":431,"value":55802},{"type":426,"tag":553,"props":156591,"children":156592},{"style":684},[156593],{"type":431,"value":87886},{"type":426,"tag":553,"props":156595,"children":156596},{"class":555,"line":1414},[156597,156601,156605],{"type":426,"tag":553,"props":156598,"children":156599},{"style":572},[156600],{"type":431,"value":89873},{"type":426,"tag":553,"props":156602,"children":156603},{"style":795},[156604],{"type":431,"value":53709},{"type":426,"tag":553,"props":156606,"children":156607},{"style":684},[156608],{"type":431,"value":80133},{"type":426,"tag":553,"props":156610,"children":156611},{"class":555,"line":1479},[156612,156616,156620,156624,156628,156632,156636,156640],{"type":426,"tag":553,"props":156613,"children":156614},{"style":572},[156615],{"type":431,"value":89889},{"type":426,"tag":553,"props":156617,"children":156618},{"style":795},[156619],{"type":431,"value":53709},{"type":426,"tag":553,"props":156621,"children":156622},{"style":572},[156623],{"type":431,"value":89898},{"type":426,"tag":553,"props":156625,"children":156626},{"style":795},[156627],{"type":431,"value":87022},{"type":426,"tag":553,"props":156629,"children":156630},{"style":560},[156631],{"type":431,"value":89907},{"type":426,"tag":553,"props":156633,"children":156634},{"style":684},[156635],{"type":431,"value":3275},{"type":426,"tag":553,"props":156637,"children":156638},{"style":572},[156639],{"type":431,"value":14901},{"type":426,"tag":553,"props":156641,"children":156642},{"style":684},[156643],{"type":431,"value":11615},{"type":426,"tag":553,"props":156645,"children":156646},{"class":555,"line":1517},[156647,156651,156655],{"type":426,"tag":553,"props":156648,"children":156649},{"style":572},[156650],{"type":431,"value":89927},{"type":426,"tag":553,"props":156652,"children":156653},{"style":795},[156654],{"type":431,"value":86642},{"type":426,"tag":553,"props":156656,"children":156657},{"style":572},[156658],{"type":431,"value":156659}," 'application\u002Fjson'\n",{"type":426,"tag":553,"props":156661,"children":156662},{"class":555,"line":1560},[156663],{"type":426,"tag":553,"props":156664,"children":156665},{"style":684},[156666],{"type":431,"value":80161},{"type":426,"tag":553,"props":156668,"children":156669},{"class":555,"line":1598},[156670,156674,156678,156682],{"type":426,"tag":553,"props":156671,"children":156672},{"style":572},[156673],{"type":431,"value":89954},{"type":426,"tag":553,"props":156675,"children":156676},{"style":795},[156677],{"type":431,"value":53709},{"type":426,"tag":553,"props":156679,"children":156680},{"style":566},[156681],{"type":431,"value":80178},{"type":426,"tag":553,"props":156683,"children":156684},{"style":684},[156685],{"type":431,"value":80183},{"type":426,"tag":553,"props":156687,"children":156688},{"class":555,"line":1636},[156689,156693,156697],{"type":426,"tag":553,"props":156690,"children":156691},{"style":572},[156692],{"type":431,"value":15045},{"type":426,"tag":553,"props":156694,"children":156695},{"style":795},[156696],{"type":431,"value":86642},{"type":426,"tag":553,"props":156698,"children":156699},{"style":684},[156700],{"type":431,"value":80199},{"type":426,"tag":553,"props":156702,"children":156703},{"class":555,"line":1645},[156704,156708,156712],{"type":426,"tag":553,"props":156705,"children":156706},{"style":572},[156707],{"type":431,"value":15058},{"type":426,"tag":553,"props":156709,"children":156710},{"style":795},[156711],{"type":431,"value":53709},{"type":426,"tag":553,"props":156713,"children":156714},{"style":684},[156715],{"type":431,"value":94569},{"type":426,"tag":553,"props":156717,"children":156718},{"class":555,"line":1653},[156719],{"type":426,"tag":553,"props":156720,"children":156721},{"style":684},[156722],{"type":431,"value":80255},{"type":426,"tag":553,"props":156724,"children":156725},{"class":555,"line":1667},[156726],{"type":426,"tag":553,"props":156727,"children":156728},{"style":684},[156729],{"type":431,"value":80263},{"type":426,"tag":553,"props":156731,"children":156732},{"class":555,"line":1680},[156733],{"type":426,"tag":553,"props":156734,"children":156735},{"style":684},[156736],{"type":431,"value":917},{"type":426,"tag":553,"props":156738,"children":156739},{"class":555,"line":1740},[156740,156744,156748,156752],{"type":426,"tag":553,"props":156741,"children":156742},{"style":795},[156743],{"type":431,"value":925},{"type":426,"tag":553,"props":156745,"children":156746},{"style":684},[156747],{"type":431,"value":5684},{"type":426,"tag":553,"props":156749,"children":156750},{"style":560},[156751],{"type":431,"value":90034},{"type":426,"tag":553,"props":156753,"children":156754},{"style":684},[156755],{"type":431,"value":90039},{"type":426,"tag":553,"props":156757,"children":156758},{"class":555,"line":1787},[156759,156763,156767,156772,156776,156780,156784,156788],{"type":426,"tag":553,"props":156760,"children":156761},{"style":566},[156762],{"type":431,"value":90047},{"type":426,"tag":553,"props":156764,"children":156765},{"style":684},[156766],{"type":431,"value":3275},{"type":426,"tag":553,"props":156768,"children":156769},{"style":572},[156770],{"type":431,"value":156771},"'Rapiwa WhatsApp error: '",{"type":426,"tag":553,"props":156773,"children":156774},{"style":795},[156775],{"type":431,"value":87022},{"type":426,"tag":553,"props":156777,"children":156778},{"style":684},[156779],{"type":431,"value":90064},{"type":426,"tag":553,"props":156781,"children":156782},{"style":795},[156783],{"type":431,"value":70711},{"type":426,"tag":553,"props":156785,"children":156786},{"style":560},[156787],{"type":431,"value":90073},{"type":426,"tag":553,"props":156789,"children":156790},{"style":684},[156791],{"type":431,"value":61503},{"type":426,"tag":553,"props":156793,"children":156794},{"class":555,"line":1796},[156795],{"type":426,"tag":553,"props":156796,"children":156797},{"style":684},[156798],{"type":431,"value":5546},{"type":426,"tag":553,"props":156800,"children":156801},{"class":555,"line":1804},[156802],{"type":426,"tag":553,"props":156803,"children":156804},{"style":684},[156805],{"type":431,"value":756},{"type":426,"tag":434,"props":156807,"children":156809},{"id":156808},"comparing-whatsapp-api-options-for-woocommerce",[156810],{"type":431,"value":156811},"Comparing WhatsApp API Options for WooCommerce",{"type":426,"tag":10600,"props":156813,"children":156814},{},[156815,156838],{"type":426,"tag":10604,"props":156816,"children":156817},{},[156818],{"type":426,"tag":10608,"props":156819,"children":156820},{},[156821,156825,156829,156834],{"type":426,"tag":10612,"props":156822,"children":156823},{},[156824],{"type":431,"value":147033},{"type":426,"tag":10612,"props":156826,"children":156827},{},[156828],{"type":431,"value":150071},{"type":426,"tag":10612,"props":156830,"children":156831},{},[156832],{"type":431,"value":156833},"n8n WooCommerce Templates",{"type":426,"tag":10612,"props":156835,"children":156836},{},[156837],{"type":431,"value":103028},{"type":426,"tag":10623,"props":156839,"children":156840},{},[156841,156873,156892,156911,156930,156949],{"type":426,"tag":10608,"props":156842,"children":156843},{},[156844,156851,156858,156866],{"type":426,"tag":10630,"props":156845,"children":156846},{},[156847],{"type":426,"tag":446,"props":156848,"children":156849},{},[156850],{"type":431,"value":127310},{"type":426,"tag":10630,"props":156852,"children":156853},{},[156854],{"type":426,"tag":446,"props":156855,"children":156856},{},[156857],{"type":431,"value":103087},{"type":426,"tag":10630,"props":156859,"children":156860},{},[156861],{"type":426,"tag":446,"props":156862,"children":156863},{},[156864],{"type":431,"value":156865},"6 templates",{"type":426,"tag":10630,"props":156867,"children":156868},{},[156869],{"type":426,"tag":446,"props":156870,"children":156871},{},[156872],{"type":431,"value":155606},{"type":426,"tag":10608,"props":156874,"children":156875},{},[156876,156880,156884,156888],{"type":426,"tag":10630,"props":156877,"children":156878},{},[156879],{"type":431,"value":147163},{"type":426,"tag":10630,"props":156881,"children":156882},{},[156883],{"type":431,"value":78130},{"type":426,"tag":10630,"props":156885,"children":156886},{},[156887],{"type":431,"value":1930},{"type":426,"tag":10630,"props":156889,"children":156890},{},[156891],{"type":431,"value":155627},{"type":426,"tag":10608,"props":156893,"children":156894},{},[156895,156899,156903,156907],{"type":426,"tag":10630,"props":156896,"children":156897},{},[156898],{"type":431,"value":155635},{"type":426,"tag":10630,"props":156900,"children":156901},{},[156902],{"type":431,"value":78130},{"type":426,"tag":10630,"props":156904,"children":156905},{},[156906],{"type":431,"value":1930},{"type":426,"tag":10630,"props":156908,"children":156909},{},[156910],{"type":431,"value":155648},{"type":426,"tag":10608,"props":156912,"children":156913},{},[156914,156918,156922,156926],{"type":426,"tag":10630,"props":156915,"children":156916},{},[156917],{"type":431,"value":155656},{"type":426,"tag":10630,"props":156919,"children":156920},{},[156921],{"type":431,"value":78130},{"type":426,"tag":10630,"props":156923,"children":156924},{},[156925],{"type":431,"value":1930},{"type":426,"tag":10630,"props":156927,"children":156928},{},[156929],{"type":431,"value":155669},{"type":426,"tag":10608,"props":156931,"children":156932},{},[156933,156937,156941,156945],{"type":426,"tag":10630,"props":156934,"children":156935},{},[156936],{"type":431,"value":147312},{"type":426,"tag":10630,"props":156938,"children":156939},{},[156940],{"type":431,"value":78130},{"type":426,"tag":10630,"props":156942,"children":156943},{},[156944],{"type":431,"value":1930},{"type":426,"tag":10630,"props":156946,"children":156947},{},[156948],{"type":431,"value":155689},{"type":426,"tag":10608,"props":156950,"children":156951},{},[156952,156956,156961,156965],{"type":426,"tag":10630,"props":156953,"children":156954},{},[156955],{"type":431,"value":147230},{"type":426,"tag":10630,"props":156957,"children":156958},{},[156959],{"type":431,"value":156960},"Basic",{"type":426,"tag":10630,"props":156962,"children":156963},{},[156964],{"type":431,"value":1930},{"type":426,"tag":10630,"props":156966,"children":156967},{},[156968],{"type":431,"value":156969},"$49\u002Fmo",{"type":426,"tag":427,"props":156971,"children":156972},{},[156973],{"type":431,"value":156974},"Rapiwa is the clear winner for WooCommerce on every dimension.",{"type":426,"tag":434,"props":156976,"children":156977},{"id":4109},[156978],{"type":431,"value":4112},{"type":426,"tag":427,"props":156980,"children":156981},{},[156982,156986],{"type":426,"tag":446,"props":156983,"children":156984},{},[156985],{"type":431,"value":47505},{"type":431,"value":156987},"\nRapiwa — the only WhatsApp API with a dedicated WooCommerce plugin (zero code required) and 6 WooCommerce-specific n8n templates covering invoices, orders, reviews, cross-sells, and coupons.",{"type":426,"tag":427,"props":156989,"children":156990},{},[156991,156996,156997,157002],{"type":426,"tag":446,"props":156992,"children":156993},{},[156994],{"type":431,"value":156995},"How do I add WhatsApp notifications to WooCommerce?",{"type":431,"value":118667},{"type":426,"tag":3819,"props":156998,"children":157000},{"href":131923,"rel":156999},[3823],[157001],{"type":431,"value":131927},{"type":431,"value":157003},", activate it, enter your API key, and configure which order statuses trigger messages. Takes under 5 minutes.",{"type":426,"tag":427,"props":157005,"children":157006},{},[157007,157012,157014,157020],{"type":426,"tag":446,"props":157008,"children":157009},{},[157010],{"type":431,"value":157011},"Can I send WooCommerce order updates via WhatsApp without coding?",{"type":431,"value":157013},"\nYes. The Rapiwa WooCommerce plugin requires zero coding. Alternatively, use the ",{"type":426,"tag":3819,"props":157015,"children":157017},{"href":18819,"rel":157016},[3823],[157018],{"type":431,"value":157019},"Rapiwa n8n order updates template",{"type":431,"value":157021}," — import with one click, add your API key, and activate.",{"type":426,"tag":427,"props":157023,"children":157024},{},[157025,157030],{"type":426,"tag":446,"props":157026,"children":157027},{},[157028],{"type":431,"value":157029},"How much does WhatsApp for WooCommerce cost?",{"type":431,"value":157031},"\nRapiwa costs $5\u002Fmonth for unlimited messages. This is the API fee. The WooCommerce plugin is free to download and use. Total cost: $5\u002Fmonth.",{"type":426,"tag":427,"props":157033,"children":157034},{},[157035,157040],{"type":426,"tag":446,"props":157036,"children":157037},{},[157038],{"type":431,"value":157039},"Does WooCommerce have a built-in WhatsApp integration?",{"type":431,"value":157041},"\nNo. WooCommerce does not include WhatsApp notifications by default. You need a WhatsApp API (like Rapiwa) and either the plugin or an n8n template.",{"type":426,"tag":4164,"props":157043,"children":157044},{},[157045],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":157047},[157048,157049,157053,157054,157055,157056],{"id":155789,"depth":588,"text":155792},{"id":155839,"depth":588,"text":155842,"children":157050},[157051,157052],{"id":155857,"depth":606,"text":155860},{"id":155901,"depth":606,"text":155904},{"id":155930,"depth":588,"text":155933},{"id":156116,"depth":588,"text":156119},{"id":156808,"depth":588,"text":156811},{"id":4109,"depth":588,"text":4112},"content:blog:best-whatsapp-api-for-woocommerce-2026.md","blog\u002Fbest-whatsapp-api-for-woocommerce-2026.md","blog\u002Fbest-whatsapp-api-for-woocommerce-2026",{"loc":242},{"_path":246,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":247,"description":248,"date":157062,"author":30617,"category":212,"_slug":157063,"image":157064,"body":157065,"_type":4187,"_id":157637,"_source":4189,"_file":157638,"_stem":157639,"_extension":4192,"sitemap":157640},"2026-01-15","rapiwa-vs-vonage-whatsapp-api-developer-friendly","\u002Fimages\u002Fblog\u002Frapiwa-vs-vonage-whatsapp-api-developer-friendly.svg",{"type":423,"children":157066,"toc":157624},[157067,157077,157083,157286,157292,157297,157305,157333,157339,157344,157367,157373,157379,157459,157464,157470,157475,157481,157486,157491,157497,157502,157508,157571,157576,157580,157590,157600,157610,157620],{"type":426,"tag":427,"props":157068,"children":157069},{},[157070,157075],{"type":426,"tag":3819,"props":157071,"children":157073},{"href":3821,"rel":157072},[3823],[157074],{"type":431,"value":127310},{"type":431,"value":157076}," costs $5\u002Fmonth, requires no Meta approval, and works in 5 minutes via QR code. Vonage uses the official Meta WhatsApp Business API, requires business verification (days–weeks), and charges per conversation ($0.015–$0.08). For developer-friendliness, speed, and cost, Rapiwa is the clear winner for most use cases.",{"type":426,"tag":434,"props":157078,"children":157080},{"id":157079},"rapiwa-vs-vonage-whatsapp-quick-comparison",[157081],{"type":431,"value":157082},"Rapiwa vs Vonage WhatsApp: Quick Comparison",{"type":426,"tag":10600,"props":157084,"children":157085},{},[157086,157105],{"type":426,"tag":10604,"props":157087,"children":157088},{},[157089],{"type":426,"tag":10608,"props":157090,"children":157091},{},[157092,157096,157101],{"type":426,"tag":10612,"props":157093,"children":157094},{},[157095],{"type":431,"value":16096},{"type":426,"tag":10612,"props":157097,"children":157098},{},[157099],{"type":431,"value":157100},"Vonage WhatsApp",{"type":426,"tag":10612,"props":157102,"children":157103},{},[157104],{"type":431,"value":127310},{"type":426,"tag":10623,"props":157106,"children":157107},{},[157108,157123,157142,157161,157179,157198,157216,157234,157252,157270],{"type":426,"tag":10608,"props":157109,"children":157110},{},[157111,157115,157119],{"type":426,"tag":10630,"props":157112,"children":157113},{},[157114],{"type":431,"value":150764},{"type":426,"tag":10630,"props":157116,"children":157117},{},[157118],{"type":431,"value":153501},{"type":426,"tag":10630,"props":157120,"children":157121},{},[157122],{"type":431,"value":150774},{"type":426,"tag":10608,"props":157124,"children":157125},{},[157126,157130,157135],{"type":426,"tag":10630,"props":157127,"children":157128},{},[157129],{"type":431,"value":150782},{"type":426,"tag":10630,"props":157131,"children":157132},{},[157133],{"type":431,"value":157134},"Usage-based + platform fee",{"type":426,"tag":10630,"props":157136,"children":157137},{},[157138],{"type":426,"tag":446,"props":157139,"children":157140},{},[157141],{"type":431,"value":153761},{"type":426,"tag":10608,"props":157143,"children":157144},{},[157145,157150,157154],{"type":426,"tag":10630,"props":157146,"children":157147},{},[157148],{"type":431,"value":157149},"Per-message fee",{"type":426,"tag":10630,"props":157151,"children":157152},{},[157153],{"type":431,"value":103087},{"type":426,"tag":10630,"props":157155,"children":157156},{},[157157],{"type":426,"tag":446,"props":157158,"children":157159},{},[157160],{"type":431,"value":1840},{"type":426,"tag":10608,"props":157162,"children":157163},{},[157164,157168,157172],{"type":426,"tag":10630,"props":157165,"children":157166},{},[157167],{"type":431,"value":150822},{"type":426,"tag":10630,"props":157169,"children":157170},{},[157171],{"type":431,"value":147098},{"type":426,"tag":10630,"props":157173,"children":157174},{},[157175],{"type":426,"tag":446,"props":157176,"children":157177},{},[157178],{"type":431,"value":147147},{"type":426,"tag":10608,"props":157180,"children":157181},{},[157182,157186,157191],{"type":426,"tag":10630,"props":157183,"children":157184},{},[157185],{"type":431,"value":150841},{"type":426,"tag":10630,"props":157187,"children":157188},{},[157189],{"type":431,"value":157190},"Required for outbound",{"type":426,"tag":10630,"props":157192,"children":157193},{},[157194],{"type":426,"tag":446,"props":157195,"children":157196},{},[157197],{"type":431,"value":147147},{"type":426,"tag":10608,"props":157199,"children":157200},{},[157201,157205,157209],{"type":426,"tag":10630,"props":157202,"children":157203},{},[157204],{"type":431,"value":153587},{"type":426,"tag":10630,"props":157206,"children":157207},{},[157208],{"type":431,"value":103087},{"type":426,"tag":10630,"props":157210,"children":157211},{},[157212],{"type":426,"tag":446,"props":157213,"children":157214},{},[157215],{"type":431,"value":153599},{"type":426,"tag":10608,"props":157217,"children":157218},{},[157219,157223,157227],{"type":426,"tag":10630,"props":157220,"children":157221},{},[157222],{"type":431,"value":150917},{"type":426,"tag":10630,"props":157224,"children":157225},{},[157226],{"type":431,"value":150922},{"type":426,"tag":10630,"props":157228,"children":157229},{},[157230],{"type":426,"tag":446,"props":157231,"children":157232},{},[157233],{"type":431,"value":46995},{"type":426,"tag":10608,"props":157235,"children":157236},{},[157237,157241,157245],{"type":426,"tag":10630,"props":157238,"children":157239},{},[157240],{"type":431,"value":148534},{"type":426,"tag":10630,"props":157242,"children":157243},{},[157244],{"type":431,"value":78130},{"type":426,"tag":10630,"props":157246,"children":157247},{},[157248],{"type":426,"tag":446,"props":157249,"children":157250},{},[157251],{"type":431,"value":103087},{"type":426,"tag":10608,"props":157253,"children":157254},{},[157255,157259,157263],{"type":426,"tag":10630,"props":157256,"children":157257},{},[157258],{"type":431,"value":16164},{"type":426,"tag":10630,"props":157260,"children":157261},{},[157262],{"type":431,"value":78130},{"type":426,"tag":10630,"props":157264,"children":157265},{},[157266],{"type":426,"tag":446,"props":157267,"children":157268},{},[157269],{"type":431,"value":150909},{"type":426,"tag":10608,"props":157271,"children":157272},{},[157273,157278,157282],{"type":426,"tag":10630,"props":157274,"children":157275},{},[157276],{"type":431,"value":157277},"Developer documentation",{"type":426,"tag":10630,"props":157279,"children":157280},{},[157281],{"type":431,"value":152062},{"type":426,"tag":10630,"props":157283,"children":157284},{},[157285],{"type":431,"value":152062},{"type":426,"tag":434,"props":157287,"children":157289},{"id":157288},"what-is-vonage-whatsapp-api",[157290],{"type":431,"value":157291},"What Is Vonage WhatsApp API?",{"type":426,"tag":427,"props":157293,"children":157294},{},[157295],{"type":431,"value":157296},"Vonage (acquired by Ericsson) offers the official WhatsApp Business API as part of its Communications API platform. It is Meta-certified and suitable for enterprise-grade deployments.",{"type":426,"tag":427,"props":157298,"children":157299},{},[157300],{"type":426,"tag":446,"props":157301,"children":157302},{},[157303],{"type":431,"value":157304},"Vonage WhatsApp key characteristics:",{"type":426,"tag":454,"props":157306,"children":157307},{},[157308,157313,157318,157323,157328],{"type":426,"tag":458,"props":157309,"children":157310},{},[157311],{"type":431,"value":157312},"Official Meta WhatsApp Business API provider",{"type":426,"tag":458,"props":157314,"children":157315},{},[157316],{"type":431,"value":157317},"Per-message and per-conversation pricing",{"type":426,"tag":458,"props":157319,"children":157320},{},[157321],{"type":431,"value":157322},"Business verification required",{"type":426,"tag":458,"props":157324,"children":157325},{},[157326],{"type":431,"value":157327},"Dedicated Vonage sandbox for testing",{"type":426,"tag":458,"props":157329,"children":157330},{},[157331],{"type":431,"value":157332},"Integrates with Vonage's broader communications platform (SMS, Voice, Video)",{"type":426,"tag":434,"props":157334,"children":157336},{"id":157335},"when-vonage-makes-sense",[157337],{"type":431,"value":157338},"When Vonage Makes Sense",{"type":426,"tag":427,"props":157340,"children":157341},{},[157342],{"type":431,"value":157343},"Vonage is the right choice when:",{"type":426,"tag":454,"props":157345,"children":157346},{},[157347,157352,157357,157362],{"type":426,"tag":458,"props":157348,"children":157349},{},[157350],{"type":431,"value":157351},"Your project already uses Vonage's SMS or Voice APIs (unified billing)",{"type":426,"tag":458,"props":157353,"children":157354},{},[157355],{"type":431,"value":157356},"Your enterprise requires Meta-certified WhatsApp API for procurement compliance",{"type":426,"tag":458,"props":157358,"children":157359},{},[157360],{"type":431,"value":157361},"You need the WhatsApp green verification badge",{"type":426,"tag":458,"props":157363,"children":157364},{},[157365],{"type":431,"value":157366},"Your organization has a dedicated compliance team for Meta certification",{"type":426,"tag":434,"props":157368,"children":157370},{"id":157369},"when-rapiwa-is-more-developer-friendly",[157371],{"type":431,"value":157372},"When Rapiwa Is More Developer-Friendly",{"type":426,"tag":515,"props":157374,"children":157376},{"id":157375},"_1-immediate-start",[157377],{"type":431,"value":157378},"1. Immediate Start",{"type":426,"tag":542,"props":157380,"children":157382},{"className":546,"code":157381,"language":545,"meta":417,"style":417},"# Rapiwa: working in 5 minutes\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello! Testing Rapiwa.\"}'\n",[157383],{"type":426,"tag":549,"props":157384,"children":157385},{"__ignoreMap":417},[157386,157394,157417,157432,157447],{"type":426,"tag":553,"props":157387,"children":157388},{"class":555,"line":556},[157389],{"type":426,"tag":553,"props":157390,"children":157391},{"style":1975},[157392],{"type":431,"value":157393},"# Rapiwa: working in 5 minutes\n",{"type":426,"tag":553,"props":157395,"children":157396},{"class":555,"line":588},[157397,157401,157405,157409,157413],{"type":426,"tag":553,"props":157398,"children":157399},{"style":560},[157400],{"type":431,"value":563},{"type":426,"tag":553,"props":157402,"children":157403},{"style":566},[157404],{"type":431,"value":569},{"type":426,"tag":553,"props":157406,"children":157407},{"style":572},[157408],{"type":431,"value":575},{"type":426,"tag":553,"props":157410,"children":157411},{"style":572},[157412],{"type":431,"value":580},{"type":426,"tag":553,"props":157414,"children":157415},{"style":566},[157416],{"type":431,"value":585},{"type":426,"tag":553,"props":157418,"children":157419},{"class":555,"line":606},[157420,157424,157428],{"type":426,"tag":553,"props":157421,"children":157422},{"style":566},[157423],{"type":431,"value":594},{"type":426,"tag":553,"props":157425,"children":157426},{"style":572},[157427],{"type":431,"value":599},{"type":426,"tag":553,"props":157429,"children":157430},{"style":566},[157431],{"type":431,"value":585},{"type":426,"tag":553,"props":157433,"children":157434},{"class":555,"line":623},[157435,157439,157443],{"type":426,"tag":553,"props":157436,"children":157437},{"style":566},[157438],{"type":431,"value":594},{"type":426,"tag":553,"props":157440,"children":157441},{"style":572},[157442],{"type":431,"value":616},{"type":426,"tag":553,"props":157444,"children":157445},{"style":566},[157446],{"type":431,"value":585},{"type":426,"tag":553,"props":157448,"children":157449},{"class":555,"line":637},[157450,157454],{"type":426,"tag":553,"props":157451,"children":157452},{"style":566},[157453],{"type":431,"value":629},{"type":426,"tag":553,"props":157455,"children":157456},{"style":572},[157457],{"type":431,"value":157458}," '{\"number\": \"8801234567890\", \"message\": \"Hello! Testing Rapiwa.\"}'\n",{"type":426,"tag":427,"props":157460,"children":157461},{},[157462],{"type":431,"value":157463},"Vonage: Create Vonage account → Apply for WhatsApp access → Submit business verification → Wait for Meta approval → Create sandbox → Request production access → Start sending.",{"type":426,"tag":515,"props":157465,"children":157467},{"id":157466},"_2-no-template-requirement",[157468],{"type":431,"value":157469},"2. No Template Requirement",{"type":426,"tag":427,"props":157471,"children":157472},{},[157473],{"type":431,"value":157474},"Rapiwa sends any message immediately. Vonage (official Meta API) requires pre-approved message templates for any outbound message where the customer hasn't messaged you in the last 24 hours. Template approval adds days of delay.",{"type":426,"tag":515,"props":157476,"children":157478},{"id":157477},"_3-cost-predictability",[157479],{"type":431,"value":157480},"3. Cost Predictability",{"type":426,"tag":427,"props":157482,"children":157483},{},[157484],{"type":431,"value":157485},"Rapiwa: $5\u002Fmonth flat. You know your cost on day 1.",{"type":426,"tag":427,"props":157487,"children":157488},{},[157489],{"type":431,"value":157490},"Vonage: Per-message plus per-conversation fees, plus Vonage's platform fee. Monthly cost varies with volume and is difficult to predict without a detailed usage forecast.",{"type":426,"tag":515,"props":157492,"children":157494},{"id":157493},"_4-use-your-existing-whatsapp-number",[157495],{"type":431,"value":157496},"4. Use Your Existing WhatsApp Number",{"type":426,"tag":427,"props":157498,"children":157499},{},[157500],{"type":431,"value":157501},"Rapiwa connects your existing personal or business WhatsApp number via QR code. Vonage requires a new dedicated number not already active on WhatsApp.",{"type":426,"tag":434,"props":157503,"children":157505},{"id":157504},"cost-example-5000-messagesmonth",[157506],{"type":431,"value":157507},"Cost Example: 5,000 Messages\u002FMonth",{"type":426,"tag":10600,"props":157509,"children":157510},{},[157511,157525],{"type":426,"tag":10604,"props":157512,"children":157513},{},[157514],{"type":426,"tag":10608,"props":157515,"children":157516},{},[157517,157521],{"type":426,"tag":10612,"props":157518,"children":157519},{},[157520],{"type":431,"value":147033},{"type":426,"tag":10612,"props":157522,"children":157523},{},[157524],{"type":431,"value":505},{"type":426,"tag":10623,"props":157526,"children":157527},{},[157528,157545,157558],{"type":426,"tag":10608,"props":157529,"children":157530},{},[157531,157538],{"type":426,"tag":10630,"props":157532,"children":157533},{},[157534],{"type":426,"tag":446,"props":157535,"children":157536},{},[157537],{"type":431,"value":127310},{"type":426,"tag":10630,"props":157539,"children":157540},{},[157541],{"type":426,"tag":446,"props":157542,"children":157543},{},[157544],{"type":431,"value":148332},{"type":426,"tag":10608,"props":157546,"children":157547},{},[157548,157553],{"type":426,"tag":10630,"props":157549,"children":157550},{},[157551],{"type":431,"value":157552},"Vonage (Utility conversations, US)",{"type":426,"tag":10630,"props":157554,"children":157555},{},[157556],{"type":431,"value":157557},"~$75\u002Fmonth (5,000 × $0.015)",{"type":426,"tag":10608,"props":157559,"children":157560},{},[157561,157566],{"type":426,"tag":10630,"props":157562,"children":157563},{},[157564],{"type":431,"value":157565},"Vonage (Marketing conversations, US)",{"type":426,"tag":10630,"props":157567,"children":157568},{},[157569],{"type":431,"value":157570},"~$125\u002Fmonth (5,000 × $0.025)",{"type":426,"tag":427,"props":157572,"children":157573},{},[157574],{"type":431,"value":157575},"Rapiwa is 15–25x cheaper at this volume.",{"type":426,"tag":434,"props":157577,"children":157578},{"id":4109},[157579],{"type":431,"value":4112},{"type":426,"tag":427,"props":157581,"children":157582},{},[157583,157588],{"type":426,"tag":446,"props":157584,"children":157585},{},[157586],{"type":431,"value":157587},"Is Vonage better than Rapiwa for WhatsApp?",{"type":431,"value":157589},"\nVonage is better for enterprise compliance (official Meta API, green badge). Rapiwa is better for developer-friendliness, cost, and speed of setup.",{"type":426,"tag":427,"props":157591,"children":157592},{},[157593,157598],{"type":426,"tag":446,"props":157594,"children":157595},{},[157596],{"type":431,"value":157597},"Does Vonage have a free WhatsApp API trial?",{"type":431,"value":157599},"\nVonage has a sandbox environment for testing. Rapiwa has a 3-day free trial with full production API access.",{"type":426,"tag":427,"props":157601,"children":157602},{},[157603,157608],{"type":426,"tag":446,"props":157604,"children":157605},{},[157606],{"type":431,"value":157607},"Can I use Rapiwa and Vonage together?",{"type":431,"value":157609},"\nYes — different use cases. Use Rapiwa for cost-efficient internal tools and automations, and Vonage for customer-facing regulated communications if needed.",{"type":426,"tag":427,"props":157611,"children":157612},{},[157613,157618],{"type":426,"tag":446,"props":157614,"children":157615},{},[157616],{"type":431,"value":157617},"What is Vonage's WhatsApp pricing?",{"type":431,"value":157619},"\nVonage charges Meta's per-conversation rates plus Vonage's own platform fees. Check Vonage's current pricing at vonage.com — it changes with Meta's pricing updates.",{"type":426,"tag":4164,"props":157621,"children":157622},{},[157623],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":157625},[157626,157627,157628,157629,157635,157636],{"id":157079,"depth":588,"text":157082},{"id":157288,"depth":588,"text":157291},{"id":157335,"depth":588,"text":157338},{"id":157369,"depth":588,"text":157372,"children":157630},[157631,157632,157633,157634],{"id":157375,"depth":606,"text":157378},{"id":157466,"depth":606,"text":157469},{"id":157477,"depth":606,"text":157480},{"id":157493,"depth":606,"text":157496},{"id":157504,"depth":588,"text":157507},{"id":4109,"depth":588,"text":4112},"content:blog:rapiwa-vs-vonage-whatsapp-api-developer-friendly.md","blog\u002Frapiwa-vs-vonage-whatsapp-api-developer-friendly.md","blog\u002Frapiwa-vs-vonage-whatsapp-api-developer-friendly",{"loc":246},{"_path":250,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":251,"description":252,"date":157642,"author":419,"category":212,"_slug":157643,"image":157644,"body":157645,"_type":4187,"_id":158329,"_source":4189,"_file":158330,"_stem":158331,"_extension":4192,"sitemap":158332},"2026-01-14","waha-pricing-breakdown-is-it-cheaper-than-rapiwa","\u002Fimages\u002Fblog\u002Fwaha-pricing-breakdown-is-it-cheaper-than-rapiwa.svg",{"type":423,"children":157646,"toc":158309},[157647,157659,157665,157671,157676,157684,157776,157782,157787,157810,157820,157826,158075,158081,158087,158092,158098,158103,158109,158114,158120,158126,158131,158136,158142,158147,158153,158158,158164,158169,158175,158235,158243,158248,158252,158262,158272,158282,158299],{"type":426,"tag":427,"props":157648,"children":157649},{},[157650,157652,157657],{"type":431,"value":157651},"WAHA's hosted plan costs $19\u002Fmonth. Self-hosting WAHA appears free but costs $40+\u002Fmonth when VPS and maintenance are included. ",{"type":426,"tag":3819,"props":157653,"children":157655},{"href":3821,"rel":157654},[3823],[157656],{"type":431,"value":127310},{"type":431,"value":157658}," costs $5\u002Fmonth with zero server management. Despite WAHA's open-source reputation, Rapiwa is 73–90% cheaper when total cost is calculated honestly.",{"type":426,"tag":434,"props":157660,"children":157662},{"id":157661},"waha-pricing-options",[157663],{"type":431,"value":157664},"WAHA Pricing Options",{"type":426,"tag":515,"props":157666,"children":157668},{"id":157667},"option-1-waha-self-hosted-free-software-your-infrastructure",[157669],{"type":431,"value":157670},"Option 1: WAHA Self-Hosted (Free Software + Your Infrastructure)",{"type":426,"tag":427,"props":157672,"children":157673},{},[157674],{"type":431,"value":157675},"WAHA (waha.plus) is available as open-source software at no cost. You provide the server.",{"type":426,"tag":427,"props":157677,"children":157678},{},[157679],{"type":426,"tag":446,"props":157680,"children":157681},{},[157682],{"type":431,"value":157683},"True cost breakdown:",{"type":426,"tag":10600,"props":157685,"children":157686},{},[157687,157702],{"type":426,"tag":10604,"props":157688,"children":157689},{},[157690],{"type":426,"tag":10608,"props":157691,"children":157692},{},[157693,157697],{"type":426,"tag":10612,"props":157694,"children":157695},{},[157696],{"type":431,"value":150124},{"type":426,"tag":10612,"props":157698,"children":157699},{},[157700],{"type":431,"value":157701},"Monthly",{"type":426,"tag":10623,"props":157703,"children":157704},{},[157705,157718,157731,157744,157757],{"type":426,"tag":10608,"props":157706,"children":157707},{},[157708,157713],{"type":426,"tag":10630,"props":157709,"children":157710},{},[157711],{"type":431,"value":157712},"VPS minimum 2GB RAM",{"type":426,"tag":10630,"props":157714,"children":157715},{},[157716],{"type":431,"value":157717},"$10–15",{"type":426,"tag":10608,"props":157719,"children":157720},{},[157721,157726],{"type":426,"tag":10630,"props":157722,"children":157723},{},[157724],{"type":431,"value":157725},"Recommended 4GB RAM VPS",{"type":426,"tag":10630,"props":157727,"children":157728},{},[157729],{"type":431,"value":157730},"$20–35",{"type":426,"tag":10608,"props":157732,"children":157733},{},[157734,157739],{"type":426,"tag":10630,"props":157735,"children":157736},{},[157737],{"type":431,"value":157738},"Initial setup time (2–4 hours)",{"type":426,"tag":10630,"props":157740,"children":157741},{},[157742],{"type":431,"value":157743},"$60–120 one-time",{"type":426,"tag":10608,"props":157745,"children":157746},{},[157747,157752],{"type":426,"tag":10630,"props":157748,"children":157749},{},[157750],{"type":431,"value":157751},"Monthly maintenance (2–5 hrs)",{"type":426,"tag":10630,"props":157753,"children":157754},{},[157755],{"type":431,"value":157756},"$60–150",{"type":426,"tag":10608,"props":157758,"children":157759},{},[157760,157768],{"type":426,"tag":10630,"props":157761,"children":157762},{},[157763],{"type":426,"tag":446,"props":157764,"children":157765},{},[157766],{"type":431,"value":157767},"True monthly cost",{"type":426,"tag":10630,"props":157769,"children":157770},{},[157771],{"type":426,"tag":446,"props":157772,"children":157773},{},[157774],{"type":431,"value":157775},"$40–185+",{"type":426,"tag":515,"props":157777,"children":157779},{"id":157778},"option-2-waha-cloud-19month",[157780],{"type":431,"value":157781},"Option 2: WAHA Cloud ($19\u002Fmonth)",{"type":426,"tag":427,"props":157783,"children":157784},{},[157785],{"type":431,"value":157786},"WAHA offers a fully managed hosted version at $19\u002Fmonth:",{"type":426,"tag":454,"props":157788,"children":157789},{},[157790,157795,157800,157805],{"type":426,"tag":458,"props":157791,"children":157792},{},[157793],{"type":431,"value":157794},"1 WhatsApp session included",{"type":426,"tag":458,"props":157796,"children":157797},{},[157798],{"type":431,"value":157799},"WAHA manages the infrastructure",{"type":426,"tag":458,"props":157801,"children":157802},{},[157803],{"type":431,"value":157804},"WAHA PLUS tier includes all features",{"type":426,"tag":458,"props":157806,"children":157807},{},[157808],{"type":431,"value":157809},"14-day money-back guarantee",{"type":426,"tag":427,"props":157811,"children":157812},{},[157813,157818],{"type":426,"tag":446,"props":157814,"children":157815},{},[157816],{"type":431,"value":157817},"True cost: $19\u002Fmonth",{"type":431,"value":157819}," (no hidden VPS costs)",{"type":426,"tag":434,"props":157821,"children":157823},{"id":157822},"waha-vs-rapiwa-full-comparison",[157824],{"type":431,"value":157825},"WAHA vs Rapiwa: Full Comparison",{"type":426,"tag":10600,"props":157827,"children":157828},{},[157829,157852],{"type":426,"tag":10604,"props":157830,"children":157831},{},[157832],{"type":426,"tag":10608,"props":157833,"children":157834},{},[157835,157839,157844,157848],{"type":426,"tag":10612,"props":157836,"children":157837},{},[157838],{"type":431,"value":16096},{"type":426,"tag":10612,"props":157840,"children":157841},{},[157842],{"type":431,"value":157843},"WAHA Self",{"type":426,"tag":10612,"props":157845,"children":157846},{},[157847],{"type":431,"value":147196},{"type":426,"tag":10612,"props":157849,"children":157850},{},[157851],{"type":431,"value":127310},{"type":426,"tag":10623,"props":157853,"children":157854},{},[157855,157879,157902,157926,157948,157970,157993,158017,158037,158056],{"type":426,"tag":10608,"props":157856,"children":157857},{},[157858,157863,157868,157872],{"type":426,"tag":10630,"props":157859,"children":157860},{},[157861],{"type":431,"value":157862},"Monthly cost",{"type":426,"tag":10630,"props":157864,"children":157865},{},[157866],{"type":431,"value":157867},"$40+ real",{"type":426,"tag":10630,"props":157869,"children":157870},{},[157871],{"type":431,"value":147205},{"type":426,"tag":10630,"props":157873,"children":157874},{},[157875],{"type":426,"tag":446,"props":157876,"children":157877},{},[157878],{"type":431,"value":147125},{"type":426,"tag":10608,"props":157880,"children":157881},{},[157882,157886,157891,157895],{"type":426,"tag":10630,"props":157883,"children":157884},{},[157885],{"type":431,"value":150917},{"type":426,"tag":10630,"props":157887,"children":157888},{},[157889],{"type":431,"value":157890},"1–4 hours",{"type":426,"tag":10630,"props":157892,"children":157893},{},[157894],{"type":431,"value":147222},{"type":426,"tag":10630,"props":157896,"children":157897},{},[157898],{"type":426,"tag":446,"props":157899,"children":157900},{},[157901],{"type":431,"value":147155},{"type":426,"tag":10608,"props":157903,"children":157904},{},[157905,157910,157915,157919],{"type":426,"tag":10630,"props":157906,"children":157907},{},[157908],{"type":431,"value":157909},"Server management",{"type":426,"tag":10630,"props":157911,"children":157912},{},[157913],{"type":431,"value":157914},"You",{"type":426,"tag":10630,"props":157916,"children":157917},{},[157918],{"type":431,"value":155635},{"type":426,"tag":10630,"props":157920,"children":157921},{},[157922],{"type":426,"tag":446,"props":157923,"children":157924},{},[157925],{"type":431,"value":127310},{"type":426,"tag":10608,"props":157927,"children":157928},{},[157929,157933,157937,157941],{"type":426,"tag":10630,"props":157930,"children":157931},{},[157932],{"type":431,"value":148534},{"type":426,"tag":10630,"props":157934,"children":157935},{},[157936],{"type":431,"value":78130},{"type":426,"tag":10630,"props":157938,"children":157939},{},[157940],{"type":431,"value":78130},{"type":426,"tag":10630,"props":157942,"children":157943},{},[157944],{"type":426,"tag":446,"props":157945,"children":157946},{},[157947],{"type":431,"value":103087},{"type":426,"tag":10608,"props":157949,"children":157950},{},[157951,157955,157959,157963],{"type":426,"tag":10630,"props":157952,"children":157953},{},[157954],{"type":431,"value":16164},{"type":426,"tag":10630,"props":157956,"children":157957},{},[157958],{"type":431,"value":78130},{"type":426,"tag":10630,"props":157960,"children":157961},{},[157962],{"type":431,"value":78130},{"type":426,"tag":10630,"props":157964,"children":157965},{},[157966],{"type":426,"tag":446,"props":157967,"children":157968},{},[157969],{"type":431,"value":150909},{"type":426,"tag":10608,"props":157971,"children":157972},{},[157973,157977,157982,157986],{"type":426,"tag":10630,"props":157974,"children":157975},{},[157976],{"type":431,"value":10800},{"type":426,"tag":10630,"props":157978,"children":157979},{},[157980],{"type":431,"value":157981},"—",{"type":426,"tag":10630,"props":157983,"children":157984},{},[157985],{"type":431,"value":157981},{"type":426,"tag":10630,"props":157987,"children":157988},{},[157989],{"type":426,"tag":446,"props":157990,"children":157991},{},[157992],{"type":431,"value":10805},{"type":426,"tag":10608,"props":157994,"children":157995},{},[157996,158000,158005,158010],{"type":426,"tag":10630,"props":157997,"children":157998},{},[157999],{"type":431,"value":10787},{"type":426,"tag":10630,"props":158001,"children":158002},{},[158003],{"type":431,"value":158004},"Community",{"type":426,"tag":10630,"props":158006,"children":158007},{},[158008],{"type":431,"value":158009},"14 days",{"type":426,"tag":10630,"props":158011,"children":158012},{},[158013],{"type":426,"tag":446,"props":158014,"children":158015},{},[158016],{"type":431,"value":148394},{"type":426,"tag":10608,"props":158018,"children":158019},{},[158020,158025,158029,158033],{"type":426,"tag":10630,"props":158021,"children":158022},{},[158023],{"type":431,"value":158024},"Open source",{"type":426,"tag":10630,"props":158026,"children":158027},{},[158028],{"type":431,"value":103087},{"type":426,"tag":10630,"props":158030,"children":158031},{},[158032],{"type":431,"value":78130},{"type":426,"tag":10630,"props":158034,"children":158035},{},[158036],{"type":431,"value":78130},{"type":426,"tag":10608,"props":158038,"children":158039},{},[158040,158044,158048,158052],{"type":426,"tag":10630,"props":158041,"children":158042},{},[158043],{"type":431,"value":148580},{"type":426,"tag":10630,"props":158045,"children":158046},{},[158047],{"type":431,"value":103087},{"type":426,"tag":10630,"props":158049,"children":158050},{},[158051],{"type":431,"value":103087},{"type":426,"tag":10630,"props":158053,"children":158054},{},[158055],{"type":431,"value":103087},{"type":426,"tag":10608,"props":158057,"children":158058},{},[158059,158063,158067,158071],{"type":426,"tag":10630,"props":158060,"children":158061},{},[158062],{"type":431,"value":102926},{"type":426,"tag":10630,"props":158064,"children":158065},{},[158066],{"type":431,"value":103087},{"type":426,"tag":10630,"props":158068,"children":158069},{},[158070],{"type":431,"value":103087},{"type":426,"tag":10630,"props":158072,"children":158073},{},[158074],{"type":431,"value":103087},{"type":426,"tag":434,"props":158076,"children":158078},{"id":158077},"where-waha-beats-rapiwa",[158079],{"type":431,"value":158080},"Where WAHA Beats Rapiwa",{"type":426,"tag":515,"props":158082,"children":158084},{"id":158083},"_1-self-hosted-data-control",[158085],{"type":431,"value":158086},"1. Self-Hosted Data Control",{"type":426,"tag":427,"props":158088,"children":158089},{},[158090],{"type":431,"value":158091},"WAHA self-hosted gives you complete control over where message data lives. For regulated industries, this is essential.",{"type":426,"tag":515,"props":158093,"children":158095},{"id":158094},"_2-open-source-transparency",[158096],{"type":431,"value":158097},"2. Open Source Transparency",{"type":426,"tag":427,"props":158099,"children":158100},{},[158101],{"type":431,"value":158102},"WAHA's source code is publicly auditable. Developers can inspect exactly how sessions work, contribute improvements, and fork the codebase.",{"type":426,"tag":515,"props":158104,"children":158106},{"id":158105},"_3-unlimited-sessions-on-one-vps",[158107],{"type":431,"value":158108},"3. Unlimited Sessions on One VPS",{"type":426,"tag":427,"props":158110,"children":158111},{},[158112],{"type":431,"value":158113},"Self-hosted WAHA can run as many WhatsApp sessions as your VPS hardware supports — no per-session pricing.",{"type":426,"tag":434,"props":158115,"children":158117},{"id":158116},"where-rapiwa-beats-waha",[158118],{"type":431,"value":158119},"Where Rapiwa Beats WAHA",{"type":426,"tag":515,"props":158121,"children":158123},{"id":158122},"_1-price-dramatically",[158124],{"type":431,"value":158125},"1. Price (Dramatically)",{"type":426,"tag":427,"props":158127,"children":158128},{},[158129],{"type":431,"value":158130},"Rapiwa: $5\u002Fmonth. WAHA Cloud: $19\u002Fmonth. For equivalent functionality, Rapiwa is 73% cheaper than WAHA's managed tier.",{"type":426,"tag":427,"props":158132,"children":158133},{},[158134],{"type":431,"value":158135},"WAHA self-hosted is technically cheaper in software cost, but the honest comparison above shows $40+ real cost.",{"type":426,"tag":515,"props":158137,"children":158139},{"id":158138},"_2-integration-ecosystem",[158140],{"type":431,"value":158141},"2. Integration Ecosystem",{"type":426,"tag":427,"props":158143,"children":158144},{},[158145],{"type":431,"value":158146},"WAHA has no WooCommerce plugin, no n8n templates, and no pre-built automation workflows. Rapiwa has all three.",{"type":426,"tag":515,"props":158148,"children":158150},{"id":158149},"_3-setup-speed",[158151],{"type":431,"value":158152},"3. Setup Speed",{"type":426,"tag":427,"props":158154,"children":158155},{},[158156],{"type":431,"value":158157},"Rapiwa: 5 minutes. WAHA Cloud: ~30 minutes. WAHA Self-hosted: 1–4 hours.",{"type":426,"tag":515,"props":158159,"children":158161},{"id":158160},"_4-verified-community-rating",[158162],{"type":431,"value":158163},"4. Verified Community Rating",{"type":426,"tag":427,"props":158165,"children":158166},{},[158167],{"type":431,"value":158168},"Rapiwa: 5.0\u002F5 Sourceforge. WAHA: no Sourceforge listing.",{"type":426,"tag":434,"props":158170,"children":158172},{"id":158171},"the-verdict-is-waha-cheaper-than-rapiwa",[158173],{"type":431,"value":158174},"The Verdict: Is WAHA Cheaper Than Rapiwa?",{"type":426,"tag":10600,"props":158176,"children":158177},{},[158178,158193],{"type":426,"tag":10604,"props":158179,"children":158180},{},[158181],{"type":426,"tag":10608,"props":158182,"children":158183},{},[158184,158189],{"type":426,"tag":10612,"props":158185,"children":158186},{},[158187],{"type":431,"value":158188},"Comparison",{"type":426,"tag":10612,"props":158190,"children":158191},{},[158192],{"type":431,"value":125369},{"type":426,"tag":10623,"props":158194,"children":158195},{},[158196,158209,158222],{"type":426,"tag":10608,"props":158197,"children":158198},{},[158199,158204],{"type":426,"tag":10630,"props":158200,"children":158201},{},[158202],{"type":431,"value":158203},"WAHA Software vs Rapiwa",{"type":426,"tag":10630,"props":158205,"children":158206},{},[158207],{"type":431,"value":158208},"WAHA software is $0, Rapiwa is $5",{"type":426,"tag":10608,"props":158210,"children":158211},{},[158212,158217],{"type":426,"tag":10630,"props":158213,"children":158214},{},[158215],{"type":431,"value":158216},"WAHA Cloud vs Rapiwa",{"type":426,"tag":10630,"props":158218,"children":158219},{},[158220],{"type":431,"value":158221},"Rapiwa is 73% cheaper ($5 vs $19)",{"type":426,"tag":10608,"props":158223,"children":158224},{},[158225,158230],{"type":426,"tag":10630,"props":158226,"children":158227},{},[158228],{"type":431,"value":158229},"WAHA Self-Hosted (real cost) vs Rapiwa",{"type":426,"tag":10630,"props":158231,"children":158232},{},[158233],{"type":431,"value":158234},"Rapiwa is 88%+ cheaper",{"type":426,"tag":427,"props":158236,"children":158237},{},[158238],{"type":426,"tag":446,"props":158239,"children":158240},{},[158241],{"type":431,"value":158242},"WAHA's software is cheaper. WAHA's total cost is not.",{"type":426,"tag":427,"props":158244,"children":158245},{},[158246],{"type":431,"value":158247},"For most businesses and developers, Rapiwa at $5\u002Fmonth is the clear winner.",{"type":426,"tag":434,"props":158249,"children":158250},{"id":4109},[158251],{"type":431,"value":4112},{"type":426,"tag":427,"props":158253,"children":158254},{},[158255,158260],{"type":426,"tag":446,"props":158256,"children":158257},{},[158258],{"type":431,"value":158259},"How much does WAHA cost per month?",{"type":431,"value":158261},"\nWAHA's hosted cloud plan costs $19\u002Fmonth. The self-hosted version is free software but requires a VPS ($15–35\u002Fmonth) and maintenance time, bringing the true monthly cost to $40–90+.",{"type":426,"tag":427,"props":158263,"children":158264},{},[158265,158270],{"type":426,"tag":446,"props":158266,"children":158267},{},[158268],{"type":431,"value":158269},"Is WAHA free?",{"type":431,"value":158271},"\nWAHA's software is open-source and free to download. Running it requires your own server infrastructure. The hosted WAHA Cloud service costs $19\u002Fmonth.",{"type":426,"tag":427,"props":158273,"children":158274},{},[158275,158280],{"type":426,"tag":446,"props":158276,"children":158277},{},[158278],{"type":431,"value":158279},"What is cheaper — WAHA or Rapiwa?",{"type":431,"value":158281},"\nRapiwa at $5\u002Fmonth is cheaper than WAHA Cloud ($19\u002Fmonth) and cheaper than WAHA self-hosted (true cost $40+\u002Fmonth). WAHA's software fee is lower, but Rapiwa's total cost of ownership is lower.",{"type":426,"tag":427,"props":158283,"children":158284},{},[158285,158290,158292,158297],{"type":426,"tag":446,"props":158286,"children":158287},{},[158288],{"type":431,"value":158289},"Does WAHA have a WooCommerce plugin?",{"type":431,"value":158291},"\nNo. WAHA is an API-only product. Rapiwa has a dedicated ",{"type":426,"tag":3819,"props":158293,"children":158295},{"href":131923,"rel":158294},[3823],[158296],{"type":431,"value":148534},{"type":431,"value":158298}," and 5 WooCommerce n8n templates.",{"type":426,"tag":427,"props":158300,"children":158301},{},[158302,158307],{"type":426,"tag":446,"props":158303,"children":158304},{},[158305],{"type":431,"value":158306},"Can I switch from WAHA to Rapiwa?",{"type":431,"value":158308},"\nYes. Rapiwa uses standard Bearer token auth and cleaner field names than WAHA. Migration for basic messaging takes 30–60 minutes.",{"title":417,"searchDepth":588,"depth":588,"links":158310},[158311,158315,158316,158321,158327,158328],{"id":157661,"depth":588,"text":157664,"children":158312},[158313,158314],{"id":157667,"depth":606,"text":157670},{"id":157778,"depth":606,"text":157781},{"id":157822,"depth":588,"text":157825},{"id":158077,"depth":588,"text":158080,"children":158317},[158318,158319,158320],{"id":158083,"depth":606,"text":158086},{"id":158094,"depth":606,"text":158097},{"id":158105,"depth":606,"text":158108},{"id":158116,"depth":588,"text":158119,"children":158322},[158323,158324,158325,158326],{"id":158122,"depth":606,"text":158125},{"id":158138,"depth":606,"text":158141},{"id":158149,"depth":606,"text":158152},{"id":158160,"depth":606,"text":158163},{"id":158171,"depth":588,"text":158174},{"id":4109,"depth":588,"text":4112},"content:blog:waha-pricing-breakdown-is-it-cheaper-than-rapiwa.md","blog\u002Fwaha-pricing-breakdown-is-it-cheaper-than-rapiwa.md","blog\u002Fwaha-pricing-breakdown-is-it-cheaper-than-rapiwa",{"loc":250},{"_path":254,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":255,"description":256,"date":158334,"author":6858,"category":212,"_slug":158335,"image":158336,"body":158337,"_type":4187,"_id":159183,"_source":4189,"_file":159184,"_stem":159185,"_extension":4192,"sitemap":159186},"2026-01-13","self-hosted-vs-cloud-whatsapp-api-real-cost-comparison","\u002Fimages\u002Fblog\u002Fself-hosted-vs-cloud-whatsapp-api-real-cost-comparison.svg",{"type":423,"children":158338,"toc":159171},[158339,158351,158357,158362,158368,158468,158474,158479,158593,158603,158613,158619,158796,158806,158812,158980,158986,158991,159034,159039,159045,159050,159103,159109,159117,159121,159131,159141,159151,159161],{"type":426,"tag":427,"props":158340,"children":158341},{},[158342,158344,158349],{"type":431,"value":158343},"Self-hosted WhatsApp APIs (Evolution API, WAHA) cost $0 in software fees but $40–90+\u002Fmonth when VPS and maintenance time are included. Cloud-managed APIs like ",{"type":426,"tag":3819,"props":158345,"children":158347},{"href":3821,"rel":158346},[3823],[158348],{"type":431,"value":127310},{"type":431,"value":158350}," cost $5\u002Fmonth with zero server management. For most teams, the cloud option is cheaper and more reliable — unless data sovereignty or custom modifications are required.",{"type":426,"tag":434,"props":158352,"children":158354},{"id":158353},"the-free-self-hosted-myth",[158355],{"type":431,"value":158356},"The \"Free\" Self-Hosted Myth",{"type":426,"tag":427,"props":158358,"children":158359},{},[158360],{"type":431,"value":158361},"Developers are attracted to self-hosted WhatsApp APIs by the \"$0 software cost\" headline. The real calculation includes:",{"type":426,"tag":515,"props":158363,"children":158365},{"id":158364},"vps-requirements-for-stable-operation",[158366],{"type":431,"value":158367},"VPS Requirements for Stable Operation",{"type":426,"tag":10600,"props":158369,"children":158370},{},[158371,158397],{"type":426,"tag":10604,"props":158372,"children":158373},{},[158374],{"type":426,"tag":10608,"props":158375,"children":158376},{},[158377,158382,158387,158392],{"type":426,"tag":10612,"props":158378,"children":158379},{},[158380],{"type":431,"value":158381},"API",{"type":426,"tag":10612,"props":158383,"children":158384},{},[158385],{"type":431,"value":158386},"Minimum RAM",{"type":426,"tag":10612,"props":158388,"children":158389},{},[158390],{"type":431,"value":158391},"Recommended RAM",{"type":426,"tag":10612,"props":158393,"children":158394},{},[158395],{"type":431,"value":158396},"VPS Cost",{"type":426,"tag":10623,"props":158398,"children":158399},{},[158400,158425,158447],{"type":426,"tag":10608,"props":158401,"children":158402},{},[158403,158407,158412,158420],{"type":426,"tag":10630,"props":158404,"children":158405},{},[158406],{"type":431,"value":155656},{"type":426,"tag":10630,"props":158408,"children":158409},{},[158410],{"type":431,"value":158411},"2GB",{"type":426,"tag":10630,"props":158413,"children":158414},{},[158415],{"type":426,"tag":446,"props":158416,"children":158417},{},[158418],{"type":431,"value":158419},"4GB",{"type":426,"tag":10630,"props":158421,"children":158422},{},[158423],{"type":431,"value":158424},"$15–35\u002Fmonth",{"type":426,"tag":10608,"props":158426,"children":158427},{},[158428,158432,158436,158443],{"type":426,"tag":10630,"props":158429,"children":158430},{},[158431],{"type":431,"value":155635},{"type":426,"tag":10630,"props":158433,"children":158434},{},[158435],{"type":431,"value":158411},{"type":426,"tag":10630,"props":158437,"children":158438},{},[158439],{"type":426,"tag":446,"props":158440,"children":158441},{},[158442],{"type":431,"value":158419},{"type":426,"tag":10630,"props":158444,"children":158445},{},[158446],{"type":431,"value":158424},{"type":426,"tag":10608,"props":158448,"children":158449},{},[158450,158455,158460,158464],{"type":426,"tag":10630,"props":158451,"children":158452},{},[158453],{"type":431,"value":158454},"Baileys",{"type":426,"tag":10630,"props":158456,"children":158457},{},[158458],{"type":431,"value":158459},"1GB",{"type":426,"tag":10630,"props":158461,"children":158462},{},[158463],{"type":431,"value":158411},{"type":426,"tag":10630,"props":158465,"children":158466},{},[158467],{"type":431,"value":150381},{"type":426,"tag":515,"props":158469,"children":158471},{"id":158470},"developer-maintenance-time",[158472],{"type":431,"value":158473},"Developer Maintenance Time",{"type":426,"tag":427,"props":158475,"children":158476},{},[158477],{"type":431,"value":158478},"Self-hosted WhatsApp APIs require ongoing maintenance:",{"type":426,"tag":10600,"props":158480,"children":158481},{},[158482,158503],{"type":426,"tag":10604,"props":158483,"children":158484},{},[158485],{"type":426,"tag":10608,"props":158486,"children":158487},{},[158488,158493,158498],{"type":426,"tag":10612,"props":158489,"children":158490},{},[158491],{"type":431,"value":158492},"Task",{"type":426,"tag":10612,"props":158494,"children":158495},{},[158496],{"type":431,"value":158497},"Frequency",{"type":426,"tag":10612,"props":158499,"children":158500},{},[158501],{"type":431,"value":158502},"Time per incident",{"type":426,"tag":10623,"props":158504,"children":158505},{},[158506,158524,158542,158559,158575],{"type":426,"tag":10608,"props":158507,"children":158508},{},[158509,158514,158519],{"type":426,"tag":10630,"props":158510,"children":158511},{},[158512],{"type":431,"value":158513},"WhatsApp protocol update breaks API",{"type":426,"tag":10630,"props":158515,"children":158516},{},[158517],{"type":431,"value":158518},"3–6×\u002Fyear",{"type":426,"tag":10630,"props":158520,"children":158521},{},[158522],{"type":431,"value":158523},"30–120 min",{"type":426,"tag":10608,"props":158525,"children":158526},{},[158527,158532,158537],{"type":426,"tag":10630,"props":158528,"children":158529},{},[158530],{"type":431,"value":158531},"Session disconnection recovery",{"type":426,"tag":10630,"props":158533,"children":158534},{},[158535],{"type":431,"value":158536},"2–4×\u002Fmonth",{"type":426,"tag":10630,"props":158538,"children":158539},{},[158540],{"type":431,"value":158541},"15–30 min",{"type":426,"tag":10608,"props":158543,"children":158544},{},[158545,158550,158554],{"type":426,"tag":10630,"props":158546,"children":158547},{},[158548],{"type":431,"value":158549},"VPS monitoring\u002Fmaintenance",{"type":426,"tag":10630,"props":158551,"children":158552},{},[158553],{"type":431,"value":157701},{"type":426,"tag":10630,"props":158555,"children":158556},{},[158557],{"type":431,"value":158558},"30–60 min",{"type":426,"tag":10608,"props":158560,"children":158561},{},[158562,158567,158571],{"type":426,"tag":10630,"props":158563,"children":158564},{},[158565],{"type":431,"value":158566},"Dependency updates",{"type":426,"tag":10630,"props":158568,"children":158569},{},[158570],{"type":431,"value":157701},{"type":426,"tag":10630,"props":158572,"children":158573},{},[158574],{"type":431,"value":158558},{"type":426,"tag":10608,"props":158576,"children":158577},{},[158578,158583,158588],{"type":426,"tag":10630,"props":158579,"children":158580},{},[158581],{"type":431,"value":158582},"Initial setup",{"type":426,"tag":10630,"props":158584,"children":158585},{},[158586],{"type":431,"value":158587},"Once",{"type":426,"tag":10630,"props":158589,"children":158590},{},[158591],{"type":431,"value":158592},"2–4 hours",{"type":426,"tag":427,"props":158594,"children":158595},{},[158596,158601],{"type":426,"tag":446,"props":158597,"children":158598},{},[158599],{"type":431,"value":158600},"Monthly maintenance estimate",{"type":431,"value":158602},": 3–8 hours",{"type":426,"tag":427,"props":158604,"children":158605},{},[158606,158611],{"type":426,"tag":446,"props":158607,"children":158608},{},[158609],{"type":431,"value":158610},"Valued at $30\u002Fhour",{"type":431,"value":158612},": $90–240\u002Fmonth in developer time",{"type":426,"tag":515,"props":158614,"children":158616},{"id":158615},"true-monthly-cost-self-hosted-vs-cloud",[158617],{"type":431,"value":158618},"True Monthly Cost: Self-Hosted vs Cloud",{"type":426,"tag":10600,"props":158620,"children":158621},{},[158622,158656],{"type":426,"tag":10604,"props":158623,"children":158624},{},[158625],{"type":426,"tag":10608,"props":158626,"children":158627},{},[158628,158633,158638,158643,158648],{"type":426,"tag":10612,"props":158629,"children":158630},{},[158631],{"type":431,"value":158632},"Option",{"type":426,"tag":10612,"props":158634,"children":158635},{},[158636],{"type":431,"value":158637},"Software",{"type":426,"tag":10612,"props":158639,"children":158640},{},[158641],{"type":431,"value":158642},"VPS",{"type":426,"tag":10612,"props":158644,"children":158645},{},[158646],{"type":431,"value":158647},"Admin (5h @ $30\u002Fh)",{"type":426,"tag":10612,"props":158649,"children":158650},{},[158651],{"type":426,"tag":446,"props":158652,"children":158653},{},[158654],{"type":431,"value":158655},"True Total",{"type":426,"tag":10623,"props":158657,"children":158658},{},[158659,158688,158715,158744,158770],{"type":426,"tag":10608,"props":158660,"children":158661},{},[158662,158666,158670,158675,158680],{"type":426,"tag":10630,"props":158663,"children":158664},{},[158665],{"type":431,"value":155656},{"type":426,"tag":10630,"props":158667,"children":158668},{},[158669],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158671,"children":158672},{},[158673],{"type":431,"value":158674},"$20",{"type":426,"tag":10630,"props":158676,"children":158677},{},[158678],{"type":431,"value":158679},"$150",{"type":426,"tag":10630,"props":158681,"children":158682},{},[158683],{"type":426,"tag":446,"props":158684,"children":158685},{},[158686],{"type":431,"value":158687},"$170\u002Fmonth",{"type":426,"tag":10608,"props":158689,"children":158690},{},[158691,158696,158700,158704,158708],{"type":426,"tag":10630,"props":158692,"children":158693},{},[158694],{"type":431,"value":158695},"WAHA Self-Hosted",{"type":426,"tag":10630,"props":158697,"children":158698},{},[158699],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158701,"children":158702},{},[158703],{"type":431,"value":158674},{"type":426,"tag":10630,"props":158705,"children":158706},{},[158707],{"type":431,"value":158679},{"type":426,"tag":10630,"props":158709,"children":158710},{},[158711],{"type":426,"tag":446,"props":158712,"children":158713},{},[158714],{"type":431,"value":158687},{"type":426,"tag":10608,"props":158716,"children":158717},{},[158718,158725,158729,158733,158737],{"type":426,"tag":10630,"props":158719,"children":158720},{},[158721],{"type":426,"tag":446,"props":158722,"children":158723},{},[158724],{"type":431,"value":127310},{"type":426,"tag":10630,"props":158726,"children":158727},{},[158728],{"type":431,"value":147125},{"type":426,"tag":10630,"props":158730,"children":158731},{},[158732],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158734,"children":158735},{},[158736],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158738,"children":158739},{},[158740],{"type":426,"tag":446,"props":158741,"children":158742},{},[158743],{"type":431,"value":148332},{"type":426,"tag":10608,"props":158745,"children":158746},{},[158747,158751,158755,158759,158763],{"type":426,"tag":10630,"props":158748,"children":158749},{},[158750],{"type":431,"value":147163},{"type":426,"tag":10630,"props":158752,"children":158753},{},[158754],{"type":431,"value":147172},{"type":426,"tag":10630,"props":158756,"children":158757},{},[158758],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158760,"children":158761},{},[158762],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158764,"children":158765},{},[158766],{"type":426,"tag":446,"props":158767,"children":158768},{},[158769],{"type":431,"value":148324},{"type":426,"tag":10608,"props":158771,"children":158772},{},[158773,158777,158781,158785,158789],{"type":426,"tag":10630,"props":158774,"children":158775},{},[158776],{"type":431,"value":147196},{"type":426,"tag":10630,"props":158778,"children":158779},{},[158780],{"type":431,"value":147205},{"type":426,"tag":10630,"props":158782,"children":158783},{},[158784],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158786,"children":158787},{},[158788],{"type":431,"value":150083},{"type":426,"tag":10630,"props":158790,"children":158791},{},[158792],{"type":426,"tag":446,"props":158793,"children":158794},{},[158795],{"type":431,"value":149858},{"type":426,"tag":427,"props":158797,"children":158798},{},[158799,158804],{"type":426,"tag":446,"props":158800,"children":158801},{},[158802],{"type":431,"value":158803},"At the most conservative estimate",{"type":431,"value":158805}," (2 hours\u002Fmonth admin @ $15\u002Fhour + $15 VPS): self-hosted costs $45\u002Fmonth. Rapiwa at $5\u002Fmonth saves $40\u002Fmonth = $480\u002Fyear.",{"type":426,"tag":434,"props":158807,"children":158809},{"id":158808},"technical-comparison-self-hosted-vs-cloud",[158810],{"type":431,"value":158811},"Technical Comparison: Self-Hosted vs Cloud",{"type":426,"tag":10600,"props":158813,"children":158814},{},[158815,158835],{"type":426,"tag":10604,"props":158816,"children":158817},{},[158818],{"type":426,"tag":10608,"props":158819,"children":158820},{},[158821,158826,158830],{"type":426,"tag":10612,"props":158822,"children":158823},{},[158824],{"type":431,"value":158825},"Aspect",{"type":426,"tag":10612,"props":158827,"children":158828},{},[158829],{"type":431,"value":149888},{"type":426,"tag":10612,"props":158831,"children":158832},{},[158833],{"type":431,"value":158834},"Cloud (Rapiwa)",{"type":426,"tag":10623,"props":158836,"children":158837},{},[158838,158856,158874,158891,158909,158927,158945,158962],{"type":426,"tag":10608,"props":158839,"children":158840},{},[158841,158846,158851],{"type":426,"tag":10630,"props":158842,"children":158843},{},[158844],{"type":431,"value":158845},"Session persistence",{"type":426,"tag":10630,"props":158847,"children":158848},{},[158849],{"type":431,"value":158850},"Your VPS must stay online",{"type":426,"tag":10630,"props":158852,"children":158853},{},[158854],{"type":431,"value":158855},"Rapiwa infrastructure",{"type":426,"tag":10608,"props":158857,"children":158858},{},[158859,158864,158869],{"type":426,"tag":10630,"props":158860,"children":158861},{},[158862],{"type":431,"value":158863},"WhatsApp protocol updates",{"type":426,"tag":10630,"props":158865,"children":158866},{},[158867],{"type":431,"value":158868},"Manual update required",{"type":426,"tag":10630,"props":158870,"children":158871},{},[158872],{"type":431,"value":158873},"Automatic",{"type":426,"tag":10608,"props":158875,"children":158876},{},[158877,158882,158887],{"type":426,"tag":10630,"props":158878,"children":158879},{},[158880],{"type":431,"value":158881},"Crash recovery",{"type":426,"tag":10630,"props":158883,"children":158884},{},[158885],{"type":431,"value":158886},"Manual",{"type":426,"tag":10630,"props":158888,"children":158889},{},[158890],{"type":431,"value":158873},{"type":426,"tag":10608,"props":158892,"children":158893},{},[158894,158899,158904],{"type":426,"tag":10630,"props":158895,"children":158896},{},[158897],{"type":431,"value":158898},"Multi-region failover",{"type":426,"tag":10630,"props":158900,"children":158901},{},[158902],{"type":431,"value":158903},"You configure",{"type":426,"tag":10630,"props":158905,"children":158906},{},[158907],{"type":431,"value":158908},"Rapiwa handles",{"type":426,"tag":10608,"props":158910,"children":158911},{},[158912,158917,158922],{"type":426,"tag":10630,"props":158913,"children":158914},{},[158915],{"type":431,"value":158916},"API uptime SLA",{"type":426,"tag":10630,"props":158918,"children":158919},{},[158920],{"type":431,"value":158921},"Depends on your VPS",{"type":426,"tag":10630,"props":158923,"children":158924},{},[158925],{"type":431,"value":158926},"Managed",{"type":426,"tag":10608,"props":158928,"children":158929},{},[158930,158935,158940],{"type":426,"tag":10630,"props":158931,"children":158932},{},[158933],{"type":431,"value":158934},"Data location",{"type":426,"tag":10630,"props":158936,"children":158937},{},[158938],{"type":431,"value":158939},"Your servers",{"type":426,"tag":10630,"props":158941,"children":158942},{},[158943],{"type":431,"value":158944},"Rapiwa servers",{"type":426,"tag":10608,"props":158946,"children":158947},{},[158948,158953,158958],{"type":426,"tag":10630,"props":158949,"children":158950},{},[158951],{"type":431,"value":158952},"Custom modifications",{"type":426,"tag":10630,"props":158954,"children":158955},{},[158956],{"type":431,"value":158957},"Yes (open source)",{"type":426,"tag":10630,"props":158959,"children":158960},{},[158961],{"type":431,"value":78130},{"type":426,"tag":10608,"props":158963,"children":158964},{},[158965,158970,158975],{"type":426,"tag":10630,"props":158966,"children":158967},{},[158968],{"type":431,"value":158969},"Unlimited instances",{"type":426,"tag":10630,"props":158971,"children":158972},{},[158973],{"type":431,"value":158974},"Yes (your VPS)",{"type":426,"tag":10630,"props":158976,"children":158977},{},[158978],{"type":431,"value":158979},"Per plan",{"type":426,"tag":434,"props":158981,"children":158983},{"id":158982},"performance-considerations",[158984],{"type":431,"value":158985},"Performance Considerations",{"type":426,"tag":427,"props":158987,"children":158988},{},[158989],{"type":431,"value":158990},"Self-hosted APIs on low-resource VPS suffer from:",{"type":426,"tag":454,"props":158992,"children":158993},{},[158994,159004,159014,159024],{"type":426,"tag":458,"props":158995,"children":158996},{},[158997,159002],{"type":426,"tag":446,"props":158998,"children":158999},{},[159000],{"type":431,"value":159001},"Message delivery delays",{"type":431,"value":159003}," when VPS CPU spikes",{"type":426,"tag":458,"props":159005,"children":159006},{},[159007,159012],{"type":426,"tag":446,"props":159008,"children":159009},{},[159010],{"type":431,"value":159011},"Session drops",{"type":431,"value":159013}," during VPS maintenance windows",{"type":426,"tag":458,"props":159015,"children":159016},{},[159017,159022],{"type":426,"tag":446,"props":159018,"children":159019},{},[159020],{"type":431,"value":159021},"Failed messages",{"type":431,"value":159023}," during memory-constrained operation",{"type":426,"tag":458,"props":159025,"children":159026},{},[159027,159032],{"type":426,"tag":446,"props":159028,"children":159029},{},[159030],{"type":431,"value":159031},"Webhook delivery failures",{"type":431,"value":159033}," when your server is overloaded",{"type":426,"tag":427,"props":159035,"children":159036},{},[159037],{"type":431,"value":159038},"Cloud APIs like Rapiwa run on dedicated, maintained infrastructure with automatic scaling.",{"type":426,"tag":434,"props":159040,"children":159042},{"id":159041},"when-self-hosting-is-the-right-choice",[159043],{"type":431,"value":159044},"When Self-Hosting Is the Right Choice",{"type":426,"tag":427,"props":159046,"children":159047},{},[159048],{"type":431,"value":159049},"Despite the cost, self-hosting makes sense for:",{"type":426,"tag":6331,"props":159051,"children":159052},{},[159053,159063,159073,159083,159093],{"type":426,"tag":458,"props":159054,"children":159055},{},[159056,159061],{"type":426,"tag":446,"props":159057,"children":159058},{},[159059],{"type":431,"value":159060},"Data sovereignty requirements",{"type":431,"value":159062}," — regulated industries where message data cannot leave your infrastructure",{"type":426,"tag":458,"props":159064,"children":159065},{},[159066,159071],{"type":426,"tag":446,"props":159067,"children":159068},{},[159069],{"type":431,"value":159070},"Large scale",{"type":431,"value":159072}," — managing 50+ WhatsApp numbers where VPS cost amortizes across all instances",{"type":426,"tag":458,"props":159074,"children":159075},{},[159076,159081],{"type":426,"tag":446,"props":159077,"children":159078},{},[159079],{"type":431,"value":159080},"Open-source evangelism",{"type":431,"value":159082}," — contributing to or forking the open-source codebase",{"type":426,"tag":458,"props":159084,"children":159085},{},[159086,159091],{"type":426,"tag":446,"props":159087,"children":159088},{},[159089],{"type":431,"value":159090},"Existing DevOps infrastructure",{"type":431,"value":159092}," — you already run a VPS cluster; adding WhatsApp API is marginal cost",{"type":426,"tag":458,"props":159094,"children":159095},{},[159096,159101],{"type":426,"tag":446,"props":159097,"children":159098},{},[159099],{"type":431,"value":159100},"Custom protocol modifications",{"type":431,"value":159102}," — you need to modify how the WhatsApp client behaves",{"type":426,"tag":434,"props":159104,"children":159106},{"id":159105},"the-decision-framework",[159107],{"type":431,"value":159108},"The Decision Framework",{"type":426,"tag":542,"props":159110,"children":159112},{"code":159111},"Do you need message data on your own servers?\n  → YES → Self-host (Evolution API or WAHA)\n\nDo you have a DevOps team already managing VPS services?\n  → YES → Self-host (marginal cost is low)\n\nDo you have 50+ WhatsApp numbers to manage?\n  → YES → Self-host (scale makes VPS cost efficient)\n\nAre you a solo developer or small team without DevOps?\n  → YES → Cloud (Rapiwa at $5\u002Fmonth saves 30+ hours\u002Fyear)\n\nDo you need WooCommerce or n8n templates out of the box?\n  → YES → Cloud (Rapiwa — self-hosted has neither)\n\nDo you want to start in 5 minutes?\n  → YES → Cloud (Rapiwa — self-hosted takes 2–4 hours)\n",[159113],{"type":426,"tag":549,"props":159114,"children":159115},{"__ignoreMap":417},[159116],{"type":431,"value":159111},{"type":426,"tag":434,"props":159118,"children":159119},{"id":4109},[159120],{"type":431,"value":4112},{"type":426,"tag":427,"props":159122,"children":159123},{},[159124,159129],{"type":426,"tag":446,"props":159125,"children":159126},{},[159127],{"type":431,"value":159128},"Is self-hosted WhatsApp API really free?",{"type":431,"value":159130},"\nThe software is free, but running it requires a VPS ($15–35\u002Fmonth) and regular maintenance (5–15 hours\u002Fmonth). The true cost is typically $40–90+\u002Fmonth when time is included.",{"type":426,"tag":427,"props":159132,"children":159133},{},[159134,159139],{"type":426,"tag":446,"props":159135,"children":159136},{},[159137],{"type":431,"value":159138},"What is the most reliable self-hosted WhatsApp API?",{"type":431,"value":159140},"\nWAHA is generally considered more stable than Evolution API for basic messaging. Evolution API has more features but more frequent breaking changes.",{"type":426,"tag":427,"props":159142,"children":159143},{},[159144,159149],{"type":426,"tag":446,"props":159145,"children":159146},{},[159147],{"type":431,"value":159148},"When should I use cloud instead of self-hosted?",{"type":431,"value":159150},"\nUse cloud (Rapiwa) when you value your time, don't have DevOps expertise, need WooCommerce or n8n integrations, or want the API running immediately without server configuration.",{"type":426,"tag":427,"props":159152,"children":159153},{},[159154,159159],{"type":426,"tag":446,"props":159155,"children":159156},{},[159157],{"type":431,"value":159158},"Can I migrate from self-hosted to Rapiwa?",{"type":431,"value":159160},"\nYes. Update your code to use Rapiwa's endpoint and authentication. Your WhatsApp number remains the same — just scan the QR code in Rapiwa's dashboard instead of your self-hosted setup.",{"type":426,"tag":427,"props":159162,"children":159163},{},[159164,159169],{"type":426,"tag":446,"props":159165,"children":159166},{},[159167],{"type":431,"value":159168},"Is data safer on self-hosted or cloud WhatsApp API?",{"type":431,"value":159170},"\nSelf-hosted gives you complete control over data location and security. Cloud APIs require trust in the provider's security practices. For most businesses, cloud providers' security standards are comparable to self-hosted when run correctly.",{"title":417,"searchDepth":588,"depth":588,"links":159172},[159173,159178,159179,159180,159181,159182],{"id":158353,"depth":588,"text":158356,"children":159174},[159175,159176,159177],{"id":158364,"depth":606,"text":158367},{"id":158470,"depth":606,"text":158473},{"id":158615,"depth":606,"text":158618},{"id":158808,"depth":588,"text":158811},{"id":158982,"depth":588,"text":158985},{"id":159041,"depth":588,"text":159044},{"id":159105,"depth":588,"text":159108},{"id":4109,"depth":588,"text":4112},"content:blog:self-hosted-vs-cloud-whatsapp-api-real-cost-comparison.md","blog\u002Fself-hosted-vs-cloud-whatsapp-api-real-cost-comparison.md","blog\u002Fself-hosted-vs-cloud-whatsapp-api-real-cost-comparison",{"loc":254},{"_path":258,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":259,"description":260,"date":159188,"author":30617,"category":212,"_slug":159189,"image":159190,"body":159191,"_type":4187,"_id":159951,"_source":4189,"_file":159952,"_stem":159953,"_extension":4192,"sitemap":159954},"2026-01-12","cheapest-whatsapp-api-2026-top-7-options-ranked","\u002Fimages\u002Fblog\u002Fcheapest-whatsapp-api-2026-top-7-options-ranked.svg",{"type":423,"children":159192,"toc":159939},[159193,159205,159211,159477,159483,159493,159561,159570,159642,159648,159653,159663,159669,159674,159683,159689,159694,159770,159775,159781,159786,159792,159797,159803,159808,159831,159836,159842,159891,159895,159905,159915,159925,159935],{"type":426,"tag":427,"props":159194,"children":159195},{},[159196,159198,159203],{"type":431,"value":159197},"The cheapest managed WhatsApp API in 2026 is ",{"type":426,"tag":3819,"props":159199,"children":159201},{"href":3821,"rel":159200},[3823],[159202],{"type":431,"value":127310},{"type":431,"value":159204}," at $5\u002Fmonth with unlimited messages, no per-message fees, and a 5.0\u002F5 Sourceforge rating. For completely free options, self-hosted Evolution API and WAHA are available but require a VPS ($15–35\u002Fmonth) that makes them more expensive in practice. Here are the 7 cheapest options ranked honestly.",{"type":426,"tag":434,"props":159206,"children":159208},{"id":159207},"top-7-cheapest-whatsapp-apis-ranked-by-true-monthly-cost",[159209],{"type":431,"value":159210},"Top 7 Cheapest WhatsApp APIs Ranked by True Monthly Cost",{"type":426,"tag":10600,"props":159212,"children":159213},{},[159214,159252],{"type":426,"tag":10604,"props":159215,"children":159216},{},[159217],{"type":426,"tag":10608,"props":159218,"children":159219},{},[159220,159225,159229,159234,159239,159244],{"type":426,"tag":10612,"props":159221,"children":159222},{},[159223],{"type":431,"value":159224},"Rank",{"type":426,"tag":10612,"props":159226,"children":159227},{},[159228],{"type":431,"value":147033},{"type":426,"tag":10612,"props":159230,"children":159231},{},[159232],{"type":431,"value":159233},"Software Cost",{"type":426,"tag":10612,"props":159235,"children":159236},{},[159237],{"type":431,"value":159238},"VPS Required",{"type":426,"tag":10612,"props":159240,"children":159241},{},[159242],{"type":431,"value":159243},"Admin Time",{"type":426,"tag":10612,"props":159245,"children":159246},{},[159247],{"type":426,"tag":446,"props":159248,"children":159249},{},[159250],{"type":431,"value":159251},"True Monthly Cost",{"type":426,"tag":10623,"props":159253,"children":159254},{},[159255,159289,159321,159351,159384,159414,159445],{"type":426,"tag":10608,"props":159256,"children":159257},{},[159258,159262,159269,159273,159277,159282],{"type":426,"tag":10630,"props":159259,"children":159260},{},[159261],{"type":431,"value":1921},{"type":426,"tag":10630,"props":159263,"children":159264},{},[159265],{"type":426,"tag":446,"props":159266,"children":159267},{},[159268],{"type":431,"value":127310},{"type":426,"tag":10630,"props":159270,"children":159271},{},[159272],{"type":431,"value":147125},{"type":426,"tag":10630,"props":159274,"children":159275},{},[159276],{"type":431,"value":78130},{"type":426,"tag":10630,"props":159278,"children":159279},{},[159280],{"type":431,"value":159281},"Minimal",{"type":426,"tag":10630,"props":159283,"children":159284},{},[159285],{"type":426,"tag":446,"props":159286,"children":159287},{},[159288],{"type":431,"value":147125},{"type":426,"tag":10608,"props":159290,"children":159291},{},[159292,159296,159301,159306,159310,159314],{"type":426,"tag":10630,"props":159293,"children":159294},{},[159295],{"type":431,"value":6533},{"type":426,"tag":10630,"props":159297,"children":159298},{},[159299],{"type":431,"value":159300},"Green API",{"type":426,"tag":10630,"props":159302,"children":159303},{},[159304],{"type":431,"value":159305},"~$5.50",{"type":426,"tag":10630,"props":159307,"children":159308},{},[159309],{"type":431,"value":78130},{"type":426,"tag":10630,"props":159311,"children":159312},{},[159313],{"type":431,"value":159281},{"type":426,"tag":10630,"props":159315,"children":159316},{},[159317],{"type":426,"tag":446,"props":159318,"children":159319},{},[159320],{"type":431,"value":159305},{"type":426,"tag":10608,"props":159322,"children":159323},{},[159324,159328,159332,159336,159340,159344],{"type":426,"tag":10630,"props":159325,"children":159326},{},[159327],{"type":431,"value":1912},{"type":426,"tag":10630,"props":159329,"children":159330},{},[159331],{"type":431,"value":147163},{"type":426,"tag":10630,"props":159333,"children":159334},{},[159335],{"type":431,"value":147172},{"type":426,"tag":10630,"props":159337,"children":159338},{},[159339],{"type":431,"value":78130},{"type":426,"tag":10630,"props":159341,"children":159342},{},[159343],{"type":431,"value":159281},{"type":426,"tag":10630,"props":159345,"children":159346},{},[159347],{"type":426,"tag":446,"props":159348,"children":159349},{},[159350],{"type":431,"value":147172},{"type":426,"tag":10608,"props":159352,"children":159353},{},[159354,159358,159362,159366,159371,159376],{"type":426,"tag":10630,"props":159355,"children":159356},{},[159357],{"type":431,"value":105304},{"type":426,"tag":10630,"props":159359,"children":159360},{},[159361],{"type":431,"value":158695},{"type":426,"tag":10630,"props":159363,"children":159364},{},[159365],{"type":431,"value":150083},{"type":426,"tag":10630,"props":159367,"children":159368},{},[159369],{"type":431,"value":159370},"Yes (~$20)",{"type":426,"tag":10630,"props":159372,"children":159373},{},[159374],{"type":431,"value":159375},"5+ hrs\u002Fmo",{"type":426,"tag":10630,"props":159377,"children":159378},{},[159379],{"type":426,"tag":446,"props":159380,"children":159381},{},[159382],{"type":431,"value":159383},"$40+",{"type":426,"tag":10608,"props":159385,"children":159386},{},[159387,159391,159395,159399,159403,159407],{"type":426,"tag":10630,"props":159388,"children":159389},{},[159390],{"type":431,"value":9306},{"type":426,"tag":10630,"props":159392,"children":159393},{},[159394],{"type":431,"value":155656},{"type":426,"tag":10630,"props":159396,"children":159397},{},[159398],{"type":431,"value":150083},{"type":426,"tag":10630,"props":159400,"children":159401},{},[159402],{"type":431,"value":159370},{"type":426,"tag":10630,"props":159404,"children":159405},{},[159406],{"type":431,"value":159375},{"type":426,"tag":10630,"props":159408,"children":159409},{},[159410],{"type":426,"tag":446,"props":159411,"children":159412},{},[159413],{"type":431,"value":159383},{"type":426,"tag":10608,"props":159415,"children":159416},{},[159417,159421,159426,159430,159434,159438],{"type":426,"tag":10630,"props":159418,"children":159419},{},[159420],{"type":431,"value":121040},{"type":426,"tag":10630,"props":159422,"children":159423},{},[159424],{"type":431,"value":159425},"WAHA Hosted",{"type":426,"tag":10630,"props":159427,"children":159428},{},[159429],{"type":431,"value":147205},{"type":426,"tag":10630,"props":159431,"children":159432},{},[159433],{"type":431,"value":78130},{"type":426,"tag":10630,"props":159435,"children":159436},{},[159437],{"type":431,"value":159281},{"type":426,"tag":10630,"props":159439,"children":159440},{},[159441],{"type":426,"tag":446,"props":159442,"children":159443},{},[159444],{"type":431,"value":147205},{"type":426,"tag":10608,"props":159446,"children":159447},{},[159448,159452,159457,159462,159466,159470],{"type":426,"tag":10630,"props":159449,"children":159450},{},[159451],{"type":431,"value":1902},{"type":426,"tag":10630,"props":159453,"children":159454},{},[159455],{"type":431,"value":159456},"Maytapi",{"type":426,"tag":10630,"props":159458,"children":159459},{},[159460],{"type":431,"value":159461},"$9",{"type":426,"tag":10630,"props":159463,"children":159464},{},[159465],{"type":431,"value":78130},{"type":426,"tag":10630,"props":159467,"children":159468},{},[159469],{"type":431,"value":159281},{"type":426,"tag":10630,"props":159471,"children":159472},{},[159473],{"type":426,"tag":446,"props":159474,"children":159475},{},[159476],{"type":431,"value":159461},{"type":426,"tag":434,"props":159478,"children":159480},{"id":159479},"_1-rapiwa-5month-best-value",[159481],{"type":431,"value":159482},"#1 Rapiwa — $5\u002FMonth (Best Value)",{"type":426,"tag":427,"props":159484,"children":159485},{},[159486,159491],{"type":426,"tag":446,"props":159487,"children":159488},{},[159489],{"type":431,"value":159490},"Rapiwa is the cheapest managed WhatsApp API",{"type":431,"value":159492}," with the best integration ecosystem.",{"type":426,"tag":454,"props":159494,"children":159495},{},[159496,159507,159516,159525,159534,159543,159552],{"type":426,"tag":458,"props":159497,"children":159498},{},[159499,159501,159505],{"type":431,"value":159500},"Price: ",{"type":426,"tag":446,"props":159502,"children":159503},{},[159504],{"type":431,"value":148332},{"type":431,"value":159506}," for 1 number, unlimited messages",{"type":426,"tag":458,"props":159508,"children":159509},{},[159510,159512],{"type":431,"value":159511},"Per-message fee: ",{"type":426,"tag":446,"props":159513,"children":159514},{},[159515],{"type":431,"value":1840},{"type":426,"tag":458,"props":159517,"children":159518},{},[159519,159521],{"type":431,"value":159520},"Message cap: ",{"type":426,"tag":446,"props":159522,"children":159523},{},[159524],{"type":431,"value":1840},{"type":426,"tag":458,"props":159526,"children":159527},{},[159528,159530],{"type":431,"value":159529},"Free trial: ",{"type":426,"tag":446,"props":159531,"children":159532},{},[159533],{"type":431,"value":10792},{"type":426,"tag":458,"props":159535,"children":159536},{},[159537,159539],{"type":431,"value":159538},"Sourceforge: ",{"type":426,"tag":446,"props":159540,"children":159541},{},[159542],{"type":431,"value":10805},{"type":426,"tag":458,"props":159544,"children":159545},{},[159546,159548],{"type":431,"value":159547},"WooCommerce plugin: ",{"type":426,"tag":446,"props":159549,"children":159550},{},[159551],{"type":431,"value":103087},{"type":426,"tag":458,"props":159553,"children":159554},{},[159555,159557],{"type":431,"value":159556},"n8n templates: ",{"type":426,"tag":446,"props":159558,"children":159559},{},[159560],{"type":431,"value":150909},{"type":426,"tag":427,"props":159562,"children":159563},{},[159564],{"type":426,"tag":3819,"props":159565,"children":159567},{"href":3821,"rel":159566},[3823],[159568],{"type":431,"value":159569},"Start free →",{"type":426,"tag":542,"props":159571,"children":159573},{"className":546,"code":159572,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello! $5\u002Fmonth for unlimited WhatsApp!\"}'\n",[159574],{"type":426,"tag":549,"props":159575,"children":159576},{"__ignoreMap":417},[159577,159600,159615,159630],{"type":426,"tag":553,"props":159578,"children":159579},{"class":555,"line":556},[159580,159584,159588,159592,159596],{"type":426,"tag":553,"props":159581,"children":159582},{"style":560},[159583],{"type":431,"value":563},{"type":426,"tag":553,"props":159585,"children":159586},{"style":566},[159587],{"type":431,"value":569},{"type":426,"tag":553,"props":159589,"children":159590},{"style":572},[159591],{"type":431,"value":575},{"type":426,"tag":553,"props":159593,"children":159594},{"style":572},[159595],{"type":431,"value":580},{"type":426,"tag":553,"props":159597,"children":159598},{"style":566},[159599],{"type":431,"value":585},{"type":426,"tag":553,"props":159601,"children":159602},{"class":555,"line":588},[159603,159607,159611],{"type":426,"tag":553,"props":159604,"children":159605},{"style":566},[159606],{"type":431,"value":594},{"type":426,"tag":553,"props":159608,"children":159609},{"style":572},[159610],{"type":431,"value":599},{"type":426,"tag":553,"props":159612,"children":159613},{"style":566},[159614],{"type":431,"value":585},{"type":426,"tag":553,"props":159616,"children":159617},{"class":555,"line":606},[159618,159622,159626],{"type":426,"tag":553,"props":159619,"children":159620},{"style":566},[159621],{"type":431,"value":594},{"type":426,"tag":553,"props":159623,"children":159624},{"style":572},[159625],{"type":431,"value":616},{"type":426,"tag":553,"props":159627,"children":159628},{"style":566},[159629],{"type":431,"value":585},{"type":426,"tag":553,"props":159631,"children":159632},{"class":555,"line":623},[159633,159637],{"type":426,"tag":553,"props":159634,"children":159635},{"style":566},[159636],{"type":431,"value":629},{"type":426,"tag":553,"props":159638,"children":159639},{"style":572},[159640],{"type":431,"value":159641}," '{\"number\": \"8801234567890\", \"message\": \"Hello! $5\u002Fmonth for unlimited WhatsApp!\"}'\n",{"type":426,"tag":434,"props":159643,"children":159645},{"id":159644},"_2-green-api-550month",[159646],{"type":431,"value":159647},"#2 Green API — ~$5.50\u002FMonth",{"type":426,"tag":427,"props":159649,"children":159650},{},[159651],{"type":431,"value":159652},"Green API is slightly more expensive than Rapiwa but offers comparable core API features. No WooCommerce plugin or n8n templates.",{"type":426,"tag":427,"props":159654,"children":159655},{},[159656,159661],{"type":426,"tag":446,"props":159657,"children":159658},{},[159659],{"type":431,"value":159660},"Best for:",{"type":431,"value":159662}," Developers who want a low-cost API without e-commerce integrations.",{"type":426,"tag":434,"props":159664,"children":159666},{"id":159665},"_3-wasenderapi-6month",[159667],{"type":431,"value":159668},"#3 WasenderAPI — $6\u002FMonth",{"type":426,"tag":427,"props":159670,"children":159671},{},[159672],{"type":431,"value":159673},"WasenderAPI is $1\u002Fmonth more than Rapiwa but has production-ready TypeScript, Python, and Laravel SDKs.",{"type":426,"tag":427,"props":159675,"children":159676},{},[159677,159681],{"type":426,"tag":446,"props":159678,"children":159679},{},[159680],{"type":431,"value":159660},{"type":431,"value":159682}," Developers who need polished SDK packages today.",{"type":426,"tag":434,"props":159684,"children":159686},{"id":159685},"_45-self-hosted-apis-evolution-api-waha-40month-real-cost",[159687],{"type":431,"value":159688},"#4–5 Self-Hosted APIs (Evolution API \u002F WAHA) — $40+\u002FMonth Real Cost",{"type":426,"tag":427,"props":159690,"children":159691},{},[159692],{"type":431,"value":159693},"\"Free\" software that requires a VPS. The hidden costs make them more expensive than most managed options:",{"type":426,"tag":10600,"props":159695,"children":159696},{},[159697,159712],{"type":426,"tag":10604,"props":159698,"children":159699},{},[159700],{"type":426,"tag":10608,"props":159701,"children":159702},{},[159703,159708],{"type":426,"tag":10612,"props":159704,"children":159705},{},[159706],{"type":431,"value":159707},"Real Cost Component",{"type":426,"tag":10612,"props":159709,"children":159710},{},[159711],{"type":431,"value":157701},{"type":426,"tag":10623,"props":159713,"children":159714},{},[159715,159727,159740,159752],{"type":426,"tag":10608,"props":159716,"children":159717},{},[159718,159723],{"type":426,"tag":10630,"props":159719,"children":159720},{},[159721],{"type":431,"value":159722},"4GB VPS (DigitalOcean\u002FAWS)",{"type":426,"tag":10630,"props":159724,"children":159725},{},[159726],{"type":431,"value":157730},{"type":426,"tag":10608,"props":159728,"children":159729},{},[159730,159735],{"type":426,"tag":10630,"props":159731,"children":159732},{},[159733],{"type":431,"value":159734},"Developer time (5–10 hrs × $30\u002Fhr)",{"type":426,"tag":10630,"props":159736,"children":159737},{},[159738],{"type":431,"value":159739},"$150–300",{"type":426,"tag":10608,"props":159741,"children":159742},{},[159743,159748],{"type":426,"tag":10630,"props":159744,"children":159745},{},[159746],{"type":431,"value":159747},"Downtime incidents",{"type":426,"tag":10630,"props":159749,"children":159750},{},[159751],{"type":431,"value":147084},{"type":426,"tag":10608,"props":159753,"children":159754},{},[159755,159762],{"type":426,"tag":10630,"props":159756,"children":159757},{},[159758],{"type":426,"tag":446,"props":159759,"children":159760},{},[159761],{"type":431,"value":74889},{"type":426,"tag":10630,"props":159763,"children":159764},{},[159765],{"type":426,"tag":446,"props":159766,"children":159767},{},[159768],{"type":431,"value":159769},"$170–335+",{"type":426,"tag":427,"props":159771,"children":159772},{},[159773],{"type":431,"value":159774},"Self-hosting only makes economic sense if your developer time is valued at zero or you have specific requirements (data sovereignty, custom modifications).",{"type":426,"tag":434,"props":159776,"children":159778},{"id":159777},"_6-waha-cloud-19month",[159779],{"type":431,"value":159780},"#6 WAHA Cloud — $19\u002FMonth",{"type":426,"tag":427,"props":159782,"children":159783},{},[159784],{"type":431,"value":159785},"The managed version of WAHA. Cheaper than WATI but 3.8x more expensive than Rapiwa for equivalent functionality.",{"type":426,"tag":434,"props":159787,"children":159789},{"id":159788},"_7-maytapi-9month",[159790],{"type":431,"value":159791},"#7 Maytapi — $9\u002FMonth",{"type":426,"tag":427,"props":159793,"children":159794},{},[159795],{"type":431,"value":159796},"Maytapi starts at $9\u002Fmonth for one number. Their multi-number pricing improves with scale.",{"type":426,"tag":434,"props":159798,"children":159800},{"id":159799},"the-hidden-cost-trap-free-vs-managed",[159801],{"type":431,"value":159802},"The Hidden Cost Trap: Free vs Managed",{"type":426,"tag":427,"props":159804,"children":159805},{},[159806],{"type":431,"value":159807},"Many developers choose \"free\" self-hosted APIs and then spend 5–15 hours per month:",{"type":426,"tag":454,"props":159809,"children":159810},{},[159811,159816,159821,159826],{"type":426,"tag":458,"props":159812,"children":159813},{},[159814],{"type":431,"value":159815},"Monitoring for session disconnections",{"type":426,"tag":458,"props":159817,"children":159818},{},[159819],{"type":431,"value":159820},"Applying updates when WhatsApp changes its protocol",{"type":426,"tag":458,"props":159822,"children":159823},{},[159824],{"type":431,"value":159825},"Recovering from crashes",{"type":426,"tag":458,"props":159827,"children":159828},{},[159829],{"type":431,"value":159830},"Managing Docker containers and VPS",{"type":426,"tag":427,"props":159832,"children":159833},{},[159834],{"type":431,"value":159835},"At a conservative $30\u002Fhour, 5 hours\u002Fmonth = $150\u002Fmonth in maintenance cost. Rapiwa at $5\u002Fmonth saves $145\u002Fmonth in developer time alone.",{"type":426,"tag":434,"props":159837,"children":159839},{"id":159838},"how-to-get-the-cheapest-whatsapp-api-that-actually-works",[159840],{"type":431,"value":159841},"How to Get the Cheapest WhatsApp API That Actually Works",{"type":426,"tag":6331,"props":159843,"children":159844},{},[159845,159861,159871,159881],{"type":426,"tag":458,"props":159846,"children":159847},{},[159848,159853,159854,159859],{"type":426,"tag":446,"props":159849,"children":159850},{},[159851],{"type":431,"value":159852},"For most developers",{"type":431,"value":700},{"type":426,"tag":3819,"props":159855,"children":159857},{"href":3821,"rel":159856},[3823],[159858],{"type":431,"value":127310},{"type":431,"value":159860}," — $5\u002Fmonth, instant setup, fully managed",{"type":426,"tag":458,"props":159862,"children":159863},{},[159864,159869],{"type":426,"tag":446,"props":159865,"children":159866},{},[159867],{"type":431,"value":159868},"For TypeScript\u002FSDK needs",{"type":431,"value":159870},": WasenderAPI — $6\u002Fmonth, published SDKs",{"type":426,"tag":458,"props":159872,"children":159873},{},[159874,159879],{"type":426,"tag":446,"props":159875,"children":159876},{},[159877],{"type":431,"value":159878},"For self-hosted purists",{"type":431,"value":159880},": WAHA or Evolution API — understand the true cost is VPS + time",{"type":426,"tag":458,"props":159882,"children":159883},{},[159884,159889],{"type":426,"tag":446,"props":159885,"children":159886},{},[159887],{"type":431,"value":159888},"For enterprise compliance",{"type":431,"value":159890},": Meta Cloud API directly (free API layer, pay per conversation)",{"type":426,"tag":434,"props":159892,"children":159893},{"id":4109},[159894],{"type":431,"value":4112},{"type":426,"tag":427,"props":159896,"children":159897},{},[159898,159903],{"type":426,"tag":446,"props":159899,"children":159900},{},[159901],{"type":431,"value":159902},"What is the cheapest WhatsApp API with no per-message fees?",{"type":431,"value":159904},"\nRapiwa at $5\u002Fmonth with unlimited messages and no per-message or per-conversation fees is the cheapest managed option.",{"type":426,"tag":427,"props":159906,"children":159907},{},[159908,159913],{"type":426,"tag":446,"props":159909,"children":159910},{},[159911],{"type":431,"value":159912},"Is there a free WhatsApp API?",{"type":431,"value":159914},"\nEvolution API and WAHA are free software (self-hosted). However, running them requires a VPS ($15–35\u002Fmonth) and significant maintenance time, making the total cost higher than Rapiwa's $5\u002Fmonth.",{"type":426,"tag":427,"props":159916,"children":159917},{},[159918,159923],{"type":426,"tag":446,"props":159919,"children":159920},{},[159921],{"type":431,"value":159922},"What is the cheapest WhatsApp API for sending bulk messages?",{"type":431,"value":159924},"\nRapiwa at $5\u002Fmonth — no per-message fees, no daily cap. You can send 10,000 messages\u002Fmonth or 100,000 messages\u002Fmonth for the same $5.",{"type":426,"tag":427,"props":159926,"children":159927},{},[159928,159933],{"type":426,"tag":446,"props":159929,"children":159930},{},[159931],{"type":431,"value":159932},"Does cheaper always mean worse quality for WhatsApp APIs?",{"type":431,"value":159934},"\nNot in this case. Rapiwa is the cheapest managed API AND has the highest Sourceforge rating (5.0\u002F5) in the category. Lower cost reflects efficient pricing, not lower quality.",{"type":426,"tag":4164,"props":159936,"children":159937},{},[159938],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":159940},[159941,159942,159943,159944,159945,159946,159947,159948,159949,159950],{"id":159207,"depth":588,"text":159210},{"id":159479,"depth":588,"text":159482},{"id":159644,"depth":588,"text":159647},{"id":159665,"depth":588,"text":159668},{"id":159685,"depth":588,"text":159688},{"id":159777,"depth":588,"text":159780},{"id":159788,"depth":588,"text":159791},{"id":159799,"depth":588,"text":159802},{"id":159838,"depth":588,"text":159841},{"id":4109,"depth":588,"text":4112},"content:blog:cheapest-whatsapp-api-2026-top-7-options-ranked.md","blog\u002Fcheapest-whatsapp-api-2026-top-7-options-ranked.md","blog\u002Fcheapest-whatsapp-api-2026-top-7-options-ranked",{"loc":258},{"_path":262,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":263,"description":264,"date":159956,"author":36566,"category":212,"_slug":159957,"image":159958,"body":159959,"_type":4187,"_id":160977,"_source":4189,"_file":160978,"_stem":160979,"_extension":4192,"sitemap":160980},"2026-01-10","best-whatsapp-api-providers-2026-full-comparison","\u002Fimages\u002Fblog\u002Fbest-whatsapp-api-providers-2026-full-comparison.svg",{"type":423,"children":159960,"toc":160963},[159961,159973,159979,160545,160551,160557,160580,160586,160603,160609,160626,160632,160649,160655,160673,160679,160692,160698,160708,160731,160741,160764,160769,160775,160780,160812,160817,160897,160905,160909,160919,160929,160939,160949,160959],{"type":426,"tag":427,"props":159962,"children":159963},{},[159964,159966,159971],{"type":431,"value":159965},"The best WhatsApp API provider in 2026 depends on your use case. For developers and small businesses, ",{"type":426,"tag":3819,"props":159967,"children":159969},{"href":3821,"rel":159968},[3823],[159970],{"type":431,"value":127310},{"type":431,"value":159972}," is the top choice at $5\u002Fmonth with a 5.0\u002F5 Sourceforge rating, WooCommerce plugin, and 10 n8n templates. For enterprise compliance, Meta Cloud API via WATI or Twilio is appropriate. For self-hosted control, WAHA or Evolution API work well for technical teams.",{"type":426,"tag":434,"props":159974,"children":159976},{"id":159975},"all-whatsapp-api-providers-compared-2026",[159977],{"type":431,"value":159978},"All WhatsApp API Providers Compared (2026)",{"type":426,"tag":10600,"props":159980,"children":159981},{},[159982,160022],{"type":426,"tag":10604,"props":159983,"children":159984},{},[159985],{"type":426,"tag":10608,"props":159986,"children":159987},{},[159988,159992,159996,160000,160004,160009,160014,160018],{"type":426,"tag":10612,"props":159989,"children":159990},{},[159991],{"type":431,"value":147033},{"type":426,"tag":10612,"props":159993,"children":159994},{},[159995],{"type":431,"value":147038},{"type":426,"tag":10612,"props":159997,"children":159998},{},[159999],{"type":431,"value":103028},{"type":426,"tag":10612,"props":160001,"children":160002},{},[160003],{"type":431,"value":147048},{"type":426,"tag":10612,"props":160005,"children":160006},{},[160007],{"type":431,"value":160008},"Numbers",{"type":426,"tag":10612,"props":160010,"children":160011},{},[160012],{"type":431,"value":160013},"Rating",{"type":426,"tag":10612,"props":160015,"children":160016},{},[160017],{"type":431,"value":101954},{"type":426,"tag":10612,"props":160019,"children":160020},{},[160021],{"type":431,"value":47653},{"type":426,"tag":10623,"props":160023,"children":160024},{},[160025,160077,160114,160150,160187,160222,160258,160294,160331,160367,160402,160437,160473,160509],{"type":426,"tag":10608,"props":160026,"children":160027},{},[160028,160035,160039,160046,160050,160055,160062,160069],{"type":426,"tag":10630,"props":160029,"children":160030},{},[160031],{"type":426,"tag":446,"props":160032,"children":160033},{},[160034],{"type":431,"value":127310},{"type":426,"tag":10630,"props":160036,"children":160037},{},[160038],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160040,"children":160041},{},[160042],{"type":426,"tag":446,"props":160043,"children":160044},{},[160045],{"type":431,"value":155606},{"type":426,"tag":10630,"props":160047,"children":160048},{},[160049],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160051,"children":160052},{},[160053],{"type":431,"value":160054},"1+",{"type":426,"tag":10630,"props":160056,"children":160057},{},[160058],{"type":426,"tag":446,"props":160059,"children":160060},{},[160061],{"type":431,"value":10805},{"type":426,"tag":10630,"props":160063,"children":160064},{},[160065],{"type":426,"tag":446,"props":160066,"children":160067},{},[160068],{"type":431,"value":103087},{"type":426,"tag":10630,"props":160070,"children":160071},{},[160072],{"type":426,"tag":446,"props":160073,"children":160074},{},[160075],{"type":431,"value":160076},"10 tmpl",{"type":426,"tag":10608,"props":160078,"children":160079},{},[160080,160084,160088,160092,160096,160101,160105,160109],{"type":426,"tag":10630,"props":160081,"children":160082},{},[160083],{"type":431,"value":147163},{"type":426,"tag":10630,"props":160085,"children":160086},{},[160087],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160089,"children":160090},{},[160091],{"type":431,"value":155627},{"type":426,"tag":10630,"props":160093,"children":160094},{},[160095],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160097,"children":160098},{},[160099],{"type":431,"value":160100},"1–10",{"type":426,"tag":10630,"props":160102,"children":160103},{},[160104],{"type":431,"value":148371},{"type":426,"tag":10630,"props":160106,"children":160107},{},[160108],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160110,"children":160111},{},[160112],{"type":431,"value":160113},"Node only",{"type":426,"tag":10608,"props":160115,"children":160116},{},[160117,160121,160125,160130,160134,160138,160142,160146],{"type":426,"tag":10630,"props":160118,"children":160119},{},[160120],{"type":431,"value":147196},{"type":426,"tag":10630,"props":160122,"children":160123},{},[160124],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160126,"children":160127},{},[160128],{"type":431,"value":160129},"$19\u002Fmo",{"type":426,"tag":10630,"props":160131,"children":160132},{},[160133],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160135,"children":160136},{},[160137],{"type":431,"value":1921},{"type":426,"tag":10630,"props":160139,"children":160140},{},[160141],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160143,"children":160144},{},[160145],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160147,"children":160148},{},[160149],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160151,"children":160152},{},[160153,160157,160161,160166,160170,160175,160179,160183],{"type":426,"tag":10630,"props":160154,"children":160155},{},[160156],{"type":431,"value":157843},{"type":426,"tag":10630,"props":160158,"children":160159},{},[160160],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160162,"children":160163},{},[160164],{"type":431,"value":160165},"$0+VPS",{"type":426,"tag":10630,"props":160167,"children":160168},{},[160169],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160171,"children":160172},{},[160173],{"type":431,"value":160174},"Unlimited",{"type":426,"tag":10630,"props":160176,"children":160177},{},[160178],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160180,"children":160181},{},[160182],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160184,"children":160185},{},[160186],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160188,"children":160189},{},[160190,160194,160198,160202,160206,160210,160214,160218],{"type":426,"tag":10630,"props":160191,"children":160192},{},[160193],{"type":431,"value":155656},{"type":426,"tag":10630,"props":160195,"children":160196},{},[160197],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160199,"children":160200},{},[160201],{"type":431,"value":160165},{"type":426,"tag":10630,"props":160203,"children":160204},{},[160205],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160207,"children":160208},{},[160209],{"type":431,"value":160174},{"type":426,"tag":10630,"props":160211,"children":160212},{},[160213],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160215,"children":160216},{},[160217],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160219,"children":160220},{},[160221],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160223,"children":160224},{},[160225,160229,160233,160238,160242,160246,160250,160254],{"type":426,"tag":10630,"props":160226,"children":160227},{},[160228],{"type":431,"value":159456},{"type":426,"tag":10630,"props":160230,"children":160231},{},[160232],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160234,"children":160235},{},[160236],{"type":431,"value":160237},"$9\u002Fmo",{"type":426,"tag":10630,"props":160239,"children":160240},{},[160241],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160243,"children":160244},{},[160245],{"type":431,"value":160054},{"type":426,"tag":10630,"props":160247,"children":160248},{},[160249],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160251,"children":160252},{},[160253],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160255,"children":160256},{},[160257],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160259,"children":160260},{},[160261,160265,160269,160274,160278,160282,160286,160290],{"type":426,"tag":10630,"props":160262,"children":160263},{},[160264],{"type":431,"value":159300},{"type":426,"tag":10630,"props":160266,"children":160267},{},[160268],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160270,"children":160271},{},[160272],{"type":431,"value":160273},"$5.50\u002Fmo",{"type":426,"tag":10630,"props":160275,"children":160276},{},[160277],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160279,"children":160280},{},[160281],{"type":431,"value":160054},{"type":426,"tag":10630,"props":160283,"children":160284},{},[160285],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160287,"children":160288},{},[160289],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160291,"children":160292},{},[160293],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160295,"children":160296},{},[160297,160302,160306,160311,160315,160319,160323,160327],{"type":426,"tag":10630,"props":160298,"children":160299},{},[160300],{"type":431,"value":160301},"Ultramsg",{"type":426,"tag":10630,"props":160303,"children":160304},{},[160305],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160307,"children":160308},{},[160309],{"type":431,"value":160310},"$9+\u002Fmo",{"type":426,"tag":10630,"props":160312,"children":160313},{},[160314],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160316,"children":160317},{},[160318],{"type":431,"value":1921},{"type":426,"tag":10630,"props":160320,"children":160321},{},[160322],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160324,"children":160325},{},[160326],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160328,"children":160329},{},[160330],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160332,"children":160333},{},[160334,160339,160343,160347,160351,160355,160359,160363],{"type":426,"tag":10630,"props":160335,"children":160336},{},[160337],{"type":431,"value":160338},"Whapi.cloud",{"type":426,"tag":10630,"props":160340,"children":160341},{},[160342],{"type":431,"value":147117},{"type":426,"tag":10630,"props":160344,"children":160345},{},[160346],{"type":431,"value":160310},{"type":426,"tag":10630,"props":160348,"children":160349},{},[160350],{"type":431,"value":1840},{"type":426,"tag":10630,"props":160352,"children":160353},{},[160354],{"type":431,"value":160054},{"type":426,"tag":10630,"props":160356,"children":160357},{},[160358],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160360,"children":160361},{},[160362],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160364,"children":160365},{},[160366],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160368,"children":160369},{},[160370,160374,160378,160382,160386,160390,160394,160398],{"type":426,"tag":10630,"props":160371,"children":160372},{},[160373],{"type":431,"value":147230},{"type":426,"tag":10630,"props":160375,"children":160376},{},[160377],{"type":431,"value":147079},{"type":426,"tag":10630,"props":160379,"children":160380},{},[160381],{"type":431,"value":156969},{"type":426,"tag":10630,"props":160383,"children":160384},{},[160385],{"type":431,"value":147244},{"type":426,"tag":10630,"props":160387,"children":160388},{},[160389],{"type":431,"value":1921},{"type":426,"tag":10630,"props":160391,"children":160392},{},[160393],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160395,"children":160396},{},[160397],{"type":431,"value":78140},{"type":426,"tag":10630,"props":160399,"children":160400},{},[160401],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160403,"children":160404},{},[160405,160409,160413,160417,160421,160425,160429,160433],{"type":426,"tag":10630,"props":160406,"children":160407},{},[160408],{"type":431,"value":147312},{"type":426,"tag":10630,"props":160410,"children":160411},{},[160412],{"type":431,"value":147079},{"type":426,"tag":10630,"props":160414,"children":160415},{},[160416],{"type":431,"value":147084},{"type":426,"tag":10630,"props":160418,"children":160419},{},[160420],{"type":431,"value":103087},{"type":426,"tag":10630,"props":160422,"children":160423},{},[160424],{"type":431,"value":1921},{"type":426,"tag":10630,"props":160426,"children":160427},{},[160428],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160430,"children":160431},{},[160432],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160434,"children":160435},{},[160436],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160438,"children":160439},{},[160440,160444,160448,160453,160457,160461,160465,160469],{"type":426,"tag":10630,"props":160441,"children":160442},{},[160443],{"type":431,"value":149871},{"type":426,"tag":10630,"props":160445,"children":160446},{},[160447],{"type":431,"value":147079},{"type":426,"tag":10630,"props":160449,"children":160450},{},[160451],{"type":431,"value":160452},"Free + fees",{"type":426,"tag":10630,"props":160454,"children":160455},{},[160456],{"type":431,"value":103087},{"type":426,"tag":10630,"props":160458,"children":160459},{},[160460],{"type":431,"value":1921},{"type":426,"tag":10630,"props":160462,"children":160463},{},[160464],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160466,"children":160467},{},[160468],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160470,"children":160471},{},[160472],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160474,"children":160475},{},[160476,160480,160484,160489,160493,160497,160501,160505],{"type":426,"tag":10630,"props":160477,"children":160478},{},[160479],{"type":431,"value":147264},{"type":426,"tag":10630,"props":160481,"children":160482},{},[160483],{"type":431,"value":147079},{"type":426,"tag":10630,"props":160485,"children":160486},{},[160487],{"type":431,"value":160488},"$5+\u002Fmo",{"type":426,"tag":10630,"props":160490,"children":160491},{},[160492],{"type":431,"value":147244},{"type":426,"tag":10630,"props":160494,"children":160495},{},[160496],{"type":431,"value":1921},{"type":426,"tag":10630,"props":160498,"children":160499},{},[160500],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160502,"children":160503},{},[160504],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160506,"children":160507},{},[160508],{"type":431,"value":78130},{"type":426,"tag":10608,"props":160510,"children":160511},{},[160512,160517,160521,160525,160529,160533,160537,160541],{"type":426,"tag":10630,"props":160513,"children":160514},{},[160515],{"type":431,"value":160516},"Vonage",{"type":426,"tag":10630,"props":160518,"children":160519},{},[160520],{"type":431,"value":147079},{"type":426,"tag":10630,"props":160522,"children":160523},{},[160524],{"type":431,"value":147084},{"type":426,"tag":10630,"props":160526,"children":160527},{},[160528],{"type":431,"value":103087},{"type":426,"tag":10630,"props":160530,"children":160531},{},[160532],{"type":431,"value":1921},{"type":426,"tag":10630,"props":160534,"children":160535},{},[160536],{"type":431,"value":157981},{"type":426,"tag":10630,"props":160538,"children":160539},{},[160540],{"type":431,"value":78130},{"type":426,"tag":10630,"props":160542,"children":160543},{},[160544],{"type":431,"value":78130},{"type":426,"tag":434,"props":160546,"children":160548},{"id":160547},"category-rankings",[160549],{"type":431,"value":160550},"Category Rankings",{"type":426,"tag":515,"props":160552,"children":160554},{"id":160553},"best-price-single-number",[160555],{"type":431,"value":160556},"Best Price (Single Number)",{"type":426,"tag":6331,"props":160558,"children":160559},{},[160560,160570,160575],{"type":426,"tag":458,"props":160561,"children":160562},{},[160563,160568],{"type":426,"tag":446,"props":160564,"children":160565},{},[160566],{"type":431,"value":160567},"Rapiwa — $5\u002Fmonth",{"type":431,"value":160569}," ✓",{"type":426,"tag":458,"props":160571,"children":160572},{},[160573],{"type":431,"value":160574},"Green API — ~$5.50\u002Fmonth",{"type":426,"tag":458,"props":160576,"children":160577},{},[160578],{"type":431,"value":160579},"WasenderAPI — $6\u002Fmonth",{"type":426,"tag":515,"props":160581,"children":160583},{"id":160582},"best-for-woocommerce",[160584],{"type":431,"value":160585},"Best for WooCommerce",{"type":426,"tag":6331,"props":160587,"children":160588},{},[160589,160598],{"type":426,"tag":458,"props":160590,"children":160591},{},[160592,160596],{"type":426,"tag":446,"props":160593,"children":160594},{},[160595],{"type":431,"value":127310},{"type":431,"value":160597}," — dedicated plugin + 5 WooCommerce templates ✓",{"type":426,"tag":458,"props":160599,"children":160600},{},[160601],{"type":431,"value":160602},"Everyone else — no dedicated plugin",{"type":426,"tag":515,"props":160604,"children":160606},{"id":160605},"best-for-n8n-automation",[160607],{"type":431,"value":160608},"Best for n8n Automation",{"type":426,"tag":6331,"props":160610,"children":160611},{},[160612,160621],{"type":426,"tag":458,"props":160613,"children":160614},{},[160615,160619],{"type":426,"tag":446,"props":160616,"children":160617},{},[160618],{"type":431,"value":127310},{"type":431,"value":160620}," — 10 pre-built templates (3,000+ installs) ✓",{"type":426,"tag":458,"props":160622,"children":160623},{},[160624],{"type":431,"value":160625},"WasenderAPI — node package (custom workflows only)",{"type":426,"tag":515,"props":160627,"children":160629},{"id":160628},"best-rating-sourceforge",[160630],{"type":431,"value":160631},"Best Rating (Sourceforge)",{"type":426,"tag":6331,"props":160633,"children":160634},{},[160635,160644],{"type":426,"tag":458,"props":160636,"children":160637},{},[160638,160643],{"type":426,"tag":446,"props":160639,"children":160640},{},[160641],{"type":431,"value":160642},"Rapiwa — 5.0\u002F5",{"type":431,"value":160569},{"type":426,"tag":458,"props":160645,"children":160646},{},[160647],{"type":431,"value":160648},"WasenderAPI — 4.5\u002F5",{"type":426,"tag":515,"props":160650,"children":160652},{"id":160651},"best-for-enterprise-compliance",[160653],{"type":431,"value":160654},"Best for Enterprise Compliance",{"type":426,"tag":6331,"props":160656,"children":160657},{},[160658,160663,160668],{"type":426,"tag":458,"props":160659,"children":160660},{},[160661],{"type":431,"value":160662},"Twilio (Meta official) ✓",{"type":426,"tag":458,"props":160664,"children":160665},{},[160666],{"type":431,"value":160667},"WATI (Meta BSP) ✓",{"type":426,"tag":458,"props":160669,"children":160670},{},[160671],{"type":431,"value":160672},"360dialog (Meta BSP) ✓",{"type":426,"tag":515,"props":160674,"children":160676},{"id":160675},"best-for-self-hosting",[160677],{"type":431,"value":160678},"Best for Self-Hosting",{"type":426,"tag":6331,"props":160680,"children":160681},{},[160682,160687],{"type":426,"tag":458,"props":160683,"children":160684},{},[160685],{"type":431,"value":160686},"Evolution API — most features, large community",{"type":426,"tag":458,"props":160688,"children":160689},{},[160690],{"type":431,"value":160691},"WAHA — simpler setup, good documentation",{"type":426,"tag":434,"props":160693,"children":160695},{"id":160694},"unofficial-vs-official-whatsapp-api-providers",[160696],{"type":431,"value":160697},"Unofficial vs Official WhatsApp API Providers",{"type":426,"tag":427,"props":160699,"children":160700},{},[160701,160706],{"type":426,"tag":446,"props":160702,"children":160703},{},[160704],{"type":431,"value":160705},"Unofficial APIs",{"type":431,"value":160707}," (Rapiwa, WasenderAPI, WAHA, Evolution API):",{"type":426,"tag":454,"props":160709,"children":160710},{},[160711,160716,160721,160726],{"type":426,"tag":458,"props":160712,"children":160713},{},[160714],{"type":431,"value":160715},"Connect via QR code scanning, no Meta approval",{"type":426,"tag":458,"props":160717,"children":160718},{},[160719],{"type":431,"value":160720},"Flat monthly pricing, no per-conversation fees",{"type":426,"tag":458,"props":160722,"children":160723},{},[160724],{"type":431,"value":160725},"Ready in minutes",{"type":426,"tag":458,"props":160727,"children":160728},{},[160729],{"type":431,"value":160730},"Terms of Service grey area",{"type":426,"tag":427,"props":160732,"children":160733},{},[160734,160739],{"type":426,"tag":446,"props":160735,"children":160736},{},[160737],{"type":431,"value":160738},"Official APIs",{"type":431,"value":160740}," (Twilio, WATI, Meta Cloud, 360dialog):",{"type":426,"tag":454,"props":160742,"children":160743},{},[160744,160749,160754,160759],{"type":426,"tag":458,"props":160745,"children":160746},{},[160747],{"type":431,"value":160748},"Require Meta business verification",{"type":426,"tag":458,"props":160750,"children":160751},{},[160752],{"type":431,"value":160753},"Per-conversation pricing ($0.015–$0.08\u002Fsession)",{"type":426,"tag":458,"props":160755,"children":160756},{},[160757],{"type":431,"value":160758},"Message templates required for outbound",{"type":426,"tag":458,"props":160760,"children":160761},{},[160762],{"type":431,"value":160763},"Full Meta compliance",{"type":426,"tag":427,"props":160765,"children":160766},{},[160767],{"type":431,"value":160768},"For most developers and SMBs, unofficial APIs are the practical choice due to cost and setup speed.",{"type":426,"tag":434,"props":160770,"children":160772},{"id":160771},"rapiwa-why-it-wins-the-developer-category",[160773],{"type":431,"value":160774},"Rapiwa: Why It Wins the Developer Category",{"type":426,"tag":427,"props":160776,"children":160777},{},[160778],{"type":431,"value":160779},"Rapiwa leads the developer category because it combines three strengths no competitor matches simultaneously:",{"type":426,"tag":6331,"props":160781,"children":160782},{},[160783,160792,160802],{"type":426,"tag":458,"props":160784,"children":160785},{},[160786,160791],{"type":426,"tag":446,"props":160787,"children":160788},{},[160789],{"type":431,"value":160790},"Cheapest managed price",{"type":431,"value":147323},{"type":426,"tag":458,"props":160793,"children":160794},{},[160795,160800],{"type":426,"tag":446,"props":160796,"children":160797},{},[160798],{"type":431,"value":160799},"Highest trust rating",{"type":431,"value":160801},": 5.0\u002F5 Sourceforge",{"type":426,"tag":458,"props":160803,"children":160804},{},[160805,160810],{"type":426,"tag":446,"props":160806,"children":160807},{},[160808],{"type":431,"value":160809},"Best e-commerce integrations",{"type":431,"value":160811},": WooCommerce plugin + 10 n8n templates",{"type":426,"tag":427,"props":160813,"children":160814},{},[160815],{"type":431,"value":160816},"No other provider in the comparison table has all three of these simultaneously.",{"type":426,"tag":542,"props":160818,"children":160820},{"className":546,"code":160819,"language":545,"meta":417,"style":417},"# Get started in 5 minutes\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Testing the best WhatsApp API!\"}'\n",[160821],{"type":426,"tag":549,"props":160822,"children":160823},{"__ignoreMap":417},[160824,160832,160855,160870,160885],{"type":426,"tag":553,"props":160825,"children":160826},{"class":555,"line":556},[160827],{"type":426,"tag":553,"props":160828,"children":160829},{"style":1975},[160830],{"type":431,"value":160831},"# Get started in 5 minutes\n",{"type":426,"tag":553,"props":160833,"children":160834},{"class":555,"line":588},[160835,160839,160843,160847,160851],{"type":426,"tag":553,"props":160836,"children":160837},{"style":560},[160838],{"type":431,"value":563},{"type":426,"tag":553,"props":160840,"children":160841},{"style":566},[160842],{"type":431,"value":569},{"type":426,"tag":553,"props":160844,"children":160845},{"style":572},[160846],{"type":431,"value":575},{"type":426,"tag":553,"props":160848,"children":160849},{"style":572},[160850],{"type":431,"value":580},{"type":426,"tag":553,"props":160852,"children":160853},{"style":566},[160854],{"type":431,"value":585},{"type":426,"tag":553,"props":160856,"children":160857},{"class":555,"line":606},[160858,160862,160866],{"type":426,"tag":553,"props":160859,"children":160860},{"style":566},[160861],{"type":431,"value":594},{"type":426,"tag":553,"props":160863,"children":160864},{"style":572},[160865],{"type":431,"value":599},{"type":426,"tag":553,"props":160867,"children":160868},{"style":566},[160869],{"type":431,"value":585},{"type":426,"tag":553,"props":160871,"children":160872},{"class":555,"line":623},[160873,160877,160881],{"type":426,"tag":553,"props":160874,"children":160875},{"style":566},[160876],{"type":431,"value":594},{"type":426,"tag":553,"props":160878,"children":160879},{"style":572},[160880],{"type":431,"value":616},{"type":426,"tag":553,"props":160882,"children":160883},{"style":566},[160884],{"type":431,"value":585},{"type":426,"tag":553,"props":160886,"children":160887},{"class":555,"line":637},[160888,160892],{"type":426,"tag":553,"props":160889,"children":160890},{"style":566},[160891],{"type":431,"value":629},{"type":426,"tag":553,"props":160893,"children":160894},{"style":572},[160895],{"type":431,"value":160896}," '{\"number\": \"8801234567890\", \"message\": \"Testing the best WhatsApp API!\"}'\n",{"type":426,"tag":427,"props":160898,"children":160899},{},[160900],{"type":426,"tag":3819,"props":160901,"children":160903},{"href":3821,"rel":160902},[3823],[160904],{"type":431,"value":47645},{"type":426,"tag":434,"props":160906,"children":160907},{"id":4109},[160908],{"type":431,"value":4112},{"type":426,"tag":427,"props":160910,"children":160911},{},[160912,160917],{"type":426,"tag":446,"props":160913,"children":160914},{},[160915],{"type":431,"value":160916},"What is the best WhatsApp API for developers?",{"type":431,"value":160918},"\nRapiwa ($5\u002Fmonth, 5.0\u002F5 Sourceforge) is the best WhatsApp API for developers combining price, reliability, and integrations. For teams needing TypeScript\u002FPython SDKs today, WasenderAPI ($6\u002Fmonth) is also strong.",{"type":426,"tag":427,"props":160920,"children":160921},{},[160922,160927],{"type":426,"tag":446,"props":160923,"children":160924},{},[160925],{"type":431,"value":160926},"What is the cheapest WhatsApp API in 2026?",{"type":431,"value":160928},"\nRapiwa at $5\u002Fmonth is the cheapest managed WhatsApp API. Self-hosted options (Evolution API, WAHA) are free software but require a VPS ($15–35\u002Fmonth) and maintenance time.",{"type":426,"tag":427,"props":160930,"children":160931},{},[160932,160937],{"type":426,"tag":446,"props":160933,"children":160934},{},[160935],{"type":431,"value":160936},"Which WhatsApp API is best for WooCommerce?",{"type":431,"value":160938},"\nRapiwa — the only provider with a dedicated WooCommerce plugin and WooCommerce-specific n8n automation templates.",{"type":426,"tag":427,"props":160940,"children":160941},{},[160942,160947],{"type":426,"tag":446,"props":160943,"children":160944},{},[160945],{"type":431,"value":160946},"What is the best WhatsApp API for enterprise?",{"type":431,"value":160948},"\nFor enterprise compliance (Meta certification, green badge): Twilio, WATI, or Meta Cloud API directly. For enterprise at lower cost, Rapiwa Professional or Enterprise plans are available.",{"type":426,"tag":427,"props":160950,"children":160951},{},[160952,160957],{"type":426,"tag":446,"props":160953,"children":160954},{},[160955],{"type":431,"value":160956},"Are self-hosted WhatsApp APIs better than cloud ones?",{"type":431,"value":160958},"\nSelf-hosted gives you full infrastructure control but requires DevOps expertise, VPS management, and manual updates. For most teams, cloud-managed APIs like Rapiwa eliminate overhead with negligible cost difference.",{"type":426,"tag":4164,"props":160960,"children":160961},{},[160962],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":160964},[160965,160966,160974,160975,160976],{"id":159975,"depth":588,"text":159978},{"id":160547,"depth":588,"text":160550,"children":160967},[160968,160969,160970,160971,160972,160973],{"id":160553,"depth":606,"text":160556},{"id":160582,"depth":606,"text":160585},{"id":160605,"depth":606,"text":160608},{"id":160628,"depth":606,"text":160631},{"id":160651,"depth":606,"text":160654},{"id":160675,"depth":606,"text":160678},{"id":160694,"depth":588,"text":160697},{"id":160771,"depth":588,"text":160774},{"id":4109,"depth":588,"text":4112},"content:blog:best-whatsapp-api-providers-2026-full-comparison.md","blog\u002Fbest-whatsapp-api-providers-2026-full-comparison.md","blog\u002Fbest-whatsapp-api-providers-2026-full-comparison",{"loc":262},{"_path":266,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":267,"description":268,"date":160982,"author":419,"category":212,"_slug":160983,"image":160984,"body":160985,"_type":4187,"_id":161767,"_source":4189,"_file":161768,"_stem":161769,"_extension":4192,"sitemap":161770},"2026-01-09","wati-vs-rapiwa-which-whatsapp-api-right-for-business","\u002Fimages\u002Fblog\u002Fwati-vs-rapiwa-which-whatsapp-api-right-for-business.svg",{"type":423,"children":160986,"toc":161757},[160987,160999,161005,161017,161029,161035,161301,161307,161384,161389,161395,161400,161461,161467,161472,161551,161557,161656,161661,161667,161672,161690,161703,161707,161717,161727,161737,161747],{"type":426,"tag":427,"props":160988,"children":160989},{},[160990,160992,160997],{"type":431,"value":160991},"WATI costs $49\u002Fmonth and is designed for customer support teams with a shared inbox interface. ",{"type":426,"tag":3819,"props":160993,"children":160995},{"href":3821,"rel":160994},[3823],[160996],{"type":431,"value":127310},{"type":431,"value":160998}," costs $5\u002Fmonth and is designed for developers with a REST API, WooCommerce plugin, and n8n templates. They serve fundamentally different use cases — WATI for non-technical support teams, Rapiwa for developers and automation-focused businesses.",{"type":426,"tag":434,"props":161000,"children":161002},{"id":161001},"wati-vs-rapiwa-core-difference",[161003],{"type":431,"value":161004},"WATI vs Rapiwa: Core Difference",{"type":426,"tag":427,"props":161006,"children":161007},{},[161008,161010,161015],{"type":431,"value":161009},"WATI (wati.io) is a ",{"type":426,"tag":446,"props":161011,"children":161012},{},[161013],{"type":431,"value":161014},"WhatsApp customer support platform",{"type":431,"value":161016}," — it wraps the official Meta WhatsApp Business API in a team inbox tool. It has a chatbot builder, team assignment, and broadcast features.",{"type":426,"tag":427,"props":161018,"children":161019},{},[161020,161022,161027],{"type":431,"value":161021},"Rapiwa is a ",{"type":426,"tag":446,"props":161023,"children":161024},{},[161025],{"type":431,"value":161026},"WhatsApp developer API",{"type":431,"value":161028}," — it gives your code direct access to send and receive WhatsApp messages programmatically. It does not have a team inbox or visual chatbot builder.",{"type":426,"tag":434,"props":161030,"children":161032},{"id":161031},"feature-comparison",[161033],{"type":431,"value":161034},"Feature Comparison",{"type":426,"tag":10600,"props":161036,"children":161037},{},[161038,161056],{"type":426,"tag":10604,"props":161039,"children":161040},{},[161041],{"type":426,"tag":10608,"props":161042,"children":161043},{},[161044,161048,161052],{"type":426,"tag":10612,"props":161045,"children":161046},{},[161047],{"type":431,"value":16096},{"type":426,"tag":10612,"props":161049,"children":161050},{},[161051],{"type":431,"value":147230},{"type":426,"tag":10612,"props":161053,"children":161054},{},[161055],{"type":431,"value":127310},{"type":426,"tag":10623,"props":161057,"children":161058},{},[161059,161079,161095,161116,161136,161152,161168,161187,161205,161226,161245,161264,161282],{"type":426,"tag":10608,"props":161060,"children":161061},{},[161062,161067,161072],{"type":426,"tag":10630,"props":161063,"children":161064},{},[161065],{"type":431,"value":161066},"Monthly price",{"type":426,"tag":10630,"props":161068,"children":161069},{},[161070],{"type":431,"value":161071},"$49\u002Fmonth (Growth)",{"type":426,"tag":10630,"props":161073,"children":161074},{},[161075],{"type":426,"tag":446,"props":161076,"children":161077},{},[161078],{"type":431,"value":148332},{"type":426,"tag":10608,"props":161080,"children":161081},{},[161082,161086,161091],{"type":426,"tag":10630,"props":161083,"children":161084},{},[161085],{"type":431,"value":150764},{"type":426,"tag":10630,"props":161087,"children":161088},{},[161089],{"type":431,"value":161090},"Official Meta Cloud API",{"type":426,"tag":10630,"props":161092,"children":161093},{},[161094],{"type":431,"value":150774},{"type":426,"tag":10608,"props":161096,"children":161097},{},[161098,161103,161108],{"type":426,"tag":10630,"props":161099,"children":161100},{},[161101],{"type":431,"value":161102},"Target user",{"type":426,"tag":10630,"props":161104,"children":161105},{},[161106],{"type":431,"value":161107},"Customer support teams",{"type":426,"tag":10630,"props":161109,"children":161110},{},[161111],{"type":426,"tag":446,"props":161112,"children":161113},{},[161114],{"type":431,"value":161115},"Developers \u002F automation",{"type":426,"tag":10608,"props":161117,"children":161118},{},[161119,161124,161128],{"type":426,"tag":10630,"props":161120,"children":161121},{},[161122],{"type":431,"value":161123},"REST API access",{"type":426,"tag":10630,"props":161125,"children":161126},{},[161127],{"type":431,"value":78140},{"type":426,"tag":10630,"props":161129,"children":161130},{},[161131],{"type":426,"tag":446,"props":161132,"children":161133},{},[161134],{"type":431,"value":161135},"Full",{"type":426,"tag":10608,"props":161137,"children":161138},{},[161139,161144,161148],{"type":426,"tag":10630,"props":161140,"children":161141},{},[161142],{"type":431,"value":161143},"Team inbox",{"type":426,"tag":10630,"props":161145,"children":161146},{},[161147],{"type":431,"value":103087},{"type":426,"tag":10630,"props":161149,"children":161150},{},[161151],{"type":431,"value":78130},{"type":426,"tag":10608,"props":161153,"children":161154},{},[161155,161160,161164],{"type":426,"tag":10630,"props":161156,"children":161157},{},[161158],{"type":431,"value":161159},"Visual chatbot builder",{"type":426,"tag":10630,"props":161161,"children":161162},{},[161163],{"type":431,"value":103087},{"type":426,"tag":10630,"props":161165,"children":161166},{},[161167],{"type":431,"value":78130},{"type":426,"tag":10608,"props":161169,"children":161170},{},[161171,161175,161179],{"type":426,"tag":10630,"props":161172,"children":161173},{},[161174],{"type":431,"value":148534},{"type":426,"tag":10630,"props":161176,"children":161177},{},[161178],{"type":431,"value":78140},{"type":426,"tag":10630,"props":161180,"children":161181},{},[161182],{"type":426,"tag":446,"props":161183,"children":161184},{},[161185],{"type":431,"value":161186},"Yes (full)",{"type":426,"tag":10608,"props":161188,"children":161189},{},[161190,161194,161198],{"type":426,"tag":10630,"props":161191,"children":161192},{},[161193],{"type":431,"value":16164},{"type":426,"tag":10630,"props":161195,"children":161196},{},[161197],{"type":431,"value":78130},{"type":426,"tag":10630,"props":161199,"children":161200},{},[161201],{"type":426,"tag":446,"props":161202,"children":161203},{},[161204],{"type":431,"value":150909},{"type":426,"tag":10608,"props":161206,"children":161207},{},[161208,161213,161218],{"type":426,"tag":10630,"props":161209,"children":161210},{},[161211],{"type":431,"value":161212},"Raw API access",{"type":426,"tag":10630,"props":161214,"children":161215},{},[161216],{"type":431,"value":161217},"Restricted",{"type":426,"tag":10630,"props":161219,"children":161220},{},[161221],{"type":426,"tag":446,"props":161222,"children":161223},{},[161224],{"type":431,"value":161225},"Full REST API",{"type":426,"tag":10608,"props":161227,"children":161228},{},[161229,161233,161238],{"type":426,"tag":10630,"props":161230,"children":161231},{},[161232],{"type":431,"value":157149},{"type":426,"tag":10630,"props":161234,"children":161235},{},[161236],{"type":431,"value":161237},"Included in plan (limited)",{"type":426,"tag":10630,"props":161239,"children":161240},{},[161241],{"type":426,"tag":446,"props":161242,"children":161243},{},[161244],{"type":431,"value":1840},{"type":426,"tag":10608,"props":161246,"children":161247},{},[161248,161252,161257],{"type":426,"tag":10630,"props":161249,"children":161250},{},[161251],{"type":431,"value":150841},{"type":426,"tag":10630,"props":161253,"children":161254},{},[161255],{"type":431,"value":161256},"Required (Meta)",{"type":426,"tag":10630,"props":161258,"children":161259},{},[161260],{"type":426,"tag":446,"props":161261,"children":161262},{},[161263],{"type":431,"value":147147},{"type":426,"tag":10608,"props":161265,"children":161266},{},[161267,161271,161275],{"type":426,"tag":10630,"props":161268,"children":161269},{},[161270],{"type":431,"value":150822},{"type":426,"tag":10630,"props":161272,"children":161273},{},[161274],{"type":431,"value":147098},{"type":426,"tag":10630,"props":161276,"children":161277},{},[161278],{"type":426,"tag":446,"props":161279,"children":161280},{},[161281],{"type":431,"value":147147},{"type":426,"tag":10608,"props":161283,"children":161284},{},[161285,161289,161294],{"type":426,"tag":10630,"props":161286,"children":161287},{},[161288],{"type":431,"value":150917},{"type":426,"tag":10630,"props":161290,"children":161291},{},[161292],{"type":431,"value":161293},"Days (Meta approval)",{"type":426,"tag":10630,"props":161295,"children":161296},{},[161297],{"type":426,"tag":446,"props":161298,"children":161299},{},[161300],{"type":431,"value":46995},{"type":426,"tag":434,"props":161302,"children":161304},{"id":161303},"wati-pricing",[161305],{"type":431,"value":161306},"WATI Pricing",{"type":426,"tag":10600,"props":161308,"children":161309},{},[161310,161330],{"type":426,"tag":10604,"props":161311,"children":161312},{},[161313],{"type":426,"tag":10608,"props":161314,"children":161315},{},[161316,161321,161325],{"type":426,"tag":10612,"props":161317,"children":161318},{},[161319],{"type":431,"value":161320},"Plan",{"type":426,"tag":10612,"props":161322,"children":161323},{},[161324],{"type":431,"value":103028},{"type":426,"tag":10612,"props":161326,"children":161327},{},[161328],{"type":431,"value":161329},"Agents",{"type":426,"tag":10623,"props":161331,"children":161332},{},[161333,161350,161367],{"type":426,"tag":10608,"props":161334,"children":161335},{},[161336,161341,161346],{"type":426,"tag":10630,"props":161337,"children":161338},{},[161339],{"type":431,"value":161340},"Growth",{"type":426,"tag":10630,"props":161342,"children":161343},{},[161344],{"type":431,"value":161345},"$49\u002Fmonth",{"type":426,"tag":10630,"props":161347,"children":161348},{},[161349],{"type":431,"value":9306},{"type":426,"tag":10608,"props":161351,"children":161352},{},[161353,161358,161363],{"type":426,"tag":10630,"props":161354,"children":161355},{},[161356],{"type":431,"value":161357},"Pro",{"type":426,"tag":10630,"props":161359,"children":161360},{},[161361],{"type":431,"value":161362},"$99\u002Fmonth",{"type":426,"tag":10630,"props":161364,"children":161365},{},[161366],{"type":431,"value":11479},{"type":426,"tag":10608,"props":161368,"children":161369},{},[161370,161375,161380],{"type":426,"tag":10630,"props":161371,"children":161372},{},[161373],{"type":431,"value":161374},"Business",{"type":426,"tag":10630,"props":161376,"children":161377},{},[161378],{"type":431,"value":161379},"$299\u002Fmonth",{"type":426,"tag":10630,"props":161381,"children":161382},{},[161383],{"type":431,"value":150420},{"type":426,"tag":427,"props":161385,"children":161386},{},[161387],{"type":431,"value":161388},"WATI includes a limited number of conversations per month. Additional conversations beyond the included amount are charged separately at Meta's per-conversation rates.",{"type":426,"tag":434,"props":161390,"children":161392},{"id":161391},"when-to-use-wati",[161393],{"type":431,"value":161394},"When to Use WATI",{"type":426,"tag":427,"props":161396,"children":161397},{},[161398],{"type":431,"value":161399},"WATI is the right choice when:",{"type":426,"tag":454,"props":161401,"children":161402},{},[161403,161415,161426,161437,161449],{"type":426,"tag":458,"props":161404,"children":161405},{},[161406,161408,161413],{"type":431,"value":161407},"You have a ",{"type":426,"tag":446,"props":161409,"children":161410},{},[161411],{"type":431,"value":161412},"non-technical customer support team",{"type":431,"value":161414}," that needs a WhatsApp inbox they can use without developer help",{"type":426,"tag":458,"props":161416,"children":161417},{},[161418,161419,161424],{"type":431,"value":149472},{"type":426,"tag":446,"props":161420,"children":161421},{},[161422],{"type":431,"value":161423},"team-based message assignment",{"type":431,"value":161425}," (route WhatsApp queries to specific agents)",{"type":426,"tag":458,"props":161427,"children":161428},{},[161429,161430,161435],{"type":431,"value":149472},{"type":426,"tag":446,"props":161431,"children":161432},{},[161433],{"type":431,"value":161434},"visual chatbot builder",{"type":431,"value":161436}," without coding",{"type":426,"tag":458,"props":161438,"children":161439},{},[161440,161442,161447],{"type":431,"value":161441},"Your business requires ",{"type":426,"tag":446,"props":161443,"children":161444},{},[161445],{"type":431,"value":161446},"official Meta compliance",{"type":431,"value":161448}," and the green verification badge",{"type":426,"tag":458,"props":161450,"children":161451},{},[161452,161454,161459],{"type":431,"value":161453},"You operate a ",{"type":426,"tag":446,"props":161455,"children":161456},{},[161457],{"type":431,"value":161458},"call centre or customer support department",{"type":431,"value":161460}," with multiple agents sharing one WhatsApp number",{"type":426,"tag":434,"props":161462,"children":161464},{"id":161463},"when-to-use-rapiwa",[161465],{"type":431,"value":161466},"When to Use Rapiwa",{"type":426,"tag":427,"props":161468,"children":161469},{},[161470],{"type":431,"value":161471},"Rapiwa is the right choice when:",{"type":426,"tag":454,"props":161473,"children":161474},{},[161475,161487,161499,161509,161521,161533],{"type":426,"tag":458,"props":161476,"children":161477},{},[161478,161480,161485],{"type":431,"value":161479},"You are a ",{"type":426,"tag":446,"props":161481,"children":161482},{},[161483],{"type":431,"value":161484},"developer",{"type":431,"value":161486}," integrating WhatsApp into an application, CRM, or e-commerce store",{"type":426,"tag":458,"props":161488,"children":161489},{},[161490,161492,161497],{"type":431,"value":161491},"You want ",{"type":426,"tag":446,"props":161493,"children":161494},{},[161495],{"type":431,"value":161496},"WooCommerce order notifications",{"type":431,"value":161498}," without building a team inbox",{"type":426,"tag":458,"props":161500,"children":161501},{},[161502,161503,161507],{"type":431,"value":149520},{"type":426,"tag":446,"props":161504,"children":161505},{},[161506],{"type":431,"value":47653},{"type":431,"value":161508}," and want pre-built automation templates",{"type":426,"tag":458,"props":161510,"children":161511},{},[161512,161514,161519],{"type":431,"value":161513},"You need the ",{"type":426,"tag":446,"props":161515,"children":161516},{},[161517],{"type":431,"value":161518},"cheapest option",{"type":431,"value":161520}," ($5\u002Fmonth vs $49\u002Fmonth)",{"type":426,"tag":458,"props":161522,"children":161523},{},[161524,161526,161531],{"type":431,"value":161525},"You want to send from ",{"type":426,"tag":446,"props":161527,"children":161528},{},[161529],{"type":431,"value":161530},"your existing personal or business WhatsApp number",{"type":431,"value":161532}," (WATI requires a new number)",{"type":426,"tag":458,"props":161534,"children":161535},{},[161536,161538,161543,161544,161549],{"type":431,"value":161537},"You are building a ",{"type":426,"tag":446,"props":161539,"children":161540},{},[161541],{"type":431,"value":161542},"SaaS product",{"type":431,"value":77103},{"type":426,"tag":446,"props":161545,"children":161546},{},[161547],{"type":431,"value":161548},"automation tool",{"type":431,"value":161550}," that needs raw API access",{"type":426,"tag":434,"props":161552,"children":161554},{"id":161553},"cost-comparison-1-year-investment",[161555],{"type":431,"value":161556},"Cost Comparison: 1-Year Investment",{"type":426,"tag":10600,"props":161558,"children":161559},{},[161560,161578],{"type":426,"tag":10604,"props":161561,"children":161562},{},[161563],{"type":426,"tag":10608,"props":161564,"children":161565},{},[161566,161570,161574],{"type":426,"tag":10612,"props":161567,"children":161568},{},[161569],{"type":431,"value":155960},{"type":426,"tag":10612,"props":161571,"children":161572},{},[161573],{"type":431,"value":147230},{"type":426,"tag":10612,"props":161575,"children":161576},{},[161577],{"type":431,"value":127310},{"type":426,"tag":10623,"props":161579,"children":161580},{},[161581,161601,161620,161639],{"type":426,"tag":10608,"props":161582,"children":161583},{},[161584,161588,161593],{"type":426,"tag":10630,"props":161585,"children":161586},{},[161587],{"type":431,"value":161496},{"type":426,"tag":10630,"props":161589,"children":161590},{},[161591],{"type":431,"value":161592},"$588\u002Fyear",{"type":426,"tag":10630,"props":161594,"children":161595},{},[161596],{"type":426,"tag":446,"props":161597,"children":161598},{},[161599],{"type":431,"value":161600},"$60\u002Fyear",{"type":426,"tag":10608,"props":161602,"children":161603},{},[161604,161609,161613],{"type":426,"tag":10630,"props":161605,"children":161606},{},[161607],{"type":431,"value":161608},"Automated appointment reminders",{"type":426,"tag":10630,"props":161610,"children":161611},{},[161612],{"type":431,"value":161592},{"type":426,"tag":10630,"props":161614,"children":161615},{},[161616],{"type":426,"tag":446,"props":161617,"children":161618},{},[161619],{"type":431,"value":161600},{"type":426,"tag":10608,"props":161621,"children":161622},{},[161623,161628,161632],{"type":426,"tag":10630,"props":161624,"children":161625},{},[161626],{"type":431,"value":161627},"API-driven chatbot",{"type":426,"tag":10630,"props":161629,"children":161630},{},[161631],{"type":431,"value":161592},{"type":426,"tag":10630,"props":161633,"children":161634},{},[161635],{"type":426,"tag":446,"props":161636,"children":161637},{},[161638],{"type":431,"value":161600},{"type":426,"tag":10608,"props":161640,"children":161641},{},[161642,161647,161651],{"type":426,"tag":10630,"props":161643,"children":161644},{},[161645],{"type":431,"value":161646},"Team inbox for support team",{"type":426,"tag":10630,"props":161648,"children":161649},{},[161650],{"type":431,"value":161592},{"type":426,"tag":10630,"props":161652,"children":161653},{},[161654],{"type":431,"value":161655},"Not applicable",{"type":426,"tag":427,"props":161657,"children":161658},{},[161659],{"type":431,"value":161660},"For developer-centric use cases, Rapiwa saves $528\u002Fyear.",{"type":426,"tag":434,"props":161662,"children":161664},{"id":161663},"can-i-use-rapiwa-as-a-wati-alternative-for-customer-support",[161665],{"type":431,"value":161666},"Can I Use Rapiwa as a WATI Alternative for Customer Support?",{"type":426,"tag":427,"props":161668,"children":161669},{},[161670],{"type":431,"value":161671},"Rapiwa provides the API foundation to build a custom support system, but it does not include a team inbox out of the box. If you need a basic support bot (not a team inbox), you can build one with:",{"type":426,"tag":6331,"props":161673,"children":161674},{},[161675,161680,161685],{"type":426,"tag":458,"props":161676,"children":161677},{},[161678],{"type":431,"value":161679},"Rapiwa webhook → receives all incoming WhatsApp messages",{"type":426,"tag":458,"props":161681,"children":161682},{},[161683],{"type":431,"value":161684},"n8n workflow → routes messages based on keywords, assigns to Google Sheets log",{"type":426,"tag":458,"props":161686,"children":161687},{},[161688],{"type":431,"value":161689},"Rapiwa API → sends automated replies",{"type":426,"tag":427,"props":161691,"children":161692},{},[161693,161695,161701],{"type":431,"value":161694},"This is more flexible than WATI but requires some setup. Use the ",{"type":426,"tag":3819,"props":161696,"children":161698},{"href":18864,"rel":161697},[3823],[161699],{"type":431,"value":161700},"GPT-4 customer support bot template",{"type":431,"value":161702}," (474 installs) as a starting point.",{"type":426,"tag":434,"props":161704,"children":161705},{"id":4109},[161706],{"type":431,"value":4112},{"type":426,"tag":427,"props":161708,"children":161709},{},[161710,161715],{"type":426,"tag":446,"props":161711,"children":161712},{},[161713],{"type":431,"value":161714},"What is the difference between WATI and Rapiwa?",{"type":431,"value":161716},"\nWATI is a customer support platform (team inbox, visual chatbot builder) built on Meta's official API, starting at $49\u002Fmonth. Rapiwa is a developer REST API starting at $5\u002Fmonth with WooCommerce and n8n integrations, built on the unofficial WhatsApp Web protocol.",{"type":426,"tag":427,"props":161718,"children":161719},{},[161720,161725],{"type":426,"tag":446,"props":161721,"children":161722},{},[161723],{"type":431,"value":161724},"Is WATI better than Rapiwa?",{"type":431,"value":161726},"\nFor non-technical customer support teams: WATI is better. For developers and automation-focused businesses: Rapiwa is better ($5 vs $49, full API access, WooCommerce plugin, n8n templates).",{"type":426,"tag":427,"props":161728,"children":161729},{},[161730,161735],{"type":426,"tag":446,"props":161731,"children":161732},{},[161733],{"type":431,"value":161734},"Can Rapiwa replace WATI for customer support?",{"type":431,"value":161736},"\nRapiwa can handle automated customer support (chatbots, keyword routing) but does not have a team inbox for human agents. For teams that need human agents sharing a WhatsApp inbox, WATI is more appropriate.",{"type":426,"tag":427,"props":161738,"children":161739},{},[161740,161745],{"type":426,"tag":446,"props":161741,"children":161742},{},[161743],{"type":431,"value":161744},"Does WATI have a WooCommerce plugin like Rapiwa?",{"type":431,"value":161746},"\nWATI has basic WooCommerce integration through webhooks, but no dedicated plugin like Rapiwa's. Rapiwa's plugin is zero-code and specifically built for WooCommerce order automation.",{"type":426,"tag":427,"props":161748,"children":161749},{},[161750,161755],{"type":426,"tag":446,"props":161751,"children":161752},{},[161753],{"type":431,"value":161754},"What is the cheapest WATI alternative?",{"type":431,"value":161756},"\nRapiwa at $5\u002Fmonth is the cheapest managed WhatsApp API alternative to WATI. It's $44\u002Fmonth cheaper than WATI's Growth plan.",{"title":417,"searchDepth":588,"depth":588,"links":161758},[161759,161760,161761,161762,161763,161764,161765,161766],{"id":161001,"depth":588,"text":161004},{"id":161031,"depth":588,"text":161034},{"id":161303,"depth":588,"text":161306},{"id":161391,"depth":588,"text":161394},{"id":161463,"depth":588,"text":161466},{"id":161553,"depth":588,"text":161556},{"id":161663,"depth":588,"text":161666},{"id":4109,"depth":588,"text":4112},"content:blog:wati-vs-rapiwa-which-whatsapp-api-right-for-business.md","blog\u002Fwati-vs-rapiwa-which-whatsapp-api-right-for-business.md","blog\u002Fwati-vs-rapiwa-which-whatsapp-api-right-for-business",{"loc":266},{"_path":270,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":271,"description":272,"date":161772,"author":33271,"category":212,"_slug":161773,"image":161774,"body":161775,"_type":4187,"_id":162815,"_source":4189,"_file":162816,"_stem":162817,"_extension":4192,"sitemap":162818},"2026-01-08","twilio-whatsapp-api-vs-rapiwa-why-cheaper-wins-for-startups","\u002Fimages\u002Fblog\u002Ftwilio-whatsapp-api-vs-rapiwa-why-cheaper-wins-for-startups.svg",{"type":423,"children":161776,"toc":162792},[161777,161789,161795,162024,162030,162035,162041,162063,162069,162110,162116,162221,162233,162239,162244,162250,162255,162261,162266,162272,162277,162283,162288,162294,162300,162305,162311,162316,162322,162327,162333,162338,162344,162352,162520,162527,162653,162658,162681,162687,162692,162725,162734,162738,162748,162758,162768,162778,162788],{"type":426,"tag":427,"props":161778,"children":161779},{},[161780,161782,161787],{"type":431,"value":161781},"Twilio's WhatsApp API charges $0.005 per message plus $0.025 per marketing conversation — 10,000 messages can cost $250+\u002Fmonth. ",{"type":426,"tag":3819,"props":161783,"children":161785},{"href":3821,"rel":161784},[3823],[161786],{"type":431,"value":127310},{"type":431,"value":161788}," costs $5\u002Fmonth for unlimited messages with no per-conversation fees. For startups and small businesses, Rapiwa saves $2,940\u002Fyear at 10,000 messages\u002Fmonth and requires zero Meta approval. No other WhatsApp API difference matters more than this cost gap.",{"type":426,"tag":434,"props":161790,"children":161792},{"id":161791},"twilio-vs-rapiwa-head-to-head-comparison",[161793],{"type":431,"value":161794},"Twilio vs Rapiwa: Head-to-Head Comparison",{"type":426,"tag":10600,"props":161796,"children":161797},{},[161798,161816],{"type":426,"tag":10604,"props":161799,"children":161800},{},[161801],{"type":426,"tag":10608,"props":161802,"children":161803},{},[161804,161808,161812],{"type":426,"tag":10612,"props":161805,"children":161806},{},[161807],{"type":431,"value":16096},{"type":426,"tag":10612,"props":161809,"children":161810},{},[161811],{"type":431,"value":147074},{"type":426,"tag":10612,"props":161813,"children":161814},{},[161815],{"type":431,"value":127310},{"type":426,"tag":10623,"props":161817,"children":161818},{},[161819,161834,161854,161873,161892,161912,161930,161949,161968,161988,162006],{"type":426,"tag":10608,"props":161820,"children":161821},{},[161822,161826,161830],{"type":426,"tag":10630,"props":161823,"children":161824},{},[161825],{"type":431,"value":150764},{"type":426,"tag":10630,"props":161827,"children":161828},{},[161829],{"type":431,"value":153501},{"type":426,"tag":10630,"props":161831,"children":161832},{},[161833],{"type":431,"value":150774},{"type":426,"tag":10608,"props":161835,"children":161836},{},[161837,161842,161847],{"type":426,"tag":10630,"props":161838,"children":161839},{},[161840],{"type":431,"value":161841},"Starting monthly cost",{"type":426,"tag":10630,"props":161843,"children":161844},{},[161845],{"type":431,"value":161846},"Variable (usage-based)",{"type":426,"tag":10630,"props":161848,"children":161849},{},[161850],{"type":426,"tag":446,"props":161851,"children":161852},{},[161853],{"type":431,"value":153761},{"type":426,"tag":10608,"props":161855,"children":161856},{},[161857,161861,161866],{"type":426,"tag":10630,"props":161858,"children":161859},{},[161860],{"type":431,"value":157149},{"type":426,"tag":10630,"props":161862,"children":161863},{},[161864],{"type":431,"value":161865},"Yes ($0.005+)",{"type":426,"tag":10630,"props":161867,"children":161868},{},[161869],{"type":426,"tag":446,"props":161870,"children":161871},{},[161872],{"type":431,"value":1840},{"type":426,"tag":10608,"props":161874,"children":161875},{},[161876,161880,161885],{"type":426,"tag":10630,"props":161877,"children":161878},{},[161879],{"type":431,"value":150802},{"type":426,"tag":10630,"props":161881,"children":161882},{},[161883],{"type":431,"value":161884},"Yes ($0.025 marketing)",{"type":426,"tag":10630,"props":161886,"children":161887},{},[161888],{"type":426,"tag":446,"props":161889,"children":161890},{},[161891],{"type":431,"value":1840},{"type":426,"tag":10608,"props":161893,"children":161894},{},[161895,161900,161905],{"type":426,"tag":10630,"props":161896,"children":161897},{},[161898],{"type":431,"value":161899},"Meta business approval",{"type":426,"tag":10630,"props":161901,"children":161902},{},[161903],{"type":431,"value":161904},"Required (days–weeks)",{"type":426,"tag":10630,"props":161906,"children":161907},{},[161908],{"type":426,"tag":446,"props":161909,"children":161910},{},[161911],{"type":431,"value":147147},{"type":426,"tag":10608,"props":161913,"children":161914},{},[161915,161919,161923],{"type":426,"tag":10630,"props":161916,"children":161917},{},[161918],{"type":431,"value":150841},{"type":426,"tag":10630,"props":161920,"children":161921},{},[161922],{"type":431,"value":157190},{"type":426,"tag":10630,"props":161924,"children":161925},{},[161926],{"type":426,"tag":446,"props":161927,"children":161928},{},[161929],{"type":431,"value":147147},{"type":426,"tag":10608,"props":161931,"children":161932},{},[161933,161937,161942],{"type":426,"tag":10630,"props":161934,"children":161935},{},[161936],{"type":431,"value":153587},{"type":426,"tag":10630,"props":161938,"children":161939},{},[161940],{"type":431,"value":161941},"Yes (restricts outbound)",{"type":426,"tag":10630,"props":161943,"children":161944},{},[161945],{"type":426,"tag":446,"props":161946,"children":161947},{},[161948],{"type":431,"value":153599},{"type":426,"tag":10608,"props":161950,"children":161951},{},[161952,161956,161961],{"type":426,"tag":10630,"props":161953,"children":161954},{},[161955],{"type":431,"value":150917},{"type":426,"tag":10630,"props":161957,"children":161958},{},[161959],{"type":431,"value":161960},"Days to weeks",{"type":426,"tag":10630,"props":161962,"children":161963},{},[161964],{"type":426,"tag":446,"props":161965,"children":161966},{},[161967],{"type":431,"value":46995},{"type":426,"tag":10608,"props":161969,"children":161970},{},[161971,161976,161981],{"type":426,"tag":10630,"props":161972,"children":161973},{},[161974],{"type":431,"value":161975},"10,000 messages cost",{"type":426,"tag":10630,"props":161977,"children":161978},{},[161979],{"type":431,"value":161980},"$250–500+\u002Fmonth",{"type":426,"tag":10630,"props":161982,"children":161983},{},[161984],{"type":426,"tag":446,"props":161985,"children":161986},{},[161987],{"type":431,"value":148332},{"type":426,"tag":10608,"props":161989,"children":161990},{},[161991,161995,161999],{"type":426,"tag":10630,"props":161992,"children":161993},{},[161994],{"type":431,"value":148534},{"type":426,"tag":10630,"props":161996,"children":161997},{},[161998],{"type":431,"value":78130},{"type":426,"tag":10630,"props":162000,"children":162001},{},[162002],{"type":426,"tag":446,"props":162003,"children":162004},{},[162005],{"type":431,"value":103087},{"type":426,"tag":10608,"props":162007,"children":162008},{},[162009,162013,162017],{"type":426,"tag":10630,"props":162010,"children":162011},{},[162012],{"type":431,"value":16164},{"type":426,"tag":10630,"props":162014,"children":162015},{},[162016],{"type":431,"value":78130},{"type":426,"tag":10630,"props":162018,"children":162019},{},[162020],{"type":426,"tag":446,"props":162021,"children":162022},{},[162023],{"type":431,"value":150909},{"type":426,"tag":434,"props":162025,"children":162027},{"id":162026},"twilio-whatsapp-api-pricing-what-you-actually-pay",[162028],{"type":431,"value":162029},"Twilio WhatsApp API Pricing: What You Actually Pay",{"type":426,"tag":427,"props":162031,"children":162032},{},[162033],{"type":431,"value":162034},"Twilio uses Meta's official WhatsApp Cloud API infrastructure, layered with Twilio's own per-message fees:",{"type":426,"tag":515,"props":162036,"children":162038},{"id":162037},"per-message-fees-twilio",[162039],{"type":431,"value":162040},"Per-Message Fees (Twilio)",{"type":426,"tag":454,"props":162042,"children":162043},{},[162044,162054],{"type":426,"tag":458,"props":162045,"children":162046},{},[162047,162052],{"type":426,"tag":446,"props":162048,"children":162049},{},[162050],{"type":431,"value":162051},"Outbound message",{"type":431,"value":162053},": ~$0.005 per message",{"type":426,"tag":458,"props":162055,"children":162056},{},[162057,162062],{"type":426,"tag":446,"props":162058,"children":162059},{},[162060],{"type":431,"value":162061},"Inbound message",{"type":431,"value":162053},{"type":426,"tag":515,"props":162064,"children":162066},{"id":162065},"per-conversation-fees-meta",[162067],{"type":431,"value":162068},"Per-Conversation Fees (Meta)",{"type":426,"tag":454,"props":162070,"children":162071},{},[162072,162082,162092,162100],{"type":426,"tag":458,"props":162073,"children":162074},{},[162075,162080],{"type":426,"tag":446,"props":162076,"children":162077},{},[162078],{"type":431,"value":162079},"Marketing conversations",{"type":431,"value":162081},": ~$0.025\u002Fsession (US rate)",{"type":426,"tag":458,"props":162083,"children":162084},{},[162085,162090],{"type":426,"tag":446,"props":162086,"children":162087},{},[162088],{"type":431,"value":162089},"Utility conversations",{"type":431,"value":162091},": ~$0.015\u002Fsession",{"type":426,"tag":458,"props":162093,"children":162094},{},[162095,162099],{"type":426,"tag":446,"props":162096,"children":162097},{},[162098],{"type":431,"value":86289},{"type":431,"value":162091},{"type":426,"tag":458,"props":162101,"children":162102},{},[162103,162108],{"type":426,"tag":446,"props":162104,"children":162105},{},[162106],{"type":431,"value":162107},"Service (inbound)",{"type":431,"value":162109},": Free (up to 1,000\u002Fmonth)",{"type":426,"tag":515,"props":162111,"children":162113},{"id":162112},"real-cost-examples",[162114],{"type":431,"value":162115},"Real Cost Examples",{"type":426,"tag":10600,"props":162117,"children":162118},{},[162119,162138],{"type":426,"tag":10604,"props":162120,"children":162121},{},[162122],{"type":426,"tag":10608,"props":162123,"children":162124},{},[162125,162129,162134],{"type":426,"tag":10612,"props":162126,"children":162127},{},[162128],{"type":431,"value":152673},{"type":426,"tag":10612,"props":162130,"children":162131},{},[162132],{"type":431,"value":162133},"Twilio (Marketing)",{"type":426,"tag":10612,"props":162135,"children":162136},{},[162137],{"type":431,"value":127310},{"type":426,"tag":10623,"props":162139,"children":162140},{},[162141,162161,162181,162201],{"type":426,"tag":10608,"props":162142,"children":162143},{},[162144,162149,162154],{"type":426,"tag":10630,"props":162145,"children":162146},{},[162147],{"type":431,"value":162148},"1,000 messages\u002Fmonth",{"type":426,"tag":10630,"props":162150,"children":162151},{},[162152],{"type":431,"value":162153},"~$25–30",{"type":426,"tag":10630,"props":162155,"children":162156},{},[162157],{"type":426,"tag":446,"props":162158,"children":162159},{},[162160],{"type":431,"value":147125},{"type":426,"tag":10608,"props":162162,"children":162163},{},[162164,162169,162174],{"type":426,"tag":10630,"props":162165,"children":162166},{},[162167],{"type":431,"value":162168},"5,000 messages\u002Fmonth",{"type":426,"tag":10630,"props":162170,"children":162171},{},[162172],{"type":431,"value":162173},"~$125–150",{"type":426,"tag":10630,"props":162175,"children":162176},{},[162177],{"type":426,"tag":446,"props":162178,"children":162179},{},[162180],{"type":431,"value":147125},{"type":426,"tag":10608,"props":162182,"children":162183},{},[162184,162189,162194],{"type":426,"tag":10630,"props":162185,"children":162186},{},[162187],{"type":431,"value":162188},"10,000 messages\u002Fmonth",{"type":426,"tag":10630,"props":162190,"children":162191},{},[162192],{"type":431,"value":162193},"~$250–300",{"type":426,"tag":10630,"props":162195,"children":162196},{},[162197],{"type":426,"tag":446,"props":162198,"children":162199},{},[162200],{"type":431,"value":147125},{"type":426,"tag":10608,"props":162202,"children":162203},{},[162204,162209,162214],{"type":426,"tag":10630,"props":162205,"children":162206},{},[162207],{"type":431,"value":162208},"50,000 messages\u002Fmonth",{"type":426,"tag":10630,"props":162210,"children":162211},{},[162212],{"type":431,"value":162213},"~$1,250–1,500",{"type":426,"tag":10630,"props":162215,"children":162216},{},[162217],{"type":426,"tag":446,"props":162218,"children":162219},{},[162220],{"type":431,"value":147125},{"type":426,"tag":427,"props":162222,"children":162223},{},[162224,162226,162231],{"type":431,"value":162225},"At 10,000 messages\u002Fmonth, Rapiwa costs $5. Twilio costs $250–300. ",{"type":426,"tag":446,"props":162227,"children":162228},{},[162229],{"type":431,"value":162230},"Rapiwa saves $2,940–$3,540\u002Fyear",{"type":431,"value":162232}," for the same messaging volume.",{"type":426,"tag":434,"props":162234,"children":162236},{"id":162235},"when-twilio-whatsapp-is-worth-the-cost",[162237],{"type":431,"value":162238},"When Twilio WhatsApp Is Worth the Cost",{"type":426,"tag":427,"props":162240,"children":162241},{},[162242],{"type":431,"value":162243},"Twilio has genuine advantages in specific scenarios:",{"type":426,"tag":515,"props":162245,"children":162247},{"id":162246},"_1-enterprise-compliance-requirements",[162248],{"type":431,"value":162249},"1. Enterprise Compliance Requirements",{"type":426,"tag":427,"props":162251,"children":162252},{},[162253],{"type":431,"value":162254},"If your company requires official Meta certification, the green verification badge, or full compliance with Meta's Terms of Service, Twilio's official API is the right choice. Unofficial APIs (Rapiwa) are not Meta-approved.",{"type":426,"tag":515,"props":162256,"children":162258},{"id":162257},"_2-large-enterprise-deployments",[162259],{"type":431,"value":162260},"2. Large Enterprise Deployments",{"type":426,"tag":427,"props":162262,"children":162263},{},[162264],{"type":431,"value":162265},"At very large scale (millions of messages\u002Fmonth), the conversation fees can become manageable as a percentage of revenue, and the enterprise SLA, dedicated support, and Meta partnership become valuable.",{"type":426,"tag":515,"props":162267,"children":162269},{"id":162268},"_3-existing-twilio-stack",[162270],{"type":431,"value":162271},"3. Existing Twilio Stack",{"type":426,"tag":427,"props":162273,"children":162274},{},[162275],{"type":431,"value":162276},"If you already use Twilio for SMS, voice, and email (a common startup pattern), adding WhatsApp through the same Twilio account simplifies billing and integration.",{"type":426,"tag":515,"props":162278,"children":162280},{"id":162279},"_4-regulated-industries",[162281],{"type":431,"value":162282},"4. Regulated Industries",{"type":426,"tag":427,"props":162284,"children":162285},{},[162286],{"type":431,"value":162287},"Banking, healthcare, and government clients often require official API usage. If your customers' procurement policies require Meta-certified WhatsApp Business, Twilio is the path.",{"type":426,"tag":434,"props":162289,"children":162291},{"id":162290},"when-rapiwa-wins-most-startup-cases",[162292],{"type":431,"value":162293},"When Rapiwa Wins (Most Startup Cases)",{"type":426,"tag":515,"props":162295,"children":162297},{"id":162296},"_1-budget-conscious-startups",[162298],{"type":431,"value":162299},"1. Budget-Conscious Startups",{"type":426,"tag":427,"props":162301,"children":162302},{},[162303],{"type":431,"value":162304},"$5\u002Fmonth vs $250–300\u002Fmonth. At seed or early stage, this is the difference between affordable and prohibitive. Rapiwa is the obvious choice for 95% of startups.",{"type":426,"tag":515,"props":162306,"children":162308},{"id":162307},"_2-mvp-and-proof-of-concept",[162309],{"type":431,"value":162310},"2. MVP and Proof of Concept",{"type":426,"tag":427,"props":162312,"children":162313},{},[162314],{"type":431,"value":162315},"Testing WhatsApp as a channel? Start with Rapiwa. 5-minute setup, 3-day free trial, no approval process. Validate the idea before committing to Twilio's more complex setup.",{"type":426,"tag":515,"props":162317,"children":162319},{"id":162318},"_3-woocommerce-e-commerce",[162320],{"type":431,"value":162321},"3. WooCommerce \u002F E-Commerce",{"type":426,"tag":427,"props":162323,"children":162324},{},[162325],{"type":431,"value":162326},"Rapiwa has a WooCommerce plugin and 6 WooCommerce-specific n8n templates. Twilio has none of these. For e-commerce automations, Rapiwa is dramatically easier to implement.",{"type":426,"tag":515,"props":162328,"children":162330},{"id":162329},"_4-high-volume-marketing-campaigns",[162331],{"type":431,"value":162332},"4. High-Volume Marketing Campaigns",{"type":426,"tag":427,"props":162334,"children":162335},{},[162336],{"type":431,"value":162337},"If you are sending 10,000+ marketing messages per month, Twilio's per-conversation fees make it 50–60x more expensive than Rapiwa. The $5\u002Fmonth flat rate makes high-volume campaigns economically viable.",{"type":426,"tag":434,"props":162339,"children":162341},{"id":162340},"code-comparison-sending-a-message",[162342],{"type":431,"value":162343},"Code Comparison: Sending a Message",{"type":426,"tag":427,"props":162345,"children":162346},{},[162347],{"type":426,"tag":446,"props":162348,"children":162349},{},[162350],{"type":431,"value":162351},"Twilio WhatsApp (template required):",{"type":426,"tag":542,"props":162353,"children":162355},{"className":785,"code":162354,"language":784,"meta":417,"style":417},"from twilio.rest import Client\n\nclient = Client(\"ACCOUNT_SID\", \"AUTH_TOKEN\")\nmessage = client.messages.create(\n    from_=\"whatsapp:+14155238886\",\n    to=\"whatsapp:+8801234567890\",\n    content_sid=\"HXxxx\",  # Pre-approved template SID\n    content_variables='{\"1\":\"John\",\"2\":\"12345\"}'\n)\n",[162356],{"type":426,"tag":549,"props":162357,"children":162358},{"__ignoreMap":417},[162359,162378,162385,162419,162434,162453,162472,162497,162513],{"type":426,"tag":553,"props":162360,"children":162361},{"class":555,"line":556},[162362,162366,162370,162374],{"type":426,"tag":553,"props":162363,"children":162364},{"style":795},[162365],{"type":431,"value":811},{"type":426,"tag":553,"props":162367,"children":162368},{"style":684},[162369],{"type":431,"value":147451},{"type":426,"tag":553,"props":162371,"children":162372},{"style":795},[162373],{"type":431,"value":798},{"type":426,"tag":553,"props":162375,"children":162376},{"style":684},[162377],{"type":431,"value":147460},{"type":426,"tag":553,"props":162379,"children":162380},{"class":555,"line":588},[162381],{"type":426,"tag":553,"props":162382,"children":162383},{"emptyLinePlaceholder":831},[162384],{"type":431,"value":834},{"type":426,"tag":553,"props":162386,"children":162387},{"class":555,"line":606},[162388,162392,162396,162401,162406,162410,162415],{"type":426,"tag":553,"props":162389,"children":162390},{"style":684},[162391],{"type":431,"value":140357},{"type":426,"tag":553,"props":162393,"children":162394},{"style":795},[162395],{"type":431,"value":957},{"type":426,"tag":553,"props":162397,"children":162398},{"style":684},[162399],{"type":431,"value":162400}," Client(",{"type":426,"tag":553,"props":162402,"children":162403},{"style":572},[162404],{"type":431,"value":162405},"\"ACCOUNT_SID\"",{"type":426,"tag":553,"props":162407,"children":162408},{"style":684},[162409],{"type":431,"value":1907},{"type":426,"tag":553,"props":162411,"children":162412},{"style":572},[162413],{"type":431,"value":162414},"\"AUTH_TOKEN\"",{"type":426,"tag":553,"props":162416,"children":162417},{"style":684},[162418],{"type":431,"value":3262},{"type":426,"tag":553,"props":162420,"children":162421},{"class":555,"line":623},[162422,162426,162430],{"type":426,"tag":553,"props":162423,"children":162424},{"style":684},[162425],{"type":431,"value":7737},{"type":426,"tag":553,"props":162427,"children":162428},{"style":795},[162429],{"type":431,"value":957},{"type":426,"tag":553,"props":162431,"children":162432},{"style":684},[162433],{"type":431,"value":147499},{"type":426,"tag":553,"props":162435,"children":162436},{"class":555,"line":637},[162437,162441,162445,162449],{"type":426,"tag":553,"props":162438,"children":162439},{"style":1684},[162440],{"type":431,"value":147507},{"type":426,"tag":553,"props":162442,"children":162443},{"style":795},[162444],{"type":431,"value":957},{"type":426,"tag":553,"props":162446,"children":162447},{"style":572},[162448],{"type":431,"value":147516},{"type":426,"tag":553,"props":162450,"children":162451},{"style":684},[162452],{"type":431,"value":710},{"type":426,"tag":553,"props":162454,"children":162455},{"class":555,"line":646},[162456,162460,162464,162468],{"type":426,"tag":553,"props":162457,"children":162458},{"style":1684},[162459],{"type":431,"value":147533},{"type":426,"tag":553,"props":162461,"children":162462},{"style":795},[162463],{"type":431,"value":957},{"type":426,"tag":553,"props":162465,"children":162466},{"style":572},[162467],{"type":431,"value":147542},{"type":426,"tag":553,"props":162469,"children":162470},{"style":684},[162471],{"type":431,"value":710},{"type":426,"tag":553,"props":162473,"children":162474},{"class":555,"line":655},[162475,162479,162483,162488,162492],{"type":426,"tag":553,"props":162476,"children":162477},{"style":1684},[162478],{"type":431,"value":147554},{"type":426,"tag":553,"props":162480,"children":162481},{"style":795},[162482],{"type":431,"value":957},{"type":426,"tag":553,"props":162484,"children":162485},{"style":572},[162486],{"type":431,"value":162487},"\"HXxxx\"",{"type":426,"tag":553,"props":162489,"children":162490},{"style":684},[162491],{"type":431,"value":11654},{"type":426,"tag":553,"props":162493,"children":162494},{"style":1975},[162495],{"type":431,"value":162496},"# Pre-approved template SID\n",{"type":426,"tag":553,"props":162498,"children":162499},{"class":555,"line":1036},[162500,162504,162508],{"type":426,"tag":553,"props":162501,"children":162502},{"style":1684},[162503],{"type":431,"value":147580},{"type":426,"tag":553,"props":162505,"children":162506},{"style":795},[162507],{"type":431,"value":957},{"type":426,"tag":553,"props":162509,"children":162510},{"style":572},[162511],{"type":431,"value":162512},"'{\"1\":\"John\",\"2\":\"12345\"}'\n",{"type":426,"tag":553,"props":162514,"children":162515},{"class":555,"line":1054},[162516],{"type":426,"tag":553,"props":162517,"children":162518},{"style":684},[162519],{"type":431,"value":3262},{"type":426,"tag":427,"props":162521,"children":162522},{},[162523],{"type":426,"tag":446,"props":162524,"children":162525},{},[162526],{"type":431,"value":147616},{"type":426,"tag":542,"props":162528,"children":162530},{"className":785,"code":162529,"language":784,"meta":417,"style":417},"import requests\n\nrequests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n    json={\"number\": \"8801234567890\", \"message\": \"Hi John! Order #12345 confirmed.\"}\n)\n",[162531],{"type":426,"tag":549,"props":162532,"children":162533},{"__ignoreMap":417},[162534,162545,162552,162567,162598,162646],{"type":426,"tag":553,"props":162535,"children":162536},{"class":555,"line":556},[162537,162541],{"type":426,"tag":553,"props":162538,"children":162539},{"style":795},[162540],{"type":431,"value":798},{"type":426,"tag":553,"props":162542,"children":162543},{"style":684},[162544],{"type":431,"value":803},{"type":426,"tag":553,"props":162546,"children":162547},{"class":555,"line":588},[162548],{"type":426,"tag":553,"props":162549,"children":162550},{"emptyLinePlaceholder":831},[162551],{"type":431,"value":834},{"type":426,"tag":553,"props":162553,"children":162554},{"class":555,"line":606},[162555,162559,162563],{"type":426,"tag":553,"props":162556,"children":162557},{"style":684},[162558],{"type":431,"value":140701},{"type":426,"tag":553,"props":162560,"children":162561},{"style":572},[162562],{"type":431,"value":60449},{"type":426,"tag":553,"props":162564,"children":162565},{"style":684},[162566],{"type":431,"value":710},{"type":426,"tag":553,"props":162568,"children":162569},{"class":555,"line":623},[162570,162574,162578,162582,162586,162590,162594],{"type":426,"tag":553,"props":162571,"children":162572},{"style":1684},[162573],{"type":431,"value":139200},{"type":426,"tag":553,"props":162575,"children":162576},{"style":795},[162577],{"type":431,"value":957},{"type":426,"tag":553,"props":162579,"children":162580},{"style":684},[162581],{"type":431,"value":972},{"type":426,"tag":553,"props":162583,"children":162584},{"style":572},[162585],{"type":431,"value":45214},{"type":426,"tag":553,"props":162587,"children":162588},{"style":684},[162589],{"type":431,"value":700},{"type":426,"tag":553,"props":162591,"children":162592},{"style":572},[162593],{"type":431,"value":140737},{"type":426,"tag":553,"props":162595,"children":162596},{"style":684},[162597],{"type":431,"value":1737},{"type":426,"tag":553,"props":162599,"children":162600},{"class":555,"line":637},[162601,162605,162609,162613,162617,162621,162625,162629,162633,162637,162642],{"type":426,"tag":553,"props":162602,"children":162603},{"style":1684},[162604],{"type":431,"value":139245},{"type":426,"tag":553,"props":162606,"children":162607},{"style":795},[162608],{"type":431,"value":957},{"type":426,"tag":553,"props":162610,"children":162611},{"style":684},[162612],{"type":431,"value":972},{"type":426,"tag":553,"props":162614,"children":162615},{"style":572},[162616],{"type":431,"value":45266},{"type":426,"tag":553,"props":162618,"children":162619},{"style":684},[162620],{"type":431,"value":700},{"type":426,"tag":553,"props":162622,"children":162623},{"style":572},[162624],{"type":431,"value":7286},{"type":426,"tag":553,"props":162626,"children":162627},{"style":684},[162628],{"type":431,"value":1907},{"type":426,"tag":553,"props":162630,"children":162631},{"style":572},[162632],{"type":431,"value":45275},{"type":426,"tag":553,"props":162634,"children":162635},{"style":684},[162636],{"type":431,"value":700},{"type":426,"tag":553,"props":162638,"children":162639},{"style":572},[162640],{"type":431,"value":162641},"\"Hi John! Order #12345 confirmed.\"",{"type":426,"tag":553,"props":162643,"children":162644},{"style":684},[162645],{"type":431,"value":756},{"type":426,"tag":553,"props":162647,"children":162648},{"class":555,"line":646},[162649],{"type":426,"tag":553,"props":162650,"children":162651},{"style":684},[162652],{"type":431,"value":3262},{"type":426,"tag":427,"props":162654,"children":162655},{},[162656],{"type":431,"value":162657},"The Rapiwa version:",{"type":426,"tag":454,"props":162659,"children":162660},{},[162661,162666,162671,162676],{"type":426,"tag":458,"props":162662,"children":162663},{},[162664],{"type":431,"value":162665},"Sends any message (no pre-approved template)",{"type":426,"tag":458,"props":162667,"children":162668},{},[162669],{"type":431,"value":162670},"No template variable mapping",{"type":426,"tag":458,"props":162672,"children":162673},{},[162674],{"type":431,"value":162675},"No Twilio account dependency",{"type":426,"tag":458,"props":162677,"children":162678},{},[162679],{"type":431,"value":162680},"Works immediately (no approval process)",{"type":426,"tag":434,"props":162682,"children":162684},{"id":162683},"the-startup-recommendation",[162685],{"type":431,"value":162686},"The Startup Recommendation",{"type":426,"tag":427,"props":162688,"children":162689},{},[162690],{"type":431,"value":162691},"For a startup evaluating WhatsApp API options:",{"type":426,"tag":6331,"props":162693,"children":162694},{},[162695,162705,162715],{"type":426,"tag":458,"props":162696,"children":162697},{},[162698,162703],{"type":426,"tag":446,"props":162699,"children":162700},{},[162701],{"type":431,"value":162702},"Start with Rapiwa",{"type":431,"value":162704}," — 5-minute setup, 3-day free trial, $5\u002Fmonth. Validate your WhatsApp channel strategy.",{"type":426,"tag":458,"props":162706,"children":162707},{},[162708,162713],{"type":426,"tag":446,"props":162709,"children":162710},{},[162711],{"type":431,"value":162712},"Grow with Rapiwa",{"type":431,"value":162714}," — For most startups, Rapiwa's unlimited messaging at $5\u002Fmonth never needs to change.",{"type":426,"tag":458,"props":162716,"children":162717},{},[162718,162723],{"type":426,"tag":446,"props":162719,"children":162720},{},[162721],{"type":431,"value":162722},"Upgrade to Twilio if needed",{"type":431,"value":162724}," — If enterprise clients require official Meta compliance, migrate then. Migration is straightforward since both use standard HTTP APIs.",{"type":426,"tag":427,"props":162726,"children":162727},{},[162728],{"type":426,"tag":3819,"props":162729,"children":162731},{"href":3821,"rel":162730},[3823],[162732],{"type":431,"value":162733},"Start your Rapiwa free trial →",{"type":426,"tag":434,"props":162735,"children":162736},{"id":4109},[162737],{"type":431,"value":4112},{"type":426,"tag":427,"props":162739,"children":162740},{},[162741,162746],{"type":426,"tag":446,"props":162742,"children":162743},{},[162744],{"type":431,"value":162745},"Is Twilio WhatsApp better than Rapiwa?",{"type":431,"value":162747},"\nFor enterprise compliance and the Meta green badge: yes. For cost, speed of setup, and e-commerce integrations: Rapiwa is far superior. 95% of startups and small businesses should start with Rapiwa.",{"type":426,"tag":427,"props":162749,"children":162750},{},[162751,162756],{"type":426,"tag":446,"props":162752,"children":162753},{},[162754],{"type":431,"value":162755},"Why is Twilio so expensive for WhatsApp?",{"type":431,"value":162757},"\nTwilio layers its own per-message fees on top of Meta's per-conversation charges. At scale, you pay both Twilio and Meta separately, making it expensive for high-volume use cases.",{"type":426,"tag":427,"props":162759,"children":162760},{},[162761,162766],{"type":426,"tag":446,"props":162762,"children":162763},{},[162764],{"type":431,"value":162765},"Does Rapiwa require Meta approval like Twilio?",{"type":431,"value":162767},"\nNo. Rapiwa is an unofficial API — connect any WhatsApp number via QR code in 5 minutes with no Meta approval needed.",{"type":426,"tag":427,"props":162769,"children":162770},{},[162771,162776],{"type":426,"tag":446,"props":162772,"children":162773},{},[162774],{"type":431,"value":162775},"Can I start with Rapiwa and move to Twilio later?",{"type":431,"value":162777},"\nYes. Both use standard HTTP APIs. When your business requires official Meta compliance, update your integration to use Twilio's SDK. The business logic remains the same; only the API client changes.",{"type":426,"tag":427,"props":162779,"children":162780},{},[162781,162786],{"type":426,"tag":446,"props":162782,"children":162783},{},[162784],{"type":431,"value":162785},"How much cheaper is Rapiwa than Twilio for 10,000 messages\u002Fmonth?",{"type":431,"value":162787},"\nRapiwa: $5\u002Fmonth. Twilio WhatsApp: approximately $250–300\u002Fmonth for 10,000 marketing conversations. Rapiwa saves $2,940–$3,540\u002Fyear at this volume.",{"type":426,"tag":4164,"props":162789,"children":162790},{},[162791],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":162793},[162794,162795,162800,162806,162812,162813,162814],{"id":161791,"depth":588,"text":161794},{"id":162026,"depth":588,"text":162029,"children":162796},[162797,162798,162799],{"id":162037,"depth":606,"text":162040},{"id":162065,"depth":606,"text":162068},{"id":162112,"depth":606,"text":162115},{"id":162235,"depth":588,"text":162238,"children":162801},[162802,162803,162804,162805],{"id":162246,"depth":606,"text":162249},{"id":162257,"depth":606,"text":162260},{"id":162268,"depth":606,"text":162271},{"id":162279,"depth":606,"text":162282},{"id":162290,"depth":588,"text":162293,"children":162807},[162808,162809,162810,162811],{"id":162296,"depth":606,"text":162299},{"id":162307,"depth":606,"text":162310},{"id":162318,"depth":606,"text":162321},{"id":162329,"depth":606,"text":162332},{"id":162340,"depth":588,"text":162343},{"id":162683,"depth":588,"text":162686},{"id":4109,"depth":588,"text":4112},"content:blog:twilio-whatsapp-api-vs-rapiwa-why-cheaper-wins-for-startups.md","blog\u002Ftwilio-whatsapp-api-vs-rapiwa-why-cheaper-wins-for-startups.md","blog\u002Ftwilio-whatsapp-api-vs-rapiwa-why-cheaper-wins-for-startups",{"loc":270},{"_path":274,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":275,"description":276,"date":162820,"author":33271,"category":212,"_slug":162821,"image":162822,"body":162823,"_type":4187,"_id":163475,"_source":4189,"_file":163476,"_stem":163477,"_extension":4192,"sitemap":163478},"2026-01-07","best-waapi-alternative-developers-2026","\u002Fimages\u002Fblog\u002Fbest-waapi-alternative-developers-2026.svg",{"type":423,"children":162824,"toc":163463},[162825,162837,162843,163041,163047,163052,163058,163064,163069,163075,163080,163103,163109,163114,163120,163128,163202,163210,163282,163288,163392,163396,163406,163416,163426,163459],{"type":426,"tag":427,"props":162826,"children":162827},{},[162828,162830,162835],{"type":431,"value":162829},"The best WAAPI alternative for developers in 2026 is ",{"type":426,"tag":3819,"props":162831,"children":162833},{"href":3821,"rel":162832},[3823],[162834],{"type":431,"value":127310},{"type":431,"value":162836}," — at $5\u002Fmonth with a 5.0\u002F5 Sourceforge rating and 10 n8n templates, it is the most affordable and best-integrated WhatsApp API. WAAPI is a standard unofficial WhatsApp API; this guide compares it with Rapiwa and WasenderAPI to help you choose the right alternative.",{"type":426,"tag":434,"props":162838,"children":162840},{"id":162839},"waapi-vs-rapiwa-vs-wasenderapi",[162841],{"type":431,"value":162842},"WAAPI vs Rapiwa vs WasenderAPI",{"type":426,"tag":10600,"props":162844,"children":162845},{},[162846,162869],{"type":426,"tag":10604,"props":162847,"children":162848},{},[162849],{"type":426,"tag":10608,"props":162850,"children":162851},{},[162852,162856,162861,162865],{"type":426,"tag":10612,"props":162853,"children":162854},{},[162855],{"type":431,"value":16096},{"type":426,"tag":10612,"props":162857,"children":162858},{},[162859],{"type":431,"value":162860},"WAAPI",{"type":426,"tag":10612,"props":162862,"children":162863},{},[162864],{"type":431,"value":127310},{"type":426,"tag":10612,"props":162866,"children":162867},{},[162868],{"type":431,"value":147163},{"type":426,"tag":10623,"props":162870,"children":162871},{},[162872,162895,162914,162936,162958,162980,162999,163018],{"type":426,"tag":10608,"props":162873,"children":162874},{},[162875,162879,162884,162891],{"type":426,"tag":10630,"props":162876,"children":162877},{},[162878],{"type":431,"value":150782},{"type":426,"tag":10630,"props":162880,"children":162881},{},[162882],{"type":431,"value":162883},"~$7–10\u002Fmonth",{"type":426,"tag":10630,"props":162885,"children":162886},{},[162887],{"type":426,"tag":446,"props":162888,"children":162889},{},[162890],{"type":431,"value":148332},{"type":426,"tag":10630,"props":162892,"children":162893},{},[162894],{"type":431,"value":148324},{"type":426,"tag":10608,"props":162896,"children":162897},{},[162898,162902,162906,162910],{"type":426,"tag":10630,"props":162899,"children":162900},{},[162901],{"type":431,"value":157149},{"type":426,"tag":10630,"props":162903,"children":162904},{},[162905],{"type":431,"value":1840},{"type":426,"tag":10630,"props":162907,"children":162908},{},[162909],{"type":431,"value":1840},{"type":426,"tag":10630,"props":162911,"children":162912},{},[162913],{"type":431,"value":1840},{"type":426,"tag":10608,"props":162915,"children":162916},{},[162917,162921,162925,162932],{"type":426,"tag":10630,"props":162918,"children":162919},{},[162920],{"type":431,"value":10800},{"type":426,"tag":10630,"props":162922,"children":162923},{},[162924],{"type":431,"value":157981},{"type":426,"tag":10630,"props":162926,"children":162927},{},[162928],{"type":426,"tag":446,"props":162929,"children":162930},{},[162931],{"type":431,"value":10805},{"type":426,"tag":10630,"props":162933,"children":162934},{},[162935],{"type":431,"value":148371},{"type":426,"tag":10608,"props":162937,"children":162938},{},[162939,162943,162947,162954],{"type":426,"tag":10630,"props":162940,"children":162941},{},[162942],{"type":431,"value":148534},{"type":426,"tag":10630,"props":162944,"children":162945},{},[162946],{"type":431,"value":78130},{"type":426,"tag":10630,"props":162948,"children":162949},{},[162950],{"type":426,"tag":446,"props":162951,"children":162952},{},[162953],{"type":431,"value":103087},{"type":426,"tag":10630,"props":162955,"children":162956},{},[162957],{"type":431,"value":78130},{"type":426,"tag":10608,"props":162959,"children":162960},{},[162961,162965,162969,162976],{"type":426,"tag":10630,"props":162962,"children":162963},{},[162964],{"type":431,"value":16164},{"type":426,"tag":10630,"props":162966,"children":162967},{},[162968],{"type":431,"value":78130},{"type":426,"tag":10630,"props":162970,"children":162971},{},[162972],{"type":426,"tag":446,"props":162973,"children":162974},{},[162975],{"type":431,"value":150909},{"type":426,"tag":10630,"props":162977,"children":162978},{},[162979],{"type":431,"value":160113},{"type":426,"tag":10608,"props":162981,"children":162982},{},[162983,162987,162991,162995],{"type":426,"tag":10630,"props":162984,"children":162985},{},[162986],{"type":431,"value":148414},{"type":426,"tag":10630,"props":162988,"children":162989},{},[162990],{"type":431,"value":78130},{"type":426,"tag":10630,"props":162992,"children":162993},{},[162994],{"type":431,"value":148427},{"type":426,"tag":10630,"props":162996,"children":162997},{},[162998],{"type":431,"value":103087},{"type":426,"tag":10608,"props":163000,"children":163001},{},[163002,163006,163010,163014],{"type":426,"tag":10630,"props":163003,"children":163004},{},[163005],{"type":431,"value":148439},{"type":426,"tag":10630,"props":163007,"children":163008},{},[163009],{"type":431,"value":78130},{"type":426,"tag":10630,"props":163011,"children":163012},{},[163013],{"type":431,"value":148427},{"type":426,"tag":10630,"props":163015,"children":163016},{},[163017],{"type":431,"value":103087},{"type":426,"tag":10608,"props":163019,"children":163020},{},[163021,163025,163029,163037],{"type":426,"tag":10630,"props":163022,"children":163023},{},[163024],{"type":431,"value":10787},{"type":426,"tag":10630,"props":163026,"children":163027},{},[163028],{"type":431,"value":103087},{"type":426,"tag":10630,"props":163030,"children":163031},{},[163032],{"type":426,"tag":446,"props":163033,"children":163034},{},[163035],{"type":431,"value":163036},"Yes (3 days)",{"type":426,"tag":10630,"props":163038,"children":163039},{},[163040],{"type":431,"value":163036},{"type":426,"tag":434,"props":163042,"children":163044},{"id":163043},"what-is-waapi",[163045],{"type":431,"value":163046},"What Is WAAPI?",{"type":426,"tag":427,"props":163048,"children":163049},{},[163050],{"type":431,"value":163051},"WAAPI (waapi.app) is an unofficial WhatsApp API service targeting developers who need standard WhatsApp messaging capabilities. It follows the same QR-code-based connection model as other unofficial APIs.",{"type":426,"tag":434,"props":163053,"children":163055},{"id":163054},"why-rapiwa-is-the-best-waapi-alternative",[163056],{"type":431,"value":163057},"Why Rapiwa Is the Best WAAPI Alternative",{"type":426,"tag":515,"props":163059,"children":163061},{"id":163060},"price-advantage",[163062],{"type":431,"value":163063},"Price Advantage",{"type":426,"tag":427,"props":163065,"children":163066},{},[163067],{"type":431,"value":163068},"Rapiwa at $5\u002Fmonth is cheaper than WAAPI's pricing. When multiplied across a year or multiple client accounts, this saves real money.",{"type":426,"tag":515,"props":163070,"children":163072},{"id":163071},"integration-ecosystem",[163073],{"type":431,"value":163074},"Integration Ecosystem",{"type":426,"tag":427,"props":163076,"children":163077},{},[163078],{"type":431,"value":163079},"WAAPI is an API-only product. Rapiwa includes:",{"type":426,"tag":454,"props":163081,"children":163082},{},[163083,163088,163093,163098],{"type":426,"tag":458,"props":163084,"children":163085},{},[163086],{"type":431,"value":163087},"WooCommerce plugin (zero code required)",{"type":426,"tag":458,"props":163089,"children":163090},{},[163091],{"type":431,"value":163092},"10 n8n templates (3,000+ total installs)",{"type":426,"tag":458,"props":163094,"children":163095},{},[163096],{"type":431,"value":163097},"Shopify automation templates",{"type":426,"tag":458,"props":163099,"children":163100},{},[163101],{"type":431,"value":163102},"AI chatbot template (GPT-4 Mini + Google Sheets)",{"type":426,"tag":515,"props":163104,"children":163106},{"id":163105},"verified-community-trust",[163107],{"type":431,"value":163108},"Verified Community Trust",{"type":426,"tag":427,"props":163110,"children":163111},{},[163112],{"type":431,"value":163113},"Rapiwa's 5.0\u002F5 Sourceforge rating represents verified reviews from real users. WAAPI has no equivalent third-party rating listing.",{"type":426,"tag":434,"props":163115,"children":163117},{"id":163116},"code-rapiwa-vs-waapi",[163118],{"type":431,"value":163119},"Code: Rapiwa vs WAAPI",{"type":426,"tag":427,"props":163121,"children":163122},{},[163123],{"type":426,"tag":446,"props":163124,"children":163125},{},[163126],{"type":431,"value":163127},"WAAPI (typical structure):",{"type":426,"tag":542,"props":163129,"children":163131},{"className":546,"code":163130,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fwaapi.app\u002Fapi\u002Fv1\u002Finstances\u002FINSTANCE_ID\u002Fclient\u002Faction\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_WAAPI_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"chatId\": \"8801234567890@c.us\", \"message\": \"Hello!\"}'\n",[163132],{"type":426,"tag":549,"props":163133,"children":163134},{"__ignoreMap":417},[163135,163159,163175,163190],{"type":426,"tag":553,"props":163136,"children":163137},{"class":555,"line":556},[163138,163142,163146,163150,163155],{"type":426,"tag":553,"props":163139,"children":163140},{"style":560},[163141],{"type":431,"value":563},{"type":426,"tag":553,"props":163143,"children":163144},{"style":566},[163145],{"type":431,"value":569},{"type":426,"tag":553,"props":163147,"children":163148},{"style":572},[163149],{"type":431,"value":575},{"type":426,"tag":553,"props":163151,"children":163152},{"style":572},[163153],{"type":431,"value":163154}," https:\u002F\u002Fwaapi.app\u002Fapi\u002Fv1\u002Finstances\u002FINSTANCE_ID\u002Fclient\u002Faction\u002Fsend-message",{"type":426,"tag":553,"props":163156,"children":163157},{"style":566},[163158],{"type":431,"value":585},{"type":426,"tag":553,"props":163160,"children":163161},{"class":555,"line":588},[163162,163166,163171],{"type":426,"tag":553,"props":163163,"children":163164},{"style":566},[163165],{"type":431,"value":594},{"type":426,"tag":553,"props":163167,"children":163168},{"style":572},[163169],{"type":431,"value":163170}," \"Authorization: Bearer YOUR_WAAPI_TOKEN\"",{"type":426,"tag":553,"props":163172,"children":163173},{"style":566},[163174],{"type":431,"value":585},{"type":426,"tag":553,"props":163176,"children":163177},{"class":555,"line":606},[163178,163182,163186],{"type":426,"tag":553,"props":163179,"children":163180},{"style":566},[163181],{"type":431,"value":594},{"type":426,"tag":553,"props":163183,"children":163184},{"style":572},[163185],{"type":431,"value":616},{"type":426,"tag":553,"props":163187,"children":163188},{"style":566},[163189],{"type":431,"value":585},{"type":426,"tag":553,"props":163191,"children":163192},{"class":555,"line":623},[163193,163197],{"type":426,"tag":553,"props":163194,"children":163195},{"style":566},[163196],{"type":431,"value":629},{"type":426,"tag":553,"props":163198,"children":163199},{"style":572},[163200],{"type":431,"value":163201}," '{\"chatId\": \"8801234567890@c.us\", \"message\": \"Hello!\"}'\n",{"type":426,"tag":427,"props":163203,"children":163204},{},[163205],{"type":426,"tag":446,"props":163206,"children":163207},{},[163208],{"type":431,"value":163209},"Rapiwa (simpler):",{"type":426,"tag":542,"props":163211,"children":163213},{"className":546,"code":163212,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello!\"}'\n",[163214],{"type":426,"tag":549,"props":163215,"children":163216},{"__ignoreMap":417},[163217,163240,163255,163270],{"type":426,"tag":553,"props":163218,"children":163219},{"class":555,"line":556},[163220,163224,163228,163232,163236],{"type":426,"tag":553,"props":163221,"children":163222},{"style":560},[163223],{"type":431,"value":563},{"type":426,"tag":553,"props":163225,"children":163226},{"style":566},[163227],{"type":431,"value":569},{"type":426,"tag":553,"props":163229,"children":163230},{"style":572},[163231],{"type":431,"value":575},{"type":426,"tag":553,"props":163233,"children":163234},{"style":572},[163235],{"type":431,"value":580},{"type":426,"tag":553,"props":163237,"children":163238},{"style":566},[163239],{"type":431,"value":585},{"type":426,"tag":553,"props":163241,"children":163242},{"class":555,"line":588},[163243,163247,163251],{"type":426,"tag":553,"props":163244,"children":163245},{"style":566},[163246],{"type":431,"value":594},{"type":426,"tag":553,"props":163248,"children":163249},{"style":572},[163250],{"type":431,"value":599},{"type":426,"tag":553,"props":163252,"children":163253},{"style":566},[163254],{"type":431,"value":585},{"type":426,"tag":553,"props":163256,"children":163257},{"class":555,"line":606},[163258,163262,163266],{"type":426,"tag":553,"props":163259,"children":163260},{"style":566},[163261],{"type":431,"value":594},{"type":426,"tag":553,"props":163263,"children":163264},{"style":572},[163265],{"type":431,"value":616},{"type":426,"tag":553,"props":163267,"children":163268},{"style":566},[163269],{"type":431,"value":585},{"type":426,"tag":553,"props":163271,"children":163272},{"class":555,"line":623},[163273,163277],{"type":426,"tag":553,"props":163274,"children":163275},{"style":566},[163276],{"type":431,"value":629},{"type":426,"tag":553,"props":163278,"children":163279},{"style":572},[163280],{"type":431,"value":163281}," '{\"number\": \"8801234567890\", \"message\": \"Hello!\"}'\n",{"type":426,"tag":434,"props":163283,"children":163285},{"id":163284},"choosing-between-waapi-rapiwa-and-wasenderapi",[163286],{"type":431,"value":163287},"Choosing Between WAAPI, Rapiwa, and WasenderAPI",{"type":426,"tag":10600,"props":163289,"children":163290},{},[163291,163306],{"type":426,"tag":10604,"props":163292,"children":163293},{},[163294],{"type":426,"tag":10608,"props":163295,"children":163296},{},[163297,163301],{"type":426,"tag":10612,"props":163298,"children":163299},{},[163300],{"type":431,"value":155960},{"type":426,"tag":10612,"props":163302,"children":163303},{},[163304],{"type":431,"value":163305},"Best Choice",{"type":426,"tag":10623,"props":163307,"children":163308},{},[163309,163325,163340,163356,163368,163379],{"type":426,"tag":10608,"props":163310,"children":163311},{},[163312,163317],{"type":426,"tag":10630,"props":163313,"children":163314},{},[163315],{"type":431,"value":163316},"Cheapest price",{"type":426,"tag":10630,"props":163318,"children":163319},{},[163320],{"type":426,"tag":446,"props":163321,"children":163322},{},[163323],{"type":431,"value":163324},"Rapiwa ($5\u002Fmonth)",{"type":426,"tag":10608,"props":163326,"children":163327},{},[163328,163332],{"type":426,"tag":10630,"props":163329,"children":163330},{},[163331],{"type":431,"value":113829},{"type":426,"tag":10630,"props":163333,"children":163334},{},[163335],{"type":426,"tag":446,"props":163336,"children":163337},{},[163338],{"type":431,"value":163339},"Rapiwa (plugin + templates)",{"type":426,"tag":10608,"props":163341,"children":163342},{},[163343,163348],{"type":426,"tag":10630,"props":163344,"children":163345},{},[163346],{"type":431,"value":163347},"n8n automation",{"type":426,"tag":10630,"props":163349,"children":163350},{},[163351],{"type":426,"tag":446,"props":163352,"children":163353},{},[163354],{"type":431,"value":163355},"Rapiwa (10 templates)",{"type":426,"tag":10608,"props":163357,"children":163358},{},[163359,163364],{"type":426,"tag":10630,"props":163360,"children":163361},{},[163362],{"type":431,"value":163363},"TypeScript\u002FNode.js SDK",{"type":426,"tag":10630,"props":163365,"children":163366},{},[163367],{"type":431,"value":147163},{"type":426,"tag":10608,"props":163369,"children":163370},{},[163371,163375],{"type":426,"tag":10630,"props":163372,"children":163373},{},[163374],{"type":431,"value":148439},{"type":426,"tag":10630,"props":163376,"children":163377},{},[163378],{"type":431,"value":147163},{"type":426,"tag":10608,"props":163380,"children":163381},{},[163382,163387],{"type":426,"tag":10630,"props":163383,"children":163384},{},[163385],{"type":431,"value":163386},"Self-hosted \u002F open-source",{"type":426,"tag":10630,"props":163388,"children":163389},{},[163390],{"type":431,"value":163391},"WAHA or Evolution API",{"type":426,"tag":434,"props":163393,"children":163394},{"id":4109},[163395],{"type":431,"value":4112},{"type":426,"tag":427,"props":163397,"children":163398},{},[163399,163404],{"type":426,"tag":446,"props":163400,"children":163401},{},[163402],{"type":431,"value":163403},"What is WAAPI?",{"type":431,"value":163405},"\nWAAPI is an unofficial WhatsApp API service that lets developers connect WhatsApp numbers via QR code and send\u002Freceive messages via REST API. It is similar to Rapiwa and WasenderAPI in feature set.",{"type":426,"tag":427,"props":163407,"children":163408},{},[163409,163414],{"type":426,"tag":446,"props":163410,"children":163411},{},[163412],{"type":431,"value":163413},"Is Rapiwa cheaper than WAAPI?",{"type":431,"value":163415},"\nYes. Rapiwa starts at $5\u002Fmonth, which is cheaper than WAAPI's pricing.",{"type":426,"tag":427,"props":163417,"children":163418},{},[163419,163424],{"type":426,"tag":446,"props":163420,"children":163421},{},[163422],{"type":431,"value":163423},"What is the main difference between WAAPI and Rapiwa?",{"type":431,"value":163425},"\nFeature-wise, both are REST APIs with similar capabilities. Rapiwa differentiates with its WooCommerce plugin, 10 n8n templates, lower price, and 5.0\u002F5 Sourceforge rating.",{"type":426,"tag":427,"props":163427,"children":163428},{},[163429,163434,163436,163442,163444,163450,163452,163457],{"type":426,"tag":446,"props":163430,"children":163431},{},[163432],{"type":431,"value":163433},"Can I migrate from WAAPI to Rapiwa?",{"type":431,"value":163435},"\nYes. Update your endpoint and field names. The ",{"type":426,"tag":549,"props":163437,"children":163439},{"className":163438},[],[163440],{"type":431,"value":163441},"chatId",{"type":431,"value":163443}," field (with ",{"type":426,"tag":549,"props":163445,"children":163447},{"className":163446},[],[163448],{"type":431,"value":163449},"@c.us",{"type":431,"value":163451},") becomes ",{"type":426,"tag":549,"props":163453,"children":163455},{"className":163454},[],[163456],{"type":431,"value":39195},{"type":431,"value":163458}," (without suffix). Migration takes 30 minutes.",{"type":426,"tag":4164,"props":163460,"children":163461},{},[163462],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":163464},[163465,163466,163467,163472,163473,163474],{"id":162839,"depth":588,"text":162842},{"id":163043,"depth":588,"text":163046},{"id":163054,"depth":588,"text":163057,"children":163468},[163469,163470,163471],{"id":163060,"depth":606,"text":163063},{"id":163071,"depth":606,"text":163074},{"id":163105,"depth":606,"text":163108},{"id":163116,"depth":588,"text":163119},{"id":163284,"depth":588,"text":163287},{"id":4109,"depth":588,"text":4112},"content:blog:best-waapi-alternative-developers-2026.md","blog\u002Fbest-waapi-alternative-developers-2026.md","blog\u002Fbest-waapi-alternative-developers-2026",{"loc":274},{"_path":278,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":279,"description":280,"date":163480,"author":36566,"category":212,"_slug":163481,"image":163482,"body":163483,"_type":4187,"_id":164093,"_source":4189,"_file":164094,"_stem":164095,"_extension":4192,"sitemap":164096},"2026-01-05","best-ultramsg-alternative-save-money-whatsapp-api","\u002Fimages\u002Fblog\u002Fbest-ultramsg-alternative-save-money-whatsapp-api.svg",{"type":423,"children":163484,"toc":164080},[163485,163497,163503,163665,163671,163676,163682,163688,163693,163697,163709,163715,163727,163735,163740,163746,163758,163764,163928,163934,164032,164036,164046,164056,164066,164076],{"type":426,"tag":427,"props":163486,"children":163487},{},[163488,163490,163495],{"type":431,"value":163489},"The best Ultramsg alternative is ",{"type":426,"tag":3819,"props":163491,"children":163493},{"href":3821,"rel":163492},[3823],[163494],{"type":431,"value":127310},{"type":431,"value":163496}," at $5\u002Fmonth — cheaper than Ultramsg's entry pricing, with a 5.0\u002F5 Sourceforge rating, a WooCommerce plugin, and 10 n8n workflow templates. Ultramsg is functional but lacks the e-commerce integrations and competitive pricing that Rapiwa offers.",{"type":426,"tag":434,"props":163498,"children":163500},{"id":163499},"ultramsg-vs-rapiwa",[163501],{"type":431,"value":163502},"Ultramsg vs Rapiwa",{"type":426,"tag":10600,"props":163504,"children":163505},{},[163506,163524],{"type":426,"tag":10604,"props":163507,"children":163508},{},[163509],{"type":426,"tag":10608,"props":163510,"children":163511},{},[163512,163516,163520],{"type":426,"tag":10612,"props":163513,"children":163514},{},[163515],{"type":431,"value":16096},{"type":426,"tag":10612,"props":163517,"children":163518},{},[163519],{"type":431,"value":160301},{"type":426,"tag":10612,"props":163521,"children":163522},{},[163523],{"type":431,"value":127310},{"type":426,"tag":10623,"props":163525,"children":163526},{},[163527,163546,163561,163580,163599,163617,163635,163650],{"type":426,"tag":10608,"props":163528,"children":163529},{},[163530,163534,163539],{"type":426,"tag":10630,"props":163531,"children":163532},{},[163533],{"type":431,"value":150782},{"type":426,"tag":10630,"props":163535,"children":163536},{},[163537],{"type":431,"value":163538},"Higher than $5\u002Fmonth",{"type":426,"tag":10630,"props":163540,"children":163541},{},[163542],{"type":426,"tag":446,"props":163543,"children":163544},{},[163545],{"type":431,"value":148332},{"type":426,"tag":10608,"props":163547,"children":163548},{},[163549,163553,163557],{"type":426,"tag":10630,"props":163550,"children":163551},{},[163552],{"type":431,"value":157149},{"type":426,"tag":10630,"props":163554,"children":163555},{},[163556],{"type":431,"value":1840},{"type":426,"tag":10630,"props":163558,"children":163559},{},[163560],{"type":431,"value":1840},{"type":426,"tag":10608,"props":163562,"children":163563},{},[163564,163568,163572],{"type":426,"tag":10630,"props":163565,"children":163566},{},[163567],{"type":431,"value":10787},{"type":426,"tag":10630,"props":163569,"children":163570},{},[163571],{"type":431,"value":78140},{"type":426,"tag":10630,"props":163573,"children":163574},{},[163575],{"type":426,"tag":446,"props":163576,"children":163577},{},[163578],{"type":431,"value":163579},"3 days (full access)",{"type":426,"tag":10608,"props":163581,"children":163582},{},[163583,163587,163592],{"type":426,"tag":10630,"props":163584,"children":163585},{},[163586],{"type":431,"value":10800},{"type":426,"tag":10630,"props":163588,"children":163589},{},[163590],{"type":431,"value":163591},"Lower",{"type":426,"tag":10630,"props":163593,"children":163594},{},[163595],{"type":426,"tag":446,"props":163596,"children":163597},{},[163598],{"type":431,"value":10805},{"type":426,"tag":10608,"props":163600,"children":163601},{},[163602,163606,163610],{"type":426,"tag":10630,"props":163603,"children":163604},{},[163605],{"type":431,"value":148534},{"type":426,"tag":10630,"props":163607,"children":163608},{},[163609],{"type":431,"value":78130},{"type":426,"tag":10630,"props":163611,"children":163612},{},[163613],{"type":426,"tag":446,"props":163614,"children":163615},{},[163616],{"type":431,"value":103087},{"type":426,"tag":10608,"props":163618,"children":163619},{},[163620,163624,163628],{"type":426,"tag":10630,"props":163621,"children":163622},{},[163623],{"type":431,"value":16164},{"type":426,"tag":10630,"props":163625,"children":163626},{},[163627],{"type":431,"value":78130},{"type":426,"tag":10630,"props":163629,"children":163630},{},[163631],{"type":426,"tag":446,"props":163632,"children":163633},{},[163634],{"type":431,"value":150909},{"type":426,"tag":10608,"props":163636,"children":163637},{},[163638,163642,163646],{"type":426,"tag":10630,"props":163639,"children":163640},{},[163641],{"type":431,"value":148580},{"type":426,"tag":10630,"props":163643,"children":163644},{},[163645],{"type":431,"value":103087},{"type":426,"tag":10630,"props":163647,"children":163648},{},[163649],{"type":431,"value":103087},{"type":426,"tag":10608,"props":163651,"children":163652},{},[163653,163657,163661],{"type":426,"tag":10630,"props":163654,"children":163655},{},[163656],{"type":431,"value":102926},{"type":426,"tag":10630,"props":163658,"children":163659},{},[163660],{"type":431,"value":103087},{"type":426,"tag":10630,"props":163662,"children":163663},{},[163664],{"type":431,"value":103087},{"type":426,"tag":434,"props":163666,"children":163668},{"id":163667},"what-is-ultramsg",[163669],{"type":431,"value":163670},"What Is Ultramsg?",{"type":426,"tag":427,"props":163672,"children":163673},{},[163674],{"type":431,"value":163675},"Ultramsg (ultramsg.com) is a WhatsApp API service offering standard WhatsApp messaging via the unofficial Web protocol. It is an API-first product without dedicated e-commerce plugins or automation templates.",{"type":426,"tag":434,"props":163677,"children":163679},{"id":163678},"why-developers-choose-rapiwa-over-ultramsg",[163680],{"type":431,"value":163681},"Why Developers Choose Rapiwa Over Ultramsg",{"type":426,"tag":515,"props":163683,"children":163685},{"id":163684},"lower-price",[163686],{"type":431,"value":163687},"Lower Price",{"type":426,"tag":427,"props":163689,"children":163690},{},[163691],{"type":431,"value":163692},"Rapiwa starts at $5\u002Fmonth. Ultramsg's pricing is higher — you save money from day one with Rapiwa.",{"type":426,"tag":515,"props":163694,"children":163695},{"id":149389},[163696],{"type":431,"value":149392},{"type":426,"tag":427,"props":163698,"children":163699},{},[163700,163702,163707],{"type":431,"value":163701},"Rapiwa has a ",{"type":426,"tag":3819,"props":163703,"children":163705},{"href":131923,"rel":163704},[3823],[163706],{"type":431,"value":148534},{"type":431,"value":163708}," that sends WhatsApp order notifications automatically. Ultramsg has no equivalent plugin.",{"type":426,"tag":515,"props":163710,"children":163712},{"id":163711},"n8n-templates",[163713],{"type":431,"value":163714},"n8n Templates",{"type":426,"tag":427,"props":163716,"children":163717},{},[163718,163719,163725],{"type":431,"value":155847},{"type":426,"tag":3819,"props":163720,"children":163722},{"href":145202,"rel":163721},[3823],[163723],{"type":431,"value":163724},"10 n8n templates",{"type":431,"value":163726}," are ready to import and activate with one click:",{"type":426,"tag":542,"props":163728,"children":163730},{"code":163729},"Invoice delivery (1,306 installs) → WooCommerce\nOrder updates (236 installs) → WooCommerce  \nGoogle Calendar reminders (538 installs)\nGPT-4 support bot (474 installs)\nCross-sell offers (311 installs) → WooCommerce\nReview requests (284 installs) → WooCommerce\nDiscount coupons (163 installs) → WooCommerce\nShopify cancellation (139 installs)\nShopify discount codes (74 installs)\nShopify upsell (56 installs)\n",[163731],{"type":426,"tag":549,"props":163732,"children":163733},{"__ignoreMap":417},[163734],{"type":431,"value":163729},{"type":426,"tag":427,"props":163736,"children":163737},{},[163738],{"type":431,"value":163739},"Ultramsg has no pre-built templates on n8n's marketplace.",{"type":426,"tag":515,"props":163741,"children":163743},{"id":163742},"higher-trust-rating",[163744],{"type":431,"value":163745},"Higher Trust Rating",{"type":426,"tag":427,"props":163747,"children":163748},{},[163749,163751,163756],{"type":431,"value":163750},"Rapiwa holds a verified ",{"type":426,"tag":446,"props":163752,"children":163753},{},[163754],{"type":431,"value":163755},"5.0\u002F5 on Sourceforge",{"type":431,"value":163757},". When clients or stakeholders ask about the tool's reliability, a 5.0\u002F5 third-party rating is a strong reference.",{"type":426,"tag":434,"props":163759,"children":163761},{"id":163760},"code-example",[163762],{"type":431,"value":163763},"Code Example",{"type":426,"tag":542,"props":163765,"children":163767},{"code":163766,"language":784,"meta":417,"className":785,"style":417},"import requests\n\n# Rapiwa — send a WhatsApp message\nresponse = requests.post(\n    \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n    json={\"number\": \"8801234567890\", \"message\": \"Switching from Ultramsg to Rapiwa — same features, better price!\"}\n)\nprint(response.json())\n# {'status': 'success', 'messageId': 'msg_abc123'}\n",[163768],{"type":426,"tag":549,"props":163769,"children":163770},{"__ignoreMap":417},[163771,163782,163789,163797,163812,163823,163854,163902,163909,163920],{"type":426,"tag":553,"props":163772,"children":163773},{"class":555,"line":556},[163774,163778],{"type":426,"tag":553,"props":163775,"children":163776},{"style":795},[163777],{"type":431,"value":798},{"type":426,"tag":553,"props":163779,"children":163780},{"style":684},[163781],{"type":431,"value":803},{"type":426,"tag":553,"props":163783,"children":163784},{"class":555,"line":588},[163785],{"type":426,"tag":553,"props":163786,"children":163787},{"emptyLinePlaceholder":831},[163788],{"type":431,"value":834},{"type":426,"tag":553,"props":163790,"children":163791},{"class":555,"line":606},[163792],{"type":426,"tag":553,"props":163793,"children":163794},{"style":1975},[163795],{"type":431,"value":163796},"# Rapiwa — send a WhatsApp message\n",{"type":426,"tag":553,"props":163798,"children":163799},{"class":555,"line":623},[163800,163804,163808],{"type":426,"tag":553,"props":163801,"children":163802},{"style":684},[163803],{"type":431,"value":139172},{"type":426,"tag":553,"props":163805,"children":163806},{"style":795},[163807],{"type":431,"value":957},{"type":426,"tag":553,"props":163809,"children":163810},{"style":684},[163811],{"type":431,"value":1664},{"type":426,"tag":553,"props":163813,"children":163814},{"class":555,"line":637},[163815,163819],{"type":426,"tag":553,"props":163816,"children":163817},{"style":572},[163818],{"type":431,"value":139188},{"type":426,"tag":553,"props":163820,"children":163821},{"style":684},[163822],{"type":431,"value":710},{"type":426,"tag":553,"props":163824,"children":163825},{"class":555,"line":646},[163826,163830,163834,163838,163842,163846,163850],{"type":426,"tag":553,"props":163827,"children":163828},{"style":1684},[163829],{"type":431,"value":139200},{"type":426,"tag":553,"props":163831,"children":163832},{"style":795},[163833],{"type":431,"value":957},{"type":426,"tag":553,"props":163835,"children":163836},{"style":684},[163837],{"type":431,"value":972},{"type":426,"tag":553,"props":163839,"children":163840},{"style":572},[163841],{"type":431,"value":45214},{"type":426,"tag":553,"props":163843,"children":163844},{"style":684},[163845],{"type":431,"value":700},{"type":426,"tag":553,"props":163847,"children":163848},{"style":572},[163849],{"type":431,"value":140737},{"type":426,"tag":553,"props":163851,"children":163852},{"style":684},[163853],{"type":431,"value":1737},{"type":426,"tag":553,"props":163855,"children":163856},{"class":555,"line":655},[163857,163861,163865,163869,163873,163877,163881,163885,163889,163893,163898],{"type":426,"tag":553,"props":163858,"children":163859},{"style":1684},[163860],{"type":431,"value":139245},{"type":426,"tag":553,"props":163862,"children":163863},{"style":795},[163864],{"type":431,"value":957},{"type":426,"tag":553,"props":163866,"children":163867},{"style":684},[163868],{"type":431,"value":972},{"type":426,"tag":553,"props":163870,"children":163871},{"style":572},[163872],{"type":431,"value":45266},{"type":426,"tag":553,"props":163874,"children":163875},{"style":684},[163876],{"type":431,"value":700},{"type":426,"tag":553,"props":163878,"children":163879},{"style":572},[163880],{"type":431,"value":7286},{"type":426,"tag":553,"props":163882,"children":163883},{"style":684},[163884],{"type":431,"value":1907},{"type":426,"tag":553,"props":163886,"children":163887},{"style":572},[163888],{"type":431,"value":45275},{"type":426,"tag":553,"props":163890,"children":163891},{"style":684},[163892],{"type":431,"value":700},{"type":426,"tag":553,"props":163894,"children":163895},{"style":572},[163896],{"type":431,"value":163897},"\"Switching from Ultramsg to Rapiwa — same features, better price!\"",{"type":426,"tag":553,"props":163899,"children":163900},{"style":684},[163901],{"type":431,"value":756},{"type":426,"tag":553,"props":163903,"children":163904},{"class":555,"line":1036},[163905],{"type":426,"tag":553,"props":163906,"children":163907},{"style":684},[163908],{"type":431,"value":3262},{"type":426,"tag":553,"props":163910,"children":163911},{"class":555,"line":1054},[163912,163916],{"type":426,"tag":553,"props":163913,"children":163914},{"style":566},[163915],{"type":431,"value":3270},{"type":426,"tag":553,"props":163917,"children":163918},{"style":684},[163919],{"type":431,"value":139312},{"type":426,"tag":553,"props":163921,"children":163922},{"class":555,"line":1080},[163923],{"type":426,"tag":553,"props":163924,"children":163925},{"style":1975},[163926],{"type":431,"value":163927},"# {'status': 'success', 'messageId': 'msg_abc123'}\n",{"type":426,"tag":434,"props":163929,"children":163931},{"id":163930},"other-ultramsg-alternatives",[163932],{"type":431,"value":163933},"Other Ultramsg Alternatives",{"type":426,"tag":10600,"props":163935,"children":163936},{},[163937,163957],{"type":426,"tag":10604,"props":163938,"children":163939},{},[163940],{"type":426,"tag":10608,"props":163941,"children":163942},{},[163943,163948,163952],{"type":426,"tag":10612,"props":163944,"children":163945},{},[163946],{"type":431,"value":163947},"Alternative",{"type":426,"tag":10612,"props":163949,"children":163950},{},[163951],{"type":431,"value":103028},{"type":426,"tag":10612,"props":163953,"children":163954},{},[163955],{"type":431,"value":163956},"Key Strength",{"type":426,"tag":10623,"props":163958,"children":163959},{},[163960,163982,163998,164015],{"type":426,"tag":10608,"props":163961,"children":163962},{},[163963,163970,163977],{"type":426,"tag":10630,"props":163964,"children":163965},{},[163966],{"type":426,"tag":446,"props":163967,"children":163968},{},[163969],{"type":431,"value":127310},{"type":426,"tag":10630,"props":163971,"children":163972},{},[163973],{"type":426,"tag":446,"props":163974,"children":163975},{},[163976],{"type":431,"value":148332},{"type":426,"tag":10630,"props":163978,"children":163979},{},[163980],{"type":431,"value":163981},"Cheapest + WooCommerce + n8n",{"type":426,"tag":10608,"props":163983,"children":163984},{},[163985,163989,163993],{"type":426,"tag":10630,"props":163986,"children":163987},{},[163988],{"type":431,"value":147163},{"type":426,"tag":10630,"props":163990,"children":163991},{},[163992],{"type":431,"value":148324},{"type":426,"tag":10630,"props":163994,"children":163995},{},[163996],{"type":431,"value":163997},"TypeScript\u002FPython\u002FLaravel SDKs",{"type":426,"tag":10608,"props":163999,"children":164000},{},[164001,164005,164010],{"type":426,"tag":10630,"props":164002,"children":164003},{},[164004],{"type":431,"value":158695},{"type":426,"tag":10630,"props":164006,"children":164007},{},[164008],{"type":431,"value":164009},"$0 (+VPS)",{"type":426,"tag":10630,"props":164011,"children":164012},{},[164013],{"type":431,"value":164014},"Full control, open source",{"type":426,"tag":10608,"props":164016,"children":164017},{},[164018,164022,164027],{"type":426,"tag":10630,"props":164019,"children":164020},{},[164021],{"type":431,"value":159300},{"type":426,"tag":10630,"props":164023,"children":164024},{},[164025],{"type":431,"value":164026},"~$5.50\u002Fmonth",{"type":426,"tag":10630,"props":164028,"children":164029},{},[164030],{"type":431,"value":164031},"Standard API, no extras",{"type":426,"tag":434,"props":164033,"children":164034},{"id":4109},[164035],{"type":431,"value":4112},{"type":426,"tag":427,"props":164037,"children":164038},{},[164039,164044],{"type":426,"tag":446,"props":164040,"children":164041},{},[164042],{"type":431,"value":164043},"Is Rapiwa cheaper than Ultramsg?",{"type":431,"value":164045},"\nYes. Rapiwa starts at $5\u002Fmonth, which is lower than Ultramsg's entry pricing.",{"type":426,"tag":427,"props":164047,"children":164048},{},[164049,164054],{"type":426,"tag":446,"props":164050,"children":164051},{},[164052],{"type":431,"value":164053},"Does Ultramsg have a WooCommerce plugin?",{"type":431,"value":164055},"\nNo. Ultramsg is an API-only product. Rapiwa has a dedicated WooCommerce plugin and 5 WooCommerce n8n templates.",{"type":426,"tag":427,"props":164057,"children":164058},{},[164059,164064],{"type":426,"tag":446,"props":164060,"children":164061},{},[164062],{"type":431,"value":164063},"Can I switch from Ultramsg to Rapiwa?",{"type":431,"value":164065},"\nYes. Both are REST APIs with similar authentication patterns. Update your endpoint, auth header, and field names. Migration takes 30 minutes or less.",{"type":426,"tag":427,"props":164067,"children":164068},{},[164069,164074],{"type":426,"tag":446,"props":164070,"children":164071},{},[164072],{"type":431,"value":164073},"What makes Rapiwa better than Ultramsg for e-commerce?",{"type":431,"value":164075},"\nThe WooCommerce plugin and n8n templates. These integrations save hours of development time and are pre-tested with thousands of real-world users.",{"type":426,"tag":4164,"props":164077,"children":164078},{},[164079],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":164081},[164082,164083,164084,164090,164091,164092],{"id":163499,"depth":588,"text":163502},{"id":163667,"depth":588,"text":163670},{"id":163678,"depth":588,"text":163681,"children":164085},[164086,164087,164088,164089],{"id":163684,"depth":606,"text":163687},{"id":149389,"depth":606,"text":149392},{"id":163711,"depth":606,"text":163714},{"id":163742,"depth":606,"text":163745},{"id":163760,"depth":588,"text":163763},{"id":163930,"depth":588,"text":163933},{"id":4109,"depth":588,"text":4112},"content:blog:best-ultramsg-alternative-save-money-whatsapp-api.md","blog\u002Fbest-ultramsg-alternative-save-money-whatsapp-api.md","blog\u002Fbest-ultramsg-alternative-save-money-whatsapp-api",{"loc":278},{"_path":282,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":283,"description":284,"date":164098,"author":419,"category":212,"_slug":164099,"image":164100,"body":164101,"_type":4187,"_id":164712,"_source":4189,"_file":164713,"_stem":164714,"_extension":4192,"sitemap":164715},"2026-01-04","best-green-api-alternative-unlimited-messaging-2026","\u002Fimages\u002Fblog\u002Fbest-green-api-alternative-unlimited-messaging-2026.svg",{"type":423,"children":164102,"toc":164700},[164103,164115,164121,164286,164292,164297,164305,164333,164339,164345,164350,164354,164359,164365,164466,164472,164477,164483,164491,164549,164556,164627,164632,164636,164646,164656,164666,164696],{"type":426,"tag":427,"props":164104,"children":164105},{},[164106,164108,164113],{"type":431,"value":164107},"The best Green API alternative with unlimited messaging is ",{"type":426,"tag":3819,"props":164109,"children":164111},{"href":3821,"rel":164110},[3823],[164112],{"type":431,"value":127310},{"type":431,"value":164114}," at $5\u002Fmonth — slightly cheaper than Green API's $5.50\u002Fmonth entry price, with truly unlimited messages on all plans, a 5.0\u002F5 Sourceforge rating, a WooCommerce plugin, and 10 n8n templates. Green API is a solid product but lacks the e-commerce integrations that make Rapiwa stand out.",{"type":426,"tag":434,"props":164116,"children":164118},{"id":164117},"green-api-vs-rapiwa-comparison",[164119],{"type":431,"value":164120},"Green API vs Rapiwa: Comparison",{"type":426,"tag":10600,"props":164122,"children":164123},{},[164124,164142],{"type":426,"tag":10604,"props":164125,"children":164126},{},[164127],{"type":426,"tag":10608,"props":164128,"children":164129},{},[164130,164134,164138],{"type":426,"tag":10612,"props":164131,"children":164132},{},[164133],{"type":431,"value":16096},{"type":426,"tag":10612,"props":164135,"children":164136},{},[164137],{"type":431,"value":159300},{"type":426,"tag":10612,"props":164139,"children":164140},{},[164141],{"type":431,"value":127310},{"type":426,"tag":10623,"props":164143,"children":164144},{},[164145,164163,164178,164199,164217,164235,164253,164271],{"type":426,"tag":10608,"props":164146,"children":164147},{},[164148,164152,164156],{"type":426,"tag":10630,"props":164149,"children":164150},{},[164151],{"type":431,"value":150782},{"type":426,"tag":10630,"props":164153,"children":164154},{},[164155],{"type":431,"value":164026},{"type":426,"tag":10630,"props":164157,"children":164158},{},[164159],{"type":426,"tag":446,"props":164160,"children":164161},{},[164162],{"type":431,"value":148332},{"type":426,"tag":10608,"props":164164,"children":164165},{},[164166,164170,164174],{"type":426,"tag":10630,"props":164167,"children":164168},{},[164169],{"type":431,"value":157149},{"type":426,"tag":10630,"props":164171,"children":164172},{},[164173],{"type":431,"value":1840},{"type":426,"tag":10630,"props":164175,"children":164176},{},[164177],{"type":431,"value":1840},{"type":426,"tag":10608,"props":164179,"children":164180},{},[164181,164186,164191],{"type":426,"tag":10630,"props":164182,"children":164183},{},[164184],{"type":431,"value":164185},"Message limit",{"type":426,"tag":10630,"props":164187,"children":164188},{},[164189],{"type":431,"value":164190},"Check plan details",{"type":426,"tag":10630,"props":164192,"children":164193},{},[164194],{"type":426,"tag":446,"props":164195,"children":164196},{},[164197],{"type":431,"value":164198},"Unlimited (all plans)",{"type":426,"tag":10608,"props":164200,"children":164201},{},[164202,164206,164210],{"type":426,"tag":10630,"props":164203,"children":164204},{},[164205],{"type":431,"value":10787},{"type":426,"tag":10630,"props":164207,"children":164208},{},[164209],{"type":431,"value":103087},{"type":426,"tag":10630,"props":164211,"children":164212},{},[164213],{"type":426,"tag":446,"props":164214,"children":164215},{},[164216],{"type":431,"value":163036},{"type":426,"tag":10608,"props":164218,"children":164219},{},[164220,164224,164228],{"type":426,"tag":10630,"props":164221,"children":164222},{},[164223],{"type":431,"value":10800},{"type":426,"tag":10630,"props":164225,"children":164226},{},[164227],{"type":431,"value":163591},{"type":426,"tag":10630,"props":164229,"children":164230},{},[164231],{"type":426,"tag":446,"props":164232,"children":164233},{},[164234],{"type":431,"value":10805},{"type":426,"tag":10608,"props":164236,"children":164237},{},[164238,164242,164246],{"type":426,"tag":10630,"props":164239,"children":164240},{},[164241],{"type":431,"value":148534},{"type":426,"tag":10630,"props":164243,"children":164244},{},[164245],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164247,"children":164248},{},[164249],{"type":426,"tag":446,"props":164250,"children":164251},{},[164252],{"type":431,"value":103087},{"type":426,"tag":10608,"props":164254,"children":164255},{},[164256,164260,164264],{"type":426,"tag":10630,"props":164257,"children":164258},{},[164259],{"type":431,"value":16164},{"type":426,"tag":10630,"props":164261,"children":164262},{},[164263],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164265,"children":164266},{},[164267],{"type":426,"tag":446,"props":164268,"children":164269},{},[164270],{"type":431,"value":150909},{"type":426,"tag":10608,"props":164272,"children":164273},{},[164274,164278,164282],{"type":426,"tag":10630,"props":164275,"children":164276},{},[164277],{"type":431,"value":102926},{"type":426,"tag":10630,"props":164279,"children":164280},{},[164281],{"type":431,"value":103087},{"type":426,"tag":10630,"props":164283,"children":164284},{},[164285],{"type":431,"value":103087},{"type":426,"tag":434,"props":164287,"children":164289},{"id":164288},"what-is-green-api",[164290],{"type":431,"value":164291},"What Is Green API?",{"type":426,"tag":427,"props":164293,"children":164294},{},[164295],{"type":431,"value":164296},"Green API (green-api.com) is a WhatsApp API service offering unofficial WhatsApp connectivity via the standard QR code mechanism. It is available in multiple tiers and serves users globally.",{"type":426,"tag":427,"props":164298,"children":164299},{},[164300],{"type":426,"tag":446,"props":164301,"children":164302},{},[164303],{"type":431,"value":164304},"Green API characteristics:",{"type":426,"tag":454,"props":164306,"children":164307},{},[164308,164313,164318,164323,164328],{"type":426,"tag":458,"props":164309,"children":164310},{},[164311],{"type":431,"value":164312},"Unofficial WhatsApp API",{"type":426,"tag":458,"props":164314,"children":164315},{},[164316],{"type":431,"value":164317},"Multiple plan tiers with different message limits",{"type":426,"tag":458,"props":164319,"children":164320},{},[164321],{"type":431,"value":164322},"REST API with standard authentication",{"type":426,"tag":458,"props":164324,"children":164325},{},[164326],{"type":431,"value":164327},"No dedicated WooCommerce plugin",{"type":426,"tag":458,"props":164329,"children":164330},{},[164331],{"type":431,"value":164332},"No n8n marketplace templates",{"type":426,"tag":434,"props":164334,"children":164336},{"id":164335},"why-rapiwa-is-the-better-alternative",[164337],{"type":431,"value":164338},"Why Rapiwa Is the Better Alternative",{"type":426,"tag":515,"props":164340,"children":164342},{"id":164341},"truly-unlimited-messages",[164343],{"type":431,"value":164344},"Truly Unlimited Messages",{"type":426,"tag":427,"props":164346,"children":164347},{},[164348],{"type":431,"value":164349},"Some Green API plans impose message limits. Rapiwa's Starter plan at $5\u002Fmonth includes unlimited messages — no daily cap, no monthly cap, no overage fees.",{"type":426,"tag":515,"props":164351,"children":164352},{"id":163684},[164353],{"type":431,"value":163687},{"type":426,"tag":427,"props":164355,"children":164356},{},[164357],{"type":431,"value":164358},"Rapiwa at $5\u002Fmonth is slightly cheaper than Green API's entry pricing (~$5.50\u002Fmonth). The saving is modest ($6\u002Fyear) but Rapiwa also includes more integrations.",{"type":426,"tag":515,"props":164360,"children":164362},{"id":164361},"better-integration-ecosystem",[164363],{"type":431,"value":164364},"Better Integration Ecosystem",{"type":426,"tag":10600,"props":164366,"children":164367},{},[164368,164387],{"type":426,"tag":10604,"props":164369,"children":164370},{},[164371],{"type":426,"tag":10608,"props":164372,"children":164373},{},[164374,164379,164383],{"type":426,"tag":10612,"props":164375,"children":164376},{},[164377],{"type":431,"value":164378},"Integration",{"type":426,"tag":10612,"props":164380,"children":164381},{},[164382],{"type":431,"value":159300},{"type":426,"tag":10612,"props":164384,"children":164385},{},[164386],{"type":431,"value":127310},{"type":426,"tag":10623,"props":164388,"children":164389},{},[164390,164408,164427,164446],{"type":426,"tag":10608,"props":164391,"children":164392},{},[164393,164397,164401],{"type":426,"tag":10630,"props":164394,"children":164395},{},[164396],{"type":431,"value":148534},{"type":426,"tag":10630,"props":164398,"children":164399},{},[164400],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164402,"children":164403},{},[164404],{"type":426,"tag":446,"props":164405,"children":164406},{},[164407],{"type":431,"value":103087},{"type":426,"tag":10608,"props":164409,"children":164410},{},[164411,164415,164419],{"type":426,"tag":10630,"props":164412,"children":164413},{},[164414],{"type":431,"value":16164},{"type":426,"tag":10630,"props":164416,"children":164417},{},[164418],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164420,"children":164421},{},[164422],{"type":426,"tag":446,"props":164423,"children":164424},{},[164425],{"type":431,"value":164426},"10 (3,000+ installs)",{"type":426,"tag":10608,"props":164428,"children":164429},{},[164430,164434,164438],{"type":426,"tag":10630,"props":164431,"children":164432},{},[164433],{"type":431,"value":149547},{"type":426,"tag":10630,"props":164435,"children":164436},{},[164437],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164439,"children":164440},{},[164441],{"type":426,"tag":446,"props":164442,"children":164443},{},[164444],{"type":431,"value":164445},"Yes (3 templates)",{"type":426,"tag":10608,"props":164447,"children":164448},{},[164449,164454,164458],{"type":426,"tag":10630,"props":164450,"children":164451},{},[164452],{"type":431,"value":164453},"AI chatbot templates",{"type":426,"tag":10630,"props":164455,"children":164456},{},[164457],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164459,"children":164460},{},[164461],{"type":426,"tag":446,"props":164462,"children":164463},{},[164464],{"type":431,"value":164465},"Yes (GPT-4 template)",{"type":426,"tag":515,"props":164467,"children":164469},{"id":164468},"verified-sourceforge-rating",[164470],{"type":431,"value":164471},"Verified Sourceforge Rating",{"type":426,"tag":427,"props":164473,"children":164474},{},[164475],{"type":431,"value":164476},"Rapiwa holds a verified 5.0\u002F5 rating on Sourceforge — the highest in the WhatsApp API category. Green API's Sourceforge listing is less prominent.",{"type":426,"tag":434,"props":164478,"children":164480},{"id":164479},"sending-a-message-with-rapiwa-vs-green-api",[164481],{"type":431,"value":164482},"Sending a Message with Rapiwa (vs Green API)",{"type":426,"tag":427,"props":164484,"children":164485},{},[164486],{"type":426,"tag":446,"props":164487,"children":164488},{},[164489],{"type":431,"value":164490},"Green API:",{"type":426,"tag":542,"props":164492,"children":164494},{"className":546,"code":164493,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapi.green-api.com\u002FwaInstance{ID}\u002FsendMessage\u002F{TOKEN} \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"chatId\": \"8801234567890@c.us\", \"message\": \"Hello from Green API!\"}'\n",[164495],{"type":426,"tag":549,"props":164496,"children":164497},{"__ignoreMap":417},[164498,164522,164537],{"type":426,"tag":553,"props":164499,"children":164500},{"class":555,"line":556},[164501,164505,164509,164513,164518],{"type":426,"tag":553,"props":164502,"children":164503},{"style":560},[164504],{"type":431,"value":563},{"type":426,"tag":553,"props":164506,"children":164507},{"style":566},[164508],{"type":431,"value":569},{"type":426,"tag":553,"props":164510,"children":164511},{"style":572},[164512],{"type":431,"value":575},{"type":426,"tag":553,"props":164514,"children":164515},{"style":572},[164516],{"type":431,"value":164517}," https:\u002F\u002Fapi.green-api.com\u002FwaInstance{ID}\u002FsendMessage\u002F{TOKEN}",{"type":426,"tag":553,"props":164519,"children":164520},{"style":566},[164521],{"type":431,"value":585},{"type":426,"tag":553,"props":164523,"children":164524},{"class":555,"line":588},[164525,164529,164533],{"type":426,"tag":553,"props":164526,"children":164527},{"style":566},[164528],{"type":431,"value":594},{"type":426,"tag":553,"props":164530,"children":164531},{"style":572},[164532],{"type":431,"value":616},{"type":426,"tag":553,"props":164534,"children":164535},{"style":566},[164536],{"type":431,"value":585},{"type":426,"tag":553,"props":164538,"children":164539},{"class":555,"line":606},[164540,164544],{"type":426,"tag":553,"props":164541,"children":164542},{"style":566},[164543],{"type":431,"value":629},{"type":426,"tag":553,"props":164545,"children":164546},{"style":572},[164547],{"type":431,"value":164548}," '{\"chatId\": \"8801234567890@c.us\", \"message\": \"Hello from Green API!\"}'\n",{"type":426,"tag":427,"props":164550,"children":164551},{},[164552],{"type":426,"tag":446,"props":164553,"children":164554},{},[164555],{"type":431,"value":163209},{"type":426,"tag":542,"props":164557,"children":164559},{"className":546,"code":164558,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello from Rapiwa!\"}'\n",[164560],{"type":426,"tag":549,"props":164561,"children":164562},{"__ignoreMap":417},[164563,164586,164601,164616],{"type":426,"tag":553,"props":164564,"children":164565},{"class":555,"line":556},[164566,164570,164574,164578,164582],{"type":426,"tag":553,"props":164567,"children":164568},{"style":560},[164569],{"type":431,"value":563},{"type":426,"tag":553,"props":164571,"children":164572},{"style":566},[164573],{"type":431,"value":569},{"type":426,"tag":553,"props":164575,"children":164576},{"style":572},[164577],{"type":431,"value":575},{"type":426,"tag":553,"props":164579,"children":164580},{"style":572},[164581],{"type":431,"value":580},{"type":426,"tag":553,"props":164583,"children":164584},{"style":566},[164585],{"type":431,"value":585},{"type":426,"tag":553,"props":164587,"children":164588},{"class":555,"line":588},[164589,164593,164597],{"type":426,"tag":553,"props":164590,"children":164591},{"style":566},[164592],{"type":431,"value":594},{"type":426,"tag":553,"props":164594,"children":164595},{"style":572},[164596],{"type":431,"value":599},{"type":426,"tag":553,"props":164598,"children":164599},{"style":566},[164600],{"type":431,"value":585},{"type":426,"tag":553,"props":164602,"children":164603},{"class":555,"line":606},[164604,164608,164612],{"type":426,"tag":553,"props":164605,"children":164606},{"style":566},[164607],{"type":431,"value":594},{"type":426,"tag":553,"props":164609,"children":164610},{"style":572},[164611],{"type":431,"value":616},{"type":426,"tag":553,"props":164613,"children":164614},{"style":566},[164615],{"type":431,"value":585},{"type":426,"tag":553,"props":164617,"children":164618},{"class":555,"line":623},[164619,164623],{"type":426,"tag":553,"props":164620,"children":164621},{"style":566},[164622],{"type":431,"value":629},{"type":426,"tag":553,"props":164624,"children":164625},{"style":572},[164626],{"type":431,"value":148824},{"type":426,"tag":427,"props":164628,"children":164629},{},[164630],{"type":431,"value":164631},"Rapiwa's endpoint structure is cleaner — standard Bearer auth, no instance IDs in the URL.",{"type":426,"tag":434,"props":164633,"children":164634},{"id":4109},[164635],{"type":431,"value":4112},{"type":426,"tag":427,"props":164637,"children":164638},{},[164639,164644],{"type":426,"tag":446,"props":164640,"children":164641},{},[164642],{"type":431,"value":164643},"Is Rapiwa cheaper than Green API?",{"type":431,"value":164645},"\nRapiwa at $5\u002Fmonth is slightly cheaper than Green API's typical entry pricing (~$5.50\u002Fmonth), with the added benefit of truly unlimited messaging on all plans.",{"type":426,"tag":427,"props":164647,"children":164648},{},[164649,164654],{"type":426,"tag":446,"props":164650,"children":164651},{},[164652],{"type":431,"value":164653},"Does Green API have unlimited messages?",{"type":431,"value":164655},"\nGreen API's lower-tier plans may have message limits. Rapiwa's Starter plan ($5\u002Fmonth) includes unlimited messages with no caps.",{"type":426,"tag":427,"props":164657,"children":164658},{},[164659,164664],{"type":426,"tag":446,"props":164660,"children":164661},{},[164662],{"type":431,"value":164663},"What is the best Green API alternative for WooCommerce?",{"type":431,"value":164665},"\nRapiwa — dedicated WooCommerce plugin + 5 WooCommerce n8n templates vs Green API's no dedicated e-commerce integrations.",{"type":426,"tag":427,"props":164667,"children":164668},{},[164669,164674,164676,164681,164682,164687,164689,164694],{"type":426,"tag":446,"props":164670,"children":164671},{},[164672],{"type":431,"value":164673},"Can I migrate from Green API to Rapiwa easily?",{"type":431,"value":164675},"\nYes. Update the endpoint URL, switch to Bearer token auth, and change ",{"type":426,"tag":549,"props":164677,"children":164679},{"className":164678},[],[164680],{"type":431,"value":163441},{"type":431,"value":117113},{"type":426,"tag":549,"props":164683,"children":164685},{"className":164684},[],[164686],{"type":431,"value":39195},{"type":431,"value":164688}," (without ",{"type":426,"tag":549,"props":164690,"children":164692},{"className":164691},[],[164693],{"type":431,"value":163449},{"type":431,"value":164695},"). Basic migration takes under 30 minutes.",{"type":426,"tag":4164,"props":164697,"children":164698},{},[164699],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":164701},[164702,164703,164704,164710,164711],{"id":164117,"depth":588,"text":164120},{"id":164288,"depth":588,"text":164291},{"id":164335,"depth":588,"text":164338,"children":164705},[164706,164707,164708,164709],{"id":164341,"depth":606,"text":164344},{"id":163684,"depth":606,"text":163687},{"id":164361,"depth":606,"text":164364},{"id":164468,"depth":606,"text":164471},{"id":164479,"depth":588,"text":164482},{"id":4109,"depth":588,"text":4112},"content:blog:best-green-api-alternative-unlimited-messaging-2026.md","blog\u002Fbest-green-api-alternative-unlimited-messaging-2026.md","blog\u002Fbest-green-api-alternative-unlimited-messaging-2026",{"loc":282},{"_path":286,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":287,"description":288,"date":164717,"author":30617,"category":212,"_slug":164718,"image":164719,"body":164720,"_type":4187,"_id":165312,"_source":4189,"_file":165313,"_stem":165314,"_extension":4192,"sitemap":165315},"2026-01-03","best-maytapi-alternative-cheaper-whatsapp-api-developers","\u002Fimages\u002Fblog\u002Fbest-maytapi-alternative-cheaper-whatsapp-api-developers.svg",{"type":423,"children":164721,"toc":165299},[164722,164734,164740,164918,164924,164929,164937,164950,164955,164961,164967,164972,164977,164989,164995,165000,165006,165011,165017,165022,165042,165047,165053,165061,165135,165143,165213,165218,165222,165232,165242,165285,165295],{"type":426,"tag":427,"props":164723,"children":164724},{},[164725,164727,164732],{"type":431,"value":164726},"The best Maytapi alternative is ",{"type":426,"tag":3819,"props":164728,"children":164730},{"href":3821,"rel":164729},[3823],[164731],{"type":431,"value":127310},{"type":431,"value":164733}," — at $5\u002Fmonth, it is 44% cheaper than Maytapi's $9\u002Fmonth entry price for a single WhatsApp number. Rapiwa also holds a 5.0\u002F5 Sourceforge rating vs Maytapi's lower listing, and includes a WooCommerce plugin and 10 n8n templates that Maytapi doesn't offer.",{"type":426,"tag":434,"props":164735,"children":164737},{"id":164736},"maytapi-vs-rapiwa-comparison",[164738],{"type":431,"value":164739},"Maytapi vs Rapiwa Comparison",{"type":426,"tag":10600,"props":164741,"children":164742},{},[164743,164761],{"type":426,"tag":10604,"props":164744,"children":164745},{},[164746],{"type":426,"tag":10608,"props":164747,"children":164748},{},[164749,164753,164757],{"type":426,"tag":10612,"props":164750,"children":164751},{},[164752],{"type":431,"value":16096},{"type":426,"tag":10612,"props":164754,"children":164755},{},[164756],{"type":431,"value":159456},{"type":426,"tag":10612,"props":164758,"children":164759},{},[164760],{"type":431,"value":127310},{"type":426,"tag":10623,"props":164762,"children":164763},{},[164764,164783,164798,164817,164835,164853,164871,164888,164903],{"type":426,"tag":10608,"props":164765,"children":164766},{},[164767,164772,164776],{"type":426,"tag":10630,"props":164768,"children":164769},{},[164770],{"type":431,"value":164771},"Starting price (1 number)",{"type":426,"tag":10630,"props":164773,"children":164774},{},[164775],{"type":431,"value":78117},{"type":426,"tag":10630,"props":164777,"children":164778},{},[164779],{"type":426,"tag":446,"props":164780,"children":164781},{},[164782],{"type":431,"value":148332},{"type":426,"tag":10608,"props":164784,"children":164785},{},[164786,164790,164794],{"type":426,"tag":10630,"props":164787,"children":164788},{},[164789],{"type":431,"value":157149},{"type":426,"tag":10630,"props":164791,"children":164792},{},[164793],{"type":431,"value":1840},{"type":426,"tag":10630,"props":164795,"children":164796},{},[164797],{"type":431,"value":1840},{"type":426,"tag":10608,"props":164799,"children":164800},{},[164801,164805,164809],{"type":426,"tag":10630,"props":164802,"children":164803},{},[164804],{"type":431,"value":10787},{"type":426,"tag":10630,"props":164806,"children":164807},{},[164808],{"type":431,"value":78140},{"type":426,"tag":10630,"props":164810,"children":164811},{},[164812],{"type":426,"tag":446,"props":164813,"children":164814},{},[164815],{"type":431,"value":164816},"3 days (full)",{"type":426,"tag":10608,"props":164818,"children":164819},{},[164820,164824,164828],{"type":426,"tag":10630,"props":164821,"children":164822},{},[164823],{"type":431,"value":10800},{"type":426,"tag":10630,"props":164825,"children":164826},{},[164827],{"type":431,"value":163591},{"type":426,"tag":10630,"props":164829,"children":164830},{},[164831],{"type":426,"tag":446,"props":164832,"children":164833},{},[164834],{"type":431,"value":10805},{"type":426,"tag":10608,"props":164836,"children":164837},{},[164838,164842,164846],{"type":426,"tag":10630,"props":164839,"children":164840},{},[164841],{"type":431,"value":148534},{"type":426,"tag":10630,"props":164843,"children":164844},{},[164845],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164847,"children":164848},{},[164849],{"type":426,"tag":446,"props":164850,"children":164851},{},[164852],{"type":431,"value":103087},{"type":426,"tag":10608,"props":164854,"children":164855},{},[164856,164860,164864],{"type":426,"tag":10630,"props":164857,"children":164858},{},[164859],{"type":431,"value":16164},{"type":426,"tag":10630,"props":164861,"children":164862},{},[164863],{"type":431,"value":78130},{"type":426,"tag":10630,"props":164865,"children":164866},{},[164867],{"type":426,"tag":446,"props":164868,"children":164869},{},[164870],{"type":431,"value":150909},{"type":426,"tag":10608,"props":164872,"children":164873},{},[164874,164879,164884],{"type":426,"tag":10630,"props":164875,"children":164876},{},[164877],{"type":431,"value":164878},"Multi-instance",{"type":426,"tag":10630,"props":164880,"children":164881},{},[164882],{"type":431,"value":164883},"Yes (key feature)",{"type":426,"tag":10630,"props":164885,"children":164886},{},[164887],{"type":431,"value":16274},{"type":426,"tag":10608,"props":164889,"children":164890},{},[164891,164895,164899],{"type":426,"tag":10630,"props":164892,"children":164893},{},[164894],{"type":431,"value":148580},{"type":426,"tag":10630,"props":164896,"children":164897},{},[164898],{"type":431,"value":103087},{"type":426,"tag":10630,"props":164900,"children":164901},{},[164902],{"type":431,"value":103087},{"type":426,"tag":10608,"props":164904,"children":164905},{},[164906,164910,164914],{"type":426,"tag":10630,"props":164907,"children":164908},{},[164909],{"type":431,"value":102926},{"type":426,"tag":10630,"props":164911,"children":164912},{},[164913],{"type":431,"value":103087},{"type":426,"tag":10630,"props":164915,"children":164916},{},[164917],{"type":431,"value":103087},{"type":426,"tag":434,"props":164919,"children":164921},{"id":164920},"what-is-maytapi",[164922],{"type":431,"value":164923},"What Is Maytapi?",{"type":426,"tag":427,"props":164925,"children":164926},{},[164927],{"type":431,"value":164928},"Maytapi (maytapi.com) is a WhatsApp API provider that focuses on multi-instance support — one subscription can manage multiple WhatsApp numbers. It is popular with agencies managing WhatsApp for multiple clients.",{"type":426,"tag":427,"props":164930,"children":164931},{},[164932],{"type":426,"tag":446,"props":164933,"children":164934},{},[164935],{"type":431,"value":164936},"Maytapi pricing (approximate):",{"type":426,"tag":454,"props":164938,"children":164939},{},[164940,164945],{"type":426,"tag":458,"props":164941,"children":164942},{},[164943],{"type":431,"value":164944},"Starter: ~$9\u002Fmonth (1 phone)",{"type":426,"tag":458,"props":164946,"children":164947},{},[164948],{"type":431,"value":164949},"Higher tiers for multiple phones",{"type":426,"tag":427,"props":164951,"children":164952},{},[164953],{"type":431,"value":164954},"Maytapi's pricing positions it as mid-range — more expensive than Rapiwa but with multi-instance as its differentiator.",{"type":426,"tag":434,"props":164956,"children":164958},{"id":164957},"why-developers-switch-from-maytapi-to-rapiwa",[164959],{"type":431,"value":164960},"Why Developers Switch from Maytapi to Rapiwa",{"type":426,"tag":515,"props":164962,"children":164964},{"id":164963},"_44-lower-entry-price",[164965],{"type":431,"value":164966},"44% Lower Entry Price",{"type":426,"tag":427,"props":164968,"children":164969},{},[164970],{"type":431,"value":164971},"$9\u002Fmonth vs $5\u002Fmonth — for developers or businesses with a single WhatsApp number, Rapiwa is $48\u002Fyear cheaper. That's $48 that could pay for additional tools, hosting, or simply profit.",{"type":426,"tag":515,"props":164973,"children":164975},{"id":164974},"woocommerce-plugin",[164976],{"type":431,"value":150071},{"type":426,"tag":427,"props":164978,"children":164979},{},[164980,164982,164987],{"type":431,"value":164981},"Maytapi has no WooCommerce plugin. WooCommerce developers with Maytapi need to build their own integration. Rapiwa's ",{"type":426,"tag":3819,"props":164983,"children":164985},{"href":131923,"rel":164984},[3823],[164986],{"type":431,"value":148534},{"type":431,"value":164988}," works out of the box with zero coding.",{"type":426,"tag":515,"props":164990,"children":164992},{"id":164991},"_10-n8n-templates",[164993],{"type":431,"value":164994},"10 n8n Templates",{"type":426,"tag":427,"props":164996,"children":164997},{},[164998],{"type":431,"value":164999},"Maytapi has no official n8n templates. Rapiwa has 10 pre-built templates on the n8n marketplace with 3,000+ combined installs covering every common e-commerce workflow.",{"type":426,"tag":515,"props":165001,"children":165003},{"id":165002},"higher-sourceforge-rating",[165004],{"type":431,"value":165005},"Higher Sourceforge Rating",{"type":426,"tag":427,"props":165007,"children":165008},{},[165009],{"type":431,"value":165010},"Rapiwa's 5.0\u002F5 Sourceforge rating is the highest verified rating in the WhatsApp API category. This matters when recommending the tool to clients or including it in proposals.",{"type":426,"tag":434,"props":165012,"children":165014},{"id":165013},"when-to-use-maytapi-instead-of-rapiwa",[165015],{"type":431,"value":165016},"When to Use Maytapi Instead of Rapiwa",{"type":426,"tag":427,"props":165018,"children":165019},{},[165020],{"type":431,"value":165021},"Maytapi may be the better choice when:",{"type":426,"tag":454,"props":165023,"children":165024},{},[165025,165037],{"type":426,"tag":458,"props":165026,"children":165027},{},[165028,165030,165035],{"type":431,"value":165029},"You need to manage ",{"type":426,"tag":446,"props":165031,"children":165032},{},[165033],{"type":431,"value":165034},"many WhatsApp numbers",{"type":431,"value":165036}," from a single dashboard and Maytapi's multi-instance pricing is better value at your scale",{"type":426,"tag":458,"props":165038,"children":165039},{},[165040],{"type":431,"value":165041},"Your team already uses Maytapi and the switching cost exceeds the $4\u002Fmonth savings",{"type":426,"tag":427,"props":165043,"children":165044},{},[165045],{"type":431,"value":165046},"For single-number users or small multi-number setups, Rapiwa is the better value.",{"type":426,"tag":434,"props":165048,"children":165050},{"id":165049},"code-example-rapiwa-vs-maytapi",[165051],{"type":431,"value":165052},"Code Example: Rapiwa vs Maytapi",{"type":426,"tag":427,"props":165054,"children":165055},{},[165056],{"type":426,"tag":446,"props":165057,"children":165058},{},[165059],{"type":431,"value":165060},"Maytapi:",{"type":426,"tag":542,"props":165062,"children":165064},{"className":546,"code":165063,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapi.maytapi.com\u002Fapi\u002FPRODUCT_ID\u002FPHONE_ID\u002FsendMessage \\\n  -H \"x-maytapi-key: YOUR_MAYTAPI_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"to_number\": \"8801234567890\", \"type\": \"text\", \"message\": \"Hello from Maytapi!\"}'\n",[165065],{"type":426,"tag":549,"props":165066,"children":165067},{"__ignoreMap":417},[165068,165092,165108,165123],{"type":426,"tag":553,"props":165069,"children":165070},{"class":555,"line":556},[165071,165075,165079,165083,165088],{"type":426,"tag":553,"props":165072,"children":165073},{"style":560},[165074],{"type":431,"value":563},{"type":426,"tag":553,"props":165076,"children":165077},{"style":566},[165078],{"type":431,"value":569},{"type":426,"tag":553,"props":165080,"children":165081},{"style":572},[165082],{"type":431,"value":575},{"type":426,"tag":553,"props":165084,"children":165085},{"style":572},[165086],{"type":431,"value":165087}," https:\u002F\u002Fapi.maytapi.com\u002Fapi\u002FPRODUCT_ID\u002FPHONE_ID\u002FsendMessage",{"type":426,"tag":553,"props":165089,"children":165090},{"style":566},[165091],{"type":431,"value":585},{"type":426,"tag":553,"props":165093,"children":165094},{"class":555,"line":588},[165095,165099,165104],{"type":426,"tag":553,"props":165096,"children":165097},{"style":566},[165098],{"type":431,"value":594},{"type":426,"tag":553,"props":165100,"children":165101},{"style":572},[165102],{"type":431,"value":165103}," \"x-maytapi-key: YOUR_MAYTAPI_KEY\"",{"type":426,"tag":553,"props":165105,"children":165106},{"style":566},[165107],{"type":431,"value":585},{"type":426,"tag":553,"props":165109,"children":165110},{"class":555,"line":606},[165111,165115,165119],{"type":426,"tag":553,"props":165112,"children":165113},{"style":566},[165114],{"type":431,"value":594},{"type":426,"tag":553,"props":165116,"children":165117},{"style":572},[165118],{"type":431,"value":616},{"type":426,"tag":553,"props":165120,"children":165121},{"style":566},[165122],{"type":431,"value":585},{"type":426,"tag":553,"props":165124,"children":165125},{"class":555,"line":623},[165126,165130],{"type":426,"tag":553,"props":165127,"children":165128},{"style":566},[165129],{"type":431,"value":629},{"type":426,"tag":553,"props":165131,"children":165132},{"style":572},[165133],{"type":431,"value":165134}," '{\"to_number\": \"8801234567890\", \"type\": \"text\", \"message\": \"Hello from Maytapi!\"}'\n",{"type":426,"tag":427,"props":165136,"children":165137},{},[165138],{"type":426,"tag":446,"props":165139,"children":165140},{},[165141],{"type":431,"value":165142},"Rapiwa (simpler, same result):",{"type":426,"tag":542,"props":165144,"children":165145},{"className":546,"code":164558,"language":545,"meta":417,"style":417},[165146],{"type":426,"tag":549,"props":165147,"children":165148},{"__ignoreMap":417},[165149,165172,165187,165202],{"type":426,"tag":553,"props":165150,"children":165151},{"class":555,"line":556},[165152,165156,165160,165164,165168],{"type":426,"tag":553,"props":165153,"children":165154},{"style":560},[165155],{"type":431,"value":563},{"type":426,"tag":553,"props":165157,"children":165158},{"style":566},[165159],{"type":431,"value":569},{"type":426,"tag":553,"props":165161,"children":165162},{"style":572},[165163],{"type":431,"value":575},{"type":426,"tag":553,"props":165165,"children":165166},{"style":572},[165167],{"type":431,"value":580},{"type":426,"tag":553,"props":165169,"children":165170},{"style":566},[165171],{"type":431,"value":585},{"type":426,"tag":553,"props":165173,"children":165174},{"class":555,"line":588},[165175,165179,165183],{"type":426,"tag":553,"props":165176,"children":165177},{"style":566},[165178],{"type":431,"value":594},{"type":426,"tag":553,"props":165180,"children":165181},{"style":572},[165182],{"type":431,"value":599},{"type":426,"tag":553,"props":165184,"children":165185},{"style":566},[165186],{"type":431,"value":585},{"type":426,"tag":553,"props":165188,"children":165189},{"class":555,"line":606},[165190,165194,165198],{"type":426,"tag":553,"props":165191,"children":165192},{"style":566},[165193],{"type":431,"value":594},{"type":426,"tag":553,"props":165195,"children":165196},{"style":572},[165197],{"type":431,"value":616},{"type":426,"tag":553,"props":165199,"children":165200},{"style":566},[165201],{"type":431,"value":585},{"type":426,"tag":553,"props":165203,"children":165204},{"class":555,"line":623},[165205,165209],{"type":426,"tag":553,"props":165206,"children":165207},{"style":566},[165208],{"type":431,"value":629},{"type":426,"tag":553,"props":165210,"children":165211},{"style":572},[165212],{"type":431,"value":148824},{"type":426,"tag":427,"props":165214,"children":165215},{},[165216],{"type":431,"value":165217},"Rapiwa's endpoint structure is simpler — no PRODUCT_ID or PHONE_ID needed in the URL.",{"type":426,"tag":434,"props":165219,"children":165220},{"id":4109},[165221],{"type":431,"value":4112},{"type":426,"tag":427,"props":165223,"children":165224},{},[165225,165230],{"type":426,"tag":446,"props":165226,"children":165227},{},[165228],{"type":431,"value":165229},"Is Rapiwa cheaper than Maytapi?",{"type":431,"value":165231},"\nYes. Rapiwa starts at $5\u002Fmonth for one number. Maytapi starts at approximately $9\u002Fmonth — Rapiwa is 44% cheaper.",{"type":426,"tag":427,"props":165233,"children":165234},{},[165235,165240],{"type":426,"tag":446,"props":165236,"children":165237},{},[165238],{"type":431,"value":165239},"Does Maytapi have better multi-instance support than Rapiwa?",{"type":431,"value":165241},"\nMaytapi's core value proposition is multi-instance management. For managing 5–20 WhatsApp numbers from one account, Maytapi may have advantages. For single numbers or small deployments, Rapiwa is better value.",{"type":426,"tag":427,"props":165243,"children":165244},{},[165245,165250,165252,165258,165259,165264,165265,165270,165272,165277,165278,165283],{"type":426,"tag":446,"props":165246,"children":165247},{},[165248],{"type":431,"value":165249},"Can I switch from Maytapi to Rapiwa?",{"type":431,"value":165251},"\nYes. Update your endpoint URL and request structure. Maytapi uses ",{"type":426,"tag":549,"props":165253,"children":165255},{"className":165254},[],[165256],{"type":431,"value":165257},"to_number",{"type":431,"value":18503},{"type":426,"tag":549,"props":165260,"children":165262},{"className":165261},[],[165263],{"type":431,"value":153913},{"type":431,"value":18503},{"type":426,"tag":549,"props":165266,"children":165268},{"className":165267},[],[165269],{"type":431,"value":2734},{"type":431,"value":165271}," in the payload; Rapiwa uses ",{"type":426,"tag":549,"props":165273,"children":165275},{"className":165274},[],[165276],{"type":431,"value":39195},{"type":431,"value":18503},{"type":426,"tag":549,"props":165279,"children":165281},{"className":165280},[],[165282],{"type":431,"value":2734},{"type":431,"value":165284},". Migration takes under an hour.",{"type":426,"tag":427,"props":165286,"children":165287},{},[165288,165293],{"type":426,"tag":446,"props":165289,"children":165290},{},[165291],{"type":431,"value":165292},"What is the best Maytapi alternative for WooCommerce?",{"type":431,"value":165294},"\nRapiwa — it has a dedicated WooCommerce plugin (no coding) and WooCommerce-specific n8n templates for invoices, orders, reviews, and promotions.",{"type":426,"tag":4164,"props":165296,"children":165297},{},[165298],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":165300},[165301,165302,165303,165309,165310,165311],{"id":164736,"depth":588,"text":164739},{"id":164920,"depth":588,"text":164923},{"id":164957,"depth":588,"text":164960,"children":165304},[165305,165306,165307,165308],{"id":164963,"depth":606,"text":164966},{"id":164974,"depth":606,"text":150071},{"id":164991,"depth":606,"text":164994},{"id":165002,"depth":606,"text":165005},{"id":165013,"depth":588,"text":165016},{"id":165049,"depth":588,"text":165052},{"id":4109,"depth":588,"text":4112},"content:blog:best-maytapi-alternative-cheaper-whatsapp-api-developers.md","blog\u002Fbest-maytapi-alternative-cheaper-whatsapp-api-developers.md","blog\u002Fbest-maytapi-alternative-cheaper-whatsapp-api-developers",{"loc":286},{"_path":290,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":291,"description":292,"date":165317,"author":33271,"category":212,"_slug":165318,"image":165319,"body":165320,"_type":4187,"_id":165924,"_source":4189,"_file":165925,"_stem":165926,"_extension":4192,"sitemap":165927},"2026-01-01","best-whapi-cloud-alternative-whatsapp-automation-2026","\u002Fimages\u002Fblog\u002Fbest-whapi-cloud-alternative-whatsapp-automation-2026.svg",{"type":423,"children":165321,"toc":165911},[165322,165334,165340,165519,165525,165530,165538,165566,165572,165614,165620,165626,165638,165644,165655,165661,165666,165736,165741,165747,165752,165758,165853,165857,165867,165877,165887,165897,165907],{"type":426,"tag":427,"props":165323,"children":165324},{},[165325,165327,165332],{"type":431,"value":165326},"The best Whapi.cloud alternative for WhatsApp automation in 2026 is ",{"type":426,"tag":3819,"props":165328,"children":165330},{"href":3821,"rel":165329},[3823],[165331],{"type":431,"value":127310},{"type":431,"value":165333}," — starting at $5\u002Fmonth with a 5.0\u002F5 Sourceforge rating, a WooCommerce plugin, and 10 ready-made n8n templates. Whapi.cloud is a European WhatsApp API with competitive features but higher pricing and fewer no-code integrations for e-commerce developers.",{"type":426,"tag":434,"props":165335,"children":165337},{"id":165336},"whapicloud-vs-rapiwa-quick-comparison",[165338],{"type":431,"value":165339},"Whapi.cloud vs Rapiwa: Quick Comparison",{"type":426,"tag":10600,"props":165341,"children":165342},{},[165343,165361],{"type":426,"tag":10604,"props":165344,"children":165345},{},[165346],{"type":426,"tag":10608,"props":165347,"children":165348},{},[165349,165353,165357],{"type":426,"tag":10612,"props":165350,"children":165351},{},[165352],{"type":431,"value":16096},{"type":426,"tag":10612,"props":165354,"children":165355},{},[165356],{"type":431,"value":160338},{"type":426,"tag":10612,"props":165358,"children":165359},{},[165360],{"type":431,"value":127310},{"type":426,"tag":10623,"props":165362,"children":165363},{},[165364,165383,165398,165417,165435,165453,165471,165486,165501],{"type":426,"tag":10608,"props":165365,"children":165366},{},[165367,165371,165376],{"type":426,"tag":10630,"props":165368,"children":165369},{},[165370],{"type":431,"value":150782},{"type":426,"tag":10630,"props":165372,"children":165373},{},[165374],{"type":431,"value":165375},"~$9–10\u002Fmonth",{"type":426,"tag":10630,"props":165377,"children":165378},{},[165379],{"type":426,"tag":446,"props":165380,"children":165381},{},[165382],{"type":431,"value":148332},{"type":426,"tag":10608,"props":165384,"children":165385},{},[165386,165390,165394],{"type":426,"tag":10630,"props":165387,"children":165388},{},[165389],{"type":431,"value":157149},{"type":426,"tag":10630,"props":165391,"children":165392},{},[165393],{"type":431,"value":1840},{"type":426,"tag":10630,"props":165395,"children":165396},{},[165397],{"type":431,"value":1840},{"type":426,"tag":10608,"props":165399,"children":165400},{},[165401,165405,165410],{"type":426,"tag":10630,"props":165402,"children":165403},{},[165404],{"type":431,"value":10787},{"type":426,"tag":10630,"props":165406,"children":165407},{},[165408],{"type":431,"value":165409},"5 days (limited)",{"type":426,"tag":10630,"props":165411,"children":165412},{},[165413],{"type":426,"tag":446,"props":165414,"children":165415},{},[165416],{"type":431,"value":163579},{"type":426,"tag":10608,"props":165418,"children":165419},{},[165420,165424,165428],{"type":426,"tag":10630,"props":165421,"children":165422},{},[165423],{"type":431,"value":148534},{"type":426,"tag":10630,"props":165425,"children":165426},{},[165427],{"type":431,"value":78130},{"type":426,"tag":10630,"props":165429,"children":165430},{},[165431],{"type":426,"tag":446,"props":165432,"children":165433},{},[165434],{"type":431,"value":103087},{"type":426,"tag":10608,"props":165436,"children":165437},{},[165438,165442,165446],{"type":426,"tag":10630,"props":165439,"children":165440},{},[165441],{"type":431,"value":16164},{"type":426,"tag":10630,"props":165443,"children":165444},{},[165445],{"type":431,"value":78130},{"type":426,"tag":10630,"props":165447,"children":165448},{},[165449],{"type":426,"tag":446,"props":165450,"children":165451},{},[165452],{"type":431,"value":150909},{"type":426,"tag":10608,"props":165454,"children":165455},{},[165456,165460,165464],{"type":426,"tag":10630,"props":165457,"children":165458},{},[165459],{"type":431,"value":10800},{"type":426,"tag":10630,"props":165461,"children":165462},{},[165463],{"type":431,"value":78140},{"type":426,"tag":10630,"props":165465,"children":165466},{},[165467],{"type":426,"tag":446,"props":165468,"children":165469},{},[165470],{"type":431,"value":10805},{"type":426,"tag":10608,"props":165472,"children":165473},{},[165474,165478,165482],{"type":426,"tag":10630,"props":165475,"children":165476},{},[165477],{"type":431,"value":102926},{"type":426,"tag":10630,"props":165479,"children":165480},{},[165481],{"type":431,"value":103087},{"type":426,"tag":10630,"props":165483,"children":165484},{},[165485],{"type":431,"value":103087},{"type":426,"tag":10608,"props":165487,"children":165488},{},[165489,165493,165497],{"type":426,"tag":10630,"props":165490,"children":165491},{},[165492],{"type":431,"value":148580},{"type":426,"tag":10630,"props":165494,"children":165495},{},[165496],{"type":431,"value":103087},{"type":426,"tag":10630,"props":165498,"children":165499},{},[165500],{"type":431,"value":103087},{"type":426,"tag":10608,"props":165502,"children":165503},{},[165504,165509,165514],{"type":426,"tag":10630,"props":165505,"children":165506},{},[165507],{"type":431,"value":165508},"Primary market",{"type":426,"tag":10630,"props":165510,"children":165511},{},[165512],{"type":431,"value":165513},"Europe",{"type":426,"tag":10630,"props":165515,"children":165516},{},[165517],{"type":431,"value":165518},"Global",{"type":426,"tag":434,"props":165520,"children":165522},{"id":165521},"what-is-whapicloud",[165523],{"type":431,"value":165524},"What Is Whapi.cloud?",{"type":426,"tag":427,"props":165526,"children":165527},{},[165528],{"type":431,"value":165529},"Whapi.cloud (whapi.cloud) is a European WhatsApp API provider targeting developers and businesses in Europe and globally. It is an unofficial WhatsApp API with standard REST API features — text messages, media, webhooks, group messaging.",{"type":426,"tag":427,"props":165531,"children":165532},{},[165533],{"type":426,"tag":446,"props":165534,"children":165535},{},[165536],{"type":431,"value":165537},"Key characteristics:",{"type":426,"tag":454,"props":165539,"children":165540},{},[165541,165546,165551,165556,165561],{"type":426,"tag":458,"props":165542,"children":165543},{},[165544],{"type":431,"value":165545},"Unofficial WhatsApp API (QR code connection)",{"type":426,"tag":458,"props":165547,"children":165548},{},[165549],{"type":431,"value":165550},"European-based infrastructure",{"type":426,"tag":458,"props":165552,"children":165553},{},[165554],{"type":431,"value":165555},"Standard REST API with comprehensive documentation",{"type":426,"tag":458,"props":165557,"children":165558},{},[165559],{"type":431,"value":165560},"Multiple plan tiers",{"type":426,"tag":458,"props":165562,"children":165563},{},[165564],{"type":431,"value":165565},"Primarily an API-first product (no ready-made templates or e-commerce plugins)",{"type":426,"tag":434,"props":165567,"children":165569},{"id":165568},"why-developers-look-for-whapicloud-alternatives",[165570],{"type":431,"value":165571},"Why Developers Look for Whapi.cloud Alternatives",{"type":426,"tag":6331,"props":165573,"children":165574},{},[165575,165584,165594,165604],{"type":426,"tag":458,"props":165576,"children":165577},{},[165578,165582],{"type":426,"tag":446,"props":165579,"children":165580},{},[165581],{"type":431,"value":103028},{"type":431,"value":165583},": Whapi.cloud's pricing starts higher than Rapiwa's $5\u002Fmonth",{"type":426,"tag":458,"props":165585,"children":165586},{},[165587,165592],{"type":426,"tag":446,"props":165588,"children":165589},{},[165590],{"type":431,"value":165591},"No WooCommerce plugin",{"type":431,"value":165593},": WooCommerce developers need custom code integration",{"type":426,"tag":458,"props":165595,"children":165596},{},[165597,165602],{"type":426,"tag":446,"props":165598,"children":165599},{},[165600],{"type":431,"value":165601},"No n8n templates",{"type":431,"value":165603},": No pre-built automation workflows",{"type":426,"tag":458,"props":165605,"children":165606},{},[165607,165612],{"type":426,"tag":446,"props":165608,"children":165609},{},[165610],{"type":431,"value":165611},"No Sourceforge rating",{"type":431,"value":165613},": Harder to evaluate trust and user satisfaction",{"type":426,"tag":434,"props":165615,"children":165617},{"id":165616},"rapiwa-vs-whapicloud-what-matters-for-automation",[165618],{"type":431,"value":165619},"Rapiwa vs Whapi.cloud: What Matters for Automation",{"type":426,"tag":515,"props":165621,"children":165623},{"id":165622},"for-woocommerce-store-owners",[165624],{"type":431,"value":165625},"For WooCommerce Store Owners",{"type":426,"tag":427,"props":165627,"children":165628},{},[165629,165631,165636],{"type":431,"value":165630},"Rapiwa has a plug-and-play ",{"type":426,"tag":3819,"props":165632,"children":165634},{"href":131923,"rel":165633},[3823],[165635],{"type":431,"value":148534},{"type":431,"value":165637},". Whapi.cloud requires custom code. For a WooCommerce store owner without developer resources, this is the deciding factor.",{"type":426,"tag":515,"props":165639,"children":165641},{"id":165640},"for-n8n-automation-users",[165642],{"type":431,"value":165643},"For n8n Automation Users",{"type":426,"tag":427,"props":165645,"children":165646},{},[165647,165648,165653],{"type":431,"value":155847},{"type":426,"tag":3819,"props":165649,"children":165651},{"href":145202,"rel":165650},[3823],[165652],{"type":431,"value":163724},{"type":431,"value":165654}," (3,000+ installs) cover every common e-commerce and AI automation workflow. Whapi.cloud has no n8n templates on the official marketplace.",{"type":426,"tag":515,"props":165656,"children":165658},{"id":165657},"for-developers-integrating-directly",[165659],{"type":431,"value":165660},"For Developers Integrating Directly",{"type":426,"tag":427,"props":165662,"children":165663},{},[165664],{"type":431,"value":165665},"Both APIs follow standard REST patterns. The Rapiwa endpoint:",{"type":426,"tag":542,"props":165667,"children":165668},{"className":546,"code":164558,"language":545,"meta":417,"style":417},[165669],{"type":426,"tag":549,"props":165670,"children":165671},{"__ignoreMap":417},[165672,165695,165710,165725],{"type":426,"tag":553,"props":165673,"children":165674},{"class":555,"line":556},[165675,165679,165683,165687,165691],{"type":426,"tag":553,"props":165676,"children":165677},{"style":560},[165678],{"type":431,"value":563},{"type":426,"tag":553,"props":165680,"children":165681},{"style":566},[165682],{"type":431,"value":569},{"type":426,"tag":553,"props":165684,"children":165685},{"style":572},[165686],{"type":431,"value":575},{"type":426,"tag":553,"props":165688,"children":165689},{"style":572},[165690],{"type":431,"value":580},{"type":426,"tag":553,"props":165692,"children":165693},{"style":566},[165694],{"type":431,"value":585},{"type":426,"tag":553,"props":165696,"children":165697},{"class":555,"line":588},[165698,165702,165706],{"type":426,"tag":553,"props":165699,"children":165700},{"style":566},[165701],{"type":431,"value":594},{"type":426,"tag":553,"props":165703,"children":165704},{"style":572},[165705],{"type":431,"value":599},{"type":426,"tag":553,"props":165707,"children":165708},{"style":566},[165709],{"type":431,"value":585},{"type":426,"tag":553,"props":165711,"children":165712},{"class":555,"line":606},[165713,165717,165721],{"type":426,"tag":553,"props":165714,"children":165715},{"style":566},[165716],{"type":431,"value":594},{"type":426,"tag":553,"props":165718,"children":165719},{"style":572},[165720],{"type":431,"value":616},{"type":426,"tag":553,"props":165722,"children":165723},{"style":566},[165724],{"type":431,"value":585},{"type":426,"tag":553,"props":165726,"children":165727},{"class":555,"line":623},[165728,165732],{"type":426,"tag":553,"props":165729,"children":165730},{"style":566},[165731],{"type":431,"value":629},{"type":426,"tag":553,"props":165733,"children":165734},{"style":572},[165735],{"type":431,"value":148824},{"type":426,"tag":427,"props":165737,"children":165738},{},[165739],{"type":431,"value":165740},"The API is language-agnostic and works with cURL, Python, PHP, Node.js, Java, C#, and any HTTP client.",{"type":426,"tag":515,"props":165742,"children":165744},{"id":165743},"for-european-businesses",[165745],{"type":431,"value":165746},"For European Businesses",{"type":426,"tag":427,"props":165748,"children":165749},{},[165750],{"type":431,"value":165751},"Whapi.cloud is EU-based which may be relevant for GDPR-sensitive data processing. If data residency in Europe is a requirement, Whapi.cloud has an advantage.",{"type":426,"tag":434,"props":165753,"children":165755},{"id":165754},"pricing-comparison",[165756],{"type":431,"value":165757},"Pricing Comparison",{"type":426,"tag":10600,"props":165759,"children":165760},{},[165761,165780],{"type":426,"tag":10604,"props":165762,"children":165763},{},[165764],{"type":426,"tag":10608,"props":165765,"children":165766},{},[165767,165771,165776],{"type":426,"tag":10612,"props":165768,"children":165769},{},[165770],{"type":431,"value":147033},{"type":426,"tag":10612,"props":165772,"children":165773},{},[165774],{"type":431,"value":165775},"1 Number",{"type":426,"tag":10612,"props":165777,"children":165778},{},[165779],{"type":431,"value":149805},{"type":426,"tag":10623,"props":165781,"children":165782},{},[165783,165805,165821,165837],{"type":426,"tag":10608,"props":165784,"children":165785},{},[165786,165793,165800],{"type":426,"tag":10630,"props":165787,"children":165788},{},[165789],{"type":426,"tag":446,"props":165790,"children":165791},{},[165792],{"type":431,"value":127310},{"type":426,"tag":10630,"props":165794,"children":165795},{},[165796],{"type":426,"tag":446,"props":165797,"children":165798},{},[165799],{"type":431,"value":148332},{"type":426,"tag":10630,"props":165801,"children":165802},{},[165803],{"type":431,"value":165804},"Best price, highest integration value",{"type":426,"tag":10608,"props":165806,"children":165807},{},[165808,165812,165816],{"type":426,"tag":10630,"props":165809,"children":165810},{},[165811],{"type":431,"value":160338},{"type":426,"tag":10630,"props":165813,"children":165814},{},[165815],{"type":431,"value":165375},{"type":426,"tag":10630,"props":165817,"children":165818},{},[165819],{"type":431,"value":165820},"European infrastructure",{"type":426,"tag":10608,"props":165822,"children":165823},{},[165824,165828,165832],{"type":426,"tag":10630,"props":165825,"children":165826},{},[165827],{"type":431,"value":147163},{"type":426,"tag":10630,"props":165829,"children":165830},{},[165831],{"type":431,"value":148324},{"type":426,"tag":10630,"props":165833,"children":165834},{},[165835],{"type":431,"value":165836},"Strong TypeScript\u002FPython SDKs",{"type":426,"tag":10608,"props":165838,"children":165839},{},[165840,165844,165848],{"type":426,"tag":10630,"props":165841,"children":165842},{},[165843],{"type":431,"value":159425},{"type":426,"tag":10630,"props":165845,"children":165846},{},[165847],{"type":431,"value":149858},{"type":426,"tag":10630,"props":165849,"children":165850},{},[165851],{"type":431,"value":165852},"Open-source community",{"type":426,"tag":434,"props":165854,"children":165855},{"id":4109},[165856],{"type":431,"value":4112},{"type":426,"tag":427,"props":165858,"children":165859},{},[165860,165865],{"type":426,"tag":446,"props":165861,"children":165862},{},[165863],{"type":431,"value":165864},"What is the best Whapi.cloud alternative for WooCommerce?",{"type":431,"value":165866},"\nRapiwa — it has a dedicated WooCommerce plugin that Whapi.cloud doesn't offer, plus WooCommerce-specific n8n templates for invoices, order updates, cross-sells, and review requests.",{"type":426,"tag":427,"props":165868,"children":165869},{},[165870,165875],{"type":426,"tag":446,"props":165871,"children":165872},{},[165873],{"type":431,"value":165874},"Is Rapiwa cheaper than Whapi.cloud?",{"type":431,"value":165876},"\nYes. Rapiwa starts at $5\u002Fmonth. Whapi.cloud's entry pricing is approximately $9–10\u002Fmonth — nearly double.",{"type":426,"tag":427,"props":165878,"children":165879},{},[165880,165885],{"type":426,"tag":446,"props":165881,"children":165882},{},[165883],{"type":431,"value":165884},"Does Whapi.cloud have better features than Rapiwa?",{"type":431,"value":165886},"\nBoth support all WhatsApp message types, webhooks, and bulk messaging. The key difference is integrations: Rapiwa has a WooCommerce plugin and 10 n8n templates. Whapi.cloud has neither.",{"type":426,"tag":427,"props":165888,"children":165889},{},[165890,165895],{"type":426,"tag":446,"props":165891,"children":165892},{},[165893],{"type":431,"value":165894},"Is Whapi.cloud GDPR compliant?",{"type":431,"value":165896},"\nWhapi.cloud is EU-based and likely more aligned with GDPR requirements. For businesses with strict EU data residency requirements, check Whapi.cloud's data processing terms directly.",{"type":426,"tag":427,"props":165898,"children":165899},{},[165900,165905],{"type":426,"tag":446,"props":165901,"children":165902},{},[165903],{"type":431,"value":165904},"Can I switch from Whapi.cloud to Rapiwa?",{"type":431,"value":165906},"\nYes. Update your endpoint URL, authentication method, and field names. Standard REST API migration takes under an hour for basic messaging use cases.",{"type":426,"tag":4164,"props":165908,"children":165909},{},[165910],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":165912},[165913,165914,165915,165916,165922,165923],{"id":165336,"depth":588,"text":165339},{"id":165521,"depth":588,"text":165524},{"id":165568,"depth":588,"text":165571},{"id":165616,"depth":588,"text":165619,"children":165917},[165918,165919,165920,165921],{"id":165622,"depth":606,"text":165625},{"id":165640,"depth":606,"text":165643},{"id":165657,"depth":606,"text":165660},{"id":165743,"depth":606,"text":165746},{"id":165754,"depth":588,"text":165757},{"id":4109,"depth":588,"text":4112},"content:blog:best-whapi-cloud-alternative-whatsapp-automation-2026.md","blog\u002Fbest-whapi-cloud-alternative-whatsapp-automation-2026.md","blog\u002Fbest-whapi-cloud-alternative-whatsapp-automation-2026",{"loc":290},{"_path":294,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":295,"description":296,"date":165929,"author":6858,"category":212,"_slug":165930,"image":165931,"body":165932,"_type":4187,"_id":166658,"_source":4189,"_file":166659,"_stem":166660,"_extension":4192,"sitemap":166661},"2025-12-31","best-z-api-alternative-developers-affordable-easy","\u002Fimages\u002Fblog\u002Fbest-z-api-alternative-developers-affordable-easy.svg",{"type":423,"children":165933,"toc":166645},[165934,165946,165952,166119,166125,166130,166138,166166,166172,166215,166221,166226,166327,166335,166398,166404,166408,166419,166425,166430,166458,166463,166469,166474,166480,166587,166591,166601,166611,166621,166631,166641],{"type":426,"tag":427,"props":165935,"children":165936},{},[165937,165939,165944],{"type":431,"value":165938},"The best Z-API alternative for developers in 2026 is ",{"type":426,"tag":3819,"props":165940,"children":165942},{"href":3821,"rel":165941},[3823],[165943],{"type":431,"value":127310},{"type":431,"value":165945}," — at $5\u002Fmonth with no per-message fees, a 5.0\u002F5 Sourceforge rating, a WooCommerce plugin, and 10 ready-made n8n templates. Z-API is a Brazilian WhatsApp API popular in Latin America. Rapiwa offers comparable features at a competitive price with global English support.",{"type":426,"tag":434,"props":165947,"children":165949},{"id":165948},"z-api-vs-rapiwa-quick-comparison",[165950],{"type":431,"value":165951},"Z-API vs Rapiwa: Quick Comparison",{"type":426,"tag":10600,"props":165953,"children":165954},{},[165955,165974],{"type":426,"tag":10604,"props":165956,"children":165957},{},[165958],{"type":426,"tag":10608,"props":165959,"children":165960},{},[165961,165965,165970],{"type":426,"tag":10612,"props":165962,"children":165963},{},[165964],{"type":431,"value":16096},{"type":426,"tag":10612,"props":165966,"children":165967},{},[165968],{"type":431,"value":165969},"Z-API",{"type":426,"tag":10612,"props":165971,"children":165972},{},[165973],{"type":431,"value":127310},{"type":426,"tag":10623,"props":165975,"children":165976},{},[165977,165996,166011,166029,166048,166066,166084,166101],{"type":426,"tag":10608,"props":165978,"children":165979},{},[165980,165984,165989],{"type":426,"tag":10630,"props":165981,"children":165982},{},[165983],{"type":431,"value":150782},{"type":426,"tag":10630,"props":165985,"children":165986},{},[165987],{"type":431,"value":165988},"Higher (see pricing)",{"type":426,"tag":10630,"props":165990,"children":165991},{},[165992],{"type":426,"tag":446,"props":165993,"children":165994},{},[165995],{"type":431,"value":148332},{"type":426,"tag":10608,"props":165997,"children":165998},{},[165999,166003,166007],{"type":426,"tag":10630,"props":166000,"children":166001},{},[166002],{"type":431,"value":157149},{"type":426,"tag":10630,"props":166004,"children":166005},{},[166006],{"type":431,"value":1840},{"type":426,"tag":10630,"props":166008,"children":166009},{},[166010],{"type":431,"value":1840},{"type":426,"tag":10608,"props":166012,"children":166013},{},[166014,166018,166022],{"type":426,"tag":10630,"props":166015,"children":166016},{},[166017],{"type":431,"value":10787},{"type":426,"tag":10630,"props":166019,"children":166020},{},[166021],{"type":431,"value":103087},{"type":426,"tag":10630,"props":166023,"children":166024},{},[166025],{"type":426,"tag":446,"props":166026,"children":166027},{},[166028],{"type":431,"value":163036},{"type":426,"tag":10608,"props":166030,"children":166031},{},[166032,166036,166041],{"type":426,"tag":10630,"props":166033,"children":166034},{},[166035],{"type":431,"value":10800},{"type":426,"tag":10630,"props":166037,"children":166038},{},[166039],{"type":431,"value":166040},"Limited listing",{"type":426,"tag":10630,"props":166042,"children":166043},{},[166044],{"type":426,"tag":446,"props":166045,"children":166046},{},[166047],{"type":431,"value":10805},{"type":426,"tag":10608,"props":166049,"children":166050},{},[166051,166055,166059],{"type":426,"tag":10630,"props":166052,"children":166053},{},[166054],{"type":431,"value":148534},{"type":426,"tag":10630,"props":166056,"children":166057},{},[166058],{"type":431,"value":78130},{"type":426,"tag":10630,"props":166060,"children":166061},{},[166062],{"type":426,"tag":446,"props":166063,"children":166064},{},[166065],{"type":431,"value":103087},{"type":426,"tag":10608,"props":166067,"children":166068},{},[166069,166073,166077],{"type":426,"tag":10630,"props":166070,"children":166071},{},[166072],{"type":431,"value":16164},{"type":426,"tag":10630,"props":166074,"children":166075},{},[166076],{"type":431,"value":78130},{"type":426,"tag":10630,"props":166078,"children":166079},{},[166080],{"type":426,"tag":446,"props":166081,"children":166082},{},[166083],{"type":431,"value":150909},{"type":426,"tag":10608,"props":166085,"children":166086},{},[166087,166091,166096],{"type":426,"tag":10630,"props":166088,"children":166089},{},[166090],{"type":431,"value":165508},{"type":426,"tag":10630,"props":166092,"children":166093},{},[166094],{"type":431,"value":166095},"Brazil \u002F Portuguese",{"type":426,"tag":10630,"props":166097,"children":166098},{},[166099],{"type":431,"value":166100},"Global (English)",{"type":426,"tag":10608,"props":166102,"children":166103},{},[166104,166109,166114],{"type":426,"tag":10630,"props":166105,"children":166106},{},[166107],{"type":431,"value":166108},"Support language",{"type":426,"tag":10630,"props":166110,"children":166111},{},[166112],{"type":431,"value":166113},"Portuguese primarily",{"type":426,"tag":10630,"props":166115,"children":166116},{},[166117],{"type":431,"value":166118},"English",{"type":426,"tag":434,"props":166120,"children":166122},{"id":166121},"what-is-z-api",[166123],{"type":431,"value":166124},"What Is Z-API?",{"type":426,"tag":427,"props":166126,"children":166127},{},[166128],{"type":431,"value":166129},"Z-API (z-api.io) is a WhatsApp API service based in Brazil, primarily targeting Portuguese-speaking markets (Brazil, Portugal). It is widely used by Brazilian developers and businesses for WhatsApp automation.",{"type":426,"tag":427,"props":166131,"children":166132},{},[166133],{"type":426,"tag":446,"props":166134,"children":166135},{},[166136],{"type":431,"value":166137},"Z-API key characteristics:",{"type":426,"tag":454,"props":166139,"children":166140},{},[166141,166146,166151,166156,166161],{"type":426,"tag":458,"props":166142,"children":166143},{},[166144],{"type":431,"value":166145},"Unofficial WhatsApp API (connects via WhatsApp Web protocol)",{"type":426,"tag":458,"props":166147,"children":166148},{},[166149],{"type":431,"value":166150},"Popular in the Brazilian developer community",{"type":426,"tag":458,"props":166152,"children":166153},{},[166154],{"type":431,"value":166155},"Documentation primarily in Portuguese",{"type":426,"tag":458,"props":166157,"children":166158},{},[166159],{"type":431,"value":166160},"Pricing in Brazilian Real (BRL)",{"type":426,"tag":458,"props":166162,"children":166163},{},[166164],{"type":431,"value":166165},"Used by 50,000+ businesses according to their website",{"type":426,"tag":434,"props":166167,"children":166169},{"id":166168},"why-developers-outside-brazil-look-for-z-api-alternatives",[166170],{"type":431,"value":166171},"Why Developers Outside Brazil Look for Z-API Alternatives",{"type":426,"tag":6331,"props":166173,"children":166174},{},[166175,166185,166195,166205],{"type":426,"tag":458,"props":166176,"children":166177},{},[166178,166183],{"type":426,"tag":446,"props":166179,"children":166180},{},[166181],{"type":431,"value":166182},"Language barrier",{"type":431,"value":166184},": Documentation and support primarily in Portuguese",{"type":426,"tag":458,"props":166186,"children":166187},{},[166188,166193],{"type":426,"tag":446,"props":166189,"children":166190},{},[166191],{"type":431,"value":166192},"Currency",{"type":431,"value":166194},": Pricing in BRL makes costs unpredictable with exchange rate fluctuations",{"type":426,"tag":458,"props":166196,"children":166197},{},[166198,166203],{"type":426,"tag":446,"props":166199,"children":166200},{},[166201],{"type":431,"value":166202},"Regional focus",{"type":431,"value":166204},": Support hours and community are aligned with Brazilian time zones",{"type":426,"tag":458,"props":166206,"children":166207},{},[166208,166213],{"type":426,"tag":446,"props":166209,"children":166210},{},[166211],{"type":431,"value":166212},"Integration gap",{"type":431,"value":166214},": No WooCommerce plugin, no English n8n templates",{"type":426,"tag":434,"props":166216,"children":166218},{"id":166217},"rapiwa-as-the-z-api-alternative",[166219],{"type":431,"value":166220},"Rapiwa as the Z-API Alternative",{"type":426,"tag":427,"props":166222,"children":166223},{},[166224],{"type":431,"value":166225},"Rapiwa fills the gap for developers in South Asia, Southeast Asia, the Middle East, and Europe who want a globally-supported, English-language WhatsApp API at competitive pricing.",{"type":426,"tag":542,"props":166227,"children":166229},{"className":546,"code":166228,"language":545,"meta":417,"style":417},"# Rapiwa — works identically to Z-API's core send endpoint\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello! Your order is confirmed.\"\n  }'\n",[166230],{"type":426,"tag":549,"props":166231,"children":166232},{"__ignoreMap":417},[166233,166241,166264,166279,166294,166305,166312,166320],{"type":426,"tag":553,"props":166234,"children":166235},{"class":555,"line":556},[166236],{"type":426,"tag":553,"props":166237,"children":166238},{"style":1975},[166239],{"type":431,"value":166240},"# Rapiwa — works identically to Z-API's core send endpoint\n",{"type":426,"tag":553,"props":166242,"children":166243},{"class":555,"line":588},[166244,166248,166252,166256,166260],{"type":426,"tag":553,"props":166245,"children":166246},{"style":560},[166247],{"type":431,"value":563},{"type":426,"tag":553,"props":166249,"children":166250},{"style":566},[166251],{"type":431,"value":569},{"type":426,"tag":553,"props":166253,"children":166254},{"style":572},[166255],{"type":431,"value":575},{"type":426,"tag":553,"props":166257,"children":166258},{"style":572},[166259],{"type":431,"value":580},{"type":426,"tag":553,"props":166261,"children":166262},{"style":566},[166263],{"type":431,"value":585},{"type":426,"tag":553,"props":166265,"children":166266},{"class":555,"line":606},[166267,166271,166275],{"type":426,"tag":553,"props":166268,"children":166269},{"style":566},[166270],{"type":431,"value":594},{"type":426,"tag":553,"props":166272,"children":166273},{"style":572},[166274],{"type":431,"value":599},{"type":426,"tag":553,"props":166276,"children":166277},{"style":566},[166278],{"type":431,"value":585},{"type":426,"tag":553,"props":166280,"children":166281},{"class":555,"line":623},[166282,166286,166290],{"type":426,"tag":553,"props":166283,"children":166284},{"style":566},[166285],{"type":431,"value":594},{"type":426,"tag":553,"props":166287,"children":166288},{"style":572},[166289],{"type":431,"value":616},{"type":426,"tag":553,"props":166291,"children":166292},{"style":566},[166293],{"type":431,"value":585},{"type":426,"tag":553,"props":166295,"children":166296},{"class":555,"line":637},[166297,166301],{"type":426,"tag":553,"props":166298,"children":166299},{"style":566},[166300],{"type":431,"value":629},{"type":426,"tag":553,"props":166302,"children":166303},{"style":572},[166304],{"type":431,"value":634},{"type":426,"tag":553,"props":166306,"children":166307},{"class":555,"line":646},[166308],{"type":426,"tag":553,"props":166309,"children":166310},{"style":572},[166311],{"type":431,"value":643},{"type":426,"tag":553,"props":166313,"children":166314},{"class":555,"line":655},[166315],{"type":426,"tag":553,"props":166316,"children":166317},{"style":572},[166318],{"type":431,"value":166319},"    \"message\": \"Hello! Your order is confirmed.\"\n",{"type":426,"tag":553,"props":166321,"children":166322},{"class":555,"line":1036},[166323],{"type":426,"tag":553,"props":166324,"children":166325},{"style":572},[166326],{"type":431,"value":661},{"type":426,"tag":427,"props":166328,"children":166329},{},[166330],{"type":426,"tag":446,"props":166331,"children":166332},{},[166333],{"type":431,"value":166334},"Response:",{"type":426,"tag":542,"props":166336,"children":166338},{"className":674,"code":166337,"language":673,"meta":417,"style":417},"{\"status\": \"success\", \"messageId\": \"msg_abc123\", \"timestamp\": \"2026-05-03T10:00:00Z\"}\n",[166339],{"type":426,"tag":549,"props":166340,"children":166341},{"__ignoreMap":417},[166342],{"type":426,"tag":553,"props":166343,"children":166344},{"class":555,"line":556},[166345,166349,166353,166357,166361,166365,166369,166373,166377,166381,166385,166389,166394],{"type":426,"tag":553,"props":166346,"children":166347},{"style":684},[166348],{"type":431,"value":972},{"type":426,"tag":553,"props":166350,"children":166351},{"style":566},[166352],{"type":431,"value":68957},{"type":426,"tag":553,"props":166354,"children":166355},{"style":684},[166356],{"type":431,"value":700},{"type":426,"tag":553,"props":166358,"children":166359},{"style":572},[166360],{"type":431,"value":705},{"type":426,"tag":553,"props":166362,"children":166363},{"style":684},[166364],{"type":431,"value":1907},{"type":426,"tag":553,"props":166366,"children":166367},{"style":566},[166368],{"type":431,"value":68982},{"type":426,"tag":553,"props":166370,"children":166371},{"style":684},[166372],{"type":431,"value":700},{"type":426,"tag":553,"props":166374,"children":166375},{"style":572},[166376],{"type":431,"value":7376},{"type":426,"tag":553,"props":166378,"children":166379},{"style":684},[166380],{"type":431,"value":1907},{"type":426,"tag":553,"props":166382,"children":166383},{"style":566},[166384],{"type":431,"value":69007},{"type":426,"tag":553,"props":166386,"children":166387},{"style":684},[166388],{"type":431,"value":700},{"type":426,"tag":553,"props":166390,"children":166391},{"style":572},[166392],{"type":431,"value":166393},"\"2026-05-03T10:00:00Z\"",{"type":426,"tag":553,"props":166395,"children":166396},{"style":684},[166397],{"type":431,"value":756},{"type":426,"tag":434,"props":166399,"children":166401},{"id":166400},"what-rapiwa-offers-that-z-api-doesnt",[166402],{"type":431,"value":166403},"What Rapiwa Offers That Z-API Doesn't",{"type":426,"tag":515,"props":166405,"children":166406},{"id":164974},[166407],{"type":431,"value":150071},{"type":426,"tag":427,"props":166409,"children":166410},{},[166411,166412,166417],{"type":431,"value":86346},{"type":426,"tag":3819,"props":166413,"children":166415},{"href":131923,"rel":166414},[3823],[166416],{"type":431,"value":46985},{"type":431,"value":166418}," lets WooCommerce stores send WhatsApp order notifications, invoices, and status updates without any coding. Z-API has no equivalent plugin.",{"type":426,"tag":515,"props":166420,"children":166422},{"id":166421},"_10-n8n-workflow-templates",[166423],{"type":431,"value":166424},"10 n8n Workflow Templates",{"type":426,"tag":427,"props":166426,"children":166427},{},[166428],{"type":431,"value":166429},"Rapiwa's 10 official n8n templates cover:",{"type":426,"tag":454,"props":166431,"children":166432},{},[166433,166438,166443,166448,166453],{"type":426,"tag":458,"props":166434,"children":166435},{},[166436],{"type":431,"value":166437},"WooCommerce invoices (1,306 installs)",{"type":426,"tag":458,"props":166439,"children":166440},{},[166441],{"type":431,"value":166442},"Order status updates (236 installs)",{"type":426,"tag":458,"props":166444,"children":166445},{},[166446],{"type":431,"value":166447},"Google Calendar reminders (538 installs)",{"type":426,"tag":458,"props":166449,"children":166450},{},[166451],{"type":431,"value":166452},"GPT-4 customer support bot (474 installs)",{"type":426,"tag":458,"props":166454,"children":166455},{},[166456],{"type":431,"value":166457},"Shopify alerts (139–163 installs)",{"type":426,"tag":427,"props":166459,"children":166460},{},[166461],{"type":431,"value":166462},"These templates are in English, actively maintained, and available on the official n8n marketplace.",{"type":426,"tag":515,"props":166464,"children":166466},{"id":166465},"global-english-support",[166467],{"type":431,"value":166468},"Global English Support",{"type":426,"tag":427,"props":166470,"children":166471},{},[166472],{"type":431,"value":166473},"Rapiwa is built for the global developer market with English documentation, English support, and a customer base spanning Bangladesh, India, Southeast Asia, Europe, and the Americas.",{"type":426,"tag":434,"props":166475,"children":166477},{"id":166476},"other-z-api-alternatives-to-consider",[166478],{"type":431,"value":166479},"Other Z-API Alternatives to Consider",{"type":426,"tag":10600,"props":166481,"children":166482},{},[166483,166501],{"type":426,"tag":10604,"props":166484,"children":166485},{},[166486],{"type":426,"tag":10608,"props":166487,"children":166488},{},[166489,166493,166497],{"type":426,"tag":10612,"props":166490,"children":166491},{},[166492],{"type":431,"value":163947},{"type":426,"tag":10612,"props":166494,"children":166495},{},[166496],{"type":431,"value":103028},{"type":426,"tag":10612,"props":166498,"children":166499},{},[166500],{"type":431,"value":149805},{"type":426,"tag":10623,"props":166502,"children":166503},{},[166504,166523,166539,166555,166571],{"type":426,"tag":10608,"props":166505,"children":166506},{},[166507,166514,166518],{"type":426,"tag":10630,"props":166508,"children":166509},{},[166510],{"type":426,"tag":446,"props":166511,"children":166512},{},[166513],{"type":431,"value":127310},{"type":426,"tag":10630,"props":166515,"children":166516},{},[166517],{"type":431,"value":148332},{"type":426,"tag":10630,"props":166519,"children":166520},{},[166521],{"type":431,"value":166522},"Best for global English users",{"type":426,"tag":10608,"props":166524,"children":166525},{},[166526,166530,166534],{"type":426,"tag":10630,"props":166527,"children":166528},{},[166529],{"type":431,"value":147163},{"type":426,"tag":10630,"props":166531,"children":166532},{},[166533],{"type":431,"value":148324},{"type":426,"tag":10630,"props":166535,"children":166536},{},[166537],{"type":431,"value":166538},"Strong SDKs (Node.js, Python, Laravel)",{"type":426,"tag":10608,"props":166540,"children":166541},{},[166542,166546,166550],{"type":426,"tag":10630,"props":166543,"children":166544},{},[166545],{"type":431,"value":159425},{"type":426,"tag":10630,"props":166547,"children":166548},{},[166549],{"type":431,"value":149858},{"type":426,"tag":10630,"props":166551,"children":166552},{},[166553],{"type":431,"value":166554},"Self-hosted community alternative",{"type":426,"tag":10608,"props":166556,"children":166557},{},[166558,166562,166566],{"type":426,"tag":10630,"props":166559,"children":166560},{},[166561],{"type":431,"value":160338},{"type":426,"tag":10630,"props":166563,"children":166564},{},[166565],{"type":431,"value":152075},{"type":426,"tag":10630,"props":166567,"children":166568},{},[166569],{"type":431,"value":166570},"European alternative",{"type":426,"tag":10608,"props":166572,"children":166573},{},[166574,166578,166582],{"type":426,"tag":10630,"props":166575,"children":166576},{},[166577],{"type":431,"value":159456},{"type":426,"tag":10630,"props":166579,"children":166580},{},[166581],{"type":431,"value":78117},{"type":426,"tag":10630,"props":166583,"children":166584},{},[166585],{"type":431,"value":166586},"Multi-instance support",{"type":426,"tag":434,"props":166588,"children":166589},{"id":4109},[166590],{"type":431,"value":4112},{"type":426,"tag":427,"props":166592,"children":166593},{},[166594,166599],{"type":426,"tag":446,"props":166595,"children":166596},{},[166597],{"type":431,"value":166598},"What is the best Z-API alternative for English-language users?",{"type":431,"value":166600},"\nRapiwa at $5\u002Fmonth is the best English-language Z-API alternative with the most comprehensive integration ecosystem (WooCommerce plugin + 10 n8n templates).",{"type":426,"tag":427,"props":166602,"children":166603},{},[166604,166609],{"type":426,"tag":446,"props":166605,"children":166606},{},[166607],{"type":431,"value":166608},"Is Z-API available globally or only in Brazil?",{"type":431,"value":166610},"\nZ-API is available globally but primarily serves Brazilian Portuguese-speaking users. Documentation, support, and community content are predominantly in Portuguese.",{"type":426,"tag":427,"props":166612,"children":166613},{},[166614,166619],{"type":426,"tag":446,"props":166615,"children":166616},{},[166617],{"type":431,"value":166618},"Can I switch from Z-API to Rapiwa?",{"type":431,"value":166620},"\nYes. Both are REST APIs with similar structures. Update your endpoint URL, authentication format, and field names. Migration for basic messaging takes under an hour.",{"type":426,"tag":427,"props":166622,"children":166623},{},[166624,166629],{"type":426,"tag":446,"props":166625,"children":166626},{},[166627],{"type":431,"value":166628},"Does Rapiwa support Portuguese?",{"type":431,"value":166630},"\nRapiwa's API and dashboard are in English. Support is in English. For Portuguese-native developers who need Portuguese support, Z-API may be more suitable.",{"type":426,"tag":427,"props":166632,"children":166633},{},[166634,166639],{"type":426,"tag":446,"props":166635,"children":166636},{},[166637],{"type":431,"value":166638},"How does Rapiwa's $5\u002Fmonth compare to Z-API's pricing?",{"type":431,"value":166640},"\nZ-API's pricing is quoted in BRL. At current exchange rates, Rapiwa's $5\u002Fmonth USD is generally competitive or cheaper, with the added benefit of no currency exchange risk.",{"type":426,"tag":4164,"props":166642,"children":166643},{},[166644],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":166646},[166647,166648,166649,166650,166651,166656,166657],{"id":165948,"depth":588,"text":165951},{"id":166121,"depth":588,"text":166124},{"id":166168,"depth":588,"text":166171},{"id":166217,"depth":588,"text":166220},{"id":166400,"depth":588,"text":166403,"children":166652},[166653,166654,166655],{"id":164974,"depth":606,"text":150071},{"id":166421,"depth":606,"text":166424},{"id":166465,"depth":606,"text":166468},{"id":166476,"depth":588,"text":166479},{"id":4109,"depth":588,"text":4112},"content:blog:best-z-api-alternative-developers-affordable-easy.md","blog\u002Fbest-z-api-alternative-developers-affordable-easy.md","blog\u002Fbest-z-api-alternative-developers-affordable-easy",{"loc":294},{"_path":298,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":299,"description":300,"date":166663,"author":30617,"category":212,"_slug":166664,"image":166665,"body":166666,"_type":4187,"_id":168377,"_source":4189,"_file":168378,"_stem":168379,"_extension":4192,"sitemap":168380},"2025-12-30","best-evolution-api-alternative-managed-vs-self-hosted","\u002Fimages\u002Fblog\u002Fbest-evolution-api-alternative-managed-vs-self-hosted.svg",{"type":423,"children":166667,"toc":168364},[166668,166680,166686,166691,166835,166841,166847,166852,166880,166885,166891,166896,166902,166907,166940,166945,166951,166956,167118,167124,167361,167367,167375,167743,167751,167771,168247,168253,168258,168301,168306,168310,168320,168330,168340,168350,168360],{"type":426,"tag":427,"props":166669,"children":166670},{},[166671,166673,166678],{"type":431,"value":166672},"The best Evolution API alternative is ",{"type":426,"tag":3819,"props":166674,"children":166676},{"href":3821,"rel":166675},[3823],[166677],{"type":431,"value":127310},{"type":431,"value":166679}," — a fully managed WhatsApp API at $5\u002Fmonth that eliminates all of Evolution API's server management overhead. Evolution API requires a 4GB+ VPS, Docker, and frequent manual updates when WhatsApp changes its protocol. Rapiwa handles all of this automatically, starts at $5\u002Fmonth, and has a WooCommerce plugin and 10 n8n templates Evolution API doesn't offer.",{"type":426,"tag":434,"props":166681,"children":166683},{"id":166682},"why-developers-switch-from-evolution-api-to-rapiwa",[166684],{"type":431,"value":166685},"Why Developers Switch from Evolution API to Rapiwa",{"type":426,"tag":427,"props":166687,"children":166688},{},[166689],{"type":431,"value":166690},"Evolution API (EvolutionAPI\u002Fevolution-api on GitHub) is the most popular self-hosted WhatsApp API — but \"free\" self-hosting has a real cost:",{"type":426,"tag":10600,"props":166692,"children":166693},{},[166694,166713],{"type":426,"tag":10604,"props":166695,"children":166696},{},[166697],{"type":426,"tag":10608,"props":166698,"children":166699},{},[166700,166705,166709],{"type":426,"tag":10612,"props":166701,"children":166702},{},[166703],{"type":431,"value":166704},"Issue",{"type":426,"tag":10612,"props":166706,"children":166707},{},[166708],{"type":431,"value":155656},{"type":426,"tag":10612,"props":166710,"children":166711},{},[166712],{"type":431,"value":127310},{"type":426,"tag":10623,"props":166714,"children":166715},{},[166716,166736,166754,166775,166796,166816],{"type":426,"tag":10608,"props":166717,"children":166718},{},[166719,166724,166729],{"type":426,"tag":10630,"props":166720,"children":166721},{},[166722],{"type":431,"value":166723},"Monthly real cost",{"type":426,"tag":10630,"props":166725,"children":166726},{},[166727],{"type":431,"value":166728},"$40–90 (VPS + admin time)",{"type":426,"tag":10630,"props":166730,"children":166731},{},[166732],{"type":426,"tag":446,"props":166733,"children":166734},{},[166735],{"type":431,"value":147125},{"type":426,"tag":10608,"props":166737,"children":166738},{},[166739,166743,166747],{"type":426,"tag":10630,"props":166740,"children":166741},{},[166742],{"type":431,"value":150917},{"type":426,"tag":10630,"props":166744,"children":166745},{},[166746],{"type":431,"value":158592},{"type":426,"tag":10630,"props":166748,"children":166749},{},[166750],{"type":426,"tag":446,"props":166751,"children":166752},{},[166753],{"type":431,"value":46995},{"type":426,"tag":10608,"props":166755,"children":166756},{},[166757,166762,166767],{"type":426,"tag":10630,"props":166758,"children":166759},{},[166760],{"type":431,"value":166761},"Breaks after WhatsApp updates",{"type":426,"tag":10630,"props":166763,"children":166764},{},[166765],{"type":431,"value":166766},"Yes — frequently",{"type":426,"tag":10630,"props":166768,"children":166769},{},[166770],{"type":426,"tag":446,"props":166771,"children":166772},{},[166773],{"type":431,"value":166774},"Never (auto-updated)",{"type":426,"tag":10608,"props":166776,"children":166777},{},[166778,166783,166788],{"type":426,"tag":10630,"props":166779,"children":166780},{},[166781],{"type":431,"value":166782},"Session crashes",{"type":426,"tag":10630,"props":166784,"children":166785},{},[166786],{"type":431,"value":166787},"Common on low-RAM VPS",{"type":426,"tag":10630,"props":166789,"children":166790},{},[166791],{"type":426,"tag":446,"props":166792,"children":166793},{},[166794],{"type":431,"value":166795},"Managed stability",{"type":426,"tag":10608,"props":166797,"children":166798},{},[166799,166803,166808],{"type":426,"tag":10630,"props":166800,"children":166801},{},[166802],{"type":431,"value":149513},{"type":426,"tag":10630,"props":166804,"children":166805},{},[166806],{"type":431,"value":166807},"No plugin",{"type":426,"tag":10630,"props":166809,"children":166810},{},[166811],{"type":426,"tag":446,"props":166812,"children":166813},{},[166814],{"type":431,"value":166815},"Plugin available",{"type":426,"tag":10608,"props":166817,"children":166818},{},[166819,166823,166827],{"type":426,"tag":10630,"props":166820,"children":166821},{},[166822],{"type":431,"value":16164},{"type":426,"tag":10630,"props":166824,"children":166825},{},[166826],{"type":431,"value":1840},{"type":426,"tag":10630,"props":166828,"children":166829},{},[166830],{"type":426,"tag":446,"props":166831,"children":166832},{},[166833],{"type":431,"value":166834},"10 ready-made",{"type":426,"tag":434,"props":166836,"children":166838},{"id":166837},"evolution-apis-most-painful-problems",[166839],{"type":431,"value":166840},"Evolution API's Most Painful Problems",{"type":426,"tag":515,"props":166842,"children":166844},{"id":166843},"sessions-die-after-whatsapp-updates",[166845],{"type":431,"value":166846},"Sessions Die After WhatsApp Updates",{"type":426,"tag":427,"props":166848,"children":166849},{},[166850],{"type":431,"value":166851},"WhatsApp regularly updates its Web client, which breaks the protocol that Evolution API relies on. Each break requires:",{"type":426,"tag":6331,"props":166853,"children":166854},{},[166855,166860,166865,166870,166875],{"type":426,"tag":458,"props":166856,"children":166857},{},[166858],{"type":431,"value":166859},"Noticing the API is down (usually because customers stop receiving messages)",{"type":426,"tag":458,"props":166861,"children":166862},{},[166863],{"type":431,"value":166864},"Finding the new Evolution API release",{"type":426,"tag":458,"props":166866,"children":166867},{},[166868],{"type":431,"value":166869},"Pulling the Docker image or updating npm packages",{"type":426,"tag":458,"props":166871,"children":166872},{},[166873],{"type":431,"value":166874},"Restarting services",{"type":426,"tag":458,"props":166876,"children":166877},{},[166878],{"type":431,"value":166879},"Re-authenticating sessions via QR code",{"type":426,"tag":427,"props":166881,"children":166882},{},[166883],{"type":431,"value":166884},"This typically happens 3–6 times per year. Each incident takes 30–120 minutes.",{"type":426,"tag":515,"props":166886,"children":166888},{"id":166887},"high-ram-requirements",[166889],{"type":431,"value":166890},"High RAM Requirements",{"type":426,"tag":427,"props":166892,"children":166893},{},[166894],{"type":431,"value":166895},"Stable Evolution API operation requires minimum 4GB RAM. A 4GB VPS costs $20–35\u002Fmonth depending on provider and region. Add the monthly admin time cost, and the real total exceeds most paid API options.",{"type":426,"tag":515,"props":166897,"children":166899},{"id":166898},"complex-setup",[166900],{"type":431,"value":166901},"Complex Setup",{"type":426,"tag":427,"props":166903,"children":166904},{},[166905],{"type":431,"value":166906},"Evolution API uses Docker Compose with multiple services (API, database, Redis). First-time setup involves:",{"type":426,"tag":454,"props":166908,"children":166909},{},[166910,166915,166920,166925,166930,166935],{"type":426,"tag":458,"props":166911,"children":166912},{},[166913],{"type":431,"value":166914},"Installing Docker",{"type":426,"tag":458,"props":166916,"children":166917},{},[166918],{"type":431,"value":166919},"Configuring docker-compose.yml",{"type":426,"tag":458,"props":166921,"children":166922},{},[166923],{"type":431,"value":166924},"Setting environment variables",{"type":426,"tag":458,"props":166926,"children":166927},{},[166928],{"type":431,"value":166929},"Managing persistent volumes",{"type":426,"tag":458,"props":166931,"children":166932},{},[166933],{"type":431,"value":166934},"Configuring NGINX reverse proxy",{"type":426,"tag":458,"props":166936,"children":166937},{},[166938],{"type":431,"value":166939},"Setting up SSL certificates",{"type":426,"tag":427,"props":166941,"children":166942},{},[166943],{"type":431,"value":166944},"This is appropriate for DevOps engineers but excessive for developers who just want to send WhatsApp messages.",{"type":426,"tag":434,"props":166946,"children":166948},{"id":166947},"rapiwa-the-managed-alternative",[166949],{"type":431,"value":166950},"Rapiwa: The Managed Alternative",{"type":426,"tag":427,"props":166952,"children":166953},{},[166954],{"type":431,"value":166955},"Rapiwa provides the same WhatsApp API capabilities as Evolution API, fully hosted:",{"type":426,"tag":542,"props":166957,"children":166959},{"className":546,"code":166958,"language":545,"meta":417,"style":417},"# Evolution API — requires your self-hosted server\ncurl -X POST http:\u002F\u002FYOUR_VPS_IP:8080\u002Fmessage\u002FsendText\u002FSESSION_NAME \\\n  -H \"apikey: YOUR_EVOLUTION_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890@s.whatsapp.net\", \"text\": \"Hello!\"}'\n\n# Rapiwa — works immediately, no server needed\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_RAPIWA_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello!\"}'\n",[166960],{"type":426,"tag":549,"props":166961,"children":166962},{"__ignoreMap":417},[166963,166971,166995,167011,167026,167038,167045,167053,167076,167092,167107],{"type":426,"tag":553,"props":166964,"children":166965},{"class":555,"line":556},[166966],{"type":426,"tag":553,"props":166967,"children":166968},{"style":1975},[166969],{"type":431,"value":166970},"# Evolution API — requires your self-hosted server\n",{"type":426,"tag":553,"props":166972,"children":166973},{"class":555,"line":588},[166974,166978,166982,166986,166991],{"type":426,"tag":553,"props":166975,"children":166976},{"style":560},[166977],{"type":431,"value":563},{"type":426,"tag":553,"props":166979,"children":166980},{"style":566},[166981],{"type":431,"value":569},{"type":426,"tag":553,"props":166983,"children":166984},{"style":572},[166985],{"type":431,"value":575},{"type":426,"tag":553,"props":166987,"children":166988},{"style":572},[166989],{"type":431,"value":166990}," http:\u002F\u002FYOUR_VPS_IP:8080\u002Fmessage\u002FsendText\u002FSESSION_NAME",{"type":426,"tag":553,"props":166992,"children":166993},{"style":566},[166994],{"type":431,"value":585},{"type":426,"tag":553,"props":166996,"children":166997},{"class":555,"line":606},[166998,167002,167007],{"type":426,"tag":553,"props":166999,"children":167000},{"style":566},[167001],{"type":431,"value":594},{"type":426,"tag":553,"props":167003,"children":167004},{"style":572},[167005],{"type":431,"value":167006}," \"apikey: YOUR_EVOLUTION_KEY\"",{"type":426,"tag":553,"props":167008,"children":167009},{"style":566},[167010],{"type":431,"value":585},{"type":426,"tag":553,"props":167012,"children":167013},{"class":555,"line":623},[167014,167018,167022],{"type":426,"tag":553,"props":167015,"children":167016},{"style":566},[167017],{"type":431,"value":594},{"type":426,"tag":553,"props":167019,"children":167020},{"style":572},[167021],{"type":431,"value":616},{"type":426,"tag":553,"props":167023,"children":167024},{"style":566},[167025],{"type":431,"value":585},{"type":426,"tag":553,"props":167027,"children":167028},{"class":555,"line":637},[167029,167033],{"type":426,"tag":553,"props":167030,"children":167031},{"style":566},[167032],{"type":431,"value":629},{"type":426,"tag":553,"props":167034,"children":167035},{"style":572},[167036],{"type":431,"value":167037}," '{\"number\": \"8801234567890@s.whatsapp.net\", \"text\": \"Hello!\"}'\n",{"type":426,"tag":553,"props":167039,"children":167040},{"class":555,"line":646},[167041],{"type":426,"tag":553,"props":167042,"children":167043},{"emptyLinePlaceholder":831},[167044],{"type":431,"value":834},{"type":426,"tag":553,"props":167046,"children":167047},{"class":555,"line":655},[167048],{"type":426,"tag":553,"props":167049,"children":167050},{"style":1975},[167051],{"type":431,"value":167052},"# Rapiwa — works immediately, no server needed\n",{"type":426,"tag":553,"props":167054,"children":167055},{"class":555,"line":1036},[167056,167060,167064,167068,167072],{"type":426,"tag":553,"props":167057,"children":167058},{"style":560},[167059],{"type":431,"value":563},{"type":426,"tag":553,"props":167061,"children":167062},{"style":566},[167063],{"type":431,"value":569},{"type":426,"tag":553,"props":167065,"children":167066},{"style":572},[167067],{"type":431,"value":575},{"type":426,"tag":553,"props":167069,"children":167070},{"style":572},[167071],{"type":431,"value":580},{"type":426,"tag":553,"props":167073,"children":167074},{"style":566},[167075],{"type":431,"value":585},{"type":426,"tag":553,"props":167077,"children":167078},{"class":555,"line":1054},[167079,167083,167088],{"type":426,"tag":553,"props":167080,"children":167081},{"style":566},[167082],{"type":431,"value":594},{"type":426,"tag":553,"props":167084,"children":167085},{"style":572},[167086],{"type":431,"value":167087}," \"Authorization: Bearer YOUR_RAPIWA_KEY\"",{"type":426,"tag":553,"props":167089,"children":167090},{"style":566},[167091],{"type":431,"value":585},{"type":426,"tag":553,"props":167093,"children":167094},{"class":555,"line":1080},[167095,167099,167103],{"type":426,"tag":553,"props":167096,"children":167097},{"style":566},[167098],{"type":431,"value":594},{"type":426,"tag":553,"props":167100,"children":167101},{"style":572},[167102],{"type":431,"value":616},{"type":426,"tag":553,"props":167104,"children":167105},{"style":566},[167106],{"type":431,"value":585},{"type":426,"tag":553,"props":167108,"children":167109},{"class":555,"line":1097},[167110,167114],{"type":426,"tag":553,"props":167111,"children":167112},{"style":566},[167113],{"type":431,"value":629},{"type":426,"tag":553,"props":167115,"children":167116},{"style":572},[167117],{"type":431,"value":163281},{"type":426,"tag":434,"props":167119,"children":167121},{"id":167120},"side-by-side-feature-comparison",[167122],{"type":431,"value":167123},"Side-by-Side Feature Comparison",{"type":426,"tag":10600,"props":167125,"children":167126},{},[167127,167145],{"type":426,"tag":10604,"props":167128,"children":167129},{},[167130],{"type":426,"tag":10608,"props":167131,"children":167132},{},[167133,167137,167141],{"type":426,"tag":10612,"props":167134,"children":167135},{},[167136],{"type":431,"value":16096},{"type":426,"tag":10612,"props":167138,"children":167139},{},[167140],{"type":431,"value":155656},{"type":426,"tag":10612,"props":167142,"children":167143},{},[167144],{"type":431,"value":127310},{"type":426,"tag":10623,"props":167146,"children":167147},{},[167148,167165,167180,167196,167211,167229,167247,167266,167282,167302,167322,167340],{"type":426,"tag":10608,"props":167149,"children":167150},{},[167151,167156,167161],{"type":426,"tag":10630,"props":167152,"children":167153},{},[167154],{"type":431,"value":167155},"Message types",{"type":426,"tag":10630,"props":167157,"children":167158},{},[167159],{"type":431,"value":167160},"All types",{"type":426,"tag":10630,"props":167162,"children":167163},{},[167164],{"type":431,"value":167160},{"type":426,"tag":10608,"props":167166,"children":167167},{},[167168,167172,167176],{"type":426,"tag":10630,"props":167169,"children":167170},{},[167171],{"type":431,"value":102926},{"type":426,"tag":10630,"props":167173,"children":167174},{},[167175],{"type":431,"value":103087},{"type":426,"tag":10630,"props":167177,"children":167178},{},[167179],{"type":431,"value":103087},{"type":426,"tag":10608,"props":167181,"children":167182},{},[167183,167188,167192],{"type":426,"tag":10630,"props":167184,"children":167185},{},[167186],{"type":431,"value":167187},"Groups",{"type":426,"tag":10630,"props":167189,"children":167190},{},[167191],{"type":431,"value":103087},{"type":426,"tag":10630,"props":167193,"children":167194},{},[167195],{"type":431,"value":103087},{"type":426,"tag":10608,"props":167197,"children":167198},{},[167199,167203,167207],{"type":426,"tag":10630,"props":167200,"children":167201},{},[167202],{"type":431,"value":148619},{"type":426,"tag":10630,"props":167204,"children":167205},{},[167206],{"type":431,"value":103087},{"type":426,"tag":10630,"props":167208,"children":167209},{},[167210],{"type":431,"value":103087},{"type":426,"tag":10608,"props":167212,"children":167213},{},[167214,167218,167222],{"type":426,"tag":10630,"props":167215,"children":167216},{},[167217],{"type":431,"value":148534},{"type":426,"tag":10630,"props":167219,"children":167220},{},[167221],{"type":431,"value":78130},{"type":426,"tag":10630,"props":167223,"children":167224},{},[167225],{"type":426,"tag":446,"props":167226,"children":167227},{},[167228],{"type":431,"value":103087},{"type":426,"tag":10608,"props":167230,"children":167231},{},[167232,167236,167240],{"type":426,"tag":10630,"props":167233,"children":167234},{},[167235],{"type":431,"value":16164},{"type":426,"tag":10630,"props":167237,"children":167238},{},[167239],{"type":431,"value":78130},{"type":426,"tag":10630,"props":167241,"children":167242},{},[167243],{"type":426,"tag":446,"props":167244,"children":167245},{},[167246],{"type":431,"value":150909},{"type":426,"tag":10608,"props":167248,"children":167249},{},[167250,167254,167259],{"type":426,"tag":10630,"props":167251,"children":167252},{},[167253],{"type":431,"value":10800},{"type":426,"tag":10630,"props":167255,"children":167256},{},[167257],{"type":431,"value":167258},"No listing",{"type":426,"tag":10630,"props":167260,"children":167261},{},[167262],{"type":426,"tag":446,"props":167263,"children":167264},{},[167265],{"type":431,"value":10805},{"type":426,"tag":10608,"props":167267,"children":167268},{},[167269,167273,167278],{"type":426,"tag":10630,"props":167270,"children":167271},{},[167272],{"type":431,"value":164878},{"type":426,"tag":10630,"props":167274,"children":167275},{},[167276],{"type":431,"value":167277},"Yes (unlimited on VPS)",{"type":426,"tag":10630,"props":167279,"children":167280},{},[167281],{"type":431,"value":16274},{"type":426,"tag":10608,"props":167283,"children":167284},{},[167285,167289,167294],{"type":426,"tag":10630,"props":167286,"children":167287},{},[167288],{"type":431,"value":158845},{"type":426,"tag":10630,"props":167290,"children":167291},{},[167292],{"type":431,"value":167293},"Self-managed",{"type":426,"tag":10630,"props":167295,"children":167296},{},[167297],{"type":426,"tag":446,"props":167298,"children":167299},{},[167300],{"type":431,"value":167301},"Auto-managed",{"type":426,"tag":10608,"props":167303,"children":167304},{},[167305,167310,167315],{"type":426,"tag":10630,"props":167306,"children":167307},{},[167308],{"type":431,"value":167309},"Cost (1 number)",{"type":426,"tag":10630,"props":167311,"children":167312},{},[167313],{"type":431,"value":167314},"$0 (+ $40–90 real)",{"type":426,"tag":10630,"props":167316,"children":167317},{},[167318],{"type":426,"tag":446,"props":167319,"children":167320},{},[167321],{"type":431,"value":147125},{"type":426,"tag":10608,"props":167323,"children":167324},{},[167325,167330,167335],{"type":426,"tag":10630,"props":167326,"children":167327},{},[167328],{"type":431,"value":167329},"Cost (5 numbers)",{"type":426,"tag":10630,"props":167331,"children":167332},{},[167333],{"type":431,"value":167334},"$0 (same VPS)",{"type":426,"tag":10630,"props":167336,"children":167337},{},[167338],{"type":431,"value":167339},"Lower than enterprise plans",{"type":426,"tag":10608,"props":167341,"children":167342},{},[167343,167348,167353],{"type":426,"tag":10630,"props":167344,"children":167345},{},[167346],{"type":431,"value":167347},"Support",{"type":426,"tag":10630,"props":167349,"children":167350},{},[167351],{"type":431,"value":167352},"GitHub Issues \u002F Community",{"type":426,"tag":10630,"props":167354,"children":167355},{},[167356],{"type":426,"tag":446,"props":167357,"children":167358},{},[167359],{"type":431,"value":167360},"Dedicated support",{"type":426,"tag":434,"props":167362,"children":167364},{"id":167363},"migration-evolution-api-to-rapiwa",[167365],{"type":431,"value":167366},"Migration: Evolution API to Rapiwa",{"type":426,"tag":427,"props":167368,"children":167369},{},[167370],{"type":426,"tag":446,"props":167371,"children":167372},{},[167373],{"type":431,"value":167374},"Python migration:",{"type":426,"tag":542,"props":167376,"children":167378},{"className":785,"code":167377,"language":784,"meta":417,"style":417},"# OLD: Evolution API\nimport requests\n\ndef send_evolution(phone, message):\n    phone_jid = f\"{phone}@s.whatsapp.net\"\n    response = requests.post(\n        f\"http:\u002F\u002FYOUR_VPS:8080\u002Fmessage\u002FsendText\u002Fdefault\",\n        headers={\n            \"apikey\": \"YOUR_EVOLUTION_KEY\",\n            \"Content-Type\": \"application\u002Fjson\"\n        },\n        json={\"number\": phone_jid, \"text\": message}\n    )\n    return response.json()\n\n# NEW: Rapiwa (drop-in replacement)\ndef send_rapiwa(phone, message):\n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_RAPIWA_KEY\"},\n        json={\"number\": phone, \"message\": message}  # No @s.whatsapp.net suffix\n    )\n    return response.json()\n",[167379],{"type":426,"tag":549,"props":167380,"children":167381},{"__ignoreMap":417},[167382,167390,167401,167408,167424,167461,167476,167492,167507,167528,167543,167550,167582,167589,167600,167607,167615,167631,167646,167657,167688,167725,167732],{"type":426,"tag":553,"props":167383,"children":167384},{"class":555,"line":556},[167385],{"type":426,"tag":553,"props":167386,"children":167387},{"style":1975},[167388],{"type":431,"value":167389},"# OLD: Evolution API\n",{"type":426,"tag":553,"props":167391,"children":167392},{"class":555,"line":588},[167393,167397],{"type":426,"tag":553,"props":167394,"children":167395},{"style":795},[167396],{"type":431,"value":798},{"type":426,"tag":553,"props":167398,"children":167399},{"style":684},[167400],{"type":431,"value":803},{"type":426,"tag":553,"props":167402,"children":167403},{"class":555,"line":606},[167404],{"type":426,"tag":553,"props":167405,"children":167406},{"emptyLinePlaceholder":831},[167407],{"type":431,"value":834},{"type":426,"tag":553,"props":167409,"children":167410},{"class":555,"line":623},[167411,167415,167420],{"type":426,"tag":553,"props":167412,"children":167413},{"style":795},[167414],{"type":431,"value":842},{"type":426,"tag":553,"props":167416,"children":167417},{"style":560},[167418],{"type":431,"value":167419}," send_evolution",{"type":426,"tag":553,"props":167421,"children":167422},{"style":684},[167423],{"type":431,"value":129214},{"type":426,"tag":553,"props":167425,"children":167426},{"class":555,"line":637},[167427,167432,167436,167440,167444,167448,167452,167456],{"type":426,"tag":553,"props":167428,"children":167429},{"style":684},[167430],{"type":431,"value":167431},"    phone_jid ",{"type":426,"tag":553,"props":167433,"children":167434},{"style":795},[167435],{"type":431,"value":957},{"type":426,"tag":553,"props":167437,"children":167438},{"style":795},[167439],{"type":431,"value":962},{"type":426,"tag":553,"props":167441,"children":167442},{"style":572},[167443],{"type":431,"value":1527},{"type":426,"tag":553,"props":167445,"children":167446},{"style":566},[167447],{"type":431,"value":972},{"type":426,"tag":553,"props":167449,"children":167450},{"style":684},[167451],{"type":431,"value":37598},{"type":426,"tag":553,"props":167453,"children":167454},{"style":566},[167455],{"type":431,"value":982},{"type":426,"tag":553,"props":167457,"children":167458},{"style":572},[167459],{"type":431,"value":167460},"@s.whatsapp.net\"\n",{"type":426,"tag":553,"props":167462,"children":167463},{"class":555,"line":646},[167464,167468,167472],{"type":426,"tag":553,"props":167465,"children":167466},{"style":684},[167467],{"type":431,"value":8117},{"type":426,"tag":553,"props":167469,"children":167470},{"style":795},[167471],{"type":431,"value":957},{"type":426,"tag":553,"props":167473,"children":167474},{"style":684},[167475],{"type":431,"value":1664},{"type":426,"tag":553,"props":167477,"children":167478},{"class":555,"line":655},[167479,167483,167488],{"type":426,"tag":553,"props":167480,"children":167481},{"style":795},[167482],{"type":431,"value":1216},{"type":426,"tag":553,"props":167484,"children":167485},{"style":572},[167486],{"type":431,"value":167487},"\"http:\u002F\u002FYOUR_VPS:8080\u002Fmessage\u002FsendText\u002Fdefault\"",{"type":426,"tag":553,"props":167489,"children":167490},{"style":684},[167491],{"type":431,"value":710},{"type":426,"tag":553,"props":167493,"children":167494},{"class":555,"line":1036},[167495,167499,167503],{"type":426,"tag":553,"props":167496,"children":167497},{"style":1684},[167498],{"type":431,"value":1687},{"type":426,"tag":553,"props":167500,"children":167501},{"style":795},[167502],{"type":431,"value":957},{"type":426,"tag":553,"props":167504,"children":167505},{"style":684},[167506],{"type":431,"value":687},{"type":426,"tag":553,"props":167508,"children":167509},{"class":555,"line":1054},[167510,167515,167519,167524],{"type":426,"tag":553,"props":167511,"children":167512},{"style":572},[167513],{"type":431,"value":167514},"            \"apikey\"",{"type":426,"tag":553,"props":167516,"children":167517},{"style":684},[167518],{"type":431,"value":700},{"type":426,"tag":553,"props":167520,"children":167521},{"style":572},[167522],{"type":431,"value":167523},"\"YOUR_EVOLUTION_KEY\"",{"type":426,"tag":553,"props":167525,"children":167526},{"style":684},[167527],{"type":431,"value":710},{"type":426,"tag":553,"props":167529,"children":167530},{"class":555,"line":1080},[167531,167535,167539],{"type":426,"tag":553,"props":167532,"children":167533},{"style":572},[167534],{"type":431,"value":139551},{"type":426,"tag":553,"props":167536,"children":167537},{"style":684},[167538],{"type":431,"value":700},{"type":426,"tag":553,"props":167540,"children":167541},{"style":572},[167542],{"type":431,"value":113079},{"type":426,"tag":553,"props":167544,"children":167545},{"class":555,"line":1097},[167546],{"type":426,"tag":553,"props":167547,"children":167548},{"style":684},[167549],{"type":431,"value":32445},{"type":426,"tag":553,"props":167551,"children":167552},{"class":555,"line":1114},[167553,167557,167561,167565,167569,167574,167578],{"type":426,"tag":553,"props":167554,"children":167555},{"style":1684},[167556],{"type":431,"value":1746},{"type":426,"tag":553,"props":167558,"children":167559},{"style":795},[167560],{"type":431,"value":957},{"type":426,"tag":553,"props":167562,"children":167563},{"style":684},[167564],{"type":431,"value":972},{"type":426,"tag":553,"props":167566,"children":167567},{"style":572},[167568],{"type":431,"value":45266},{"type":426,"tag":553,"props":167570,"children":167571},{"style":684},[167572],{"type":431,"value":167573},": phone_jid, ",{"type":426,"tag":553,"props":167575,"children":167576},{"style":572},[167577],{"type":431,"value":81731},{"type":426,"tag":553,"props":167579,"children":167580},{"style":684},[167581],{"type":431,"value":1784},{"type":426,"tag":553,"props":167583,"children":167584},{"class":555,"line":1127},[167585],{"type":426,"tag":553,"props":167586,"children":167587},{"style":684},[167588],{"type":431,"value":1642},{"type":426,"tag":553,"props":167590,"children":167591},{"class":555,"line":1167},[167592,167596],{"type":426,"tag":553,"props":167593,"children":167594},{"style":795},[167595],{"type":431,"value":1659},{"type":426,"tag":553,"props":167597,"children":167598},{"style":684},[167599],{"type":431,"value":9193},{"type":426,"tag":553,"props":167601,"children":167602},{"class":555,"line":1184},[167603],{"type":426,"tag":553,"props":167604,"children":167605},{"emptyLinePlaceholder":831},[167606],{"type":431,"value":834},{"type":426,"tag":553,"props":167608,"children":167609},{"class":555,"line":1192},[167610],{"type":426,"tag":553,"props":167611,"children":167612},{"style":1975},[167613],{"type":431,"value":167614},"# NEW: Rapiwa (drop-in replacement)\n",{"type":426,"tag":553,"props":167616,"children":167617},{"class":555,"line":1210},[167618,167622,167627],{"type":426,"tag":553,"props":167619,"children":167620},{"style":795},[167621],{"type":431,"value":842},{"type":426,"tag":553,"props":167623,"children":167624},{"style":560},[167625],{"type":431,"value":167626}," send_rapiwa",{"type":426,"tag":553,"props":167628,"children":167629},{"style":684},[167630],{"type":431,"value":129214},{"type":426,"tag":553,"props":167632,"children":167633},{"class":555,"line":1253},[167634,167638,167642],{"type":426,"tag":553,"props":167635,"children":167636},{"style":684},[167637],{"type":431,"value":8117},{"type":426,"tag":553,"props":167639,"children":167640},{"style":795},[167641],{"type":431,"value":957},{"type":426,"tag":553,"props":167643,"children":167644},{"style":684},[167645],{"type":431,"value":1664},{"type":426,"tag":553,"props":167647,"children":167648},{"class":555,"line":1302},[167649,167653],{"type":426,"tag":553,"props":167650,"children":167651},{"style":572},[167652],{"type":431,"value":47296},{"type":426,"tag":553,"props":167654,"children":167655},{"style":684},[167656],{"type":431,"value":710},{"type":426,"tag":553,"props":167658,"children":167659},{"class":555,"line":1374},[167660,167664,167668,167672,167676,167680,167684],{"type":426,"tag":553,"props":167661,"children":167662},{"style":1684},[167663],{"type":431,"value":1687},{"type":426,"tag":553,"props":167665,"children":167666},{"style":795},[167667],{"type":431,"value":957},{"type":426,"tag":553,"props":167669,"children":167670},{"style":684},[167671],{"type":431,"value":972},{"type":426,"tag":553,"props":167673,"children":167674},{"style":572},[167675],{"type":431,"value":45214},{"type":426,"tag":553,"props":167677,"children":167678},{"style":684},[167679],{"type":431,"value":700},{"type":426,"tag":553,"props":167681,"children":167682},{"style":572},[167683],{"type":431,"value":147695},{"type":426,"tag":553,"props":167685,"children":167686},{"style":684},[167687],{"type":431,"value":1737},{"type":426,"tag":553,"props":167689,"children":167690},{"class":555,"line":1414},[167691,167695,167699,167703,167707,167711,167715,167720],{"type":426,"tag":553,"props":167692,"children":167693},{"style":1684},[167694],{"type":431,"value":1746},{"type":426,"tag":553,"props":167696,"children":167697},{"style":795},[167698],{"type":431,"value":957},{"type":426,"tag":553,"props":167700,"children":167701},{"style":684},[167702],{"type":431,"value":972},{"type":426,"tag":553,"props":167704,"children":167705},{"style":572},[167706],{"type":431,"value":45266},{"type":426,"tag":553,"props":167708,"children":167709},{"style":684},[167710],{"type":431,"value":8931},{"type":426,"tag":553,"props":167712,"children":167713},{"style":572},[167714],{"type":431,"value":45275},{"type":426,"tag":553,"props":167716,"children":167717},{"style":684},[167718],{"type":431,"value":167719},": message}  ",{"type":426,"tag":553,"props":167721,"children":167722},{"style":1975},[167723],{"type":431,"value":167724},"# No @s.whatsapp.net suffix\n",{"type":426,"tag":553,"props":167726,"children":167727},{"class":555,"line":1479},[167728],{"type":426,"tag":553,"props":167729,"children":167730},{"style":684},[167731],{"type":431,"value":1642},{"type":426,"tag":553,"props":167733,"children":167734},{"class":555,"line":1517},[167735,167739],{"type":426,"tag":553,"props":167736,"children":167737},{"style":795},[167738],{"type":431,"value":1659},{"type":426,"tag":553,"props":167740,"children":167741},{"style":684},[167742],{"type":431,"value":9193},{"type":426,"tag":427,"props":167744,"children":167745},{},[167746],{"type":426,"tag":446,"props":167747,"children":167748},{},[167749],{"type":431,"value":167750},"Webhook migration:",{"type":426,"tag":427,"props":167752,"children":167753},{},[167754,167756,167762,167764,167769],{"type":431,"value":167755},"Evolution API sends webhooks with a ",{"type":426,"tag":549,"props":167757,"children":167759},{"className":167758},[],[167760],{"type":431,"value":167761},"MESSAGES_UPSERT",{"type":431,"value":167763}," event structure. Rapiwa uses ",{"type":426,"tag":549,"props":167765,"children":167767},{"className":167766},[],[167768],{"type":431,"value":7956},{"type":431,"value":167770},". Update your webhook handler:",{"type":426,"tag":542,"props":167772,"children":167774},{"className":785,"code":167773,"language":784,"meta":417,"style":417},"# Old Evolution API webhook handler\n@app.route(\"\u002Fwebhook\u002Fevolution\", methods=[\"POST\"])\ndef evolution_webhook():\n    data = request.json\n    if data.get(\"event\") == \"MESSAGES_UPSERT\":\n        for message in data.get(\"data\", {}).get(\"messages\", []):\n            sender = message[\"key\"][\"remoteJid\"].replace(\"@s.whatsapp.net\", \"\")\n            text = message.get(\"message\", {}).get(\"conversation\", \"\")\n            handle_message(sender, text)\n    return \"ok\", 200\n\n# New Rapiwa webhook handler\n@app.route(\"\u002Fwebhook\u002Frapiwa\", methods=[\"POST\"])\ndef rapiwa_webhook():\n    data = request.json\n    if data.get(\"event\") == \"message.received\":\n        sender = data[\"from\"]\n        text = data.get(\"message\", \"\")\n        handle_message(sender, text)\n    return \"ok\", 200\n",[167775],{"type":426,"tag":549,"props":167776,"children":167777},{"__ignoreMap":417},[167778,167786,167826,167842,167857,167889,167927,167979,168021,168029,168048,168055,168063,168103,168119,168134,168165,168189,168220,168228],{"type":426,"tag":553,"props":167779,"children":167780},{"class":555,"line":556},[167781],{"type":426,"tag":553,"props":167782,"children":167783},{"style":1975},[167784],{"type":431,"value":167785},"# Old Evolution API webhook handler\n",{"type":426,"tag":553,"props":167787,"children":167788},{"class":555,"line":588},[167789,167793,167797,167802,167806,167810,167814,167818,167822],{"type":426,"tag":553,"props":167790,"children":167791},{"style":560},[167792],{"type":431,"value":8024},{"type":426,"tag":553,"props":167794,"children":167795},{"style":684},[167796],{"type":431,"value":3275},{"type":426,"tag":553,"props":167798,"children":167799},{"style":572},[167800],{"type":431,"value":167801},"\"\u002Fwebhook\u002Fevolution\"",{"type":426,"tag":553,"props":167803,"children":167804},{"style":684},[167805],{"type":431,"value":1907},{"type":426,"tag":553,"props":167807,"children":167808},{"style":1684},[167809],{"type":431,"value":8042},{"type":426,"tag":553,"props":167811,"children":167812},{"style":795},[167813],{"type":431,"value":957},{"type":426,"tag":553,"props":167815,"children":167816},{"style":684},[167817],{"type":431,"value":8051},{"type":426,"tag":553,"props":167819,"children":167820},{"style":572},[167821],{"type":431,"value":60428},{"type":426,"tag":553,"props":167823,"children":167824},{"style":684},[167825],{"type":431,"value":8061},{"type":426,"tag":553,"props":167827,"children":167828},{"class":555,"line":606},[167829,167833,167838],{"type":426,"tag":553,"props":167830,"children":167831},{"style":795},[167832],{"type":431,"value":842},{"type":426,"tag":553,"props":167834,"children":167835},{"style":560},[167836],{"type":431,"value":167837}," evolution_webhook",{"type":426,"tag":553,"props":167839,"children":167840},{"style":684},[167841],{"type":431,"value":6433},{"type":426,"tag":553,"props":167843,"children":167844},{"class":555,"line":623},[167845,167849,167853],{"type":426,"tag":553,"props":167846,"children":167847},{"style":684},[167848],{"type":431,"value":13733},{"type":426,"tag":553,"props":167850,"children":167851},{"style":795},[167852],{"type":431,"value":957},{"type":426,"tag":553,"props":167854,"children":167855},{"style":684},[167856],{"type":431,"value":98209},{"type":426,"tag":553,"props":167858,"children":167859},{"class":555,"line":637},[167860,167864,167868,167872,167876,167880,167885],{"type":426,"tag":553,"props":167861,"children":167862},{"style":795},[167863],{"type":431,"value":925},{"type":426,"tag":553,"props":167865,"children":167866},{"style":684},[167867],{"type":431,"value":8311},{"type":426,"tag":553,"props":167869,"children":167870},{"style":572},[167871],{"type":431,"value":76366},{"type":426,"tag":553,"props":167873,"children":167874},{"style":684},[167875],{"type":431,"value":2987},{"type":426,"tag":553,"props":167877,"children":167878},{"style":795},[167879],{"type":431,"value":1069},{"type":426,"tag":553,"props":167881,"children":167882},{"style":572},[167883],{"type":431,"value":167884}," \"MESSAGES_UPSERT\"",{"type":426,"tag":553,"props":167886,"children":167887},{"style":684},[167888],{"type":431,"value":909},{"type":426,"tag":553,"props":167890,"children":167891},{"class":555,"line":646},[167892,167896,167901,167905,167909,167913,167917,167922],{"type":426,"tag":553,"props":167893,"children":167894},{"style":795},[167895],{"type":431,"value":2188},{"type":426,"tag":553,"props":167897,"children":167898},{"style":684},[167899],{"type":431,"value":167900}," message ",{"type":426,"tag":553,"props":167902,"children":167903},{"style":795},[167904],{"type":431,"value":2005},{"type":426,"tag":553,"props":167906,"children":167907},{"style":684},[167908],{"type":431,"value":8311},{"type":426,"tag":553,"props":167910,"children":167911},{"style":572},[167912],{"type":431,"value":76437},{"type":426,"tag":553,"props":167914,"children":167915},{"style":684},[167916],{"type":431,"value":23866},{"type":426,"tag":553,"props":167918,"children":167919},{"style":572},[167920],{"type":431,"value":167921},"\"messages\"",{"type":426,"tag":553,"props":167923,"children":167924},{"style":684},[167925],{"type":431,"value":167926},", []):\n",{"type":426,"tag":553,"props":167928,"children":167929},{"class":555,"line":655},[167930,167935,167939,167944,167949,167953,167958,167962,167967,167971,167975],{"type":426,"tag":553,"props":167931,"children":167932},{"style":684},[167933],{"type":431,"value":167934},"            sender ",{"type":426,"tag":553,"props":167936,"children":167937},{"style":795},[167938],{"type":431,"value":957},{"type":426,"tag":553,"props":167940,"children":167941},{"style":684},[167942],{"type":431,"value":167943}," message[",{"type":426,"tag":553,"props":167945,"children":167946},{"style":572},[167947],{"type":431,"value":167948},"\"key\"",{"type":426,"tag":553,"props":167950,"children":167951},{"style":684},[167952],{"type":431,"value":23587},{"type":426,"tag":553,"props":167954,"children":167955},{"style":572},[167956],{"type":431,"value":167957},"\"remoteJid\"",{"type":426,"tag":553,"props":167959,"children":167960},{"style":684},[167961],{"type":431,"value":5773},{"type":426,"tag":553,"props":167963,"children":167964},{"style":572},[167965],{"type":431,"value":167966},"\"@s.whatsapp.net\"",{"type":426,"tag":553,"props":167968,"children":167969},{"style":684},[167970],{"type":431,"value":1907},{"type":426,"tag":553,"props":167972,"children":167973},{"style":572},[167974],{"type":431,"value":128818},{"type":426,"tag":553,"props":167976,"children":167977},{"style":684},[167978],{"type":431,"value":3262},{"type":426,"tag":553,"props":167980,"children":167981},{"class":555,"line":1036},[167982,167987,167991,167996,168000,168004,168009,168013,168017],{"type":426,"tag":553,"props":167983,"children":167984},{"style":684},[167985],{"type":431,"value":167986},"            text ",{"type":426,"tag":553,"props":167988,"children":167989},{"style":795},[167990],{"type":431,"value":957},{"type":426,"tag":553,"props":167992,"children":167993},{"style":684},[167994],{"type":431,"value":167995}," message.get(",{"type":426,"tag":553,"props":167997,"children":167998},{"style":572},[167999],{"type":431,"value":45275},{"type":426,"tag":553,"props":168001,"children":168002},{"style":684},[168003],{"type":431,"value":23866},{"type":426,"tag":553,"props":168005,"children":168006},{"style":572},[168007],{"type":431,"value":168008},"\"conversation\"",{"type":426,"tag":553,"props":168010,"children":168011},{"style":684},[168012],{"type":431,"value":1907},{"type":426,"tag":553,"props":168014,"children":168015},{"style":572},[168016],{"type":431,"value":128818},{"type":426,"tag":553,"props":168018,"children":168019},{"style":684},[168020],{"type":431,"value":3262},{"type":426,"tag":553,"props":168022,"children":168023},{"class":555,"line":1054},[168024],{"type":426,"tag":553,"props":168025,"children":168026},{"style":684},[168027],{"type":431,"value":168028},"            handle_message(sender, text)\n",{"type":426,"tag":553,"props":168030,"children":168031},{"class":555,"line":1080},[168032,168036,168040,168044],{"type":426,"tag":553,"props":168033,"children":168034},{"style":795},[168035],{"type":431,"value":1659},{"type":426,"tag":553,"props":168037,"children":168038},{"style":572},[168039],{"type":431,"value":76019},{"type":426,"tag":553,"props":168041,"children":168042},{"style":684},[168043],{"type":431,"value":1907},{"type":426,"tag":553,"props":168045,"children":168046},{"style":566},[168047],{"type":431,"value":8234},{"type":426,"tag":553,"props":168049,"children":168050},{"class":555,"line":1097},[168051],{"type":426,"tag":553,"props":168052,"children":168053},{"emptyLinePlaceholder":831},[168054],{"type":431,"value":834},{"type":426,"tag":553,"props":168056,"children":168057},{"class":555,"line":1114},[168058],{"type":426,"tag":553,"props":168059,"children":168060},{"style":1975},[168061],{"type":431,"value":168062},"# New Rapiwa webhook handler\n",{"type":426,"tag":553,"props":168064,"children":168065},{"class":555,"line":1127},[168066,168070,168074,168079,168083,168087,168091,168095,168099],{"type":426,"tag":553,"props":168067,"children":168068},{"style":560},[168069],{"type":431,"value":8024},{"type":426,"tag":553,"props":168071,"children":168072},{"style":684},[168073],{"type":431,"value":3275},{"type":426,"tag":553,"props":168075,"children":168076},{"style":572},[168077],{"type":431,"value":168078},"\"\u002Fwebhook\u002Frapiwa\"",{"type":426,"tag":553,"props":168080,"children":168081},{"style":684},[168082],{"type":431,"value":1907},{"type":426,"tag":553,"props":168084,"children":168085},{"style":1684},[168086],{"type":431,"value":8042},{"type":426,"tag":553,"props":168088,"children":168089},{"style":795},[168090],{"type":431,"value":957},{"type":426,"tag":553,"props":168092,"children":168093},{"style":684},[168094],{"type":431,"value":8051},{"type":426,"tag":553,"props":168096,"children":168097},{"style":572},[168098],{"type":431,"value":60428},{"type":426,"tag":553,"props":168100,"children":168101},{"style":684},[168102],{"type":431,"value":8061},{"type":426,"tag":553,"props":168104,"children":168105},{"class":555,"line":1167},[168106,168110,168115],{"type":426,"tag":553,"props":168107,"children":168108},{"style":795},[168109],{"type":431,"value":842},{"type":426,"tag":553,"props":168111,"children":168112},{"style":560},[168113],{"type":431,"value":168114}," rapiwa_webhook",{"type":426,"tag":553,"props":168116,"children":168117},{"style":684},[168118],{"type":431,"value":6433},{"type":426,"tag":553,"props":168120,"children":168121},{"class":555,"line":1184},[168122,168126,168130],{"type":426,"tag":553,"props":168123,"children":168124},{"style":684},[168125],{"type":431,"value":13733},{"type":426,"tag":553,"props":168127,"children":168128},{"style":795},[168129],{"type":431,"value":957},{"type":426,"tag":553,"props":168131,"children":168132},{"style":684},[168133],{"type":431,"value":98209},{"type":426,"tag":553,"props":168135,"children":168136},{"class":555,"line":1192},[168137,168141,168145,168149,168153,168157,168161],{"type":426,"tag":553,"props":168138,"children":168139},{"style":795},[168140],{"type":431,"value":925},{"type":426,"tag":553,"props":168142,"children":168143},{"style":684},[168144],{"type":431,"value":8311},{"type":426,"tag":553,"props":168146,"children":168147},{"style":572},[168148],{"type":431,"value":76366},{"type":426,"tag":553,"props":168150,"children":168151},{"style":684},[168152],{"type":431,"value":2987},{"type":426,"tag":553,"props":168154,"children":168155},{"style":795},[168156],{"type":431,"value":1069},{"type":426,"tag":553,"props":168158,"children":168159},{"style":572},[168160],{"type":431,"value":75756},{"type":426,"tag":553,"props":168162,"children":168163},{"style":684},[168164],{"type":431,"value":909},{"type":426,"tag":553,"props":168166,"children":168167},{"class":555,"line":1210},[168168,168173,168177,168181,168185],{"type":426,"tag":553,"props":168169,"children":168170},{"style":684},[168171],{"type":431,"value":168172},"        sender ",{"type":426,"tag":553,"props":168174,"children":168175},{"style":795},[168176],{"type":431,"value":957},{"type":426,"tag":553,"props":168178,"children":168179},{"style":684},[168180],{"type":431,"value":20293},{"type":426,"tag":553,"props":168182,"children":168183},{"style":572},[168184],{"type":431,"value":76544},{"type":426,"tag":553,"props":168186,"children":168187},{"style":684},[168188],{"type":431,"value":16523},{"type":426,"tag":553,"props":168190,"children":168191},{"class":555,"line":1253},[168192,168196,168200,168204,168208,168212,168216],{"type":426,"tag":553,"props":168193,"children":168194},{"style":684},[168195],{"type":431,"value":82537},{"type":426,"tag":553,"props":168197,"children":168198},{"style":795},[168199],{"type":431,"value":957},{"type":426,"tag":553,"props":168201,"children":168202},{"style":684},[168203],{"type":431,"value":8311},{"type":426,"tag":553,"props":168205,"children":168206},{"style":572},[168207],{"type":431,"value":45275},{"type":426,"tag":553,"props":168209,"children":168210},{"style":684},[168211],{"type":431,"value":1907},{"type":426,"tag":553,"props":168213,"children":168214},{"style":572},[168215],{"type":431,"value":128818},{"type":426,"tag":553,"props":168217,"children":168218},{"style":684},[168219],{"type":431,"value":3262},{"type":426,"tag":553,"props":168221,"children":168222},{"class":555,"line":1302},[168223],{"type":426,"tag":553,"props":168224,"children":168225},{"style":684},[168226],{"type":431,"value":168227},"        handle_message(sender, text)\n",{"type":426,"tag":553,"props":168229,"children":168230},{"class":555,"line":1374},[168231,168235,168239,168243],{"type":426,"tag":553,"props":168232,"children":168233},{"style":795},[168234],{"type":431,"value":1659},{"type":426,"tag":553,"props":168236,"children":168237},{"style":572},[168238],{"type":431,"value":76019},{"type":426,"tag":553,"props":168240,"children":168241},{"style":684},[168242],{"type":431,"value":1907},{"type":426,"tag":553,"props":168244,"children":168245},{"style":566},[168246],{"type":431,"value":8234},{"type":426,"tag":434,"props":168248,"children":168250},{"id":168249},"when-to-stay-on-evolution-api",[168251],{"type":431,"value":168252},"When to Stay on Evolution API",{"type":426,"tag":427,"props":168254,"children":168255},{},[168256],{"type":431,"value":168257},"Evolution API remains the better choice when:",{"type":426,"tag":454,"props":168259,"children":168260},{},[168261,168271,168281,168291],{"type":426,"tag":458,"props":168262,"children":168263},{},[168264,168269],{"type":426,"tag":446,"props":168265,"children":168266},{},[168267],{"type":431,"value":168268},"Total infrastructure control",{"type":431,"value":168270}," is required (regulated industries)",{"type":426,"tag":458,"props":168272,"children":168273},{},[168274,168279],{"type":426,"tag":446,"props":168275,"children":168276},{},[168277],{"type":431,"value":168278},"Cost scales better",{"type":431,"value":168280}," with many numbers (one VPS, unlimited sessions)",{"type":426,"tag":458,"props":168282,"children":168283},{},[168284,168289],{"type":426,"tag":446,"props":168285,"children":168286},{},[168287],{"type":431,"value":168288},"Technical team",{"type":431,"value":168290}," exists that can maintain the infrastructure",{"type":426,"tag":458,"props":168292,"children":168293},{},[168294,168299],{"type":426,"tag":446,"props":168295,"children":168296},{},[168297],{"type":431,"value":168298},"Custom protocol changes",{"type":431,"value":168300}," are needed at the library level",{"type":426,"tag":427,"props":168302,"children":168303},{},[168304],{"type":431,"value":168305},"For single-number or small multi-number setups without dedicated DevOps, Rapiwa's $5\u002Fmonth is almost certainly the better choice when the total cost of Evolution API is honestly calculated.",{"type":426,"tag":434,"props":168307,"children":168308},{"id":4109},[168309],{"type":431,"value":4112},{"type":426,"tag":427,"props":168311,"children":168312},{},[168313,168318],{"type":426,"tag":446,"props":168314,"children":168315},{},[168316],{"type":431,"value":168317},"Is there a managed Evolution API service?",{"type":431,"value":168319},"\nNo official managed Evolution API service exists. You either self-host or use an alternative managed API. Rapiwa is the recommended managed alternative at $5\u002Fmonth.",{"type":426,"tag":427,"props":168321,"children":168322},{},[168323,168328],{"type":426,"tag":446,"props":168324,"children":168325},{},[168326],{"type":431,"value":168327},"What is the best Evolution API alternative for WooCommerce?",{"type":431,"value":168329},"\nRapiwa — it has a dedicated WooCommerce plugin and 5 WooCommerce-specific n8n templates that Evolution API doesn't offer.",{"type":426,"tag":427,"props":168331,"children":168332},{},[168333,168338],{"type":426,"tag":446,"props":168334,"children":168335},{},[168336],{"type":431,"value":168337},"Can I run multiple WhatsApp numbers on Rapiwa like Evolution API?",{"type":431,"value":168339},"\nYes. Rapiwa's Professional and Enterprise plans support multiple connected numbers. Contact Rapiwa for multi-number pricing.",{"type":426,"tag":427,"props":168341,"children":168342},{},[168343,168348],{"type":426,"tag":446,"props":168344,"children":168345},{},[168346],{"type":431,"value":168347},"How stable is Rapiwa compared to Evolution API?",{"type":431,"value":168349},"\nRapiwa maintains session stability on its own infrastructure — sessions don't require manual intervention when WhatsApp updates. Evolution API sessions frequently break after WhatsApp protocol updates, requiring manual reconnection.",{"type":426,"tag":427,"props":168351,"children":168352},{},[168353,168358],{"type":426,"tag":446,"props":168354,"children":168355},{},[168356],{"type":431,"value":168357},"What is the migration effort from Evolution API to Rapiwa?",{"type":431,"value":168359},"\nBasic messaging migration: 30–60 minutes. Update endpoints, authentication headers, and two field names. Webhook migration requires updating your event handlers to Rapiwa's event format.",{"type":426,"tag":4164,"props":168361,"children":168362},{},[168363],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":168365},[168366,168367,168372,168373,168374,168375,168376],{"id":166682,"depth":588,"text":166685},{"id":166837,"depth":588,"text":166840,"children":168368},[168369,168370,168371],{"id":166843,"depth":606,"text":166846},{"id":166887,"depth":606,"text":166890},{"id":166898,"depth":606,"text":166901},{"id":166947,"depth":588,"text":166950},{"id":167120,"depth":588,"text":167123},{"id":167363,"depth":588,"text":167366},{"id":168249,"depth":588,"text":168252},{"id":4109,"depth":588,"text":4112},"content:blog:best-evolution-api-alternative-managed-vs-self-hosted.md","blog\u002Fbest-evolution-api-alternative-managed-vs-self-hosted.md","blog\u002Fbest-evolution-api-alternative-managed-vs-self-hosted",{"loc":298},{"_path":302,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":303,"description":304,"date":168382,"author":18999,"category":212,"_slug":168383,"image":168384,"body":168385,"_type":4187,"_id":169570,"_source":4189,"_file":169571,"_stem":169572,"_extension":4192,"sitemap":169573},"2025-12-29","best-waha-alternative-whatsapp-api-developers-2026","\u002Fimages\u002Fblog\u002Fbest-waha-alternative-whatsapp-api-developers-2026.svg",{"type":423,"children":168386,"toc":169557},[168387,168399,168405,168616,168622,168627,168635,168688,168694,168700,168705,168711,168716,168744,168749,168755,168760,168788,168794,168806,168812,168817,168825,168929,168937,169030,169035,169111,169118,169417,169423,169428,169470,169475,169479,169489,169499,169509,169543,169553],{"type":426,"tag":427,"props":168388,"children":168389},{},[168390,168392,168397],{"type":431,"value":168391},"The best WAHA alternative in 2026 is ",{"type":426,"tag":3819,"props":168393,"children":168395},{"href":3821,"rel":168394},[3823],[168396],{"type":431,"value":127310},{"type":431,"value":168398}," — at $5\u002Fmonth it is 73% cheaper than WAHA's hosted plan ($19\u002Fmonth) and far cheaper than self-hosting WAHA (which costs $40+ when VPS and maintenance are included). Rapiwa offers the same WhatsApp API capabilities fully managed, with a WooCommerce plugin and 10 n8n templates that WAHA doesn't have.",{"type":426,"tag":434,"props":168400,"children":168402},{"id":168401},"waha-vs-rapiwa-quick-comparison",[168403],{"type":431,"value":168404},"WAHA vs Rapiwa: Quick Comparison",{"type":426,"tag":10600,"props":168406,"children":168407},{},[168408,168432],{"type":426,"tag":10604,"props":168409,"children":168410},{},[168411],{"type":426,"tag":10608,"props":168412,"children":168413},{},[168414,168418,168423,168428],{"type":426,"tag":10612,"props":168415,"children":168416},{},[168417],{"type":431,"value":16096},{"type":426,"tag":10612,"props":168419,"children":168420},{},[168421],{"type":431,"value":168422},"WAHA (Self-Hosted)",{"type":426,"tag":10612,"props":168424,"children":168425},{},[168426],{"type":431,"value":168427},"WAHA (Hosted)",{"type":426,"tag":10612,"props":168429,"children":168430},{},[168431],{"type":431,"value":127310},{"type":426,"tag":10623,"props":168433,"children":168434},{},[168435,168458,168480,168505,168527,168549,168571,168594],{"type":426,"tag":10608,"props":168436,"children":168437},{},[168438,168442,168447,168451],{"type":426,"tag":10630,"props":168439,"children":168440},{},[168441],{"type":431,"value":157862},{"type":426,"tag":10630,"props":168443,"children":168444},{},[168445],{"type":431,"value":168446},"$0 software ($40+ real)",{"type":426,"tag":10630,"props":168448,"children":168449},{},[168450],{"type":431,"value":149858},{"type":426,"tag":10630,"props":168452,"children":168453},{},[168454],{"type":426,"tag":446,"props":168455,"children":168456},{},[168457],{"type":431,"value":148332},{"type":426,"tag":10608,"props":168459,"children":168460},{},[168461,168465,168469,168473],{"type":426,"tag":10630,"props":168462,"children":168463},{},[168464],{"type":431,"value":150917},{"type":426,"tag":10630,"props":168466,"children":168467},{},[168468],{"type":431,"value":157890},{"type":426,"tag":10630,"props":168470,"children":168471},{},[168472],{"type":431,"value":47049},{"type":426,"tag":10630,"props":168474,"children":168475},{},[168476],{"type":426,"tag":446,"props":168477,"children":168478},{},[168479],{"type":431,"value":46995},{"type":426,"tag":10608,"props":168481,"children":168482},{},[168483,168487,168492,168497],{"type":426,"tag":10630,"props":168484,"children":168485},{},[168486],{"type":431,"value":157909},{"type":426,"tag":10630,"props":168488,"children":168489},{},[168490],{"type":431,"value":168491},"You manage it",{"type":426,"tag":10630,"props":168493,"children":168494},{},[168495],{"type":431,"value":168496},"WAHA manages",{"type":426,"tag":10630,"props":168498,"children":168499},{},[168500],{"type":426,"tag":446,"props":168501,"children":168502},{},[168503],{"type":431,"value":168504},"Rapiwa manages",{"type":426,"tag":10608,"props":168506,"children":168507},{},[168508,168513,168518,168522],{"type":426,"tag":10630,"props":168509,"children":168510},{},[168511],{"type":431,"value":168512},"WhatsApp numbers",{"type":426,"tag":10630,"props":168514,"children":168515},{},[168516],{"type":431,"value":168517},"Unlimited (your VPS)",{"type":426,"tag":10630,"props":168519,"children":168520},{},[168521],{"type":431,"value":1921},{"type":426,"tag":10630,"props":168523,"children":168524},{},[168525],{"type":431,"value":168526},"1 (Starter)",{"type":426,"tag":10608,"props":168528,"children":168529},{},[168530,168534,168538,168542],{"type":426,"tag":10630,"props":168531,"children":168532},{},[168533],{"type":431,"value":148534},{"type":426,"tag":10630,"props":168535,"children":168536},{},[168537],{"type":431,"value":78130},{"type":426,"tag":10630,"props":168539,"children":168540},{},[168541],{"type":431,"value":78130},{"type":426,"tag":10630,"props":168543,"children":168544},{},[168545],{"type":426,"tag":446,"props":168546,"children":168547},{},[168548],{"type":431,"value":103087},{"type":426,"tag":10608,"props":168550,"children":168551},{},[168552,168556,168560,168564],{"type":426,"tag":10630,"props":168553,"children":168554},{},[168555],{"type":431,"value":16164},{"type":426,"tag":10630,"props":168557,"children":168558},{},[168559],{"type":431,"value":78130},{"type":426,"tag":10630,"props":168561,"children":168562},{},[168563],{"type":431,"value":78130},{"type":426,"tag":10630,"props":168565,"children":168566},{},[168567],{"type":426,"tag":446,"props":168568,"children":168569},{},[168570],{"type":431,"value":150909},{"type":426,"tag":10608,"props":168572,"children":168573},{},[168574,168578,168583,168587],{"type":426,"tag":10630,"props":168575,"children":168576},{},[168577],{"type":431,"value":10787},{"type":426,"tag":10630,"props":168579,"children":168580},{},[168581],{"type":431,"value":168582},"Community only",{"type":426,"tag":10630,"props":168584,"children":168585},{},[168586],{"type":431,"value":78140},{"type":426,"tag":10630,"props":168588,"children":168589},{},[168590],{"type":426,"tag":446,"props":168591,"children":168592},{},[168593],{"type":431,"value":148394},{"type":426,"tag":10608,"props":168595,"children":168596},{},[168597,168601,168605,168609],{"type":426,"tag":10630,"props":168598,"children":168599},{},[168600],{"type":431,"value":10800},{"type":426,"tag":10630,"props":168602,"children":168603},{},[168604],{"type":431,"value":157981},{"type":426,"tag":10630,"props":168606,"children":168607},{},[168608],{"type":431,"value":157981},{"type":426,"tag":10630,"props":168610,"children":168611},{},[168612],{"type":426,"tag":446,"props":168613,"children":168614},{},[168615],{"type":431,"value":10805},{"type":426,"tag":434,"props":168617,"children":168619},{"id":168618},"what-is-waha",[168620],{"type":431,"value":168621},"What Is WAHA?",{"type":426,"tag":427,"props":168623,"children":168624},{},[168625],{"type":431,"value":168626},"WAHA (WhatsApp HTTP API) is an open-source, self-hosted WhatsApp API built on top of Baileys and whatsapp-web.js. It is popular with developers who want full control over their WhatsApp messaging infrastructure.",{"type":426,"tag":427,"props":168628,"children":168629},{},[168630],{"type":426,"tag":446,"props":168631,"children":168632},{},[168633],{"type":431,"value":168634},"WAHA is available in two modes:",{"type":426,"tag":6331,"props":168636,"children":168637},{},[168638,168666],{"type":426,"tag":458,"props":168639,"children":168640},{},[168641,168646,168648],{"type":426,"tag":446,"props":168642,"children":168643},{},[168644],{"type":431,"value":168645},"Self-hosted",{"type":431,"value":168647}," (free software, you provide the server)",{"type":426,"tag":454,"props":168649,"children":168650},{},[168651,168656,168661],{"type":426,"tag":458,"props":168652,"children":168653},{},[168654],{"type":431,"value":168655},"Requires Docker, minimum 2GB RAM VPS",{"type":426,"tag":458,"props":168657,"children":168658},{},[168659],{"type":431,"value":168660},"You manage updates, crashes, and session recovery",{"type":426,"tag":458,"props":168662,"children":168663},{},[168664],{"type":431,"value":168665},"True cost: $40–90\u002Fmonth (VPS + developer time)",{"type":426,"tag":458,"props":168667,"children":168668},{},[168669,168673,168675],{"type":426,"tag":446,"props":168670,"children":168671},{},[168672],{"type":431,"value":147196},{"type":431,"value":168674}," (hosted, $19\u002Fmonth)",{"type":426,"tag":454,"props":168676,"children":168677},{},[168678,168683],{"type":426,"tag":458,"props":168679,"children":168680},{},[168681],{"type":431,"value":168682},"Managed hosting, no server setup",{"type":426,"tag":458,"props":168684,"children":168685},{},[168686],{"type":431,"value":168687},"Still 3.8x more expensive than Rapiwa",{"type":426,"tag":434,"props":168689,"children":168691},{"id":168690},"why-developers-switch-from-waha-to-rapiwa",[168692],{"type":431,"value":168693},"Why Developers Switch from WAHA to Rapiwa",{"type":426,"tag":515,"props":168695,"children":168697},{"id":168696},"_1-dramatically-lower-cost",[168698],{"type":431,"value":168699},"1. Dramatically Lower Cost",{"type":426,"tag":427,"props":168701,"children":168702},{},[168703],{"type":431,"value":168704},"WAHA Hosted: $19\u002Fmonth. Rapiwa: $5\u002Fmonth. Same managed WhatsApp API capabilities. The $14\u002Fmonth difference is $168\u002Fyear — enough for additional tools and services.",{"type":426,"tag":515,"props":168706,"children":168708},{"id":168707},"_2-zero-server-management",[168709],{"type":431,"value":168710},"2. Zero Server Management",{"type":426,"tag":427,"props":168712,"children":168713},{},[168714],{"type":431,"value":168715},"Self-hosted WAHA requires:",{"type":426,"tag":454,"props":168717,"children":168718},{},[168719,168724,168729,168734,168739],{"type":426,"tag":458,"props":168720,"children":168721},{},[168722],{"type":431,"value":168723},"Docker installation and configuration",{"type":426,"tag":458,"props":168725,"children":168726},{},[168727],{"type":431,"value":168728},"PM2 or systemd process management",{"type":426,"tag":458,"props":168730,"children":168731},{},[168732],{"type":431,"value":168733},"Regular updates (WAHA releases new versions frequently as WhatsApp changes)",{"type":426,"tag":458,"props":168735,"children":168736},{},[168737],{"type":431,"value":168738},"Manual session recovery after crashes",{"type":426,"tag":458,"props":168740,"children":168741},{},[168742],{"type":431,"value":168743},"VPS monitoring and maintenance",{"type":426,"tag":427,"props":168745,"children":168746},{},[168747],{"type":431,"value":168748},"Rapiwa requires nothing — create an account, scan QR code, done.",{"type":426,"tag":515,"props":168750,"children":168752},{"id":168751},"_3-ready-made-integrations",[168753],{"type":431,"value":168754},"3. Ready-Made Integrations",{"type":426,"tag":427,"props":168756,"children":168757},{},[168758],{"type":431,"value":168759},"WAHA has no official WooCommerce plugin and no pre-built n8n templates. Rapiwa has:",{"type":426,"tag":454,"props":168761,"children":168762},{},[168763,168779],{"type":426,"tag":458,"props":168764,"children":168765},{},[168766,168770,168771,168777],{"type":426,"tag":446,"props":168767,"children":168768},{},[168769],{"type":431,"value":148534},{"type":431,"value":700},{"type":426,"tag":3819,"props":168772,"children":168774},{"href":131923,"rel":168773},[3823],[168775],{"type":431,"value":168776},"GitHub download",{"type":431,"value":168778}," — zero code, plug-and-play",{"type":426,"tag":458,"props":168780,"children":168781},{},[168782,168786],{"type":426,"tag":446,"props":168783,"children":168784},{},[168785],{"type":431,"value":163724},{"type":431,"value":168787},": 3,000+ combined installs covering WooCommerce, Shopify, and AI chatbots",{"type":426,"tag":515,"props":168789,"children":168791},{"id":168790},"_4-verified-quality-rating",[168792],{"type":431,"value":168793},"4. Verified Quality Rating",{"type":426,"tag":427,"props":168795,"children":168796},{},[168797,168799,168804],{"type":431,"value":168798},"Rapiwa holds a ",{"type":426,"tag":446,"props":168800,"children":168801},{},[168802],{"type":431,"value":168803},"5.0\u002F5 rating on Sourceforge",{"type":431,"value":168805}," with verified user reviews. WAHA has no Sourceforge listing.",{"type":426,"tag":434,"props":168807,"children":168809},{"id":168808},"migration-from-waha-to-rapiwa",[168810],{"type":431,"value":168811},"Migration: From WAHA to Rapiwa",{"type":426,"tag":427,"props":168813,"children":168814},{},[168815],{"type":431,"value":168816},"WAHA and Rapiwa have different API structures. Here is how to migrate:",{"type":426,"tag":427,"props":168818,"children":168819},{},[168820],{"type":426,"tag":446,"props":168821,"children":168822},{},[168823],{"type":431,"value":168824},"WAHA (send message):",{"type":426,"tag":542,"props":168826,"children":168828},{"className":546,"code":168827,"language":545,"meta":417,"style":417},"curl -X POST http:\u002F\u002Flocalhost:3000\u002Fapi\u002FsendText \\\n  -H \"X-Api-Key: YOUR_WAHA_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"chatId\": \"8801234567890@c.us\",\n    \"text\": \"Hello from WAHA!\",\n    \"session\": \"default\"\n  }'\n",[168829],{"type":426,"tag":549,"props":168830,"children":168831},{"__ignoreMap":417},[168832,168856,168872,168887,168898,168906,168914,168922],{"type":426,"tag":553,"props":168833,"children":168834},{"class":555,"line":556},[168835,168839,168843,168847,168852],{"type":426,"tag":553,"props":168836,"children":168837},{"style":560},[168838],{"type":431,"value":563},{"type":426,"tag":553,"props":168840,"children":168841},{"style":566},[168842],{"type":431,"value":569},{"type":426,"tag":553,"props":168844,"children":168845},{"style":572},[168846],{"type":431,"value":575},{"type":426,"tag":553,"props":168848,"children":168849},{"style":572},[168850],{"type":431,"value":168851}," http:\u002F\u002Flocalhost:3000\u002Fapi\u002FsendText",{"type":426,"tag":553,"props":168853,"children":168854},{"style":566},[168855],{"type":431,"value":585},{"type":426,"tag":553,"props":168857,"children":168858},{"class":555,"line":588},[168859,168863,168868],{"type":426,"tag":553,"props":168860,"children":168861},{"style":566},[168862],{"type":431,"value":594},{"type":426,"tag":553,"props":168864,"children":168865},{"style":572},[168866],{"type":431,"value":168867}," \"X-Api-Key: YOUR_WAHA_KEY\"",{"type":426,"tag":553,"props":168869,"children":168870},{"style":566},[168871],{"type":431,"value":585},{"type":426,"tag":553,"props":168873,"children":168874},{"class":555,"line":606},[168875,168879,168883],{"type":426,"tag":553,"props":168876,"children":168877},{"style":566},[168878],{"type":431,"value":594},{"type":426,"tag":553,"props":168880,"children":168881},{"style":572},[168882],{"type":431,"value":616},{"type":426,"tag":553,"props":168884,"children":168885},{"style":566},[168886],{"type":431,"value":585},{"type":426,"tag":553,"props":168888,"children":168889},{"class":555,"line":623},[168890,168894],{"type":426,"tag":553,"props":168891,"children":168892},{"style":566},[168893],{"type":431,"value":629},{"type":426,"tag":553,"props":168895,"children":168896},{"style":572},[168897],{"type":431,"value":634},{"type":426,"tag":553,"props":168899,"children":168900},{"class":555,"line":637},[168901],{"type":426,"tag":553,"props":168902,"children":168903},{"style":572},[168904],{"type":431,"value":168905},"    \"chatId\": \"8801234567890@c.us\",\n",{"type":426,"tag":553,"props":168907,"children":168908},{"class":555,"line":646},[168909],{"type":426,"tag":553,"props":168910,"children":168911},{"style":572},[168912],{"type":431,"value":168913},"    \"text\": \"Hello from WAHA!\",\n",{"type":426,"tag":553,"props":168915,"children":168916},{"class":555,"line":655},[168917],{"type":426,"tag":553,"props":168918,"children":168919},{"style":572},[168920],{"type":431,"value":168921},"    \"session\": \"default\"\n",{"type":426,"tag":553,"props":168923,"children":168924},{"class":555,"line":1036},[168925],{"type":426,"tag":553,"props":168926,"children":168927},{"style":572},[168928],{"type":431,"value":661},{"type":426,"tag":427,"props":168930,"children":168931},{},[168932],{"type":426,"tag":446,"props":168933,"children":168934},{},[168935],{"type":431,"value":168936},"Rapiwa (send message):",{"type":426,"tag":542,"props":168938,"children":168940},{"className":546,"code":168939,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_RAPIWA_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello from Rapiwa!\"\n  }'\n",[168941],{"type":426,"tag":549,"props":168942,"children":168943},{"__ignoreMap":417},[168944,168967,168982,168997,169008,169015,169023],{"type":426,"tag":553,"props":168945,"children":168946},{"class":555,"line":556},[168947,168951,168955,168959,168963],{"type":426,"tag":553,"props":168948,"children":168949},{"style":560},[168950],{"type":431,"value":563},{"type":426,"tag":553,"props":168952,"children":168953},{"style":566},[168954],{"type":431,"value":569},{"type":426,"tag":553,"props":168956,"children":168957},{"style":572},[168958],{"type":431,"value":575},{"type":426,"tag":553,"props":168960,"children":168961},{"style":572},[168962],{"type":431,"value":580},{"type":426,"tag":553,"props":168964,"children":168965},{"style":566},[168966],{"type":431,"value":585},{"type":426,"tag":553,"props":168968,"children":168969},{"class":555,"line":588},[168970,168974,168978],{"type":426,"tag":553,"props":168971,"children":168972},{"style":566},[168973],{"type":431,"value":594},{"type":426,"tag":553,"props":168975,"children":168976},{"style":572},[168977],{"type":431,"value":167087},{"type":426,"tag":553,"props":168979,"children":168980},{"style":566},[168981],{"type":431,"value":585},{"type":426,"tag":553,"props":168983,"children":168984},{"class":555,"line":606},[168985,168989,168993],{"type":426,"tag":553,"props":168986,"children":168987},{"style":566},[168988],{"type":431,"value":594},{"type":426,"tag":553,"props":168990,"children":168991},{"style":572},[168992],{"type":431,"value":616},{"type":426,"tag":553,"props":168994,"children":168995},{"style":566},[168996],{"type":431,"value":585},{"type":426,"tag":553,"props":168998,"children":168999},{"class":555,"line":623},[169000,169004],{"type":426,"tag":553,"props":169001,"children":169002},{"style":566},[169003],{"type":431,"value":629},{"type":426,"tag":553,"props":169005,"children":169006},{"style":572},[169007],{"type":431,"value":634},{"type":426,"tag":553,"props":169009,"children":169010},{"class":555,"line":637},[169011],{"type":426,"tag":553,"props":169012,"children":169013},{"style":572},[169014],{"type":431,"value":643},{"type":426,"tag":553,"props":169016,"children":169017},{"class":555,"line":646},[169018],{"type":426,"tag":553,"props":169019,"children":169020},{"style":572},[169021],{"type":431,"value":169022},"    \"message\": \"Hello from Rapiwa!\"\n",{"type":426,"tag":553,"props":169024,"children":169025},{"class":555,"line":655},[169026],{"type":426,"tag":553,"props":169027,"children":169028},{"style":572},[169029],{"type":431,"value":661},{"type":426,"tag":427,"props":169031,"children":169032},{},[169033],{"type":431,"value":169034},"Key changes:",{"type":426,"tag":454,"props":169036,"children":169037},{},[169038,169043,169060,169084,169098],{"type":426,"tag":458,"props":169039,"children":169040},{},[169041],{"type":431,"value":169042},"Cloud URL vs localhost (no server needed)",{"type":426,"tag":458,"props":169044,"children":169045},{},[169046,169052,169054],{"type":426,"tag":549,"props":169047,"children":169049},{"className":169048},[],[169050],{"type":431,"value":169051},"Authorization: Bearer",{"type":431,"value":169053}," instead of ",{"type":426,"tag":549,"props":169055,"children":169057},{"className":169056},[],[169058],{"type":431,"value":169059},"X-Api-Key",{"type":426,"tag":458,"props":169061,"children":169062},{},[169063,169068,169070,169075,169077,169082],{"type":426,"tag":549,"props":169064,"children":169066},{"className":169065},[],[169067],{"type":431,"value":39195},{"type":431,"value":169069}," field instead of ",{"type":426,"tag":549,"props":169071,"children":169073},{"className":169072},[],[169074],{"type":431,"value":163441},{"type":431,"value":169076}," (no ",{"type":426,"tag":549,"props":169078,"children":169080},{"className":169079},[],[169081],{"type":431,"value":163449},{"type":431,"value":169083}," suffix needed)",{"type":426,"tag":458,"props":169085,"children":169086},{},[169087,169092,169093],{"type":426,"tag":549,"props":169088,"children":169090},{"className":169089},[],[169091],{"type":431,"value":2734},{"type":431,"value":169053},{"type":426,"tag":549,"props":169094,"children":169096},{"className":169095},[],[169097],{"type":431,"value":431},{"type":426,"tag":458,"props":169099,"children":169100},{},[169101,169103,169109],{"type":431,"value":169102},"No ",{"type":426,"tag":549,"props":169104,"children":169106},{"className":169105},[],[169107],{"type":431,"value":169108},"session",{"type":431,"value":169110}," field needed",{"type":426,"tag":427,"props":169112,"children":169113},{},[169114],{"type":426,"tag":446,"props":169115,"children":169116},{},[169117],{"type":431,"value":167374},{"type":426,"tag":542,"props":169119,"children":169121},{"className":785,"code":169120,"language":784,"meta":417,"style":417},"# Old WAHA code\nimport requests\n\ndef send_waha(phone, message):\n    requests.post(\"http:\u002F\u002Flocalhost:3000\u002Fapi\u002FsendText\",\n        headers={\"X-Api-Key\": \"WAHA_KEY\"},\n        json={\n            \"chatId\": f\"{phone}@c.us\",\n            \"text\": message,\n            \"session\": \"default\"\n        })\n\n# New Rapiwa code\ndef send_rapiwa(phone, message):\n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer RAPIWA_KEY\"},\n        json={\"number\": phone, \"message\": message})\n",[169122],{"type":426,"tag":549,"props":169123,"children":169124},{"__ignoreMap":417},[169125,169133,169144,169151,169167,169183,169216,169231,169272,169285,169302,169309,169316,169324,169339,169354,169385],{"type":426,"tag":553,"props":169126,"children":169127},{"class":555,"line":556},[169128],{"type":426,"tag":553,"props":169129,"children":169130},{"style":1975},[169131],{"type":431,"value":169132},"# Old WAHA code\n",{"type":426,"tag":553,"props":169134,"children":169135},{"class":555,"line":588},[169136,169140],{"type":426,"tag":553,"props":169137,"children":169138},{"style":795},[169139],{"type":431,"value":798},{"type":426,"tag":553,"props":169141,"children":169142},{"style":684},[169143],{"type":431,"value":803},{"type":426,"tag":553,"props":169145,"children":169146},{"class":555,"line":606},[169147],{"type":426,"tag":553,"props":169148,"children":169149},{"emptyLinePlaceholder":831},[169150],{"type":431,"value":834},{"type":426,"tag":553,"props":169152,"children":169153},{"class":555,"line":623},[169154,169158,169163],{"type":426,"tag":553,"props":169155,"children":169156},{"style":795},[169157],{"type":431,"value":842},{"type":426,"tag":553,"props":169159,"children":169160},{"style":560},[169161],{"type":431,"value":169162}," send_waha",{"type":426,"tag":553,"props":169164,"children":169165},{"style":684},[169166],{"type":431,"value":129214},{"type":426,"tag":553,"props":169168,"children":169169},{"class":555,"line":637},[169170,169174,169179],{"type":426,"tag":553,"props":169171,"children":169172},{"style":684},[169173],{"type":431,"value":129222},{"type":426,"tag":553,"props":169175,"children":169176},{"style":572},[169177],{"type":431,"value":169178},"\"http:\u002F\u002Flocalhost:3000\u002Fapi\u002FsendText\"",{"type":426,"tag":553,"props":169180,"children":169181},{"style":684},[169182],{"type":431,"value":710},{"type":426,"tag":553,"props":169184,"children":169185},{"class":555,"line":646},[169186,169190,169194,169198,169203,169207,169212],{"type":426,"tag":553,"props":169187,"children":169188},{"style":1684},[169189],{"type":431,"value":1687},{"type":426,"tag":553,"props":169191,"children":169192},{"style":795},[169193],{"type":431,"value":957},{"type":426,"tag":553,"props":169195,"children":169196},{"style":684},[169197],{"type":431,"value":972},{"type":426,"tag":553,"props":169199,"children":169200},{"style":572},[169201],{"type":431,"value":169202},"\"X-Api-Key\"",{"type":426,"tag":553,"props":169204,"children":169205},{"style":684},[169206],{"type":431,"value":700},{"type":426,"tag":553,"props":169208,"children":169209},{"style":572},[169210],{"type":431,"value":169211},"\"WAHA_KEY\"",{"type":426,"tag":553,"props":169213,"children":169214},{"style":684},[169215],{"type":431,"value":1737},{"type":426,"tag":553,"props":169217,"children":169218},{"class":555,"line":655},[169219,169223,169227],{"type":426,"tag":553,"props":169220,"children":169221},{"style":1684},[169222],{"type":431,"value":1746},{"type":426,"tag":553,"props":169224,"children":169225},{"style":795},[169226],{"type":431,"value":957},{"type":426,"tag":553,"props":169228,"children":169229},{"style":684},[169230],{"type":431,"value":687},{"type":426,"tag":553,"props":169232,"children":169233},{"class":555,"line":1036},[169234,169239,169243,169247,169251,169255,169259,169263,169268],{"type":426,"tag":553,"props":169235,"children":169236},{"style":572},[169237],{"type":431,"value":169238},"            \"chatId\"",{"type":426,"tag":553,"props":169240,"children":169241},{"style":684},[169242],{"type":431,"value":700},{"type":426,"tag":553,"props":169244,"children":169245},{"style":795},[169246],{"type":431,"value":1709},{"type":426,"tag":553,"props":169248,"children":169249},{"style":572},[169250],{"type":431,"value":1527},{"type":426,"tag":553,"props":169252,"children":169253},{"style":566},[169254],{"type":431,"value":972},{"type":426,"tag":553,"props":169256,"children":169257},{"style":684},[169258],{"type":431,"value":37598},{"type":426,"tag":553,"props":169260,"children":169261},{"style":566},[169262],{"type":431,"value":982},{"type":426,"tag":553,"props":169264,"children":169265},{"style":572},[169266],{"type":431,"value":169267},"@c.us\"",{"type":426,"tag":553,"props":169269,"children":169270},{"style":684},[169271],{"type":431,"value":710},{"type":426,"tag":553,"props":169273,"children":169274},{"class":555,"line":1054},[169275,169280],{"type":426,"tag":553,"props":169276,"children":169277},{"style":572},[169278],{"type":431,"value":169279},"            \"text\"",{"type":426,"tag":553,"props":169281,"children":169282},{"style":684},[169283],{"type":431,"value":169284},": message,\n",{"type":426,"tag":553,"props":169286,"children":169287},{"class":555,"line":1080},[169288,169293,169297],{"type":426,"tag":553,"props":169289,"children":169290},{"style":572},[169291],{"type":431,"value":169292},"            \"session\"",{"type":426,"tag":553,"props":169294,"children":169295},{"style":684},[169296],{"type":431,"value":700},{"type":426,"tag":553,"props":169298,"children":169299},{"style":572},[169300],{"type":431,"value":169301},"\"default\"\n",{"type":426,"tag":553,"props":169303,"children":169304},{"class":555,"line":1097},[169305],{"type":426,"tag":553,"props":169306,"children":169307},{"style":684},[169308],{"type":431,"value":139567},{"type":426,"tag":553,"props":169310,"children":169311},{"class":555,"line":1114},[169312],{"type":426,"tag":553,"props":169313,"children":169314},{"emptyLinePlaceholder":831},[169315],{"type":431,"value":834},{"type":426,"tag":553,"props":169317,"children":169318},{"class":555,"line":1127},[169319],{"type":426,"tag":553,"props":169320,"children":169321},{"style":1975},[169322],{"type":431,"value":169323},"# New Rapiwa code\n",{"type":426,"tag":553,"props":169325,"children":169326},{"class":555,"line":1167},[169327,169331,169335],{"type":426,"tag":553,"props":169328,"children":169329},{"style":795},[169330],{"type":431,"value":842},{"type":426,"tag":553,"props":169332,"children":169333},{"style":560},[169334],{"type":431,"value":167626},{"type":426,"tag":553,"props":169336,"children":169337},{"style":684},[169338],{"type":431,"value":129214},{"type":426,"tag":553,"props":169340,"children":169341},{"class":555,"line":1184},[169342,169346,169350],{"type":426,"tag":553,"props":169343,"children":169344},{"style":684},[169345],{"type":431,"value":129222},{"type":426,"tag":553,"props":169347,"children":169348},{"style":572},[169349],{"type":431,"value":60449},{"type":426,"tag":553,"props":169351,"children":169352},{"style":684},[169353],{"type":431,"value":710},{"type":426,"tag":553,"props":169355,"children":169356},{"class":555,"line":1192},[169357,169361,169365,169369,169373,169377,169381],{"type":426,"tag":553,"props":169358,"children":169359},{"style":1684},[169360],{"type":431,"value":1687},{"type":426,"tag":553,"props":169362,"children":169363},{"style":795},[169364],{"type":431,"value":957},{"type":426,"tag":553,"props":169366,"children":169367},{"style":684},[169368],{"type":431,"value":972},{"type":426,"tag":553,"props":169370,"children":169371},{"style":572},[169372],{"type":431,"value":45214},{"type":426,"tag":553,"props":169374,"children":169375},{"style":684},[169376],{"type":431,"value":700},{"type":426,"tag":553,"props":169378,"children":169379},{"style":572},[169380],{"type":431,"value":153176},{"type":426,"tag":553,"props":169382,"children":169383},{"style":684},[169384],{"type":431,"value":1737},{"type":426,"tag":553,"props":169386,"children":169387},{"class":555,"line":1210},[169388,169392,169396,169400,169404,169408,169412],{"type":426,"tag":553,"props":169389,"children":169390},{"style":1684},[169391],{"type":431,"value":1746},{"type":426,"tag":553,"props":169393,"children":169394},{"style":795},[169395],{"type":431,"value":957},{"type":426,"tag":553,"props":169397,"children":169398},{"style":684},[169399],{"type":431,"value":972},{"type":426,"tag":553,"props":169401,"children":169402},{"style":572},[169403],{"type":431,"value":45266},{"type":426,"tag":553,"props":169405,"children":169406},{"style":684},[169407],{"type":431,"value":8931},{"type":426,"tag":553,"props":169409,"children":169410},{"style":572},[169411],{"type":431,"value":45275},{"type":426,"tag":553,"props":169413,"children":169414},{"style":684},[169415],{"type":431,"value":169416},": message})\n",{"type":426,"tag":434,"props":169418,"children":169420},{"id":169419},"when-waha-is-still-the-right-choice",[169421],{"type":431,"value":169422},"When WAHA Is Still the Right Choice",{"type":426,"tag":427,"props":169424,"children":169425},{},[169426],{"type":431,"value":169427},"WAHA makes sense when:",{"type":426,"tag":454,"props":169429,"children":169430},{},[169431,169441,169451,169460],{"type":426,"tag":458,"props":169432,"children":169433},{},[169434,169439],{"type":426,"tag":446,"props":169435,"children":169436},{},[169437],{"type":431,"value":169438},"Data sovereignty",{"type":431,"value":169440},": You need all message data on your own servers",{"type":426,"tag":458,"props":169442,"children":169443},{},[169444,169449],{"type":426,"tag":446,"props":169445,"children":169446},{},[169447],{"type":431,"value":169448},"No budget at all",{"type":431,"value":169450},": If even $5\u002Fmonth is not possible, WAHA self-hosted is free",{"type":426,"tag":458,"props":169452,"children":169453},{},[169454,169458],{"type":426,"tag":446,"props":169455,"children":169456},{},[169457],{"type":431,"value":159100},{"type":431,"value":169459},": WAHA's source code is available for forking and customisation",{"type":426,"tag":458,"props":169461,"children":169462},{},[169463,169468],{"type":426,"tag":446,"props":169464,"children":169465},{},[169466],{"type":431,"value":169467},"Existing Docker infrastructure",{"type":431,"value":169469},": If you already manage Docker services, adding WAHA is low marginal effort",{"type":426,"tag":427,"props":169471,"children":169472},{},[169473],{"type":431,"value":169474},"For everyone else, Rapiwa at $5\u002Fmonth eliminates all WAHA's maintenance overhead.",{"type":426,"tag":434,"props":169476,"children":169477},{"id":4109},[169478],{"type":431,"value":4112},{"type":426,"tag":427,"props":169480,"children":169481},{},[169482,169487],{"type":426,"tag":446,"props":169483,"children":169484},{},[169485],{"type":431,"value":169486},"What is WAHA and why look for alternatives?",{"type":431,"value":169488},"\nWAHA (WhatsApp HTTP API) is an open-source self-hosted WhatsApp API. Developers look for alternatives because self-hosting requires a VPS ($15–35\u002Fmonth) and significant maintenance time, making WAHA's \"free\" label misleading. The hosted WAHA plan costs $19\u002Fmonth — more than Rapiwa.",{"type":426,"tag":427,"props":169490,"children":169491},{},[169492,169497],{"type":426,"tag":446,"props":169493,"children":169494},{},[169495],{"type":431,"value":169496},"Is Rapiwa better than WAHA?",{"type":431,"value":169498},"\nFor most users: yes. Rapiwa is cheaper ($5 vs $19 hosted), requires zero server management, has a verified 5.0\u002F5 Sourceforge rating, and includes a WooCommerce plugin and 10 n8n templates that WAHA doesn't offer.",{"type":426,"tag":427,"props":169500,"children":169501},{},[169502,169507],{"type":426,"tag":446,"props":169503,"children":169504},{},[169505],{"type":431,"value":169506},"Can I self-host Rapiwa like WAHA?",{"type":431,"value":169508},"\nNo. Rapiwa is a managed cloud service. For self-hosted, WAHA and Evolution API are the main open-source options.",{"type":426,"tag":427,"props":169510,"children":169511},{},[169512,169517,169519,169524,169525,169530,169531,169536,169537,169542],{"type":426,"tag":446,"props":169513,"children":169514},{},[169515],{"type":431,"value":169516},"How hard is it to switch from WAHA to Rapiwa?",{"type":431,"value":169518},"\nFor basic messaging, a migration takes 15–30 minutes. Update your endpoint URL, authentication header, and two field names (",{"type":426,"tag":549,"props":169520,"children":169522},{"className":169521},[],[169523],{"type":431,"value":163441},{"type":431,"value":149652},{"type":426,"tag":549,"props":169526,"children":169528},{"className":169527},[],[169529],{"type":431,"value":39195},{"type":431,"value":1907},{"type":426,"tag":549,"props":169532,"children":169534},{"className":169533},[],[169535],{"type":431,"value":431},{"type":431,"value":149652},{"type":426,"tag":549,"props":169538,"children":169540},{"className":169539},[],[169541],{"type":431,"value":2734},{"type":431,"value":53330},{"type":426,"tag":427,"props":169544,"children":169545},{},[169546,169551],{"type":426,"tag":446,"props":169547,"children":169548},{},[169549],{"type":431,"value":169550},"Does Rapiwa have a free tier like WAHA self-hosted?",{"type":431,"value":169552},"\nRapiwa has a 3-day free trial with full API access. There is no permanent free tier — the paid plan starts at $5\u002Fmonth.",{"type":426,"tag":4164,"props":169554,"children":169555},{},[169556],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":169558},[169559,169560,169561,169567,169568,169569],{"id":168401,"depth":588,"text":168404},{"id":168618,"depth":588,"text":168621},{"id":168690,"depth":588,"text":168693,"children":169562},[169563,169564,169565,169566],{"id":168696,"depth":606,"text":168699},{"id":168707,"depth":606,"text":168710},{"id":168751,"depth":606,"text":168754},{"id":168790,"depth":606,"text":168793},{"id":168808,"depth":588,"text":168811},{"id":169419,"depth":588,"text":169422},{"id":4109,"depth":588,"text":4112},"content:blog:best-waha-alternative-whatsapp-api-developers-2026.md","blog\u002Fbest-waha-alternative-whatsapp-api-developers-2026.md","blog\u002Fbest-waha-alternative-whatsapp-api-developers-2026",{"loc":302},{"_path":306,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":307,"description":308,"date":169575,"author":33271,"category":22,"_slug":169576,"image":169577,"body":169578,"_type":4187,"_id":174910,"_source":4189,"_file":174911,"_stem":174912,"_extension":4192,"sitemap":174913},"2025-12-27","how-to-send-whatsapp-messages-from-any-programming-language","\u002Fimages\u002Fblog\u002Fhow-to-send-whatsapp-messages-from-any-programming-language.svg",{"type":423,"children":169579,"toc":174893},[169580,169593,169599,169604,169674,169679,169683,169717,169720,169726,169798,169801,169805,170009,170030,170033,170039,170316,170324,170479,170506,170509,170513,170521,170900,170908,171150,171153,171158,171680,171692,171695,171701,172068,172071,172077,172560,172572,172575,172581,173323,173328,173331,173337,173895,173898,173904,174388,174391,174397,174637,174640,174646,174802,174806,174816,174826,174862,174872,174889],{"type":426,"tag":427,"props":169581,"children":169582},{},[169583,169585,169591],{"type":431,"value":169584},"You can send WhatsApp messages from any programming language using the ",{"type":426,"tag":3819,"props":169586,"children":169588},{"href":3821,"rel":169587},[3823],[169589],{"type":431,"value":169590},"Rapiwa REST API",{"type":431,"value":169592},". Any language that can make HTTP POST requests — Python, Node.js, PHP, Java, C#, Ruby, Go, Rust, Kotlin, Swift — can send WhatsApp messages with 3–10 lines of code. Rapiwa costs $5\u002Fmonth with no per-message fees. Below are complete, copy-paste examples for every major language.",{"type":426,"tag":434,"props":169594,"children":169596},{"id":169595},"the-universal-api-request",[169597],{"type":431,"value":169598},"The Universal API Request",{"type":426,"tag":427,"props":169600,"children":169601},{},[169602],{"type":431,"value":169603},"Every language sends the same HTTP request:",{"type":426,"tag":454,"props":169605,"children":169606},{},[169607,169620,169633,169646,169660],{"type":426,"tag":458,"props":169608,"children":169609},{},[169610,169614,169615],{"type":426,"tag":446,"props":169611,"children":169612},{},[169613],{"type":431,"value":46964},{"type":431,"value":700},{"type":426,"tag":549,"props":169616,"children":169618},{"className":169617},[],[169619],{"type":431,"value":67603},{"type":426,"tag":458,"props":169621,"children":169622},{},[169623,169627,169628],{"type":426,"tag":446,"props":169624,"children":169625},{},[169626],{"type":431,"value":48091},{"type":431,"value":700},{"type":426,"tag":549,"props":169629,"children":169631},{"className":169630},[],[169632],{"type":431,"value":48098},{"type":426,"tag":458,"props":169634,"children":169635},{},[169636,169640,169641],{"type":426,"tag":446,"props":169637,"children":169638},{},[169639],{"type":431,"value":120305},{"type":431,"value":700},{"type":426,"tag":549,"props":169642,"children":169644},{"className":169643},[],[169645],{"type":431,"value":10711},{"type":426,"tag":458,"props":169647,"children":169648},{},[169649,169653,169654],{"type":426,"tag":446,"props":169650,"children":169651},{},[169652],{"type":431,"value":120305},{"type":431,"value":700},{"type":426,"tag":549,"props":169655,"children":169657},{"className":169656},[],[169658],{"type":431,"value":169659},"Content-Type: application\u002Fjson",{"type":426,"tag":458,"props":169661,"children":169662},{},[169663,169667,169668],{"type":426,"tag":446,"props":169664,"children":169665},{},[169666],{"type":431,"value":48121},{"type":431,"value":700},{"type":426,"tag":549,"props":169669,"children":169671},{"className":169670},[],[169672],{"type":431,"value":169673},"{\"number\": \"PHONE_NUMBER\", \"message\": \"YOUR_MESSAGE\"}",{"type":426,"tag":427,"props":169675,"children":169676},{},[169677],{"type":431,"value":169678},"The only thing that changes per language is how you make the HTTP request.",{"type":426,"tag":434,"props":169680,"children":169681},{"id":47624},[169682],{"type":431,"value":47627},{"type":426,"tag":6331,"props":169684,"children":169685},{},[169686,169696,169701,169706],{"type":426,"tag":458,"props":169687,"children":169688},{},[169689,169694],{"type":426,"tag":3819,"props":169690,"children":169692},{"href":3821,"rel":169691},[3823],[169693],{"type":431,"value":47638},{"type":431,"value":169695}," — free 3-day trial",{"type":426,"tag":458,"props":169697,"children":169698},{},[169699],{"type":431,"value":169700},"WhatsApp number connected via QR code (Dashboard → Devices)",{"type":426,"tag":458,"props":169702,"children":169703},{},[169704],{"type":431,"value":169705},"API key (Dashboard → API Keys)",{"type":426,"tag":458,"props":169707,"children":169708},{},[169709,169711,169716],{"type":431,"value":169710},"Recipient phone number in international format (e.g. ",{"type":426,"tag":549,"props":169712,"children":169714},{"className":169713},[],[169715],{"type":431,"value":7237},{"type":431,"value":5736},{"type":426,"tag":6880,"props":169718,"children":169719},{},[],{"type":426,"tag":434,"props":169721,"children":169723},{"id":169722},"curl-universal-every-platform",[169724],{"type":431,"value":169725},"cURL (Universal — Every Platform)",{"type":426,"tag":542,"props":169727,"children":169729},{"className":546,"code":169728,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello from cURL!\"}'\n",[169730],{"type":426,"tag":549,"props":169731,"children":169732},{"__ignoreMap":417},[169733,169756,169771,169786],{"type":426,"tag":553,"props":169734,"children":169735},{"class":555,"line":556},[169736,169740,169744,169748,169752],{"type":426,"tag":553,"props":169737,"children":169738},{"style":560},[169739],{"type":431,"value":563},{"type":426,"tag":553,"props":169741,"children":169742},{"style":566},[169743],{"type":431,"value":569},{"type":426,"tag":553,"props":169745,"children":169746},{"style":572},[169747],{"type":431,"value":575},{"type":426,"tag":553,"props":169749,"children":169750},{"style":572},[169751],{"type":431,"value":580},{"type":426,"tag":553,"props":169753,"children":169754},{"style":566},[169755],{"type":431,"value":585},{"type":426,"tag":553,"props":169757,"children":169758},{"class":555,"line":588},[169759,169763,169767],{"type":426,"tag":553,"props":169760,"children":169761},{"style":566},[169762],{"type":431,"value":594},{"type":426,"tag":553,"props":169764,"children":169765},{"style":572},[169766],{"type":431,"value":599},{"type":426,"tag":553,"props":169768,"children":169769},{"style":566},[169770],{"type":431,"value":585},{"type":426,"tag":553,"props":169772,"children":169773},{"class":555,"line":606},[169774,169778,169782],{"type":426,"tag":553,"props":169775,"children":169776},{"style":566},[169777],{"type":431,"value":594},{"type":426,"tag":553,"props":169779,"children":169780},{"style":572},[169781],{"type":431,"value":616},{"type":426,"tag":553,"props":169783,"children":169784},{"style":566},[169785],{"type":431,"value":585},{"type":426,"tag":553,"props":169787,"children":169788},{"class":555,"line":623},[169789,169793],{"type":426,"tag":553,"props":169790,"children":169791},{"style":566},[169792],{"type":431,"value":629},{"type":426,"tag":553,"props":169794,"children":169795},{"style":572},[169796],{"type":431,"value":169797}," '{\"number\": \"8801234567890\", \"message\": \"Hello from cURL!\"}'\n",{"type":426,"tag":6880,"props":169799,"children":169800},{},[],{"type":426,"tag":434,"props":169802,"children":169803},{"id":784},[169804],{"type":431,"value":78773},{"type":426,"tag":542,"props":169806,"children":169808},{"className":785,"code":169807,"language":784,"meta":417,"style":417},"import requests\n\napi_key = \"YOUR_API_KEY\"\n\nresponse = requests.post(\n    \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": f\"Bearer {api_key}\"},\n    json={\"number\": \"8801234567890\", \"message\": \"Hello from Python!\"}\n)\n\nprint(response.json())\n# {'status': 'success', 'messageId': 'msg_abc123', 'timestamp': '...'}\n",[169809],{"type":426,"tag":549,"props":169810,"children":169811},{"__ignoreMap":417},[169812,169823,169830,169846,169853,169868,169879,169930,169977,169984,169991,170002],{"type":426,"tag":553,"props":169813,"children":169814},{"class":555,"line":556},[169815,169819],{"type":426,"tag":553,"props":169816,"children":169817},{"style":795},[169818],{"type":431,"value":798},{"type":426,"tag":553,"props":169820,"children":169821},{"style":684},[169822],{"type":431,"value":803},{"type":426,"tag":553,"props":169824,"children":169825},{"class":555,"line":588},[169826],{"type":426,"tag":553,"props":169827,"children":169828},{"emptyLinePlaceholder":831},[169829],{"type":431,"value":834},{"type":426,"tag":553,"props":169831,"children":169832},{"class":555,"line":606},[169833,169838,169842],{"type":426,"tag":553,"props":169834,"children":169835},{"style":684},[169836],{"type":431,"value":169837},"api_key ",{"type":426,"tag":553,"props":169839,"children":169840},{"style":795},[169841],{"type":431,"value":957},{"type":426,"tag":553,"props":169843,"children":169844},{"style":572},[169845],{"type":431,"value":40863},{"type":426,"tag":553,"props":169847,"children":169848},{"class":555,"line":623},[169849],{"type":426,"tag":553,"props":169850,"children":169851},{"emptyLinePlaceholder":831},[169852],{"type":431,"value":834},{"type":426,"tag":553,"props":169854,"children":169855},{"class":555,"line":637},[169856,169860,169864],{"type":426,"tag":553,"props":169857,"children":169858},{"style":684},[169859],{"type":431,"value":139172},{"type":426,"tag":553,"props":169861,"children":169862},{"style":795},[169863],{"type":431,"value":957},{"type":426,"tag":553,"props":169865,"children":169866},{"style":684},[169867],{"type":431,"value":1664},{"type":426,"tag":553,"props":169869,"children":169870},{"class":555,"line":646},[169871,169875],{"type":426,"tag":553,"props":169872,"children":169873},{"style":572},[169874],{"type":431,"value":139188},{"type":426,"tag":553,"props":169876,"children":169877},{"style":684},[169878],{"type":431,"value":710},{"type":426,"tag":553,"props":169880,"children":169881},{"class":555,"line":655},[169882,169886,169890,169894,169898,169902,169906,169910,169914,169918,169922,169926],{"type":426,"tag":553,"props":169883,"children":169884},{"style":1684},[169885],{"type":431,"value":139200},{"type":426,"tag":553,"props":169887,"children":169888},{"style":795},[169889],{"type":431,"value":957},{"type":426,"tag":553,"props":169891,"children":169892},{"style":684},[169893],{"type":431,"value":972},{"type":426,"tag":553,"props":169895,"children":169896},{"style":572},[169897],{"type":431,"value":45214},{"type":426,"tag":553,"props":169899,"children":169900},{"style":684},[169901],{"type":431,"value":700},{"type":426,"tag":553,"props":169903,"children":169904},{"style":795},[169905],{"type":431,"value":1709},{"type":426,"tag":553,"props":169907,"children":169908},{"style":572},[169909],{"type":431,"value":12608},{"type":426,"tag":553,"props":169911,"children":169912},{"style":566},[169913],{"type":431,"value":972},{"type":426,"tag":553,"props":169915,"children":169916},{"style":684},[169917],{"type":431,"value":1723},{"type":426,"tag":553,"props":169919,"children":169920},{"style":566},[169921],{"type":431,"value":982},{"type":426,"tag":553,"props":169923,"children":169924},{"style":572},[169925],{"type":431,"value":1527},{"type":426,"tag":553,"props":169927,"children":169928},{"style":684},[169929],{"type":431,"value":1737},{"type":426,"tag":553,"props":169931,"children":169932},{"class":555,"line":1036},[169933,169937,169941,169945,169949,169953,169957,169961,169965,169969,169973],{"type":426,"tag":553,"props":169934,"children":169935},{"style":1684},[169936],{"type":431,"value":139245},{"type":426,"tag":553,"props":169938,"children":169939},{"style":795},[169940],{"type":431,"value":957},{"type":426,"tag":553,"props":169942,"children":169943},{"style":684},[169944],{"type":431,"value":972},{"type":426,"tag":553,"props":169946,"children":169947},{"style":572},[169948],{"type":431,"value":45266},{"type":426,"tag":553,"props":169950,"children":169951},{"style":684},[169952],{"type":431,"value":700},{"type":426,"tag":553,"props":169954,"children":169955},{"style":572},[169956],{"type":431,"value":7286},{"type":426,"tag":553,"props":169958,"children":169959},{"style":684},[169960],{"type":431,"value":1907},{"type":426,"tag":553,"props":169962,"children":169963},{"style":572},[169964],{"type":431,"value":45275},{"type":426,"tag":553,"props":169966,"children":169967},{"style":684},[169968],{"type":431,"value":700},{"type":426,"tag":553,"props":169970,"children":169971},{"style":572},[169972],{"type":431,"value":139282},{"type":426,"tag":553,"props":169974,"children":169975},{"style":684},[169976],{"type":431,"value":756},{"type":426,"tag":553,"props":169978,"children":169979},{"class":555,"line":1054},[169980],{"type":426,"tag":553,"props":169981,"children":169982},{"style":684},[169983],{"type":431,"value":3262},{"type":426,"tag":553,"props":169985,"children":169986},{"class":555,"line":1080},[169987],{"type":426,"tag":553,"props":169988,"children":169989},{"emptyLinePlaceholder":831},[169990],{"type":431,"value":834},{"type":426,"tag":553,"props":169992,"children":169993},{"class":555,"line":1097},[169994,169998],{"type":426,"tag":553,"props":169995,"children":169996},{"style":566},[169997],{"type":431,"value":3270},{"type":426,"tag":553,"props":169999,"children":170000},{"style":684},[170001],{"type":431,"value":139312},{"type":426,"tag":553,"props":170003,"children":170004},{"class":555,"line":1114},[170005],{"type":426,"tag":553,"props":170006,"children":170007},{"style":1975},[170008],{"type":431,"value":139320},{"type":426,"tag":542,"props":170010,"children":170011},{"className":546,"code":139070,"language":545,"meta":417,"style":417},[170012],{"type":426,"tag":549,"props":170013,"children":170014},{"__ignoreMap":417},[170015],{"type":426,"tag":553,"props":170016,"children":170017},{"class":555,"line":556},[170018,170022,170026],{"type":426,"tag":553,"props":170019,"children":170020},{"style":560},[170021],{"type":431,"value":48871},{"type":426,"tag":553,"props":170023,"children":170024},{"style":572},[170025],{"type":431,"value":48876},{"type":426,"tag":553,"props":170027,"children":170028},{"style":572},[170029],{"type":431,"value":803},{"type":426,"tag":6880,"props":170031,"children":170032},{},[],{"type":426,"tag":434,"props":170034,"children":170036},{"id":170035},"nodejs-es-modules-node-18",[170037],{"type":431,"value":170038},"Node.js (ES Modules, Node 18+)",{"type":426,"tag":542,"props":170040,"children":170042},{"className":52113,"code":170041,"language":52115,"meta":417,"style":417},"\u002F\u002F Uses built-in fetch (Node 18+)\nconst API_KEY = \"YOUR_API_KEY\";\n\nconst response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": `Bearer ${API_KEY}`,\n    \"Content-Type\": \"application\u002Fjson\"\n  },\n  body: JSON.stringify({\n    number: \"8801234567890\",\n    message: \"Hello from Node.js!\"\n  })\n});\n\nconst data = await response.json();\nconsole.log(data);\n\u002F\u002F { status: 'success', messageId: 'msg_abc123' }\n",[170043],{"type":426,"tag":549,"props":170044,"children":170045},{"__ignoreMap":417},[170046,170054,170078,170085,170120,170135,170142,170169,170184,170191,170214,170229,170241,170248,170255,170262,170293,170308],{"type":426,"tag":553,"props":170047,"children":170048},{"class":555,"line":556},[170049],{"type":426,"tag":553,"props":170050,"children":170051},{"style":1975},[170052],{"type":431,"value":170053},"\u002F\u002F Uses built-in fetch (Node 18+)\n",{"type":426,"tag":553,"props":170055,"children":170056},{"class":555,"line":588},[170057,170061,170065,170069,170074],{"type":426,"tag":553,"props":170058,"children":170059},{"style":795},[170060],{"type":431,"value":52135},{"type":426,"tag":553,"props":170062,"children":170063},{"style":566},[170064],{"type":431,"value":133722},{"type":426,"tag":553,"props":170066,"children":170067},{"style":795},[170068],{"type":431,"value":8739},{"type":426,"tag":553,"props":170070,"children":170071},{"style":572},[170072],{"type":431,"value":170073}," \"YOUR_API_KEY\"",{"type":426,"tag":553,"props":170075,"children":170076},{"style":684},[170077],{"type":431,"value":52321},{"type":426,"tag":553,"props":170079,"children":170080},{"class":555,"line":606},[170081],{"type":426,"tag":553,"props":170082,"children":170083},{"emptyLinePlaceholder":831},[170084],{"type":431,"value":834},{"type":426,"tag":553,"props":170086,"children":170087},{"class":555,"line":623},[170088,170092,170096,170100,170104,170108,170112,170116],{"type":426,"tag":553,"props":170089,"children":170090},{"style":795},[170091],{"type":431,"value":52135},{"type":426,"tag":553,"props":170093,"children":170094},{"style":566},[170095],{"type":431,"value":53061},{"type":426,"tag":553,"props":170097,"children":170098},{"style":795},[170099],{"type":431,"value":8739},{"type":426,"tag":553,"props":170101,"children":170102},{"style":795},[170103],{"type":431,"value":53070},{"type":426,"tag":553,"props":170105,"children":170106},{"style":560},[170107],{"type":431,"value":52226},{"type":426,"tag":553,"props":170109,"children":170110},{"style":684},[170111],{"type":431,"value":3275},{"type":426,"tag":553,"props":170113,"children":170114},{"style":572},[170115],{"type":431,"value":60449},{"type":426,"tag":553,"props":170117,"children":170118},{"style":684},[170119],{"type":431,"value":53088},{"type":426,"tag":553,"props":170121,"children":170122},{"class":555,"line":637},[170123,170127,170131],{"type":426,"tag":553,"props":170124,"children":170125},{"style":684},[170126],{"type":431,"value":55814},{"type":426,"tag":553,"props":170128,"children":170129},{"style":572},[170130],{"type":431,"value":60428},{"type":426,"tag":553,"props":170132,"children":170133},{"style":684},[170134],{"type":431,"value":710},{"type":426,"tag":553,"props":170136,"children":170137},{"class":555,"line":646},[170138],{"type":426,"tag":553,"props":170139,"children":170140},{"style":684},[170141],{"type":431,"value":55830},{"type":426,"tag":553,"props":170143,"children":170144},{"class":555,"line":655},[170145,170149,170153,170157,170161,170165],{"type":426,"tag":553,"props":170146,"children":170147},{"style":572},[170148],{"type":431,"value":60473},{"type":426,"tag":553,"props":170150,"children":170151},{"style":684},[170152],{"type":431,"value":700},{"type":426,"tag":553,"props":170154,"children":170155},{"style":572},[170156],{"type":431,"value":53129},{"type":426,"tag":553,"props":170158,"children":170159},{"style":566},[170160],{"type":431,"value":133819},{"type":426,"tag":553,"props":170162,"children":170163},{"style":572},[170164],{"type":431,"value":52718},{"type":426,"tag":553,"props":170166,"children":170167},{"style":684},[170168],{"type":431,"value":710},{"type":426,"tag":553,"props":170170,"children":170171},{"class":555,"line":1036},[170172,170176,170180],{"type":426,"tag":553,"props":170173,"children":170174},{"style":572},[170175],{"type":431,"value":133835},{"type":426,"tag":553,"props":170177,"children":170178},{"style":684},[170179],{"type":431,"value":700},{"type":426,"tag":553,"props":170181,"children":170182},{"style":572},[170183],{"type":431,"value":113079},{"type":426,"tag":553,"props":170185,"children":170186},{"class":555,"line":1054},[170187],{"type":426,"tag":553,"props":170188,"children":170189},{"style":684},[170190],{"type":431,"value":55883},{"type":426,"tag":553,"props":170192,"children":170193},{"class":555,"line":1080},[170194,170198,170202,170206,170210],{"type":426,"tag":553,"props":170195,"children":170196},{"style":684},[170197],{"type":431,"value":55891},{"type":426,"tag":553,"props":170199,"children":170200},{"style":566},[170201],{"type":431,"value":53178},{"type":426,"tag":553,"props":170203,"children":170204},{"style":684},[170205],{"type":431,"value":6789},{"type":426,"tag":553,"props":170207,"children":170208},{"style":560},[170209],{"type":431,"value":53187},{"type":426,"tag":553,"props":170211,"children":170212},{"style":684},[170213],{"type":431,"value":52612},{"type":426,"tag":553,"props":170215,"children":170216},{"class":555,"line":1097},[170217,170221,170225],{"type":426,"tag":553,"props":170218,"children":170219},{"style":684},[170220],{"type":431,"value":133881},{"type":426,"tag":553,"props":170222,"children":170223},{"style":572},[170224],{"type":431,"value":7286},{"type":426,"tag":553,"props":170226,"children":170227},{"style":684},[170228],{"type":431,"value":710},{"type":426,"tag":553,"props":170230,"children":170231},{"class":555,"line":1114},[170232,170236],{"type":426,"tag":553,"props":170233,"children":170234},{"style":684},[170235],{"type":431,"value":133897},{"type":426,"tag":553,"props":170237,"children":170238},{"style":572},[170239],{"type":431,"value":170240},"\"Hello from Node.js!\"\n",{"type":426,"tag":553,"props":170242,"children":170243},{"class":555,"line":1127},[170244],{"type":426,"tag":553,"props":170245,"children":170246},{"style":684},[170247],{"type":431,"value":123525},{"type":426,"tag":553,"props":170249,"children":170250},{"class":555,"line":1167},[170251],{"type":426,"tag":553,"props":170252,"children":170253},{"style":684},[170254],{"type":431,"value":55916},{"type":426,"tag":553,"props":170256,"children":170257},{"class":555,"line":1184},[170258],{"type":426,"tag":553,"props":170259,"children":170260},{"emptyLinePlaceholder":831},[170261],{"type":431,"value":834},{"type":426,"tag":553,"props":170263,"children":170264},{"class":555,"line":1192},[170265,170269,170273,170277,170281,170285,170289],{"type":426,"tag":553,"props":170266,"children":170267},{"style":795},[170268],{"type":431,"value":52135},{"type":426,"tag":553,"props":170270,"children":170271},{"style":566},[170272],{"type":431,"value":75817},{"type":426,"tag":553,"props":170274,"children":170275},{"style":795},[170276],{"type":431,"value":8739},{"type":426,"tag":553,"props":170278,"children":170279},{"style":795},[170280],{"type":431,"value":53070},{"type":426,"tag":553,"props":170282,"children":170283},{"style":684},[170284],{"type":431,"value":53218},{"type":426,"tag":553,"props":170286,"children":170287},{"style":560},[170288],{"type":431,"value":673},{"type":426,"tag":553,"props":170290,"children":170291},{"style":684},[170292],{"type":431,"value":53227},{"type":426,"tag":553,"props":170294,"children":170295},{"class":555,"line":1210},[170296,170300,170304],{"type":426,"tag":553,"props":170297,"children":170298},{"style":684},[170299],{"type":431,"value":121455},{"type":426,"tag":553,"props":170301,"children":170302},{"style":560},[170303],{"type":431,"value":53719},{"type":426,"tag":553,"props":170305,"children":170306},{"style":684},[170307],{"type":431,"value":133970},{"type":426,"tag":553,"props":170309,"children":170310},{"class":555,"line":1253},[170311],{"type":426,"tag":553,"props":170312,"children":170313},{"style":1975},[170314],{"type":431,"value":170315},"\u002F\u002F { status: 'success', messageId: 'msg_abc123' }\n",{"type":426,"tag":427,"props":170317,"children":170318},{},[170319],{"type":426,"tag":446,"props":170320,"children":170321},{},[170322],{"type":431,"value":170323},"Node.js (CommonJS with axios):",{"type":426,"tag":542,"props":170325,"children":170327},{"className":52113,"code":170326,"language":52115,"meta":417,"style":417},"const axios = require(\"axios\");\n\naxios.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", \n  { number: \"8801234567890\", message: \"Hello from axios!\" },\n  { headers: { \"Authorization\": \"Bearer YOUR_API_KEY\" } }\n).then(res => console.log(res.data));\n",[170328],{"type":426,"tag":549,"props":170329,"children":170330},{"__ignoreMap":417},[170331,170362,170369,170393,170418,170443],{"type":426,"tag":553,"props":170332,"children":170333},{"class":555,"line":556},[170334,170338,170342,170346,170350,170354,170358],{"type":426,"tag":553,"props":170335,"children":170336},{"style":795},[170337],{"type":431,"value":52135},{"type":426,"tag":553,"props":170339,"children":170340},{"style":566},[170341],{"type":431,"value":52105},{"type":426,"tag":553,"props":170343,"children":170344},{"style":795},[170345],{"type":431,"value":8739},{"type":426,"tag":553,"props":170347,"children":170348},{"style":560},[170349],{"type":431,"value":52149},{"type":426,"tag":553,"props":170351,"children":170352},{"style":684},[170353],{"type":431,"value":3275},{"type":426,"tag":553,"props":170355,"children":170356},{"style":572},[170357],{"type":431,"value":135200},{"type":426,"tag":553,"props":170359,"children":170360},{"style":684},[170361],{"type":431,"value":11379},{"type":426,"tag":553,"props":170363,"children":170364},{"class":555,"line":588},[170365],{"type":426,"tag":553,"props":170366,"children":170367},{"emptyLinePlaceholder":831},[170368],{"type":431,"value":834},{"type":426,"tag":553,"props":170370,"children":170371},{"class":555,"line":606},[170372,170377,170381,170385,170389],{"type":426,"tag":553,"props":170373,"children":170374},{"style":684},[170375],{"type":431,"value":170376},"axios.",{"type":426,"tag":553,"props":170378,"children":170379},{"style":560},[170380],{"type":431,"value":70594},{"type":426,"tag":553,"props":170382,"children":170383},{"style":684},[170384],{"type":431,"value":3275},{"type":426,"tag":553,"props":170386,"children":170387},{"style":572},[170388],{"type":431,"value":60449},{"type":426,"tag":553,"props":170390,"children":170391},{"style":684},[170392],{"type":431,"value":17901},{"type":426,"tag":553,"props":170394,"children":170395},{"class":555,"line":623},[170396,170401,170405,170409,170414],{"type":426,"tag":553,"props":170397,"children":170398},{"style":684},[170399],{"type":431,"value":170400},"  { number: ",{"type":426,"tag":553,"props":170402,"children":170403},{"style":572},[170404],{"type":431,"value":7286},{"type":426,"tag":553,"props":170406,"children":170407},{"style":684},[170408],{"type":431,"value":8713},{"type":426,"tag":553,"props":170410,"children":170411},{"style":572},[170412],{"type":431,"value":170413},"\"Hello from axios!\"",{"type":426,"tag":553,"props":170415,"children":170416},{"style":684},[170417],{"type":431,"value":136779},{"type":426,"tag":553,"props":170419,"children":170420},{"class":555,"line":637},[170421,170426,170430,170434,170438],{"type":426,"tag":553,"props":170422,"children":170423},{"style":684},[170424],{"type":431,"value":170425},"  { headers: { ",{"type":426,"tag":553,"props":170427,"children":170428},{"style":572},[170429],{"type":431,"value":45214},{"type":426,"tag":553,"props":170431,"children":170432},{"style":684},[170433],{"type":431,"value":700},{"type":426,"tag":553,"props":170435,"children":170436},{"style":572},[170437],{"type":431,"value":140737},{"type":426,"tag":553,"props":170439,"children":170440},{"style":684},[170441],{"type":431,"value":170442}," } }\n",{"type":426,"tag":553,"props":170444,"children":170445},{"class":555,"line":646},[170446,170450,170454,170458,170462,170466,170470,170474],{"type":426,"tag":553,"props":170447,"children":170448},{"style":684},[170449],{"type":431,"value":53330},{"type":426,"tag":553,"props":170451,"children":170452},{"style":560},[170453],{"type":431,"value":53695},{"type":426,"tag":553,"props":170455,"children":170456},{"style":684},[170457],{"type":431,"value":3275},{"type":426,"tag":553,"props":170459,"children":170460},{"style":1684},[170461],{"type":431,"value":84679},{"type":426,"tag":553,"props":170463,"children":170464},{"style":795},[170465],{"type":431,"value":53709},{"type":426,"tag":553,"props":170467,"children":170468},{"style":684},[170469],{"type":431,"value":53714},{"type":426,"tag":553,"props":170471,"children":170472},{"style":560},[170473],{"type":431,"value":53719},{"type":426,"tag":553,"props":170475,"children":170476},{"style":684},[170477],{"type":431,"value":170478},"(res.data));\n",{"type":426,"tag":542,"props":170480,"children":170482},{"className":546,"code":170481,"language":545,"meta":417,"style":417},"npm install axios  # only needed for axios version\n",[170483],{"type":426,"tag":549,"props":170484,"children":170485},{"__ignoreMap":417},[170486],{"type":426,"tag":553,"props":170487,"children":170488},{"class":555,"line":556},[170489,170493,170497,170501],{"type":426,"tag":553,"props":170490,"children":170491},{"style":560},[170492],{"type":431,"value":52091},{"type":426,"tag":553,"props":170494,"children":170495},{"style":572},[170496],{"type":431,"value":48876},{"type":426,"tag":553,"props":170498,"children":170499},{"style":572},[170500],{"type":431,"value":52105},{"type":426,"tag":553,"props":170502,"children":170503},{"style":1975},[170504],{"type":431,"value":170505},"  # only needed for axios version\n",{"type":426,"tag":6880,"props":170507,"children":170508},{},[],{"type":426,"tag":434,"props":170510,"children":170511},{"id":79950},[170512],{"type":431,"value":123546},{"type":426,"tag":427,"props":170514,"children":170515},{},[170516],{"type":426,"tag":446,"props":170517,"children":170518},{},[170519],{"type":431,"value":170520},"Simple (native curl):",{"type":426,"tag":542,"props":170522,"children":170524},{"className":79948,"code":170523,"language":79950,"meta":417,"style":417},"\u003C?php\nfunction sendWhatsApp(string $phone, string $message, string $apiKey): array {\n    $ch = curl_init(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\");\n    curl_setopt_array($ch, [\n        CURLOPT_POST           => true,\n        CURLOPT_RETURNTRANSFER => true,\n        CURLOPT_HTTPHEADER     => [\n            \"Authorization: Bearer $apiKey\",\n            \"Content-Type: application\u002Fjson\"\n        ],\n        CURLOPT_POSTFIELDS => json_encode([\"number\" => $phone, \"message\" => $message])\n    ]);\n    $result = json_decode(curl_exec($ch), true);\n    curl_close($ch);\n    return $result;\n}\n\n$result = sendWhatsApp(\"8801234567890\", \"Hello from PHP!\", \"YOUR_API_KEY\");\nprint_r($result); \u002F\u002F ['status' => 'success', 'messageId' => 'msg_abc123']\n",[170525],{"type":426,"tag":549,"props":170526,"children":170527},{"__ignoreMap":417},[170528,170539,170590,170617,170628,170647,170666,170681,170701,170709,170716,170760,170767,170802,170813,170824,170831,170838,170882],{"type":426,"tag":553,"props":170529,"children":170530},{"class":555,"line":556},[170531,170535],{"type":426,"tag":553,"props":170532,"children":170533},{"style":795},[170534],{"type":431,"value":86379},{"type":426,"tag":553,"props":170536,"children":170537},{"style":566},[170538],{"type":431,"value":86384},{"type":426,"tag":553,"props":170540,"children":170541},{"class":555,"line":588},[170542,170546,170550,170554,170558,170562,170566,170570,170574,170578,170582,170586],{"type":426,"tag":553,"props":170543,"children":170544},{"style":795},[170545],{"type":431,"value":79962},{"type":426,"tag":553,"props":170547,"children":170548},{"style":560},[170549],{"type":431,"value":86403},{"type":426,"tag":553,"props":170551,"children":170552},{"style":684},[170553],{"type":431,"value":3275},{"type":426,"tag":553,"props":170555,"children":170556},{"style":795},[170557],{"type":431,"value":71939},{"type":426,"tag":553,"props":170559,"children":170560},{"style":684},[170561],{"type":431,"value":79980},{"type":426,"tag":553,"props":170563,"children":170564},{"style":795},[170565],{"type":431,"value":71939},{"type":426,"tag":553,"props":170567,"children":170568},{"style":684},[170569],{"type":431,"value":86424},{"type":426,"tag":553,"props":170571,"children":170572},{"style":795},[170573],{"type":431,"value":71939},{"type":426,"tag":553,"props":170575,"children":170576},{"style":684},[170577],{"type":431,"value":86433},{"type":426,"tag":553,"props":170579,"children":170580},{"style":795},[170581],{"type":431,"value":19071},{"type":426,"tag":553,"props":170583,"children":170584},{"style":795},[170585],{"type":431,"value":80028},{"type":426,"tag":553,"props":170587,"children":170588},{"style":684},[170589],{"type":431,"value":5458},{"type":426,"tag":553,"props":170591,"children":170592},{"class":555,"line":606},[170593,170597,170601,170605,170609,170613],{"type":426,"tag":553,"props":170594,"children":170595},{"style":684},[170596],{"type":431,"value":80040},{"type":426,"tag":553,"props":170598,"children":170599},{"style":795},[170600],{"type":431,"value":957},{"type":426,"tag":553,"props":170602,"children":170603},{"style":566},[170604],{"type":431,"value":80049},{"type":426,"tag":553,"props":170606,"children":170607},{"style":684},[170608],{"type":431,"value":3275},{"type":426,"tag":553,"props":170610,"children":170611},{"style":572},[170612],{"type":431,"value":60449},{"type":426,"tag":553,"props":170614,"children":170615},{"style":684},[170616],{"type":431,"value":11379},{"type":426,"tag":553,"props":170618,"children":170619},{"class":555,"line":623},[170620,170624],{"type":426,"tag":553,"props":170621,"children":170622},{"style":566},[170623],{"type":431,"value":80070},{"type":426,"tag":553,"props":170625,"children":170626},{"style":684},[170627],{"type":431,"value":80075},{"type":426,"tag":553,"props":170629,"children":170630},{"class":555,"line":637},[170631,170635,170639,170643],{"type":426,"tag":553,"props":170632,"children":170633},{"style":566},[170634],{"type":431,"value":80104},{"type":426,"tag":553,"props":170636,"children":170637},{"style":795},[170638],{"type":431,"value":86525},{"type":426,"tag":553,"props":170640,"children":170641},{"style":566},[170642],{"type":431,"value":80092},{"type":426,"tag":553,"props":170644,"children":170645},{"style":684},[170646],{"type":431,"value":710},{"type":426,"tag":553,"props":170648,"children":170649},{"class":555,"line":646},[170650,170654,170658,170662],{"type":426,"tag":553,"props":170651,"children":170652},{"style":566},[170653],{"type":431,"value":80083},{"type":426,"tag":553,"props":170655,"children":170656},{"style":795},[170657],{"type":431,"value":53709},{"type":426,"tag":553,"props":170659,"children":170660},{"style":566},[170661],{"type":431,"value":80092},{"type":426,"tag":553,"props":170663,"children":170664},{"style":684},[170665],{"type":431,"value":710},{"type":426,"tag":553,"props":170667,"children":170668},{"class":555,"line":655},[170669,170673,170677],{"type":426,"tag":553,"props":170670,"children":170671},{"style":566},[170672],{"type":431,"value":80124},{"type":426,"tag":553,"props":170674,"children":170675},{"style":795},[170676],{"type":431,"value":86567},{"type":426,"tag":553,"props":170678,"children":170679},{"style":684},[170680],{"type":431,"value":80133},{"type":426,"tag":553,"props":170682,"children":170683},{"class":555,"line":1036},[170684,170689,170693,170697],{"type":426,"tag":553,"props":170685,"children":170686},{"style":572},[170687],{"type":431,"value":170688},"            \"Authorization: Bearer ",{"type":426,"tag":553,"props":170690,"children":170691},{"style":684},[170692],{"type":431,"value":86584},{"type":426,"tag":553,"props":170694,"children":170695},{"style":572},[170696],{"type":431,"value":1527},{"type":426,"tag":553,"props":170698,"children":170699},{"style":684},[170700],{"type":431,"value":710},{"type":426,"tag":553,"props":170702,"children":170703},{"class":555,"line":1054},[170704],{"type":426,"tag":553,"props":170705,"children":170706},{"style":572},[170707],{"type":431,"value":170708},"            \"Content-Type: application\u002Fjson\"\n",{"type":426,"tag":553,"props":170710,"children":170711},{"class":555,"line":1080},[170712],{"type":426,"tag":553,"props":170713,"children":170714},{"style":684},[170715],{"type":431,"value":80161},{"type":426,"tag":553,"props":170717,"children":170718},{"class":555,"line":1097},[170719,170723,170727,170731,170735,170739,170743,170747,170751,170755],{"type":426,"tag":553,"props":170720,"children":170721},{"style":566},[170722],{"type":431,"value":80169},{"type":426,"tag":553,"props":170724,"children":170725},{"style":795},[170726],{"type":431,"value":53709},{"type":426,"tag":553,"props":170728,"children":170729},{"style":566},[170730],{"type":431,"value":80178},{"type":426,"tag":553,"props":170732,"children":170733},{"style":684},[170734],{"type":431,"value":74656},{"type":426,"tag":553,"props":170736,"children":170737},{"style":572},[170738],{"type":431,"value":45266},{"type":426,"tag":553,"props":170740,"children":170741},{"style":795},[170742],{"type":431,"value":53709},{"type":426,"tag":553,"props":170744,"children":170745},{"style":684},[170746],{"type":431,"value":79980},{"type":426,"tag":553,"props":170748,"children":170749},{"style":572},[170750],{"type":431,"value":45275},{"type":426,"tag":553,"props":170752,"children":170753},{"style":795},[170754],{"type":431,"value":53709},{"type":426,"tag":553,"props":170756,"children":170757},{"style":684},[170758],{"type":431,"value":170759}," $message])\n",{"type":426,"tag":553,"props":170761,"children":170762},{"class":555,"line":1114},[170763],{"type":426,"tag":553,"props":170764,"children":170765},{"style":684},[170766],{"type":431,"value":80263},{"type":426,"tag":553,"props":170768,"children":170769},{"class":555,"line":1127},[170770,170774,170778,170782,170786,170790,170794,170798],{"type":426,"tag":553,"props":170771,"children":170772},{"style":684},[170773],{"type":431,"value":80271},{"type":426,"tag":553,"props":170775,"children":170776},{"style":795},[170777],{"type":431,"value":957},{"type":426,"tag":553,"props":170779,"children":170780},{"style":566},[170781],{"type":431,"value":80280},{"type":426,"tag":553,"props":170783,"children":170784},{"style":684},[170785],{"type":431,"value":3275},{"type":426,"tag":553,"props":170787,"children":170788},{"style":566},[170789],{"type":431,"value":80289},{"type":426,"tag":553,"props":170791,"children":170792},{"style":684},[170793],{"type":431,"value":80294},{"type":426,"tag":553,"props":170795,"children":170796},{"style":566},[170797],{"type":431,"value":48523},{"type":426,"tag":553,"props":170799,"children":170800},{"style":684},[170801],{"type":431,"value":11379},{"type":426,"tag":553,"props":170803,"children":170804},{"class":555,"line":1167},[170805,170809],{"type":426,"tag":553,"props":170806,"children":170807},{"style":566},[170808],{"type":431,"value":80310},{"type":426,"tag":553,"props":170810,"children":170811},{"style":684},[170812],{"type":431,"value":80315},{"type":426,"tag":553,"props":170814,"children":170815},{"class":555,"line":1184},[170816,170820],{"type":426,"tag":553,"props":170817,"children":170818},{"style":795},[170819],{"type":431,"value":1659},{"type":426,"tag":553,"props":170821,"children":170822},{"style":684},[170823],{"type":431,"value":80327},{"type":426,"tag":553,"props":170825,"children":170826},{"class":555,"line":1192},[170827],{"type":426,"tag":553,"props":170828,"children":170829},{"style":684},[170830],{"type":431,"value":756},{"type":426,"tag":553,"props":170832,"children":170833},{"class":555,"line":1210},[170834],{"type":426,"tag":553,"props":170835,"children":170836},{"emptyLinePlaceholder":831},[170837],{"type":431,"value":834},{"type":426,"tag":553,"props":170839,"children":170840},{"class":555,"line":1253},[170841,170845,170849,170853,170857,170861,170865,170870,170874,170878],{"type":426,"tag":553,"props":170842,"children":170843},{"style":684},[170844],{"type":431,"value":88627},{"type":426,"tag":553,"props":170846,"children":170847},{"style":795},[170848],{"type":431,"value":957},{"type":426,"tag":553,"props":170850,"children":170851},{"style":560},[170852],{"type":431,"value":86403},{"type":426,"tag":553,"props":170854,"children":170855},{"style":684},[170856],{"type":431,"value":3275},{"type":426,"tag":553,"props":170858,"children":170859},{"style":572},[170860],{"type":431,"value":7286},{"type":426,"tag":553,"props":170862,"children":170863},{"style":684},[170864],{"type":431,"value":1907},{"type":426,"tag":553,"props":170866,"children":170867},{"style":572},[170868],{"type":431,"value":170869},"\"Hello from PHP!\"",{"type":426,"tag":553,"props":170871,"children":170872},{"style":684},[170873],{"type":431,"value":1907},{"type":426,"tag":553,"props":170875,"children":170876},{"style":572},[170877],{"type":431,"value":68341},{"type":426,"tag":553,"props":170879,"children":170880},{"style":684},[170881],{"type":431,"value":11379},{"type":426,"tag":553,"props":170883,"children":170884},{"class":555,"line":1302},[170885,170890,170895],{"type":426,"tag":553,"props":170886,"children":170887},{"style":566},[170888],{"type":431,"value":170889},"print_r",{"type":426,"tag":553,"props":170891,"children":170892},{"style":684},[170893],{"type":431,"value":170894},"($result); ",{"type":426,"tag":553,"props":170896,"children":170897},{"style":1975},[170898],{"type":431,"value":170899},"\u002F\u002F ['status' => 'success', 'messageId' => 'msg_abc123']\n",{"type":426,"tag":427,"props":170901,"children":170902},{},[170903],{"type":426,"tag":446,"props":170904,"children":170905},{},[170906],{"type":431,"value":170907},"With GuzzleHTTP:",{"type":426,"tag":542,"props":170909,"children":170911},{"className":79948,"code":170910,"language":79950,"meta":417,"style":417},"\u003C?php\nrequire 'vendor\u002Fautoload.php';\nuse GuzzleHttp\\Client;\n\n$client = new Client();\n$response = $client->post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", [\n    \"headers\" => [\"Authorization\" => \"Bearer YOUR_API_KEY\"],\n    \"json\"    => [\"number\" => \"8801234567890\", \"message\" => \"Hello from Guzzle!\"]\n]);\n\necho $response->getBody(); \u002F\u002F {\"status\":\"success\",\"messageId\":\"msg_abc123\"}\n",[170912],{"type":426,"tag":549,"props":170913,"children":170914},{"__ignoreMap":417},[170915,170926,170941,170956,170963,170987,171024,171057,171107,171114,171121],{"type":426,"tag":553,"props":170916,"children":170917},{"class":555,"line":556},[170918,170922],{"type":426,"tag":553,"props":170919,"children":170920},{"style":795},[170921],{"type":431,"value":86379},{"type":426,"tag":553,"props":170923,"children":170924},{"style":566},[170925],{"type":431,"value":86384},{"type":426,"tag":553,"props":170927,"children":170928},{"class":555,"line":588},[170929,170933,170937],{"type":426,"tag":553,"props":170930,"children":170931},{"style":795},[170932],{"type":431,"value":87452},{"type":426,"tag":553,"props":170934,"children":170935},{"style":572},[170936],{"type":431,"value":87457},{"type":426,"tag":553,"props":170938,"children":170939},{"style":684},[170940],{"type":431,"value":52321},{"type":426,"tag":553,"props":170942,"children":170943},{"class":555,"line":606},[170944,170948,170952],{"type":426,"tag":553,"props":170945,"children":170946},{"style":795},[170947],{"type":431,"value":84570},{"type":426,"tag":553,"props":170949,"children":170950},{"style":566},[170951],{"type":431,"value":87480},{"type":426,"tag":553,"props":170953,"children":170954},{"style":684},[170955],{"type":431,"value":52321},{"type":426,"tag":553,"props":170957,"children":170958},{"class":555,"line":623},[170959],{"type":426,"tag":553,"props":170960,"children":170961},{"emptyLinePlaceholder":831},[170962],{"type":431,"value":834},{"type":426,"tag":553,"props":170964,"children":170965},{"class":555,"line":637},[170966,170971,170975,170979,170983],{"type":426,"tag":553,"props":170967,"children":170968},{"style":684},[170969],{"type":431,"value":170970},"$client ",{"type":426,"tag":553,"props":170972,"children":170973},{"style":795},[170974],{"type":431,"value":957},{"type":426,"tag":553,"props":170976,"children":170977},{"style":795},[170978],{"type":431,"value":52275},{"type":426,"tag":553,"props":170980,"children":170981},{"style":566},[170982],{"type":431,"value":87553},{"type":426,"tag":553,"props":170984,"children":170985},{"style":684},[170986],{"type":431,"value":53227},{"type":426,"tag":553,"props":170988,"children":170989},{"class":555,"line":646},[170990,170995,170999,171004,171008,171012,171016,171020],{"type":426,"tag":553,"props":170991,"children":170992},{"style":684},[170993],{"type":431,"value":170994},"$response ",{"type":426,"tag":553,"props":170996,"children":170997},{"style":795},[170998],{"type":431,"value":957},{"type":426,"tag":553,"props":171000,"children":171001},{"style":684},[171002],{"type":431,"value":171003}," $client",{"type":426,"tag":553,"props":171005,"children":171006},{"style":795},[171007],{"type":431,"value":70711},{"type":426,"tag":553,"props":171009,"children":171010},{"style":560},[171011],{"type":431,"value":70594},{"type":426,"tag":553,"props":171013,"children":171014},{"style":684},[171015],{"type":431,"value":3275},{"type":426,"tag":553,"props":171017,"children":171018},{"style":572},[171019],{"type":431,"value":60449},{"type":426,"tag":553,"props":171021,"children":171022},{"style":684},[171023],{"type":431,"value":87886},{"type":426,"tag":553,"props":171025,"children":171026},{"class":555,"line":655},[171027,171032,171036,171040,171044,171048,171053],{"type":426,"tag":553,"props":171028,"children":171029},{"style":572},[171030],{"type":431,"value":171031},"    \"headers\"",{"type":426,"tag":553,"props":171033,"children":171034},{"style":795},[171035],{"type":431,"value":53709},{"type":426,"tag":553,"props":171037,"children":171038},{"style":684},[171039],{"type":431,"value":1897},{"type":426,"tag":553,"props":171041,"children":171042},{"style":572},[171043],{"type":431,"value":45214},{"type":426,"tag":553,"props":171045,"children":171046},{"style":795},[171047],{"type":431,"value":53709},{"type":426,"tag":553,"props":171049,"children":171050},{"style":572},[171051],{"type":431,"value":171052}," \"Bearer YOUR_API_KEY\"",{"type":426,"tag":553,"props":171054,"children":171055},{"style":684},[171056],{"type":431,"value":12804},{"type":426,"tag":553,"props":171058,"children":171059},{"class":555,"line":1036},[171060,171065,171069,171073,171077,171081,171086,171090,171094,171098,171103],{"type":426,"tag":553,"props":171061,"children":171062},{"style":572},[171063],{"type":431,"value":171064},"    \"json\"",{"type":426,"tag":553,"props":171066,"children":171067},{"style":795},[171068],{"type":431,"value":133080},{"type":426,"tag":553,"props":171070,"children":171071},{"style":684},[171072],{"type":431,"value":1897},{"type":426,"tag":553,"props":171074,"children":171075},{"style":572},[171076],{"type":431,"value":45266},{"type":426,"tag":553,"props":171078,"children":171079},{"style":795},[171080],{"type":431,"value":53709},{"type":426,"tag":553,"props":171082,"children":171083},{"style":572},[171084],{"type":431,"value":171085}," \"8801234567890\"",{"type":426,"tag":553,"props":171087,"children":171088},{"style":684},[171089],{"type":431,"value":1907},{"type":426,"tag":553,"props":171091,"children":171092},{"style":572},[171093],{"type":431,"value":45275},{"type":426,"tag":553,"props":171095,"children":171096},{"style":795},[171097],{"type":431,"value":53709},{"type":426,"tag":553,"props":171099,"children":171100},{"style":572},[171101],{"type":431,"value":171102}," \"Hello from Guzzle!\"",{"type":426,"tag":553,"props":171104,"children":171105},{"style":684},[171106],{"type":431,"value":16523},{"type":426,"tag":553,"props":171108,"children":171109},{"class":555,"line":1054},[171110],{"type":426,"tag":553,"props":171111,"children":171112},{"style":684},[171113],{"type":431,"value":95072},{"type":426,"tag":553,"props":171115,"children":171116},{"class":555,"line":1080},[171117],{"type":426,"tag":553,"props":171118,"children":171119},{"emptyLinePlaceholder":831},[171120],{"type":431,"value":834},{"type":426,"tag":553,"props":171122,"children":171123},{"class":555,"line":1097},[171124,171128,171132,171136,171140,171145],{"type":426,"tag":553,"props":171125,"children":171126},{"style":566},[171127],{"type":431,"value":88705},{"type":426,"tag":553,"props":171129,"children":171130},{"style":684},[171131],{"type":431,"value":90064},{"type":426,"tag":553,"props":171133,"children":171134},{"style":795},[171135],{"type":431,"value":70711},{"type":426,"tag":553,"props":171137,"children":171138},{"style":560},[171139],{"type":431,"value":61498},{"type":426,"tag":553,"props":171141,"children":171142},{"style":684},[171143],{"type":431,"value":171144},"(); ",{"type":426,"tag":553,"props":171146,"children":171147},{"style":1975},[171148],{"type":431,"value":171149},"\u002F\u002F {\"status\":\"success\",\"messageId\":\"msg_abc123\"}\n",{"type":426,"tag":6880,"props":171151,"children":171152},{},[],{"type":426,"tag":434,"props":171154,"children":171155},{"id":60807},[171156],{"type":431,"value":171157},"Java",{"type":426,"tag":542,"props":171159,"children":171161},{"className":60808,"code":171160,"language":60807,"meta":417,"style":417},"import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.net.http.HttpRequest.BodyPublishers;\n\npublic class WhatsAppSender {\n    public static void main(String[] args) throws Exception {\n        String apiKey = \"YOUR_API_KEY\";\n        String body = \"{\\\"number\\\":\\\"8801234567890\\\",\\\"message\\\":\\\"Hello from Java!\\\"}\";\n\n        HttpRequest request = HttpRequest.newBuilder()\n            .uri(URI.create(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"))\n            .header(\"Authorization\", \"Bearer \" + apiKey)\n            .header(\"Content-Type\", \"application\u002Fjson\")\n            .POST(BodyPublishers.ofString(body))\n            .build();\n\n        HttpResponse\u003CString> response = HttpClient.newHttpClient()\n            .send(request, HttpResponse.BodyHandlers.ofString());\n\n        System.out.println(response.body());\n        \u002F\u002F {\"status\":\"success\",\"messageId\":\"msg_abc123\"}\n    }\n}\n",[171162],{"type":426,"tag":549,"props":171163,"children":171164},{"__ignoreMap":417},[171165,171176,171187,171198,171209,171221,171228,171248,171295,171315,171399,171406,171429,171460,171495,171526,171551,171566,171573,171604,171628,171635,171658,171666,171673],{"type":426,"tag":553,"props":171166,"children":171167},{"class":555,"line":556},[171168,171172],{"type":426,"tag":553,"props":171169,"children":171170},{"style":795},[171171],{"type":431,"value":798},{"type":426,"tag":553,"props":171173,"children":171174},{"style":684},[171175],{"type":431,"value":66789},{"type":426,"tag":553,"props":171177,"children":171178},{"class":555,"line":588},[171179,171183],{"type":426,"tag":553,"props":171180,"children":171181},{"style":795},[171182],{"type":431,"value":798},{"type":426,"tag":553,"props":171184,"children":171185},{"style":684},[171186],{"type":431,"value":66801},{"type":426,"tag":553,"props":171188,"children":171189},{"class":555,"line":606},[171190,171194],{"type":426,"tag":553,"props":171191,"children":171192},{"style":795},[171193],{"type":431,"value":798},{"type":426,"tag":553,"props":171195,"children":171196},{"style":684},[171197],{"type":431,"value":66813},{"type":426,"tag":553,"props":171199,"children":171200},{"class":555,"line":623},[171201,171205],{"type":426,"tag":553,"props":171202,"children":171203},{"style":795},[171204],{"type":431,"value":798},{"type":426,"tag":553,"props":171206,"children":171207},{"style":684},[171208],{"type":431,"value":66825},{"type":426,"tag":553,"props":171210,"children":171211},{"class":555,"line":637},[171212,171216],{"type":426,"tag":553,"props":171213,"children":171214},{"style":795},[171215],{"type":431,"value":798},{"type":426,"tag":553,"props":171217,"children":171218},{"style":684},[171219],{"type":431,"value":171220}," java.net.http.HttpRequest.BodyPublishers;\n",{"type":426,"tag":553,"props":171222,"children":171223},{"class":555,"line":646},[171224],{"type":426,"tag":553,"props":171225,"children":171226},{"emptyLinePlaceholder":831},[171227],{"type":431,"value":834},{"type":426,"tag":553,"props":171229,"children":171230},{"class":555,"line":655},[171231,171235,171239,171244],{"type":426,"tag":553,"props":171232,"children":171233},{"style":795},[171234],{"type":431,"value":60828},{"type":426,"tag":553,"props":171236,"children":171237},{"style":795},[171238],{"type":431,"value":60833},{"type":426,"tag":553,"props":171240,"children":171241},{"style":560},[171242],{"type":431,"value":171243}," WhatsAppSender",{"type":426,"tag":553,"props":171245,"children":171246},{"style":684},[171247],{"type":431,"value":5458},{"type":426,"tag":553,"props":171249,"children":171250},{"class":555,"line":1036},[171251,171255,171259,171263,171267,171271,171275,171279,171283,171287,171291],{"type":426,"tag":553,"props":171252,"children":171253},{"style":795},[171254],{"type":431,"value":61004},{"type":426,"tag":553,"props":171256,"children":171257},{"style":795},[171258],{"type":431,"value":60862},{"type":426,"tag":553,"props":171260,"children":171261},{"style":795},[171262],{"type":431,"value":61013},{"type":426,"tag":553,"props":171264,"children":171265},{"style":560},[171266],{"type":431,"value":68282},{"type":426,"tag":553,"props":171268,"children":171269},{"style":684},[171270],{"type":431,"value":3275},{"type":426,"tag":553,"props":171272,"children":171273},{"style":795},[171274],{"type":431,"value":61237},{"type":426,"tag":553,"props":171276,"children":171277},{"style":684},[171278],{"type":431,"value":68295},{"type":426,"tag":553,"props":171280,"children":171281},{"style":1684},[171282],{"type":431,"value":68300},{"type":426,"tag":553,"props":171284,"children":171285},{"style":684},[171286],{"type":431,"value":2987},{"type":426,"tag":553,"props":171288,"children":171289},{"style":795},[171290],{"type":431,"value":67213},{"type":426,"tag":553,"props":171292,"children":171293},{"style":684},[171294],{"type":431,"value":67218},{"type":426,"tag":553,"props":171296,"children":171297},{"class":555,"line":1054},[171298,171303,171307,171311],{"type":426,"tag":553,"props":171299,"children":171300},{"style":684},[171301],{"type":431,"value":171302},"        String apiKey ",{"type":426,"tag":553,"props":171304,"children":171305},{"style":795},[171306],{"type":431,"value":957},{"type":426,"tag":553,"props":171308,"children":171309},{"style":572},[171310],{"type":431,"value":170073},{"type":426,"tag":553,"props":171312,"children":171313},{"style":684},[171314],{"type":431,"value":52321},{"type":426,"tag":553,"props":171316,"children":171317},{"class":555,"line":1080},[171318,171322,171326,171330,171334,171338,171342,171346,171350,171354,171358,171362,171366,171370,171374,171378,171382,171387,171391,171395],{"type":426,"tag":553,"props":171319,"children":171320},{"style":684},[171321],{"type":431,"value":67893},{"type":426,"tag":553,"props":171323,"children":171324},{"style":795},[171325],{"type":431,"value":957},{"type":426,"tag":553,"props":171327,"children":171328},{"style":572},[171329],{"type":431,"value":89613},{"type":426,"tag":553,"props":171331,"children":171332},{"style":566},[171333],{"type":431,"value":39200},{"type":426,"tag":553,"props":171335,"children":171336},{"style":572},[171337],{"type":431,"value":39195},{"type":426,"tag":553,"props":171339,"children":171340},{"style":566},[171341],{"type":431,"value":39200},{"type":426,"tag":553,"props":171343,"children":171344},{"style":572},[171345],{"type":431,"value":19071},{"type":426,"tag":553,"props":171347,"children":171348},{"style":566},[171349],{"type":431,"value":39200},{"type":426,"tag":553,"props":171351,"children":171352},{"style":572},[171353],{"type":431,"value":7237},{"type":426,"tag":553,"props":171355,"children":171356},{"style":566},[171357],{"type":431,"value":39200},{"type":426,"tag":553,"props":171359,"children":171360},{"style":572},[171361],{"type":431,"value":1290},{"type":426,"tag":553,"props":171363,"children":171364},{"style":566},[171365],{"type":431,"value":39200},{"type":426,"tag":553,"props":171367,"children":171368},{"style":572},[171369],{"type":431,"value":2734},{"type":426,"tag":553,"props":171371,"children":171372},{"style":566},[171373],{"type":431,"value":39200},{"type":426,"tag":553,"props":171375,"children":171376},{"style":572},[171377],{"type":431,"value":19071},{"type":426,"tag":553,"props":171379,"children":171380},{"style":566},[171381],{"type":431,"value":39200},{"type":426,"tag":553,"props":171383,"children":171384},{"style":572},[171385],{"type":431,"value":171386},"Hello from Java!",{"type":426,"tag":553,"props":171388,"children":171389},{"style":566},[171390],{"type":431,"value":39200},{"type":426,"tag":553,"props":171392,"children":171393},{"style":572},[171394],{"type":431,"value":67316},{"type":426,"tag":553,"props":171396,"children":171397},{"style":684},[171398],{"type":431,"value":52321},{"type":426,"tag":553,"props":171400,"children":171401},{"class":555,"line":1097},[171402],{"type":426,"tag":553,"props":171403,"children":171404},{"emptyLinePlaceholder":831},[171405],{"type":431,"value":834},{"type":426,"tag":553,"props":171407,"children":171408},{"class":555,"line":1114},[171409,171413,171417,171421,171425],{"type":426,"tag":553,"props":171410,"children":171411},{"style":684},[171412],{"type":431,"value":67443},{"type":426,"tag":553,"props":171414,"children":171415},{"style":795},[171416],{"type":431,"value":957},{"type":426,"tag":553,"props":171418,"children":171419},{"style":684},[171420],{"type":431,"value":67452},{"type":426,"tag":553,"props":171422,"children":171423},{"style":560},[171424],{"type":431,"value":67013},{"type":426,"tag":553,"props":171426,"children":171427},{"style":684},[171428],{"type":431,"value":11683},{"type":426,"tag":553,"props":171430,"children":171431},{"class":555,"line":1127},[171432,171436,171440,171444,171448,171452,171456],{"type":426,"tag":553,"props":171433,"children":171434},{"style":684},[171435],{"type":431,"value":93947},{"type":426,"tag":553,"props":171437,"children":171438},{"style":560},[171439],{"type":431,"value":67472},{"type":426,"tag":553,"props":171441,"children":171442},{"style":684},[171443],{"type":431,"value":67477},{"type":426,"tag":553,"props":171445,"children":171446},{"style":560},[171447],{"type":431,"value":67482},{"type":426,"tag":553,"props":171449,"children":171450},{"style":684},[171451],{"type":431,"value":3275},{"type":426,"tag":553,"props":171453,"children":171454},{"style":572},[171455],{"type":431,"value":60449},{"type":426,"tag":553,"props":171457,"children":171458},{"style":684},[171459],{"type":431,"value":6538},{"type":426,"tag":553,"props":171461,"children":171462},{"class":555,"line":1167},[171463,171467,171471,171475,171479,171483,171487,171491],{"type":426,"tag":553,"props":171464,"children":171465},{"style":684},[171466],{"type":431,"value":93947},{"type":426,"tag":553,"props":171468,"children":171469},{"style":560},[171470],{"type":431,"value":67532},{"type":426,"tag":553,"props":171472,"children":171473},{"style":684},[171474],{"type":431,"value":3275},{"type":426,"tag":553,"props":171476,"children":171477},{"style":572},[171478],{"type":431,"value":45214},{"type":426,"tag":553,"props":171480,"children":171481},{"style":684},[171482],{"type":431,"value":1907},{"type":426,"tag":553,"props":171484,"children":171485},{"style":572},[171486],{"type":431,"value":67549},{"type":426,"tag":553,"props":171488,"children":171489},{"style":795},[171490],{"type":431,"value":61140},{"type":426,"tag":553,"props":171492,"children":171493},{"style":684},[171494],{"type":431,"value":67558},{"type":426,"tag":553,"props":171496,"children":171497},{"class":555,"line":1184},[171498,171502,171506,171510,171514,171518,171522],{"type":426,"tag":553,"props":171499,"children":171500},{"style":684},[171501],{"type":431,"value":93947},{"type":426,"tag":553,"props":171503,"children":171504},{"style":560},[171505],{"type":431,"value":67532},{"type":426,"tag":553,"props":171507,"children":171508},{"style":684},[171509],{"type":431,"value":3275},{"type":426,"tag":553,"props":171511,"children":171512},{"style":572},[171513],{"type":431,"value":67578},{"type":426,"tag":553,"props":171515,"children":171516},{"style":684},[171517],{"type":431,"value":1907},{"type":426,"tag":553,"props":171519,"children":171520},{"style":572},[171521],{"type":431,"value":67587},{"type":426,"tag":553,"props":171523,"children":171524},{"style":684},[171525],{"type":431,"value":3262},{"type":426,"tag":553,"props":171527,"children":171528},{"class":555,"line":1192},[171529,171533,171537,171542,171546],{"type":426,"tag":553,"props":171530,"children":171531},{"style":684},[171532],{"type":431,"value":93947},{"type":426,"tag":553,"props":171534,"children":171535},{"style":560},[171536],{"type":431,"value":67603},{"type":426,"tag":553,"props":171538,"children":171539},{"style":684},[171540],{"type":431,"value":171541},"(BodyPublishers.",{"type":426,"tag":553,"props":171543,"children":171544},{"style":560},[171545],{"type":431,"value":67613},{"type":426,"tag":553,"props":171547,"children":171548},{"style":684},[171549],{"type":431,"value":171550},"(body))\n",{"type":426,"tag":553,"props":171552,"children":171553},{"class":555,"line":1210},[171554,171558,171562],{"type":426,"tag":553,"props":171555,"children":171556},{"style":684},[171557],{"type":431,"value":93947},{"type":426,"tag":553,"props":171559,"children":171560},{"style":560},[171561],{"type":431,"value":67064},{"type":426,"tag":553,"props":171563,"children":171564},{"style":684},[171565],{"type":431,"value":53227},{"type":426,"tag":553,"props":171567,"children":171568},{"class":555,"line":1253},[171569],{"type":426,"tag":553,"props":171570,"children":171571},{"emptyLinePlaceholder":831},[171572],{"type":431,"value":834},{"type":426,"tag":553,"props":171574,"children":171575},{"class":555,"line":1302},[171576,171580,171584,171588,171592,171596,171600],{"type":426,"tag":553,"props":171577,"children":171578},{"style":684},[171579],{"type":431,"value":67648},{"type":426,"tag":553,"props":171581,"children":171582},{"style":795},[171583],{"type":431,"value":61237},{"type":426,"tag":553,"props":171585,"children":171586},{"style":684},[171587],{"type":431,"value":67657},{"type":426,"tag":553,"props":171589,"children":171590},{"style":795},[171591],{"type":431,"value":957},{"type":426,"tag":553,"props":171593,"children":171594},{"style":684},[171595],{"type":431,"value":67008},{"type":426,"tag":553,"props":171597,"children":171598},{"style":560},[171599],{"type":431,"value":69154},{"type":426,"tag":553,"props":171601,"children":171602},{"style":684},[171603],{"type":431,"value":11683},{"type":426,"tag":553,"props":171605,"children":171606},{"class":555,"line":1374},[171607,171611,171615,171620,171624],{"type":426,"tag":553,"props":171608,"children":171609},{"style":684},[171610],{"type":431,"value":93947},{"type":426,"tag":553,"props":171612,"children":171613},{"style":560},[171614],{"type":431,"value":52593},{"type":426,"tag":553,"props":171616,"children":171617},{"style":684},[171618],{"type":431,"value":171619},"(request, HttpResponse.BodyHandlers.",{"type":426,"tag":553,"props":171621,"children":171622},{"style":560},[171623],{"type":431,"value":67613},{"type":426,"tag":553,"props":171625,"children":171626},{"style":684},[171627],{"type":431,"value":61503},{"type":426,"tag":553,"props":171629,"children":171630},{"class":555,"line":1414},[171631],{"type":426,"tag":553,"props":171632,"children":171633},{"emptyLinePlaceholder":831},[171634],{"type":431,"value":834},{"type":426,"tag":553,"props":171636,"children":171637},{"class":555,"line":1479},[171638,171642,171646,171650,171654],{"type":426,"tag":553,"props":171639,"children":171640},{"style":684},[171641],{"type":431,"value":68424},{"type":426,"tag":553,"props":171643,"children":171644},{"style":560},[171645],{"type":431,"value":68204},{"type":426,"tag":553,"props":171647,"children":171648},{"style":684},[171649],{"type":431,"value":69644},{"type":426,"tag":553,"props":171651,"children":171652},{"style":560},[171653],{"type":431,"value":67859},{"type":426,"tag":553,"props":171655,"children":171656},{"style":684},[171657],{"type":431,"value":61503},{"type":426,"tag":553,"props":171659,"children":171660},{"class":555,"line":1517},[171661],{"type":426,"tag":553,"props":171662,"children":171663},{"style":1975},[171664],{"type":431,"value":171665},"        \u002F\u002F {\"status\":\"success\",\"messageId\":\"msg_abc123\"}\n",{"type":426,"tag":553,"props":171667,"children":171668},{"class":555,"line":1560},[171669],{"type":426,"tag":553,"props":171670,"children":171671},{"style":684},[171672],{"type":431,"value":5546},{"type":426,"tag":553,"props":171674,"children":171675},{"class":555,"line":1598},[171676],{"type":426,"tag":553,"props":171677,"children":171678},{"style":684},[171679],{"type":431,"value":756},{"type":426,"tag":427,"props":171681,"children":171682},{},[171683,171685,171690],{"type":431,"value":171684},"No external libraries needed — uses ",{"type":426,"tag":549,"props":171686,"children":171688},{"className":171687},[],[171689],{"type":431,"value":66768},{"type":431,"value":171691}," (Java 11+).",{"type":426,"tag":6880,"props":171693,"children":171694},{},[],{"type":426,"tag":434,"props":171696,"children":171698},{"id":171697},"c-net",[171699],{"type":431,"value":171700},"C# (.NET)",{"type":426,"tag":542,"props":171702,"children":171704},{"className":71712,"code":171703,"language":71711,"meta":417,"style":417},"using System.Net.Http;\nusing System.Text;\nusing System.Text.Json;\n\nvar client = new HttpClient();\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer YOUR_API_KEY\");\n\nvar payload = new { number = \"8801234567890\", message = \"Hello from C#!\" };\nvar content = new StringContent(JsonSerializer.Serialize(payload), Encoding.UTF8, \"application\u002Fjson\");\n\nvar response = await client.PostAsync(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", content);\nvar result = await response.Content.ReadAsStringAsync();\nConsole.WriteLine(result);\n\u002F\u002F {\"status\":\"success\",\"messageId\":\"msg_abc123\"}\n",[171705],{"type":426,"tag":549,"props":171706,"children":171707},{"__ignoreMap":417},[171708,171739,171762,171793,171800,171827,171859,171866,171917,171965,171972,172013,172045,172061],{"type":426,"tag":553,"props":171709,"children":171710},{"class":555,"line":556},[171711,171715,171719,171723,171727,171731,171735],{"type":426,"tag":553,"props":171712,"children":171713},{"style":795},[171714],{"type":431,"value":71724},{"type":426,"tag":553,"props":171716,"children":171717},{"style":560},[171718],{"type":431,"value":71729},{"type":426,"tag":553,"props":171720,"children":171721},{"style":684},[171722],{"type":431,"value":6789},{"type":426,"tag":553,"props":171724,"children":171725},{"style":560},[171726],{"type":431,"value":71738},{"type":426,"tag":553,"props":171728,"children":171729},{"style":684},[171730],{"type":431,"value":6789},{"type":426,"tag":553,"props":171732,"children":171733},{"style":560},[171734],{"type":431,"value":71747},{"type":426,"tag":553,"props":171736,"children":171737},{"style":684},[171738],{"type":431,"value":52321},{"type":426,"tag":553,"props":171740,"children":171741},{"class":555,"line":588},[171742,171746,171750,171754,171758],{"type":426,"tag":553,"props":171743,"children":171744},{"style":795},[171745],{"type":431,"value":71724},{"type":426,"tag":553,"props":171747,"children":171748},{"style":560},[171749],{"type":431,"value":71729},{"type":426,"tag":553,"props":171751,"children":171752},{"style":684},[171753],{"type":431,"value":6789},{"type":426,"tag":553,"props":171755,"children":171756},{"style":560},[171757],{"type":431,"value":71811},{"type":426,"tag":553,"props":171759,"children":171760},{"style":684},[171761],{"type":431,"value":52321},{"type":426,"tag":553,"props":171763,"children":171764},{"class":555,"line":606},[171765,171769,171773,171777,171781,171785,171789],{"type":426,"tag":553,"props":171766,"children":171767},{"style":795},[171768],{"type":431,"value":71724},{"type":426,"tag":553,"props":171770,"children":171771},{"style":560},[171772],{"type":431,"value":71729},{"type":426,"tag":553,"props":171774,"children":171775},{"style":684},[171776],{"type":431,"value":6789},{"type":426,"tag":553,"props":171778,"children":171779},{"style":560},[171780],{"type":431,"value":71811},{"type":426,"tag":553,"props":171782,"children":171783},{"style":684},[171784],{"type":431,"value":6789},{"type":426,"tag":553,"props":171786,"children":171787},{"style":560},[171788],{"type":431,"value":71787},{"type":426,"tag":553,"props":171790,"children":171791},{"style":684},[171792],{"type":431,"value":52321},{"type":426,"tag":553,"props":171794,"children":171795},{"class":555,"line":623},[171796],{"type":426,"tag":553,"props":171797,"children":171798},{"emptyLinePlaceholder":831},[171799],{"type":431,"value":834},{"type":426,"tag":553,"props":171801,"children":171802},{"class":555,"line":637},[171803,171807,171811,171815,171819,171823],{"type":426,"tag":553,"props":171804,"children":171805},{"style":795},[171806],{"type":431,"value":72595},{"type":426,"tag":553,"props":171808,"children":171809},{"style":560},[171810],{"type":431,"value":138686},{"type":426,"tag":553,"props":171812,"children":171813},{"style":795},[171814],{"type":431,"value":8739},{"type":426,"tag":553,"props":171816,"children":171817},{"style":795},[171818],{"type":431,"value":52275},{"type":426,"tag":553,"props":171820,"children":171821},{"style":560},[171822],{"type":431,"value":72301},{"type":426,"tag":553,"props":171824,"children":171825},{"style":684},[171826],{"type":431,"value":53227},{"type":426,"tag":553,"props":171828,"children":171829},{"class":555,"line":646},[171830,171835,171839,171843,171847,171851,171855],{"type":426,"tag":553,"props":171831,"children":171832},{"style":684},[171833],{"type":431,"value":171834},"client.DefaultRequestHeaders.",{"type":426,"tag":553,"props":171836,"children":171837},{"style":560},[171838],{"type":431,"value":75377},{"type":426,"tag":553,"props":171840,"children":171841},{"style":684},[171842],{"type":431,"value":3275},{"type":426,"tag":553,"props":171844,"children":171845},{"style":572},[171846],{"type":431,"value":45214},{"type":426,"tag":553,"props":171848,"children":171849},{"style":684},[171850],{"type":431,"value":1907},{"type":426,"tag":553,"props":171852,"children":171853},{"style":572},[171854],{"type":431,"value":140737},{"type":426,"tag":553,"props":171856,"children":171857},{"style":684},[171858],{"type":431,"value":11379},{"type":426,"tag":553,"props":171860,"children":171861},{"class":555,"line":655},[171862],{"type":426,"tag":553,"props":171863,"children":171864},{"emptyLinePlaceholder":831},[171865],{"type":431,"value":834},{"type":426,"tag":553,"props":171867,"children":171868},{"class":555,"line":1036},[171869,171873,171877,171881,171885,171890,171894,171898,171903,171907,171912],{"type":426,"tag":553,"props":171870,"children":171871},{"style":795},[171872],{"type":431,"value":72595},{"type":426,"tag":553,"props":171874,"children":171875},{"style":560},[171876],{"type":431,"value":75724},{"type":426,"tag":553,"props":171878,"children":171879},{"style":795},[171880],{"type":431,"value":8739},{"type":426,"tag":553,"props":171882,"children":171883},{"style":795},[171884],{"type":431,"value":52275},{"type":426,"tag":553,"props":171886,"children":171887},{"style":684},[171888],{"type":431,"value":171889}," { number ",{"type":426,"tag":553,"props":171891,"children":171892},{"style":795},[171893],{"type":431,"value":957},{"type":426,"tag":553,"props":171895,"children":171896},{"style":572},[171897],{"type":431,"value":171085},{"type":426,"tag":553,"props":171899,"children":171900},{"style":684},[171901],{"type":431,"value":171902},", message ",{"type":426,"tag":553,"props":171904,"children":171905},{"style":795},[171906],{"type":431,"value":957},{"type":426,"tag":553,"props":171908,"children":171909},{"style":572},[171910],{"type":431,"value":171911}," \"Hello from C#!\"",{"type":426,"tag":553,"props":171913,"children":171914},{"style":684},[171915],{"type":431,"value":171916}," };\n",{"type":426,"tag":553,"props":171918,"children":171919},{"class":555,"line":1054},[171920,171924,171929,171933,171937,171942,171947,171952,171957,171961],{"type":426,"tag":553,"props":171921,"children":171922},{"style":795},[171923],{"type":431,"value":72595},{"type":426,"tag":553,"props":171925,"children":171926},{"style":560},[171927],{"type":431,"value":171928}," content",{"type":426,"tag":553,"props":171930,"children":171931},{"style":795},[171932],{"type":431,"value":8739},{"type":426,"tag":553,"props":171934,"children":171935},{"style":795},[171936],{"type":431,"value":52275},{"type":426,"tag":553,"props":171938,"children":171939},{"style":560},[171940],{"type":431,"value":171941}," StringContent",{"type":426,"tag":553,"props":171943,"children":171944},{"style":684},[171945],{"type":431,"value":171946},"(JsonSerializer.",{"type":426,"tag":553,"props":171948,"children":171949},{"style":560},[171950],{"type":431,"value":171951},"Serialize",{"type":426,"tag":553,"props":171953,"children":171954},{"style":684},[171955],{"type":431,"value":171956},"(payload), Encoding.UTF8, ",{"type":426,"tag":553,"props":171958,"children":171959},{"style":572},[171960],{"type":431,"value":67587},{"type":426,"tag":553,"props":171962,"children":171963},{"style":684},[171964],{"type":431,"value":11379},{"type":426,"tag":553,"props":171966,"children":171967},{"class":555,"line":1080},[171968],{"type":426,"tag":553,"props":171969,"children":171970},{"emptyLinePlaceholder":831},[171971],{"type":431,"value":834},{"type":426,"tag":553,"props":171973,"children":171974},{"class":555,"line":1097},[171975,171979,171983,171987,171991,171995,172000,172004,172008],{"type":426,"tag":553,"props":171976,"children":171977},{"style":795},[171978],{"type":431,"value":72595},{"type":426,"tag":553,"props":171980,"children":171981},{"style":560},[171982],{"type":431,"value":53061},{"type":426,"tag":553,"props":171984,"children":171985},{"style":795},[171986],{"type":431,"value":8739},{"type":426,"tag":553,"props":171988,"children":171989},{"style":795},[171990],{"type":431,"value":53070},{"type":426,"tag":553,"props":171992,"children":171993},{"style":684},[171994],{"type":431,"value":68373},{"type":426,"tag":553,"props":171996,"children":171997},{"style":560},[171998],{"type":431,"value":171999},"PostAsync",{"type":426,"tag":553,"props":172001,"children":172002},{"style":684},[172003],{"type":431,"value":3275},{"type":426,"tag":553,"props":172005,"children":172006},{"style":572},[172007],{"type":431,"value":60449},{"type":426,"tag":553,"props":172009,"children":172010},{"style":684},[172011],{"type":431,"value":172012},", content);\n",{"type":426,"tag":553,"props":172014,"children":172015},{"class":555,"line":1114},[172016,172020,172024,172028,172032,172036,172041],{"type":426,"tag":553,"props":172017,"children":172018},{"style":795},[172019],{"type":431,"value":72595},{"type":426,"tag":553,"props":172021,"children":172022},{"style":560},[172023],{"type":431,"value":53508},{"type":426,"tag":553,"props":172025,"children":172026},{"style":795},[172027],{"type":431,"value":8739},{"type":426,"tag":553,"props":172029,"children":172030},{"style":795},[172031],{"type":431,"value":53070},{"type":426,"tag":553,"props":172033,"children":172034},{"style":684},[172035],{"type":431,"value":72513},{"type":426,"tag":553,"props":172037,"children":172038},{"style":560},[172039],{"type":431,"value":172040},"ReadAsStringAsync",{"type":426,"tag":553,"props":172042,"children":172043},{"style":684},[172044],{"type":431,"value":53227},{"type":426,"tag":553,"props":172046,"children":172047},{"class":555,"line":1127},[172048,172052,172056],{"type":426,"tag":553,"props":172049,"children":172050},{"style":684},[172051],{"type":431,"value":72693},{"type":426,"tag":553,"props":172053,"children":172054},{"style":560},[172055],{"type":431,"value":72698},{"type":426,"tag":553,"props":172057,"children":172058},{"style":684},[172059],{"type":431,"value":172060},"(result);\n",{"type":426,"tag":553,"props":172062,"children":172063},{"class":555,"line":1167},[172064],{"type":426,"tag":553,"props":172065,"children":172066},{"style":1975},[172067],{"type":431,"value":171149},{"type":426,"tag":6880,"props":172069,"children":172070},{},[],{"type":426,"tag":434,"props":172072,"children":172074},{"id":172073},"ruby",[172075],{"type":431,"value":172076},"Ruby",{"type":426,"tag":542,"props":172078,"children":172081},{"className":172079,"code":172080,"language":172073,"meta":417,"style":417},"language-ruby shiki shiki-themes github-dark","require 'net\u002Fhttp'\nrequire 'json'\nrequire 'uri'\n\ndef send_whatsapp(phone, message, api_key)\n  uri = URI.parse(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\")\n  http = Net::HTTP.new(uri.host, uri.port)\n  http.use_ssl = true\n\n  request = Net::HTTP::Post.new(uri.path)\n  request[\"Authorization\"] = \"Bearer #{api_key}\"\n  request[\"Content-Type\"] = \"application\u002Fjson\"\n  request.body = { number: phone, message: message }.to_json\n\n  response = http.request(request)\n  JSON.parse(response.body)\nend\n\nresult = send_whatsapp(\"8801234567890\", \"Hello from Ruby!\", \"YOUR_API_KEY\")\nputs result\n# {\"status\"=>\"success\", \"messageId\"=>\"msg_abc123\"}\n",[172082],{"type":426,"tag":549,"props":172083,"children":172084},{"__ignoreMap":417},[172085,172097,172109,172121,172128,172144,172182,172236,172258,172265,172319,172353,172377,172422,172429,172452,172480,172488,172495,172540,172552],{"type":426,"tag":553,"props":172086,"children":172087},{"class":555,"line":556},[172088,172092],{"type":426,"tag":553,"props":172089,"children":172090},{"style":795},[172091],{"type":431,"value":87452},{"type":426,"tag":553,"props":172093,"children":172094},{"style":572},[172095],{"type":431,"value":172096}," 'net\u002Fhttp'\n",{"type":426,"tag":553,"props":172098,"children":172099},{"class":555,"line":588},[172100,172104],{"type":426,"tag":553,"props":172101,"children":172102},{"style":795},[172103],{"type":431,"value":87452},{"type":426,"tag":553,"props":172105,"children":172106},{"style":572},[172107],{"type":431,"value":172108}," 'json'\n",{"type":426,"tag":553,"props":172110,"children":172111},{"class":555,"line":606},[172112,172116],{"type":426,"tag":553,"props":172113,"children":172114},{"style":795},[172115],{"type":431,"value":87452},{"type":426,"tag":553,"props":172117,"children":172118},{"style":572},[172119],{"type":431,"value":172120}," 'uri'\n",{"type":426,"tag":553,"props":172122,"children":172123},{"class":555,"line":623},[172124],{"type":426,"tag":553,"props":172125,"children":172126},{"emptyLinePlaceholder":831},[172127],{"type":431,"value":834},{"type":426,"tag":553,"props":172129,"children":172130},{"class":555,"line":637},[172131,172135,172139],{"type":426,"tag":553,"props":172132,"children":172133},{"style":795},[172134],{"type":431,"value":842},{"type":426,"tag":553,"props":172136,"children":172137},{"style":560},[172138],{"type":431,"value":20746},{"type":426,"tag":553,"props":172140,"children":172141},{"style":684},[172142],{"type":431,"value":172143},"(phone, message, api_key)\n",{"type":426,"tag":553,"props":172145,"children":172146},{"class":555,"line":646},[172147,172152,172157,172162,172166,172170,172174,172178],{"type":426,"tag":553,"props":172148,"children":172149},{"style":1684},[172150],{"type":431,"value":172151},"  uri",{"type":426,"tag":553,"props":172153,"children":172154},{"style":684},[172155],{"type":431,"value":172156}," = ",{"type":426,"tag":553,"props":172158,"children":172159},{"style":566},[172160],{"type":431,"value":172161},"URI",{"type":426,"tag":553,"props":172163,"children":172164},{"style":684},[172165],{"type":431,"value":6789},{"type":426,"tag":553,"props":172167,"children":172168},{"style":560},[172169],{"type":431,"value":106132},{"type":426,"tag":553,"props":172171,"children":172172},{"style":684},[172173],{"type":431,"value":3275},{"type":426,"tag":553,"props":172175,"children":172176},{"style":572},[172177],{"type":431,"value":60449},{"type":426,"tag":553,"props":172179,"children":172180},{"style":684},[172181],{"type":431,"value":3262},{"type":426,"tag":553,"props":172183,"children":172184},{"class":555,"line":655},[172185,172190,172194,172198,172202,172206,172210,172214,172219,172223,172228,172232],{"type":426,"tag":553,"props":172186,"children":172187},{"style":1684},[172188],{"type":431,"value":172189},"  http",{"type":426,"tag":553,"props":172191,"children":172192},{"style":684},[172193],{"type":431,"value":172156},{"type":426,"tag":553,"props":172195,"children":172196},{"style":566},[172197],{"type":431,"value":71738},{"type":426,"tag":553,"props":172199,"children":172200},{"style":684},[172201],{"type":431,"value":91528},{"type":426,"tag":553,"props":172203,"children":172204},{"style":566},[172205],{"type":431,"value":102055},{"type":426,"tag":553,"props":172207,"children":172208},{"style":684},[172209],{"type":431,"value":6789},{"type":426,"tag":553,"props":172211,"children":172212},{"style":795},[172213],{"type":431,"value":52602},{"type":426,"tag":553,"props":172215,"children":172216},{"style":684},[172217],{"type":431,"value":172218},"(uri.",{"type":426,"tag":553,"props":172220,"children":172221},{"style":560},[172222],{"type":431,"value":65927},{"type":426,"tag":553,"props":172224,"children":172225},{"style":684},[172226],{"type":431,"value":172227},", uri.",{"type":426,"tag":553,"props":172229,"children":172230},{"style":560},[172231],{"type":431,"value":65945},{"type":426,"tag":553,"props":172233,"children":172234},{"style":684},[172235],{"type":431,"value":3262},{"type":426,"tag":553,"props":172237,"children":172238},{"class":555,"line":1036},[172239,172244,172249,172253],{"type":426,"tag":553,"props":172240,"children":172241},{"style":684},[172242],{"type":431,"value":172243},"  http.",{"type":426,"tag":553,"props":172245,"children":172246},{"style":560},[172247],{"type":431,"value":172248},"use_ssl",{"type":426,"tag":553,"props":172250,"children":172251},{"style":795},[172252],{"type":431,"value":8739},{"type":426,"tag":553,"props":172254,"children":172255},{"style":566},[172256],{"type":431,"value":172257}," true\n",{"type":426,"tag":553,"props":172259,"children":172260},{"class":555,"line":1054},[172261],{"type":426,"tag":553,"props":172262,"children":172263},{"emptyLinePlaceholder":831},[172264],{"type":431,"value":834},{"type":426,"tag":553,"props":172266,"children":172267},{"class":555,"line":1080},[172268,172273,172277,172281,172285,172289,172293,172298,172302,172306,172310,172315],{"type":426,"tag":553,"props":172269,"children":172270},{"style":1684},[172271],{"type":431,"value":172272},"  request",{"type":426,"tag":553,"props":172274,"children":172275},{"style":684},[172276],{"type":431,"value":172156},{"type":426,"tag":553,"props":172278,"children":172279},{"style":566},[172280],{"type":431,"value":71738},{"type":426,"tag":553,"props":172282,"children":172283},{"style":684},[172284],{"type":431,"value":91528},{"type":426,"tag":553,"props":172286,"children":172287},{"style":566},[172288],{"type":431,"value":102055},{"type":426,"tag":553,"props":172290,"children":172291},{"style":684},[172292],{"type":431,"value":91528},{"type":426,"tag":553,"props":172294,"children":172295},{"style":566},[172296],{"type":431,"value":172297},"Post",{"type":426,"tag":553,"props":172299,"children":172300},{"style":684},[172301],{"type":431,"value":6789},{"type":426,"tag":553,"props":172303,"children":172304},{"style":795},[172305],{"type":431,"value":52602},{"type":426,"tag":553,"props":172307,"children":172308},{"style":684},[172309],{"type":431,"value":172218},{"type":426,"tag":553,"props":172311,"children":172312},{"style":560},[172313],{"type":431,"value":172314},"path",{"type":426,"tag":553,"props":172316,"children":172317},{"style":684},[172318],{"type":431,"value":3262},{"type":426,"tag":553,"props":172320,"children":172321},{"class":555,"line":1097},[172322,172327,172331,172335,172339,172344,172349],{"type":426,"tag":553,"props":172323,"children":172324},{"style":684},[172325],{"type":431,"value":172326},"  request[",{"type":426,"tag":553,"props":172328,"children":172329},{"style":572},[172330],{"type":431,"value":45214},{"type":426,"tag":553,"props":172332,"children":172333},{"style":684},[172334],{"type":431,"value":2229},{"type":426,"tag":553,"props":172336,"children":172337},{"style":795},[172338],{"type":431,"value":957},{"type":426,"tag":553,"props":172340,"children":172341},{"style":572},[172342],{"type":431,"value":172343}," \"Bearer ",{"type":426,"tag":553,"props":172345,"children":172346},{"style":572},[172347],{"type":431,"value":172348},"#{api_key}",{"type":426,"tag":553,"props":172350,"children":172351},{"style":572},[172352],{"type":431,"value":1250},{"type":426,"tag":553,"props":172354,"children":172355},{"class":555,"line":1114},[172356,172360,172364,172368,172372],{"type":426,"tag":553,"props":172357,"children":172358},{"style":684},[172359],{"type":431,"value":172326},{"type":426,"tag":553,"props":172361,"children":172362},{"style":572},[172363],{"type":431,"value":67578},{"type":426,"tag":553,"props":172365,"children":172366},{"style":684},[172367],{"type":431,"value":2229},{"type":426,"tag":553,"props":172369,"children":172370},{"style":795},[172371],{"type":431,"value":957},{"type":426,"tag":553,"props":172373,"children":172374},{"style":572},[172375],{"type":431,"value":172376}," \"application\u002Fjson\"\n",{"type":426,"tag":553,"props":172378,"children":172379},{"class":555,"line":1127},[172380,172385,172389,172393,172397,172402,172407,172412,172417],{"type":426,"tag":553,"props":172381,"children":172382},{"style":684},[172383],{"type":431,"value":172384},"  request.",{"type":426,"tag":553,"props":172386,"children":172387},{"style":560},[172388],{"type":431,"value":67859},{"type":426,"tag":553,"props":172390,"children":172391},{"style":795},[172392],{"type":431,"value":8739},{"type":426,"tag":553,"props":172394,"children":172395},{"style":684},[172396],{"type":431,"value":52174},{"type":426,"tag":553,"props":172398,"children":172399},{"style":566},[172400],{"type":431,"value":172401},"number:",{"type":426,"tag":553,"props":172403,"children":172404},{"style":684},[172405],{"type":431,"value":172406}," phone, ",{"type":426,"tag":553,"props":172408,"children":172409},{"style":566},[172410],{"type":431,"value":172411},"message:",{"type":426,"tag":553,"props":172413,"children":172414},{"style":684},[172415],{"type":431,"value":172416}," message }.",{"type":426,"tag":553,"props":172418,"children":172419},{"style":560},[172420],{"type":431,"value":172421},"to_json\n",{"type":426,"tag":553,"props":172423,"children":172424},{"class":555,"line":1167},[172425],{"type":426,"tag":553,"props":172426,"children":172427},{"emptyLinePlaceholder":831},[172428],{"type":431,"value":834},{"type":426,"tag":553,"props":172430,"children":172431},{"class":555,"line":1184},[172432,172437,172442,172447],{"type":426,"tag":553,"props":172433,"children":172434},{"style":1684},[172435],{"type":431,"value":172436},"  response",{"type":426,"tag":553,"props":172438,"children":172439},{"style":684},[172440],{"type":431,"value":172441}," = http.",{"type":426,"tag":553,"props":172443,"children":172444},{"style":560},[172445],{"type":431,"value":172446},"request",{"type":426,"tag":553,"props":172448,"children":172449},{"style":684},[172450],{"type":431,"value":172451},"(request)\n",{"type":426,"tag":553,"props":172453,"children":172454},{"class":555,"line":1192},[172455,172460,172464,172468,172472,172476],{"type":426,"tag":553,"props":172456,"children":172457},{"style":566},[172458],{"type":431,"value":172459},"  JSON",{"type":426,"tag":553,"props":172461,"children":172462},{"style":684},[172463],{"type":431,"value":6789},{"type":426,"tag":553,"props":172465,"children":172466},{"style":560},[172467],{"type":431,"value":106132},{"type":426,"tag":553,"props":172469,"children":172470},{"style":684},[172471],{"type":431,"value":69644},{"type":426,"tag":553,"props":172473,"children":172474},{"style":560},[172475],{"type":431,"value":67859},{"type":426,"tag":553,"props":172477,"children":172478},{"style":684},[172479],{"type":431,"value":3262},{"type":426,"tag":553,"props":172481,"children":172482},{"class":555,"line":1210},[172483],{"type":426,"tag":553,"props":172484,"children":172485},{"style":795},[172486],{"type":431,"value":172487},"end\n",{"type":426,"tag":553,"props":172489,"children":172490},{"class":555,"line":1253},[172491],{"type":426,"tag":553,"props":172492,"children":172493},{"emptyLinePlaceholder":831},[172494],{"type":431,"value":834},{"type":426,"tag":553,"props":172496,"children":172497},{"class":555,"line":1302},[172498,172502,172506,172511,172515,172519,172523,172528,172532,172536],{"type":426,"tag":553,"props":172499,"children":172500},{"style":1684},[172501],{"type":431,"value":53704},{"type":426,"tag":553,"props":172503,"children":172504},{"style":684},[172505],{"type":431,"value":172156},{"type":426,"tag":553,"props":172507,"children":172508},{"style":560},[172509],{"type":431,"value":172510},"send_whatsapp",{"type":426,"tag":553,"props":172512,"children":172513},{"style":684},[172514],{"type":431,"value":3275},{"type":426,"tag":553,"props":172516,"children":172517},{"style":572},[172518],{"type":431,"value":7286},{"type":426,"tag":553,"props":172520,"children":172521},{"style":684},[172522],{"type":431,"value":1907},{"type":426,"tag":553,"props":172524,"children":172525},{"style":572},[172526],{"type":431,"value":172527},"\"Hello from Ruby!\"",{"type":426,"tag":553,"props":172529,"children":172530},{"style":684},[172531],{"type":431,"value":1907},{"type":426,"tag":553,"props":172533,"children":172534},{"style":572},[172535],{"type":431,"value":68341},{"type":426,"tag":553,"props":172537,"children":172538},{"style":684},[172539],{"type":431,"value":3262},{"type":426,"tag":553,"props":172541,"children":172542},{"class":555,"line":1374},[172543,172548],{"type":426,"tag":553,"props":172544,"children":172545},{"style":566},[172546],{"type":431,"value":172547},"puts",{"type":426,"tag":553,"props":172549,"children":172550},{"style":684},[172551],{"type":431,"value":13022},{"type":426,"tag":553,"props":172553,"children":172554},{"class":555,"line":1414},[172555],{"type":426,"tag":553,"props":172556,"children":172557},{"style":1975},[172558],{"type":431,"value":172559},"# {\"status\"=>\"success\", \"messageId\"=>\"msg_abc123\"}\n",{"type":426,"tag":427,"props":172561,"children":172562},{},[172563,172565,172571],{"type":431,"value":172564},"No gem installation needed — uses Ruby's built-in ",{"type":426,"tag":549,"props":172566,"children":172568},{"className":172567},[],[172569],{"type":431,"value":172570},"net\u002Fhttp",{"type":431,"value":6789},{"type":426,"tag":6880,"props":172573,"children":172574},{},[],{"type":426,"tag":434,"props":172576,"children":172578},{"id":172577},"go",[172579],{"type":431,"value":172580},"Go",{"type":426,"tag":542,"props":172582,"children":172585},{"className":172583,"code":172584,"language":172577,"meta":417,"style":417},"language-go shiki shiki-themes github-dark","package main\n\nimport (\n    \"bytes\"\n    \"encoding\u002Fjson\"\n    \"fmt\"\n    \"io\"\n    \"net\u002Fhttp\"\n)\n\nfunc sendWhatsApp(phone, message, apiKey string) (map[string]interface{}, error) {\n    payload, _ := json.Marshal(map[string]string{\n        \"number\":  phone,\n        \"message\": message,\n    })\n\n    req, _ := http.NewRequest(\"POST\", \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", bytes.NewBuffer(payload))\n    req.Header.Set(\"Authorization\", \"Bearer \"+apiKey)\n    req.Header.Set(\"Content-Type\", \"application\u002Fjson\")\n\n    resp, err := http.DefaultClient.Do(req)\n    if err != nil {\n        return nil, err\n    }\n    defer resp.Body.Close()\n\n    body, _ := io.ReadAll(resp.Body)\n    var result map[string]interface{}\n    json.Unmarshal(body, &result)\n    return result, nil\n}\n\nfunc main() {\n    result, _ := sendWhatsApp(\"8801234567890\", \"Hello from Go!\", \"YOUR_API_KEY\")\n    fmt.Println(result)\n    \u002F\u002F map[messageId:msg_abc123 status:success]\n}\n",[172586],{"type":426,"tag":549,"props":172587,"children":172588},{"__ignoreMap":417},[172589,172602,172609,172620,172636,172652,172668,172684,172699,172706,172713,172791,172842,172854,172865,172872,172879,172931,172967,172998,173005,173032,173057,173073,173080,173102,173109,173136,173172,173200,173217,173224,173231,173246,173291,173308,173316],{"type":426,"tag":553,"props":172590,"children":172591},{"class":555,"line":556},[172592,172597],{"type":426,"tag":553,"props":172593,"children":172594},{"style":795},[172595],{"type":431,"value":172596},"package",{"type":426,"tag":553,"props":172598,"children":172599},{"style":560},[172600],{"type":431,"value":172601}," main\n",{"type":426,"tag":553,"props":172603,"children":172604},{"class":555,"line":588},[172605],{"type":426,"tag":553,"props":172606,"children":172607},{"emptyLinePlaceholder":831},[172608],{"type":431,"value":834},{"type":426,"tag":553,"props":172610,"children":172611},{"class":555,"line":606},[172612,172616],{"type":426,"tag":553,"props":172613,"children":172614},{"style":795},[172615],{"type":431,"value":798},{"type":426,"tag":553,"props":172617,"children":172618},{"style":684},[172619],{"type":431,"value":1207},{"type":426,"tag":553,"props":172621,"children":172622},{"class":555,"line":623},[172623,172628,172632],{"type":426,"tag":553,"props":172624,"children":172625},{"style":572},[172626],{"type":431,"value":172627},"    \"",{"type":426,"tag":553,"props":172629,"children":172630},{"style":560},[172631],{"type":431,"value":49102},{"type":426,"tag":553,"props":172633,"children":172634},{"style":572},[172635],{"type":431,"value":1250},{"type":426,"tag":553,"props":172637,"children":172638},{"class":555,"line":637},[172639,172643,172648],{"type":426,"tag":553,"props":172640,"children":172641},{"style":572},[172642],{"type":431,"value":172627},{"type":426,"tag":553,"props":172644,"children":172645},{"style":560},[172646],{"type":431,"value":172647},"encoding\u002Fjson",{"type":426,"tag":553,"props":172649,"children":172650},{"style":572},[172651],{"type":431,"value":1250},{"type":426,"tag":553,"props":172653,"children":172654},{"class":555,"line":646},[172655,172659,172664],{"type":426,"tag":553,"props":172656,"children":172657},{"style":572},[172658],{"type":431,"value":172627},{"type":426,"tag":553,"props":172660,"children":172661},{"style":560},[172662],{"type":431,"value":172663},"fmt",{"type":426,"tag":553,"props":172665,"children":172666},{"style":572},[172667],{"type":431,"value":1250},{"type":426,"tag":553,"props":172669,"children":172670},{"class":555,"line":655},[172671,172675,172680],{"type":426,"tag":553,"props":172672,"children":172673},{"style":572},[172674],{"type":431,"value":172627},{"type":426,"tag":553,"props":172676,"children":172677},{"style":560},[172678],{"type":431,"value":172679},"io",{"type":426,"tag":553,"props":172681,"children":172682},{"style":572},[172683],{"type":431,"value":1250},{"type":426,"tag":553,"props":172685,"children":172686},{"class":555,"line":1036},[172687,172691,172695],{"type":426,"tag":553,"props":172688,"children":172689},{"style":572},[172690],{"type":431,"value":172627},{"type":426,"tag":553,"props":172692,"children":172693},{"style":560},[172694],{"type":431,"value":172570},{"type":426,"tag":553,"props":172696,"children":172697},{"style":572},[172698],{"type":431,"value":1250},{"type":426,"tag":553,"props":172700,"children":172701},{"class":555,"line":1054},[172702],{"type":426,"tag":553,"props":172703,"children":172704},{"style":684},[172705],{"type":431,"value":3262},{"type":426,"tag":553,"props":172707,"children":172708},{"class":555,"line":1080},[172709],{"type":426,"tag":553,"props":172710,"children":172711},{"emptyLinePlaceholder":831},[172712],{"type":431,"value":834},{"type":426,"tag":553,"props":172714,"children":172715},{"class":555,"line":1097},[172716,172721,172725,172729,172733,172737,172741,172745,172749,172753,172758,172762,172766,172770,172774,172778,172783,172787],{"type":426,"tag":553,"props":172717,"children":172718},{"style":795},[172719],{"type":431,"value":172720},"func",{"type":426,"tag":553,"props":172722,"children":172723},{"style":560},[172724],{"type":431,"value":86403},{"type":426,"tag":553,"props":172726,"children":172727},{"style":684},[172728],{"type":431,"value":3275},{"type":426,"tag":553,"props":172730,"children":172731},{"style":1684},[172732],{"type":431,"value":37598},{"type":426,"tag":553,"props":172734,"children":172735},{"style":684},[172736],{"type":431,"value":1907},{"type":426,"tag":553,"props":172738,"children":172739},{"style":1684},[172740],{"type":431,"value":2734},{"type":426,"tag":553,"props":172742,"children":172743},{"style":684},[172744],{"type":431,"value":1907},{"type":426,"tag":553,"props":172746,"children":172747},{"style":1684},[172748],{"type":431,"value":55851},{"type":426,"tag":553,"props":172750,"children":172751},{"style":795},[172752],{"type":431,"value":76053},{"type":426,"tag":553,"props":172754,"children":172755},{"style":684},[172756],{"type":431,"value":172757},") (",{"type":426,"tag":553,"props":172759,"children":172760},{"style":795},[172761],{"type":431,"value":121330},{"type":426,"tag":553,"props":172763,"children":172764},{"style":684},[172765],{"type":431,"value":8051},{"type":426,"tag":553,"props":172767,"children":172768},{"style":795},[172769],{"type":431,"value":71939},{"type":426,"tag":553,"props":172771,"children":172772},{"style":684},[172773],{"type":431,"value":1240},{"type":426,"tag":553,"props":172775,"children":172776},{"style":795},[172777],{"type":431,"value":137793},{"type":426,"tag":553,"props":172779,"children":172780},{"style":684},[172781],{"type":431,"value":172782},"{}, ",{"type":426,"tag":553,"props":172784,"children":172785},{"style":795},[172786],{"type":431,"value":70759},{"type":426,"tag":553,"props":172788,"children":172789},{"style":684},[172790],{"type":431,"value":52385},{"type":426,"tag":553,"props":172792,"children":172793},{"class":555,"line":1114},[172794,172799,172804,172809,172814,172818,172822,172826,172830,172834,172838],{"type":426,"tag":553,"props":172795,"children":172796},{"style":684},[172797],{"type":431,"value":172798},"    payload, _ ",{"type":426,"tag":553,"props":172800,"children":172801},{"style":795},[172802],{"type":431,"value":172803},":=",{"type":426,"tag":553,"props":172805,"children":172806},{"style":684},[172807],{"type":431,"value":172808}," json.",{"type":426,"tag":553,"props":172810,"children":172811},{"style":560},[172812],{"type":431,"value":172813},"Marshal",{"type":426,"tag":553,"props":172815,"children":172816},{"style":684},[172817],{"type":431,"value":3275},{"type":426,"tag":553,"props":172819,"children":172820},{"style":795},[172821],{"type":431,"value":121330},{"type":426,"tag":553,"props":172823,"children":172824},{"style":684},[172825],{"type":431,"value":8051},{"type":426,"tag":553,"props":172827,"children":172828},{"style":795},[172829],{"type":431,"value":71939},{"type":426,"tag":553,"props":172831,"children":172832},{"style":684},[172833],{"type":431,"value":1240},{"type":426,"tag":553,"props":172835,"children":172836},{"style":795},[172837],{"type":431,"value":71939},{"type":426,"tag":553,"props":172839,"children":172840},{"style":684},[172841],{"type":431,"value":687},{"type":426,"tag":553,"props":172843,"children":172844},{"class":555,"line":1127},[172845,172849],{"type":426,"tag":553,"props":172846,"children":172847},{"style":572},[172848],{"type":431,"value":140764},{"type":426,"tag":553,"props":172850,"children":172851},{"style":684},[172852],{"type":431,"value":172853},":  phone,\n",{"type":426,"tag":553,"props":172855,"children":172856},{"class":555,"line":1167},[172857,172861],{"type":426,"tag":553,"props":172858,"children":172859},{"style":572},[172860],{"type":431,"value":147741},{"type":426,"tag":553,"props":172862,"children":172863},{"style":684},[172864],{"type":431,"value":169284},{"type":426,"tag":553,"props":172866,"children":172867},{"class":555,"line":1184},[172868],{"type":426,"tag":553,"props":172869,"children":172870},{"style":684},[172871],{"type":431,"value":15362},{"type":426,"tag":553,"props":172873,"children":172874},{"class":555,"line":1192},[172875],{"type":426,"tag":553,"props":172876,"children":172877},{"emptyLinePlaceholder":831},[172878],{"type":431,"value":834},{"type":426,"tag":553,"props":172880,"children":172881},{"class":555,"line":1210},[172882,172887,172891,172895,172900,172904,172908,172912,172916,172921,172926],{"type":426,"tag":553,"props":172883,"children":172884},{"style":684},[172885],{"type":431,"value":172886},"    req, _ ",{"type":426,"tag":553,"props":172888,"children":172889},{"style":795},[172890],{"type":431,"value":172803},{"type":426,"tag":553,"props":172892,"children":172893},{"style":684},[172894],{"type":431,"value":61407},{"type":426,"tag":553,"props":172896,"children":172897},{"style":560},[172898],{"type":431,"value":172899},"NewRequest",{"type":426,"tag":553,"props":172901,"children":172902},{"style":684},[172903],{"type":431,"value":3275},{"type":426,"tag":553,"props":172905,"children":172906},{"style":572},[172907],{"type":431,"value":60428},{"type":426,"tag":553,"props":172909,"children":172910},{"style":684},[172911],{"type":431,"value":1907},{"type":426,"tag":553,"props":172913,"children":172914},{"style":572},[172915],{"type":431,"value":60449},{"type":426,"tag":553,"props":172917,"children":172918},{"style":684},[172919],{"type":431,"value":172920},", bytes.",{"type":426,"tag":553,"props":172922,"children":172923},{"style":560},[172924],{"type":431,"value":172925},"NewBuffer",{"type":426,"tag":553,"props":172927,"children":172928},{"style":684},[172929],{"type":431,"value":172930},"(payload))\n",{"type":426,"tag":553,"props":172932,"children":172933},{"class":555,"line":1253},[172934,172939,172943,172947,172951,172955,172959,172963],{"type":426,"tag":553,"props":172935,"children":172936},{"style":684},[172937],{"type":431,"value":172938},"    req.Header.",{"type":426,"tag":553,"props":172940,"children":172941},{"style":560},[172942],{"type":431,"value":60378},{"type":426,"tag":553,"props":172944,"children":172945},{"style":684},[172946],{"type":431,"value":3275},{"type":426,"tag":553,"props":172948,"children":172949},{"style":572},[172950],{"type":431,"value":45214},{"type":426,"tag":553,"props":172952,"children":172953},{"style":684},[172954],{"type":431,"value":1907},{"type":426,"tag":553,"props":172956,"children":172957},{"style":572},[172958],{"type":431,"value":67549},{"type":426,"tag":553,"props":172960,"children":172961},{"style":795},[172962],{"type":431,"value":2033},{"type":426,"tag":553,"props":172964,"children":172965},{"style":684},[172966],{"type":431,"value":91551},{"type":426,"tag":553,"props":172968,"children":172969},{"class":555,"line":1302},[172970,172974,172978,172982,172986,172990,172994],{"type":426,"tag":553,"props":172971,"children":172972},{"style":684},[172973],{"type":431,"value":172938},{"type":426,"tag":553,"props":172975,"children":172976},{"style":560},[172977],{"type":431,"value":60378},{"type":426,"tag":553,"props":172979,"children":172980},{"style":684},[172981],{"type":431,"value":3275},{"type":426,"tag":553,"props":172983,"children":172984},{"style":572},[172985],{"type":431,"value":67578},{"type":426,"tag":553,"props":172987,"children":172988},{"style":684},[172989],{"type":431,"value":1907},{"type":426,"tag":553,"props":172991,"children":172992},{"style":572},[172993],{"type":431,"value":67587},{"type":426,"tag":553,"props":172995,"children":172996},{"style":684},[172997],{"type":431,"value":3262},{"type":426,"tag":553,"props":172999,"children":173000},{"class":555,"line":1374},[173001],{"type":426,"tag":553,"props":173002,"children":173003},{"emptyLinePlaceholder":831},[173004],{"type":431,"value":834},{"type":426,"tag":553,"props":173006,"children":173007},{"class":555,"line":1414},[173008,173013,173017,173022,173027],{"type":426,"tag":553,"props":173009,"children":173010},{"style":684},[173011],{"type":431,"value":173012},"    resp, err ",{"type":426,"tag":553,"props":173014,"children":173015},{"style":795},[173016],{"type":431,"value":172803},{"type":426,"tag":553,"props":173018,"children":173019},{"style":684},[173020],{"type":431,"value":173021}," http.DefaultClient.",{"type":426,"tag":553,"props":173023,"children":173024},{"style":560},[173025],{"type":431,"value":173026},"Do",{"type":426,"tag":553,"props":173028,"children":173029},{"style":684},[173030],{"type":431,"value":173031},"(req)\n",{"type":426,"tag":553,"props":173033,"children":173034},{"class":555,"line":1479},[173035,173039,173044,173048,173053],{"type":426,"tag":553,"props":173036,"children":173037},{"style":795},[173038],{"type":431,"value":925},{"type":426,"tag":553,"props":173040,"children":173041},{"style":684},[173042],{"type":431,"value":173043}," err ",{"type":426,"tag":553,"props":173045,"children":173046},{"style":795},[173047],{"type":431,"value":15114},{"type":426,"tag":553,"props":173049,"children":173050},{"style":566},[173051],{"type":431,"value":173052}," nil",{"type":426,"tag":553,"props":173054,"children":173055},{"style":684},[173056],{"type":431,"value":5458},{"type":426,"tag":553,"props":173058,"children":173059},{"class":555,"line":1517},[173060,173064,173068],{"type":426,"tag":553,"props":173061,"children":173062},{"style":795},[173063],{"type":431,"value":8378},{"type":426,"tag":553,"props":173065,"children":173066},{"style":566},[173067],{"type":431,"value":173052},{"type":426,"tag":553,"props":173069,"children":173070},{"style":684},[173071],{"type":431,"value":173072},", err\n",{"type":426,"tag":553,"props":173074,"children":173075},{"class":555,"line":1560},[173076],{"type":426,"tag":553,"props":173077,"children":173078},{"style":684},[173079],{"type":431,"value":5546},{"type":426,"tag":553,"props":173081,"children":173082},{"class":555,"line":1598},[173083,173088,173093,173098],{"type":426,"tag":553,"props":173084,"children":173085},{"style":795},[173086],{"type":431,"value":173087},"    defer",{"type":426,"tag":553,"props":173089,"children":173090},{"style":684},[173091],{"type":431,"value":173092}," resp.Body.",{"type":426,"tag":553,"props":173094,"children":173095},{"style":560},[173096],{"type":431,"value":173097},"Close",{"type":426,"tag":553,"props":173099,"children":173100},{"style":684},[173101],{"type":431,"value":11683},{"type":426,"tag":553,"props":173103,"children":173104},{"class":555,"line":1636},[173105],{"type":426,"tag":553,"props":173106,"children":173107},{"emptyLinePlaceholder":831},[173108],{"type":431,"value":834},{"type":426,"tag":553,"props":173110,"children":173111},{"class":555,"line":1645},[173112,173117,173121,173126,173131],{"type":426,"tag":553,"props":173113,"children":173114},{"style":684},[173115],{"type":431,"value":173116},"    body, _ ",{"type":426,"tag":553,"props":173118,"children":173119},{"style":795},[173120],{"type":431,"value":172803},{"type":426,"tag":553,"props":173122,"children":173123},{"style":684},[173124],{"type":431,"value":173125}," io.",{"type":426,"tag":553,"props":173127,"children":173128},{"style":560},[173129],{"type":431,"value":173130},"ReadAll",{"type":426,"tag":553,"props":173132,"children":173133},{"style":684},[173134],{"type":431,"value":173135},"(resp.Body)\n",{"type":426,"tag":553,"props":173137,"children":173138},{"class":555,"line":1653},[173139,173143,173147,173151,173155,173159,173163,173167],{"type":426,"tag":553,"props":173140,"children":173141},{"style":795},[173142],{"type":431,"value":72393},{"type":426,"tag":553,"props":173144,"children":173145},{"style":684},[173146],{"type":431,"value":69769},{"type":426,"tag":553,"props":173148,"children":173149},{"style":795},[173150],{"type":431,"value":121330},{"type":426,"tag":553,"props":173152,"children":173153},{"style":684},[173154],{"type":431,"value":8051},{"type":426,"tag":553,"props":173156,"children":173157},{"style":795},[173158],{"type":431,"value":71939},{"type":426,"tag":553,"props":173160,"children":173161},{"style":684},[173162],{"type":431,"value":1240},{"type":426,"tag":553,"props":173164,"children":173165},{"style":795},[173166],{"type":431,"value":137793},{"type":426,"tag":553,"props":173168,"children":173169},{"style":684},[173170],{"type":431,"value":173171},"{}\n",{"type":426,"tag":553,"props":173173,"children":173174},{"class":555,"line":1667},[173175,173180,173185,173190,173195],{"type":426,"tag":553,"props":173176,"children":173177},{"style":684},[173178],{"type":431,"value":173179},"    json.",{"type":426,"tag":553,"props":173181,"children":173182},{"style":560},[173183],{"type":431,"value":173184},"Unmarshal",{"type":426,"tag":553,"props":173186,"children":173187},{"style":684},[173188],{"type":431,"value":173189},"(body, ",{"type":426,"tag":553,"props":173191,"children":173192},{"style":795},[173193],{"type":431,"value":173194},"&",{"type":426,"tag":553,"props":173196,"children":173197},{"style":684},[173198],{"type":431,"value":173199},"result)\n",{"type":426,"tag":553,"props":173201,"children":173202},{"class":555,"line":1680},[173203,173207,173212],{"type":426,"tag":553,"props":173204,"children":173205},{"style":795},[173206],{"type":431,"value":1659},{"type":426,"tag":553,"props":173208,"children":173209},{"style":684},[173210],{"type":431,"value":173211}," result, ",{"type":426,"tag":553,"props":173213,"children":173214},{"style":566},[173215],{"type":431,"value":173216},"nil\n",{"type":426,"tag":553,"props":173218,"children":173219},{"class":555,"line":1740},[173220],{"type":426,"tag":553,"props":173221,"children":173222},{"style":684},[173223],{"type":431,"value":756},{"type":426,"tag":553,"props":173225,"children":173226},{"class":555,"line":1787},[173227],{"type":426,"tag":553,"props":173228,"children":173229},{"emptyLinePlaceholder":831},[173230],{"type":431,"value":834},{"type":426,"tag":553,"props":173232,"children":173233},{"class":555,"line":1796},[173234,173238,173242],{"type":426,"tag":553,"props":173235,"children":173236},{"style":795},[173237],{"type":431,"value":172720},{"type":426,"tag":553,"props":173239,"children":173240},{"style":560},[173241],{"type":431,"value":68282},{"type":426,"tag":553,"props":173243,"children":173244},{"style":684},[173245],{"type":431,"value":69042},{"type":426,"tag":553,"props":173247,"children":173248},{"class":555,"line":1804},[173249,173254,173258,173262,173266,173270,173274,173279,173283,173287],{"type":426,"tag":553,"props":173250,"children":173251},{"style":684},[173252],{"type":431,"value":173253},"    result, _ ",{"type":426,"tag":553,"props":173255,"children":173256},{"style":795},[173257],{"type":431,"value":172803},{"type":426,"tag":553,"props":173259,"children":173260},{"style":560},[173261],{"type":431,"value":86403},{"type":426,"tag":553,"props":173263,"children":173264},{"style":684},[173265],{"type":431,"value":3275},{"type":426,"tag":553,"props":173267,"children":173268},{"style":572},[173269],{"type":431,"value":7286},{"type":426,"tag":553,"props":173271,"children":173272},{"style":684},[173273],{"type":431,"value":1907},{"type":426,"tag":553,"props":173275,"children":173276},{"style":572},[173277],{"type":431,"value":173278},"\"Hello from Go!\"",{"type":426,"tag":553,"props":173280,"children":173281},{"style":684},[173282],{"type":431,"value":1907},{"type":426,"tag":553,"props":173284,"children":173285},{"style":572},[173286],{"type":431,"value":68341},{"type":426,"tag":553,"props":173288,"children":173289},{"style":684},[173290],{"type":431,"value":3262},{"type":426,"tag":553,"props":173292,"children":173293},{"class":555,"line":1812},[173294,173299,173304],{"type":426,"tag":553,"props":173295,"children":173296},{"style":684},[173297],{"type":431,"value":173298},"    fmt.",{"type":426,"tag":553,"props":173300,"children":173301},{"style":560},[173302],{"type":431,"value":173303},"Println",{"type":426,"tag":553,"props":173305,"children":173306},{"style":684},[173307],{"type":431,"value":79174},{"type":426,"tag":553,"props":173309,"children":173310},{"class":555,"line":1847},[173311],{"type":426,"tag":553,"props":173312,"children":173313},{"style":1975},[173314],{"type":431,"value":173315},"    \u002F\u002F map[messageId:msg_abc123 status:success]\n",{"type":426,"tag":553,"props":173317,"children":173318},{"class":555,"line":1856},[173319],{"type":426,"tag":553,"props":173320,"children":173321},{"style":684},[173322],{"type":431,"value":756},{"type":426,"tag":427,"props":173324,"children":173325},{},[173326],{"type":431,"value":173327},"No external packages — uses Go's standard library.",{"type":426,"tag":6880,"props":173329,"children":173330},{},[],{"type":426,"tag":434,"props":173332,"children":173334},{"id":173333},"kotlin-android-jvm",[173335],{"type":431,"value":173336},"Kotlin (Android \u002F JVM)",{"type":426,"tag":542,"props":173338,"children":173342},{"className":173339,"code":173340,"language":173341,"meta":417,"style":417},"language-kotlin shiki shiki-themes github-dark","import java.net.HttpURLConnection\nimport java.net.URL\nimport org.json.JSONObject\n\nfun sendWhatsApp(phone: String, message: String, apiKey: String): JSONObject {\n    val url = URL(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\")\n    val connection = url.openConnection() as HttpURLConnection\n    connection.requestMethod = \"POST\"\n    connection.setRequestProperty(\"Authorization\", \"Bearer $apiKey\")\n    connection.setRequestProperty(\"Content-Type\", \"application\u002Fjson\")\n    connection.doOutput = true\n\n    val body = JSONObject().apply {\n        put(\"number\", phone)\n        put(\"message\", message)\n    }.toString().toByteArray()\n\n    connection.outputStream.write(body)\n    \n    val response = connection.inputStream.bufferedReader().readText()\n    return JSONObject(response)\n}\n\n\u002F\u002F Usage\nval result = sendWhatsApp(\"8801234567890\", \"Hello from Kotlin!\", \"YOUR_API_KEY\")\nprintln(result) \u002F\u002F {\"status\":\"success\",\"messageId\":\"msg_abc123\"}\n","kotlin",[173343],{"type":426,"tag":549,"props":173344,"children":173345},{"__ignoreMap":417},[173346,173358,173370,173382,173389,173439,173473,173512,173529,173570,173601,173617,173624,173658,173679,173699,173724,173731,173748,173755,173793,173809,173816,173823,173830,173879],{"type":426,"tag":553,"props":173347,"children":173348},{"class":555,"line":556},[173349,173353],{"type":426,"tag":553,"props":173350,"children":173351},{"style":795},[173352],{"type":431,"value":798},{"type":426,"tag":553,"props":173354,"children":173355},{"style":560},[173356],{"type":431,"value":173357}," java.net.HttpURLConnection\n",{"type":426,"tag":553,"props":173359,"children":173360},{"class":555,"line":588},[173361,173365],{"type":426,"tag":553,"props":173362,"children":173363},{"style":795},[173364],{"type":431,"value":798},{"type":426,"tag":553,"props":173366,"children":173367},{"style":560},[173368],{"type":431,"value":173369}," java.net.URL\n",{"type":426,"tag":553,"props":173371,"children":173372},{"class":555,"line":606},[173373,173377],{"type":426,"tag":553,"props":173374,"children":173375},{"style":795},[173376],{"type":431,"value":798},{"type":426,"tag":553,"props":173378,"children":173379},{"style":560},[173380],{"type":431,"value":173381}," org.json.JSONObject\n",{"type":426,"tag":553,"props":173383,"children":173384},{"class":555,"line":623},[173385],{"type":426,"tag":553,"props":173386,"children":173387},{"emptyLinePlaceholder":831},[173388],{"type":431,"value":834},{"type":426,"tag":553,"props":173390,"children":173391},{"class":555,"line":637},[173392,173397,173401,173405,173409,173413,173417,173422,173426,173430,173435],{"type":426,"tag":553,"props":173393,"children":173394},{"style":795},[173395],{"type":431,"value":173396},"fun",{"type":426,"tag":553,"props":173398,"children":173399},{"style":560},[173400],{"type":431,"value":86403},{"type":426,"tag":553,"props":173402,"children":173403},{"style":684},[173404],{"type":431,"value":7446},{"type":426,"tag":553,"props":173406,"children":173407},{"style":560},[173408],{"type":431,"value":61237},{"type":426,"tag":553,"props":173410,"children":173411},{"style":684},[173412],{"type":431,"value":8713},{"type":426,"tag":553,"props":173414,"children":173415},{"style":560},[173416],{"type":431,"value":61237},{"type":426,"tag":553,"props":173418,"children":173419},{"style":684},[173420],{"type":431,"value":173421},", apiKey: ",{"type":426,"tag":553,"props":173423,"children":173424},{"style":560},[173425],{"type":431,"value":61237},{"type":426,"tag":553,"props":173427,"children":173428},{"style":684},[173429],{"type":431,"value":65309},{"type":426,"tag":553,"props":173431,"children":173432},{"style":560},[173433],{"type":431,"value":173434},"JSONObject",{"type":426,"tag":553,"props":173436,"children":173437},{"style":684},[173438],{"type":431,"value":5458},{"type":426,"tag":553,"props":173440,"children":173441},{"class":555,"line":646},[173442,173447,173452,173456,173461,173465,173469],{"type":426,"tag":553,"props":173443,"children":173444},{"style":795},[173445],{"type":431,"value":173446},"    val",{"type":426,"tag":553,"props":173448,"children":173449},{"style":684},[173450],{"type":431,"value":173451}," url ",{"type":426,"tag":553,"props":173453,"children":173454},{"style":795},[173455],{"type":431,"value":957},{"type":426,"tag":553,"props":173457,"children":173458},{"style":560},[173459],{"type":431,"value":173460}," URL",{"type":426,"tag":553,"props":173462,"children":173463},{"style":684},[173464],{"type":431,"value":3275},{"type":426,"tag":553,"props":173466,"children":173467},{"style":572},[173468],{"type":431,"value":60449},{"type":426,"tag":553,"props":173470,"children":173471},{"style":684},[173472],{"type":431,"value":3262},{"type":426,"tag":553,"props":173474,"children":173475},{"class":555,"line":655},[173476,173480,173485,173489,173494,173499,173503,173507],{"type":426,"tag":553,"props":173477,"children":173478},{"style":795},[173479],{"type":431,"value":173446},{"type":426,"tag":553,"props":173481,"children":173482},{"style":684},[173483],{"type":431,"value":173484}," connection ",{"type":426,"tag":553,"props":173486,"children":173487},{"style":795},[173488],{"type":431,"value":957},{"type":426,"tag":553,"props":173490,"children":173491},{"style":684},[173492],{"type":431,"value":173493}," url.",{"type":426,"tag":553,"props":173495,"children":173496},{"style":560},[173497],{"type":431,"value":173498},"openConnection",{"type":426,"tag":553,"props":173500,"children":173501},{"style":684},[173502],{"type":431,"value":61573},{"type":426,"tag":553,"props":173504,"children":173505},{"style":795},[173506],{"type":431,"value":10075},{"type":426,"tag":553,"props":173508,"children":173509},{"style":684},[173510],{"type":431,"value":173511}," HttpURLConnection\n",{"type":426,"tag":553,"props":173513,"children":173514},{"class":555,"line":1036},[173515,173520,173524],{"type":426,"tag":553,"props":173516,"children":173517},{"style":684},[173518],{"type":431,"value":173519},"    connection.requestMethod ",{"type":426,"tag":553,"props":173521,"children":173522},{"style":795},[173523],{"type":431,"value":957},{"type":426,"tag":553,"props":173525,"children":173526},{"style":572},[173527],{"type":431,"value":173528}," \"POST\"\n",{"type":426,"tag":553,"props":173530,"children":173531},{"class":555,"line":1054},[173532,173537,173542,173546,173550,173554,173558,173562,173566],{"type":426,"tag":553,"props":173533,"children":173534},{"style":684},[173535],{"type":431,"value":173536},"    connection.",{"type":426,"tag":553,"props":173538,"children":173539},{"style":560},[173540],{"type":431,"value":173541},"setRequestProperty",{"type":426,"tag":553,"props":173543,"children":173544},{"style":684},[173545],{"type":431,"value":3275},{"type":426,"tag":553,"props":173547,"children":173548},{"style":572},[173549],{"type":431,"value":45214},{"type":426,"tag":553,"props":173551,"children":173552},{"style":684},[173553],{"type":431,"value":1907},{"type":426,"tag":553,"props":173555,"children":173556},{"style":572},[173557],{"type":431,"value":12608},{"type":426,"tag":553,"props":173559,"children":173560},{"style":566},[173561],{"type":431,"value":86584},{"type":426,"tag":553,"props":173563,"children":173564},{"style":572},[173565],{"type":431,"value":1527},{"type":426,"tag":553,"props":173567,"children":173568},{"style":684},[173569],{"type":431,"value":3262},{"type":426,"tag":553,"props":173571,"children":173572},{"class":555,"line":1080},[173573,173577,173581,173585,173589,173593,173597],{"type":426,"tag":553,"props":173574,"children":173575},{"style":684},[173576],{"type":431,"value":173536},{"type":426,"tag":553,"props":173578,"children":173579},{"style":560},[173580],{"type":431,"value":173541},{"type":426,"tag":553,"props":173582,"children":173583},{"style":684},[173584],{"type":431,"value":3275},{"type":426,"tag":553,"props":173586,"children":173587},{"style":572},[173588],{"type":431,"value":67578},{"type":426,"tag":553,"props":173590,"children":173591},{"style":684},[173592],{"type":431,"value":1907},{"type":426,"tag":553,"props":173594,"children":173595},{"style":572},[173596],{"type":431,"value":67587},{"type":426,"tag":553,"props":173598,"children":173599},{"style":684},[173600],{"type":431,"value":3262},{"type":426,"tag":553,"props":173602,"children":173603},{"class":555,"line":1097},[173604,173609,173613],{"type":426,"tag":553,"props":173605,"children":173606},{"style":684},[173607],{"type":431,"value":173608},"    connection.doOutput ",{"type":426,"tag":553,"props":173610,"children":173611},{"style":795},[173612],{"type":431,"value":957},{"type":426,"tag":553,"props":173614,"children":173615},{"style":566},[173616],{"type":431,"value":172257},{"type":426,"tag":553,"props":173618,"children":173619},{"class":555,"line":1114},[173620],{"type":426,"tag":553,"props":173621,"children":173622},{"emptyLinePlaceholder":831},[173623],{"type":431,"value":834},{"type":426,"tag":553,"props":173625,"children":173626},{"class":555,"line":1127},[173627,173631,173636,173640,173645,173649,173654],{"type":426,"tag":553,"props":173628,"children":173629},{"style":795},[173630],{"type":431,"value":173446},{"type":426,"tag":553,"props":173632,"children":173633},{"style":684},[173634],{"type":431,"value":173635}," body ",{"type":426,"tag":553,"props":173637,"children":173638},{"style":795},[173639],{"type":431,"value":957},{"type":426,"tag":553,"props":173641,"children":173642},{"style":560},[173643],{"type":431,"value":173644}," JSONObject",{"type":426,"tag":553,"props":173646,"children":173647},{"style":684},[173648],{"type":431,"value":53311},{"type":426,"tag":553,"props":173650,"children":173651},{"style":560},[173652],{"type":431,"value":173653},"apply",{"type":426,"tag":553,"props":173655,"children":173656},{"style":684},[173657],{"type":431,"value":5458},{"type":426,"tag":553,"props":173659,"children":173660},{"class":555,"line":1167},[173661,173666,173670,173674],{"type":426,"tag":553,"props":173662,"children":173663},{"style":560},[173664],{"type":431,"value":173665},"        put",{"type":426,"tag":553,"props":173667,"children":173668},{"style":684},[173669],{"type":431,"value":3275},{"type":426,"tag":553,"props":173671,"children":173672},{"style":572},[173673],{"type":431,"value":45266},{"type":426,"tag":553,"props":173675,"children":173676},{"style":684},[173677],{"type":431,"value":173678},", phone)\n",{"type":426,"tag":553,"props":173680,"children":173681},{"class":555,"line":1184},[173682,173686,173690,173694],{"type":426,"tag":553,"props":173683,"children":173684},{"style":560},[173685],{"type":431,"value":173665},{"type":426,"tag":553,"props":173687,"children":173688},{"style":684},[173689],{"type":431,"value":3275},{"type":426,"tag":553,"props":173691,"children":173692},{"style":572},[173693],{"type":431,"value":45275},{"type":426,"tag":553,"props":173695,"children":173696},{"style":684},[173697],{"type":431,"value":173698},", message)\n",{"type":426,"tag":553,"props":173700,"children":173701},{"class":555,"line":1192},[173702,173707,173711,173715,173720],{"type":426,"tag":553,"props":173703,"children":173704},{"style":684},[173705],{"type":431,"value":173706},"    }.",{"type":426,"tag":553,"props":173708,"children":173709},{"style":560},[173710],{"type":431,"value":53316},{"type":426,"tag":553,"props":173712,"children":173713},{"style":684},[173714],{"type":431,"value":53311},{"type":426,"tag":553,"props":173716,"children":173717},{"style":560},[173718],{"type":431,"value":173719},"toByteArray",{"type":426,"tag":553,"props":173721,"children":173722},{"style":684},[173723],{"type":431,"value":11683},{"type":426,"tag":553,"props":173725,"children":173726},{"class":555,"line":1210},[173727],{"type":426,"tag":553,"props":173728,"children":173729},{"emptyLinePlaceholder":831},[173730],{"type":431,"value":834},{"type":426,"tag":553,"props":173732,"children":173733},{"class":555,"line":1253},[173734,173739,173743],{"type":426,"tag":553,"props":173735,"children":173736},{"style":684},[173737],{"type":431,"value":173738},"    connection.outputStream.",{"type":426,"tag":553,"props":173740,"children":173741},{"style":560},[173742],{"type":431,"value":113926},{"type":426,"tag":553,"props":173744,"children":173745},{"style":684},[173746],{"type":431,"value":173747},"(body)\n",{"type":426,"tag":553,"props":173749,"children":173750},{"class":555,"line":1302},[173751],{"type":426,"tag":553,"props":173752,"children":173753},{"style":684},[173754],{"type":431,"value":917},{"type":426,"tag":553,"props":173756,"children":173757},{"class":555,"line":1374},[173758,173762,173766,173770,173775,173780,173784,173789],{"type":426,"tag":553,"props":173759,"children":173760},{"style":795},[173761],{"type":431,"value":173446},{"type":426,"tag":553,"props":173763,"children":173764},{"style":684},[173765],{"type":431,"value":69497},{"type":426,"tag":553,"props":173767,"children":173768},{"style":795},[173769],{"type":431,"value":957},{"type":426,"tag":553,"props":173771,"children":173772},{"style":684},[173773],{"type":431,"value":173774}," connection.inputStream.",{"type":426,"tag":553,"props":173776,"children":173777},{"style":560},[173778],{"type":431,"value":173779},"bufferedReader",{"type":426,"tag":553,"props":173781,"children":173782},{"style":684},[173783],{"type":431,"value":53311},{"type":426,"tag":553,"props":173785,"children":173786},{"style":560},[173787],{"type":431,"value":173788},"readText",{"type":426,"tag":553,"props":173790,"children":173791},{"style":684},[173792],{"type":431,"value":11683},{"type":426,"tag":553,"props":173794,"children":173795},{"class":555,"line":1414},[173796,173800,173804],{"type":426,"tag":553,"props":173797,"children":173798},{"style":795},[173799],{"type":431,"value":1659},{"type":426,"tag":553,"props":173801,"children":173802},{"style":560},[173803],{"type":431,"value":173644},{"type":426,"tag":553,"props":173805,"children":173806},{"style":684},[173807],{"type":431,"value":173808},"(response)\n",{"type":426,"tag":553,"props":173810,"children":173811},{"class":555,"line":1479},[173812],{"type":426,"tag":553,"props":173813,"children":173814},{"style":684},[173815],{"type":431,"value":756},{"type":426,"tag":553,"props":173817,"children":173818},{"class":555,"line":1517},[173819],{"type":426,"tag":553,"props":173820,"children":173821},{"emptyLinePlaceholder":831},[173822],{"type":431,"value":834},{"type":426,"tag":553,"props":173824,"children":173825},{"class":555,"line":1560},[173826],{"type":426,"tag":553,"props":173827,"children":173828},{"style":1975},[173829],{"type":431,"value":53575},{"type":426,"tag":553,"props":173831,"children":173832},{"class":555,"line":1598},[173833,173838,173842,173846,173850,173854,173858,173862,173867,173871,173875],{"type":426,"tag":553,"props":173834,"children":173835},{"style":795},[173836],{"type":431,"value":173837},"val",{"type":426,"tag":553,"props":173839,"children":173840},{"style":684},[173841],{"type":431,"value":69769},{"type":426,"tag":553,"props":173843,"children":173844},{"style":795},[173845],{"type":431,"value":957},{"type":426,"tag":553,"props":173847,"children":173848},{"style":560},[173849],{"type":431,"value":86403},{"type":426,"tag":553,"props":173851,"children":173852},{"style":684},[173853],{"type":431,"value":3275},{"type":426,"tag":553,"props":173855,"children":173856},{"style":572},[173857],{"type":431,"value":7286},{"type":426,"tag":553,"props":173859,"children":173860},{"style":684},[173861],{"type":431,"value":1907},{"type":426,"tag":553,"props":173863,"children":173864},{"style":572},[173865],{"type":431,"value":173866},"\"Hello from Kotlin!\"",{"type":426,"tag":553,"props":173868,"children":173869},{"style":684},[173870],{"type":431,"value":1907},{"type":426,"tag":553,"props":173872,"children":173873},{"style":572},[173874],{"type":431,"value":68341},{"type":426,"tag":553,"props":173876,"children":173877},{"style":684},[173878],{"type":431,"value":3262},{"type":426,"tag":553,"props":173880,"children":173881},{"class":555,"line":1636},[173882,173886,173891],{"type":426,"tag":553,"props":173883,"children":173884},{"style":560},[173885],{"type":431,"value":68204},{"type":426,"tag":553,"props":173887,"children":173888},{"style":684},[173889],{"type":431,"value":173890},"(result) ",{"type":426,"tag":553,"props":173892,"children":173893},{"style":1975},[173894],{"type":431,"value":171149},{"type":426,"tag":6880,"props":173896,"children":173897},{},[],{"type":426,"tag":434,"props":173899,"children":173901},{"id":173900},"laravel-php-framework",[173902],{"type":431,"value":173903},"Laravel (PHP Framework)",{"type":426,"tag":542,"props":173905,"children":173907},{"className":79948,"code":173906,"language":79950,"meta":417,"style":417},"\u003C?php\nnamespace App\\Services;\n\nuse Illuminate\\Support\\Facades\\Http;\n\nclass WhatsAppService\n{\n    private string $apiKey;\n    private string $endpoint = 'https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message';\n\n    public function __construct()\n    {\n        $this->apiKey = config('services.rapiwa.key');\n    }\n\n    public function send(string $phone, string $message): array\n    {\n        $response = Http::withHeaders([\n            'Authorization' => 'Bearer ' . $this->apiKey,\n        ])->post($this->endpoint, [\n            'number'  => $phone,\n            'message' => $message,\n        ]);\n\n        return $response->json();\n    }\n}\n\n\u002F\u002F In config\u002Fservices.php:\n\u002F\u002F 'rapiwa' => ['key' => env('RAPIWA_API_KEY')],\n\n\u002F\u002F Usage in controller:\n\u002F\u002F $whatsapp = new WhatsAppService();\n\u002F\u002F $result = $whatsapp->send('8801234567890', 'Hello from Laravel!');\n",[173908],{"type":426,"tag":549,"props":173909,"children":173910},{"__ignoreMap":417},[173911,173922,173937,173944,173959,173966,173978,173985,174000,174028,174035,174054,174061,174096,174103,174110,174153,174160,174188,174220,174253,174268,174283,174290,174297,174320,174327,174334,174341,174349,174357,174364,174372,174380],{"type":426,"tag":553,"props":173912,"children":173913},{"class":555,"line":556},[173914,173918],{"type":426,"tag":553,"props":173915,"children":173916},{"style":795},[173917],{"type":431,"value":86379},{"type":426,"tag":553,"props":173919,"children":173920},{"style":566},[173921],{"type":431,"value":86384},{"type":426,"tag":553,"props":173923,"children":173924},{"class":555,"line":588},[173925,173929,173933],{"type":426,"tag":553,"props":173926,"children":173927},{"style":795},[173928],{"type":431,"value":72817},{"type":426,"tag":553,"props":173930,"children":173931},{"style":560},[173932],{"type":431,"value":91139},{"type":426,"tag":553,"props":173934,"children":173935},{"style":684},[173936],{"type":431,"value":52321},{"type":426,"tag":553,"props":173938,"children":173939},{"class":555,"line":606},[173940],{"type":426,"tag":553,"props":173941,"children":173942},{"emptyLinePlaceholder":831},[173943],{"type":431,"value":834},{"type":426,"tag":553,"props":173945,"children":173946},{"class":555,"line":623},[173947,173951,173955],{"type":426,"tag":553,"props":173948,"children":173949},{"style":795},[173950],{"type":431,"value":84570},{"type":426,"tag":553,"props":173952,"children":173953},{"style":566},[173954],{"type":431,"value":91162},{"type":426,"tag":553,"props":173956,"children":173957},{"style":684},[173958],{"type":431,"value":52321},{"type":426,"tag":553,"props":173960,"children":173961},{"class":555,"line":637},[173962],{"type":426,"tag":553,"props":173963,"children":173964},{"emptyLinePlaceholder":831},[173965],{"type":431,"value":834},{"type":426,"tag":553,"props":173967,"children":173968},{"class":555,"line":646},[173969,173973],{"type":426,"tag":553,"props":173970,"children":173971},{"style":795},[173972],{"type":431,"value":11909},{"type":426,"tag":553,"props":173974,"children":173975},{"style":560},[173976],{"type":431,"value":173977}," WhatsAppService\n",{"type":426,"tag":553,"props":173979,"children":173980},{"class":555,"line":655},[173981],{"type":426,"tag":553,"props":173982,"children":173983},{"style":684},[173984],{"type":431,"value":687},{"type":426,"tag":553,"props":173986,"children":173987},{"class":555,"line":1036},[173988,173992,173996],{"type":426,"tag":553,"props":173989,"children":173990},{"style":795},[173991],{"type":431,"value":60857},{"type":426,"tag":553,"props":173993,"children":173994},{"style":795},[173995],{"type":431,"value":76053},{"type":426,"tag":553,"props":173997,"children":173998},{"style":684},[173999],{"type":431,"value":91223},{"type":426,"tag":553,"props":174001,"children":174002},{"class":555,"line":1054},[174003,174007,174011,174016,174020,174024],{"type":426,"tag":553,"props":174004,"children":174005},{"style":795},[174006],{"type":431,"value":60857},{"type":426,"tag":553,"props":174008,"children":174009},{"style":795},[174010],{"type":431,"value":76053},{"type":426,"tag":553,"props":174012,"children":174013},{"style":684},[174014],{"type":431,"value":174015}," $endpoint ",{"type":426,"tag":553,"props":174017,"children":174018},{"style":795},[174019],{"type":431,"value":957},{"type":426,"tag":553,"props":174021,"children":174022},{"style":572},[174023],{"type":431,"value":60881},{"type":426,"tag":553,"props":174025,"children":174026},{"style":684},[174027],{"type":431,"value":52321},{"type":426,"tag":553,"props":174029,"children":174030},{"class":555,"line":1080},[174031],{"type":426,"tag":553,"props":174032,"children":174033},{"emptyLinePlaceholder":831},[174034],{"type":431,"value":834},{"type":426,"tag":553,"props":174036,"children":174037},{"class":555,"line":1097},[174038,174042,174046,174050],{"type":426,"tag":553,"props":174039,"children":174040},{"style":795},[174041],{"type":431,"value":61004},{"type":426,"tag":553,"props":174043,"children":174044},{"style":795},[174045],{"type":431,"value":52366},{"type":426,"tag":553,"props":174047,"children":174048},{"style":566},[174049],{"type":431,"value":87581},{"type":426,"tag":553,"props":174051,"children":174052},{"style":684},[174053],{"type":431,"value":11683},{"type":426,"tag":553,"props":174055,"children":174056},{"class":555,"line":1114},[174057],{"type":426,"tag":553,"props":174058,"children":174059},{"style":684},[174060],{"type":431,"value":73368},{"type":426,"tag":553,"props":174062,"children":174063},{"class":555,"line":1127},[174064,174068,174072,174076,174080,174084,174088,174092],{"type":426,"tag":553,"props":174065,"children":174066},{"style":566},[174067],{"type":431,"value":87614},{"type":426,"tag":553,"props":174069,"children":174070},{"style":795},[174071],{"type":431,"value":70711},{"type":426,"tag":553,"props":174073,"children":174074},{"style":684},[174075],{"type":431,"value":91288},{"type":426,"tag":553,"props":174077,"children":174078},{"style":795},[174079],{"type":431,"value":957},{"type":426,"tag":553,"props":174081,"children":174082},{"style":560},[174083],{"type":431,"value":91297},{"type":426,"tag":553,"props":174085,"children":174086},{"style":684},[174087],{"type":431,"value":3275},{"type":426,"tag":553,"props":174089,"children":174090},{"style":572},[174091],{"type":431,"value":91306},{"type":426,"tag":553,"props":174093,"children":174094},{"style":684},[174095],{"type":431,"value":11379},{"type":426,"tag":553,"props":174097,"children":174098},{"class":555,"line":1167},[174099],{"type":426,"tag":553,"props":174100,"children":174101},{"style":684},[174102],{"type":431,"value":5546},{"type":426,"tag":553,"props":174104,"children":174105},{"class":555,"line":1184},[174106],{"type":426,"tag":553,"props":174107,"children":174108},{"emptyLinePlaceholder":831},[174109],{"type":431,"value":834},{"type":426,"tag":553,"props":174111,"children":174112},{"class":555,"line":1192},[174113,174117,174121,174125,174129,174133,174137,174141,174145,174149],{"type":426,"tag":553,"props":174114,"children":174115},{"style":795},[174116],{"type":431,"value":61004},{"type":426,"tag":553,"props":174118,"children":174119},{"style":795},[174120],{"type":431,"value":52366},{"type":426,"tag":553,"props":174122,"children":174123},{"style":560},[174124],{"type":431,"value":93356},{"type":426,"tag":553,"props":174126,"children":174127},{"style":684},[174128],{"type":431,"value":3275},{"type":426,"tag":553,"props":174130,"children":174131},{"style":795},[174132],{"type":431,"value":71939},{"type":426,"tag":553,"props":174134,"children":174135},{"style":684},[174136],{"type":431,"value":79980},{"type":426,"tag":553,"props":174138,"children":174139},{"style":795},[174140],{"type":431,"value":71939},{"type":426,"tag":553,"props":174142,"children":174143},{"style":684},[174144],{"type":431,"value":87812},{"type":426,"tag":553,"props":174146,"children":174147},{"style":795},[174148],{"type":431,"value":19071},{"type":426,"tag":553,"props":174150,"children":174151},{"style":795},[174152],{"type":431,"value":86442},{"type":426,"tag":553,"props":174154,"children":174155},{"class":555,"line":1210},[174156],{"type":426,"tag":553,"props":174157,"children":174158},{"style":684},[174159],{"type":431,"value":73368},{"type":426,"tag":553,"props":174161,"children":174162},{"class":555,"line":1253},[174163,174167,174171,174175,174179,174184],{"type":426,"tag":553,"props":174164,"children":174165},{"style":684},[174166],{"type":431,"value":88380},{"type":426,"tag":553,"props":174168,"children":174169},{"style":795},[174170],{"type":431,"value":957},{"type":426,"tag":553,"props":174172,"children":174173},{"style":566},[174174],{"type":431,"value":61386},{"type":426,"tag":553,"props":174176,"children":174177},{"style":795},[174178],{"type":431,"value":91528},{"type":426,"tag":553,"props":174180,"children":174181},{"style":560},[174182],{"type":431,"value":174183},"withHeaders",{"type":426,"tag":553,"props":174185,"children":174186},{"style":684},[174187],{"type":431,"value":80183},{"type":426,"tag":553,"props":174189,"children":174190},{"class":555,"line":1302},[174191,174195,174199,174203,174207,174211,174215],{"type":426,"tag":553,"props":174192,"children":174193},{"style":572},[174194],{"type":431,"value":89889},{"type":426,"tag":553,"props":174196,"children":174197},{"style":795},[174198],{"type":431,"value":53709},{"type":426,"tag":553,"props":174200,"children":174201},{"style":572},[174202],{"type":431,"value":89898},{"type":426,"tag":553,"props":174204,"children":174205},{"style":795},[174206],{"type":431,"value":87022},{"type":426,"tag":553,"props":174208,"children":174209},{"style":566},[174210],{"type":431,"value":87855},{"type":426,"tag":553,"props":174212,"children":174213},{"style":795},[174214],{"type":431,"value":70711},{"type":426,"tag":553,"props":174216,"children":174217},{"style":684},[174218],{"type":431,"value":174219},"apiKey,\n",{"type":426,"tag":553,"props":174221,"children":174222},{"class":555,"line":1374},[174223,174228,174232,174236,174240,174244,174248],{"type":426,"tag":553,"props":174224,"children":174225},{"style":684},[174226],{"type":431,"value":174227},"        ])",{"type":426,"tag":553,"props":174229,"children":174230},{"style":795},[174231],{"type":431,"value":70711},{"type":426,"tag":553,"props":174233,"children":174234},{"style":560},[174235],{"type":431,"value":70594},{"type":426,"tag":553,"props":174237,"children":174238},{"style":684},[174239],{"type":431,"value":3275},{"type":426,"tag":553,"props":174241,"children":174242},{"style":566},[174243],{"type":431,"value":91542},{"type":426,"tag":553,"props":174245,"children":174246},{"style":795},[174247],{"type":431,"value":70711},{"type":426,"tag":553,"props":174249,"children":174250},{"style":684},[174251],{"type":431,"value":174252},"endpoint, [\n",{"type":426,"tag":553,"props":174254,"children":174255},{"class":555,"line":1414},[174256,174260,174264],{"type":426,"tag":553,"props":174257,"children":174258},{"style":572},[174259],{"type":431,"value":15045},{"type":426,"tag":553,"props":174261,"children":174262},{"style":795},[174263],{"type":431,"value":86642},{"type":426,"tag":553,"props":174265,"children":174266},{"style":684},[174267],{"type":431,"value":80199},{"type":426,"tag":553,"props":174269,"children":174270},{"class":555,"line":1479},[174271,174275,174279],{"type":426,"tag":553,"props":174272,"children":174273},{"style":572},[174274],{"type":431,"value":15058},{"type":426,"tag":553,"props":174276,"children":174277},{"style":795},[174278],{"type":431,"value":53709},{"type":426,"tag":553,"props":174280,"children":174281},{"style":684},[174282],{"type":431,"value":86662},{"type":426,"tag":553,"props":174284,"children":174285},{"class":555,"line":1517},[174286],{"type":426,"tag":553,"props":174287,"children":174288},{"style":684},[174289],{"type":431,"value":87762},{"type":426,"tag":553,"props":174291,"children":174292},{"class":555,"line":1560},[174293],{"type":426,"tag":553,"props":174294,"children":174295},{"emptyLinePlaceholder":831},[174296],{"type":431,"value":834},{"type":426,"tag":553,"props":174298,"children":174299},{"class":555,"line":1598},[174300,174304,174308,174312,174316],{"type":426,"tag":553,"props":174301,"children":174302},{"style":795},[174303],{"type":431,"value":8378},{"type":426,"tag":553,"props":174305,"children":174306},{"style":684},[174307],{"type":431,"value":90064},{"type":426,"tag":553,"props":174309,"children":174310},{"style":795},[174311],{"type":431,"value":70711},{"type":426,"tag":553,"props":174313,"children":174314},{"style":560},[174315],{"type":431,"value":673},{"type":426,"tag":553,"props":174317,"children":174318},{"style":684},[174319],{"type":431,"value":53227},{"type":426,"tag":553,"props":174321,"children":174322},{"class":555,"line":1636},[174323],{"type":426,"tag":553,"props":174324,"children":174325},{"style":684},[174326],{"type":431,"value":5546},{"type":426,"tag":553,"props":174328,"children":174329},{"class":555,"line":1645},[174330],{"type":426,"tag":553,"props":174331,"children":174332},{"style":684},[174333],{"type":431,"value":756},{"type":426,"tag":553,"props":174335,"children":174336},{"class":555,"line":1653},[174337],{"type":426,"tag":553,"props":174338,"children":174339},{"emptyLinePlaceholder":831},[174340],{"type":431,"value":834},{"type":426,"tag":553,"props":174342,"children":174343},{"class":555,"line":1667},[174344],{"type":426,"tag":553,"props":174345,"children":174346},{"style":1975},[174347],{"type":431,"value":174348},"\u002F\u002F In config\u002Fservices.php:\n",{"type":426,"tag":553,"props":174350,"children":174351},{"class":555,"line":1680},[174352],{"type":426,"tag":553,"props":174353,"children":174354},{"style":1975},[174355],{"type":431,"value":174356},"\u002F\u002F 'rapiwa' => ['key' => env('RAPIWA_API_KEY')],\n",{"type":426,"tag":553,"props":174358,"children":174359},{"class":555,"line":1740},[174360],{"type":426,"tag":553,"props":174361,"children":174362},{"emptyLinePlaceholder":831},[174363],{"type":431,"value":834},{"type":426,"tag":553,"props":174365,"children":174366},{"class":555,"line":1787},[174367],{"type":426,"tag":553,"props":174368,"children":174369},{"style":1975},[174370],{"type":431,"value":174371},"\u002F\u002F Usage in controller:\n",{"type":426,"tag":553,"props":174373,"children":174374},{"class":555,"line":1796},[174375],{"type":426,"tag":553,"props":174376,"children":174377},{"style":1975},[174378],{"type":431,"value":174379},"\u002F\u002F $whatsapp = new WhatsAppService();\n",{"type":426,"tag":553,"props":174381,"children":174382},{"class":555,"line":1804},[174383],{"type":426,"tag":553,"props":174384,"children":174385},{"style":1975},[174386],{"type":431,"value":174387},"\u002F\u002F $result = $whatsapp->send('8801234567890', 'Hello from Laravel!');\n",{"type":426,"tag":6880,"props":174389,"children":174390},{},[],{"type":426,"tag":434,"props":174392,"children":174394},{"id":174393},"django-python-web-framework",[174395],{"type":431,"value":174396},"Django \u002F Python Web Framework",{"type":426,"tag":542,"props":174398,"children":174400},{"className":785,"code":174399,"language":784,"meta":417,"style":417},"# views.py\nimport requests\nfrom django.conf import settings\n\ndef send_whatsapp_notification(phone_number, message):\n    \"\"\"Send WhatsApp message via Rapiwa API.\"\"\"\n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {settings.RAPIWA_API_KEY}\"},\n        json={\"number\": phone_number, \"message\": message},\n        timeout=10\n    )\n    return response.json()\n\n# In settings.py:\n# RAPIWA_API_KEY = os.getenv('RAPIWA_API_KEY')\n",[174401],{"type":426,"tag":549,"props":174402,"children":174403},{"__ignoreMap":417},[174404,174412,174423,174442,174449,174466,174474,174489,174500,174551,174582,174597,174604,174615,174622,174629],{"type":426,"tag":553,"props":174405,"children":174406},{"class":555,"line":556},[174407],{"type":426,"tag":553,"props":174408,"children":174409},{"style":1975},[174410],{"type":431,"value":174411},"# views.py\n",{"type":426,"tag":553,"props":174413,"children":174414},{"class":555,"line":588},[174415,174419],{"type":426,"tag":553,"props":174416,"children":174417},{"style":795},[174418],{"type":431,"value":798},{"type":426,"tag":553,"props":174420,"children":174421},{"style":684},[174422],{"type":431,"value":803},{"type":426,"tag":553,"props":174424,"children":174425},{"class":555,"line":606},[174426,174430,174434,174438],{"type":426,"tag":553,"props":174427,"children":174428},{"style":795},[174429],{"type":431,"value":811},{"type":426,"tag":553,"props":174431,"children":174432},{"style":684},[174433],{"type":431,"value":142905},{"type":426,"tag":553,"props":174435,"children":174436},{"style":795},[174437],{"type":431,"value":798},{"type":426,"tag":553,"props":174439,"children":174440},{"style":684},[174441],{"type":431,"value":142914},{"type":426,"tag":553,"props":174443,"children":174444},{"class":555,"line":623},[174445],{"type":426,"tag":553,"props":174446,"children":174447},{"emptyLinePlaceholder":831},[174448],{"type":431,"value":834},{"type":426,"tag":553,"props":174450,"children":174451},{"class":555,"line":637},[174452,174456,174461],{"type":426,"tag":553,"props":174453,"children":174454},{"style":795},[174455],{"type":431,"value":842},{"type":426,"tag":553,"props":174457,"children":174458},{"style":560},[174459],{"type":431,"value":174460}," send_whatsapp_notification",{"type":426,"tag":553,"props":174462,"children":174463},{"style":684},[174464],{"type":431,"value":174465},"(phone_number, message):\n",{"type":426,"tag":553,"props":174467,"children":174468},{"class":555,"line":646},[174469],{"type":426,"tag":553,"props":174470,"children":174471},{"style":572},[174472],{"type":431,"value":174473},"    \"\"\"Send WhatsApp message via Rapiwa API.\"\"\"\n",{"type":426,"tag":553,"props":174475,"children":174476},{"class":555,"line":655},[174477,174481,174485],{"type":426,"tag":553,"props":174478,"children":174479},{"style":684},[174480],{"type":431,"value":8117},{"type":426,"tag":553,"props":174482,"children":174483},{"style":795},[174484],{"type":431,"value":957},{"type":426,"tag":553,"props":174486,"children":174487},{"style":684},[174488],{"type":431,"value":1664},{"type":426,"tag":553,"props":174490,"children":174491},{"class":555,"line":1036},[174492,174496],{"type":426,"tag":553,"props":174493,"children":174494},{"style":572},[174495],{"type":431,"value":47296},{"type":426,"tag":553,"props":174497,"children":174498},{"style":684},[174499],{"type":431,"value":710},{"type":426,"tag":553,"props":174501,"children":174502},{"class":555,"line":1054},[174503,174507,174511,174515,174519,174523,174527,174531,174535,174539,174543,174547],{"type":426,"tag":553,"props":174504,"children":174505},{"style":1684},[174506],{"type":431,"value":1687},{"type":426,"tag":553,"props":174508,"children":174509},{"style":795},[174510],{"type":431,"value":957},{"type":426,"tag":553,"props":174512,"children":174513},{"style":684},[174514],{"type":431,"value":972},{"type":426,"tag":553,"props":174516,"children":174517},{"style":572},[174518],{"type":431,"value":45214},{"type":426,"tag":553,"props":174520,"children":174521},{"style":684},[174522],{"type":431,"value":700},{"type":426,"tag":553,"props":174524,"children":174525},{"style":795},[174526],{"type":431,"value":1709},{"type":426,"tag":553,"props":174528,"children":174529},{"style":572},[174530],{"type":431,"value":12608},{"type":426,"tag":553,"props":174532,"children":174533},{"style":566},[174534],{"type":431,"value":972},{"type":426,"tag":553,"props":174536,"children":174537},{"style":684},[174538],{"type":431,"value":143151},{"type":426,"tag":553,"props":174540,"children":174541},{"style":566},[174542],{"type":431,"value":143156},{"type":426,"tag":553,"props":174544,"children":174545},{"style":572},[174546],{"type":431,"value":1527},{"type":426,"tag":553,"props":174548,"children":174549},{"style":684},[174550],{"type":431,"value":1737},{"type":426,"tag":553,"props":174552,"children":174553},{"class":555,"line":1080},[174554,174558,174562,174566,174570,174574,174578],{"type":426,"tag":553,"props":174555,"children":174556},{"style":1684},[174557],{"type":431,"value":1746},{"type":426,"tag":553,"props":174559,"children":174560},{"style":795},[174561],{"type":431,"value":957},{"type":426,"tag":553,"props":174563,"children":174564},{"style":684},[174565],{"type":431,"value":972},{"type":426,"tag":553,"props":174567,"children":174568},{"style":572},[174569],{"type":431,"value":45266},{"type":426,"tag":553,"props":174571,"children":174572},{"style":684},[174573],{"type":431,"value":122245},{"type":426,"tag":553,"props":174575,"children":174576},{"style":572},[174577],{"type":431,"value":45275},{"type":426,"tag":553,"props":174579,"children":174580},{"style":684},[174581],{"type":431,"value":8940},{"type":426,"tag":553,"props":174583,"children":174584},{"class":555,"line":1097},[174585,174589,174593],{"type":426,"tag":553,"props":174586,"children":174587},{"style":1684},[174588],{"type":431,"value":51045},{"type":426,"tag":553,"props":174590,"children":174591},{"style":795},[174592],{"type":431,"value":957},{"type":426,"tag":553,"props":174594,"children":174595},{"style":566},[174596],{"type":431,"value":56966},{"type":426,"tag":553,"props":174598,"children":174599},{"class":555,"line":1114},[174600],{"type":426,"tag":553,"props":174601,"children":174602},{"style":684},[174603],{"type":431,"value":1642},{"type":426,"tag":553,"props":174605,"children":174606},{"class":555,"line":1127},[174607,174611],{"type":426,"tag":553,"props":174608,"children":174609},{"style":795},[174610],{"type":431,"value":1659},{"type":426,"tag":553,"props":174612,"children":174613},{"style":684},[174614],{"type":431,"value":9193},{"type":426,"tag":553,"props":174616,"children":174617},{"class":555,"line":1167},[174618],{"type":426,"tag":553,"props":174619,"children":174620},{"emptyLinePlaceholder":831},[174621],{"type":431,"value":834},{"type":426,"tag":553,"props":174623,"children":174624},{"class":555,"line":1184},[174625],{"type":426,"tag":553,"props":174626,"children":174627},{"style":1975},[174628],{"type":431,"value":143319},{"type":426,"tag":553,"props":174630,"children":174631},{"class":555,"line":1192},[174632],{"type":426,"tag":553,"props":174633,"children":174634},{"style":1975},[174635],{"type":431,"value":174636},"# RAPIWA_API_KEY = os.getenv('RAPIWA_API_KEY')\n",{"type":426,"tag":6880,"props":174638,"children":174639},{},[],{"type":426,"tag":434,"props":174641,"children":174643},{"id":174642},"summary-api-details-for-any-language",[174644],{"type":431,"value":174645},"Summary: API Details for Any Language",{"type":426,"tag":10600,"props":174647,"children":174648},{},[174649,174663],{"type":426,"tag":10604,"props":174650,"children":174651},{},[174652],{"type":426,"tag":10608,"props":174653,"children":174654},{},[174655,174659],{"type":426,"tag":10612,"props":174656,"children":174657},{},[174658],{"type":431,"value":145358},{"type":426,"tag":10612,"props":174660,"children":174661},{},[174662],{"type":431,"value":10621},{"type":426,"tag":10623,"props":174664,"children":174665},{},[174666,174682,174697,174712,174727,174751,174769,174785],{"type":426,"tag":10608,"props":174667,"children":174668},{},[174669,174674],{"type":426,"tag":10630,"props":174670,"children":174671},{},[174672],{"type":431,"value":174673},"Endpoint",{"type":426,"tag":10630,"props":174675,"children":174676},{},[174677],{"type":426,"tag":549,"props":174678,"children":174680},{"className":174679},[],[174681],{"type":431,"value":48098},{"type":426,"tag":10608,"props":174683,"children":174684},{},[174685,174689],{"type":426,"tag":10630,"props":174686,"children":174687},{},[174688],{"type":431,"value":46964},{"type":426,"tag":10630,"props":174690,"children":174691},{},[174692],{"type":426,"tag":549,"props":174693,"children":174695},{"className":174694},[],[174696],{"type":431,"value":67603},{"type":426,"tag":10608,"props":174698,"children":174699},{},[174700,174704],{"type":426,"tag":10630,"props":174701,"children":174702},{},[174703],{"type":431,"value":10702},{"type":426,"tag":10630,"props":174705,"children":174706},{},[174707],{"type":426,"tag":549,"props":174708,"children":174710},{"className":174709},[],[174711],{"type":431,"value":10711},{"type":426,"tag":10608,"props":174713,"children":174714},{},[174715,174719],{"type":426,"tag":10630,"props":174716,"children":174717},{},[174718],{"type":431,"value":102138},{"type":426,"tag":10630,"props":174720,"children":174721},{},[174722],{"type":426,"tag":549,"props":174723,"children":174725},{"className":174724},[],[174726],{"type":431,"value":77658},{"type":426,"tag":10608,"props":174728,"children":174729},{},[174730,174735],{"type":426,"tag":10630,"props":174731,"children":174732},{},[174733],{"type":431,"value":174734},"Phone field",{"type":426,"tag":10630,"props":174736,"children":174737},{},[174738,174743,174745,174750],{"type":426,"tag":549,"props":174739,"children":174741},{"className":174740},[],[174742],{"type":431,"value":39195},{"type":431,"value":174744}," (international format, no ",{"type":426,"tag":549,"props":174746,"children":174748},{"className":174747},[],[174749],{"type":431,"value":2033},{"type":431,"value":5736},{"type":426,"tag":10608,"props":174752,"children":174753},{},[174754,174759],{"type":426,"tag":10630,"props":174755,"children":174756},{},[174757],{"type":431,"value":174758},"Message field",{"type":426,"tag":10630,"props":174760,"children":174761},{},[174762,174767],{"type":426,"tag":549,"props":174763,"children":174765},{"className":174764},[],[174766],{"type":431,"value":2734},{"type":431,"value":174768}," (UTF-8 string)",{"type":426,"tag":10608,"props":174770,"children":174771},{},[174772,174777],{"type":426,"tag":10630,"props":174773,"children":174774},{},[174775],{"type":431,"value":174776},"Success response",{"type":426,"tag":10630,"props":174778,"children":174779},{},[174780],{"type":426,"tag":549,"props":174781,"children":174783},{"className":174782},[],[174784],{"type":431,"value":7120},{"type":426,"tag":10608,"props":174786,"children":174787},{},[174788,174793],{"type":426,"tag":10630,"props":174789,"children":174790},{},[174791],{"type":431,"value":174792},"Error response",{"type":426,"tag":10630,"props":174794,"children":174795},{},[174796],{"type":426,"tag":549,"props":174797,"children":174799},{"className":174798},[],[174800],{"type":431,"value":174801},"{\"status\": \"error\", \"message\": \"...\"}",{"type":426,"tag":434,"props":174803,"children":174804},{"id":4109},[174805],{"type":431,"value":4112},{"type":426,"tag":427,"props":174807,"children":174808},{},[174809,174814],{"type":426,"tag":446,"props":174810,"children":174811},{},[174812],{"type":431,"value":174813},"Can I send WhatsApp messages from any programming language?",{"type":431,"value":174815},"\nYes. The Rapiwa API is a standard REST API — any language that can make HTTP POST requests can send WhatsApp messages. This includes Python, Node.js, PHP, Java, C#, Ruby, Go, Kotlin, Swift, Rust, and many more.",{"type":426,"tag":427,"props":174817,"children":174818},{},[174819,174824],{"type":426,"tag":446,"props":174820,"children":174821},{},[174822],{"type":431,"value":174823},"Do I need an SDK to use Rapiwa?",{"type":431,"value":174825},"\nNo. The raw HTTP API is all you need — 3–10 lines of code in any language. SDKs just wrap this same HTTP call.",{"type":426,"tag":427,"props":174827,"children":174828},{},[174829,174834,174836,174841,174843,174848,174849,174855,174856,174861],{"type":426,"tag":446,"props":174830,"children":174831},{},[174832],{"type":431,"value":174833},"What is the phone number format for all languages?",{"type":431,"value":174835},"\nInternational format without the ",{"type":426,"tag":549,"props":174837,"children":174839},{"className":174838},[],[174840],{"type":431,"value":2033},{"type":431,"value":174842}," sign: country code + number, no spaces. Bangladesh: ",{"type":426,"tag":549,"props":174844,"children":174846},{"className":174845},[],[174847],{"type":431,"value":7237},{"type":431,"value":71579},{"type":426,"tag":549,"props":174850,"children":174852},{"className":174851},[],[174853],{"type":431,"value":174854},"12025551234",{"type":431,"value":71572},{"type":426,"tag":549,"props":174857,"children":174859},{"className":174858},[],[174860],{"type":431,"value":127028},{"type":431,"value":6789},{"type":426,"tag":427,"props":174863,"children":174864},{},[174865,174870],{"type":426,"tag":446,"props":174866,"children":174867},{},[174868],{"type":431,"value":174869},"Can I send WhatsApp messages from a backend server (no phone)?",{"type":431,"value":174871},"\nYes. Once your WhatsApp number is connected via QR code in the Rapiwa dashboard, your backend server can make API calls from anywhere without a phone being present.",{"type":426,"tag":427,"props":174873,"children":174874},{},[174875,174880,174882,174887],{"type":426,"tag":446,"props":174876,"children":174877},{},[174878],{"type":431,"value":174879},"What happens if I send to an invalid number?",{"type":431,"value":174881},"\nThe API returns an error response with details. Use the ",{"type":426,"tag":3819,"props":174883,"children":174884},{"href":358},[174885],{"type":431,"value":174886},"number verification endpoint",{"type":431,"value":174888}," to pre-check numbers before bulk sending.",{"type":426,"tag":4164,"props":174890,"children":174891},{},[174892],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":174894},[174895,174896,174897,174898,174899,174900,174901,174902,174903,174904,174905,174906,174907,174908,174909],{"id":169595,"depth":588,"text":169598},{"id":47624,"depth":588,"text":47627},{"id":169722,"depth":588,"text":169725},{"id":784,"depth":588,"text":78773},{"id":170035,"depth":588,"text":170038},{"id":79950,"depth":588,"text":123546},{"id":60807,"depth":588,"text":171157},{"id":171697,"depth":588,"text":171700},{"id":172073,"depth":588,"text":172076},{"id":172577,"depth":588,"text":172580},{"id":173333,"depth":588,"text":173336},{"id":173900,"depth":588,"text":173903},{"id":174393,"depth":588,"text":174396},{"id":174642,"depth":588,"text":174645},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-send-whatsapp-messages-from-any-programming-language.md","blog\u002Fhow-to-send-whatsapp-messages-from-any-programming-language.md","blog\u002Fhow-to-send-whatsapp-messages-from-any-programming-language",{"loc":306},{"_path":310,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":311,"description":312,"date":174915,"author":18999,"category":212,"_slug":174916,"image":174917,"body":174918,"_type":4187,"_id":175921,"_source":4189,"_file":175922,"_stem":175923,"_extension":4192,"sitemap":175924},"2025-12-26","whatsapp-api-for-small-businesses-best-low-cost-options-2026","\u002Fimages\u002Fblog\u002Fwhatsapp-api-for-small-businesses-best-low-cost-options-2026.svg",{"type":423,"children":174919,"toc":175902},[174920,174932,174938,174943,174995,175001,175007,175015,175043,175050,175073,175082,175085,175091,175096,175105,175108,175114,175119,175128,175131,175137,175142,175151,175154,175160,175165,175174,175180,175190,175306,175316,175322,175328,175336,175364,175372,175424,175430,175435,175463,175468,175474,175479,175515,175521,175532,175555,175560,175566,175574,175606,175614,175657,175665,175844,175848,175858,175868,175878,175888,175898],{"type":426,"tag":427,"props":174921,"children":174922},{},[174923,174925,174930],{"type":431,"value":174924},"The best WhatsApp API for small businesses in 2026 is ",{"type":426,"tag":3819,"props":174926,"children":174928},{"href":3821,"rel":174927},[3823],[174929],{"type":431,"value":127310},{"type":431,"value":174931}," at $5\u002Fmonth — the cheapest managed option with no per-message fees, a WooCommerce plugin for instant order notifications, and 10 ready-made n8n automation templates. Small businesses need affordability, easy setup, and integrations that work without custom code. Rapiwa delivers all three.",{"type":426,"tag":434,"props":174933,"children":174935},{"id":174934},"what-small-businesses-need-from-a-whatsapp-api",[174936],{"type":431,"value":174937},"What Small Businesses Need from a WhatsApp API",{"type":426,"tag":427,"props":174939,"children":174940},{},[174941],{"type":431,"value":174942},"Small businesses have different priorities than enterprise software teams:",{"type":426,"tag":6331,"props":174944,"children":174945},{},[174946,174956,174966,174975,174985],{"type":426,"tag":458,"props":174947,"children":174948},{},[174949,174954],{"type":426,"tag":446,"props":174950,"children":174951},{},[174952],{"type":431,"value":174953},"Affordability",{"type":431,"value":174955}," — Every dollar matters. $5\u002Fmonth beats $49\u002Fmonth.",{"type":426,"tag":458,"props":174957,"children":174958},{},[174959,174964],{"type":426,"tag":446,"props":174960,"children":174961},{},[174962],{"type":431,"value":174963},"Easy setup",{"type":431,"value":174965}," — No DevOps, no server configuration, no Linux",{"type":426,"tag":458,"props":174967,"children":174968},{},[174969,174973],{"type":426,"tag":446,"props":174970,"children":174971},{},[174972],{"type":431,"value":154298},{"type":431,"value":174974}," — Plugins and templates, not raw API integration",{"type":426,"tag":458,"props":174976,"children":174977},{},[174978,174983],{"type":426,"tag":446,"props":174979,"children":174980},{},[174981],{"type":431,"value":174982},"Specific integrations",{"type":431,"value":174984}," — WooCommerce, Shopify, n8n — the tools they already use",{"type":426,"tag":458,"props":174986,"children":174987},{},[174988,174993],{"type":426,"tag":446,"props":174989,"children":174990},{},[174991],{"type":431,"value":174992},"Reliability",{"type":431,"value":174994}," — Set-and-forget, not constant maintenance",{"type":426,"tag":434,"props":174996,"children":174998},{"id":174997},"best-whatsapp-api-options-for-small-businesses-ranked",[174999],{"type":431,"value":175000},"Best WhatsApp API Options for Small Businesses (Ranked)",{"type":426,"tag":515,"props":175002,"children":175004},{"id":175003},"_1-rapiwa-best-overall-5month",[175005],{"type":431,"value":175006},"#1 Rapiwa — Best Overall ($5\u002Fmonth)",{"type":426,"tag":427,"props":175008,"children":175009},{},[175010],{"type":426,"tag":446,"props":175011,"children":175012},{},[175013],{"type":431,"value":175014},"Why it wins for small businesses:",{"type":426,"tag":454,"props":175016,"children":175017},{},[175018,175023,175028,175033,175038],{"type":426,"tag":458,"props":175019,"children":175020},{},[175021],{"type":431,"value":175022},"Cheapest managed option: $5\u002Fmonth, unlimited messages, no per-message fees",{"type":426,"tag":458,"props":175024,"children":175025},{},[175026],{"type":431,"value":175027},"WooCommerce plugin: install, enter API key, done — no coding",{"type":426,"tag":458,"props":175029,"children":175030},{},[175031],{"type":431,"value":175032},"10 n8n templates: WooCommerce orders, Shopify notifications, AI chatbot — import and run",{"type":426,"tag":458,"props":175034,"children":175035},{},[175036],{"type":431,"value":175037},"3-day free trial, no credit card",{"type":426,"tag":458,"props":175039,"children":175040},{},[175041],{"type":431,"value":175042},"5.0\u002F5 Sourceforge rating — highest verified trust score in category",{"type":426,"tag":427,"props":175044,"children":175045},{},[175046],{"type":426,"tag":446,"props":175047,"children":175048},{},[175049],{"type":431,"value":159660},{"type":426,"tag":454,"props":175051,"children":175052},{},[175053,175058,175063,175068],{"type":426,"tag":458,"props":175054,"children":175055},{},[175056],{"type":431,"value":175057},"WooCommerce and Shopify store owners",{"type":426,"tag":458,"props":175059,"children":175060},{},[175061],{"type":431,"value":175062},"Freelancers and small agencies",{"type":426,"tag":458,"props":175064,"children":175065},{},[175066],{"type":431,"value":175067},"Service businesses (salons, clinics, consultants)",{"type":426,"tag":458,"props":175069,"children":175070},{},[175071],{"type":431,"value":175072},"Any business wanting to automate WhatsApp without a developer",{"type":426,"tag":427,"props":175074,"children":175075},{},[175076],{"type":426,"tag":3819,"props":175077,"children":175079},{"href":3821,"rel":175078},[3823],[175080],{"type":431,"value":175081},"Start free at rapiwa.com →",{"type":426,"tag":6880,"props":175083,"children":175084},{},[],{"type":426,"tag":515,"props":175086,"children":175088},{"id":175087},"_2-wasenderapi-6month",[175089],{"type":431,"value":175090},"#2 WasenderAPI ($6\u002Fmonth)",{"type":426,"tag":427,"props":175092,"children":175093},{},[175094],{"type":431,"value":175095},"Same category as Rapiwa but $1\u002Fmonth more expensive. Better for teams that specifically need TypeScript\u002FPython\u002FLaravel SDKs now. For small businesses without a development team, the extra $12\u002Fyear buys nothing additional.",{"type":426,"tag":427,"props":175097,"children":175098},{},[175099,175103],{"type":426,"tag":446,"props":175100,"children":175101},{},[175102],{"type":431,"value":159660},{"type":431,"value":175104}," Developer teams who need published SDK packages.",{"type":426,"tag":6880,"props":175106,"children":175107},{},[],{"type":426,"tag":515,"props":175109,"children":175111},{"id":175110},"_3-waha-hosted-19month",[175112],{"type":431,"value":175113},"#3 WAHA Hosted ($19\u002Fmonth)",{"type":426,"tag":427,"props":175115,"children":175116},{},[175117],{"type":431,"value":175118},"Managed version of the open-source WAHA. 3.8x more expensive than Rapiwa for the same basic feature set.",{"type":426,"tag":427,"props":175120,"children":175121},{},[175122,175126],{"type":426,"tag":446,"props":175123,"children":175124},{},[175125],{"type":431,"value":159660},{"type":431,"value":175127}," Developers who prefer the WAHA ecosystem but want managed hosting.",{"type":426,"tag":6880,"props":175129,"children":175130},{},[],{"type":426,"tag":515,"props":175132,"children":175134},{"id":175133},"_4-evolution-api-self-hosted-40month-real-cost",[175135],{"type":431,"value":175136},"#4 Evolution API (Self-Hosted, ~$40+\u002Fmonth real cost)",{"type":426,"tag":427,"props":175138,"children":175139},{},[175140],{"type":431,"value":175141},"Free software, but VPS + maintenance = $40–90\u002Fmonth in reality.",{"type":426,"tag":427,"props":175143,"children":175144},{},[175145,175149],{"type":426,"tag":446,"props":175146,"children":175147},{},[175148],{"type":431,"value":159660},{"type":431,"value":175150}," DevOps-equipped teams that require full infrastructure control.",{"type":426,"tag":6880,"props":175152,"children":175153},{},[],{"type":426,"tag":515,"props":175155,"children":175157},{"id":175156},"_5-meta-cloud-api-official-variable-pricing",[175158],{"type":431,"value":175159},"#5 Meta Cloud API (official, variable pricing)",{"type":426,"tag":427,"props":175161,"children":175162},{},[175163],{"type":431,"value":175164},"Required for businesses needing Meta compliance or the green badge. Starting at $49+\u002Fmonth in practice (BSP fees + per-conversation costs).",{"type":426,"tag":427,"props":175166,"children":175167},{},[175168,175172],{"type":426,"tag":446,"props":175169,"children":175170},{},[175171],{"type":431,"value":159660},{"type":431,"value":175173}," Enterprises and regulated industries.",{"type":426,"tag":434,"props":175175,"children":175177},{"id":175176},"price-comparison-small-business-perspective",[175178],{"type":431,"value":175179},"Price Comparison: Small Business Perspective",{"type":426,"tag":427,"props":175181,"children":175182},{},[175183,175185,175189],{"type":431,"value":175184},"For a small business sending ",{"type":426,"tag":446,"props":175186,"children":175187},{},[175188],{"type":431,"value":162148},{"type":431,"value":19071},{"type":426,"tag":10600,"props":175191,"children":175192},{},[175193,175212],{"type":426,"tag":10604,"props":175194,"children":175195},{},[175196],{"type":426,"tag":10608,"props":175197,"children":175198},{},[175199,175203,175207],{"type":426,"tag":10612,"props":175200,"children":175201},{},[175202],{"type":431,"value":147033},{"type":426,"tag":10612,"props":175204,"children":175205},{},[175206],{"type":431,"value":147043},{"type":426,"tag":10612,"props":175208,"children":175209},{},[175210],{"type":431,"value":175211},"Annual Cost",{"type":426,"tag":10623,"props":175213,"children":175214},{},[175215,175240,175256,175272,175290],{"type":426,"tag":10608,"props":175216,"children":175217},{},[175218,175225,175232],{"type":426,"tag":10630,"props":175219,"children":175220},{},[175221],{"type":426,"tag":446,"props":175222,"children":175223},{},[175224],{"type":431,"value":127310},{"type":426,"tag":10630,"props":175226,"children":175227},{},[175228],{"type":426,"tag":446,"props":175229,"children":175230},{},[175231],{"type":431,"value":147125},{"type":426,"tag":10630,"props":175233,"children":175234},{},[175235],{"type":426,"tag":446,"props":175236,"children":175237},{},[175238],{"type":431,"value":175239},"$60",{"type":426,"tag":10608,"props":175241,"children":175242},{},[175243,175247,175251],{"type":426,"tag":10630,"props":175244,"children":175245},{},[175246],{"type":431,"value":147163},{"type":426,"tag":10630,"props":175248,"children":175249},{},[175250],{"type":431,"value":147172},{"type":426,"tag":10630,"props":175252,"children":175253},{},[175254],{"type":431,"value":175255},"$72",{"type":426,"tag":10608,"props":175257,"children":175258},{},[175259,175263,175267],{"type":426,"tag":10630,"props":175260,"children":175261},{},[175262],{"type":431,"value":159425},{"type":426,"tag":10630,"props":175264,"children":175265},{},[175266],{"type":431,"value":147205},{"type":426,"tag":10630,"props":175268,"children":175269},{},[175270],{"type":431,"value":175271},"$228",{"type":426,"tag":10608,"props":175273,"children":175274},{},[175275,175280,175285],{"type":426,"tag":10630,"props":175276,"children":175277},{},[175278],{"type":431,"value":175279},"Meta API (via Twilio, Utility)",{"type":426,"tag":10630,"props":175281,"children":175282},{},[175283],{"type":431,"value":175284},"~$15",{"type":426,"tag":10630,"props":175286,"children":175287},{},[175288],{"type":431,"value":175289},"$180",{"type":426,"tag":10608,"props":175291,"children":175292},{},[175293,175297,175301],{"type":426,"tag":10630,"props":175294,"children":175295},{},[175296],{"type":431,"value":147230},{"type":426,"tag":10630,"props":175298,"children":175299},{},[175300],{"type":431,"value":147239},{"type":426,"tag":10630,"props":175302,"children":175303},{},[175304],{"type":431,"value":175305},"$588",{"type":426,"tag":427,"props":175307,"children":175308},{},[175309,175314],{"type":426,"tag":446,"props":175310,"children":175311},{},[175312],{"type":431,"value":175313},"Rapiwa saves up to $528\u002Fyear",{"type":431,"value":175315}," vs WATI for the same use case.",{"type":426,"tag":434,"props":175317,"children":175319},{"id":175318},"small-business-use-cases-what-rapiwa-handles-out-of-the-box",[175320],{"type":431,"value":175321},"Small Business Use Cases: What Rapiwa Handles Out of the Box",{"type":426,"tag":515,"props":175323,"children":175325},{"id":175324},"e-commerce-woocommerce",[175326],{"type":431,"value":175327},"E-Commerce (WooCommerce)",{"type":426,"tag":427,"props":175329,"children":175330},{},[175331],{"type":426,"tag":446,"props":175332,"children":175333},{},[175334],{"type":431,"value":175335},"Zero coding required:",{"type":426,"tag":6331,"props":175337,"children":175338},{},[175339,175349,175354,175359],{"type":426,"tag":458,"props":175340,"children":175341},{},[175342,175344],{"type":431,"value":175343},"Install ",{"type":426,"tag":3819,"props":175345,"children":175347},{"href":131923,"rel":175346},[3823],[175348],{"type":431,"value":46985},{"type":426,"tag":458,"props":175350,"children":175351},{},[175352],{"type":431,"value":175353},"Enter your API key in plugin settings",{"type":426,"tag":458,"props":175355,"children":175356},{},[175357],{"type":431,"value":175358},"Configure which order status triggers a message",{"type":426,"tag":458,"props":175360,"children":175361},{},[175362],{"type":431,"value":175363},"Done — every order sends a WhatsApp notification automatically",{"type":426,"tag":427,"props":175365,"children":175366},{},[175367],{"type":426,"tag":446,"props":175368,"children":175369},{},[175370],{"type":431,"value":175371},"Or use n8n templates (also zero coding):",{"type":426,"tag":454,"props":175373,"children":175374},{},[175375,175384,175394,175404,175414],{"type":426,"tag":458,"props":175376,"children":175377},{},[175378,175383],{"type":426,"tag":3819,"props":175379,"children":175381},{"href":18796,"rel":175380},[3823],[175382],{"type":431,"value":155975},{"type":431,"value":145264},{"type":426,"tag":458,"props":175385,"children":175386},{},[175387,175392],{"type":426,"tag":3819,"props":175388,"children":175390},{"href":18819,"rel":175389},[3823],[175391],{"type":431,"value":133326},{"type":431,"value":175393}," — 236 installs",{"type":426,"tag":458,"props":175395,"children":175396},{},[175397,175402],{"type":426,"tag":3819,"props":175398,"children":175400},{"href":133344,"rel":175399},[3823],[175401],{"type":431,"value":156044},{"type":431,"value":175403}," — 284 installs",{"type":426,"tag":458,"props":175405,"children":175406},{},[175407,175412],{"type":426,"tag":3819,"props":175408,"children":175410},{"href":133367,"rel":175409},[3823],[175411],{"type":431,"value":133371},{"type":431,"value":175413}," — 311 installs",{"type":426,"tag":458,"props":175415,"children":175416},{},[175417,175422],{"type":426,"tag":3819,"props":175418,"children":175420},{"href":133390,"rel":175419},[3823],[175421],{"type":431,"value":133394},{"type":431,"value":175423}," — 163 installs",{"type":426,"tag":515,"props":175425,"children":175427},{"id":175426},"service-businesses-salons-clinics-consultants",[175428],{"type":431,"value":175429},"Service Businesses (Salons, Clinics, Consultants)",{"type":426,"tag":427,"props":175431,"children":175432},{},[175433],{"type":431,"value":175434},"Appointment reminders cut no-shows by 30–40%. With n8n:",{"type":426,"tag":6331,"props":175436,"children":175437},{},[175438,175443,175454,175458],{"type":426,"tag":458,"props":175439,"children":175440},{},[175441],{"type":431,"value":175442},"Connect Google Calendar to n8n",{"type":426,"tag":458,"props":175444,"children":175445},{},[175446,175448],{"type":431,"value":175447},"Import the ",{"type":426,"tag":3819,"props":175449,"children":175451},{"href":18841,"rel":175450},[3823],[175452],{"type":431,"value":175453},"Google Calendar WhatsApp reminder template",{"type":426,"tag":458,"props":175455,"children":175456},{},[175457],{"type":431,"value":132109},{"type":426,"tag":458,"props":175459,"children":175460},{},[175461],{"type":431,"value":175462},"Activate — reminders go out automatically before every appointment",{"type":426,"tag":427,"props":175464,"children":175465},{},[175466],{"type":431,"value":175467},"538 businesses are already using this template.",{"type":426,"tag":515,"props":175469,"children":175471},{"id":175470},"shopify-stores",[175472],{"type":431,"value":175473},"Shopify Stores",{"type":426,"tag":427,"props":175475,"children":175476},{},[175477],{"type":431,"value":175478},"Three ready-made Shopify templates:",{"type":426,"tag":454,"props":175480,"children":175481},{},[175482,175493,175504],{"type":426,"tag":458,"props":175483,"children":175484},{},[175485,175491],{"type":426,"tag":3819,"props":175486,"children":175488},{"href":151730,"rel":175487},[3823],[175489],{"type":431,"value":175490},"Cancelled order apology + reorder link",{"type":431,"value":175492}," — 139 installs",{"type":426,"tag":458,"props":175494,"children":175495},{},[175496,175502],{"type":426,"tag":3819,"props":175497,"children":175499},{"href":151753,"rel":175498},[3823],[175500],{"type":431,"value":175501},"Discount codes to customers",{"type":431,"value":175503}," — 74 installs",{"type":426,"tag":458,"props":175505,"children":175506},{},[175507,175513],{"type":426,"tag":3819,"props":175508,"children":175510},{"href":151776,"rel":175509},[3823],[175511],{"type":431,"value":175512},"Upsell for cancellations",{"type":431,"value":175514}," — 56 installs",{"type":426,"tag":515,"props":175516,"children":175518},{"id":175517},"any-business-ai-customer-support-bot",[175519],{"type":431,"value":175520},"Any Business: AI Customer Support Bot",{"type":426,"tag":427,"props":175522,"children":175523},{},[175524,175525,175530],{"type":431,"value":86346},{"type":426,"tag":3819,"props":175526,"children":175528},{"href":18864,"rel":175527},[3823],[175529],{"type":431,"value":161700},{"type":431,"value":175531}," (474 installs) lets you set up a 24\u002F7 AI WhatsApp assistant that:",{"type":426,"tag":454,"props":175533,"children":175534},{},[175535,175540,175545,175550],{"type":426,"tag":458,"props":175536,"children":175537},{},[175538],{"type":431,"value":175539},"Answers common customer questions automatically",{"type":426,"tag":458,"props":175541,"children":175542},{},[175543],{"type":431,"value":175544},"Routes complex questions to a human agent",{"type":426,"tag":458,"props":175546,"children":175547},{},[175548],{"type":431,"value":175549},"Uses Google Sheets as your knowledge base (no database setup)",{"type":426,"tag":458,"props":175551,"children":175552},{},[175553],{"type":431,"value":175554},"Runs on your free n8n instance",{"type":426,"tag":427,"props":175556,"children":175557},{},[175558],{"type":431,"value":175559},"Total cost: $5\u002Fmonth (Rapiwa) + free n8n tier = $5\u002Fmonth for 24\u002F7 AI customer support.",{"type":426,"tag":434,"props":175561,"children":175563},{"id":175562},"getting-started-small-business-quick-setup",[175564],{"type":431,"value":175565},"Getting Started: Small Business Quick Setup",{"type":426,"tag":427,"props":175567,"children":175568},{},[175569],{"type":426,"tag":446,"props":175570,"children":175571},{},[175572],{"type":431,"value":175573},"Option A: WooCommerce store owner (5 minutes, no code)",{"type":426,"tag":6331,"props":175575,"children":175576},{},[175577,175586,175591,175596,175601],{"type":426,"tag":458,"props":175578,"children":175579},{},[175580,175581],{"type":431,"value":3817},{"type":426,"tag":3819,"props":175582,"children":175584},{"href":3821,"rel":175583},[3823],[175585],{"type":431,"value":3826},{"type":426,"tag":458,"props":175587,"children":175588},{},[175589],{"type":431,"value":175590},"Connect WhatsApp number via QR code",{"type":426,"tag":458,"props":175592,"children":175593},{},[175594],{"type":431,"value":175595},"Install WooCommerce plugin",{"type":426,"tag":458,"props":175597,"children":175598},{},[175599],{"type":431,"value":175600},"Enter API key",{"type":426,"tag":458,"props":175602,"children":175603},{},[175604],{"type":431,"value":175605},"Orders now send WhatsApp notifications automatically",{"type":426,"tag":427,"props":175607,"children":175608},{},[175609],{"type":426,"tag":446,"props":175610,"children":175611},{},[175612],{"type":431,"value":175613},"Option B: Any business using n8n (10 minutes, no code)",{"type":426,"tag":6331,"props":175615,"children":175616},{},[175617,175626,175630,175635,175647,175652],{"type":426,"tag":458,"props":175618,"children":175619},{},[175620,175621],{"type":431,"value":3817},{"type":426,"tag":3819,"props":175622,"children":175624},{"href":3821,"rel":175623},[3823],[175625],{"type":431,"value":3826},{"type":426,"tag":458,"props":175627,"children":175628},{},[175629],{"type":431,"value":175590},{"type":426,"tag":458,"props":175631,"children":175632},{},[175633],{"type":431,"value":175634},"Sign up at n8n.io (free tier)",{"type":426,"tag":458,"props":175636,"children":175637},{},[175638,175640,175645],{"type":431,"value":175639},"Browse ",{"type":426,"tag":3819,"props":175641,"children":175643},{"href":145202,"rel":175642},[3823],[175644],{"type":431,"value":145206},{"type":431,"value":175646}," and import a template",{"type":426,"tag":458,"props":175648,"children":175649},{},[175650],{"type":431,"value":175651},"Enter Rapiwa API key in the HTTP node",{"type":426,"tag":458,"props":175653,"children":175654},{},[175655],{"type":431,"value":175656},"Activate workflow",{"type":426,"tag":427,"props":175658,"children":175659},{},[175660],{"type":426,"tag":446,"props":175661,"children":175662},{},[175663],{"type":431,"value":175664},"Option C: Custom integration (30 minutes, basic code)",{"type":426,"tag":542,"props":175666,"children":175668},{"className":785,"code":175667,"language":784,"meta":417,"style":417},"import requests\n\n# Add to your existing app's order confirmation function\ndef notify_customer_whatsapp(phone, order_id, total):\n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n        json={\"number\": phone, \"message\": f\"Order #{order_id} confirmed! Total: ${total}\"}\n    )\n",[175669],{"type":426,"tag":549,"props":175670,"children":175671},{"__ignoreMap":417},[175672,175683,175690,175698,175715,175730,175761,175837],{"type":426,"tag":553,"props":175673,"children":175674},{"class":555,"line":556},[175675,175679],{"type":426,"tag":553,"props":175676,"children":175677},{"style":795},[175678],{"type":431,"value":798},{"type":426,"tag":553,"props":175680,"children":175681},{"style":684},[175682],{"type":431,"value":803},{"type":426,"tag":553,"props":175684,"children":175685},{"class":555,"line":588},[175686],{"type":426,"tag":553,"props":175687,"children":175688},{"emptyLinePlaceholder":831},[175689],{"type":431,"value":834},{"type":426,"tag":553,"props":175691,"children":175692},{"class":555,"line":606},[175693],{"type":426,"tag":553,"props":175694,"children":175695},{"style":1975},[175696],{"type":431,"value":175697},"# Add to your existing app's order confirmation function\n",{"type":426,"tag":553,"props":175699,"children":175700},{"class":555,"line":623},[175701,175705,175710],{"type":426,"tag":553,"props":175702,"children":175703},{"style":795},[175704],{"type":431,"value":842},{"type":426,"tag":553,"props":175706,"children":175707},{"style":560},[175708],{"type":431,"value":175709}," notify_customer_whatsapp",{"type":426,"tag":553,"props":175711,"children":175712},{"style":684},[175713],{"type":431,"value":175714},"(phone, order_id, total):\n",{"type":426,"tag":553,"props":175716,"children":175717},{"class":555,"line":637},[175718,175722,175726],{"type":426,"tag":553,"props":175719,"children":175720},{"style":684},[175721],{"type":431,"value":129222},{"type":426,"tag":553,"props":175723,"children":175724},{"style":572},[175725],{"type":431,"value":60449},{"type":426,"tag":553,"props":175727,"children":175728},{"style":684},[175729],{"type":431,"value":710},{"type":426,"tag":553,"props":175731,"children":175732},{"class":555,"line":646},[175733,175737,175741,175745,175749,175753,175757],{"type":426,"tag":553,"props":175734,"children":175735},{"style":1684},[175736],{"type":431,"value":1687},{"type":426,"tag":553,"props":175738,"children":175739},{"style":795},[175740],{"type":431,"value":957},{"type":426,"tag":553,"props":175742,"children":175743},{"style":684},[175744],{"type":431,"value":972},{"type":426,"tag":553,"props":175746,"children":175747},{"style":572},[175748],{"type":431,"value":45214},{"type":426,"tag":553,"props":175750,"children":175751},{"style":684},[175752],{"type":431,"value":700},{"type":426,"tag":553,"props":175754,"children":175755},{"style":572},[175756],{"type":431,"value":140737},{"type":426,"tag":553,"props":175758,"children":175759},{"style":684},[175760],{"type":431,"value":1737},{"type":426,"tag":553,"props":175762,"children":175763},{"class":555,"line":655},[175764,175768,175772,175776,175780,175784,175788,175792,175796,175800,175804,175808,175812,175817,175821,175825,175829,175833],{"type":426,"tag":553,"props":175765,"children":175766},{"style":1684},[175767],{"type":431,"value":1746},{"type":426,"tag":553,"props":175769,"children":175770},{"style":795},[175771],{"type":431,"value":957},{"type":426,"tag":553,"props":175773,"children":175774},{"style":684},[175775],{"type":431,"value":972},{"type":426,"tag":553,"props":175777,"children":175778},{"style":572},[175779],{"type":431,"value":45266},{"type":426,"tag":553,"props":175781,"children":175782},{"style":684},[175783],{"type":431,"value":8931},{"type":426,"tag":553,"props":175785,"children":175786},{"style":572},[175787],{"type":431,"value":45275},{"type":426,"tag":553,"props":175789,"children":175790},{"style":684},[175791],{"type":431,"value":700},{"type":426,"tag":553,"props":175793,"children":175794},{"style":795},[175795],{"type":431,"value":1709},{"type":426,"tag":553,"props":175797,"children":175798},{"style":572},[175799],{"type":431,"value":47140},{"type":426,"tag":553,"props":175801,"children":175802},{"style":566},[175803],{"type":431,"value":972},{"type":426,"tag":553,"props":175805,"children":175806},{"style":684},[175807],{"type":431,"value":46710},{"type":426,"tag":553,"props":175809,"children":175810},{"style":566},[175811],{"type":431,"value":982},{"type":426,"tag":553,"props":175813,"children":175814},{"style":572},[175815],{"type":431,"value":175816}," confirmed! Total: $",{"type":426,"tag":553,"props":175818,"children":175819},{"style":566},[175820],{"type":431,"value":972},{"type":426,"tag":553,"props":175822,"children":175823},{"style":684},[175824],{"type":431,"value":28805},{"type":426,"tag":553,"props":175826,"children":175827},{"style":566},[175828],{"type":431,"value":982},{"type":426,"tag":553,"props":175830,"children":175831},{"style":572},[175832],{"type":431,"value":1527},{"type":426,"tag":553,"props":175834,"children":175835},{"style":684},[175836],{"type":431,"value":756},{"type":426,"tag":553,"props":175838,"children":175839},{"class":555,"line":1036},[175840],{"type":426,"tag":553,"props":175841,"children":175842},{"style":684},[175843],{"type":431,"value":1642},{"type":426,"tag":434,"props":175845,"children":175846},{"id":4109},[175847],{"type":431,"value":4112},{"type":426,"tag":427,"props":175849,"children":175850},{},[175851,175856],{"type":426,"tag":446,"props":175852,"children":175853},{},[175854],{"type":431,"value":175855},"What is the best WhatsApp API for a small business with no budget?",{"type":431,"value":175857},"\nRapiwa at $5\u002Fmonth is the most affordable managed WhatsApp API. For truly zero-budget, WAHA or Evolution API are free software but require a VPS and technical setup that costs more in practice.",{"type":426,"tag":427,"props":175859,"children":175860},{},[175861,175866],{"type":426,"tag":446,"props":175862,"children":175863},{},[175864],{"type":431,"value":175865},"Can I use WhatsApp for business marketing legally?",{"type":431,"value":175867},"\nYes, with proper consent. Only message customers who opted in to receive WhatsApp messages from you. Always include an opt-out option. Avoid unsolicited bulk messaging.",{"type":426,"tag":427,"props":175869,"children":175870},{},[175871,175876],{"type":426,"tag":446,"props":175872,"children":175873},{},[175874],{"type":431,"value":175875},"Do I need a developer to set up WhatsApp API for my small business?",{"type":431,"value":175877},"\nNot with Rapiwa. The WooCommerce plugin and n8n templates require zero coding. Non-technical business owners can set up WhatsApp automation in 5–10 minutes.",{"type":426,"tag":427,"props":175879,"children":175880},{},[175881,175886],{"type":426,"tag":446,"props":175882,"children":175883},{},[175884],{"type":431,"value":175885},"What is the best WhatsApp API for WooCommerce small businesses?",{"type":431,"value":175887},"\nRapiwa is specifically built for WooCommerce — it has a dedicated plugin and 6 WooCommerce-specific n8n templates covering orders, invoices, reviews, cross-sells, and discount codes.",{"type":426,"tag":427,"props":175889,"children":175890},{},[175891,175896],{"type":426,"tag":446,"props":175892,"children":175893},{},[175894],{"type":431,"value":175895},"How many WhatsApp messages can I send with the $5 plan?",{"type":431,"value":175897},"\nUnlimited. Rapiwa's Starter plan ($5\u002Fmonth) has no daily or monthly message cap. Send as many messages as your business needs.",{"type":426,"tag":4164,"props":175899,"children":175900},{},[175901],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":175903},[175904,175905,175912,175913,175919,175920],{"id":174934,"depth":588,"text":174937},{"id":174997,"depth":588,"text":175000,"children":175906},[175907,175908,175909,175910,175911],{"id":175003,"depth":606,"text":175006},{"id":175087,"depth":606,"text":175090},{"id":175110,"depth":606,"text":175113},{"id":175133,"depth":606,"text":175136},{"id":175156,"depth":606,"text":175159},{"id":175176,"depth":588,"text":175179},{"id":175318,"depth":588,"text":175321,"children":175914},[175915,175916,175917,175918],{"id":175324,"depth":606,"text":175327},{"id":175426,"depth":606,"text":175429},{"id":175470,"depth":606,"text":175473},{"id":175517,"depth":606,"text":175520},{"id":175562,"depth":588,"text":175565},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-for-small-businesses-best-low-cost-options-2026.md","blog\u002Fwhatsapp-api-for-small-businesses-best-low-cost-options-2026.md","blog\u002Fwhatsapp-api-for-small-businesses-best-low-cost-options-2026",{"loc":310},{"_path":314,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":315,"description":316,"date":175926,"author":4196,"category":212,"_slug":175927,"image":175928,"body":175929,"_type":4187,"_id":176734,"_source":4189,"_file":176735,"_stem":176736,"_extension":4192,"sitemap":176737},"2025-12-25","wasenderapi-pricing-explained-is-there-a-cheaper-option","\u002Fimages\u002Fblog\u002Fwasenderapi-pricing-explained-is-there-a-cheaper-option.svg",{"type":423,"children":175930,"toc":176725},[175931,175943,175949,176085,176093,176130,176136,176141,176146,176179,176184,176190,176377,176401,176407,176412,176527,176532,176538,176543,176556,176561,176584,176589,176595,176600,176637,176648,176652,176662,176672,176682,176692,176708],{"type":426,"tag":427,"props":175932,"children":175933},{},[175934,175936,175941],{"type":431,"value":175935},"WasenderAPI charges $6\u002Fmonth for one WhatsApp number, $15\u002Fmonth for three numbers, $30\u002Fmonth for six, and $45\u002Fmonth for ten. There is a 15% discount on annual billing. ",{"type":426,"tag":3819,"props":175937,"children":175939},{"href":3821,"rel":175938},[3823],[175940],{"type":431,"value":127310},{"type":431,"value":175942}," is 17% cheaper at $5\u002Fmonth for one number with the same unlimited messaging and no per-message fees — plus a higher 5.0\u002F5 Sourceforge rating vs WasenderAPI's 4.5\u002F5.",{"type":426,"tag":434,"props":175944,"children":175946},{"id":175945},"wasenderapi-pricing-plans-2026",[175947],{"type":431,"value":175948},"WasenderAPI Pricing Plans (2026)",{"type":426,"tag":10600,"props":175950,"children":175951},{},[175952,175980],{"type":426,"tag":10604,"props":175953,"children":175954},{},[175955],{"type":426,"tag":10608,"props":175956,"children":175957},{},[175958,175962,175966,175971,175975],{"type":426,"tag":10612,"props":175959,"children":175960},{},[175961],{"type":431,"value":161320},{"type":426,"tag":10612,"props":175963,"children":175964},{},[175965],{"type":431,"value":157701},{"type":426,"tag":10612,"props":175967,"children":175968},{},[175969],{"type":431,"value":175970},"Annual (15% off)",{"type":426,"tag":10612,"props":175972,"children":175973},{},[175974],{"type":431,"value":160008},{"type":426,"tag":10612,"props":175976,"children":175977},{},[175978],{"type":431,"value":175979},"Per-number",{"type":426,"tag":10623,"props":175981,"children":175982},{},[175983,176008,176033,176059],{"type":426,"tag":10608,"props":175984,"children":175985},{},[175986,175990,175994,175999,176003],{"type":426,"tag":10630,"props":175987,"children":175988},{},[175989],{"type":431,"value":156960},{"type":426,"tag":10630,"props":175991,"children":175992},{},[175993],{"type":431,"value":148324},{"type":426,"tag":10630,"props":175995,"children":175996},{},[175997],{"type":431,"value":175998},"~$61\u002Fyear",{"type":426,"tag":10630,"props":176000,"children":176001},{},[176002],{"type":431,"value":1921},{"type":426,"tag":10630,"props":176004,"children":176005},{},[176006],{"type":431,"value":176007},"$6.00",{"type":426,"tag":10608,"props":176009,"children":176010},{},[176011,176015,176019,176024,176028],{"type":426,"tag":10630,"props":176012,"children":176013},{},[176014],{"type":431,"value":161357},{"type":426,"tag":10630,"props":176016,"children":176017},{},[176018],{"type":431,"value":148349},{"type":426,"tag":10630,"props":176020,"children":176021},{},[176022],{"type":431,"value":176023},"~$153\u002Fyear",{"type":426,"tag":10630,"props":176025,"children":176026},{},[176027],{"type":431,"value":1912},{"type":426,"tag":10630,"props":176029,"children":176030},{},[176031],{"type":431,"value":176032},"$5.00",{"type":426,"tag":10608,"props":176034,"children":176035},{},[176036,176041,176046,176051,176055],{"type":426,"tag":10630,"props":176037,"children":176038},{},[176039],{"type":431,"value":176040},"Plus",{"type":426,"tag":10630,"props":176042,"children":176043},{},[176044],{"type":431,"value":176045},"$30\u002Fmonth",{"type":426,"tag":10630,"props":176047,"children":176048},{},[176049],{"type":431,"value":176050},"~$306\u002Fyear",{"type":426,"tag":10630,"props":176052,"children":176053},{},[176054],{"type":431,"value":121040},{"type":426,"tag":10630,"props":176056,"children":176057},{},[176058],{"type":431,"value":176032},{"type":426,"tag":10608,"props":176060,"children":176061},{},[176062,176066,176071,176076,176080],{"type":426,"tag":10630,"props":176063,"children":176064},{},[176065],{"type":431,"value":161374},{"type":426,"tag":10630,"props":176067,"children":176068},{},[176069],{"type":431,"value":176070},"$45\u002Fmonth",{"type":426,"tag":10630,"props":176072,"children":176073},{},[176074],{"type":431,"value":176075},"~$459\u002Fyear",{"type":426,"tag":10630,"props":176077,"children":176078},{},[176079],{"type":431,"value":11479},{"type":426,"tag":10630,"props":176081,"children":176082},{},[176083],{"type":431,"value":176084},"$4.50",{"type":426,"tag":427,"props":176086,"children":176087},{},[176088],{"type":426,"tag":446,"props":176089,"children":176090},{},[176091],{"type":431,"value":176092},"What's included on all plans:",{"type":426,"tag":454,"props":176094,"children":176095},{},[176096,176101,176106,176111,176116,176121,176125],{"type":426,"tag":458,"props":176097,"children":176098},{},[176099],{"type":431,"value":176100},"Unlimited messages (no per-message fees)",{"type":426,"tag":458,"props":176102,"children":176103},{},[176104],{"type":431,"value":176105},"All WhatsApp message types (text, images, documents, voice)",{"type":426,"tag":458,"props":176107,"children":176108},{},[176109],{"type":431,"value":176110},"Webhooks for incoming messages",{"type":426,"tag":458,"props":176112,"children":176113},{},[176114],{"type":431,"value":176115},"Node.js, Python, and Laravel SDKs",{"type":426,"tag":458,"props":176117,"children":176118},{},[176119],{"type":431,"value":176120},"n8n community node",{"type":426,"tag":458,"props":176122,"children":176123},{},[176124],{"type":431,"value":161123},{"type":426,"tag":458,"props":176126,"children":176127},{},[176128],{"type":431,"value":176129},"3-day free trial",{"type":426,"tag":434,"props":176131,"children":176133},{"id":176132},"is-wasenderapi-expensive",[176134],{"type":431,"value":176135},"Is WasenderAPI Expensive?",{"type":426,"tag":427,"props":176137,"children":176138},{},[176139],{"type":431,"value":176140},"For a single WhatsApp number, WasenderAPI's $6\u002Fmonth is above average — $1\u002Fmonth more than Rapiwa, and significantly cheaper than enterprise options like WATI ($49\u002Fmonth).",{"type":426,"tag":427,"props":176142,"children":176143},{},[176144],{"type":431,"value":176145},"For agencies managing multiple numbers, WasenderAPI's multi-session pricing is competitive:",{"type":426,"tag":454,"props":176147,"children":176148},{},[176149,176159,176169],{"type":426,"tag":458,"props":176150,"children":176151},{},[176152,176157],{"type":426,"tag":446,"props":176153,"children":176154},{},[176155],{"type":431,"value":176156},"Pro plan",{"type":431,"value":176158},": $15\u002F3 numbers = $5.00\u002Fnumber",{"type":426,"tag":458,"props":176160,"children":176161},{},[176162,176167],{"type":426,"tag":446,"props":176163,"children":176164},{},[176165],{"type":431,"value":176166},"Plus plan",{"type":431,"value":176168},": $30\u002F6 numbers = $5.00\u002Fnumber",{"type":426,"tag":458,"props":176170,"children":176171},{},[176172,176177],{"type":426,"tag":446,"props":176173,"children":176174},{},[176175],{"type":431,"value":176176},"Business plan",{"type":431,"value":176178},": $45\u002F10 numbers = $4.50\u002Fnumber",{"type":426,"tag":427,"props":176180,"children":176181},{},[176182],{"type":431,"value":176183},"At scale, the per-number price improves and approaches Rapiwa's Starter price.",{"type":426,"tag":434,"props":176185,"children":176187},{"id":176186},"how-wasenderapi-compares-to-competitors",[176188],{"type":431,"value":176189},"How WasenderAPI Compares to Competitors",{"type":426,"tag":10600,"props":176191,"children":176192},{},[176193,176222],{"type":426,"tag":10604,"props":176194,"children":176195},{},[176196],{"type":426,"tag":10608,"props":176197,"children":176198},{},[176199,176203,176207,176212,176217],{"type":426,"tag":10612,"props":176200,"children":176201},{},[176202],{"type":431,"value":147033},{"type":426,"tag":10612,"props":176204,"children":176205},{},[176206],{"type":431,"value":165775},{"type":426,"tag":10612,"props":176208,"children":176209},{},[176210],{"type":431,"value":176211},"3 Numbers",{"type":426,"tag":10612,"props":176213,"children":176214},{},[176215],{"type":431,"value":176216},"6 Numbers",{"type":426,"tag":10612,"props":176218,"children":176219},{},[176220],{"type":431,"value":176221},"10 Numbers",{"type":426,"tag":10623,"props":176223,"children":176224},{},[176225,176254,176280,176304,176330,176354],{"type":426,"tag":10608,"props":176226,"children":176227},{},[176228,176235,176242,176246,176250],{"type":426,"tag":10630,"props":176229,"children":176230},{},[176231],{"type":426,"tag":446,"props":176232,"children":176233},{},[176234],{"type":431,"value":127310},{"type":426,"tag":10630,"props":176236,"children":176237},{},[176238],{"type":426,"tag":446,"props":176239,"children":176240},{},[176241],{"type":431,"value":155606},{"type":426,"tag":10630,"props":176243,"children":176244},{},[176245],{"type":431,"value":148354},{"type":426,"tag":10630,"props":176247,"children":176248},{},[176249],{"type":431,"value":148354},{"type":426,"tag":10630,"props":176251,"children":176252},{},[176253],{"type":431,"value":148354},{"type":426,"tag":10608,"props":176255,"children":176256},{},[176257,176261,176265,176270,176275],{"type":426,"tag":10630,"props":176258,"children":176259},{},[176260],{"type":431,"value":147163},{"type":426,"tag":10630,"props":176262,"children":176263},{},[176264],{"type":431,"value":155627},{"type":426,"tag":10630,"props":176266,"children":176267},{},[176268],{"type":431,"value":176269},"$15\u002Fmo",{"type":426,"tag":10630,"props":176271,"children":176272},{},[176273],{"type":431,"value":176274},"$30\u002Fmo",{"type":426,"tag":10630,"props":176276,"children":176277},{},[176278],{"type":431,"value":176279},"$45\u002Fmo",{"type":426,"tag":10608,"props":176281,"children":176282},{},[176283,176288,176292,176296,176300],{"type":426,"tag":10630,"props":176284,"children":176285},{},[176286],{"type":431,"value":176287},"WAHA (hosted)",{"type":426,"tag":10630,"props":176289,"children":176290},{},[176291],{"type":431,"value":160129},{"type":426,"tag":10630,"props":176293,"children":176294},{},[176295],{"type":431,"value":148514},{"type":426,"tag":10630,"props":176297,"children":176298},{},[176299],{"type":431,"value":148514},{"type":426,"tag":10630,"props":176301,"children":176302},{},[176303],{"type":431,"value":148514},{"type":426,"tag":10608,"props":176305,"children":176306},{},[176307,176311,176315,176320,176325],{"type":426,"tag":10630,"props":176308,"children":176309},{},[176310],{"type":431,"value":159456},{"type":426,"tag":10630,"props":176312,"children":176313},{},[176314],{"type":431,"value":160237},{"type":426,"tag":10630,"props":176316,"children":176317},{},[176318],{"type":431,"value":176319},"$20\u002Fmo",{"type":426,"tag":10630,"props":176321,"children":176322},{},[176323],{"type":431,"value":176324},"$35\u002Fmo",{"type":426,"tag":10630,"props":176326,"children":176327},{},[176328],{"type":431,"value":176329},"$55\u002Fmo",{"type":426,"tag":10608,"props":176331,"children":176332},{},[176333,176337,176341,176346,176350],{"type":426,"tag":10630,"props":176334,"children":176335},{},[176336],{"type":431,"value":159300},{"type":426,"tag":10630,"props":176338,"children":176339},{},[176340],{"type":431,"value":160273},{"type":426,"tag":10630,"props":176342,"children":176343},{},[176344],{"type":431,"value":176345},"$13.50\u002Fmo",{"type":426,"tag":10630,"props":176347,"children":176348},{},[176349],{"type":431,"value":148514},{"type":426,"tag":10630,"props":176351,"children":176352},{},[176353],{"type":431,"value":176279},{"type":426,"tag":10608,"props":176355,"children":176356},{},[176357,176361,176365,176369,176373],{"type":426,"tag":10630,"props":176358,"children":176359},{},[176360],{"type":431,"value":155656},{"type":426,"tag":10630,"props":176362,"children":176363},{},[176364],{"type":431,"value":149969},{"type":426,"tag":10630,"props":176366,"children":176367},{},[176368],{"type":431,"value":150083},{"type":426,"tag":10630,"props":176370,"children":176371},{},[176372],{"type":431,"value":150083},{"type":426,"tag":10630,"props":176374,"children":176375},{},[176376],{"type":431,"value":150083},{"type":426,"tag":427,"props":176378,"children":176379},{},[176380,176385,176387,176392,176394,176399],{"type":426,"tag":446,"props":176381,"children":176382},{},[176383],{"type":431,"value":176384},"For single number users",{"type":431,"value":176386},": Rapiwa ($5) is cheaper than WasenderAPI ($6).\n",{"type":426,"tag":446,"props":176388,"children":176389},{},[176390],{"type":431,"value":176391},"For 3 numbers",{"type":431,"value":176393},": WasenderAPI Pro ($15) = $5\u002Fnumber, similar to Rapiwa.\n",{"type":426,"tag":446,"props":176395,"children":176396},{},[176397],{"type":431,"value":176398},"For larger deployments",{"type":431,"value":176400},": Contact Rapiwa for Professional and Enterprise pricing.",{"type":426,"tag":434,"props":176402,"children":176404},{"id":176403},"wasenderapi-annual-billing-savings",[176405],{"type":431,"value":176406},"WasenderAPI Annual Billing Savings",{"type":426,"tag":427,"props":176408,"children":176409},{},[176410],{"type":431,"value":176411},"WasenderAPI's annual plans save ~15%:",{"type":426,"tag":10600,"props":176413,"children":176414},{},[176415,176440],{"type":426,"tag":10604,"props":176416,"children":176417},{},[176418],{"type":426,"tag":10608,"props":176419,"children":176420},{},[176421,176425,176430,176435],{"type":426,"tag":10612,"props":176422,"children":176423},{},[176424],{"type":431,"value":161320},{"type":426,"tag":10612,"props":176426,"children":176427},{},[176428],{"type":431,"value":176429},"Monthly total",{"type":426,"tag":10612,"props":176431,"children":176432},{},[176433],{"type":431,"value":176434},"Annual total",{"type":426,"tag":10612,"props":176436,"children":176437},{},[176438],{"type":431,"value":176439},"Annual savings",{"type":426,"tag":10623,"props":176441,"children":176442},{},[176443,176464,176485,176506],{"type":426,"tag":10608,"props":176444,"children":176445},{},[176446,176450,176455,176459],{"type":426,"tag":10630,"props":176447,"children":176448},{},[176449],{"type":431,"value":156960},{"type":426,"tag":10630,"props":176451,"children":176452},{},[176453],{"type":431,"value":176454},"$72\u002Fyear",{"type":426,"tag":10630,"props":176456,"children":176457},{},[176458],{"type":431,"value":175998},{"type":426,"tag":10630,"props":176460,"children":176461},{},[176462],{"type":431,"value":176463},"~$11 saved",{"type":426,"tag":10608,"props":176465,"children":176466},{},[176467,176471,176476,176480],{"type":426,"tag":10630,"props":176468,"children":176469},{},[176470],{"type":431,"value":161357},{"type":426,"tag":10630,"props":176472,"children":176473},{},[176474],{"type":431,"value":176475},"$180\u002Fyear",{"type":426,"tag":10630,"props":176477,"children":176478},{},[176479],{"type":431,"value":176023},{"type":426,"tag":10630,"props":176481,"children":176482},{},[176483],{"type":431,"value":176484},"~$27 saved",{"type":426,"tag":10608,"props":176486,"children":176487},{},[176488,176492,176497,176501],{"type":426,"tag":10630,"props":176489,"children":176490},{},[176491],{"type":431,"value":176040},{"type":426,"tag":10630,"props":176493,"children":176494},{},[176495],{"type":431,"value":176496},"$360\u002Fyear",{"type":426,"tag":10630,"props":176498,"children":176499},{},[176500],{"type":431,"value":176050},{"type":426,"tag":10630,"props":176502,"children":176503},{},[176504],{"type":431,"value":176505},"~$54 saved",{"type":426,"tag":10608,"props":176507,"children":176508},{},[176509,176513,176518,176522],{"type":426,"tag":10630,"props":176510,"children":176511},{},[176512],{"type":431,"value":161374},{"type":426,"tag":10630,"props":176514,"children":176515},{},[176516],{"type":431,"value":176517},"$540\u002Fyear",{"type":426,"tag":10630,"props":176519,"children":176520},{},[176521],{"type":431,"value":176075},{"type":426,"tag":10630,"props":176523,"children":176524},{},[176525],{"type":431,"value":176526},"~$81 saved",{"type":426,"tag":427,"props":176528,"children":176529},{},[176530],{"type":431,"value":176531},"For Rapiwa monthly: $60\u002Fyear for the Starter plan.",{"type":426,"tag":434,"props":176533,"children":176535},{"id":176534},"wasenderapi-vs-rapiwa-price-vs-value",[176536],{"type":431,"value":176537},"WasenderAPI vs Rapiwa: Price vs Value",{"type":426,"tag":427,"props":176539,"children":176540},{},[176541],{"type":431,"value":176542},"WasenderAPI costs $1\u002Fmonth more than Rapiwa but offers:",{"type":426,"tag":454,"props":176544,"children":176545},{},[176546,176551],{"type":426,"tag":458,"props":176547,"children":176548},{},[176549],{"type":431,"value":176550},"Production-ready TypeScript\u002FPython\u002FLaravel SDKs (published now)",{"type":426,"tag":458,"props":176552,"children":176553},{},[176554],{"type":431,"value":176555},"MCP Server integration (for AI agent tools)",{"type":426,"tag":427,"props":176557,"children":176558},{},[176559],{"type":431,"value":176560},"Rapiwa offers better value for the price:",{"type":426,"tag":454,"props":176562,"children":176563},{},[176564,176569,176574,176579],{"type":426,"tag":458,"props":176565,"children":176566},{},[176567],{"type":431,"value":176568},"$5\u002Fmonth (vs $6) — 17% cheaper",{"type":426,"tag":458,"props":176570,"children":176571},{},[176572],{"type":431,"value":176573},"5.0\u002F5 Sourceforge rating (vs 4.5\u002F5)",{"type":426,"tag":458,"props":176575,"children":176576},{},[176577],{"type":431,"value":176578},"WooCommerce plugin (free, downloadable now)",{"type":426,"tag":458,"props":176580,"children":176581},{},[176582],{"type":431,"value":176583},"10 ready-made n8n templates (3,000+ combined installs)",{"type":426,"tag":427,"props":176585,"children":176586},{},[176587],{"type":431,"value":176588},"For most developers and businesses, the $1\u002Fmonth price difference combines with Rapiwa's higher rating and better e-commerce integrations to make it the better value.",{"type":426,"tag":434,"props":176590,"children":176592},{"id":176591},"is-there-a-cheaper-whatsapp-api-than-wasenderapi",[176593],{"type":431,"value":176594},"Is There a Cheaper WhatsApp API Than WasenderAPI?",{"type":426,"tag":427,"props":176596,"children":176597},{},[176598],{"type":431,"value":176599},"Yes — Rapiwa at $5\u002Fmonth is 17% cheaper than WasenderAPI's $6\u002Fmonth, with:",{"type":426,"tag":454,"props":176601,"children":176602},{},[176603,176608,176613,176618,176623,176627,176632],{"type":426,"tag":458,"props":176604,"children":176605},{},[176606],{"type":431,"value":176607},"No per-message fees (same)",{"type":426,"tag":458,"props":176609,"children":176610},{},[176611],{"type":431,"value":176612},"Unlimited messages (same)",{"type":426,"tag":458,"props":176614,"children":176615},{},[176616],{"type":431,"value":176617},"All message types (same)",{"type":426,"tag":458,"props":176619,"children":176620},{},[176621],{"type":431,"value":176622},"Webhooks (same)",{"type":426,"tag":458,"props":176624,"children":176625},{},[176626],{"type":431,"value":176573},{"type":426,"tag":458,"props":176628,"children":176629},{},[176630],{"type":431,"value":176631},"WooCommerce plugin (Rapiwa only)",{"type":426,"tag":458,"props":176633,"children":176634},{},[176635],{"type":431,"value":176636},"10 n8n templates (Rapiwa only)",{"type":426,"tag":427,"props":176638,"children":176639},{},[176640,176646],{"type":426,"tag":3819,"props":176641,"children":176643},{"href":3821,"rel":176642},[3823],[176644],{"type":431,"value":176645},"Start Rapiwa free trial →",{"type":431,"value":176647}," — 3 days, no credit card.",{"type":426,"tag":434,"props":176649,"children":176650},{"id":4109},[176651],{"type":431,"value":4112},{"type":426,"tag":427,"props":176653,"children":176654},{},[176655,176660],{"type":426,"tag":446,"props":176656,"children":176657},{},[176658],{"type":431,"value":176659},"Is WasenderAPI worth the price?",{"type":431,"value":176661},"\nWasenderAPI is a legitimate service with solid features, especially for teams that need TypeScript\u002FPython\u002FLaravel SDKs today. However, at $6\u002Fmonth for one number vs Rapiwa's $5\u002Fmonth, it costs more for a lower Sourceforge rating and fewer out-of-the-box integrations.",{"type":426,"tag":427,"props":176663,"children":176664},{},[176665,176670],{"type":426,"tag":446,"props":176666,"children":176667},{},[176668],{"type":431,"value":176669},"Does WasenderAPI have a free trial?",{"type":431,"value":176671},"\nYes — WasenderAPI offers a 3-day free trial. Rapiwa also offers a 3-day free trial.",{"type":426,"tag":427,"props":176673,"children":176674},{},[176675,176680],{"type":426,"tag":446,"props":176676,"children":176677},{},[176678],{"type":431,"value":176679},"What is the cheapest plan on WasenderAPI?",{"type":431,"value":176681},"\nWasenderAPI's cheapest plan is Basic at $6\u002Fmonth for one WhatsApp number, with unlimited messaging and no per-message fees.",{"type":426,"tag":427,"props":176683,"children":176684},{},[176685,176690],{"type":426,"tag":446,"props":176686,"children":176687},{},[176688],{"type":431,"value":176689},"Does WasenderAPI charge per message?",{"type":431,"value":176691},"\nNo. WasenderAPI uses subscription-based pricing with no per-message fees on any plan.",{"type":426,"tag":427,"props":176693,"children":176694},{},[176695,176700,176702,176707],{"type":426,"tag":446,"props":176696,"children":176697},{},[176698],{"type":431,"value":176699},"Can I cancel WasenderAPI and switch to Rapiwa?",{"type":431,"value":176701},"\nYes. Cancel your WasenderAPI subscription, sign up for Rapiwa's free trial, and update your API endpoint and field names. The migration takes under 30 minutes. See: ",{"type":426,"tag":3819,"props":176703,"children":176704},{"href":382},[176705],{"type":431,"value":176706},"Best WasenderAPI Alternative",{"type":431,"value":6789},{"type":426,"tag":427,"props":176709,"children":176710},{},[176711,176716,176718,176723],{"type":426,"tag":446,"props":176712,"children":176713},{},[176714],{"type":431,"value":176715},"Is WasenderAPI's annual plan worth it?",{"type":431,"value":176717},"\nThe 15% discount is modest. For Starter (1 number), you save ",{"type":426,"tag":148231,"props":176719,"children":176720},{},[176721],{"type":431,"value":176722},"$11\u002Fyear by paying annually. Compare: Rapiwa costs $60\u002Fyear monthly ($5 × 12) vs WasenderAPI's Basic annual (",{"type":431,"value":176724},"$61\u002Fyear) — virtually the same annual cost, but with Rapiwa you get a higher rating and better integrations.",{"title":417,"searchDepth":588,"depth":588,"links":176726},[176727,176728,176729,176730,176731,176732,176733],{"id":175945,"depth":588,"text":175948},{"id":176132,"depth":588,"text":176135},{"id":176186,"depth":588,"text":176189},{"id":176403,"depth":588,"text":176406},{"id":176534,"depth":588,"text":176537},{"id":176591,"depth":588,"text":176594},{"id":4109,"depth":588,"text":4112},"content:blog:wasenderapi-pricing-explained-is-there-a-cheaper-option.md","blog\u002Fwasenderapi-pricing-explained-is-there-a-cheaper-option.md","blog\u002Fwasenderapi-pricing-explained-is-there-a-cheaper-option",{"loc":314},{"_path":318,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":319,"description":320,"date":176739,"author":54670,"category":22,"_slug":176740,"image":176741,"body":176742,"_type":4187,"_id":177612,"_source":4189,"_file":177613,"_stem":177614,"_extension":4192,"sitemap":177615},"2025-12-23","how-to-connect-your-whatsapp-number-to-an-api-via-qr-code","\u002Fimages\u002Fblog\u002Fhow-to-connect-your-whatsapp-number-to-an-api-via-qr-code.svg",{"type":423,"children":176743,"toc":177591},[176744,176756,176762,176774,176779,176802,176807,176813,176817,176848,176853,176859,176904,176923,176929,176937,176985,176993,177033,177041,177071,177077,177082,177113,177118,177124,177217,177222,177228,177236,177255,177263,177276,177281,177287,177293,177304,177310,177315,177333,177339,177370,177376,177381,177399,177416,177422,177427,177454,177460,177471,177477,177482,177511,177516,177520,177530,177540,177550,177560,177577,177587],{"type":426,"tag":427,"props":176745,"children":176746},{},[176747,176749,176754],{"type":431,"value":176748},"You can connect any WhatsApp number to an API in under 5 minutes by scanning a QR code — no Meta approval needed. Sign up at ",{"type":426,"tag":3819,"props":176750,"children":176752},{"href":3821,"rel":176751},[3823],[176753],{"type":431,"value":3826},{"type":431,"value":176755},", go to Dashboard → Devices → Add New Device, scan the QR code in WhatsApp's Linked Devices, and your number instantly becomes a programmable REST API endpoint. This works with both personal and WhatsApp Business numbers.",{"type":426,"tag":434,"props":176757,"children":176759},{"id":176758},"how-qr-code-api-connection-works",[176760],{"type":431,"value":176761},"How QR Code API Connection Works",{"type":426,"tag":427,"props":176763,"children":176764},{},[176765,176767,176772],{"type":431,"value":176766},"When you open WhatsApp on your phone and tap ",{"type":426,"tag":446,"props":176768,"children":176769},{},[176770],{"type":431,"value":176771},"Settings → Linked Devices",{"type":431,"value":176773},", you can link additional devices — like a browser (WhatsApp Web) or a WhatsApp API service — to your number. The QR code is a one-time authentication token. Scanning it links the API service to your WhatsApp account.",{"type":426,"tag":427,"props":176775,"children":176776},{},[176777],{"type":431,"value":176778},"After scanning:",{"type":426,"tag":454,"props":176780,"children":176781},{},[176782,176787,176792,176797],{"type":426,"tag":458,"props":176783,"children":176784},{},[176785],{"type":431,"value":176786},"Your phone is the \"host\" — WhatsApp syncs your messages",{"type":426,"tag":458,"props":176788,"children":176789},{},[176790],{"type":431,"value":176791},"The API service (Rapiwa) maintains a WhatsApp Web session on its servers",{"type":426,"tag":458,"props":176793,"children":176794},{},[176795],{"type":431,"value":176796},"You can make API calls to send\u002Freceive messages without your phone being online",{"type":426,"tag":458,"props":176798,"children":176799},{},[176800],{"type":431,"value":176801},"Your phone shows \"Rapiwa\" (or similar) in Settings → Linked Devices",{"type":426,"tag":427,"props":176803,"children":176804},{},[176805],{"type":431,"value":176806},"The entire process takes under 2 minutes once you have a Rapiwa account.",{"type":426,"tag":434,"props":176808,"children":176810},{"id":176809},"step-by-step-connect-whatsapp-to-api-via-qr-code",[176811],{"type":431,"value":176812},"Step-by-Step: Connect WhatsApp to API via QR Code",{"type":426,"tag":515,"props":176814,"children":176815},{"id":3809},[176816],{"type":431,"value":3812},{"type":426,"tag":6331,"props":176818,"children":176819},{},[176820,176829,176838,176843],{"type":426,"tag":458,"props":176821,"children":176822},{},[176823,176824],{"type":431,"value":47846},{"type":426,"tag":3819,"props":176825,"children":176827},{"href":3821,"rel":176826},[3823],[176828],{"type":431,"value":3826},{"type":426,"tag":458,"props":176830,"children":176831},{},[176832,176833],{"type":431,"value":47857},{"type":426,"tag":446,"props":176834,"children":176835},{},[176836],{"type":431,"value":176837},"Start Free Now",{"type":426,"tag":458,"props":176839,"children":176840},{},[176841],{"type":431,"value":176842},"Enter your email and create a password",{"type":426,"tag":458,"props":176844,"children":176845},{},[176846],{"type":431,"value":176847},"Check your email and click the verification link",{"type":426,"tag":427,"props":176849,"children":176850},{},[176851],{"type":431,"value":176852},"No credit card required for the 3-day trial.",{"type":426,"tag":515,"props":176854,"children":176856},{"id":176855},"step-2-access-the-device-connection-page",[176857],{"type":431,"value":176858},"Step 2: Access the Device Connection Page",{"type":426,"tag":6331,"props":176860,"children":176861},{},[176862,176871,176888],{"type":426,"tag":458,"props":176863,"children":176864},{},[176865,176866],{"type":431,"value":77455},{"type":426,"tag":3819,"props":176867,"children":176869},{"href":10643,"rel":176868},[3823],[176870],{"type":431,"value":71426},{"type":426,"tag":458,"props":176872,"children":176873},{},[176874,176876,176881,176882,176887],{"type":431,"value":176875},"In the left sidebar, click ",{"type":426,"tag":446,"props":176877,"children":176878},{},[176879],{"type":431,"value":176880},"Devices",{"type":431,"value":114029},{"type":426,"tag":446,"props":176883,"children":176884},{},[176885],{"type":431,"value":176886},"Sessions",{"type":431,"value":5736},{"type":426,"tag":458,"props":176889,"children":176890},{},[176891,176892,176897,176898,176903],{"type":431,"value":47857},{"type":426,"tag":446,"props":176893,"children":176894},{},[176895],{"type":431,"value":176896},"Add New Device",{"type":431,"value":114029},{"type":426,"tag":446,"props":176899,"children":176900},{},[176901],{"type":431,"value":176902},"Connect WhatsApp",{"type":431,"value":5736},{"type":426,"tag":427,"props":176905,"children":176906},{},[176907,176909,176914,176916,176921],{"type":431,"value":176908},"A QR code appears on your screen. It is valid for ",{"type":426,"tag":446,"props":176910,"children":176911},{},[176912],{"type":431,"value":176913},"60 seconds",{"type":431,"value":176915}," — if it expires, click ",{"type":426,"tag":446,"props":176917,"children":176918},{},[176919],{"type":431,"value":176920},"Refresh QR",{"type":431,"value":176922}," to get a new one.",{"type":426,"tag":515,"props":176924,"children":176926},{"id":176925},"step-3-scan-the-qr-code-on-your-phone",[176927],{"type":431,"value":176928},"Step 3: Scan the QR Code on Your Phone",{"type":426,"tag":427,"props":176930,"children":176931},{},[176932],{"type":426,"tag":446,"props":176933,"children":176934},{},[176935],{"type":431,"value":176936},"iPhone:",{"type":426,"tag":6331,"props":176938,"children":176939},{},[176940,176945,176957,176966,176975,176980],{"type":426,"tag":458,"props":176941,"children":176942},{},[176943],{"type":431,"value":176944},"Open WhatsApp",{"type":426,"tag":458,"props":176946,"children":176947},{},[176948,176950,176955],{"type":431,"value":176949},"Tap ",{"type":426,"tag":446,"props":176951,"children":176952},{},[176953],{"type":431,"value":176954},"Settings",{"type":431,"value":176956}," (bottom right)",{"type":426,"tag":458,"props":176958,"children":176959},{},[176960,176961],{"type":431,"value":176949},{"type":426,"tag":446,"props":176962,"children":176963},{},[176964],{"type":431,"value":176965},"Linked Devices",{"type":426,"tag":458,"props":176967,"children":176968},{},[176969,176970],{"type":431,"value":176949},{"type":426,"tag":446,"props":176971,"children":176972},{},[176973],{"type":431,"value":176974},"Link a Device",{"type":426,"tag":458,"props":176976,"children":176977},{},[176978],{"type":431,"value":176979},"Authenticate with Face ID \u002F Touch ID if prompted",{"type":426,"tag":458,"props":176981,"children":176982},{},[176983],{"type":431,"value":176984},"Point your camera at the QR code on your Rapiwa dashboard screen",{"type":426,"tag":427,"props":176986,"children":176987},{},[176988],{"type":426,"tag":446,"props":176989,"children":176990},{},[176991],{"type":431,"value":176992},"Android:",{"type":426,"tag":6331,"props":176994,"children":176995},{},[176996,177000,177012,177020,177028],{"type":426,"tag":458,"props":176997,"children":176998},{},[176999],{"type":431,"value":176944},{"type":426,"tag":458,"props":177001,"children":177002},{},[177003,177005,177010],{"type":431,"value":177004},"Tap the ",{"type":426,"tag":446,"props":177006,"children":177007},{},[177008],{"type":431,"value":177009},"three-dot menu",{"type":431,"value":177011}," (top right)",{"type":426,"tag":458,"props":177013,"children":177014},{},[177015,177016],{"type":431,"value":176949},{"type":426,"tag":446,"props":177017,"children":177018},{},[177019],{"type":431,"value":176965},{"type":426,"tag":458,"props":177021,"children":177022},{},[177023,177024],{"type":431,"value":176949},{"type":426,"tag":446,"props":177025,"children":177026},{},[177027],{"type":431,"value":176974},{"type":426,"tag":458,"props":177029,"children":177030},{},[177031],{"type":431,"value":177032},"Scan the QR code",{"type":426,"tag":427,"props":177034,"children":177035},{},[177036],{"type":426,"tag":446,"props":177037,"children":177038},{},[177039],{"type":431,"value":177040},"WhatsApp Business (iOS or Android):",{"type":426,"tag":6331,"props":177042,"children":177043},{},[177044,177049,177067],{"type":426,"tag":458,"props":177045,"children":177046},{},[177047],{"type":431,"value":177048},"Open WhatsApp Business",{"type":426,"tag":458,"props":177050,"children":177051},{},[177052,177053,177057,177058,177062,177063],{"type":431,"value":176949},{"type":426,"tag":446,"props":177054,"children":177055},{},[177056],{"type":431,"value":176954},{"type":431,"value":5710},{"type":426,"tag":446,"props":177059,"children":177060},{},[177061],{"type":431,"value":176965},{"type":431,"value":5710},{"type":426,"tag":446,"props":177064,"children":177065},{},[177066],{"type":431,"value":176974},{"type":426,"tag":458,"props":177068,"children":177069},{},[177070],{"type":431,"value":177032},{"type":426,"tag":515,"props":177072,"children":177074},{"id":177073},"step-4-confirm-connection",[177075],{"type":431,"value":177076},"Step 4: Confirm Connection",{"type":426,"tag":427,"props":177078,"children":177079},{},[177080],{"type":431,"value":177081},"After scanning, the QR code page in your Rapiwa dashboard updates to show:",{"type":426,"tag":454,"props":177083,"children":177084},{},[177085,177096,177108],{"type":426,"tag":458,"props":177086,"children":177087},{},[177088,177090,177095],{"type":431,"value":177089},"Your phone number (e.g., ",{"type":426,"tag":549,"props":177091,"children":177093},{"className":177092},[],[177094],{"type":431,"value":10838},{"type":431,"value":5736},{"type":426,"tag":458,"props":177097,"children":177098},{},[177099,177101,177106],{"type":431,"value":177100},"Status: ",{"type":426,"tag":446,"props":177102,"children":177103},{},[177104],{"type":431,"value":177105},"Active",{"type":431,"value":177107}," (green)",{"type":426,"tag":458,"props":177109,"children":177110},{},[177111],{"type":431,"value":177112},"Last seen: just now",{"type":426,"tag":427,"props":177114,"children":177115},{},[177116],{"type":431,"value":177117},"Your WhatsApp number is now a programmable REST API.",{"type":426,"tag":515,"props":177119,"children":177121},{"id":177120},"step-5-send-your-first-test-message",[177122],{"type":431,"value":177123},"Step 5: Send Your First Test Message",{"type":426,"tag":542,"props":177125,"children":177127},{"className":546,"code":177126,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"QR code connection successful! API is working.\"\n  }'\n",[177128],{"type":426,"tag":549,"props":177129,"children":177130},{"__ignoreMap":417},[177131,177154,177169,177184,177195,177202,177210],{"type":426,"tag":553,"props":177132,"children":177133},{"class":555,"line":556},[177134,177138,177142,177146,177150],{"type":426,"tag":553,"props":177135,"children":177136},{"style":560},[177137],{"type":431,"value":563},{"type":426,"tag":553,"props":177139,"children":177140},{"style":566},[177141],{"type":431,"value":569},{"type":426,"tag":553,"props":177143,"children":177144},{"style":572},[177145],{"type":431,"value":575},{"type":426,"tag":553,"props":177147,"children":177148},{"style":572},[177149],{"type":431,"value":580},{"type":426,"tag":553,"props":177151,"children":177152},{"style":566},[177153],{"type":431,"value":585},{"type":426,"tag":553,"props":177155,"children":177156},{"class":555,"line":588},[177157,177161,177165],{"type":426,"tag":553,"props":177158,"children":177159},{"style":566},[177160],{"type":431,"value":594},{"type":426,"tag":553,"props":177162,"children":177163},{"style":572},[177164],{"type":431,"value":599},{"type":426,"tag":553,"props":177166,"children":177167},{"style":566},[177168],{"type":431,"value":585},{"type":426,"tag":553,"props":177170,"children":177171},{"class":555,"line":606},[177172,177176,177180],{"type":426,"tag":553,"props":177173,"children":177174},{"style":566},[177175],{"type":431,"value":594},{"type":426,"tag":553,"props":177177,"children":177178},{"style":572},[177179],{"type":431,"value":616},{"type":426,"tag":553,"props":177181,"children":177182},{"style":566},[177183],{"type":431,"value":585},{"type":426,"tag":553,"props":177185,"children":177186},{"class":555,"line":623},[177187,177191],{"type":426,"tag":553,"props":177188,"children":177189},{"style":566},[177190],{"type":431,"value":629},{"type":426,"tag":553,"props":177192,"children":177193},{"style":572},[177194],{"type":431,"value":634},{"type":426,"tag":553,"props":177196,"children":177197},{"class":555,"line":637},[177198],{"type":426,"tag":553,"props":177199,"children":177200},{"style":572},[177201],{"type":431,"value":643},{"type":426,"tag":553,"props":177203,"children":177204},{"class":555,"line":646},[177205],{"type":426,"tag":553,"props":177206,"children":177207},{"style":572},[177208],{"type":431,"value":177209},"    \"message\": \"QR code connection successful! API is working.\"\n",{"type":426,"tag":553,"props":177211,"children":177212},{"class":555,"line":655},[177213],{"type":426,"tag":553,"props":177214,"children":177215},{"style":572},[177216],{"type":431,"value":661},{"type":426,"tag":427,"props":177218,"children":177219},{},[177220],{"type":431,"value":177221},"Send to your own number first to verify the connection.",{"type":426,"tag":434,"props":177223,"children":177225},{"id":177224},"what-to-check-after-connecting",[177226],{"type":431,"value":177227},"What to Check After Connecting",{"type":426,"tag":427,"props":177229,"children":177230},{},[177231],{"type":426,"tag":446,"props":177232,"children":177233},{},[177234],{"type":431,"value":177235},"In your Rapiwa dashboard:",{"type":426,"tag":454,"props":177237,"children":177238},{},[177239,177250],{"type":426,"tag":458,"props":177240,"children":177241},{},[177242,177244,177248],{"type":431,"value":177243},"Device status shows ",{"type":426,"tag":446,"props":177245,"children":177246},{},[177247],{"type":431,"value":177105},{"type":431,"value":177249}," (not Disconnected)",{"type":426,"tag":458,"props":177251,"children":177252},{},[177253],{"type":431,"value":177254},"The phone number displayed matches your WhatsApp number",{"type":426,"tag":427,"props":177256,"children":177257},{},[177258],{"type":426,"tag":446,"props":177259,"children":177260},{},[177261],{"type":431,"value":177262},"On your phone (WhatsApp → Settings → Linked Devices):",{"type":426,"tag":454,"props":177264,"children":177265},{},[177266,177271],{"type":426,"tag":458,"props":177267,"children":177268},{},[177269],{"type":431,"value":177270},"You should see a new linked device (named something like \"Rapiwa\" or the browser name)",{"type":426,"tag":458,"props":177272,"children":177273},{},[177274],{"type":431,"value":177275},"The device shows a recent \"last active\" time",{"type":426,"tag":427,"props":177277,"children":177278},{},[177279],{"type":431,"value":177280},"If both of these are true, you're fully connected.",{"type":426,"tag":434,"props":177282,"children":177284},{"id":177283},"troubleshooting-qr-code-connection-issues",[177285],{"type":431,"value":177286},"Troubleshooting QR Code Connection Issues",{"type":426,"tag":515,"props":177288,"children":177290},{"id":177289},"qr-code-keeps-expiring",[177291],{"type":431,"value":177292},"QR Code Keeps Expiring",{"type":426,"tag":427,"props":177294,"children":177295},{},[177296,177298,177302],{"type":431,"value":177297},"QR codes refresh every 60 seconds. If you're taking longer than that to scan, click ",{"type":426,"tag":446,"props":177299,"children":177300},{},[177301],{"type":431,"value":176920},{"type":431,"value":177303}," in the dashboard to get a new code, then scan immediately.",{"type":426,"tag":515,"props":177305,"children":177307},{"id":177306},"failed-to-scan-qr-code-on-android",[177308],{"type":431,"value":177309},"\"Failed to scan QR code\" on Android",{"type":426,"tag":427,"props":177311,"children":177312},{},[177313],{"type":431,"value":177314},"On some Android devices, WhatsApp's built-in QR scanner has focus issues. Try:",{"type":426,"tag":6331,"props":177316,"children":177317},{},[177318,177323,177328],{"type":426,"tag":458,"props":177319,"children":177320},{},[177321],{"type":431,"value":177322},"Hold your phone slightly farther from the screen (15–25cm)",{"type":426,"tag":458,"props":177324,"children":177325},{},[177326],{"type":431,"value":177327},"Ensure the QR code is fully visible (not cut off by the browser window)",{"type":426,"tag":458,"props":177329,"children":177330},{},[177331],{"type":431,"value":177332},"Try a different browser (Chrome vs Firefox) to display the QR",{"type":426,"tag":515,"props":177334,"children":177336},{"id":177335},"connection-shows-active-but-messages-fail",[177337],{"type":431,"value":177338},"Connection Shows Active but Messages Fail",{"type":426,"tag":6331,"props":177340,"children":177341},{},[177342,177347,177365],{"type":426,"tag":458,"props":177343,"children":177344},{},[177345],{"type":431,"value":177346},"Check that your API key is correct (copy it fresh from Dashboard → API Keys)",{"type":426,"tag":458,"props":177348,"children":177349},{},[177350,177352,177357,177359,177364],{"type":431,"value":177351},"Verify the phone number format: international, no ",{"type":426,"tag":549,"props":177353,"children":177355},{"className":177354},[],[177356],{"type":431,"value":2033},{"type":431,"value":177358},", no spaces (",{"type":426,"tag":549,"props":177360,"children":177362},{"className":177361},[],[177363],{"type":431,"value":7237},{"type":431,"value":5736},{"type":426,"tag":458,"props":177366,"children":177367},{},[177368],{"type":431,"value":177369},"Ensure the recipient's number is on WhatsApp",{"type":426,"tag":515,"props":177371,"children":177373},{"id":177372},"session-expired-or-device-disconnected-after-a-few-days",[177374],{"type":431,"value":177375},"\"Session Expired\" or \"Device Disconnected\" After a Few Days",{"type":426,"tag":427,"props":177377,"children":177378},{},[177379],{"type":431,"value":177380},"WhatsApp sessions need periodic re-authentication. This is normal when:",{"type":426,"tag":454,"props":177382,"children":177383},{},[177384,177389,177394],{"type":426,"tag":458,"props":177385,"children":177386},{},[177387],{"type":431,"value":177388},"Your phone's WhatsApp updates to a new version",{"type":426,"tag":458,"props":177390,"children":177391},{},[177392],{"type":431,"value":177393},"You haven't used WhatsApp on your phone in several days",{"type":426,"tag":458,"props":177395,"children":177396},{},[177397],{"type":431,"value":177398},"WhatsApp's server-side session expires",{"type":426,"tag":427,"props":177400,"children":177401},{},[177402,177407,177409,177414],{"type":426,"tag":446,"props":177403,"children":177404},{},[177405],{"type":431,"value":177406},"Fix",{"type":431,"value":177408},": Go to Dashboard → Devices, click ",{"type":426,"tag":446,"props":177410,"children":177411},{},[177412],{"type":431,"value":177413},"Reconnect",{"type":431,"value":177415},", and scan the new QR code. This re-links the session.",{"type":426,"tag":515,"props":177417,"children":177419},{"id":177418},"maximum-linked-devices-reached",[177420],{"type":431,"value":177421},"\"Maximum Linked Devices Reached\"",{"type":426,"tag":427,"props":177423,"children":177424},{},[177425],{"type":431,"value":177426},"WhatsApp allows up to 4 linked devices per number. If you've used all 4 slots:",{"type":426,"tag":6331,"props":177428,"children":177429},{},[177430,177435,177440,177449],{"type":426,"tag":458,"props":177431,"children":177432},{},[177433],{"type":431,"value":177434},"Go to WhatsApp on your phone → Settings → Linked Devices",{"type":426,"tag":458,"props":177436,"children":177437},{},[177438],{"type":431,"value":177439},"Tap any listed device",{"type":426,"tag":458,"props":177441,"children":177442},{},[177443,177444],{"type":431,"value":176949},{"type":426,"tag":446,"props":177445,"children":177446},{},[177447],{"type":431,"value":177448},"Log Out",{"type":426,"tag":458,"props":177450,"children":177451},{},[177452],{"type":431,"value":177453},"Now try connecting Rapiwa again",{"type":426,"tag":515,"props":177455,"children":177457},{"id":177456},"whatsapp-shows-a-warning-after-scanning",[177458],{"type":431,"value":177459},"WhatsApp Shows a Warning After Scanning",{"type":426,"tag":427,"props":177461,"children":177462},{},[177463,177465,177469],{"type":431,"value":177464},"If WhatsApp shows a warning like \"Suspicious QR Code\", it means the QR code has expired or is invalid. Click ",{"type":426,"tag":446,"props":177466,"children":177467},{},[177468],{"type":431,"value":176920},{"type":431,"value":177470}," in the dashboard and try again with the fresh code.",{"type":426,"tag":434,"props":177472,"children":177474},{"id":177473},"managing-multiple-whatsapp-numbers",[177475],{"type":431,"value":177476},"Managing Multiple WhatsApp Numbers",{"type":426,"tag":427,"props":177478,"children":177479},{},[177480],{"type":431,"value":177481},"Higher Rapiwa plans support multiple connected numbers. To connect a second number:",{"type":426,"tag":6331,"props":177483,"children":177484},{},[177485,177490,177501,177506],{"type":426,"tag":458,"props":177486,"children":177487},{},[177488],{"type":431,"value":177489},"Log in from a different phone or use a different WhatsApp account",{"type":426,"tag":458,"props":177491,"children":177492},{},[177493,177495,177499],{"type":431,"value":177494},"In the Rapiwa dashboard, click ",{"type":426,"tag":446,"props":177496,"children":177497},{},[177498],{"type":431,"value":176896},{"type":431,"value":177500}," again",{"type":426,"tag":458,"props":177502,"children":177503},{},[177504],{"type":431,"value":177505},"Scan the new QR code with the second phone",{"type":426,"tag":458,"props":177507,"children":177508},{},[177509],{"type":431,"value":177510},"Both numbers appear in your Devices list, each with their own status",{"type":426,"tag":427,"props":177512,"children":177513},{},[177514],{"type":431,"value":177515},"When sending via API, specify which number to use if your plan supports multiple devices.",{"type":426,"tag":434,"props":177517,"children":177518},{"id":4109},[177519],{"type":431,"value":4112},{"type":426,"tag":427,"props":177521,"children":177522},{},[177523,177528],{"type":426,"tag":446,"props":177524,"children":177525},{},[177526],{"type":431,"value":177527},"Does my phone need to stay on after scanning the QR code?",{"type":431,"value":177529},"\nNo. After the initial QR code scan, Rapiwa maintains the WhatsApp session on its own infrastructure. Your phone can be off, on airplane mode, or away from WiFi. The API connection remains active independently.",{"type":426,"tag":427,"props":177531,"children":177532},{},[177533,177538],{"type":426,"tag":446,"props":177534,"children":177535},{},[177536],{"type":431,"value":177537},"Can I connect a WhatsApp Business number via QR code?",{"type":431,"value":177539},"\nYes. WhatsApp Business numbers work identically to regular WhatsApp numbers for QR code connection. The process is the same — Settings → Linked Devices → Link a Device.",{"type":426,"tag":427,"props":177541,"children":177542},{},[177543,177548],{"type":426,"tag":446,"props":177544,"children":177545},{},[177546],{"type":431,"value":177547},"How many devices can I link to one WhatsApp number?",{"type":431,"value":177549},"\nWhatsApp allows up to 4 linked devices per number. This includes your phone plus 4 additional sessions (e.g., WhatsApp Web in your browser + Rapiwa).",{"type":426,"tag":427,"props":177551,"children":177552},{},[177553,177558],{"type":426,"tag":446,"props":177554,"children":177555},{},[177556],{"type":431,"value":177557},"What happens to existing WhatsApp messages when I connect?",{"type":431,"value":177559},"\nYour existing message history stays on your phone. The API connection doesn't affect, delete, or expose your existing conversations. New messages sent\u002Freceived through the API will appear in your WhatsApp chat like normal messages.",{"type":426,"tag":427,"props":177561,"children":177562},{},[177563,177568,177570,177575],{"type":426,"tag":446,"props":177564,"children":177565},{},[177566],{"type":431,"value":177567},"Can I disconnect from the API anytime?",{"type":431,"value":177569},"\nYes. Go to your Rapiwa dashboard → Devices and click ",{"type":426,"tag":446,"props":177571,"children":177572},{},[177573],{"type":431,"value":177574},"Disconnect",{"type":431,"value":177576},", or on your phone go to WhatsApp → Settings → Linked Devices and tap the Rapiwa session → Log Out.",{"type":426,"tag":427,"props":177578,"children":177579},{},[177580,177585],{"type":426,"tag":446,"props":177581,"children":177582},{},[177583],{"type":431,"value":177584},"Is it safe to connect my WhatsApp number to an external API?",{"type":431,"value":177586},"\nThe QR code authentication is the same mechanism WhatsApp Web uses. The provider (Rapiwa) gains the ability to send and receive messages on behalf of your number. Use a trusted provider with a verified Sourceforge rating (Rapiwa: 5.0\u002F5) and a clear privacy policy.",{"type":426,"tag":4164,"props":177588,"children":177589},{},[177590],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":177592},[177593,177594,177601,177602,177610,177611],{"id":176758,"depth":588,"text":176761},{"id":176809,"depth":588,"text":176812,"children":177595},[177596,177597,177598,177599,177600],{"id":3809,"depth":606,"text":3812},{"id":176855,"depth":606,"text":176858},{"id":176925,"depth":606,"text":176928},{"id":177073,"depth":606,"text":177076},{"id":177120,"depth":606,"text":177123},{"id":177224,"depth":588,"text":177227},{"id":177283,"depth":588,"text":177286,"children":177603},[177604,177605,177606,177607,177608,177609],{"id":177289,"depth":606,"text":177292},{"id":177306,"depth":606,"text":177309},{"id":177335,"depth":606,"text":177338},{"id":177372,"depth":606,"text":177375},{"id":177418,"depth":606,"text":177421},{"id":177456,"depth":606,"text":177459},{"id":177473,"depth":588,"text":177476},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-connect-your-whatsapp-number-to-an-api-via-qr-code.md","blog\u002Fhow-to-connect-your-whatsapp-number-to-an-api-via-qr-code.md","blog\u002Fhow-to-connect-your-whatsapp-number-to-an-api-via-qr-code",{"loc":318},{"_path":322,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":323,"description":324,"date":177617,"author":419,"category":17,"_slug":177618,"image":177619,"body":177620,"_type":4187,"_id":178397,"_source":4189,"_file":178398,"_stem":178399,"_extension":4192,"sitemap":178400},"2025-12-22","free-whatsapp-api-vs-paid-when-does-it-make-sense-to-upgrade","\u002Fimages\u002Fblog\u002Ffree-whatsapp-api-vs-paid-when-does-it-make-sense-to-upgrade.svg",{"type":423,"children":177621,"toc":178380},[177622,177634,177640,177646,177651,177728,177733,177738,177743,177748,177754,177759,177787,177792,177798,177804,177918,177926,177932,177943,177949,177954,177960,178159,178164,178170,178175,178228,178234,178239,178292,178298,178303,178321,178326,178330,178340,178350,178360,178370],{"type":426,"tag":427,"props":177623,"children":177624},{},[177625,177627,177632],{"type":431,"value":177626},"Free WhatsApp APIs (Evolution API, WAHA self-hosted) cost $0 in software fees but require a VPS ($15–35\u002Fmonth) and ongoing maintenance (5–15 hours\u002Fmonth). Paid managed APIs like ",{"type":426,"tag":3819,"props":177628,"children":177630},{"href":3821,"rel":177629},[3823],[177631],{"type":431,"value":127310},{"type":431,"value":177633}," cost $5\u002Fmonth with zero server management, instant setup, and full support. For most businesses and developers, the paid option is actually cheaper when total cost of ownership is calculated.",{"type":426,"tag":434,"props":177635,"children":177637},{"id":177636},"what-free-whatsapp-apis-actually-cost",[177638],{"type":431,"value":177639},"What \"Free\" WhatsApp APIs Actually Cost",{"type":426,"tag":515,"props":177641,"children":177643},{"id":177642},"evolution-api-free-self-hosted",[177644],{"type":431,"value":177645},"Evolution API (Free, Self-Hosted)",{"type":426,"tag":427,"props":177647,"children":177648},{},[177649],{"type":431,"value":177650},"Evolution API is open-source (MIT license) — the software is free to download and run. But running it reliably requires:",{"type":426,"tag":10600,"props":177652,"children":177653},{},[177654,177669],{"type":426,"tag":10604,"props":177655,"children":177656},{},[177657],{"type":426,"tag":10608,"props":177658,"children":177659},{},[177660,177664],{"type":426,"tag":10612,"props":177661,"children":177662},{},[177663],{"type":431,"value":505},{"type":426,"tag":10612,"props":177665,"children":177666},{},[177667],{"type":431,"value":177668},"Monthly Estimate",{"type":426,"tag":10623,"props":177670,"children":177671},{},[177672,177685,177698,177710],{"type":426,"tag":10608,"props":177673,"children":177674},{},[177675,177680],{"type":426,"tag":10630,"props":177676,"children":177677},{},[177678],{"type":431,"value":177679},"VPS (minimum 4GB RAM)",{"type":426,"tag":10630,"props":177681,"children":177682},{},[177683],{"type":431,"value":177684},"$15–35",{"type":426,"tag":10608,"props":177686,"children":177687},{},[177688,177693],{"type":426,"tag":10630,"props":177689,"children":177690},{},[177691],{"type":431,"value":177692},"Developer time: setup, updates, crash fixes",{"type":426,"tag":10630,"props":177694,"children":177695},{},[177696],{"type":431,"value":177697},"5–15 hours",{"type":426,"tag":10608,"props":177699,"children":177700},{},[177701,177706],{"type":426,"tag":10630,"props":177702,"children":177703},{},[177704],{"type":431,"value":177705},"Downtime incidents (business impact)",{"type":426,"tag":10630,"props":177707,"children":177708},{},[177709],{"type":431,"value":80768},{"type":426,"tag":10608,"props":177711,"children":177712},{},[177713,177720],{"type":426,"tag":10630,"props":177714,"children":177715},{},[177716],{"type":426,"tag":446,"props":177717,"children":177718},{},[177719],{"type":431,"value":157767},{"type":426,"tag":10630,"props":177721,"children":177722},{},[177723],{"type":426,"tag":446,"props":177724,"children":177725},{},[177726],{"type":431,"value":177727},"$40–90+",{"type":426,"tag":427,"props":177729,"children":177730},{},[177731],{"type":431,"value":177732},"Evolution API breaks when WhatsApp updates its Web protocol. Each break requires manual intervention — pulling the latest release, running migrations, restarting services. This happens multiple times per year.",{"type":426,"tag":515,"props":177734,"children":177736},{"id":177735},"waha-self-hosted",[177737],{"type":431,"value":168422},{"type":426,"tag":427,"props":177739,"children":177740},{},[177741],{"type":431,"value":177742},"WAHA (WhatsApp HTTP API) is another open-source option. Same VPS requirements ($15–35\u002Fmonth) and same maintenance overhead.",{"type":426,"tag":427,"props":177744,"children":177745},{},[177746],{"type":431,"value":177747},"WAHA also offers a hosted version starting at $19\u002Fmonth — cheaper than full self-hosting but more expensive than managed APIs like Rapiwa.",{"type":426,"tag":515,"props":177749,"children":177751},{"id":177750},"baileys-raw-library",[177752],{"type":431,"value":177753},"Baileys (Raw Library)",{"type":426,"tag":427,"props":177755,"children":177756},{},[177757],{"type":431,"value":177758},"Baileys is a Node.js WhatsApp Web library. It is free and gives you maximum control but requires you to:",{"type":426,"tag":454,"props":177760,"children":177761},{},[177762,177767,177772,177777,177782],{"type":426,"tag":458,"props":177763,"children":177764},{},[177765],{"type":431,"value":177766},"Build your own API server",{"type":426,"tag":458,"props":177768,"children":177769},{},[177770],{"type":431,"value":177771},"Handle session persistence",{"type":426,"tag":458,"props":177773,"children":177774},{},[177775],{"type":431,"value":177776},"Manage reconnection logic",{"type":426,"tag":458,"props":177778,"children":177779},{},[177780],{"type":431,"value":177781},"Update the library when WhatsApp changes",{"type":426,"tag":458,"props":177783,"children":177784},{},[177785],{"type":431,"value":177786},"Handle errors and edge cases",{"type":426,"tag":427,"props":177788,"children":177789},{},[177790],{"type":431,"value":177791},"This is the most \"free\" option and the most expensive in developer time.",{"type":426,"tag":434,"props":177793,"children":177795},{"id":177794},"paid-whatsapp-api-options",[177796],{"type":431,"value":177797},"Paid WhatsApp API Options",{"type":426,"tag":515,"props":177799,"children":177801},{"id":177800},"rapiwa-5month",[177802],{"type":431,"value":177803},"Rapiwa — $5\u002FMonth",{"type":426,"tag":10600,"props":177805,"children":177806},{},[177807,177821],{"type":426,"tag":10604,"props":177808,"children":177809},{},[177810],{"type":426,"tag":10608,"props":177811,"children":177812},{},[177813,177817],{"type":426,"tag":10612,"props":177814,"children":177815},{},[177816],{"type":431,"value":16096},{"type":426,"tag":10612,"props":177818,"children":177819},{},[177820],{"type":431,"value":10621},{"type":426,"tag":10623,"props":177822,"children":177823},{},[177824,177836,177848,177860,177872,177883,177895,177907],{"type":426,"tag":10608,"props":177825,"children":177826},{},[177827,177831],{"type":426,"tag":10630,"props":177828,"children":177829},{},[177830],{"type":431,"value":158637},{"type":426,"tag":10630,"props":177832,"children":177833},{},[177834],{"type":431,"value":177835},"Fully managed, hosted",{"type":426,"tag":10608,"props":177837,"children":177838},{},[177839,177843],{"type":426,"tag":10630,"props":177840,"children":177841},{},[177842],{"type":431,"value":147063},{"type":426,"tag":10630,"props":177844,"children":177845},{},[177846],{"type":431,"value":177847},"5 minutes (QR code)",{"type":426,"tag":10608,"props":177849,"children":177850},{},[177851,177855],{"type":426,"tag":10630,"props":177852,"children":177853},{},[177854],{"type":431,"value":157909},{"type":426,"tag":10630,"props":177856,"children":177857},{},[177858],{"type":431,"value":177859},"Rapiwa handles it",{"type":426,"tag":10608,"props":177861,"children":177862},{},[177863,177868],{"type":426,"tag":10630,"props":177864,"children":177865},{},[177866],{"type":431,"value":177867},"Updates",{"type":426,"tag":10630,"props":177869,"children":177870},{},[177871],{"type":431,"value":158873},{"type":426,"tag":10608,"props":177873,"children":177874},{},[177875,177879],{"type":426,"tag":10630,"props":177876,"children":177877},{},[177878],{"type":431,"value":150071},{"type":426,"tag":10630,"props":177880,"children":177881},{},[177882],{"type":431,"value":152313},{"type":426,"tag":10608,"props":177884,"children":177885},{},[177886,177890],{"type":426,"tag":10630,"props":177887,"children":177888},{},[177889],{"type":431,"value":16164},{"type":426,"tag":10630,"props":177891,"children":177892},{},[177893],{"type":431,"value":177894},"10 included",{"type":426,"tag":10608,"props":177896,"children":177897},{},[177898,177902],{"type":426,"tag":10630,"props":177899,"children":177900},{},[177901],{"type":431,"value":167347},{"type":426,"tag":10630,"props":177903,"children":177904},{},[177905],{"type":431,"value":177906},"Dedicated",{"type":426,"tag":10608,"props":177908,"children":177909},{},[177910,177914],{"type":426,"tag":10630,"props":177911,"children":177912},{},[177913],{"type":431,"value":10800},{"type":426,"tag":10630,"props":177915,"children":177916},{},[177917],{"type":431,"value":10805},{"type":426,"tag":427,"props":177919,"children":177920},{},[177921],{"type":426,"tag":446,"props":177922,"children":177923},{},[177924],{"type":431,"value":177925},"True monthly cost: $5",{"type":426,"tag":515,"props":177927,"children":177929},{"id":177928},"wasenderapi-6month",[177930],{"type":431,"value":177931},"WasenderAPI — $6\u002FMonth",{"type":426,"tag":427,"props":177933,"children":177934},{},[177935,177937,177942],{"type":431,"value":177936},"Similar managed offering at $1\u002Fmonth more. See the full comparison: ",{"type":426,"tag":3819,"props":177938,"children":177939},{"href":402},[177940],{"type":431,"value":177941},"Rapiwa vs WasenderAPI",{"type":431,"value":6789},{"type":426,"tag":515,"props":177944,"children":177946},{"id":177945},"wati-49month",[177947],{"type":431,"value":177948},"WATI — $49\u002FMonth",{"type":426,"tag":427,"props":177950,"children":177951},{},[177952],{"type":431,"value":177953},"BSP built on Meta's official API. Designed for customer support teams, not developers. Much higher cost, official compliance, not useful for raw API access.",{"type":426,"tag":434,"props":177955,"children":177957},{"id":177956},"true-cost-comparison",[177958],{"type":431,"value":177959},"True Cost Comparison",{"type":426,"tag":10600,"props":177961,"children":177962},{},[177963,177991],{"type":426,"tag":10604,"props":177964,"children":177965},{},[177966],{"type":426,"tag":10608,"props":177967,"children":177968},{},[177969,177973,177977,177981,177986],{"type":426,"tag":10612,"props":177970,"children":177971},{},[177972],{"type":431,"value":158632},{"type":426,"tag":10612,"props":177974,"children":177975},{},[177976],{"type":431,"value":158637},{"type":426,"tag":10612,"props":177978,"children":177979},{},[177980],{"type":431,"value":158642},{"type":426,"tag":10612,"props":177982,"children":177983},{},[177984],{"type":431,"value":177985},"Admin Time (5h @ $30\u002Fh)",{"type":426,"tag":10612,"props":177987,"children":177988},{},[177989],{"type":431,"value":177990},"Total\u002FMonth",{"type":426,"tag":10623,"props":177992,"children":177993},{},[177994,178022,178049,178075,178107,178133],{"type":426,"tag":10608,"props":177995,"children":177996},{},[177997,178002,178006,178010,178014],{"type":426,"tag":10630,"props":177998,"children":177999},{},[178000],{"type":431,"value":178001},"Evolution API (self-host)",{"type":426,"tag":10630,"props":178003,"children":178004},{},[178005],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178007,"children":178008},{},[178009],{"type":431,"value":158674},{"type":426,"tag":10630,"props":178011,"children":178012},{},[178013],{"type":431,"value":158679},{"type":426,"tag":10630,"props":178015,"children":178016},{},[178017],{"type":426,"tag":446,"props":178018,"children":178019},{},[178020],{"type":431,"value":178021},"$170",{"type":426,"tag":10608,"props":178023,"children":178024},{},[178025,178030,178034,178038,178042],{"type":426,"tag":10630,"props":178026,"children":178027},{},[178028],{"type":431,"value":178029},"WAHA (self-host)",{"type":426,"tag":10630,"props":178031,"children":178032},{},[178033],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178035,"children":178036},{},[178037],{"type":431,"value":158674},{"type":426,"tag":10630,"props":178039,"children":178040},{},[178041],{"type":431,"value":158679},{"type":426,"tag":10630,"props":178043,"children":178044},{},[178045],{"type":426,"tag":446,"props":178046,"children":178047},{},[178048],{"type":431,"value":178021},{"type":426,"tag":10608,"props":178050,"children":178051},{},[178052,178056,178060,178064,178068],{"type":426,"tag":10630,"props":178053,"children":178054},{},[178055],{"type":431,"value":176287},{"type":426,"tag":10630,"props":178057,"children":178058},{},[178059],{"type":431,"value":147205},{"type":426,"tag":10630,"props":178061,"children":178062},{},[178063],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178065,"children":178066},{},[178067],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178069,"children":178070},{},[178071],{"type":426,"tag":446,"props":178072,"children":178073},{},[178074],{"type":431,"value":147205},{"type":426,"tag":10608,"props":178076,"children":178077},{},[178078,178085,178092,178096,178100],{"type":426,"tag":10630,"props":178079,"children":178080},{},[178081],{"type":426,"tag":446,"props":178082,"children":178083},{},[178084],{"type":431,"value":127310},{"type":426,"tag":10630,"props":178086,"children":178087},{},[178088],{"type":426,"tag":446,"props":178089,"children":178090},{},[178091],{"type":431,"value":147125},{"type":426,"tag":10630,"props":178093,"children":178094},{},[178095],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178097,"children":178098},{},[178099],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178101,"children":178102},{},[178103],{"type":426,"tag":446,"props":178104,"children":178105},{},[178106],{"type":431,"value":147125},{"type":426,"tag":10608,"props":178108,"children":178109},{},[178110,178114,178118,178122,178126],{"type":426,"tag":10630,"props":178111,"children":178112},{},[178113],{"type":431,"value":147163},{"type":426,"tag":10630,"props":178115,"children":178116},{},[178117],{"type":431,"value":147172},{"type":426,"tag":10630,"props":178119,"children":178120},{},[178121],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178123,"children":178124},{},[178125],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178127,"children":178128},{},[178129],{"type":426,"tag":446,"props":178130,"children":178131},{},[178132],{"type":431,"value":147172},{"type":426,"tag":10608,"props":178134,"children":178135},{},[178136,178140,178144,178148,178152],{"type":426,"tag":10630,"props":178137,"children":178138},{},[178139],{"type":431,"value":147230},{"type":426,"tag":10630,"props":178141,"children":178142},{},[178143],{"type":431,"value":147239},{"type":426,"tag":10630,"props":178145,"children":178146},{},[178147],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178149,"children":178150},{},[178151],{"type":431,"value":150083},{"type":426,"tag":10630,"props":178153,"children":178154},{},[178155],{"type":426,"tag":446,"props":178156,"children":178157},{},[178158],{"type":431,"value":147239},{"type":426,"tag":427,"props":178160,"children":178161},{},[178162],{"type":431,"value":178163},"Even if you value your time at only $10\u002Fhour and only spend 2 hours\u002Fmonth maintaining a self-hosted API, that's $20 in time + $20 VPS = $40\u002Fmonth — 8x the cost of Rapiwa.",{"type":426,"tag":434,"props":178165,"children":178167},{"id":178166},"when-free-self-hosted-makes-sense",[178168],{"type":431,"value":178169},"When Free (Self-Hosted) Makes Sense",{"type":426,"tag":427,"props":178171,"children":178172},{},[178173],{"type":431,"value":178174},"Choose self-hosted despite the higher total cost when:",{"type":426,"tag":6331,"props":178176,"children":178177},{},[178178,178188,178198,178208,178218],{"type":426,"tag":458,"props":178179,"children":178180},{},[178181,178186],{"type":426,"tag":446,"props":178182,"children":178183},{},[178184],{"type":431,"value":178185},"Data sovereignty is non-negotiable",{"type":431,"value":178187}," — your industry or jurisdiction requires all message data to stay on your own servers",{"type":426,"tag":458,"props":178189,"children":178190},{},[178191,178196],{"type":426,"tag":446,"props":178192,"children":178193},{},[178194],{"type":431,"value":178195},"You already have a DevOps team",{"type":431,"value":178197}," — the marginal cost of adding an API service to your existing infrastructure is low",{"type":426,"tag":458,"props":178199,"children":178200},{},[178201,178206],{"type":426,"tag":446,"props":178202,"children":178203},{},[178204],{"type":431,"value":178205},"You need custom modifications",{"type":431,"value":178207}," — you want to fork the library and change its behavior in ways no managed API allows",{"type":426,"tag":458,"props":178209,"children":178210},{},[178211,178216],{"type":426,"tag":446,"props":178212,"children":178213},{},[178214],{"type":431,"value":178215},"You're a developer learning",{"type":431,"value":178217}," — self-hosting teaches you about WhatsApp's protocol, session management, and deployment; valuable educational experience",{"type":426,"tag":458,"props":178219,"children":178220},{},[178221,178226],{"type":426,"tag":446,"props":178222,"children":178223},{},[178224],{"type":431,"value":178225},"You have massive scale",{"type":431,"value":178227}," — at very high volumes (millions of messages), a $30\u002Fmonth VPS hosting your own API might be cheaper than premium managed plans",{"type":426,"tag":434,"props":178229,"children":178231},{"id":178230},"when-paid-makes-sense-most-cases",[178232],{"type":431,"value":178233},"When Paid Makes Sense (Most Cases)",{"type":426,"tag":427,"props":178235,"children":178236},{},[178237],{"type":431,"value":178238},"Upgrade to a paid managed API when:",{"type":426,"tag":6331,"props":178240,"children":178241},{},[178242,178252,178262,178272,178282],{"type":426,"tag":458,"props":178243,"children":178244},{},[178245,178250],{"type":426,"tag":446,"props":178246,"children":178247},{},[178248],{"type":431,"value":178249},"You value your time",{"type":431,"value":178251}," — 5 hours\u002Fmonth × your hourly rate almost always exceeds $5–20\u002Fmonth",{"type":426,"tag":458,"props":178253,"children":178254},{},[178255,178260],{"type":426,"tag":446,"props":178256,"children":178257},{},[178258],{"type":431,"value":178259},"Uptime matters",{"type":431,"value":178261}," — self-hosted APIs go down when your VPS has issues; managed APIs have infrastructure teams maintaining uptime",{"type":426,"tag":458,"props":178263,"children":178264},{},[178265,178270],{"type":426,"tag":446,"props":178266,"children":178267},{},[178268],{"type":431,"value":178269},"You are not a DevOps engineer",{"type":431,"value":178271}," — server administration, Docker, PM2, and Linux troubleshooting require skills you may not have",{"type":426,"tag":458,"props":178273,"children":178274},{},[178275,178280],{"type":426,"tag":446,"props":178276,"children":178277},{},[178278],{"type":431,"value":178279},"You need it working today",{"type":431,"value":178281}," — managed APIs take 5 minutes; self-hosted takes hours of setup",{"type":426,"tag":458,"props":178283,"children":178284},{},[178285,178290],{"type":426,"tag":446,"props":178286,"children":178287},{},[178288],{"type":431,"value":178289},"You use WooCommerce",{"type":431,"value":178291}," — Rapiwa's plugin and n8n templates save days of development time",{"type":426,"tag":434,"props":178293,"children":178295},{"id":178294},"when-to-upgrade-from-free-trial-to-paid",[178296],{"type":431,"value":178297},"When to Upgrade from Free Trial to Paid",{"type":426,"tag":427,"props":178299,"children":178300},{},[178301],{"type":431,"value":178302},"Rapiwa offers a 3-day free trial. Upgrade when:",{"type":426,"tag":454,"props":178304,"children":178305},{},[178306,178311,178316],{"type":426,"tag":458,"props":178307,"children":178308},{},[178309],{"type":431,"value":178310},"You've verified the API works for your use case",{"type":426,"tag":458,"props":178312,"children":178313},{},[178314],{"type":431,"value":178315},"You need to stay connected beyond 3 days",{"type":426,"tag":458,"props":178317,"children":178318},{},[178319],{"type":431,"value":178320},"You're ready to put it into production",{"type":426,"tag":427,"props":178322,"children":178323},{},[178324],{"type":431,"value":178325},"At $5\u002Fmonth, the cost of continuing is effectively negligible compared to the value of automated WhatsApp communication for most businesses.",{"type":426,"tag":434,"props":178327,"children":178328},{"id":4109},[178329],{"type":431,"value":4112},{"type":426,"tag":427,"props":178331,"children":178332},{},[178333,178338],{"type":426,"tag":446,"props":178334,"children":178335},{},[178336],{"type":431,"value":178337},"Is there a truly free WhatsApp API with no strings attached?",{"type":431,"value":178339},"\nBaileys (Node.js library) and Evolution API (open-source) are free software. However, running them requires a VPS ($15–35\u002Fmonth) and developer time, making the total cost higher than most paid APIs.",{"type":426,"tag":427,"props":178341,"children":178342},{},[178343,178348],{"type":426,"tag":446,"props":178344,"children":178345},{},[178346],{"type":431,"value":178347},"What is the cheapest paid WhatsApp API?",{"type":431,"value":178349},"\nRapiwa at $5\u002Fmonth is the cheapest managed WhatsApp API with a 5.0\u002F5 Sourceforge rating and no per-message fees.",{"type":426,"tag":427,"props":178351,"children":178352},{},[178353,178358],{"type":426,"tag":446,"props":178354,"children":178355},{},[178356],{"type":431,"value":178357},"Should I start with free or paid?",{"type":431,"value":178359},"\nStart with Rapiwa's free 3-day trial. If it meets your needs, $5\u002Fmonth is the obvious upgrade. Only consider self-hosting if you have specific requirements (data sovereignty, custom modifications) that managed APIs cannot meet.",{"type":426,"tag":427,"props":178361,"children":178362},{},[178363,178368],{"type":426,"tag":446,"props":178364,"children":178365},{},[178366],{"type":431,"value":178367},"What happens if I don't like the paid API?",{"type":431,"value":178369},"\nRapiwa offers a clear refund policy at rapiwa.com\u002Frefund-policy. You can also cancel anytime — there are no long-term contracts.",{"type":426,"tag":427,"props":178371,"children":178372},{},[178373,178378],{"type":426,"tag":446,"props":178374,"children":178375},{},[178376],{"type":431,"value":178377},"Is WAHA free or paid?",{"type":431,"value":178379},"\nWAHA has a self-hosted version that is free (you provide the VPS) and a hosted\u002Fcloud version starting at $19\u002Fmonth. The self-hosted \"free\" version still costs $15–35\u002Fmonth for the VPS.",{"title":417,"searchDepth":588,"depth":588,"links":178381},[178382,178387,178392,178393,178394,178395,178396],{"id":177636,"depth":588,"text":177639,"children":178383},[178384,178385,178386],{"id":177642,"depth":606,"text":177645},{"id":177735,"depth":606,"text":168422},{"id":177750,"depth":606,"text":177753},{"id":177794,"depth":588,"text":177797,"children":178388},[178389,178390,178391],{"id":177800,"depth":606,"text":177803},{"id":177928,"depth":606,"text":177931},{"id":177945,"depth":606,"text":177948},{"id":177956,"depth":588,"text":177959},{"id":178166,"depth":588,"text":178169},{"id":178230,"depth":588,"text":178233},{"id":178294,"depth":588,"text":178297},{"id":4109,"depth":588,"text":4112},"content:blog:free-whatsapp-api-vs-paid-when-does-it-make-sense-to-upgrade.md","blog\u002Ffree-whatsapp-api-vs-paid-when-does-it-make-sense-to-upgrade.md","blog\u002Ffree-whatsapp-api-vs-paid-when-does-it-make-sense-to-upgrade",{"loc":322},{"_path":326,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":327,"description":328,"date":178402,"author":10935,"category":17,"_slug":178403,"image":178404,"body":178405,"_type":4187,"_id":179655,"_source":4189,"_file":179656,"_stem":179657,"_extension":4192,"sitemap":179658},"2025-12-21","how-to-bypass-the-whatsapp-24-hour-messaging-window","\u002Fimages\u002Fblog\u002Fhow-to-bypass-the-whatsapp-24-hour-messaging-window.svg",{"type":423,"children":178406,"toc":179646},[178407,178419,178425,178430,178477,178487,178496,178519,178524,178530,178535,178636,178641,178659,178668,178674,178679,178697,178702,178708,178713,178721,178750,178755,178763,179227,179232,179454,179460,179465,179471,179476,179588,179592,179602,179612,179622,179632,179642],{"type":426,"tag":427,"props":178408,"children":178409},{},[178410,178412,178417],{"type":431,"value":178411},"The WhatsApp 24-hour messaging window is a restriction in the official Meta Business API that prevents you from sending free-form messages more than 24 hours after the customer's last message. The simplest way to bypass this restriction is to use an unofficial WhatsApp API like ",{"type":426,"tag":3819,"props":178413,"children":178415},{"href":3821,"rel":178414},[3823],[178416],{"type":431,"value":127310},{"type":431,"value":178418}," ($5\u002Fmonth), which has no 24-hour window — you can send messages to any contact at any time.",{"type":426,"tag":434,"props":178420,"children":178422},{"id":178421},"what-is-the-whatsapp-24-hour-window",[178423],{"type":431,"value":178424},"What Is the WhatsApp 24-Hour Window?",{"type":426,"tag":427,"props":178426,"children":178427},{},[178428],{"type":431,"value":178429},"The 24-hour window is a policy in Meta's official WhatsApp Business API:",{"type":426,"tag":454,"props":178431,"children":178432},{},[178433,178445,178455,178465],{"type":426,"tag":458,"props":178434,"children":178435},{},[178436,178438,178443],{"type":431,"value":178437},"When a customer messages you, a ",{"type":426,"tag":446,"props":178439,"children":178440},{},[178441],{"type":431,"value":178442},"24-hour service window",{"type":431,"value":178444}," opens",{"type":426,"tag":458,"props":178446,"children":178447},{},[178448,178450],{"type":431,"value":178449},"During this window, you can send ",{"type":426,"tag":446,"props":178451,"children":178452},{},[178453],{"type":431,"value":178454},"any message freely",{"type":426,"tag":458,"props":178456,"children":178457},{},[178458,178460],{"type":431,"value":178459},"After 24 hours of no incoming message from the customer, the window ",{"type":426,"tag":446,"props":178461,"children":178462},{},[178463],{"type":431,"value":178464},"closes",{"type":426,"tag":458,"props":178466,"children":178467},{},[178468,178470,178475],{"type":431,"value":178469},"Once closed, you can only send ",{"type":426,"tag":446,"props":178471,"children":178472},{},[178473],{"type":431,"value":178474},"pre-approved message templates",{"type":431,"value":178476}," (reviewed and approved by Meta)",{"type":426,"tag":427,"props":178478,"children":178479},{},[178480,178485],{"type":426,"tag":446,"props":178481,"children":178482},{},[178483],{"type":431,"value":178484},"Why Meta enforces this",{"type":431,"value":178486},": To prevent businesses from spamming customers with unsolicited marketing after a customer has disengaged.",{"type":426,"tag":427,"props":178488,"children":178489},{},[178490,178495],{"type":426,"tag":446,"props":178491,"children":178492},{},[178493],{"type":431,"value":178494},"Why it's frustrating for developers",{"type":431,"value":19071},{"type":426,"tag":454,"props":178497,"children":178498},{},[178499,178504,178509,178514],{"type":426,"tag":458,"props":178500,"children":178501},{},[178502],{"type":431,"value":178503},"Your appointment reminder needs to go out 48 hours before the appointment — but the customer messaged you 72 hours ago → template required",{"type":426,"tag":458,"props":178505,"children":178506},{},[178507],{"type":431,"value":178508},"Your weekly newsletter → template required",{"type":426,"tag":458,"props":178510,"children":178511},{},[178512],{"type":431,"value":178513},"Your abandoned cart follow-up 3 hours after cart abandonment → if customer hasn't messaged first, template required",{"type":426,"tag":458,"props":178515,"children":178516},{},[178517],{"type":431,"value":178518},"Any proactive marketing → template required",{"type":426,"tag":427,"props":178520,"children":178521},{},[178522],{"type":431,"value":178523},"Getting templates approved takes time and Meta sometimes rejects them.",{"type":426,"tag":434,"props":178525,"children":178527},{"id":178526},"method-1-use-an-unofficial-whatsapp-api-no-window",[178528],{"type":431,"value":178529},"Method 1: Use an Unofficial WhatsApp API (No Window)",{"type":426,"tag":427,"props":178531,"children":178532},{},[178533],{"type":431,"value":178534},"The most effective solution is to not use the official Meta API. Unofficial APIs like Rapiwa have no 24-hour window — you can send any message to any contact at any time.",{"type":426,"tag":542,"props":178536,"children":178538},{"className":546,"code":178537,"language":545,"meta":417,"style":417},"# No template needed, no 24-hour restriction\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi! Your appointment is in 48 hours. See you on Thursday at 3pm.\"\n  }'\n",[178539],{"type":426,"tag":549,"props":178540,"children":178541},{"__ignoreMap":417},[178542,178550,178573,178588,178603,178614,178621,178629],{"type":426,"tag":553,"props":178543,"children":178544},{"class":555,"line":556},[178545],{"type":426,"tag":553,"props":178546,"children":178547},{"style":1975},[178548],{"type":431,"value":178549},"# No template needed, no 24-hour restriction\n",{"type":426,"tag":553,"props":178551,"children":178552},{"class":555,"line":588},[178553,178557,178561,178565,178569],{"type":426,"tag":553,"props":178554,"children":178555},{"style":560},[178556],{"type":431,"value":563},{"type":426,"tag":553,"props":178558,"children":178559},{"style":566},[178560],{"type":431,"value":569},{"type":426,"tag":553,"props":178562,"children":178563},{"style":572},[178564],{"type":431,"value":575},{"type":426,"tag":553,"props":178566,"children":178567},{"style":572},[178568],{"type":431,"value":580},{"type":426,"tag":553,"props":178570,"children":178571},{"style":566},[178572],{"type":431,"value":585},{"type":426,"tag":553,"props":178574,"children":178575},{"class":555,"line":606},[178576,178580,178584],{"type":426,"tag":553,"props":178577,"children":178578},{"style":566},[178579],{"type":431,"value":594},{"type":426,"tag":553,"props":178581,"children":178582},{"style":572},[178583],{"type":431,"value":599},{"type":426,"tag":553,"props":178585,"children":178586},{"style":566},[178587],{"type":431,"value":585},{"type":426,"tag":553,"props":178589,"children":178590},{"class":555,"line":623},[178591,178595,178599],{"type":426,"tag":553,"props":178592,"children":178593},{"style":566},[178594],{"type":431,"value":594},{"type":426,"tag":553,"props":178596,"children":178597},{"style":572},[178598],{"type":431,"value":616},{"type":426,"tag":553,"props":178600,"children":178601},{"style":566},[178602],{"type":431,"value":585},{"type":426,"tag":553,"props":178604,"children":178605},{"class":555,"line":637},[178606,178610],{"type":426,"tag":553,"props":178607,"children":178608},{"style":566},[178609],{"type":431,"value":629},{"type":426,"tag":553,"props":178611,"children":178612},{"style":572},[178613],{"type":431,"value":634},{"type":426,"tag":553,"props":178615,"children":178616},{"class":555,"line":646},[178617],{"type":426,"tag":553,"props":178618,"children":178619},{"style":572},[178620],{"type":431,"value":643},{"type":426,"tag":553,"props":178622,"children":178623},{"class":555,"line":655},[178624],{"type":426,"tag":553,"props":178625,"children":178626},{"style":572},[178627],{"type":431,"value":178628},"    \"message\": \"Hi! Your appointment is in 48 hours. See you on Thursday at 3pm.\"\n",{"type":426,"tag":553,"props":178630,"children":178631},{"class":555,"line":1036},[178632],{"type":426,"tag":553,"props":178633,"children":178634},{"style":572},[178635],{"type":431,"value":661},{"type":426,"tag":427,"props":178637,"children":178638},{},[178639],{"type":431,"value":178640},"This message sends immediately regardless of:",{"type":426,"tag":454,"props":178642,"children":178643},{},[178644,178649,178654],{"type":426,"tag":458,"props":178645,"children":178646},{},[178647],{"type":431,"value":178648},"When the customer last messaged you",{"type":426,"tag":458,"props":178650,"children":178651},{},[178652],{"type":431,"value":178653},"Whether you have an approved template",{"type":426,"tag":458,"props":178655,"children":178656},{},[178657],{"type":431,"value":178658},"What time of day it is",{"type":426,"tag":427,"props":178660,"children":178661},{},[178662,178666],{"type":426,"tag":446,"props":178663,"children":178664},{},[178665],{"type":431,"value":505},{"type":431,"value":178667},": $5\u002Fmonth, unlimited messages, no per-message fees.",{"type":426,"tag":434,"props":178669,"children":178671},{"id":178670},"method-2-keep-the-window-open-with-engagement",[178672],{"type":431,"value":178673},"Method 2: Keep the Window Open with Engagement",{"type":426,"tag":427,"props":178675,"children":178676},{},[178677],{"type":431,"value":178678},"If you must use the official Meta API, keep the customer's service window open by encouraging regular engagement:",{"type":426,"tag":454,"props":178680,"children":178681},{},[178682,178687,178692],{"type":426,"tag":458,"props":178683,"children":178684},{},[178685],{"type":431,"value":178686},"Ask questions that prompt responses (\"Did your package arrive? Reply YES or NO\")",{"type":426,"tag":458,"props":178688,"children":178689},{},[178690],{"type":431,"value":178691},"Use interactive message buttons (quick reply buttons that customers can tap)",{"type":426,"tag":458,"props":178693,"children":178694},{},[178695],{"type":431,"value":178696},"Send message templates that prompt a response before the window closes",{"type":426,"tag":427,"props":178698,"children":178699},{},[178700],{"type":431,"value":178701},"This is a workaround, not a solution — it requires constant customer interaction.",{"type":426,"tag":434,"props":178703,"children":178705},{"id":178704},"method-3-use-whatsapp-template-messages-strategically",[178706],{"type":431,"value":178707},"Method 3: Use WhatsApp Template Messages Strategically",{"type":426,"tag":427,"props":178709,"children":178710},{},[178711],{"type":431,"value":178712},"For the official API, create templates in advance for your most common proactive messages:",{"type":426,"tag":427,"props":178714,"children":178715},{},[178716],{"type":426,"tag":446,"props":178717,"children":178718},{},[178719],{"type":431,"value":178720},"Template submission example:",{"type":426,"tag":454,"props":178722,"children":178723},{},[178724,178734,178745],{"type":426,"tag":458,"props":178725,"children":178726},{},[178727,178728],{"type":431,"value":95627},{"type":426,"tag":549,"props":178729,"children":178731},{"className":178730},[],[178732],{"type":431,"value":178733},"appointment_reminder_48h",{"type":426,"tag":458,"props":178735,"children":178736},{},[178737,178739],{"type":431,"value":178738},"Body: ",{"type":426,"tag":549,"props":178740,"children":178742},{"className":178741},[],[178743],{"type":431,"value":178744},"Hi {{1}}, your appointment with {{2}} is on {{3}} at {{4}}. Reply CONFIRM or RESCHEDULE.",{"type":426,"tag":458,"props":178746,"children":178747},{},[178748],{"type":431,"value":178749},"Category: Utility",{"type":426,"tag":427,"props":178751,"children":178752},{},[178753],{"type":431,"value":178754},"Once approved (1–7 days), you can send this template to any opted-in user regardless of the 24-hour window.",{"type":426,"tag":427,"props":178756,"children":178757},{},[178758],{"type":426,"tag":446,"props":178759,"children":178760},{},[178761],{"type":431,"value":178762},"Python with Meta API template:",{"type":426,"tag":542,"props":178764,"children":178766},{"className":785,"code":178765,"language":784,"meta":417,"style":417},"import requests\n\ndef send_appointment_reminder(phone, name, doctor, date, time):\n    # This requires an approved template AND WhatsApp Business API access\n    response = requests.post(\n        \"https:\u002F\u002Fgraph.facebook.com\u002Fv18.0\u002FYOUR_PHONE_NUMBER_ID\u002Fmessages\",\n        headers={\"Authorization\": \"Bearer YOUR_META_TOKEN\"},\n        json={\n            \"messaging_product\": \"whatsapp\",\n            \"to\": phone,\n            \"type\": \"template\",\n            \"template\": {\n                \"name\": \"appointment_reminder_48h\",\n                \"language\": {\"code\": \"en\"},\n                \"components\": [{\n                    \"type\": \"body\",\n                    \"parameters\": [\n                        {\"type\": \"text\", \"text\": name},\n                        {\"type\": \"text\", \"text\": doctor},\n                        {\"type\": \"text\", \"text\": date},\n                        {\"type\": \"text\", \"text\": time}\n                    ]\n                }]\n            }\n        }\n    )\n    return response.json()\n",[178767],{"type":426,"tag":549,"props":178768,"children":178769},{"__ignoreMap":417},[178770,178781,178788,178805,178813,178828,178840,178872,178887,178907,178919,178940,178952,178973,179003,179016,179037,179049,179083,179115,179147,179179,179187,179195,179202,179209,179216],{"type":426,"tag":553,"props":178771,"children":178772},{"class":555,"line":556},[178773,178777],{"type":426,"tag":553,"props":178774,"children":178775},{"style":795},[178776],{"type":431,"value":798},{"type":426,"tag":553,"props":178778,"children":178779},{"style":684},[178780],{"type":431,"value":803},{"type":426,"tag":553,"props":178782,"children":178783},{"class":555,"line":588},[178784],{"type":426,"tag":553,"props":178785,"children":178786},{"emptyLinePlaceholder":831},[178787],{"type":431,"value":834},{"type":426,"tag":553,"props":178789,"children":178790},{"class":555,"line":606},[178791,178795,178800],{"type":426,"tag":553,"props":178792,"children":178793},{"style":795},[178794],{"type":431,"value":842},{"type":426,"tag":553,"props":178796,"children":178797},{"style":560},[178798],{"type":431,"value":178799}," send_appointment_reminder",{"type":426,"tag":553,"props":178801,"children":178802},{"style":684},[178803],{"type":431,"value":178804},"(phone, name, doctor, date, time):\n",{"type":426,"tag":553,"props":178806,"children":178807},{"class":555,"line":623},[178808],{"type":426,"tag":553,"props":178809,"children":178810},{"style":1975},[178811],{"type":431,"value":178812},"    # This requires an approved template AND WhatsApp Business API access\n",{"type":426,"tag":553,"props":178814,"children":178815},{"class":555,"line":637},[178816,178820,178824],{"type":426,"tag":553,"props":178817,"children":178818},{"style":684},[178819],{"type":431,"value":8117},{"type":426,"tag":553,"props":178821,"children":178822},{"style":795},[178823],{"type":431,"value":957},{"type":426,"tag":553,"props":178825,"children":178826},{"style":684},[178827],{"type":431,"value":1664},{"type":426,"tag":553,"props":178829,"children":178830},{"class":555,"line":646},[178831,178836],{"type":426,"tag":553,"props":178832,"children":178833},{"style":572},[178834],{"type":431,"value":178835},"        \"https:\u002F\u002Fgraph.facebook.com\u002Fv18.0\u002FYOUR_PHONE_NUMBER_ID\u002Fmessages\"",{"type":426,"tag":553,"props":178837,"children":178838},{"style":684},[178839],{"type":431,"value":710},{"type":426,"tag":553,"props":178841,"children":178842},{"class":555,"line":655},[178843,178847,178851,178855,178859,178863,178868],{"type":426,"tag":553,"props":178844,"children":178845},{"style":1684},[178846],{"type":431,"value":1687},{"type":426,"tag":553,"props":178848,"children":178849},{"style":795},[178850],{"type":431,"value":957},{"type":426,"tag":553,"props":178852,"children":178853},{"style":684},[178854],{"type":431,"value":972},{"type":426,"tag":553,"props":178856,"children":178857},{"style":572},[178858],{"type":431,"value":45214},{"type":426,"tag":553,"props":178860,"children":178861},{"style":684},[178862],{"type":431,"value":700},{"type":426,"tag":553,"props":178864,"children":178865},{"style":572},[178866],{"type":431,"value":178867},"\"Bearer YOUR_META_TOKEN\"",{"type":426,"tag":553,"props":178869,"children":178870},{"style":684},[178871],{"type":431,"value":1737},{"type":426,"tag":553,"props":178873,"children":178874},{"class":555,"line":1036},[178875,178879,178883],{"type":426,"tag":553,"props":178876,"children":178877},{"style":1684},[178878],{"type":431,"value":1746},{"type":426,"tag":553,"props":178880,"children":178881},{"style":795},[178882],{"type":431,"value":957},{"type":426,"tag":553,"props":178884,"children":178885},{"style":684},[178886],{"type":431,"value":687},{"type":426,"tag":553,"props":178888,"children":178889},{"class":555,"line":1054},[178890,178895,178899,178903],{"type":426,"tag":553,"props":178891,"children":178892},{"style":572},[178893],{"type":431,"value":178894},"            \"messaging_product\"",{"type":426,"tag":553,"props":178896,"children":178897},{"style":684},[178898],{"type":431,"value":700},{"type":426,"tag":553,"props":178900,"children":178901},{"style":572},[178902],{"type":431,"value":75658},{"type":426,"tag":553,"props":178904,"children":178905},{"style":684},[178906],{"type":431,"value":710},{"type":426,"tag":553,"props":178908,"children":178909},{"class":555,"line":1080},[178910,178915],{"type":426,"tag":553,"props":178911,"children":178912},{"style":572},[178913],{"type":431,"value":178914},"            \"to\"",{"type":426,"tag":553,"props":178916,"children":178917},{"style":684},[178918],{"type":431,"value":37726},{"type":426,"tag":553,"props":178920,"children":178921},{"class":555,"line":1097},[178922,178927,178931,178936],{"type":426,"tag":553,"props":178923,"children":178924},{"style":572},[178925],{"type":431,"value":178926},"            \"type\"",{"type":426,"tag":553,"props":178928,"children":178929},{"style":684},[178930],{"type":431,"value":700},{"type":426,"tag":553,"props":178932,"children":178933},{"style":572},[178934],{"type":431,"value":178935},"\"template\"",{"type":426,"tag":553,"props":178937,"children":178938},{"style":684},[178939],{"type":431,"value":710},{"type":426,"tag":553,"props":178941,"children":178942},{"class":555,"line":1114},[178943,178948],{"type":426,"tag":553,"props":178944,"children":178945},{"style":572},[178946],{"type":431,"value":178947},"            \"template\"",{"type":426,"tag":553,"props":178949,"children":178950},{"style":684},[178951],{"type":431,"value":17102},{"type":426,"tag":553,"props":178953,"children":178954},{"class":555,"line":1127},[178955,178960,178964,178969],{"type":426,"tag":553,"props":178956,"children":178957},{"style":572},[178958],{"type":431,"value":178959},"                \"name\"",{"type":426,"tag":553,"props":178961,"children":178962},{"style":684},[178963],{"type":431,"value":700},{"type":426,"tag":553,"props":178965,"children":178966},{"style":572},[178967],{"type":431,"value":178968},"\"appointment_reminder_48h\"",{"type":426,"tag":553,"props":178970,"children":178971},{"style":684},[178972],{"type":431,"value":710},{"type":426,"tag":553,"props":178974,"children":178975},{"class":555,"line":1167},[178976,178981,178985,178990,178994,178999],{"type":426,"tag":553,"props":178977,"children":178978},{"style":572},[178979],{"type":431,"value":178980},"                \"language\"",{"type":426,"tag":553,"props":178982,"children":178983},{"style":684},[178984],{"type":431,"value":10135},{"type":426,"tag":553,"props":178986,"children":178987},{"style":572},[178988],{"type":431,"value":178989},"\"code\"",{"type":426,"tag":553,"props":178991,"children":178992},{"style":684},[178993],{"type":431,"value":700},{"type":426,"tag":553,"props":178995,"children":178996},{"style":572},[178997],{"type":431,"value":178998},"\"en\"",{"type":426,"tag":553,"props":179000,"children":179001},{"style":684},[179002],{"type":431,"value":1737},{"type":426,"tag":553,"props":179004,"children":179005},{"class":555,"line":1184},[179006,179011],{"type":426,"tag":553,"props":179007,"children":179008},{"style":572},[179009],{"type":431,"value":179010},"                \"components\"",{"type":426,"tag":553,"props":179012,"children":179013},{"style":684},[179014],{"type":431,"value":179015},": [{\n",{"type":426,"tag":553,"props":179017,"children":179018},{"class":555,"line":1192},[179019,179024,179028,179033],{"type":426,"tag":553,"props":179020,"children":179021},{"style":572},[179022],{"type":431,"value":179023},"                    \"type\"",{"type":426,"tag":553,"props":179025,"children":179026},{"style":684},[179027],{"type":431,"value":700},{"type":426,"tag":553,"props":179029,"children":179030},{"style":572},[179031],{"type":431,"value":179032},"\"body\"",{"type":426,"tag":553,"props":179034,"children":179035},{"style":684},[179036],{"type":431,"value":710},{"type":426,"tag":553,"props":179038,"children":179039},{"class":555,"line":1210},[179040,179045],{"type":426,"tag":553,"props":179041,"children":179042},{"style":572},[179043],{"type":431,"value":179044},"                    \"parameters\"",{"type":426,"tag":553,"props":179046,"children":179047},{"style":684},[179048],{"type":431,"value":17136},{"type":426,"tag":553,"props":179050,"children":179051},{"class":555,"line":1253},[179052,179057,179062,179066,179070,179074,179078],{"type":426,"tag":553,"props":179053,"children":179054},{"style":684},[179055],{"type":431,"value":179056},"                        {",{"type":426,"tag":553,"props":179058,"children":179059},{"style":572},[179060],{"type":431,"value":179061},"\"type\"",{"type":426,"tag":553,"props":179063,"children":179064},{"style":684},[179065],{"type":431,"value":700},{"type":426,"tag":553,"props":179067,"children":179068},{"style":572},[179069],{"type":431,"value":81731},{"type":426,"tag":553,"props":179071,"children":179072},{"style":684},[179073],{"type":431,"value":1907},{"type":426,"tag":553,"props":179075,"children":179076},{"style":572},[179077],{"type":431,"value":81731},{"type":426,"tag":553,"props":179079,"children":179080},{"style":684},[179081],{"type":431,"value":179082},": name},\n",{"type":426,"tag":553,"props":179084,"children":179085},{"class":555,"line":1302},[179086,179090,179094,179098,179102,179106,179110],{"type":426,"tag":553,"props":179087,"children":179088},{"style":684},[179089],{"type":431,"value":179056},{"type":426,"tag":553,"props":179091,"children":179092},{"style":572},[179093],{"type":431,"value":179061},{"type":426,"tag":553,"props":179095,"children":179096},{"style":684},[179097],{"type":431,"value":700},{"type":426,"tag":553,"props":179099,"children":179100},{"style":572},[179101],{"type":431,"value":81731},{"type":426,"tag":553,"props":179103,"children":179104},{"style":684},[179105],{"type":431,"value":1907},{"type":426,"tag":553,"props":179107,"children":179108},{"style":572},[179109],{"type":431,"value":81731},{"type":426,"tag":553,"props":179111,"children":179112},{"style":684},[179113],{"type":431,"value":179114},": doctor},\n",{"type":426,"tag":553,"props":179116,"children":179117},{"class":555,"line":1374},[179118,179122,179126,179130,179134,179138,179142],{"type":426,"tag":553,"props":179119,"children":179120},{"style":684},[179121],{"type":431,"value":179056},{"type":426,"tag":553,"props":179123,"children":179124},{"style":572},[179125],{"type":431,"value":179061},{"type":426,"tag":553,"props":179127,"children":179128},{"style":684},[179129],{"type":431,"value":700},{"type":426,"tag":553,"props":179131,"children":179132},{"style":572},[179133],{"type":431,"value":81731},{"type":426,"tag":553,"props":179135,"children":179136},{"style":684},[179137],{"type":431,"value":1907},{"type":426,"tag":553,"props":179139,"children":179140},{"style":572},[179141],{"type":431,"value":81731},{"type":426,"tag":553,"props":179143,"children":179144},{"style":684},[179145],{"type":431,"value":179146},": date},\n",{"type":426,"tag":553,"props":179148,"children":179149},{"class":555,"line":1414},[179150,179154,179158,179162,179166,179170,179174],{"type":426,"tag":553,"props":179151,"children":179152},{"style":684},[179153],{"type":431,"value":179056},{"type":426,"tag":553,"props":179155,"children":179156},{"style":572},[179157],{"type":431,"value":179061},{"type":426,"tag":553,"props":179159,"children":179160},{"style":684},[179161],{"type":431,"value":700},{"type":426,"tag":553,"props":179163,"children":179164},{"style":572},[179165],{"type":431,"value":81731},{"type":426,"tag":553,"props":179167,"children":179168},{"style":684},[179169],{"type":431,"value":1907},{"type":426,"tag":553,"props":179171,"children":179172},{"style":572},[179173],{"type":431,"value":81731},{"type":426,"tag":553,"props":179175,"children":179176},{"style":684},[179177],{"type":431,"value":179178},": time}\n",{"type":426,"tag":553,"props":179180,"children":179181},{"class":555,"line":1479},[179182],{"type":426,"tag":553,"props":179183,"children":179184},{"style":684},[179185],{"type":431,"value":179186},"                    ]\n",{"type":426,"tag":553,"props":179188,"children":179189},{"class":555,"line":1517},[179190],{"type":426,"tag":553,"props":179191,"children":179192},{"style":684},[179193],{"type":431,"value":179194},"                }]\n",{"type":426,"tag":553,"props":179196,"children":179197},{"class":555,"line":1560},[179198],{"type":426,"tag":553,"props":179199,"children":179200},{"style":684},[179201],{"type":431,"value":21329},{"type":426,"tag":553,"props":179203,"children":179204},{"class":555,"line":1598},[179205],{"type":426,"tag":553,"props":179206,"children":179207},{"style":684},[179208],{"type":431,"value":15075},{"type":426,"tag":553,"props":179210,"children":179211},{"class":555,"line":1636},[179212],{"type":426,"tag":553,"props":179213,"children":179214},{"style":684},[179215],{"type":431,"value":1642},{"type":426,"tag":553,"props":179217,"children":179218},{"class":555,"line":1645},[179219,179223],{"type":426,"tag":553,"props":179220,"children":179221},{"style":795},[179222],{"type":431,"value":1659},{"type":426,"tag":553,"props":179224,"children":179225},{"style":684},[179226],{"type":431,"value":9193},{"type":426,"tag":427,"props":179228,"children":179229},{},[179230],{"type":431,"value":179231},"vs. Rapiwa — no template needed:",{"type":426,"tag":542,"props":179233,"children":179235},{"className":785,"code":179234,"language":784,"meta":417,"style":417},"def send_appointment_reminder_rapiwa(phone, name, doctor, date, time):\n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_RAPIWA_KEY\"},\n        json={\n            \"number\": phone,\n            \"message\": f\"Hi {name}! Your appointment with {doctor} is on {date} at {time}. Reply CONFIRM or RESCHEDULE.\"\n        }\n    )\n    return response.json()\n",[179236],{"type":426,"tag":549,"props":179237,"children":179238},{"__ignoreMap":417},[179239,179255,179270,179281,179312,179327,179339,179429,179436,179443],{"type":426,"tag":553,"props":179240,"children":179241},{"class":555,"line":556},[179242,179246,179251],{"type":426,"tag":553,"props":179243,"children":179244},{"style":795},[179245],{"type":431,"value":842},{"type":426,"tag":553,"props":179247,"children":179248},{"style":560},[179249],{"type":431,"value":179250}," send_appointment_reminder_rapiwa",{"type":426,"tag":553,"props":179252,"children":179253},{"style":684},[179254],{"type":431,"value":178804},{"type":426,"tag":553,"props":179256,"children":179257},{"class":555,"line":588},[179258,179262,179266],{"type":426,"tag":553,"props":179259,"children":179260},{"style":684},[179261],{"type":431,"value":8117},{"type":426,"tag":553,"props":179263,"children":179264},{"style":795},[179265],{"type":431,"value":957},{"type":426,"tag":553,"props":179267,"children":179268},{"style":684},[179269],{"type":431,"value":1664},{"type":426,"tag":553,"props":179271,"children":179272},{"class":555,"line":606},[179273,179277],{"type":426,"tag":553,"props":179274,"children":179275},{"style":572},[179276],{"type":431,"value":47296},{"type":426,"tag":553,"props":179278,"children":179279},{"style":684},[179280],{"type":431,"value":710},{"type":426,"tag":553,"props":179282,"children":179283},{"class":555,"line":623},[179284,179288,179292,179296,179300,179304,179308],{"type":426,"tag":553,"props":179285,"children":179286},{"style":1684},[179287],{"type":431,"value":1687},{"type":426,"tag":553,"props":179289,"children":179290},{"style":795},[179291],{"type":431,"value":957},{"type":426,"tag":553,"props":179293,"children":179294},{"style":684},[179295],{"type":431,"value":972},{"type":426,"tag":553,"props":179297,"children":179298},{"style":572},[179299],{"type":431,"value":45214},{"type":426,"tag":553,"props":179301,"children":179302},{"style":684},[179303],{"type":431,"value":700},{"type":426,"tag":553,"props":179305,"children":179306},{"style":572},[179307],{"type":431,"value":147695},{"type":426,"tag":553,"props":179309,"children":179310},{"style":684},[179311],{"type":431,"value":1737},{"type":426,"tag":553,"props":179313,"children":179314},{"class":555,"line":637},[179315,179319,179323],{"type":426,"tag":553,"props":179316,"children":179317},{"style":1684},[179318],{"type":431,"value":1746},{"type":426,"tag":553,"props":179320,"children":179321},{"style":795},[179322],{"type":431,"value":957},{"type":426,"tag":553,"props":179324,"children":179325},{"style":684},[179326],{"type":431,"value":687},{"type":426,"tag":553,"props":179328,"children":179329},{"class":555,"line":646},[179330,179335],{"type":426,"tag":553,"props":179331,"children":179332},{"style":572},[179333],{"type":431,"value":179334},"            \"number\"",{"type":426,"tag":553,"props":179336,"children":179337},{"style":684},[179338],{"type":431,"value":37726},{"type":426,"tag":553,"props":179340,"children":179341},{"class":555,"line":655},[179342,179347,179351,179355,179359,179363,179367,179371,179376,179380,179384,179388,179393,179397,179402,179406,179411,179415,179420,179424],{"type":426,"tag":553,"props":179343,"children":179344},{"style":572},[179345],{"type":431,"value":179346},"            \"message\"",{"type":426,"tag":553,"props":179348,"children":179349},{"style":684},[179350],{"type":431,"value":700},{"type":426,"tag":553,"props":179352,"children":179353},{"style":795},[179354],{"type":431,"value":1709},{"type":426,"tag":553,"props":179356,"children":179357},{"style":572},[179358],{"type":431,"value":4625},{"type":426,"tag":553,"props":179360,"children":179361},{"style":566},[179362],{"type":431,"value":972},{"type":426,"tag":553,"props":179364,"children":179365},{"style":684},[179366],{"type":431,"value":24468},{"type":426,"tag":553,"props":179368,"children":179369},{"style":566},[179370],{"type":431,"value":982},{"type":426,"tag":553,"props":179372,"children":179373},{"style":572},[179374],{"type":431,"value":179375},"! Your appointment with ",{"type":426,"tag":553,"props":179377,"children":179378},{"style":566},[179379],{"type":431,"value":972},{"type":426,"tag":553,"props":179381,"children":179382},{"style":684},[179383],{"type":431,"value":41868},{"type":426,"tag":553,"props":179385,"children":179386},{"style":566},[179387],{"type":431,"value":982},{"type":426,"tag":553,"props":179389,"children":179390},{"style":572},[179391],{"type":431,"value":179392}," is on ",{"type":426,"tag":553,"props":179394,"children":179395},{"style":566},[179396],{"type":431,"value":972},{"type":426,"tag":553,"props":179398,"children":179399},{"style":684},[179400],{"type":431,"value":179401},"date",{"type":426,"tag":553,"props":179403,"children":179404},{"style":566},[179405],{"type":431,"value":982},{"type":426,"tag":553,"props":179407,"children":179408},{"style":572},[179409],{"type":431,"value":179410}," at ",{"type":426,"tag":553,"props":179412,"children":179413},{"style":566},[179414],{"type":431,"value":972},{"type":426,"tag":553,"props":179416,"children":179417},{"style":684},[179418],{"type":431,"value":179419},"time",{"type":426,"tag":553,"props":179421,"children":179422},{"style":566},[179423],{"type":431,"value":982},{"type":426,"tag":553,"props":179425,"children":179426},{"style":572},[179427],{"type":431,"value":179428},". Reply CONFIRM or RESCHEDULE.\"\n",{"type":426,"tag":553,"props":179430,"children":179431},{"class":555,"line":1036},[179432],{"type":426,"tag":553,"props":179433,"children":179434},{"style":684},[179435],{"type":431,"value":15075},{"type":426,"tag":553,"props":179437,"children":179438},{"class":555,"line":1054},[179439],{"type":426,"tag":553,"props":179440,"children":179441},{"style":684},[179442],{"type":431,"value":1642},{"type":426,"tag":553,"props":179444,"children":179445},{"class":555,"line":1080},[179446,179450],{"type":426,"tag":553,"props":179447,"children":179448},{"style":795},[179449],{"type":431,"value":1659},{"type":426,"tag":553,"props":179451,"children":179452},{"style":684},[179453],{"type":431,"value":9193},{"type":426,"tag":434,"props":179455,"children":179457},{"id":179456},"when-the-24-hour-window-actually-helps-you",[179458],{"type":431,"value":179459},"When the 24-Hour Window Actually Helps You",{"type":426,"tag":427,"props":179461,"children":179462},{},[179463],{"type":431,"value":179464},"It's worth noting that the 24-hour window exists to protect users from spam. If you are sending relevant, valuable messages, customers will engage and the window stays open naturally. The restriction primarily hurts aggressive marketing teams, not businesses sending legitimate notifications.",{"type":426,"tag":434,"props":179466,"children":179468},{"id":179467},"use-cases-that-require-bypassing-the-window",[179469],{"type":431,"value":179470},"Use Cases That Require Bypassing the Window",{"type":426,"tag":427,"props":179472,"children":179473},{},[179474],{"type":431,"value":179475},"These common use cases are blocked by the 24-hour window in the official API:",{"type":426,"tag":10600,"props":179477,"children":179478},{},[179479,179499],{"type":426,"tag":10604,"props":179480,"children":179481},{},[179482],{"type":426,"tag":10608,"props":179483,"children":179484},{},[179485,179489,179494],{"type":426,"tag":10612,"props":179486,"children":179487},{},[179488],{"type":431,"value":155960},{"type":426,"tag":10612,"props":179490,"children":179491},{},[179492],{"type":431,"value":179493},"24-hour window problem",{"type":426,"tag":10612,"props":179495,"children":179496},{},[179497],{"type":431,"value":179498},"Rapiwa solution",{"type":426,"tag":10623,"props":179500,"children":179501},{},[179502,179520,179537,179554,179571],{"type":426,"tag":10608,"props":179503,"children":179504},{},[179505,179510,179515],{"type":426,"tag":10630,"props":179506,"children":179507},{},[179508],{"type":431,"value":179509},"Appointment reminders (48h before)",{"type":426,"tag":10630,"props":179511,"children":179512},{},[179513],{"type":431,"value":179514},"Customer last messaged 5 days ago",{"type":426,"tag":10630,"props":179516,"children":179517},{},[179518],{"type":431,"value":179519},"Send anytime, no restriction",{"type":426,"tag":10608,"props":179521,"children":179522},{},[179523,179528,179533],{"type":426,"tag":10630,"props":179524,"children":179525},{},[179526],{"type":431,"value":179527},"Abandoned cart (3h after abandonment)",{"type":426,"tag":10630,"props":179529,"children":179530},{},[179531],{"type":431,"value":179532},"Customer never messaged",{"type":426,"tag":10630,"props":179534,"children":179535},{},[179536],{"type":431,"value":179519},{"type":426,"tag":10608,"props":179538,"children":179539},{},[179540,179545,179550],{"type":426,"tag":10630,"props":179541,"children":179542},{},[179543],{"type":431,"value":179544},"Weekly newsletter",{"type":426,"tag":10630,"props":179546,"children":179547},{},[179548],{"type":431,"value":179549},"Not a response window",{"type":426,"tag":10630,"props":179551,"children":179552},{},[179553],{"type":431,"value":179519},{"type":426,"tag":10608,"props":179555,"children":179556},{},[179557,179562,179567],{"type":426,"tag":10630,"props":179558,"children":179559},{},[179560],{"type":431,"value":179561},"Payment overdue reminders",{"type":426,"tag":10630,"props":179563,"children":179564},{},[179565],{"type":431,"value":179566},"Customer last paid 2 months ago",{"type":426,"tag":10630,"props":179568,"children":179569},{},[179570],{"type":431,"value":179519},{"type":426,"tag":10608,"props":179572,"children":179573},{},[179574,179579,179584],{"type":426,"tag":10630,"props":179575,"children":179576},{},[179577],{"type":431,"value":179578},"Post-purchase review request (day 3)",{"type":426,"tag":10630,"props":179580,"children":179581},{},[179582],{"type":431,"value":179583},"Customer messaged 10 days ago",{"type":426,"tag":10630,"props":179585,"children":179586},{},[179587],{"type":431,"value":179519},{"type":426,"tag":434,"props":179589,"children":179590},{"id":4109},[179591],{"type":431,"value":4112},{"type":426,"tag":427,"props":179593,"children":179594},{},[179595,179600],{"type":426,"tag":446,"props":179596,"children":179597},{},[179598],{"type":431,"value":179599},"What is the WhatsApp 24-hour window?",{"type":431,"value":179601},"\nThe 24-hour window is a policy in Meta's official WhatsApp Business API that restricts free-form outbound messages to within 24 hours of the customer's last incoming message. After 24 hours, only pre-approved message templates can be sent.",{"type":426,"tag":427,"props":179603,"children":179604},{},[179605,179610],{"type":426,"tag":446,"props":179606,"children":179607},{},[179608],{"type":431,"value":179609},"Does Rapiwa have the 24-hour window restriction?",{"type":431,"value":179611},"\nNo. Rapiwa is an unofficial WhatsApp API that has no 24-hour window. You can send any message to any contact at any time without needing pre-approved templates.",{"type":426,"tag":427,"props":179613,"children":179614},{},[179615,179620],{"type":426,"tag":446,"props":179616,"children":179617},{},[179618],{"type":431,"value":179619},"Is bypassing the 24-hour window against WhatsApp's rules?",{"type":431,"value":179621},"\nUsing an unofficial API like Rapiwa is outside Meta's Terms of Service, which means the 24-hour window restriction doesn't apply. The trade-off is that unofficial APIs are not officially endorsed by Meta.",{"type":426,"tag":427,"props":179623,"children":179624},{},[179625,179630],{"type":426,"tag":446,"props":179626,"children":179627},{},[179628],{"type":431,"value":179629},"Can I send appointment reminders with the official WhatsApp API?",{"type":431,"value":179631},"\nYes — but only using pre-approved message templates (which must be submitted to Meta for review and approval before use). With Rapiwa, you can send appointment reminders with any custom text without templates.",{"type":426,"tag":427,"props":179633,"children":179634},{},[179635,179640],{"type":426,"tag":446,"props":179636,"children":179637},{},[179638],{"type":431,"value":179639},"What is the best solution for businesses frustrated with WhatsApp's 24-hour window?",{"type":431,"value":179641},"\nFor most small and medium businesses, switching to an unofficial API like Rapiwa ($5\u002Fmonth) eliminates the 24-hour window problem entirely, saves money on per-conversation fees, and removes the need for template management.",{"type":426,"tag":4164,"props":179643,"children":179644},{},[179645],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":179647},[179648,179649,179650,179651,179652,179653,179654],{"id":178421,"depth":588,"text":178424},{"id":178526,"depth":588,"text":178529},{"id":178670,"depth":588,"text":178673},{"id":178704,"depth":588,"text":178707},{"id":179456,"depth":588,"text":179459},{"id":179467,"depth":588,"text":179470},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-bypass-the-whatsapp-24-hour-messaging-window.md","blog\u002Fhow-to-bypass-the-whatsapp-24-hour-messaging-window.md","blog\u002Fhow-to-bypass-the-whatsapp-24-hour-messaging-window",{"loc":326},{"_path":330,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":331,"description":332,"date":179660,"author":36566,"category":17,"_slug":179661,"image":179662,"body":179663,"_type":4187,"_id":182635,"_source":4189,"_file":182636,"_stem":182637,"_extension":4192,"sitemap":182638},"2025-12-20","whatsapp-api-rate-limits-explained-how-to-message-safely-2026","\u002Fimages\u002Fblog\u002Fwhatsapp-api-rate-limits-explained-how-to-message-safely-2026.svg",{"type":423,"children":179664,"toc":182620},[179665,179677,179683,179688,179711,179716,179722,179727,179825,179830,179836,179841,179847,179964,179969,179975,179981,181011,181017,181022,181612,181618,182370,182376,182381,182496,182506,182512,182517,182540,182552,182556,182566,182576,182586,182596,182606,182616],{"type":426,"tag":427,"props":179666,"children":179667},{},[179668,179670,179675],{"type":431,"value":179669},"WhatsApp does not publish official rate limits for unofficial API connections, but from developer experience, sending at 1–2 messages per second (60–120 per minute) is safe for established numbers. New numbers should start at 30–60 messages per day and scale up gradually over 2–4 weeks. ",{"type":426,"tag":3819,"props":179671,"children":179673},{"href":3821,"rel":179672},[3823],[179674],{"type":431,"value":127310},{"type":431,"value":179676}," itself has no daily cap — WhatsApp's own limits apply at the account level.",{"type":426,"tag":434,"props":179678,"children":179680},{"id":179679},"what-are-whatsapp-rate-limits",[179681],{"type":431,"value":179682},"What Are WhatsApp Rate Limits?",{"type":426,"tag":427,"props":179684,"children":179685},{},[179686],{"type":431,"value":179687},"Rate limits in the WhatsApp API context refer to two different things:",{"type":426,"tag":6331,"props":179689,"children":179690},{},[179691,179701],{"type":426,"tag":458,"props":179692,"children":179693},{},[179694,179699],{"type":426,"tag":446,"props":179695,"children":179696},{},[179697],{"type":431,"value":179698},"API provider rate limits",{"type":431,"value":179700}," — How many requests your API plan allows per second\u002Fminute (Rapiwa has no daily cap)",{"type":426,"tag":458,"props":179702,"children":179703},{},[179704,179709],{"type":426,"tag":446,"props":179705,"children":179706},{},[179707],{"type":431,"value":179708},"WhatsApp account limits",{"type":431,"value":179710}," — How many messages WhatsApp allows your number to send before flagging or restricting it",{"type":426,"tag":427,"props":179712,"children":179713},{},[179714],{"type":431,"value":179715},"Rapiwa has no message limit — you can make as many API calls as you want. The limits that matter are WhatsApp's own anti-spam measures at the account level.",{"type":426,"tag":434,"props":179717,"children":179719},{"id":179718},"official-whatsapp-api-meta-rate-limits",[179720],{"type":431,"value":179721},"Official WhatsApp API (Meta) Rate Limits",{"type":426,"tag":427,"props":179723,"children":179724},{},[179725],{"type":431,"value":179726},"For reference — the official Meta Cloud API has documented tier-based limits:",{"type":426,"tag":10600,"props":179728,"children":179729},{},[179730,179751],{"type":426,"tag":10604,"props":179731,"children":179732},{},[179733],{"type":426,"tag":10608,"props":179734,"children":179735},{},[179736,179741,179746],{"type":426,"tag":10612,"props":179737,"children":179738},{},[179739],{"type":431,"value":179740},"Tier",{"type":426,"tag":10612,"props":179742,"children":179743},{},[179744],{"type":431,"value":179745},"Daily Message Limit",{"type":426,"tag":10612,"props":179747,"children":179748},{},[179749],{"type":431,"value":179750},"How to Upgrade",{"type":426,"tag":10623,"props":179752,"children":179753},{},[179754,179772,179790,179808],{"type":426,"tag":10608,"props":179755,"children":179756},{},[179757,179762,179767],{"type":426,"tag":10630,"props":179758,"children":179759},{},[179760],{"type":431,"value":179761},"Tier 1 (new)",{"type":426,"tag":10630,"props":179763,"children":179764},{},[179765],{"type":431,"value":179766},"1,000 unique users\u002Fday",{"type":426,"tag":10630,"props":179768,"children":179769},{},[179770],{"type":431,"value":179771},"Automatic after 7 days with good quality",{"type":426,"tag":10608,"props":179773,"children":179774},{},[179775,179780,179785],{"type":426,"tag":10630,"props":179776,"children":179777},{},[179778],{"type":431,"value":179779},"Tier 2",{"type":426,"tag":10630,"props":179781,"children":179782},{},[179783],{"type":431,"value":179784},"10,000 unique users\u002Fday",{"type":426,"tag":10630,"props":179786,"children":179787},{},[179788],{"type":431,"value":179789},"Automatic after maintaining Tier 1 quality",{"type":426,"tag":10608,"props":179791,"children":179792},{},[179793,179798,179803],{"type":426,"tag":10630,"props":179794,"children":179795},{},[179796],{"type":431,"value":179797},"Tier 3",{"type":426,"tag":10630,"props":179799,"children":179800},{},[179801],{"type":431,"value":179802},"100,000 unique users\u002Fday",{"type":426,"tag":10630,"props":179804,"children":179805},{},[179806],{"type":431,"value":179807},"Automatic after maintaining Tier 2 quality",{"type":426,"tag":10608,"props":179809,"children":179810},{},[179811,179815,179820],{"type":426,"tag":10630,"props":179812,"children":179813},{},[179814],{"type":431,"value":160174},{"type":426,"tag":10630,"props":179816,"children":179817},{},[179818],{"type":431,"value":179819},"No limit",{"type":426,"tag":10630,"props":179821,"children":179822},{},[179823],{"type":431,"value":179824},"After sustaining Tier 3 quality rating",{"type":426,"tag":427,"props":179826,"children":179827},{},[179828],{"type":431,"value":179829},"Note: These tier limits apply only to the official Meta API. Unofficial APIs like Rapiwa operate differently — WhatsApp's limits are enforced at the account (phone number) level based on behavior patterns, not formal tiers.",{"type":426,"tag":434,"props":179831,"children":179833},{"id":179832},"unofficial-api-rate-limits-rapiwa",[179834],{"type":431,"value":179835},"Unofficial API Rate Limits (Rapiwa)",{"type":426,"tag":427,"props":179837,"children":179838},{},[179839],{"type":431,"value":179840},"For unofficial APIs, WhatsApp monitors account behavior and may restrict accounts that appear to be sending spam. Based on developer experience:",{"type":426,"tag":515,"props":179842,"children":179844},{"id":179843},"safe-sending-rates-by-number-age",[179845],{"type":431,"value":179846},"Safe Sending Rates by Number Age",{"type":426,"tag":10600,"props":179848,"children":179849},{},[179850,179871],{"type":426,"tag":10604,"props":179851,"children":179852},{},[179853],{"type":426,"tag":10608,"props":179854,"children":179855},{},[179856,179861,179866],{"type":426,"tag":10612,"props":179857,"children":179858},{},[179859],{"type":431,"value":179860},"Number Age",{"type":426,"tag":10612,"props":179862,"children":179863},{},[179864],{"type":431,"value":179865},"Safe Daily Volume",{"type":426,"tag":10612,"props":179867,"children":179868},{},[179869],{"type":431,"value":179870},"Safe per-minute rate",{"type":426,"tag":10623,"props":179872,"children":179873},{},[179874,179892,179910,179928,179946],{"type":426,"tag":10608,"props":179875,"children":179876},{},[179877,179882,179887],{"type":426,"tag":10630,"props":179878,"children":179879},{},[179880],{"type":431,"value":179881},"New (0–7 days)",{"type":426,"tag":10630,"props":179883,"children":179884},{},[179885],{"type":431,"value":179886},"30–50 messages",{"type":426,"tag":10630,"props":179888,"children":179889},{},[179890],{"type":431,"value":179891},"1–2\u002Fmin",{"type":426,"tag":10608,"props":179893,"children":179894},{},[179895,179900,179905],{"type":426,"tag":10630,"props":179896,"children":179897},{},[179898],{"type":431,"value":179899},"1–2 weeks",{"type":426,"tag":10630,"props":179901,"children":179902},{},[179903],{"type":431,"value":179904},"100–200 messages",{"type":426,"tag":10630,"props":179906,"children":179907},{},[179908],{"type":431,"value":179909},"2–5\u002Fmin",{"type":426,"tag":10608,"props":179911,"children":179912},{},[179913,179918,179923],{"type":426,"tag":10630,"props":179914,"children":179915},{},[179916],{"type":431,"value":179917},"2–4 weeks",{"type":426,"tag":10630,"props":179919,"children":179920},{},[179921],{"type":431,"value":179922},"300–500 messages",{"type":426,"tag":10630,"props":179924,"children":179925},{},[179926],{"type":431,"value":179927},"5–10\u002Fmin",{"type":426,"tag":10608,"props":179929,"children":179930},{},[179931,179936,179941],{"type":426,"tag":10630,"props":179932,"children":179933},{},[179934],{"type":431,"value":179935},"1–3 months",{"type":426,"tag":10630,"props":179937,"children":179938},{},[179939],{"type":431,"value":179940},"500–1,000 messages",{"type":426,"tag":10630,"props":179942,"children":179943},{},[179944],{"type":431,"value":179945},"10–30\u002Fmin",{"type":426,"tag":10608,"props":179947,"children":179948},{},[179949,179954,179959],{"type":426,"tag":10630,"props":179950,"children":179951},{},[179952],{"type":431,"value":179953},"3+ months (established)",{"type":426,"tag":10630,"props":179955,"children":179956},{},[179957],{"type":431,"value":179958},"1,000–5,000 messages",{"type":426,"tag":10630,"props":179960,"children":179961},{},[179962],{"type":431,"value":179963},"30–120\u002Fmin",{"type":426,"tag":427,"props":179965,"children":179966},{},[179967],{"type":431,"value":179968},"These are conservative estimates based on community experience. The actual limits depend on your engagement rate, message quality, and whether recipients report your messages as spam.",{"type":426,"tag":434,"props":179970,"children":179972},{"id":179971},"how-to-implement-rate-limiting-in-code",[179973],{"type":431,"value":179974},"How to Implement Rate Limiting in Code",{"type":426,"tag":515,"props":179976,"children":179978},{"id":179977},"python-basic-rate-limiter",[179979],{"type":431,"value":179980},"Python: Basic Rate Limiter",{"type":426,"tag":542,"props":179982,"children":179984},{"className":785,"code":179983,"language":784,"meta":417,"style":417},"import requests\nimport time\nfrom collections import deque\nfrom datetime import datetime, timedelta\n\nclass RapiwaRateLimiter:\n    \"\"\"Rate-limited WhatsApp message sender.\"\"\"\n    \n    def __init__(self, api_key, messages_per_minute=60):\n        self.api_key = api_key\n        self.messages_per_minute = messages_per_minute\n        self.send_times = deque()\n    \n    def _wait_if_needed(self):\n        \"\"\"Enforce rate limit by sleeping if necessary.\"\"\"\n        now = datetime.now()\n        one_minute_ago = now - timedelta(minutes=1)\n        \n        # Remove timestamps older than 1 minute\n        while self.send_times and self.send_times[0] \u003C one_minute_ago:\n            self.send_times.popleft()\n        \n        # Wait if we've hit the limit\n        if len(self.send_times) >= self.messages_per_minute:\n            oldest = self.send_times[0]\n            wait_until = oldest + timedelta(minutes=1)\n            wait_seconds = (wait_until - now).total_seconds()\n            if wait_seconds > 0:\n                print(f\"Rate limit reached. Waiting {wait_seconds:.1f}s...\")\n                time.sleep(wait_seconds)\n    \n    def send(self, phone, message):\n        \"\"\"Send a message respecting the rate limit.\"\"\"\n        self._wait_if_needed()\n        \n        response = requests.post(\n            \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": f\"Bearer {self.api_key}\"},\n            json={\"number\": phone, \"message\": message}\n        )\n        \n        self.send_times.append(datetime.now())\n        return response.json()\n\n# Usage: Send 60 messages per minute (1 per second)\nsender = RapiwaRateLimiter(api_key=\"YOUR_API_KEY\", messages_per_minute=60)\n\ncontacts = [(\"8801111111111\", \"Alice\"), (\"8802222222222\", \"Bob\")]\nfor phone, name in contacts:\n    result = sender.send(phone, f\"Hi {name}! Your order is ready.\")\n    print(f\"Sent to {name}: {result['status']}\")\n",[179985],{"type":426,"tag":549,"props":179986,"children":179987},{"__ignoreMap":417},[179988,179999,180010,180031,180050,180057,180073,180081,180088,180116,180135,180156,180177,180184,180201,180209,180226,180266,180273,180281,180327,180339,180346,180354,180391,180419,180460,180486,180510,180557,180565,180572,180588,180596,180608,180615,180630,180642,180693,180724,180731,180738,180750,180761,180768,180776,180826,180833,180882,180902,180947],{"type":426,"tag":553,"props":179989,"children":179990},{"class":555,"line":556},[179991,179995],{"type":426,"tag":553,"props":179992,"children":179993},{"style":795},[179994],{"type":431,"value":798},{"type":426,"tag":553,"props":179996,"children":179997},{"style":684},[179998],{"type":431,"value":803},{"type":426,"tag":553,"props":180000,"children":180001},{"class":555,"line":588},[180002,180006],{"type":426,"tag":553,"props":180003,"children":180004},{"style":795},[180005],{"type":431,"value":798},{"type":426,"tag":553,"props":180007,"children":180008},{"style":684},[180009],{"type":431,"value":3081},{"type":426,"tag":553,"props":180011,"children":180012},{"class":555,"line":606},[180013,180017,180022,180026],{"type":426,"tag":553,"props":180014,"children":180015},{"style":795},[180016],{"type":431,"value":811},{"type":426,"tag":553,"props":180018,"children":180019},{"style":684},[180020],{"type":431,"value":180021}," collections ",{"type":426,"tag":553,"props":180023,"children":180024},{"style":795},[180025],{"type":431,"value":798},{"type":426,"tag":553,"props":180027,"children":180028},{"style":684},[180029],{"type":431,"value":180030}," deque\n",{"type":426,"tag":553,"props":180032,"children":180033},{"class":555,"line":623},[180034,180038,180042,180046],{"type":426,"tag":553,"props":180035,"children":180036},{"style":795},[180037],{"type":431,"value":811},{"type":426,"tag":553,"props":180039,"children":180040},{"style":684},[180041],{"type":431,"value":816},{"type":426,"tag":553,"props":180043,"children":180044},{"style":795},[180045],{"type":431,"value":798},{"type":426,"tag":553,"props":180047,"children":180048},{"style":684},[180049],{"type":431,"value":6409},{"type":426,"tag":553,"props":180051,"children":180052},{"class":555,"line":637},[180053],{"type":426,"tag":553,"props":180054,"children":180055},{"emptyLinePlaceholder":831},[180056],{"type":431,"value":834},{"type":426,"tag":553,"props":180058,"children":180059},{"class":555,"line":646},[180060,180064,180069],{"type":426,"tag":553,"props":180061,"children":180062},{"style":795},[180063],{"type":431,"value":11909},{"type":426,"tag":553,"props":180065,"children":180066},{"style":560},[180067],{"type":431,"value":180068}," RapiwaRateLimiter",{"type":426,"tag":553,"props":180070,"children":180071},{"style":684},[180072],{"type":431,"value":909},{"type":426,"tag":553,"props":180074,"children":180075},{"class":555,"line":655},[180076],{"type":426,"tag":553,"props":180077,"children":180078},{"style":572},[180079],{"type":431,"value":180080},"    \"\"\"Rate-limited WhatsApp message sender.\"\"\"\n",{"type":426,"tag":553,"props":180082,"children":180083},{"class":555,"line":1036},[180084],{"type":426,"tag":553,"props":180085,"children":180086},{"style":684},[180087],{"type":431,"value":917},{"type":426,"tag":553,"props":180089,"children":180090},{"class":555,"line":1054},[180091,180095,180099,180104,180108,180112],{"type":426,"tag":553,"props":180092,"children":180093},{"style":795},[180094],{"type":431,"value":11926},{"type":426,"tag":553,"props":180096,"children":180097},{"style":566},[180098],{"type":431,"value":11931},{"type":426,"tag":553,"props":180100,"children":180101},{"style":684},[180102],{"type":431,"value":180103},"(self, api_key, messages_per_minute",{"type":426,"tag":553,"props":180105,"children":180106},{"style":795},[180107],{"type":431,"value":957},{"type":426,"tag":553,"props":180109,"children":180110},{"style":566},[180111],{"type":431,"value":43155},{"type":426,"tag":553,"props":180113,"children":180114},{"style":684},[180115],{"type":431,"value":8370},{"type":426,"tag":553,"props":180117,"children":180118},{"class":555,"line":1080},[180119,180123,180127,180131],{"type":426,"tag":553,"props":180120,"children":180121},{"style":566},[180122],{"type":431,"value":11952},{"type":426,"tag":553,"props":180124,"children":180125},{"style":684},[180126],{"type":431,"value":35547},{"type":426,"tag":553,"props":180128,"children":180129},{"style":795},[180130],{"type":431,"value":957},{"type":426,"tag":553,"props":180132,"children":180133},{"style":684},[180134],{"type":431,"value":35556},{"type":426,"tag":553,"props":180136,"children":180137},{"class":555,"line":1097},[180138,180142,180147,180151],{"type":426,"tag":553,"props":180139,"children":180140},{"style":566},[180141],{"type":431,"value":11952},{"type":426,"tag":553,"props":180143,"children":180144},{"style":684},[180145],{"type":431,"value":180146},".messages_per_minute ",{"type":426,"tag":553,"props":180148,"children":180149},{"style":795},[180150],{"type":431,"value":957},{"type":426,"tag":553,"props":180152,"children":180153},{"style":684},[180154],{"type":431,"value":180155}," messages_per_minute\n",{"type":426,"tag":553,"props":180157,"children":180158},{"class":555,"line":1114},[180159,180163,180168,180172],{"type":426,"tag":553,"props":180160,"children":180161},{"style":566},[180162],{"type":431,"value":11952},{"type":426,"tag":553,"props":180164,"children":180165},{"style":684},[180166],{"type":431,"value":180167},".send_times ",{"type":426,"tag":553,"props":180169,"children":180170},{"style":795},[180171],{"type":431,"value":957},{"type":426,"tag":553,"props":180173,"children":180174},{"style":684},[180175],{"type":431,"value":180176}," deque()\n",{"type":426,"tag":553,"props":180178,"children":180179},{"class":555,"line":1127},[180180],{"type":426,"tag":553,"props":180181,"children":180182},{"style":684},[180183],{"type":431,"value":917},{"type":426,"tag":553,"props":180185,"children":180186},{"class":555,"line":1167},[180187,180191,180196],{"type":426,"tag":553,"props":180188,"children":180189},{"style":795},[180190],{"type":431,"value":11926},{"type":426,"tag":553,"props":180192,"children":180193},{"style":560},[180194],{"type":431,"value":180195}," _wait_if_needed",{"type":426,"tag":553,"props":180197,"children":180198},{"style":684},[180199],{"type":431,"value":180200},"(self):\n",{"type":426,"tag":553,"props":180202,"children":180203},{"class":555,"line":1184},[180204],{"type":426,"tag":553,"props":180205,"children":180206},{"style":572},[180207],{"type":431,"value":180208},"        \"\"\"Enforce rate limit by sleeping if necessary.\"\"\"\n",{"type":426,"tag":553,"props":180210,"children":180211},{"class":555,"line":1192},[180212,180217,180221],{"type":426,"tag":553,"props":180213,"children":180214},{"style":684},[180215],{"type":431,"value":180216},"        now ",{"type":426,"tag":553,"props":180218,"children":180219},{"style":795},[180220],{"type":431,"value":957},{"type":426,"tag":553,"props":180222,"children":180223},{"style":684},[180224],{"type":431,"value":180225}," datetime.now()\n",{"type":426,"tag":553,"props":180227,"children":180228},{"class":555,"line":1210},[180229,180234,180238,180242,180246,180250,180254,180258,180262],{"type":426,"tag":553,"props":180230,"children":180231},{"style":684},[180232],{"type":431,"value":180233},"        one_minute_ago ",{"type":426,"tag":553,"props":180235,"children":180236},{"style":795},[180237],{"type":431,"value":957},{"type":426,"tag":553,"props":180239,"children":180240},{"style":684},[180241],{"type":431,"value":63813},{"type":426,"tag":553,"props":180243,"children":180244},{"style":795},[180245],{"type":431,"value":1939},{"type":426,"tag":553,"props":180247,"children":180248},{"style":684},[180249],{"type":431,"value":2038},{"type":426,"tag":553,"props":180251,"children":180252},{"style":1684},[180253],{"type":431,"value":122055},{"type":426,"tag":553,"props":180255,"children":180256},{"style":795},[180257],{"type":431,"value":957},{"type":426,"tag":553,"props":180259,"children":180260},{"style":566},[180261],{"type":431,"value":1921},{"type":426,"tag":553,"props":180263,"children":180264},{"style":684},[180265],{"type":431,"value":3262},{"type":426,"tag":553,"props":180267,"children":180268},{"class":555,"line":1253},[180269],{"type":426,"tag":553,"props":180270,"children":180271},{"style":684},[180272],{"type":431,"value":2061},{"type":426,"tag":553,"props":180274,"children":180275},{"class":555,"line":1302},[180276],{"type":426,"tag":553,"props":180277,"children":180278},{"style":1975},[180279],{"type":431,"value":180280},"        # Remove timestamps older than 1 minute\n",{"type":426,"tag":553,"props":180282,"children":180283},{"class":555,"line":1374},[180284,180289,180293,180297,180301,180305,180310,180314,180318,180322],{"type":426,"tag":553,"props":180285,"children":180286},{"style":795},[180287],{"type":431,"value":180288},"        while",{"type":426,"tag":553,"props":180290,"children":180291},{"style":566},[180292],{"type":431,"value":12033},{"type":426,"tag":553,"props":180294,"children":180295},{"style":684},[180296],{"type":431,"value":180167},{"type":426,"tag":553,"props":180298,"children":180299},{"style":795},[180300],{"type":431,"value":54090},{"type":426,"tag":553,"props":180302,"children":180303},{"style":566},[180304],{"type":431,"value":12033},{"type":426,"tag":553,"props":180306,"children":180307},{"style":684},[180308],{"type":431,"value":180309},".send_times[",{"type":426,"tag":553,"props":180311,"children":180312},{"style":566},[180313],{"type":431,"value":1930},{"type":426,"tag":553,"props":180315,"children":180316},{"style":684},[180317],{"type":431,"value":2229},{"type":426,"tag":553,"props":180319,"children":180320},{"style":795},[180321],{"type":431,"value":25949},{"type":426,"tag":553,"props":180323,"children":180324},{"style":684},[180325],{"type":431,"value":180326}," one_minute_ago:\n",{"type":426,"tag":553,"props":180328,"children":180329},{"class":555,"line":1414},[180330,180334],{"type":426,"tag":553,"props":180331,"children":180332},{"style":566},[180333],{"type":431,"value":16657},{"type":426,"tag":553,"props":180335,"children":180336},{"style":684},[180337],{"type":431,"value":180338},".send_times.popleft()\n",{"type":426,"tag":553,"props":180340,"children":180341},{"class":555,"line":1479},[180342],{"type":426,"tag":553,"props":180343,"children":180344},{"style":684},[180345],{"type":431,"value":2061},{"type":426,"tag":553,"props":180347,"children":180348},{"class":555,"line":1517},[180349],{"type":426,"tag":553,"props":180350,"children":180351},{"style":1975},[180352],{"type":431,"value":180353},"        # Wait if we've hit the limit\n",{"type":426,"tag":553,"props":180355,"children":180356},{"class":555,"line":1560},[180357,180361,180365,180369,180373,180378,180382,180386],{"type":426,"tag":553,"props":180358,"children":180359},{"style":795},[180360],{"type":431,"value":2972},{"type":426,"tag":553,"props":180362,"children":180363},{"style":566},[180364],{"type":431,"value":64222},{"type":426,"tag":553,"props":180366,"children":180367},{"style":684},[180368],{"type":431,"value":3275},{"type":426,"tag":553,"props":180370,"children":180371},{"style":566},[180372],{"type":431,"value":35675},{"type":426,"tag":553,"props":180374,"children":180375},{"style":684},[180376],{"type":431,"value":180377},".send_times) ",{"type":426,"tag":553,"props":180379,"children":180380},{"style":795},[180381],{"type":431,"value":9126},{"type":426,"tag":553,"props":180383,"children":180384},{"style":566},[180385],{"type":431,"value":12033},{"type":426,"tag":553,"props":180387,"children":180388},{"style":684},[180389],{"type":431,"value":180390},".messages_per_minute:\n",{"type":426,"tag":553,"props":180392,"children":180393},{"class":555,"line":1598},[180394,180399,180403,180407,180411,180415],{"type":426,"tag":553,"props":180395,"children":180396},{"style":684},[180397],{"type":431,"value":180398},"            oldest ",{"type":426,"tag":553,"props":180400,"children":180401},{"style":795},[180402],{"type":431,"value":957},{"type":426,"tag":553,"props":180404,"children":180405},{"style":566},[180406],{"type":431,"value":12033},{"type":426,"tag":553,"props":180408,"children":180409},{"style":684},[180410],{"type":431,"value":180309},{"type":426,"tag":553,"props":180412,"children":180413},{"style":566},[180414],{"type":431,"value":1930},{"type":426,"tag":553,"props":180416,"children":180417},{"style":684},[180418],{"type":431,"value":16523},{"type":426,"tag":553,"props":180420,"children":180421},{"class":555,"line":1636},[180422,180427,180431,180436,180440,180444,180448,180452,180456],{"type":426,"tag":553,"props":180423,"children":180424},{"style":684},[180425],{"type":431,"value":180426},"            wait_until ",{"type":426,"tag":553,"props":180428,"children":180429},{"style":795},[180430],{"type":431,"value":957},{"type":426,"tag":553,"props":180432,"children":180433},{"style":684},[180434],{"type":431,"value":180435}," oldest ",{"type":426,"tag":553,"props":180437,"children":180438},{"style":795},[180439],{"type":431,"value":2033},{"type":426,"tag":553,"props":180441,"children":180442},{"style":684},[180443],{"type":431,"value":2038},{"type":426,"tag":553,"props":180445,"children":180446},{"style":1684},[180447],{"type":431,"value":122055},{"type":426,"tag":553,"props":180449,"children":180450},{"style":795},[180451],{"type":431,"value":957},{"type":426,"tag":553,"props":180453,"children":180454},{"style":566},[180455],{"type":431,"value":1921},{"type":426,"tag":553,"props":180457,"children":180458},{"style":684},[180459],{"type":431,"value":3262},{"type":426,"tag":553,"props":180461,"children":180462},{"class":555,"line":1645},[180463,180468,180472,180477,180481],{"type":426,"tag":553,"props":180464,"children":180465},{"style":684},[180466],{"type":431,"value":180467},"            wait_seconds ",{"type":426,"tag":553,"props":180469,"children":180470},{"style":795},[180471],{"type":431,"value":957},{"type":426,"tag":553,"props":180473,"children":180474},{"style":684},[180475],{"type":431,"value":180476}," (wait_until ",{"type":426,"tag":553,"props":180478,"children":180479},{"style":795},[180480],{"type":431,"value":1939},{"type":426,"tag":553,"props":180482,"children":180483},{"style":684},[180484],{"type":431,"value":180485}," now).total_seconds()\n",{"type":426,"tag":553,"props":180487,"children":180488},{"class":555,"line":1653},[180489,180493,180498,180502,180506],{"type":426,"tag":553,"props":180490,"children":180491},{"style":795},[180492],{"type":431,"value":8980},{"type":426,"tag":553,"props":180494,"children":180495},{"style":684},[180496],{"type":431,"value":180497}," wait_seconds ",{"type":426,"tag":553,"props":180499,"children":180500},{"style":795},[180501],{"type":431,"value":935},{"type":426,"tag":553,"props":180503,"children":180504},{"style":566},[180505],{"type":431,"value":940},{"type":426,"tag":553,"props":180507,"children":180508},{"style":684},[180509],{"type":431,"value":909},{"type":426,"tag":553,"props":180511,"children":180512},{"class":555,"line":1667},[180513,180517,180521,180525,180530,180534,180539,180544,180548,180553],{"type":426,"tag":553,"props":180514,"children":180515},{"style":566},[180516],{"type":431,"value":54298},{"type":426,"tag":553,"props":180518,"children":180519},{"style":684},[180520],{"type":431,"value":3275},{"type":426,"tag":553,"props":180522,"children":180523},{"style":795},[180524],{"type":431,"value":1709},{"type":426,"tag":553,"props":180526,"children":180527},{"style":572},[180528],{"type":431,"value":180529},"\"Rate limit reached. Waiting ",{"type":426,"tag":553,"props":180531,"children":180532},{"style":566},[180533],{"type":431,"value":972},{"type":426,"tag":553,"props":180535,"children":180536},{"style":684},[180537],{"type":431,"value":180538},"wait_seconds",{"type":426,"tag":553,"props":180540,"children":180541},{"style":795},[180542],{"type":431,"value":180543},":.1f",{"type":426,"tag":553,"props":180545,"children":180546},{"style":566},[180547],{"type":431,"value":982},{"type":426,"tag":553,"props":180549,"children":180550},{"style":572},[180551],{"type":431,"value":180552},"s...\"",{"type":426,"tag":553,"props":180554,"children":180555},{"style":684},[180556],{"type":431,"value":3262},{"type":426,"tag":553,"props":180558,"children":180559},{"class":555,"line":1680},[180560],{"type":426,"tag":553,"props":180561,"children":180562},{"style":684},[180563],{"type":431,"value":180564},"                time.sleep(wait_seconds)\n",{"type":426,"tag":553,"props":180566,"children":180567},{"class":555,"line":1740},[180568],{"type":426,"tag":553,"props":180569,"children":180570},{"style":684},[180571],{"type":431,"value":917},{"type":426,"tag":553,"props":180573,"children":180574},{"class":555,"line":1787},[180575,180579,180583],{"type":426,"tag":553,"props":180576,"children":180577},{"style":795},[180578],{"type":431,"value":11926},{"type":426,"tag":553,"props":180580,"children":180581},{"style":560},[180582],{"type":431,"value":93356},{"type":426,"tag":553,"props":180584,"children":180585},{"style":684},[180586],{"type":431,"value":180587},"(self, phone, message):\n",{"type":426,"tag":553,"props":180589,"children":180590},{"class":555,"line":1796},[180591],{"type":426,"tag":553,"props":180592,"children":180593},{"style":572},[180594],{"type":431,"value":180595},"        \"\"\"Send a message respecting the rate limit.\"\"\"\n",{"type":426,"tag":553,"props":180597,"children":180598},{"class":555,"line":1804},[180599,180603],{"type":426,"tag":553,"props":180600,"children":180601},{"style":566},[180602],{"type":431,"value":11952},{"type":426,"tag":553,"props":180604,"children":180605},{"style":684},[180606],{"type":431,"value":180607},"._wait_if_needed()\n",{"type":426,"tag":553,"props":180609,"children":180610},{"class":555,"line":1812},[180611],{"type":426,"tag":553,"props":180612,"children":180613},{"style":684},[180614],{"type":431,"value":2061},{"type":426,"tag":553,"props":180616,"children":180617},{"class":555,"line":1847},[180618,180622,180626],{"type":426,"tag":553,"props":180619,"children":180620},{"style":684},[180621],{"type":431,"value":12557},{"type":426,"tag":553,"props":180623,"children":180624},{"style":795},[180625],{"type":431,"value":957},{"type":426,"tag":553,"props":180627,"children":180628},{"style":684},[180629],{"type":431,"value":1664},{"type":426,"tag":553,"props":180631,"children":180632},{"class":555,"line":1856},[180633,180638],{"type":426,"tag":553,"props":180634,"children":180635},{"style":572},[180636],{"type":431,"value":180637},"            \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"",{"type":426,"tag":553,"props":180639,"children":180640},{"style":684},[180641],{"type":431,"value":710},{"type":426,"tag":553,"props":180643,"children":180644},{"class":555,"line":1874},[180645,180649,180653,180657,180661,180665,180669,180673,180677,180681,180685,180689],{"type":426,"tag":553,"props":180646,"children":180647},{"style":1684},[180648],{"type":431,"value":2864},{"type":426,"tag":553,"props":180650,"children":180651},{"style":795},[180652],{"type":431,"value":957},{"type":426,"tag":553,"props":180654,"children":180655},{"style":684},[180656],{"type":431,"value":972},{"type":426,"tag":553,"props":180658,"children":180659},{"style":572},[180660],{"type":431,"value":45214},{"type":426,"tag":553,"props":180662,"children":180663},{"style":684},[180664],{"type":431,"value":700},{"type":426,"tag":553,"props":180666,"children":180667},{"style":795},[180668],{"type":431,"value":1709},{"type":426,"tag":553,"props":180670,"children":180671},{"style":572},[180672],{"type":431,"value":12608},{"type":426,"tag":553,"props":180674,"children":180675},{"style":566},[180676],{"type":431,"value":35913},{"type":426,"tag":553,"props":180678,"children":180679},{"style":684},[180680],{"type":431,"value":35971},{"type":426,"tag":553,"props":180682,"children":180683},{"style":566},[180684],{"type":431,"value":982},{"type":426,"tag":553,"props":180686,"children":180687},{"style":572},[180688],{"type":431,"value":1527},{"type":426,"tag":553,"props":180690,"children":180691},{"style":684},[180692],{"type":431,"value":1737},{"type":426,"tag":553,"props":180694,"children":180695},{"class":555,"line":1882},[180696,180700,180704,180708,180712,180716,180720],{"type":426,"tag":553,"props":180697,"children":180698},{"style":1684},[180699],{"type":431,"value":2916},{"type":426,"tag":553,"props":180701,"children":180702},{"style":795},[180703],{"type":431,"value":957},{"type":426,"tag":553,"props":180705,"children":180706},{"style":684},[180707],{"type":431,"value":972},{"type":426,"tag":553,"props":180709,"children":180710},{"style":572},[180711],{"type":431,"value":45266},{"type":426,"tag":553,"props":180713,"children":180714},{"style":684},[180715],{"type":431,"value":8931},{"type":426,"tag":553,"props":180717,"children":180718},{"style":572},[180719],{"type":431,"value":45275},{"type":426,"tag":553,"props":180721,"children":180722},{"style":684},[180723],{"type":431,"value":1784},{"type":426,"tag":553,"props":180725,"children":180726},{"class":555,"line":1981},[180727],{"type":426,"tag":553,"props":180728,"children":180729},{"style":684},[180730],{"type":431,"value":6037},{"type":426,"tag":553,"props":180732,"children":180733},{"class":555,"line":1989},[180734],{"type":426,"tag":553,"props":180735,"children":180736},{"style":684},[180737],{"type":431,"value":2061},{"type":426,"tag":553,"props":180739,"children":180740},{"class":555,"line":2013},[180741,180745],{"type":426,"tag":553,"props":180742,"children":180743},{"style":566},[180744],{"type":431,"value":11952},{"type":426,"tag":553,"props":180746,"children":180747},{"style":684},[180748],{"type":431,"value":180749},".send_times.append(datetime.now())\n",{"type":426,"tag":553,"props":180751,"children":180752},{"class":555,"line":2055},[180753,180757],{"type":426,"tag":553,"props":180754,"children":180755},{"style":795},[180756],{"type":431,"value":8378},{"type":426,"tag":553,"props":180758,"children":180759},{"style":684},[180760],{"type":431,"value":9193},{"type":426,"tag":553,"props":180762,"children":180763},{"class":555,"line":2064},[180764],{"type":426,"tag":553,"props":180765,"children":180766},{"emptyLinePlaceholder":831},[180767],{"type":431,"value":834},{"type":426,"tag":553,"props":180769,"children":180770},{"class":555,"line":2087},[180771],{"type":426,"tag":553,"props":180772,"children":180773},{"style":1975},[180774],{"type":431,"value":180775},"# Usage: Send 60 messages per minute (1 per second)\n",{"type":426,"tag":553,"props":180777,"children":180778},{"class":555,"line":2096},[180779,180784,180788,180793,180797,180801,180805,180809,180814,180818,180822],{"type":426,"tag":553,"props":180780,"children":180781},{"style":684},[180782],{"type":431,"value":180783},"sender ",{"type":426,"tag":553,"props":180785,"children":180786},{"style":795},[180787],{"type":431,"value":957},{"type":426,"tag":553,"props":180789,"children":180790},{"style":684},[180791],{"type":431,"value":180792}," RapiwaRateLimiter(",{"type":426,"tag":553,"props":180794,"children":180795},{"style":1684},[180796],{"type":431,"value":1723},{"type":426,"tag":553,"props":180798,"children":180799},{"style":795},[180800],{"type":431,"value":957},{"type":426,"tag":553,"props":180802,"children":180803},{"style":572},[180804],{"type":431,"value":68341},{"type":426,"tag":553,"props":180806,"children":180807},{"style":684},[180808],{"type":431,"value":1907},{"type":426,"tag":553,"props":180810,"children":180811},{"style":1684},[180812],{"type":431,"value":180813},"messages_per_minute",{"type":426,"tag":553,"props":180815,"children":180816},{"style":795},[180817],{"type":431,"value":957},{"type":426,"tag":553,"props":180819,"children":180820},{"style":566},[180821],{"type":431,"value":43155},{"type":426,"tag":553,"props":180823,"children":180824},{"style":684},[180825],{"type":431,"value":3262},{"type":426,"tag":553,"props":180827,"children":180828},{"class":555,"line":2105},[180829],{"type":426,"tag":553,"props":180830,"children":180831},{"emptyLinePlaceholder":831},[180832],{"type":431,"value":834},{"type":426,"tag":553,"props":180834,"children":180835},{"class":555,"line":2114},[180836,180840,180844,180849,180853,180857,180861,180866,180870,180874,180878],{"type":426,"tag":553,"props":180837,"children":180838},{"style":684},[180839],{"type":431,"value":141868},{"type":426,"tag":553,"props":180841,"children":180842},{"style":795},[180843],{"type":431,"value":957},{"type":426,"tag":553,"props":180845,"children":180846},{"style":684},[180847],{"type":431,"value":180848}," [(",{"type":426,"tag":553,"props":180850,"children":180851},{"style":572},[180852],{"type":431,"value":81689},{"type":426,"tag":553,"props":180854,"children":180855},{"style":684},[180856],{"type":431,"value":1907},{"type":426,"tag":553,"props":180858,"children":180859},{"style":572},[180860],{"type":431,"value":136765},{"type":426,"tag":553,"props":180862,"children":180863},{"style":684},[180864],{"type":431,"value":180865},"), (",{"type":426,"tag":553,"props":180867,"children":180868},{"style":572},[180869],{"type":431,"value":136791},{"type":426,"tag":553,"props":180871,"children":180872},{"style":684},[180873],{"type":431,"value":1907},{"type":426,"tag":553,"props":180875,"children":180876},{"style":572},[180877],{"type":431,"value":136800},{"type":426,"tag":553,"props":180879,"children":180880},{"style":684},[180881],{"type":431,"value":74484},{"type":426,"tag":553,"props":180883,"children":180884},{"class":555,"line":2123},[180885,180889,180894,180898],{"type":426,"tag":553,"props":180886,"children":180887},{"style":795},[180888],{"type":431,"value":7491},{"type":426,"tag":553,"props":180890,"children":180891},{"style":684},[180892],{"type":431,"value":180893}," phone, name ",{"type":426,"tag":553,"props":180895,"children":180896},{"style":795},[180897],{"type":431,"value":2005},{"type":426,"tag":553,"props":180899,"children":180900},{"style":684},[180901],{"type":431,"value":18009},{"type":426,"tag":553,"props":180903,"children":180904},{"class":555,"line":2132},[180905,180909,180913,180918,180922,180926,180930,180934,180938,180943],{"type":426,"tag":553,"props":180906,"children":180907},{"style":684},[180908],{"type":431,"value":21488},{"type":426,"tag":553,"props":180910,"children":180911},{"style":795},[180912],{"type":431,"value":957},{"type":426,"tag":553,"props":180914,"children":180915},{"style":684},[180916],{"type":431,"value":180917}," sender.send(phone, ",{"type":426,"tag":553,"props":180919,"children":180920},{"style":795},[180921],{"type":431,"value":1709},{"type":426,"tag":553,"props":180923,"children":180924},{"style":572},[180925],{"type":431,"value":4625},{"type":426,"tag":553,"props":180927,"children":180928},{"style":566},[180929],{"type":431,"value":972},{"type":426,"tag":553,"props":180931,"children":180932},{"style":684},[180933],{"type":431,"value":24468},{"type":426,"tag":553,"props":180935,"children":180936},{"style":566},[180937],{"type":431,"value":982},{"type":426,"tag":553,"props":180939,"children":180940},{"style":572},[180941],{"type":431,"value":180942},"! Your order is ready.\"",{"type":426,"tag":553,"props":180944,"children":180945},{"style":684},[180946],{"type":431,"value":3262},{"type":426,"tag":553,"props":180948,"children":180949},{"class":555,"line":2151},[180950,180954,180958,180962,180967,180971,180975,180979,180983,180987,180991,180995,180999,181003,181007],{"type":426,"tag":553,"props":180951,"children":180952},{"style":566},[180953],{"type":431,"value":51971},{"type":426,"tag":553,"props":180955,"children":180956},{"style":684},[180957],{"type":431,"value":3275},{"type":426,"tag":553,"props":180959,"children":180960},{"style":795},[180961],{"type":431,"value":1709},{"type":426,"tag":553,"props":180963,"children":180964},{"style":572},[180965],{"type":431,"value":180966},"\"Sent to ",{"type":426,"tag":553,"props":180968,"children":180969},{"style":566},[180970],{"type":431,"value":972},{"type":426,"tag":553,"props":180972,"children":180973},{"style":684},[180974],{"type":431,"value":24468},{"type":426,"tag":553,"props":180976,"children":180977},{"style":566},[180978],{"type":431,"value":982},{"type":426,"tag":553,"props":180980,"children":180981},{"style":572},[180982],{"type":431,"value":700},{"type":426,"tag":553,"props":180984,"children":180985},{"style":566},[180986],{"type":431,"value":972},{"type":426,"tag":553,"props":180988,"children":180989},{"style":684},[180990],{"type":431,"value":3293},{"type":426,"tag":553,"props":180992,"children":180993},{"style":572},[180994],{"type":431,"value":2982},{"type":426,"tag":553,"props":180996,"children":180997},{"style":684},[180998],{"type":431,"value":1240},{"type":426,"tag":553,"props":181000,"children":181001},{"style":566},[181002],{"type":431,"value":982},{"type":426,"tag":553,"props":181004,"children":181005},{"style":572},[181006],{"type":431,"value":1527},{"type":426,"tag":553,"props":181008,"children":181009},{"style":684},[181010],{"type":431,"value":3262},{"type":426,"tag":515,"props":181012,"children":181014},{"id":181013},"python-simple-delay-based-approach",[181015],{"type":431,"value":181016},"Python: Simple Delay-Based Approach",{"type":426,"tag":427,"props":181018,"children":181019},{},[181020],{"type":431,"value":181021},"For most use cases, a simple delay between messages is sufficient:",{"type":426,"tag":542,"props":181023,"children":181025},{"className":785,"code":181024,"language":784,"meta":417,"style":417},"import requests\nimport time\n\nAPI_KEY = \"YOUR_API_KEY\"\n\ndef send_bulk_safe(contacts, message_template, delay=1.5):\n    \"\"\"\n    Send to multiple contacts with a delay between each.\n    delay=1.5 = 40 messages\u002Fminute (safe for most established numbers)\n    \"\"\"\n    for i, contact in enumerate(contacts, 1):\n        message = message_template.format(**contact)\n        \n        response = requests.post(\n            \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n            json={\"number\": contact[\"phone\"], \"message\": message}\n        )\n        \n        print(f\"[{i}\u002F{len(contacts)}] {contact['phone']}: {response.json().get('status')}\")\n        \n        if i \u003C len(contacts):\n            time.sleep(delay)\n\ncontacts = [\n    {\"phone\": \"8801111111111\", \"name\": \"Alice\"},\n    {\"phone\": \"8802222222222\", \"name\": \"Bob\"}\n]\nsend_bulk_safe(contacts, \"Hi {name}! Your invoice is ready.\", delay=1.5)\n",[181026],{"type":426,"tag":549,"props":181027,"children":181028},{"__ignoreMap":417},[181029,181040,181051,181058,181073,181080,181109,181116,181124,181132,181139,181170,181193,181200,181215,181226,181269,181308,181315,181322,181427,181434,181457,181464,181471,181486,181525,181564,181571],{"type":426,"tag":553,"props":181030,"children":181031},{"class":555,"line":556},[181032,181036],{"type":426,"tag":553,"props":181033,"children":181034},{"style":795},[181035],{"type":431,"value":798},{"type":426,"tag":553,"props":181037,"children":181038},{"style":684},[181039],{"type":431,"value":803},{"type":426,"tag":553,"props":181041,"children":181042},{"class":555,"line":588},[181043,181047],{"type":426,"tag":553,"props":181044,"children":181045},{"style":795},[181046],{"type":431,"value":798},{"type":426,"tag":553,"props":181048,"children":181049},{"style":684},[181050],{"type":431,"value":3081},{"type":426,"tag":553,"props":181052,"children":181053},{"class":555,"line":606},[181054],{"type":426,"tag":553,"props":181055,"children":181056},{"emptyLinePlaceholder":831},[181057],{"type":431,"value":834},{"type":426,"tag":553,"props":181059,"children":181060},{"class":555,"line":623},[181061,181065,181069],{"type":426,"tag":553,"props":181062,"children":181063},{"style":566},[181064],{"type":431,"value":133819},{"type":426,"tag":553,"props":181066,"children":181067},{"style":795},[181068],{"type":431,"value":8739},{"type":426,"tag":553,"props":181070,"children":181071},{"style":572},[181072],{"type":431,"value":40863},{"type":426,"tag":553,"props":181074,"children":181075},{"class":555,"line":637},[181076],{"type":426,"tag":553,"props":181077,"children":181078},{"emptyLinePlaceholder":831},[181079],{"type":431,"value":834},{"type":426,"tag":553,"props":181081,"children":181082},{"class":555,"line":646},[181083,181087,181092,181097,181101,181105],{"type":426,"tag":553,"props":181084,"children":181085},{"style":795},[181086],{"type":431,"value":842},{"type":426,"tag":553,"props":181088,"children":181089},{"style":560},[181090],{"type":431,"value":181091}," send_bulk_safe",{"type":426,"tag":553,"props":181093,"children":181094},{"style":684},[181095],{"type":431,"value":181096},"(contacts, message_template, delay",{"type":426,"tag":553,"props":181098,"children":181099},{"style":795},[181100],{"type":431,"value":957},{"type":426,"tag":553,"props":181102,"children":181103},{"style":566},[181104],{"type":431,"value":27172},{"type":426,"tag":553,"props":181106,"children":181107},{"style":684},[181108],{"type":431,"value":8370},{"type":426,"tag":553,"props":181110,"children":181111},{"class":555,"line":655},[181112],{"type":426,"tag":553,"props":181113,"children":181114},{"style":572},[181115],{"type":431,"value":2673},{"type":426,"tag":553,"props":181117,"children":181118},{"class":555,"line":1036},[181119],{"type":426,"tag":553,"props":181120,"children":181121},{"style":572},[181122],{"type":431,"value":181123},"    Send to multiple contacts with a delay between each.\n",{"type":426,"tag":553,"props":181125,"children":181126},{"class":555,"line":1054},[181127],{"type":426,"tag":553,"props":181128,"children":181129},{"style":572},[181130],{"type":431,"value":181131},"    delay=1.5 = 40 messages\u002Fminute (safe for most established numbers)\n",{"type":426,"tag":553,"props":181133,"children":181134},{"class":555,"line":1080},[181135],{"type":426,"tag":553,"props":181136,"children":181137},{"style":572},[181138],{"type":431,"value":2673},{"type":426,"tag":553,"props":181140,"children":181141},{"class":555,"line":1097},[181142,181146,181150,181154,181158,181162,181166],{"type":426,"tag":553,"props":181143,"children":181144},{"style":795},[181145],{"type":431,"value":1995},{"type":426,"tag":553,"props":181147,"children":181148},{"style":684},[181149],{"type":431,"value":141139},{"type":426,"tag":553,"props":181151,"children":181152},{"style":795},[181153],{"type":431,"value":2005},{"type":426,"tag":553,"props":181155,"children":181156},{"style":566},[181157],{"type":431,"value":141148},{"type":426,"tag":553,"props":181159,"children":181160},{"style":684},[181161],{"type":431,"value":136843},{"type":426,"tag":553,"props":181163,"children":181164},{"style":566},[181165],{"type":431,"value":1921},{"type":426,"tag":553,"props":181167,"children":181168},{"style":684},[181169],{"type":431,"value":8370},{"type":426,"tag":553,"props":181171,"children":181172},{"class":555,"line":1114},[181173,181177,181181,181185,181189],{"type":426,"tag":553,"props":181174,"children":181175},{"style":684},[181176],{"type":431,"value":5864},{"type":426,"tag":553,"props":181178,"children":181179},{"style":795},[181180],{"type":431,"value":957},{"type":426,"tag":553,"props":181182,"children":181183},{"style":684},[181184],{"type":431,"value":18026},{"type":426,"tag":553,"props":181186,"children":181187},{"style":795},[181188],{"type":431,"value":13053},{"type":426,"tag":553,"props":181190,"children":181191},{"style":684},[181192],{"type":431,"value":18035},{"type":426,"tag":553,"props":181194,"children":181195},{"class":555,"line":1127},[181196],{"type":426,"tag":553,"props":181197,"children":181198},{"style":684},[181199],{"type":431,"value":2061},{"type":426,"tag":553,"props":181201,"children":181202},{"class":555,"line":1167},[181203,181207,181211],{"type":426,"tag":553,"props":181204,"children":181205},{"style":684},[181206],{"type":431,"value":12557},{"type":426,"tag":553,"props":181208,"children":181209},{"style":795},[181210],{"type":431,"value":957},{"type":426,"tag":553,"props":181212,"children":181213},{"style":684},[181214],{"type":431,"value":1664},{"type":426,"tag":553,"props":181216,"children":181217},{"class":555,"line":1184},[181218,181222],{"type":426,"tag":553,"props":181219,"children":181220},{"style":572},[181221],{"type":431,"value":180637},{"type":426,"tag":553,"props":181223,"children":181224},{"style":684},[181225],{"type":431,"value":710},{"type":426,"tag":553,"props":181227,"children":181228},{"class":555,"line":1192},[181229,181233,181237,181241,181245,181249,181253,181257,181261,181265],{"type":426,"tag":553,"props":181230,"children":181231},{"style":1684},[181232],{"type":431,"value":2864},{"type":426,"tag":553,"props":181234,"children":181235},{"style":795},[181236],{"type":431,"value":957},{"type":426,"tag":553,"props":181238,"children":181239},{"style":684},[181240],{"type":431,"value":972},{"type":426,"tag":553,"props":181242,"children":181243},{"style":572},[181244],{"type":431,"value":45214},{"type":426,"tag":553,"props":181246,"children":181247},{"style":684},[181248],{"type":431,"value":700},{"type":426,"tag":553,"props":181250,"children":181251},{"style":795},[181252],{"type":431,"value":1709},{"type":426,"tag":553,"props":181254,"children":181255},{"style":572},[181256],{"type":431,"value":12608},{"type":426,"tag":553,"props":181258,"children":181259},{"style":566},[181260],{"type":431,"value":139229},{"type":426,"tag":553,"props":181262,"children":181263},{"style":572},[181264],{"type":431,"value":1527},{"type":426,"tag":553,"props":181266,"children":181267},{"style":684},[181268],{"type":431,"value":1737},{"type":426,"tag":553,"props":181270,"children":181271},{"class":555,"line":1210},[181272,181276,181280,181284,181288,181292,181296,181300,181304],{"type":426,"tag":553,"props":181273,"children":181274},{"style":1684},[181275],{"type":431,"value":2916},{"type":426,"tag":553,"props":181277,"children":181278},{"style":795},[181279],{"type":431,"value":957},{"type":426,"tag":553,"props":181281,"children":181282},{"style":684},[181283],{"type":431,"value":972},{"type":426,"tag":553,"props":181285,"children":181286},{"style":572},[181287],{"type":431,"value":45266},{"type":426,"tag":553,"props":181289,"children":181290},{"style":684},[181291],{"type":431,"value":18086},{"type":426,"tag":553,"props":181293,"children":181294},{"style":572},[181295],{"type":431,"value":73482},{"type":426,"tag":553,"props":181297,"children":181298},{"style":684},[181299],{"type":431,"value":1774},{"type":426,"tag":553,"props":181301,"children":181302},{"style":572},[181303],{"type":431,"value":45275},{"type":426,"tag":553,"props":181305,"children":181306},{"style":684},[181307],{"type":431,"value":1784},{"type":426,"tag":553,"props":181309,"children":181310},{"class":555,"line":1253},[181311],{"type":426,"tag":553,"props":181312,"children":181313},{"style":684},[181314],{"type":431,"value":6037},{"type":426,"tag":553,"props":181316,"children":181317},{"class":555,"line":1302},[181318],{"type":426,"tag":553,"props":181319,"children":181320},{"style":684},[181321],{"type":431,"value":2061},{"type":426,"tag":553,"props":181323,"children":181324},{"class":555,"line":1374},[181325,181330,181334,181338,181342,181346,181350,181354,181358,181362,181366,181370,181374,181378,181382,181386,181390,181394,181398,181402,181407,181411,181415,181419,181423],{"type":426,"tag":553,"props":181326,"children":181327},{"style":566},[181328],{"type":431,"value":181329},"        print",{"type":426,"tag":553,"props":181331,"children":181332},{"style":684},[181333],{"type":431,"value":3275},{"type":426,"tag":553,"props":181335,"children":181336},{"style":795},[181337],{"type":431,"value":1709},{"type":426,"tag":553,"props":181339,"children":181340},{"style":572},[181341],{"type":431,"value":141436},{"type":426,"tag":553,"props":181343,"children":181344},{"style":566},[181345],{"type":431,"value":972},{"type":426,"tag":553,"props":181347,"children":181348},{"style":684},[181349],{"type":431,"value":136400},{"type":426,"tag":553,"props":181351,"children":181352},{"style":566},[181353],{"type":431,"value":982},{"type":426,"tag":553,"props":181355,"children":181356},{"style":572},[181357],{"type":431,"value":18503},{"type":426,"tag":553,"props":181359,"children":181360},{"style":566},[181361],{"type":431,"value":58466},{"type":426,"tag":553,"props":181363,"children":181364},{"style":684},[181365],{"type":431,"value":141461},{"type":426,"tag":553,"props":181367,"children":181368},{"style":566},[181369],{"type":431,"value":982},{"type":426,"tag":553,"props":181371,"children":181372},{"style":572},[181373],{"type":431,"value":2229},{"type":426,"tag":553,"props":181375,"children":181376},{"style":566},[181377],{"type":431,"value":972},{"type":426,"tag":553,"props":181379,"children":181380},{"style":684},[181381],{"type":431,"value":141479},{"type":426,"tag":553,"props":181383,"children":181384},{"style":572},[181385],{"type":431,"value":1769},{"type":426,"tag":553,"props":181387,"children":181388},{"style":684},[181389],{"type":431,"value":1240},{"type":426,"tag":553,"props":181391,"children":181392},{"style":566},[181393],{"type":431,"value":982},{"type":426,"tag":553,"props":181395,"children":181396},{"style":572},[181397],{"type":431,"value":700},{"type":426,"tag":553,"props":181399,"children":181400},{"style":566},[181401],{"type":431,"value":972},{"type":426,"tag":553,"props":181403,"children":181404},{"style":684},[181405],{"type":431,"value":181406},"response.json().get(",{"type":426,"tag":553,"props":181408,"children":181409},{"style":572},[181410],{"type":431,"value":2982},{"type":426,"tag":553,"props":181412,"children":181413},{"style":684},[181414],{"type":431,"value":5736},{"type":426,"tag":553,"props":181416,"children":181417},{"style":566},[181418],{"type":431,"value":982},{"type":426,"tag":553,"props":181420,"children":181421},{"style":572},[181422],{"type":431,"value":1527},{"type":426,"tag":553,"props":181424,"children":181425},{"style":684},[181426],{"type":431,"value":3262},{"type":426,"tag":553,"props":181428,"children":181429},{"class":555,"line":1414},[181430],{"type":426,"tag":553,"props":181431,"children":181432},{"style":684},[181433],{"type":431,"value":2061},{"type":426,"tag":553,"props":181435,"children":181436},{"class":555,"line":1479},[181437,181441,181445,181449,181453],{"type":426,"tag":553,"props":181438,"children":181439},{"style":795},[181440],{"type":431,"value":2972},{"type":426,"tag":553,"props":181442,"children":181443},{"style":684},[181444],{"type":431,"value":135921},{"type":426,"tag":553,"props":181446,"children":181447},{"style":795},[181448],{"type":431,"value":25949},{"type":426,"tag":553,"props":181450,"children":181451},{"style":566},[181452],{"type":431,"value":64222},{"type":426,"tag":553,"props":181454,"children":181455},{"style":684},[181456],{"type":431,"value":141750},{"type":426,"tag":553,"props":181458,"children":181459},{"class":555,"line":1517},[181460],{"type":426,"tag":553,"props":181461,"children":181462},{"style":684},[181463],{"type":431,"value":141758},{"type":426,"tag":553,"props":181465,"children":181466},{"class":555,"line":1560},[181467],{"type":426,"tag":553,"props":181468,"children":181469},{"emptyLinePlaceholder":831},[181470],{"type":431,"value":834},{"type":426,"tag":553,"props":181472,"children":181473},{"class":555,"line":1598},[181474,181478,181482],{"type":426,"tag":553,"props":181475,"children":181476},{"style":684},[181477],{"type":431,"value":141868},{"type":426,"tag":553,"props":181479,"children":181480},{"style":795},[181481],{"type":431,"value":957},{"type":426,"tag":553,"props":181483,"children":181484},{"style":684},[181485],{"type":431,"value":80133},{"type":426,"tag":553,"props":181487,"children":181488},{"class":555,"line":1636},[181489,181493,181497,181501,181505,181509,181513,181517,181521],{"type":426,"tag":553,"props":181490,"children":181491},{"style":684},[181492],{"type":431,"value":141884},{"type":426,"tag":553,"props":181494,"children":181495},{"style":572},[181496],{"type":431,"value":73482},{"type":426,"tag":553,"props":181498,"children":181499},{"style":684},[181500],{"type":431,"value":700},{"type":426,"tag":553,"props":181502,"children":181503},{"style":572},[181504],{"type":431,"value":81689},{"type":426,"tag":553,"props":181506,"children":181507},{"style":684},[181508],{"type":431,"value":1907},{"type":426,"tag":553,"props":181510,"children":181511},{"style":572},[181512],{"type":431,"value":141905},{"type":426,"tag":553,"props":181514,"children":181515},{"style":684},[181516],{"type":431,"value":700},{"type":426,"tag":553,"props":181518,"children":181519},{"style":572},[181520],{"type":431,"value":136765},{"type":426,"tag":553,"props":181522,"children":181523},{"style":684},[181524],{"type":431,"value":1737},{"type":426,"tag":553,"props":181526,"children":181527},{"class":555,"line":1645},[181528,181532,181536,181540,181544,181548,181552,181556,181560],{"type":426,"tag":553,"props":181529,"children":181530},{"style":684},[181531],{"type":431,"value":141884},{"type":426,"tag":553,"props":181533,"children":181534},{"style":572},[181535],{"type":431,"value":73482},{"type":426,"tag":553,"props":181537,"children":181538},{"style":684},[181539],{"type":431,"value":700},{"type":426,"tag":553,"props":181541,"children":181542},{"style":572},[181543],{"type":431,"value":136791},{"type":426,"tag":553,"props":181545,"children":181546},{"style":684},[181547],{"type":431,"value":1907},{"type":426,"tag":553,"props":181549,"children":181550},{"style":572},[181551],{"type":431,"value":141905},{"type":426,"tag":553,"props":181553,"children":181554},{"style":684},[181555],{"type":431,"value":700},{"type":426,"tag":553,"props":181557,"children":181558},{"style":572},[181559],{"type":431,"value":136800},{"type":426,"tag":553,"props":181561,"children":181562},{"style":684},[181563],{"type":431,"value":756},{"type":426,"tag":553,"props":181565,"children":181566},{"class":555,"line":1653},[181567],{"type":426,"tag":553,"props":181568,"children":181569},{"style":684},[181570],{"type":431,"value":16523},{"type":426,"tag":553,"props":181572,"children":181573},{"class":555,"line":1667},[181574,181579,181583,181587,181592,181596,181600,181604,181608],{"type":426,"tag":553,"props":181575,"children":181576},{"style":684},[181577],{"type":431,"value":181578},"send_bulk_safe(contacts, ",{"type":426,"tag":553,"props":181580,"children":181581},{"style":572},[181582],{"type":431,"value":4625},{"type":426,"tag":553,"props":181584,"children":181585},{"style":566},[181586],{"type":431,"value":34991},{"type":426,"tag":553,"props":181588,"children":181589},{"style":572},[181590],{"type":431,"value":181591},"! Your invoice is ready.\"",{"type":426,"tag":553,"props":181593,"children":181594},{"style":684},[181595],{"type":431,"value":1907},{"type":426,"tag":553,"props":181597,"children":181598},{"style":1684},[181599],{"type":431,"value":94746},{"type":426,"tag":553,"props":181601,"children":181602},{"style":795},[181603],{"type":431,"value":957},{"type":426,"tag":553,"props":181605,"children":181606},{"style":566},[181607],{"type":431,"value":27172},{"type":426,"tag":553,"props":181609,"children":181610},{"style":684},[181611],{"type":431,"value":3262},{"type":426,"tag":515,"props":181613,"children":181615},{"id":181614},"nodejs-async-rate-limiter",[181616],{"type":431,"value":181617},"Node.js: Async Rate Limiter",{"type":426,"tag":542,"props":181619,"children":181621},{"className":52113,"code":181620,"language":52115,"meta":417,"style":417},"const API_KEY = \"YOUR_API_KEY\";\n\n\u002F\u002F Delay helper\nconst sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));\n\nasync function sendBulkSafe(contacts, messageTemplate, delayMs = 1500) {\n  const results = [];\n  \n  for (let i = 0; i \u003C contacts.length; i++) {\n    const contact = contacts[i];\n    const message = messageTemplate.replace(\u002F{(\\w+)}\u002Fg, (_, k) => contact[k] || \"\");\n    \n    const response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n      method: \"POST\",\n      headers: { \n        \"Authorization\": `Bearer ${API_KEY}`,\n        \"Content-Type\": \"application\u002Fjson\" \n      },\n      body: JSON.stringify({ number: contact.phone, message })\n    });\n    \n    const data = await response.json();\n    results.push({ phone: contact.phone, status: data.status });\n    console.log(`[${i+1}\u002F${contacts.length}] ${contact.phone}: ${data.status}`);\n    \n    if (i \u003C contacts.length - 1) {\n      await sleep(delayMs);\n    }\n  }\n  \n  return results;\n}\n",[181622],{"type":426,"tag":549,"props":181623,"children":181624},{"__ignoreMap":417},[181625,181648,181655,181663,181724,181731,181783,181802,181809,181864,181883,181982,181989,182024,182039,182047,182074,182093,182100,182123,182130,182137,182168,182185,182273,182280,182315,182331,182338,182345,182352,182363],{"type":426,"tag":553,"props":181626,"children":181627},{"class":555,"line":556},[181628,181632,181636,181640,181644],{"type":426,"tag":553,"props":181629,"children":181630},{"style":795},[181631],{"type":431,"value":52135},{"type":426,"tag":553,"props":181633,"children":181634},{"style":566},[181635],{"type":431,"value":133722},{"type":426,"tag":553,"props":181637,"children":181638},{"style":795},[181639],{"type":431,"value":8739},{"type":426,"tag":553,"props":181641,"children":181642},{"style":572},[181643],{"type":431,"value":170073},{"type":426,"tag":553,"props":181645,"children":181646},{"style":684},[181647],{"type":431,"value":52321},{"type":426,"tag":553,"props":181649,"children":181650},{"class":555,"line":588},[181651],{"type":426,"tag":553,"props":181652,"children":181653},{"emptyLinePlaceholder":831},[181654],{"type":431,"value":834},{"type":426,"tag":553,"props":181656,"children":181657},{"class":555,"line":606},[181658],{"type":426,"tag":553,"props":181659,"children":181660},{"style":1975},[181661],{"type":431,"value":181662},"\u002F\u002F Delay helper\n",{"type":426,"tag":553,"props":181664,"children":181665},{"class":555,"line":623},[181666,181670,181674,181678,181682,181686,181690,181694,181698,181702,181706,181711,181715,181719],{"type":426,"tag":553,"props":181667,"children":181668},{"style":795},[181669],{"type":431,"value":52135},{"type":426,"tag":553,"props":181671,"children":181672},{"style":560},[181673],{"type":431,"value":135743},{"type":426,"tag":553,"props":181675,"children":181676},{"style":795},[181677],{"type":431,"value":8739},{"type":426,"tag":553,"props":181679,"children":181680},{"style":684},[181681],{"type":431,"value":5684},{"type":426,"tag":553,"props":181683,"children":181684},{"style":1684},[181685],{"type":431,"value":135756},{"type":426,"tag":553,"props":181687,"children":181688},{"style":684},[181689],{"type":431,"value":2987},{"type":426,"tag":553,"props":181691,"children":181692},{"style":795},[181693],{"type":431,"value":74581},{"type":426,"tag":553,"props":181695,"children":181696},{"style":795},[181697],{"type":431,"value":52275},{"type":426,"tag":553,"props":181699,"children":181700},{"style":566},[181701],{"type":431,"value":135773},{"type":426,"tag":553,"props":181703,"children":181704},{"style":684},[181705],{"type":431,"value":3275},{"type":426,"tag":553,"props":181707,"children":181708},{"style":1684},[181709],{"type":431,"value":181710},"resolve",{"type":426,"tag":553,"props":181712,"children":181713},{"style":795},[181714],{"type":431,"value":53709},{"type":426,"tag":553,"props":181716,"children":181717},{"style":560},[181718],{"type":431,"value":135791},{"type":426,"tag":553,"props":181720,"children":181721},{"style":684},[181722],{"type":431,"value":181723},"(resolve, ms));\n",{"type":426,"tag":553,"props":181725,"children":181726},{"class":555,"line":637},[181727],{"type":426,"tag":553,"props":181728,"children":181729},{"emptyLinePlaceholder":831},[181730],{"type":431,"value":834},{"type":426,"tag":553,"props":181732,"children":181733},{"class":555,"line":646},[181734,181738,181742,181747,181751,181755,181759,181763,181767,181771,181775,181779],{"type":426,"tag":553,"props":181735,"children":181736},{"style":795},[181737],{"type":431,"value":52361},{"type":426,"tag":553,"props":181739,"children":181740},{"style":795},[181741],{"type":431,"value":52366},{"type":426,"tag":553,"props":181743,"children":181744},{"style":560},[181745],{"type":431,"value":181746}," sendBulkSafe",{"type":426,"tag":553,"props":181748,"children":181749},{"style":684},[181750],{"type":431,"value":3275},{"type":426,"tag":553,"props":181752,"children":181753},{"style":1684},[181754],{"type":431,"value":112146},{"type":426,"tag":553,"props":181756,"children":181757},{"style":684},[181758],{"type":431,"value":1907},{"type":426,"tag":553,"props":181760,"children":181761},{"style":1684},[181762],{"type":431,"value":135836},{"type":426,"tag":553,"props":181764,"children":181765},{"style":684},[181766],{"type":431,"value":1907},{"type":426,"tag":553,"props":181768,"children":181769},{"style":1684},[181770],{"type":431,"value":89559},{"type":426,"tag":553,"props":181772,"children":181773},{"style":795},[181774],{"type":431,"value":8739},{"type":426,"tag":553,"props":181776,"children":181777},{"style":566},[181778],{"type":431,"value":135853},{"type":426,"tag":553,"props":181780,"children":181781},{"style":684},[181782],{"type":431,"value":52385},{"type":426,"tag":553,"props":181784,"children":181785},{"class":555,"line":655},[181786,181790,181794,181798],{"type":426,"tag":553,"props":181787,"children":181788},{"style":795},[181789],{"type":431,"value":52540},{"type":426,"tag":553,"props":181791,"children":181792},{"style":566},[181793],{"type":431,"value":75220},{"type":426,"tag":553,"props":181795,"children":181796},{"style":795},[181797],{"type":431,"value":8739},{"type":426,"tag":553,"props":181799,"children":181800},{"style":684},[181801],{"type":431,"value":88887},{"type":426,"tag":553,"props":181803,"children":181804},{"class":555,"line":1036},[181805],{"type":426,"tag":553,"props":181806,"children":181807},{"style":684},[181808],{"type":431,"value":52575},{"type":426,"tag":553,"props":181810,"children":181811},{"class":555,"line":1054},[181812,181816,181820,181824,181828,181832,181836,181840,181844,181848,181852,181856,181860],{"type":426,"tag":553,"props":181813,"children":181814},{"style":795},[181815],{"type":431,"value":105046},{"type":426,"tag":553,"props":181817,"children":181818},{"style":684},[181819],{"type":431,"value":5684},{"type":426,"tag":553,"props":181821,"children":181822},{"style":795},[181823],{"type":431,"value":105055},{"type":426,"tag":553,"props":181825,"children":181826},{"style":684},[181827],{"type":431,"value":135921},{"type":426,"tag":553,"props":181829,"children":181830},{"style":795},[181831],{"type":431,"value":957},{"type":426,"tag":553,"props":181833,"children":181834},{"style":566},[181835],{"type":431,"value":940},{"type":426,"tag":553,"props":181837,"children":181838},{"style":684},[181839],{"type":431,"value":135934},{"type":426,"tag":553,"props":181841,"children":181842},{"style":795},[181843],{"type":431,"value":25949},{"type":426,"tag":553,"props":181845,"children":181846},{"style":684},[181847],{"type":431,"value":135943},{"type":426,"tag":553,"props":181849,"children":181850},{"style":566},[181851],{"type":431,"value":121253},{"type":426,"tag":553,"props":181853,"children":181854},{"style":684},[181855],{"type":431,"value":135952},{"type":426,"tag":553,"props":181857,"children":181858},{"style":795},[181859],{"type":431,"value":105086},{"type":426,"tag":553,"props":181861,"children":181862},{"style":684},[181863],{"type":431,"value":52385},{"type":426,"tag":553,"props":181865,"children":181866},{"class":555,"line":1080},[181867,181871,181875,181879],{"type":426,"tag":553,"props":181868,"children":181869},{"style":795},[181870],{"type":431,"value":85411},{"type":426,"tag":553,"props":181872,"children":181873},{"style":566},[181874],{"type":431,"value":135972},{"type":426,"tag":553,"props":181876,"children":181877},{"style":795},[181878],{"type":431,"value":8739},{"type":426,"tag":553,"props":181880,"children":181881},{"style":684},[181882],{"type":431,"value":135981},{"type":426,"tag":553,"props":181884,"children":181885},{"class":555,"line":1097},[181886,181890,181894,181898,181902,181906,181910,181914,181919,181923,181927,181932,181936,181940,181944,181948,181952,181957,181961,181965,181970,181974,181978],{"type":426,"tag":553,"props":181887,"children":181888},{"style":795},[181889],{"type":431,"value":85411},{"type":426,"tag":553,"props":181891,"children":181892},{"style":566},[181893],{"type":431,"value":55741},{"type":426,"tag":553,"props":181895,"children":181896},{"style":795},[181897],{"type":431,"value":8739},{"type":426,"tag":553,"props":181899,"children":181900},{"style":684},[181901],{"type":431,"value":136009},{"type":426,"tag":553,"props":181903,"children":181904},{"style":560},[181905],{"type":431,"value":67341},{"type":426,"tag":553,"props":181907,"children":181908},{"style":684},[181909],{"type":431,"value":3275},{"type":426,"tag":553,"props":181911,"children":181912},{"style":572},[181913],{"type":431,"value":18503},{"type":426,"tag":553,"props":181915,"children":181916},{"style":90580},[181917],{"type":431,"value":181918},"{(",{"type":426,"tag":553,"props":181920,"children":181921},{"style":566},[181922],{"type":431,"value":136040},{"type":426,"tag":553,"props":181924,"children":181925},{"style":795},[181926],{"type":431,"value":2033},{"type":426,"tag":553,"props":181928,"children":181929},{"style":90580},[181930],{"type":431,"value":181931},")}",{"type":426,"tag":553,"props":181933,"children":181934},{"style":572},[181935],{"type":431,"value":18503},{"type":426,"tag":553,"props":181937,"children":181938},{"style":795},[181939],{"type":431,"value":136062},{"type":426,"tag":553,"props":181941,"children":181942},{"style":684},[181943],{"type":431,"value":136067},{"type":426,"tag":553,"props":181945,"children":181946},{"style":1684},[181947],{"type":431,"value":136072},{"type":426,"tag":553,"props":181949,"children":181950},{"style":684},[181951],{"type":431,"value":1907},{"type":426,"tag":553,"props":181953,"children":181954},{"style":1684},[181955],{"type":431,"value":181956},"k",{"type":426,"tag":553,"props":181958,"children":181959},{"style":684},[181960],{"type":431,"value":2987},{"type":426,"tag":553,"props":181962,"children":181963},{"style":795},[181964],{"type":431,"value":74581},{"type":426,"tag":553,"props":181966,"children":181967},{"style":684},[181968],{"type":431,"value":181969}," contact[k] ",{"type":426,"tag":553,"props":181971,"children":181972},{"style":795},[181973],{"type":431,"value":53296},{"type":426,"tag":553,"props":181975,"children":181976},{"style":572},[181977],{"type":431,"value":76413},{"type":426,"tag":553,"props":181979,"children":181980},{"style":684},[181981],{"type":431,"value":11379},{"type":426,"tag":553,"props":181983,"children":181984},{"class":555,"line":1114},[181985],{"type":426,"tag":553,"props":181986,"children":181987},{"style":684},[181988],{"type":431,"value":917},{"type":426,"tag":553,"props":181990,"children":181991},{"class":555,"line":1127},[181992,181996,182000,182004,182008,182012,182016,182020],{"type":426,"tag":553,"props":181993,"children":181994},{"style":795},[181995],{"type":431,"value":85411},{"type":426,"tag":553,"props":181997,"children":181998},{"style":566},[181999],{"type":431,"value":53061},{"type":426,"tag":553,"props":182001,"children":182002},{"style":795},[182003],{"type":431,"value":8739},{"type":426,"tag":553,"props":182005,"children":182006},{"style":795},[182007],{"type":431,"value":53070},{"type":426,"tag":553,"props":182009,"children":182010},{"style":560},[182011],{"type":431,"value":52226},{"type":426,"tag":553,"props":182013,"children":182014},{"style":684},[182015],{"type":431,"value":3275},{"type":426,"tag":553,"props":182017,"children":182018},{"style":572},[182019],{"type":431,"value":60449},{"type":426,"tag":553,"props":182021,"children":182022},{"style":684},[182023],{"type":431,"value":53088},{"type":426,"tag":553,"props":182025,"children":182026},{"class":555,"line":1167},[182027,182031,182035],{"type":426,"tag":553,"props":182028,"children":182029},{"style":684},[182030],{"type":431,"value":85448},{"type":426,"tag":553,"props":182032,"children":182033},{"style":572},[182034],{"type":431,"value":60428},{"type":426,"tag":553,"props":182036,"children":182037},{"style":684},[182038],{"type":431,"value":710},{"type":426,"tag":553,"props":182040,"children":182041},{"class":555,"line":1184},[182042],{"type":426,"tag":553,"props":182043,"children":182044},{"style":684},[182045],{"type":431,"value":182046},"      headers: { \n",{"type":426,"tag":553,"props":182048,"children":182049},{"class":555,"line":1192},[182050,182054,182058,182062,182066,182070],{"type":426,"tag":553,"props":182051,"children":182052},{"style":572},[182053],{"type":431,"value":113029},{"type":426,"tag":553,"props":182055,"children":182056},{"style":684},[182057],{"type":431,"value":700},{"type":426,"tag":553,"props":182059,"children":182060},{"style":572},[182061],{"type":431,"value":53129},{"type":426,"tag":553,"props":182063,"children":182064},{"style":566},[182065],{"type":431,"value":133819},{"type":426,"tag":553,"props":182067,"children":182068},{"style":572},[182069],{"type":431,"value":52718},{"type":426,"tag":553,"props":182071,"children":182072},{"style":684},[182073],{"type":431,"value":710},{"type":426,"tag":553,"props":182075,"children":182076},{"class":555,"line":1210},[182077,182081,182085,182089],{"type":426,"tag":553,"props":182078,"children":182079},{"style":572},[182080],{"type":431,"value":113070},{"type":426,"tag":553,"props":182082,"children":182083},{"style":684},[182084],{"type":431,"value":700},{"type":426,"tag":553,"props":182086,"children":182087},{"style":572},[182088],{"type":431,"value":67587},{"type":426,"tag":553,"props":182090,"children":182091},{"style":684},[182092],{"type":431,"value":25987},{"type":426,"tag":553,"props":182094,"children":182095},{"class":555,"line":1253},[182096],{"type":426,"tag":553,"props":182097,"children":182098},{"style":684},[182099],{"type":431,"value":85516},{"type":426,"tag":553,"props":182101,"children":182102},{"class":555,"line":1302},[182103,182107,182111,182115,182119],{"type":426,"tag":553,"props":182104,"children":182105},{"style":684},[182106],{"type":431,"value":85524},{"type":426,"tag":553,"props":182108,"children":182109},{"style":566},[182110],{"type":431,"value":53178},{"type":426,"tag":553,"props":182112,"children":182113},{"style":684},[182114],{"type":431,"value":6789},{"type":426,"tag":553,"props":182116,"children":182117},{"style":560},[182118],{"type":431,"value":53187},{"type":426,"tag":553,"props":182120,"children":182121},{"style":684},[182122],{"type":431,"value":136279},{"type":426,"tag":553,"props":182124,"children":182125},{"class":555,"line":1374},[182126],{"type":426,"tag":553,"props":182127,"children":182128},{"style":684},[182129],{"type":431,"value":85548},{"type":426,"tag":553,"props":182131,"children":182132},{"class":555,"line":1414},[182133],{"type":426,"tag":553,"props":182134,"children":182135},{"style":684},[182136],{"type":431,"value":917},{"type":426,"tag":553,"props":182138,"children":182139},{"class":555,"line":1479},[182140,182144,182148,182152,182156,182160,182164],{"type":426,"tag":553,"props":182141,"children":182142},{"style":795},[182143],{"type":431,"value":85411},{"type":426,"tag":553,"props":182145,"children":182146},{"style":566},[182147],{"type":431,"value":75817},{"type":426,"tag":553,"props":182149,"children":182150},{"style":795},[182151],{"type":431,"value":8739},{"type":426,"tag":553,"props":182153,"children":182154},{"style":795},[182155],{"type":431,"value":53070},{"type":426,"tag":553,"props":182157,"children":182158},{"style":684},[182159],{"type":431,"value":53218},{"type":426,"tag":553,"props":182161,"children":182162},{"style":560},[182163],{"type":431,"value":673},{"type":426,"tag":553,"props":182165,"children":182166},{"style":684},[182167],{"type":431,"value":53227},{"type":426,"tag":553,"props":182169,"children":182170},{"class":555,"line":1517},[182171,182176,182180],{"type":426,"tag":553,"props":182172,"children":182173},{"style":684},[182174],{"type":431,"value":182175},"    results.",{"type":426,"tag":553,"props":182177,"children":182178},{"style":560},[182179],{"type":431,"value":136496},{"type":426,"tag":553,"props":182181,"children":182182},{"style":684},[182183],{"type":431,"value":182184},"({ phone: contact.phone, status: data.status });\n",{"type":426,"tag":553,"props":182186,"children":182187},{"class":555,"line":1560},[182188,182192,182196,182200,182204,182208,182212,182216,182220,182224,182228,182232,182237,182241,182245,182249,182253,182257,182261,182265,182269],{"type":426,"tag":553,"props":182189,"children":182190},{"style":684},[182191],{"type":431,"value":85587},{"type":426,"tag":553,"props":182193,"children":182194},{"style":560},[182195],{"type":431,"value":53719},{"type":426,"tag":553,"props":182197,"children":182198},{"style":684},[182199],{"type":431,"value":3275},{"type":426,"tag":553,"props":182201,"children":182202},{"style":572},[182203],{"type":431,"value":136395},{"type":426,"tag":553,"props":182205,"children":182206},{"style":684},[182207],{"type":431,"value":136400},{"type":426,"tag":553,"props":182209,"children":182210},{"style":795},[182211],{"type":431,"value":2033},{"type":426,"tag":553,"props":182213,"children":182214},{"style":566},[182215],{"type":431,"value":1921},{"type":426,"tag":553,"props":182217,"children":182218},{"style":572},[182219],{"type":431,"value":136413},{"type":426,"tag":553,"props":182221,"children":182222},{"style":684},[182223],{"type":431,"value":112146},{"type":426,"tag":553,"props":182225,"children":182226},{"style":572},[182227],{"type":431,"value":6789},{"type":426,"tag":553,"props":182229,"children":182230},{"style":566},[182231],{"type":431,"value":121253},{"type":426,"tag":553,"props":182233,"children":182234},{"style":572},[182235],{"type":431,"value":182236},"}] ${",{"type":426,"tag":553,"props":182238,"children":182239},{"style":684},[182240],{"type":431,"value":136435},{"type":426,"tag":553,"props":182242,"children":182243},{"style":572},[182244],{"type":431,"value":6789},{"type":426,"tag":553,"props":182246,"children":182247},{"style":684},[182248],{"type":431,"value":37598},{"type":426,"tag":553,"props":182250,"children":182251},{"style":572},[182252],{"type":431,"value":96482},{"type":426,"tag":553,"props":182254,"children":182255},{"style":684},[182256],{"type":431,"value":54344},{"type":426,"tag":553,"props":182258,"children":182259},{"style":572},[182260],{"type":431,"value":6789},{"type":426,"tag":553,"props":182262,"children":182263},{"style":684},[182264],{"type":431,"value":67953},{"type":426,"tag":553,"props":182266,"children":182267},{"style":572},[182268],{"type":431,"value":52718},{"type":426,"tag":553,"props":182270,"children":182271},{"style":684},[182272],{"type":431,"value":11379},{"type":426,"tag":553,"props":182274,"children":182275},{"class":555,"line":1598},[182276],{"type":426,"tag":553,"props":182277,"children":182278},{"style":684},[182279],{"type":431,"value":917},{"type":426,"tag":553,"props":182281,"children":182282},{"class":555,"line":1636},[182283,182287,182291,182295,182299,182303,182307,182311],{"type":426,"tag":553,"props":182284,"children":182285},{"style":795},[182286],{"type":431,"value":925},{"type":426,"tag":553,"props":182288,"children":182289},{"style":684},[182290],{"type":431,"value":136582},{"type":426,"tag":553,"props":182292,"children":182293},{"style":795},[182294],{"type":431,"value":25949},{"type":426,"tag":553,"props":182296,"children":182297},{"style":684},[182298],{"type":431,"value":135943},{"type":426,"tag":553,"props":182300,"children":182301},{"style":566},[182302],{"type":431,"value":121253},{"type":426,"tag":553,"props":182304,"children":182305},{"style":795},[182306],{"type":431,"value":30047},{"type":426,"tag":553,"props":182308,"children":182309},{"style":566},[182310],{"type":431,"value":1014},{"type":426,"tag":553,"props":182312,"children":182313},{"style":684},[182314],{"type":431,"value":52385},{"type":426,"tag":553,"props":182316,"children":182317},{"class":555,"line":1645},[182318,182323,182327],{"type":426,"tag":553,"props":182319,"children":182320},{"style":795},[182321],{"type":431,"value":182322},"      await",{"type":426,"tag":553,"props":182324,"children":182325},{"style":560},[182326],{"type":431,"value":135743},{"type":426,"tag":553,"props":182328,"children":182329},{"style":684},[182330],{"type":431,"value":136619},{"type":426,"tag":553,"props":182332,"children":182333},{"class":555,"line":1653},[182334],{"type":426,"tag":553,"props":182335,"children":182336},{"style":684},[182337],{"type":431,"value":5546},{"type":426,"tag":553,"props":182339,"children":182340},{"class":555,"line":1667},[182341],{"type":426,"tag":553,"props":182342,"children":182343},{"style":684},[182344],{"type":431,"value":60547},{"type":426,"tag":553,"props":182346,"children":182347},{"class":555,"line":1680},[182348],{"type":426,"tag":553,"props":182349,"children":182350},{"style":684},[182351],{"type":431,"value":52575},{"type":426,"tag":553,"props":182353,"children":182354},{"class":555,"line":1740},[182355,182359],{"type":426,"tag":553,"props":182356,"children":182357},{"style":795},[182358],{"type":431,"value":52393},{"type":426,"tag":553,"props":182360,"children":182361},{"style":684},[182362],{"type":431,"value":75540},{"type":426,"tag":553,"props":182364,"children":182365},{"class":555,"line":1787},[182366],{"type":426,"tag":553,"props":182367,"children":182368},{"style":684},[182369],{"type":431,"value":756},{"type":426,"tag":434,"props":182371,"children":182373},{"id":182372},"number-warm-up-schedule",[182374],{"type":431,"value":182375},"Number Warm-Up Schedule",{"type":426,"tag":427,"props":182377,"children":182378},{},[182379],{"type":431,"value":182380},"If you're using a new WhatsApp number with Rapiwa, follow this warm-up schedule to build sender reputation:",{"type":426,"tag":10600,"props":182382,"children":182383},{},[182384,182403],{"type":426,"tag":10604,"props":182385,"children":182386},{},[182387],{"type":426,"tag":10608,"props":182388,"children":182389},{},[182390,182395,182399],{"type":426,"tag":10612,"props":182391,"children":182392},{},[182393],{"type":431,"value":182394},"Week",{"type":426,"tag":10612,"props":182396,"children":182397},{},[182398],{"type":431,"value":179745},{"type":426,"tag":10612,"props":182400,"children":182401},{},[182402],{"type":431,"value":149805},{"type":426,"tag":10623,"props":182404,"children":182405},{},[182406,182424,182442,182460,182478],{"type":426,"tag":10608,"props":182407,"children":182408},{},[182409,182414,182419],{"type":426,"tag":10630,"props":182410,"children":182411},{},[182412],{"type":431,"value":182413},"Week 1",{"type":426,"tag":10630,"props":182415,"children":182416},{},[182417],{"type":431,"value":182418},"30–50",{"type":426,"tag":10630,"props":182420,"children":182421},{},[182422],{"type":431,"value":182423},"Only message opted-in contacts who are likely to respond",{"type":426,"tag":10608,"props":182425,"children":182426},{},[182427,182432,182437],{"type":426,"tag":10630,"props":182428,"children":182429},{},[182430],{"type":431,"value":182431},"Week 2",{"type":426,"tag":10630,"props":182433,"children":182434},{},[182435],{"type":431,"value":182436},"100–150",{"type":426,"tag":10630,"props":182438,"children":182439},{},[182440],{"type":431,"value":182441},"Increase if engagement rate is >20%",{"type":426,"tag":10608,"props":182443,"children":182444},{},[182445,182450,182455],{"type":426,"tag":10630,"props":182446,"children":182447},{},[182448],{"type":431,"value":182449},"Week 3",{"type":426,"tag":10630,"props":182451,"children":182452},{},[182453],{"type":431,"value":182454},"250–400",{"type":426,"tag":10630,"props":182456,"children":182457},{},[182458],{"type":431,"value":182459},"Monitor response rates",{"type":426,"tag":10608,"props":182461,"children":182462},{},[182463,182468,182473],{"type":426,"tag":10630,"props":182464,"children":182465},{},[182466],{"type":431,"value":182467},"Week 4",{"type":426,"tag":10630,"props":182469,"children":182470},{},[182471],{"type":431,"value":182472},"500–750",{"type":426,"tag":10630,"props":182474,"children":182475},{},[182476],{"type":431,"value":182477},"Full business volume approaching",{"type":426,"tag":10608,"props":182479,"children":182480},{},[182481,182486,182491],{"type":426,"tag":10630,"props":182482,"children":182483},{},[182484],{"type":431,"value":182485},"Month 2+",{"type":426,"tag":10630,"props":182487,"children":182488},{},[182489],{"type":431,"value":182490},"1,000+",{"type":426,"tag":10630,"props":182492,"children":182493},{},[182494],{"type":431,"value":182495},"Full operational volume",{"type":426,"tag":427,"props":182497,"children":182498},{},[182499,182504],{"type":426,"tag":446,"props":182500,"children":182501},{},[182502],{"type":431,"value":182503},"Key principle",{"type":431,"value":182505},": Your engagement rate matters more than volume. High-quality messages that get replies are safer than lower-quality messages sent at any rate.",{"type":426,"tag":434,"props":182507,"children":182509},{"id":182508},"warning-signs-your-number-is-at-risk",[182510],{"type":431,"value":182511},"Warning Signs Your Number Is at Risk",{"type":426,"tag":427,"props":182513,"children":182514},{},[182515],{"type":431,"value":182516},"Watch for these signals that WhatsApp may restrict your number:",{"type":426,"tag":454,"props":182518,"children":182519},{},[182520,182525,182530,182535],{"type":426,"tag":458,"props":182521,"children":182522},{},[182523],{"type":431,"value":182524},"Users are replying \"STOP\" or reporting your messages as spam",{"type":426,"tag":458,"props":182526,"children":182527},{},[182528],{"type":431,"value":182529},"Your read rate drops suddenly (messages delivered but not opened)",{"type":426,"tag":458,"props":182531,"children":182532},{},[182533],{"type":431,"value":182534},"WhatsApp shows you a \"You're sending messages too fast\" warning",{"type":426,"tag":458,"props":182536,"children":182537},{},[182538],{"type":431,"value":182539},"You receive a temporary sending restriction (number still works but outbound is throttled)",{"type":426,"tag":427,"props":182541,"children":182542},{},[182543,182545,182550],{"type":431,"value":182544},"If you see any of these, ",{"type":426,"tag":446,"props":182546,"children":182547},{},[182548],{"type":431,"value":182549},"reduce your sending volume immediately",{"type":431,"value":182551}," and focus on re-engagement with your most active contacts for 1–2 weeks.",{"type":426,"tag":434,"props":182553,"children":182554},{"id":4109},[182555],{"type":431,"value":4112},{"type":426,"tag":427,"props":182557,"children":182558},{},[182559,182564],{"type":426,"tag":446,"props":182560,"children":182561},{},[182562],{"type":431,"value":182563},"What happens if I exceed WhatsApp's rate limit?",{"type":431,"value":182565},"\nWhatsApp may temporarily restrict your number from sending messages — you'll still receive messages but outbound will be throttled or blocked. In severe cases (spam reports), the number may be permanently banned from WhatsApp.",{"type":426,"tag":427,"props":182567,"children":182568},{},[182569,182574],{"type":426,"tag":446,"props":182570,"children":182571},{},[182572],{"type":431,"value":182573},"Does Rapiwa have its own message rate limits?",{"type":431,"value":182575},"\nRapiwa itself has no daily message cap. All plans include unlimited messages. The limits that apply are WhatsApp's own anti-spam measures at the account level.",{"type":426,"tag":427,"props":182577,"children":182578},{},[182579,182584],{"type":426,"tag":446,"props":182580,"children":182581},{},[182582],{"type":431,"value":182583},"What is the safest sending rate for bulk WhatsApp messages?",{"type":431,"value":182585},"\n1–2 messages per second (60–120 per minute) is safe for established numbers (3+ months old). For new numbers, start at 1–2 messages per minute and increase gradually over 4 weeks.",{"type":426,"tag":427,"props":182587,"children":182588},{},[182589,182594],{"type":426,"tag":446,"props":182590,"children":182591},{},[182592],{"type":431,"value":182593},"How do I know if my WhatsApp number is at risk?",{"type":431,"value":182595},"\nSigns of risk: declining read rates, user spam reports, WhatsApp showing rate-limit warnings. Monitor your engagement metrics and reduce volume if any of these appear.",{"type":426,"tag":427,"props":182597,"children":182598},{},[182599,182604],{"type":426,"tag":446,"props":182600,"children":182601},{},[182602],{"type":431,"value":182603},"Can I send 10,000 WhatsApp messages per day safely?",{"type":431,"value":182605},"\nFor an established number (3+ months), 10,000 messages per day is achievable if spread across the day (not all at once) and your content is relevant and non-spammy. Send over 8–10 hours rather than in 1–2 hour bursts.",{"type":426,"tag":427,"props":182607,"children":182608},{},[182609,182614],{"type":426,"tag":446,"props":182610,"children":182611},{},[182612],{"type":431,"value":182613},"Does adding a delay between messages prevent bans?",{"type":431,"value":182615},"\nA delay reduces the risk of triggering WhatsApp's automated spam detection. However, the more important factor is message quality and engagement — sending relevant messages to opted-in contacts matters more than the delay interval.",{"type":426,"tag":4164,"props":182617,"children":182618},{},[182619],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":182621},[182622,182623,182624,182627,182632,182633,182634],{"id":179679,"depth":588,"text":179682},{"id":179718,"depth":588,"text":179721},{"id":179832,"depth":588,"text":179835,"children":182625},[182626],{"id":179843,"depth":606,"text":179846},{"id":179971,"depth":588,"text":179974,"children":182628},[182629,182630,182631],{"id":179977,"depth":606,"text":179980},{"id":181013,"depth":606,"text":181016},{"id":181614,"depth":606,"text":181617},{"id":182372,"depth":588,"text":182375},{"id":182508,"depth":588,"text":182511},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-rate-limits-explained-how-to-message-safely-2026.md","blog\u002Fwhatsapp-api-rate-limits-explained-how-to-message-safely-2026.md","blog\u002Fwhatsapp-api-rate-limits-explained-how-to-message-safely-2026",{"loc":330},{"_path":334,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":335,"description":336,"date":182640,"author":26210,"category":17,"_slug":182641,"image":182642,"body":182643,"_type":4187,"_id":184291,"_source":4189,"_file":184292,"_stem":184293,"_extension":4192,"sitemap":184294},"2025-12-18","how-to-send-whatsapp-messages-without-whatsapp-business-api","\u002Fimages\u002Fblog\u002Fhow-to-send-whatsapp-messages-without-whatsapp-business-api.svg",{"type":423,"children":182644,"toc":184269},[182645,182657,182663,182668,182730,182735,182741,182746,182798,182804,182810,182840,182846,182884,182894,182900,182926,182932,183025,183030,183036,183040,183282,183286,183521,183527,183875,183881,183886,184126,184131,184137,184143,184155,184161,184174,184195,184201,184211,184215,184225,184235,184245,184255,184265],{"type":426,"tag":427,"props":182646,"children":182647},{},[182648,182650,182655],{"type":431,"value":182649},"You can send WhatsApp messages without the official WhatsApp Business API by using an unofficial WhatsApp API like ",{"type":426,"tag":3819,"props":182651,"children":182653},{"href":3821,"rel":182652},[3823],[182654],{"type":431,"value":127310},{"type":431,"value":182656},". Connect your existing WhatsApp number via QR code, get an API key, and send messages programmatically — no Meta approval, no templates, no per-conversation fees. Rapiwa costs $5\u002Fmonth with unlimited messages and works in minutes.",{"type":426,"tag":434,"props":182658,"children":182660},{"id":182659},"why-developers-avoid-the-official-whatsapp-business-api",[182661],{"type":431,"value":182662},"Why Developers Avoid the Official WhatsApp Business API",{"type":426,"tag":427,"props":182664,"children":182665},{},[182666],{"type":431,"value":182667},"The official Meta Cloud API has significant barriers:",{"type":426,"tag":454,"props":182669,"children":182670},{},[182671,182681,182691,182700,182710,182720],{"type":426,"tag":458,"props":182672,"children":182673},{},[182674,182679],{"type":426,"tag":446,"props":182675,"children":182676},{},[182677],{"type":431,"value":182678},"Approval process",{"type":431,"value":182680},": Business verification takes 1–14 days",{"type":426,"tag":458,"props":182682,"children":182683},{},[182684,182689],{"type":426,"tag":446,"props":182685,"children":182686},{},[182687],{"type":431,"value":182688},"Template requirement",{"type":431,"value":182690},": All proactive messages must use pre-approved templates reviewed by Meta",{"type":426,"tag":458,"props":182692,"children":182693},{},[182694,182698],{"type":426,"tag":446,"props":182695,"children":182696},{},[182697],{"type":431,"value":153587},{"type":431,"value":182699},": You can only reply freely within 24 hours of the customer's last message",{"type":426,"tag":458,"props":182701,"children":182702},{},[182703,182708],{"type":426,"tag":446,"props":182704,"children":182705},{},[182706],{"type":431,"value":182707},"Per-conversation pricing",{"type":431,"value":182709},": $0.015–$0.08 per conversation session",{"type":426,"tag":458,"props":182711,"children":182712},{},[182713,182718],{"type":426,"tag":446,"props":182714,"children":182715},{},[182716],{"type":431,"value":182717},"New number required",{"type":431,"value":182719},": Your personal or current business number cannot be used — you need a dedicated new number",{"type":426,"tag":458,"props":182721,"children":182722},{},[182723,182728],{"type":426,"tag":446,"props":182724,"children":182725},{},[182726],{"type":431,"value":182727},"Complexity",{"type":431,"value":182729},": Setting up Meta's API involves Meta Business Manager, phone number registration, template management, and BSP configuration",{"type":426,"tag":427,"props":182731,"children":182732},{},[182733],{"type":431,"value":182734},"For most developers and small businesses, this complexity and cost is unnecessary.",{"type":426,"tag":434,"props":182736,"children":182738},{"id":182737},"what-you-can-do-with-an-unofficial-whatsapp-api",[182739],{"type":431,"value":182740},"What You Can Do With an Unofficial WhatsApp API",{"type":426,"tag":427,"props":182742,"children":182743},{},[182744],{"type":431,"value":182745},"Unofficial APIs like Rapiwa connect your existing WhatsApp number via the WhatsApp Web protocol — the same technology used by web.whatsapp.com. This gives you:",{"type":426,"tag":454,"props":182747,"children":182748},{},[182749,182759,182769,182779,182788],{"type":426,"tag":458,"props":182750,"children":182751},{},[182752,182757],{"type":426,"tag":446,"props":182753,"children":182754},{},[182755],{"type":431,"value":182756},"Any phone number",{"type":431,"value":182758}," — personal or business WhatsApp",{"type":426,"tag":458,"props":182760,"children":182761},{},[182762,182767],{"type":426,"tag":446,"props":182763,"children":182764},{},[182765],{"type":431,"value":182766},"No templates",{"type":431,"value":182768}," — send any message content freely",{"type":426,"tag":458,"props":182770,"children":182771},{},[182772,182777],{"type":426,"tag":446,"props":182773,"children":182774},{},[182775],{"type":431,"value":182776},"No 24-hour window",{"type":431,"value":182778}," — send follow-ups and proactive messages anytime",{"type":426,"tag":458,"props":182780,"children":182781},{},[182782,182786],{"type":426,"tag":446,"props":182783,"children":182784},{},[182785],{"type":431,"value":16125},{"type":431,"value":182787}," — $5\u002Fmonth flat, unlimited messages",{"type":426,"tag":458,"props":182789,"children":182790},{},[182791,182796],{"type":426,"tag":446,"props":182792,"children":182793},{},[182794],{"type":431,"value":182795},"Instant setup",{"type":431,"value":182797}," — live in 5 minutes",{"type":426,"tag":434,"props":182799,"children":182801},{"id":182800},"step-by-step-send-whatsapp-without-business-api",[182802],{"type":431,"value":182803},"Step-by-Step: Send WhatsApp Without Business API",{"type":426,"tag":515,"props":182805,"children":182807},{"id":182806},"step-1-sign-up-for-rapiwa-2-minutes",[182808],{"type":431,"value":182809},"Step 1: Sign Up for Rapiwa (2 minutes)",{"type":426,"tag":6331,"props":182811,"children":182812},{},[182813,182822,182830,182835],{"type":426,"tag":458,"props":182814,"children":182815},{},[182816,182817],{"type":431,"value":47846},{"type":426,"tag":3819,"props":182818,"children":182820},{"href":3821,"rel":182819},[3823],[182821],{"type":431,"value":3826},{"type":426,"tag":458,"props":182823,"children":182824},{},[182825,182826],{"type":431,"value":47857},{"type":426,"tag":446,"props":182827,"children":182828},{},[182829],{"type":431,"value":176837},{"type":426,"tag":458,"props":182831,"children":182832},{},[182833],{"type":431,"value":182834},"Create your account (no credit card required)",{"type":426,"tag":458,"props":182836,"children":182837},{},[182838],{"type":431,"value":182839},"Verify your email",{"type":426,"tag":515,"props":182841,"children":182843},{"id":182842},"step-2-connect-your-whatsapp-number-2-minutes",[182844],{"type":431,"value":182845},"Step 2: Connect Your WhatsApp Number (2 minutes)",{"type":426,"tag":6331,"props":182847,"children":182848},{},[182849,182858,182867,182872,182880],{"type":426,"tag":458,"props":182850,"children":182851},{},[182852,182853],{"type":431,"value":77455},{"type":426,"tag":3819,"props":182854,"children":182856},{"href":10643,"rel":182855},[3823],[182857],{"type":431,"value":71426},{"type":426,"tag":458,"props":182859,"children":182860},{},[182861,182862],{"type":431,"value":47846},{"type":426,"tag":446,"props":182863,"children":182864},{},[182865],{"type":431,"value":182866},"Devices → Add New Device",{"type":426,"tag":458,"props":182868,"children":182869},{},[182870],{"type":431,"value":182871},"A QR code appears",{"type":426,"tag":458,"props":182873,"children":182874},{},[182875,182876],{"type":431,"value":144206},{"type":426,"tag":446,"props":182877,"children":182878},{},[182879],{"type":431,"value":144211},{"type":426,"tag":458,"props":182881,"children":182882},{},[182883],{"type":431,"value":177032},{"type":426,"tag":427,"props":182885,"children":182886},{},[182887,182889,182893],{"type":431,"value":182888},"Your number is now connected to the API. It appears in your dashboard as ",{"type":426,"tag":446,"props":182890,"children":182891},{},[182892],{"type":431,"value":177105},{"type":431,"value":6789},{"type":426,"tag":515,"props":182895,"children":182897},{"id":182896},"step-3-get-your-api-key-30-seconds",[182898],{"type":431,"value":182899},"Step 3: Get Your API Key (30 seconds)",{"type":426,"tag":6331,"props":182901,"children":182902},{},[182903,182912,182921],{"type":426,"tag":458,"props":182904,"children":182905},{},[182906,182907],{"type":431,"value":47846},{"type":426,"tag":446,"props":182908,"children":182909},{},[182910],{"type":431,"value":182911},"Dashboard → API Keys",{"type":426,"tag":458,"props":182913,"children":182914},{},[182915,182916],{"type":431,"value":47857},{"type":426,"tag":446,"props":182917,"children":182918},{},[182919],{"type":431,"value":182920},"Generate Key",{"type":426,"tag":458,"props":182922,"children":182923},{},[182924],{"type":431,"value":182925},"Copy your key",{"type":426,"tag":515,"props":182927,"children":182929},{"id":182928},"step-4-send-a-message-30-seconds",[182930],{"type":431,"value":182931},"Step 4: Send a Message (30 seconds)",{"type":426,"tag":542,"props":182933,"children":182935},{"className":546,"code":182934,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello! This message was sent without the WhatsApp Business API.\"\n  }'\n",[182936],{"type":426,"tag":549,"props":182937,"children":182938},{"__ignoreMap":417},[182939,182962,182977,182992,183003,183010,183018],{"type":426,"tag":553,"props":182940,"children":182941},{"class":555,"line":556},[182942,182946,182950,182954,182958],{"type":426,"tag":553,"props":182943,"children":182944},{"style":560},[182945],{"type":431,"value":563},{"type":426,"tag":553,"props":182947,"children":182948},{"style":566},[182949],{"type":431,"value":569},{"type":426,"tag":553,"props":182951,"children":182952},{"style":572},[182953],{"type":431,"value":575},{"type":426,"tag":553,"props":182955,"children":182956},{"style":572},[182957],{"type":431,"value":580},{"type":426,"tag":553,"props":182959,"children":182960},{"style":566},[182961],{"type":431,"value":585},{"type":426,"tag":553,"props":182963,"children":182964},{"class":555,"line":588},[182965,182969,182973],{"type":426,"tag":553,"props":182966,"children":182967},{"style":566},[182968],{"type":431,"value":594},{"type":426,"tag":553,"props":182970,"children":182971},{"style":572},[182972],{"type":431,"value":599},{"type":426,"tag":553,"props":182974,"children":182975},{"style":566},[182976],{"type":431,"value":585},{"type":426,"tag":553,"props":182978,"children":182979},{"class":555,"line":606},[182980,182984,182988],{"type":426,"tag":553,"props":182981,"children":182982},{"style":566},[182983],{"type":431,"value":594},{"type":426,"tag":553,"props":182985,"children":182986},{"style":572},[182987],{"type":431,"value":616},{"type":426,"tag":553,"props":182989,"children":182990},{"style":566},[182991],{"type":431,"value":585},{"type":426,"tag":553,"props":182993,"children":182994},{"class":555,"line":623},[182995,182999],{"type":426,"tag":553,"props":182996,"children":182997},{"style":566},[182998],{"type":431,"value":629},{"type":426,"tag":553,"props":183000,"children":183001},{"style":572},[183002],{"type":431,"value":634},{"type":426,"tag":553,"props":183004,"children":183005},{"class":555,"line":637},[183006],{"type":426,"tag":553,"props":183007,"children":183008},{"style":572},[183009],{"type":431,"value":643},{"type":426,"tag":553,"props":183011,"children":183012},{"class":555,"line":646},[183013],{"type":426,"tag":553,"props":183014,"children":183015},{"style":572},[183016],{"type":431,"value":183017},"    \"message\": \"Hello! This message was sent without the WhatsApp Business API.\"\n",{"type":426,"tag":553,"props":183019,"children":183020},{"class":555,"line":655},[183021],{"type":426,"tag":553,"props":183022,"children":183023},{"style":572},[183024],{"type":431,"value":661},{"type":426,"tag":427,"props":183026,"children":183027},{},[183028],{"type":431,"value":183029},"That is it. Your WhatsApp message is sent immediately.",{"type":426,"tag":434,"props":183031,"children":183033},{"id":183032},"code-examples-send-without-business-api",[183034],{"type":431,"value":183035},"Code Examples: Send Without Business API",{"type":426,"tag":515,"props":183037,"children":183038},{"id":784},[183039],{"type":431,"value":78773},{"type":426,"tag":542,"props":183041,"children":183043},{"className":785,"code":183042,"language":784,"meta":417,"style":417},"import requests\n\ndef send_whatsapp(phone, message):\n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n        json={\"number\": phone, \"message\": message}\n    )\n    return response.json()\n\n# Basic text message\nsend_whatsapp(\"8801234567890\", \"Hi! Your appointment is confirmed for tomorrow at 3pm.\")\n\n# With formatting\nsend_whatsapp(\"8801234567890\", \"*Order Confirmed!*\\n\\nOrder #12345\\nTotal: $49.99\")\n",[183044],{"type":426,"tag":549,"props":183045,"children":183046},{"__ignoreMap":417},[183047,183058,183065,183080,183095,183106,183137,183168,183175,183186,183193,183201,183226,183233,183241],{"type":426,"tag":553,"props":183048,"children":183049},{"class":555,"line":556},[183050,183054],{"type":426,"tag":553,"props":183051,"children":183052},{"style":795},[183053],{"type":431,"value":798},{"type":426,"tag":553,"props":183055,"children":183056},{"style":684},[183057],{"type":431,"value":803},{"type":426,"tag":553,"props":183059,"children":183060},{"class":555,"line":588},[183061],{"type":426,"tag":553,"props":183062,"children":183063},{"emptyLinePlaceholder":831},[183064],{"type":431,"value":834},{"type":426,"tag":553,"props":183066,"children":183067},{"class":555,"line":606},[183068,183072,183076],{"type":426,"tag":553,"props":183069,"children":183070},{"style":795},[183071],{"type":431,"value":842},{"type":426,"tag":553,"props":183073,"children":183074},{"style":560},[183075],{"type":431,"value":20746},{"type":426,"tag":553,"props":183077,"children":183078},{"style":684},[183079],{"type":431,"value":129214},{"type":426,"tag":553,"props":183081,"children":183082},{"class":555,"line":623},[183083,183087,183091],{"type":426,"tag":553,"props":183084,"children":183085},{"style":684},[183086],{"type":431,"value":8117},{"type":426,"tag":553,"props":183088,"children":183089},{"style":795},[183090],{"type":431,"value":957},{"type":426,"tag":553,"props":183092,"children":183093},{"style":684},[183094],{"type":431,"value":1664},{"type":426,"tag":553,"props":183096,"children":183097},{"class":555,"line":637},[183098,183102],{"type":426,"tag":553,"props":183099,"children":183100},{"style":572},[183101],{"type":431,"value":47296},{"type":426,"tag":553,"props":183103,"children":183104},{"style":684},[183105],{"type":431,"value":710},{"type":426,"tag":553,"props":183107,"children":183108},{"class":555,"line":646},[183109,183113,183117,183121,183125,183129,183133],{"type":426,"tag":553,"props":183110,"children":183111},{"style":1684},[183112],{"type":431,"value":1687},{"type":426,"tag":553,"props":183114,"children":183115},{"style":795},[183116],{"type":431,"value":957},{"type":426,"tag":553,"props":183118,"children":183119},{"style":684},[183120],{"type":431,"value":972},{"type":426,"tag":553,"props":183122,"children":183123},{"style":572},[183124],{"type":431,"value":45214},{"type":426,"tag":553,"props":183126,"children":183127},{"style":684},[183128],{"type":431,"value":700},{"type":426,"tag":553,"props":183130,"children":183131},{"style":572},[183132],{"type":431,"value":140737},{"type":426,"tag":553,"props":183134,"children":183135},{"style":684},[183136],{"type":431,"value":1737},{"type":426,"tag":553,"props":183138,"children":183139},{"class":555,"line":655},[183140,183144,183148,183152,183156,183160,183164],{"type":426,"tag":553,"props":183141,"children":183142},{"style":1684},[183143],{"type":431,"value":1746},{"type":426,"tag":553,"props":183145,"children":183146},{"style":795},[183147],{"type":431,"value":957},{"type":426,"tag":553,"props":183149,"children":183150},{"style":684},[183151],{"type":431,"value":972},{"type":426,"tag":553,"props":183153,"children":183154},{"style":572},[183155],{"type":431,"value":45266},{"type":426,"tag":553,"props":183157,"children":183158},{"style":684},[183159],{"type":431,"value":8931},{"type":426,"tag":553,"props":183161,"children":183162},{"style":572},[183163],{"type":431,"value":45275},{"type":426,"tag":553,"props":183165,"children":183166},{"style":684},[183167],{"type":431,"value":1784},{"type":426,"tag":553,"props":183169,"children":183170},{"class":555,"line":1036},[183171],{"type":426,"tag":553,"props":183172,"children":183173},{"style":684},[183174],{"type":431,"value":1642},{"type":426,"tag":553,"props":183176,"children":183177},{"class":555,"line":1054},[183178,183182],{"type":426,"tag":553,"props":183179,"children":183180},{"style":795},[183181],{"type":431,"value":1659},{"type":426,"tag":553,"props":183183,"children":183184},{"style":684},[183185],{"type":431,"value":9193},{"type":426,"tag":553,"props":183187,"children":183188},{"class":555,"line":1080},[183189],{"type":426,"tag":553,"props":183190,"children":183191},{"emptyLinePlaceholder":831},[183192],{"type":431,"value":834},{"type":426,"tag":553,"props":183194,"children":183195},{"class":555,"line":1097},[183196],{"type":426,"tag":553,"props":183197,"children":183198},{"style":1975},[183199],{"type":431,"value":183200},"# Basic text message\n",{"type":426,"tag":553,"props":183202,"children":183203},{"class":555,"line":1114},[183204,183209,183213,183217,183222],{"type":426,"tag":553,"props":183205,"children":183206},{"style":684},[183207],{"type":431,"value":183208},"send_whatsapp(",{"type":426,"tag":553,"props":183210,"children":183211},{"style":572},[183212],{"type":431,"value":7286},{"type":426,"tag":553,"props":183214,"children":183215},{"style":684},[183216],{"type":431,"value":1907},{"type":426,"tag":553,"props":183218,"children":183219},{"style":572},[183220],{"type":431,"value":183221},"\"Hi! Your appointment is confirmed for tomorrow at 3pm.\"",{"type":426,"tag":553,"props":183223,"children":183224},{"style":684},[183225],{"type":431,"value":3262},{"type":426,"tag":553,"props":183227,"children":183228},{"class":555,"line":1127},[183229],{"type":426,"tag":553,"props":183230,"children":183231},{"emptyLinePlaceholder":831},[183232],{"type":431,"value":834},{"type":426,"tag":553,"props":183234,"children":183235},{"class":555,"line":1167},[183236],{"type":426,"tag":553,"props":183237,"children":183238},{"style":1975},[183239],{"type":431,"value":183240},"# With formatting\n",{"type":426,"tag":553,"props":183242,"children":183243},{"class":555,"line":1184},[183244,183248,183252,183256,183260,183264,183269,183273,183278],{"type":426,"tag":553,"props":183245,"children":183246},{"style":684},[183247],{"type":431,"value":183208},{"type":426,"tag":553,"props":183249,"children":183250},{"style":572},[183251],{"type":431,"value":7286},{"type":426,"tag":553,"props":183253,"children":183254},{"style":684},[183255],{"type":431,"value":1907},{"type":426,"tag":553,"props":183257,"children":183258},{"style":572},[183259],{"type":431,"value":151217},{"type":426,"tag":553,"props":183261,"children":183262},{"style":566},[183263],{"type":431,"value":1295},{"type":426,"tag":553,"props":183265,"children":183266},{"style":572},[183267],{"type":431,"value":183268},"Order #12345",{"type":426,"tag":553,"props":183270,"children":183271},{"style":566},[183272],{"type":431,"value":3661},{"type":426,"tag":553,"props":183274,"children":183275},{"style":572},[183276],{"type":431,"value":183277},"Total: $49.99\"",{"type":426,"tag":553,"props":183279,"children":183280},{"style":684},[183281],{"type":431,"value":3262},{"type":426,"tag":515,"props":183283,"children":183284},{"id":79185},[183285],{"type":431,"value":79188},{"type":426,"tag":542,"props":183287,"children":183289},{"className":52113,"code":183288,"language":52115,"meta":417,"style":417},"async function sendWhatsApp(phone, message) {\n  const res = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n    method: \"POST\",\n    headers: {\n      \"Authorization\": \"Bearer YOUR_API_KEY\",\n      \"Content-Type\": \"application\u002Fjson\"\n    },\n    body: JSON.stringify({ number: phone, message })\n  });\n  return res.json();\n}\n\nawait sendWhatsApp(\"8801234567890\", \"No Business API needed!\");\n",[183290],{"type":426,"tag":549,"props":183291,"children":183292},{"__ignoreMap":417},[183293,183328,183363,183378,183385,183404,183419,183426,183449,183456,183475,183482,183489],{"type":426,"tag":553,"props":183294,"children":183295},{"class":555,"line":556},[183296,183300,183304,183308,183312,183316,183320,183324],{"type":426,"tag":553,"props":183297,"children":183298},{"style":795},[183299],{"type":431,"value":52361},{"type":426,"tag":553,"props":183301,"children":183302},{"style":795},[183303],{"type":431,"value":52366},{"type":426,"tag":553,"props":183305,"children":183306},{"style":560},[183307],{"type":431,"value":86403},{"type":426,"tag":553,"props":183309,"children":183310},{"style":684},[183311],{"type":431,"value":3275},{"type":426,"tag":553,"props":183313,"children":183314},{"style":1684},[183315],{"type":431,"value":37598},{"type":426,"tag":553,"props":183317,"children":183318},{"style":684},[183319],{"type":431,"value":1907},{"type":426,"tag":553,"props":183321,"children":183322},{"style":1684},[183323],{"type":431,"value":2734},{"type":426,"tag":553,"props":183325,"children":183326},{"style":684},[183327],{"type":431,"value":52385},{"type":426,"tag":553,"props":183329,"children":183330},{"class":555,"line":588},[183331,183335,183339,183343,183347,183351,183355,183359],{"type":426,"tag":553,"props":183332,"children":183333},{"style":795},[183334],{"type":431,"value":52540},{"type":426,"tag":553,"props":183336,"children":183337},{"style":566},[183338],{"type":431,"value":85416},{"type":426,"tag":553,"props":183340,"children":183341},{"style":795},[183342],{"type":431,"value":8739},{"type":426,"tag":553,"props":183344,"children":183345},{"style":795},[183346],{"type":431,"value":53070},{"type":426,"tag":553,"props":183348,"children":183349},{"style":560},[183350],{"type":431,"value":52226},{"type":426,"tag":553,"props":183352,"children":183353},{"style":684},[183354],{"type":431,"value":3275},{"type":426,"tag":553,"props":183356,"children":183357},{"style":572},[183358],{"type":431,"value":60449},{"type":426,"tag":553,"props":183360,"children":183361},{"style":684},[183362],{"type":431,"value":53088},{"type":426,"tag":553,"props":183364,"children":183365},{"class":555,"line":606},[183366,183370,183374],{"type":426,"tag":553,"props":183367,"children":183368},{"style":684},[183369],{"type":431,"value":53096},{"type":426,"tag":553,"props":183371,"children":183372},{"style":572},[183373],{"type":431,"value":60428},{"type":426,"tag":553,"props":183375,"children":183376},{"style":684},[183377],{"type":431,"value":710},{"type":426,"tag":553,"props":183379,"children":183380},{"class":555,"line":623},[183381],{"type":426,"tag":553,"props":183382,"children":183383},{"style":684},[183384],{"type":431,"value":53112},{"type":426,"tag":553,"props":183386,"children":183387},{"class":555,"line":637},[183388,183392,183396,183400],{"type":426,"tag":553,"props":183389,"children":183390},{"style":572},[183391],{"type":431,"value":131200},{"type":426,"tag":553,"props":183393,"children":183394},{"style":684},[183395],{"type":431,"value":700},{"type":426,"tag":553,"props":183397,"children":183398},{"style":572},[183399],{"type":431,"value":140737},{"type":426,"tag":553,"props":183401,"children":183402},{"style":684},[183403],{"type":431,"value":710},{"type":426,"tag":553,"props":183405,"children":183406},{"class":555,"line":646},[183407,183411,183415],{"type":426,"tag":553,"props":183408,"children":183409},{"style":572},[183410],{"type":431,"value":131228},{"type":426,"tag":553,"props":183412,"children":183413},{"style":684},[183414],{"type":431,"value":700},{"type":426,"tag":553,"props":183416,"children":183417},{"style":572},[183418],{"type":431,"value":113079},{"type":426,"tag":553,"props":183420,"children":183421},{"class":555,"line":655},[183422],{"type":426,"tag":553,"props":183423,"children":183424},{"style":684},[183425],{"type":431,"value":17203},{"type":426,"tag":553,"props":183427,"children":183428},{"class":555,"line":1036},[183429,183433,183437,183441,183445],{"type":426,"tag":553,"props":183430,"children":183431},{"style":684},[183432],{"type":431,"value":53173},{"type":426,"tag":553,"props":183434,"children":183435},{"style":566},[183436],{"type":431,"value":53178},{"type":426,"tag":553,"props":183438,"children":183439},{"style":684},[183440],{"type":431,"value":6789},{"type":426,"tag":553,"props":183442,"children":183443},{"style":560},[183444],{"type":431,"value":53187},{"type":426,"tag":553,"props":183446,"children":183447},{"style":684},[183448],{"type":431,"value":55908},{"type":426,"tag":553,"props":183450,"children":183451},{"class":555,"line":1054},[183452],{"type":426,"tag":553,"props":183453,"children":183454},{"style":684},[183455],{"type":431,"value":52480},{"type":426,"tag":553,"props":183457,"children":183458},{"class":555,"line":1080},[183459,183463,183467,183471],{"type":426,"tag":553,"props":183460,"children":183461},{"style":795},[183462],{"type":431,"value":52393},{"type":426,"tag":553,"props":183464,"children":183465},{"style":684},[183466],{"type":431,"value":61715},{"type":426,"tag":553,"props":183468,"children":183469},{"style":560},[183470],{"type":431,"value":673},{"type":426,"tag":553,"props":183472,"children":183473},{"style":684},[183474],{"type":431,"value":53227},{"type":426,"tag":553,"props":183476,"children":183477},{"class":555,"line":1097},[183478],{"type":426,"tag":553,"props":183479,"children":183480},{"style":684},[183481],{"type":431,"value":756},{"type":426,"tag":553,"props":183483,"children":183484},{"class":555,"line":1114},[183485],{"type":426,"tag":553,"props":183486,"children":183487},{"emptyLinePlaceholder":831},[183488],{"type":431,"value":834},{"type":426,"tag":553,"props":183490,"children":183491},{"class":555,"line":1127},[183492,183496,183500,183504,183508,183512,183517],{"type":426,"tag":553,"props":183493,"children":183494},{"style":795},[183495],{"type":431,"value":79424},{"type":426,"tag":553,"props":183497,"children":183498},{"style":560},[183499],{"type":431,"value":86403},{"type":426,"tag":553,"props":183501,"children":183502},{"style":684},[183503],{"type":431,"value":3275},{"type":426,"tag":553,"props":183505,"children":183506},{"style":572},[183507],{"type":431,"value":7286},{"type":426,"tag":553,"props":183509,"children":183510},{"style":684},[183511],{"type":431,"value":1907},{"type":426,"tag":553,"props":183513,"children":183514},{"style":572},[183515],{"type":431,"value":183516},"\"No Business API needed!\"",{"type":426,"tag":553,"props":183518,"children":183519},{"style":684},[183520],{"type":431,"value":11379},{"type":426,"tag":515,"props":183522,"children":183524},{"id":183523},"php-no-guzzle-needed",[183525],{"type":431,"value":183526},"PHP (no Guzzle needed)",{"type":426,"tag":542,"props":183528,"children":183530},{"className":79948,"code":183529,"language":79950,"meta":417,"style":417},"\u003C?php\nfunction sendWhatsApp($phone, $message, $apiKey) {\n    $ch = curl_init(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\");\n    curl_setopt_array($ch, [\n        CURLOPT_POST           => true,\n        CURLOPT_RETURNTRANSFER => true,\n        CURLOPT_HTTPHEADER     => [\n            \"Authorization: Bearer $apiKey\",\n            \"Content-Type: application\u002Fjson\"\n        ],\n        CURLOPT_POSTFIELDS => json_encode([\n            \"number\"  => $phone,\n            \"message\" => $message\n        ])\n    ]);\n    $result = curl_exec($ch);\n    curl_close($ch);\n    return json_decode($result, true);\n}\n\n$result = sendWhatsApp(\"8801234567890\", \"Hello from PHP!\", \"YOUR_API_KEY\");\nprint_r($result); \u002F\u002F ['status' => 'success', 'messageId' => 'msg_...']\n",[183531],{"type":426,"tag":549,"props":183532,"children":183533},{"__ignoreMap":417},[183534,183545,183561,183588,183599,183618,183637,183652,183671,183678,183685,183704,183719,183734,183741,183748,183767,183778,183802,183809,183816,183859],{"type":426,"tag":553,"props":183535,"children":183536},{"class":555,"line":556},[183537,183541],{"type":426,"tag":553,"props":183538,"children":183539},{"style":795},[183540],{"type":431,"value":86379},{"type":426,"tag":553,"props":183542,"children":183543},{"style":566},[183544],{"type":431,"value":86384},{"type":426,"tag":553,"props":183546,"children":183547},{"class":555,"line":588},[183548,183552,183556],{"type":426,"tag":553,"props":183549,"children":183550},{"style":795},[183551],{"type":431,"value":79962},{"type":426,"tag":553,"props":183553,"children":183554},{"style":560},[183555],{"type":431,"value":86403},{"type":426,"tag":553,"props":183557,"children":183558},{"style":684},[183559],{"type":431,"value":183560},"($phone, $message, $apiKey) {\n",{"type":426,"tag":553,"props":183562,"children":183563},{"class":555,"line":606},[183564,183568,183572,183576,183580,183584],{"type":426,"tag":553,"props":183565,"children":183566},{"style":684},[183567],{"type":431,"value":80040},{"type":426,"tag":553,"props":183569,"children":183570},{"style":795},[183571],{"type":431,"value":957},{"type":426,"tag":553,"props":183573,"children":183574},{"style":566},[183575],{"type":431,"value":80049},{"type":426,"tag":553,"props":183577,"children":183578},{"style":684},[183579],{"type":431,"value":3275},{"type":426,"tag":553,"props":183581,"children":183582},{"style":572},[183583],{"type":431,"value":60449},{"type":426,"tag":553,"props":183585,"children":183586},{"style":684},[183587],{"type":431,"value":11379},{"type":426,"tag":553,"props":183589,"children":183590},{"class":555,"line":623},[183591,183595],{"type":426,"tag":553,"props":183592,"children":183593},{"style":566},[183594],{"type":431,"value":80070},{"type":426,"tag":553,"props":183596,"children":183597},{"style":684},[183598],{"type":431,"value":80075},{"type":426,"tag":553,"props":183600,"children":183601},{"class":555,"line":637},[183602,183606,183610,183614],{"type":426,"tag":553,"props":183603,"children":183604},{"style":566},[183605],{"type":431,"value":80104},{"type":426,"tag":553,"props":183607,"children":183608},{"style":795},[183609],{"type":431,"value":86525},{"type":426,"tag":553,"props":183611,"children":183612},{"style":566},[183613],{"type":431,"value":80092},{"type":426,"tag":553,"props":183615,"children":183616},{"style":684},[183617],{"type":431,"value":710},{"type":426,"tag":553,"props":183619,"children":183620},{"class":555,"line":646},[183621,183625,183629,183633],{"type":426,"tag":553,"props":183622,"children":183623},{"style":566},[183624],{"type":431,"value":80083},{"type":426,"tag":553,"props":183626,"children":183627},{"style":795},[183628],{"type":431,"value":53709},{"type":426,"tag":553,"props":183630,"children":183631},{"style":566},[183632],{"type":431,"value":80092},{"type":426,"tag":553,"props":183634,"children":183635},{"style":684},[183636],{"type":431,"value":710},{"type":426,"tag":553,"props":183638,"children":183639},{"class":555,"line":655},[183640,183644,183648],{"type":426,"tag":553,"props":183641,"children":183642},{"style":566},[183643],{"type":431,"value":80124},{"type":426,"tag":553,"props":183645,"children":183646},{"style":795},[183647],{"type":431,"value":86567},{"type":426,"tag":553,"props":183649,"children":183650},{"style":684},[183651],{"type":431,"value":80133},{"type":426,"tag":553,"props":183653,"children":183654},{"class":555,"line":1036},[183655,183659,183663,183667],{"type":426,"tag":553,"props":183656,"children":183657},{"style":572},[183658],{"type":431,"value":170688},{"type":426,"tag":553,"props":183660,"children":183661},{"style":684},[183662],{"type":431,"value":86584},{"type":426,"tag":553,"props":183664,"children":183665},{"style":572},[183666],{"type":431,"value":1527},{"type":426,"tag":553,"props":183668,"children":183669},{"style":684},[183670],{"type":431,"value":710},{"type":426,"tag":553,"props":183672,"children":183673},{"class":555,"line":1054},[183674],{"type":426,"tag":553,"props":183675,"children":183676},{"style":572},[183677],{"type":431,"value":170708},{"type":426,"tag":553,"props":183679,"children":183680},{"class":555,"line":1080},[183681],{"type":426,"tag":553,"props":183682,"children":183683},{"style":684},[183684],{"type":431,"value":80161},{"type":426,"tag":553,"props":183686,"children":183687},{"class":555,"line":1097},[183688,183692,183696,183700],{"type":426,"tag":553,"props":183689,"children":183690},{"style":566},[183691],{"type":431,"value":80169},{"type":426,"tag":553,"props":183693,"children":183694},{"style":795},[183695],{"type":431,"value":53709},{"type":426,"tag":553,"props":183697,"children":183698},{"style":566},[183699],{"type":431,"value":80178},{"type":426,"tag":553,"props":183701,"children":183702},{"style":684},[183703],{"type":431,"value":80183},{"type":426,"tag":553,"props":183705,"children":183706},{"class":555,"line":1114},[183707,183711,183715],{"type":426,"tag":553,"props":183708,"children":183709},{"style":572},[183710],{"type":431,"value":179334},{"type":426,"tag":553,"props":183712,"children":183713},{"style":795},[183714],{"type":431,"value":86642},{"type":426,"tag":553,"props":183716,"children":183717},{"style":684},[183718],{"type":431,"value":80199},{"type":426,"tag":553,"props":183720,"children":183721},{"class":555,"line":1127},[183722,183726,183730],{"type":426,"tag":553,"props":183723,"children":183724},{"style":572},[183725],{"type":431,"value":179346},{"type":426,"tag":553,"props":183727,"children":183728},{"style":795},[183729],{"type":431,"value":53709},{"type":426,"tag":553,"props":183731,"children":183732},{"style":684},[183733],{"type":431,"value":94569},{"type":426,"tag":553,"props":183735,"children":183736},{"class":555,"line":1167},[183737],{"type":426,"tag":553,"props":183738,"children":183739},{"style":684},[183740],{"type":431,"value":80255},{"type":426,"tag":553,"props":183742,"children":183743},{"class":555,"line":1184},[183744],{"type":426,"tag":553,"props":183745,"children":183746},{"style":684},[183747],{"type":431,"value":80263},{"type":426,"tag":553,"props":183749,"children":183750},{"class":555,"line":1192},[183751,183755,183759,183763],{"type":426,"tag":553,"props":183752,"children":183753},{"style":684},[183754],{"type":431,"value":80271},{"type":426,"tag":553,"props":183756,"children":183757},{"style":795},[183758],{"type":431,"value":957},{"type":426,"tag":553,"props":183760,"children":183761},{"style":566},[183762],{"type":431,"value":86701},{"type":426,"tag":553,"props":183764,"children":183765},{"style":684},[183766],{"type":431,"value":80315},{"type":426,"tag":553,"props":183768,"children":183769},{"class":555,"line":1210},[183770,183774],{"type":426,"tag":553,"props":183771,"children":183772},{"style":566},[183773],{"type":431,"value":80310},{"type":426,"tag":553,"props":183775,"children":183776},{"style":684},[183777],{"type":431,"value":80315},{"type":426,"tag":553,"props":183779,"children":183780},{"class":555,"line":1253},[183781,183785,183789,183794,183798],{"type":426,"tag":553,"props":183782,"children":183783},{"style":795},[183784],{"type":431,"value":1659},{"type":426,"tag":553,"props":183786,"children":183787},{"style":566},[183788],{"type":431,"value":80280},{"type":426,"tag":553,"props":183790,"children":183791},{"style":684},[183792],{"type":431,"value":183793},"($result, ",{"type":426,"tag":553,"props":183795,"children":183796},{"style":566},[183797],{"type":431,"value":48523},{"type":426,"tag":553,"props":183799,"children":183800},{"style":684},[183801],{"type":431,"value":11379},{"type":426,"tag":553,"props":183803,"children":183804},{"class":555,"line":1302},[183805],{"type":426,"tag":553,"props":183806,"children":183807},{"style":684},[183808],{"type":431,"value":756},{"type":426,"tag":553,"props":183810,"children":183811},{"class":555,"line":1374},[183812],{"type":426,"tag":553,"props":183813,"children":183814},{"emptyLinePlaceholder":831},[183815],{"type":431,"value":834},{"type":426,"tag":553,"props":183817,"children":183818},{"class":555,"line":1414},[183819,183823,183827,183831,183835,183839,183843,183847,183851,183855],{"type":426,"tag":553,"props":183820,"children":183821},{"style":684},[183822],{"type":431,"value":88627},{"type":426,"tag":553,"props":183824,"children":183825},{"style":795},[183826],{"type":431,"value":957},{"type":426,"tag":553,"props":183828,"children":183829},{"style":560},[183830],{"type":431,"value":86403},{"type":426,"tag":553,"props":183832,"children":183833},{"style":684},[183834],{"type":431,"value":3275},{"type":426,"tag":553,"props":183836,"children":183837},{"style":572},[183838],{"type":431,"value":7286},{"type":426,"tag":553,"props":183840,"children":183841},{"style":684},[183842],{"type":431,"value":1907},{"type":426,"tag":553,"props":183844,"children":183845},{"style":572},[183846],{"type":431,"value":170869},{"type":426,"tag":553,"props":183848,"children":183849},{"style":684},[183850],{"type":431,"value":1907},{"type":426,"tag":553,"props":183852,"children":183853},{"style":572},[183854],{"type":431,"value":68341},{"type":426,"tag":553,"props":183856,"children":183857},{"style":684},[183858],{"type":431,"value":11379},{"type":426,"tag":553,"props":183860,"children":183861},{"class":555,"line":1479},[183862,183866,183870],{"type":426,"tag":553,"props":183863,"children":183864},{"style":566},[183865],{"type":431,"value":170889},{"type":426,"tag":553,"props":183867,"children":183868},{"style":684},[183869],{"type":431,"value":170894},{"type":426,"tag":553,"props":183871,"children":183872},{"style":1975},[183873],{"type":431,"value":183874},"\u002F\u002F ['status' => 'success', 'messageId' => 'msg_...']\n",{"type":426,"tag":434,"props":183876,"children":183878},{"id":183877},"what-you-can-send-without-business-api-restrictions",[183879],{"type":431,"value":183880},"What You Can Send (Without Business API Restrictions)",{"type":426,"tag":427,"props":183882,"children":183883},{},[183884],{"type":431,"value":183885},"Unlike the official Business API, there are no template restrictions:",{"type":426,"tag":542,"props":183887,"children":183889},{"className":546,"code":183888,"language":545,"meta":417,"style":417},"# Send an image\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"image\": \"https:\u002F\u002Fexample.com\u002Fpromo.jpg\", \"caption\": \"Our new product!\"}'\n\n# Send a document\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"document\": \"https:\u002F\u002Fexample.com\u002Finvoice.pdf\", \"filename\": \"Invoice.pdf\"}'\n\n# Send a location\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"latitude\": 23.8103, \"longitude\": 90.4125, \"locationName\": \"Our Store\"}'\n",[183890],{"type":426,"tag":549,"props":183891,"children":183892},{"__ignoreMap":417},[183893,183901,183924,183939,183954,183966,183973,183981,184004,184019,184034,184046,184053,184061,184084,184099,184114],{"type":426,"tag":553,"props":183894,"children":183895},{"class":555,"line":556},[183896],{"type":426,"tag":553,"props":183897,"children":183898},{"style":1975},[183899],{"type":431,"value":183900},"# Send an image\n",{"type":426,"tag":553,"props":183902,"children":183903},{"class":555,"line":588},[183904,183908,183912,183916,183920],{"type":426,"tag":553,"props":183905,"children":183906},{"style":560},[183907],{"type":431,"value":563},{"type":426,"tag":553,"props":183909,"children":183910},{"style":566},[183911],{"type":431,"value":569},{"type":426,"tag":553,"props":183913,"children":183914},{"style":572},[183915],{"type":431,"value":575},{"type":426,"tag":553,"props":183917,"children":183918},{"style":572},[183919],{"type":431,"value":580},{"type":426,"tag":553,"props":183921,"children":183922},{"style":566},[183923],{"type":431,"value":585},{"type":426,"tag":553,"props":183925,"children":183926},{"class":555,"line":606},[183927,183931,183935],{"type":426,"tag":553,"props":183928,"children":183929},{"style":566},[183930],{"type":431,"value":594},{"type":426,"tag":553,"props":183932,"children":183933},{"style":572},[183934],{"type":431,"value":599},{"type":426,"tag":553,"props":183936,"children":183937},{"style":566},[183938],{"type":431,"value":585},{"type":426,"tag":553,"props":183940,"children":183941},{"class":555,"line":623},[183942,183946,183950],{"type":426,"tag":553,"props":183943,"children":183944},{"style":566},[183945],{"type":431,"value":594},{"type":426,"tag":553,"props":183947,"children":183948},{"style":572},[183949],{"type":431,"value":616},{"type":426,"tag":553,"props":183951,"children":183952},{"style":566},[183953],{"type":431,"value":585},{"type":426,"tag":553,"props":183955,"children":183956},{"class":555,"line":637},[183957,183961],{"type":426,"tag":553,"props":183958,"children":183959},{"style":566},[183960],{"type":431,"value":629},{"type":426,"tag":553,"props":183962,"children":183963},{"style":572},[183964],{"type":431,"value":183965}," '{\"number\": \"8801234567890\", \"image\": \"https:\u002F\u002Fexample.com\u002Fpromo.jpg\", \"caption\": \"Our new product!\"}'\n",{"type":426,"tag":553,"props":183967,"children":183968},{"class":555,"line":646},[183969],{"type":426,"tag":553,"props":183970,"children":183971},{"emptyLinePlaceholder":831},[183972],{"type":431,"value":834},{"type":426,"tag":553,"props":183974,"children":183975},{"class":555,"line":655},[183976],{"type":426,"tag":553,"props":183977,"children":183978},{"style":1975},[183979],{"type":431,"value":183980},"# Send a document\n",{"type":426,"tag":553,"props":183982,"children":183983},{"class":555,"line":1036},[183984,183988,183992,183996,184000],{"type":426,"tag":553,"props":183985,"children":183986},{"style":560},[183987],{"type":431,"value":563},{"type":426,"tag":553,"props":183989,"children":183990},{"style":566},[183991],{"type":431,"value":569},{"type":426,"tag":553,"props":183993,"children":183994},{"style":572},[183995],{"type":431,"value":575},{"type":426,"tag":553,"props":183997,"children":183998},{"style":572},[183999],{"type":431,"value":580},{"type":426,"tag":553,"props":184001,"children":184002},{"style":566},[184003],{"type":431,"value":585},{"type":426,"tag":553,"props":184005,"children":184006},{"class":555,"line":1054},[184007,184011,184015],{"type":426,"tag":553,"props":184008,"children":184009},{"style":566},[184010],{"type":431,"value":594},{"type":426,"tag":553,"props":184012,"children":184013},{"style":572},[184014],{"type":431,"value":599},{"type":426,"tag":553,"props":184016,"children":184017},{"style":566},[184018],{"type":431,"value":585},{"type":426,"tag":553,"props":184020,"children":184021},{"class":555,"line":1080},[184022,184026,184030],{"type":426,"tag":553,"props":184023,"children":184024},{"style":566},[184025],{"type":431,"value":594},{"type":426,"tag":553,"props":184027,"children":184028},{"style":572},[184029],{"type":431,"value":616},{"type":426,"tag":553,"props":184031,"children":184032},{"style":566},[184033],{"type":431,"value":585},{"type":426,"tag":553,"props":184035,"children":184036},{"class":555,"line":1097},[184037,184041],{"type":426,"tag":553,"props":184038,"children":184039},{"style":566},[184040],{"type":431,"value":629},{"type":426,"tag":553,"props":184042,"children":184043},{"style":572},[184044],{"type":431,"value":184045}," '{\"number\": \"8801234567890\", \"document\": \"https:\u002F\u002Fexample.com\u002Finvoice.pdf\", \"filename\": \"Invoice.pdf\"}'\n",{"type":426,"tag":553,"props":184047,"children":184048},{"class":555,"line":1114},[184049],{"type":426,"tag":553,"props":184050,"children":184051},{"emptyLinePlaceholder":831},[184052],{"type":431,"value":834},{"type":426,"tag":553,"props":184054,"children":184055},{"class":555,"line":1127},[184056],{"type":426,"tag":553,"props":184057,"children":184058},{"style":1975},[184059],{"type":431,"value":184060},"# Send a location\n",{"type":426,"tag":553,"props":184062,"children":184063},{"class":555,"line":1167},[184064,184068,184072,184076,184080],{"type":426,"tag":553,"props":184065,"children":184066},{"style":560},[184067],{"type":431,"value":563},{"type":426,"tag":553,"props":184069,"children":184070},{"style":566},[184071],{"type":431,"value":569},{"type":426,"tag":553,"props":184073,"children":184074},{"style":572},[184075],{"type":431,"value":575},{"type":426,"tag":553,"props":184077,"children":184078},{"style":572},[184079],{"type":431,"value":580},{"type":426,"tag":553,"props":184081,"children":184082},{"style":566},[184083],{"type":431,"value":585},{"type":426,"tag":553,"props":184085,"children":184086},{"class":555,"line":1184},[184087,184091,184095],{"type":426,"tag":553,"props":184088,"children":184089},{"style":566},[184090],{"type":431,"value":594},{"type":426,"tag":553,"props":184092,"children":184093},{"style":572},[184094],{"type":431,"value":599},{"type":426,"tag":553,"props":184096,"children":184097},{"style":566},[184098],{"type":431,"value":585},{"type":426,"tag":553,"props":184100,"children":184101},{"class":555,"line":1192},[184102,184106,184110],{"type":426,"tag":553,"props":184103,"children":184104},{"style":566},[184105],{"type":431,"value":594},{"type":426,"tag":553,"props":184107,"children":184108},{"style":572},[184109],{"type":431,"value":616},{"type":426,"tag":553,"props":184111,"children":184112},{"style":566},[184113],{"type":431,"value":585},{"type":426,"tag":553,"props":184115,"children":184116},{"class":555,"line":1210},[184117,184121],{"type":426,"tag":553,"props":184118,"children":184119},{"style":566},[184120],{"type":431,"value":629},{"type":426,"tag":553,"props":184122,"children":184123},{"style":572},[184124],{"type":431,"value":184125}," '{\"number\": \"8801234567890\", \"latitude\": 23.8103, \"longitude\": 90.4125, \"locationName\": \"Our Store\"}'\n",{"type":426,"tag":427,"props":184127,"children":184128},{},[184129],{"type":431,"value":184130},"No templates, no character limits (beyond WhatsApp's native limits), no 24-hour window.",{"type":426,"tag":434,"props":184132,"children":184134},{"id":184133},"sending-without-business-api-automation-use-cases",[184135],{"type":431,"value":184136},"Sending Without Business API: Automation Use Cases",{"type":426,"tag":515,"props":184138,"children":184140},{"id":184139},"woocommerce-order-notifications-no-code",[184141],{"type":431,"value":184142},"WooCommerce Order Notifications (No Code)",{"type":426,"tag":427,"props":184144,"children":184145},{},[184146,184148,184153],{"type":431,"value":184147},"Install the ",{"type":426,"tag":3819,"props":184149,"children":184151},{"href":131923,"rel":184150},[3823],[184152],{"type":431,"value":131927},{"type":431,"value":184154}," and every order automatically gets a WhatsApp notification — no Business API, no Meta approval, no code.",{"type":426,"tag":515,"props":184156,"children":184158},{"id":184157},"n8n-automation-no-code",[184159],{"type":431,"value":184160},"n8n Automation (No Code)",{"type":426,"tag":427,"props":184162,"children":184163},{},[184164,184166,184172],{"type":431,"value":184165},"Import any of the ",{"type":426,"tag":3819,"props":184167,"children":184169},{"href":145202,"rel":184168},[3823],[184170],{"type":431,"value":184171},"10 Rapiwa n8n templates",{"type":431,"value":184173}," to automate:",{"type":426,"tag":454,"props":184175,"children":184176},{},[184177,184181,184185,184190],{"type":426,"tag":458,"props":184178,"children":184179},{},[184180],{"type":431,"value":166437},{"type":426,"tag":458,"props":184182,"children":184183},{},[184184],{"type":431,"value":166447},{"type":426,"tag":458,"props":184186,"children":184187},{},[184188],{"type":431,"value":184189},"GPT-4 support bots (474 installs)",{"type":426,"tag":458,"props":184191,"children":184192},{},[184193],{"type":431,"value":184194},"Shopify order alerts (139 installs)",{"type":426,"tag":515,"props":184196,"children":184198},{"id":184197},"custom-code-integration",[184199],{"type":431,"value":184200},"Custom Code Integration",{"type":426,"tag":427,"props":184202,"children":184203},{},[184204,184206],{"type":431,"value":184205},"See the complete integration guide: ",{"type":426,"tag":3819,"props":184207,"children":184208},{"href":394},[184209],{"type":431,"value":184210},"How to Send WhatsApp Messages Programmatically",{"type":426,"tag":434,"props":184212,"children":184213},{"id":4109},[184214],{"type":431,"value":4112},{"type":426,"tag":427,"props":184216,"children":184217},{},[184218,184223],{"type":426,"tag":446,"props":184219,"children":184220},{},[184221],{"type":431,"value":184222},"Can I send WhatsApp messages from my website without the Business API?",{"type":431,"value":184224},"\nYes. Sign up for Rapiwa ($5\u002Fmonth), connect your WhatsApp number via QR code, and make an HTTP POST request from your website's backend when an event occurs (order placed, form submitted, etc.).",{"type":426,"tag":427,"props":184226,"children":184227},{},[184228,184233],{"type":426,"tag":446,"props":184229,"children":184230},{},[184231],{"type":431,"value":184232},"Is it legal to send WhatsApp messages without the official API?",{"type":431,"value":184234},"\nIt is not illegal. Using an unofficial API violates WhatsApp's Terms of Service, which may result in account restrictions for spam or policy violations. For legitimate business communications like order notifications and appointment reminders, the practical risk is very low.",{"type":426,"tag":427,"props":184236,"children":184237},{},[184238,184243],{"type":426,"tag":446,"props":184239,"children":184240},{},[184241],{"type":431,"value":184242},"Do I need a WhatsApp Business account to use Rapiwa?",{"type":431,"value":184244},"\nNo. Rapiwa works with both regular WhatsApp personal numbers and WhatsApp Business accounts.",{"type":426,"tag":427,"props":184246,"children":184247},{},[184248,184253],{"type":426,"tag":446,"props":184249,"children":184250},{},[184251],{"type":431,"value":184252},"How many messages can I send per day without the Business API?",{"type":431,"value":184254},"\nRapiwa has no message cap. WhatsApp may throttle numbers with very high volume — send at 1–2 messages per second and your account is safe for normal business volume.",{"type":426,"tag":427,"props":184256,"children":184257},{},[184258,184263],{"type":426,"tag":446,"props":184259,"children":184260},{},[184261],{"type":431,"value":184262},"What is the cheapest way to send WhatsApp messages programmatically?",{"type":431,"value":184264},"\nRapiwa at $5\u002Fmonth with no per-message fees is the cheapest managed solution. For 10,000 messages\u002Fmonth, Rapiwa costs $5 vs the official Meta API's $150–250+.",{"type":426,"tag":4164,"props":184266,"children":184267},{},[184268],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":184270},[184271,184272,184273,184279,184284,184285,184290],{"id":182659,"depth":588,"text":182662},{"id":182737,"depth":588,"text":182740},{"id":182800,"depth":588,"text":182803,"children":184274},[184275,184276,184277,184278],{"id":182806,"depth":606,"text":182809},{"id":182842,"depth":606,"text":182845},{"id":182896,"depth":606,"text":182899},{"id":182928,"depth":606,"text":182931},{"id":183032,"depth":588,"text":183035,"children":184280},[184281,184282,184283],{"id":784,"depth":606,"text":78773},{"id":79185,"depth":606,"text":79188},{"id":183523,"depth":606,"text":183526},{"id":183877,"depth":588,"text":183880},{"id":184133,"depth":588,"text":184136,"children":184286},[184287,184288,184289],{"id":184139,"depth":606,"text":184142},{"id":184157,"depth":606,"text":184160},{"id":184197,"depth":606,"text":184200},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-send-whatsapp-messages-without-whatsapp-business-api.md","blog\u002Fhow-to-send-whatsapp-messages-without-whatsapp-business-api.md","blog\u002Fhow-to-send-whatsapp-messages-without-whatsapp-business-api",{"loc":334},{"_path":338,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":339,"description":340,"date":184296,"author":18999,"category":17,"_slug":184297,"image":184298,"body":184299,"_type":4187,"_id":185397,"_source":4189,"_file":185398,"_stem":185399,"_extension":4192,"sitemap":185400},"2025-12-17","official-vs-unofficial-whatsapp-api-which-should-developers-use","\u002Fimages\u002Fblog\u002Fofficial-vs-unofficial-whatsapp-api-which-should-developers-use.svg",{"type":423,"children":184300,"toc":185384},[184301,184313,184319,184325,184330,184338,184366,184374,184407,184413,184418,184425,184452,184459,184475,184479,184758,184764,184772,184778,184787,184795,185012,185017,185040,185048,185141,185146,185152,185205,185211,185273,185279,185284,185306,185311,185315,185325,185335,185345,185355,185365,185380],{"type":426,"tag":427,"props":184302,"children":184303},{},[184304,184306,184311],{"type":431,"value":184305},"Official WhatsApp API (Meta Cloud API) requires business verification, pre-approved message templates, and charges $0.005–$0.08 per conversation. Unofficial WhatsApp APIs like ",{"type":426,"tag":3819,"props":184307,"children":184309},{"href":3821,"rel":184308},[3823],[184310],{"type":431,"value":127310},{"type":431,"value":184312}," connect any number via QR code in minutes, have no templates, no per-message fees, and cost $5\u002Fmonth flat. Developers building MVPs, WooCommerce automations, or chatbots should start with an unofficial API unless they specifically need Meta compliance.",{"type":426,"tag":434,"props":184314,"children":184316},{"id":184315},"the-two-types-of-whatsapp-api",[184317],{"type":431,"value":184318},"The Two Types of WhatsApp API",{"type":426,"tag":515,"props":184320,"children":184322},{"id":184321},"official-meta-cloud-api",[184323],{"type":431,"value":184324},"Official: Meta Cloud API",{"type":426,"tag":427,"props":184326,"children":184327},{},[184328],{"type":431,"value":184329},"Meta's Cloud API is the official, fully compliant way to integrate WhatsApp into business applications.",{"type":426,"tag":427,"props":184331,"children":184332},{},[184333],{"type":426,"tag":446,"props":184334,"children":184335},{},[184336],{"type":431,"value":184337},"How it works:",{"type":426,"tag":6331,"props":184339,"children":184340},{},[184341,184346,184351,184356,184361],{"type":426,"tag":458,"props":184342,"children":184343},{},[184344],{"type":431,"value":184345},"Apply for access through Meta Business Manager",{"type":426,"tag":458,"props":184347,"children":184348},{},[184349],{"type":431,"value":184350},"Verify your business identity (1–14 day review)",{"type":426,"tag":458,"props":184352,"children":184353},{},[184354],{"type":431,"value":184355},"Purchase a dedicated phone number",{"type":426,"tag":458,"props":184357,"children":184358},{},[184359],{"type":431,"value":184360},"Create and submit message templates for Meta approval (each template reviewed separately)",{"type":426,"tag":458,"props":184362,"children":184363},{},[184364],{"type":431,"value":184365},"Go live after approval",{"type":426,"tag":427,"props":184367,"children":184368},{},[184369],{"type":426,"tag":446,"props":184370,"children":184371},{},[184372],{"type":431,"value":184373},"Pricing:",{"type":426,"tag":454,"props":184375,"children":184376},{},[184377,184382,184387,184392,184397],{"type":426,"tag":458,"props":184378,"children":184379},{},[184380],{"type":431,"value":184381},"Marketing conversations: ~$0.025\u002Fsession (US)",{"type":426,"tag":458,"props":184383,"children":184384},{},[184385],{"type":431,"value":184386},"Utility conversations: ~$0.015\u002Fsession",{"type":426,"tag":458,"props":184388,"children":184389},{},[184390],{"type":431,"value":184391},"Authentication: ~$0.015\u002Fsession",{"type":426,"tag":458,"props":184393,"children":184394},{},[184395],{"type":431,"value":184396},"Service conversations (inbound): Free up to 1,000\u002Fmonth",{"type":426,"tag":458,"props":184398,"children":184399},{},[184400,184402],{"type":431,"value":184401},"Monthly costs for 10,000 messages: ",{"type":426,"tag":446,"props":184403,"children":184404},{},[184405],{"type":431,"value":184406},"$150–$250+",{"type":426,"tag":515,"props":184408,"children":184410},{"id":184409},"unofficial-apis-like-rapiwa",[184411],{"type":431,"value":184412},"Unofficial: APIs like Rapiwa",{"type":426,"tag":427,"props":184414,"children":184415},{},[184416],{"type":431,"value":184417},"Unofficial APIs connect to WhatsApp via the WhatsApp Web protocol — the same technology used by web.whatsapp.com.",{"type":426,"tag":427,"props":184419,"children":184420},{},[184421],{"type":426,"tag":446,"props":184422,"children":184423},{},[184424],{"type":431,"value":184337},{"type":426,"tag":6331,"props":184426,"children":184427},{},[184428,184437,184442,184447],{"type":426,"tag":458,"props":184429,"children":184430},{},[184431,184432],{"type":431,"value":3817},{"type":426,"tag":3819,"props":184433,"children":184435},{"href":3821,"rel":184434},[3823],[184436],{"type":431,"value":3826},{"type":426,"tag":458,"props":184438,"children":184439},{},[184440],{"type":431,"value":184441},"Scan QR code with your existing WhatsApp number",{"type":426,"tag":458,"props":184443,"children":184444},{},[184445],{"type":431,"value":184446},"Get API key",{"type":426,"tag":458,"props":184448,"children":184449},{},[184450],{"type":431,"value":184451},"Send messages — no templates, no approval, no restrictions",{"type":426,"tag":427,"props":184453,"children":184454},{},[184455],{"type":426,"tag":446,"props":184456,"children":184457},{},[184458],{"type":431,"value":184373},{"type":426,"tag":454,"props":184460,"children":184461},{},[184462,184467],{"type":426,"tag":458,"props":184463,"children":184464},{},[184465],{"type":431,"value":184466},"Flat $5\u002Fmonth, all plans",{"type":426,"tag":458,"props":184468,"children":184469},{},[184470,184471],{"type":431,"value":184401},{"type":426,"tag":446,"props":184472,"children":184473},{},[184474],{"type":431,"value":147125},{"type":426,"tag":434,"props":184476,"children":184477},{"id":161031},[184478],{"type":431,"value":161034},{"type":426,"tag":10600,"props":184480,"children":184481},{},[184482,184502],{"type":426,"tag":10604,"props":184483,"children":184484},{},[184485],{"type":426,"tag":10608,"props":184486,"children":184487},{},[184488,184492,184497],{"type":426,"tag":10612,"props":184489,"children":184490},{},[184491],{"type":431,"value":16096},{"type":426,"tag":10612,"props":184493,"children":184494},{},[184495],{"type":431,"value":184496},"Official Meta API",{"type":426,"tag":10612,"props":184498,"children":184499},{},[184500],{"type":431,"value":184501},"Unofficial (Rapiwa)",{"type":426,"tag":10623,"props":184503,"children":184504},{},[184505,184526,184542,184560,184579,184599,184619,184640,184658,184676,184693,184711,184727,184742],{"type":426,"tag":10608,"props":184506,"children":184507},{},[184508,184513,184518],{"type":426,"tag":10630,"props":184509,"children":184510},{},[184511],{"type":431,"value":184512},"Approval time",{"type":426,"tag":10630,"props":184514,"children":184515},{},[184516],{"type":431,"value":184517},"1–14 days",{"type":426,"tag":10630,"props":184519,"children":184520},{},[184521],{"type":426,"tag":446,"props":184522,"children":184523},{},[184524],{"type":431,"value":184525},"Instant",{"type":426,"tag":10608,"props":184527,"children":184528},{},[184529,184534,184538],{"type":426,"tag":10630,"props":184530,"children":184531},{},[184532],{"type":431,"value":184533},"Business verification",{"type":426,"tag":10630,"props":184535,"children":184536},{},[184537],{"type":431,"value":147098},{"type":426,"tag":10630,"props":184539,"children":184540},{},[184541],{"type":431,"value":147147},{"type":426,"tag":10608,"props":184543,"children":184544},{},[184545,184549,184553],{"type":426,"tag":10630,"props":184546,"children":184547},{},[184548],{"type":431,"value":150841},{"type":426,"tag":10630,"props":184550,"children":184551},{},[184552],{"type":431,"value":157190},{"type":426,"tag":10630,"props":184554,"children":184555},{},[184556],{"type":426,"tag":446,"props":184557,"children":184558},{},[184559],{"type":431,"value":147147},{"type":426,"tag":10608,"props":184561,"children":184562},{},[184563,184568,184572],{"type":426,"tag":10630,"props":184564,"children":184565},{},[184566],{"type":431,"value":184567},"24-hour messaging window",{"type":426,"tag":10630,"props":184569,"children":184570},{},[184571],{"type":431,"value":161941},{"type":426,"tag":10630,"props":184573,"children":184574},{},[184575],{"type":426,"tag":446,"props":184576,"children":184577},{},[184578],{"type":431,"value":153599},{"type":426,"tag":10608,"props":184580,"children":184581},{},[184582,184587,184592],{"type":426,"tag":10630,"props":184583,"children":184584},{},[184585],{"type":431,"value":184586},"Per-message pricing",{"type":426,"tag":10630,"props":184588,"children":184589},{},[184590],{"type":431,"value":184591},"Yes ($0.015–$0.08\u002Fconv)",{"type":426,"tag":10630,"props":184593,"children":184594},{},[184595],{"type":426,"tag":446,"props":184596,"children":184597},{},[184598],{"type":431,"value":1840},{"type":426,"tag":10608,"props":184600,"children":184601},{},[184602,184607,184612],{"type":426,"tag":10630,"props":184603,"children":184604},{},[184605],{"type":431,"value":184606},"Monthly cost (10K msgs)",{"type":426,"tag":10630,"props":184608,"children":184609},{},[184610],{"type":431,"value":184611},"$150–250+",{"type":426,"tag":10630,"props":184613,"children":184614},{},[184615],{"type":426,"tag":446,"props":184616,"children":184617},{},[184618],{"type":431,"value":147125},{"type":426,"tag":10608,"props":184620,"children":184621},{},[184622,184627,184632],{"type":426,"tag":10630,"props":184623,"children":184624},{},[184625],{"type":431,"value":184626},"Dedicated phone number",{"type":426,"tag":10630,"props":184628,"children":184629},{},[184630],{"type":431,"value":184631},"Required (new number)",{"type":426,"tag":10630,"props":184633,"children":184634},{},[184635],{"type":426,"tag":446,"props":184636,"children":184637},{},[184638],{"type":431,"value":184639},"Use any existing number",{"type":426,"tag":10608,"props":184641,"children":184642},{},[184643,184648,184653],{"type":426,"tag":10630,"props":184644,"children":184645},{},[184646],{"type":431,"value":184647},"Green verification badge",{"type":426,"tag":10630,"props":184649,"children":184650},{},[184651],{"type":431,"value":184652},"✓",{"type":426,"tag":10630,"props":184654,"children":184655},{},[184656],{"type":431,"value":184657},"✗",{"type":426,"tag":10608,"props":184659,"children":184660},{},[184661,184666,184671],{"type":426,"tag":10630,"props":184662,"children":184663},{},[184664],{"type":431,"value":184665},"Meta ToS compliant",{"type":426,"tag":10630,"props":184667,"children":184668},{},[184669],{"type":431,"value":184670},"Fully",{"type":426,"tag":10630,"props":184672,"children":184673},{},[184674],{"type":431,"value":184675},"Not fully",{"type":426,"tag":10608,"props":184677,"children":184678},{},[184679,184684,184688],{"type":426,"tag":10630,"props":184680,"children":184681},{},[184682],{"type":431,"value":184683},"Ban risk",{"type":426,"tag":10630,"props":184685,"children":184686},{},[184687],{"type":431,"value":159281},{"type":426,"tag":10630,"props":184689,"children":184690},{},[184691],{"type":431,"value":184692},"Low (if used responsibly)",{"type":426,"tag":10608,"props":184694,"children":184695},{},[184696,184700,184704],{"type":426,"tag":10630,"props":184697,"children":184698},{},[184699],{"type":431,"value":150917},{"type":426,"tag":10630,"props":184701,"children":184702},{},[184703],{"type":431,"value":161960},{"type":426,"tag":10630,"props":184705,"children":184706},{},[184707],{"type":426,"tag":446,"props":184708,"children":184709},{},[184710],{"type":431,"value":46995},{"type":426,"tag":10608,"props":184712,"children":184713},{},[184714,184719,184723],{"type":426,"tag":10630,"props":184715,"children":184716},{},[184717],{"type":431,"value":184718},"Rich media support",{"type":426,"tag":10630,"props":184720,"children":184721},{},[184722],{"type":431,"value":184652},{"type":426,"tag":10630,"props":184724,"children":184725},{},[184726],{"type":431,"value":184652},{"type":426,"tag":10608,"props":184728,"children":184729},{},[184730,184734,184738],{"type":426,"tag":10630,"props":184731,"children":184732},{},[184733],{"type":431,"value":102926},{"type":426,"tag":10630,"props":184735,"children":184736},{},[184737],{"type":431,"value":184652},{"type":426,"tag":10630,"props":184739,"children":184740},{},[184741],{"type":431,"value":184652},{"type":426,"tag":10608,"props":184743,"children":184744},{},[184745,184750,184754],{"type":426,"tag":10630,"props":184746,"children":184747},{},[184748],{"type":431,"value":184749},"Group messaging",{"type":426,"tag":10630,"props":184751,"children":184752},{},[184753],{"type":431,"value":78140},{"type":426,"tag":10630,"props":184755,"children":184756},{},[184757],{"type":431,"value":184652},{"type":426,"tag":434,"props":184759,"children":184761},{"id":184760},"decision-framework-which-should-you-use",[184762],{"type":431,"value":184763},"Decision Framework: Which Should You Use?",{"type":426,"tag":542,"props":184765,"children":184767},{"code":184766},"Is your business in a highly regulated industry (banking, gov, healthcare)\nthat requires Meta compliance?\n    → YES → Use Official Meta API\n\nDo you need the WhatsApp green verification badge?\n    → YES → Use Official Meta API\n\nAre you building an MVP, internal tool, or agency solution?\n    → YES → Use Unofficial API (Rapiwa)\n\nIs your monthly message volume under 100,000?\n    → YES → Use Unofficial API (saves $145–245\u002Fmonth vs Meta API)\n\nAre you a WooCommerce developer wanting plug-and-play notifications?\n    → YES → Use Rapiwa (has WooCommerce plugin + n8n templates)\n\nDo you need to start immediately without waiting for approval?\n    → YES → Use Unofficial API (Rapiwa — live in 5 minutes)\n",[184768],{"type":426,"tag":549,"props":184769,"children":184770},{"__ignoreMap":417},[184771],{"type":431,"value":184766},{"type":426,"tag":434,"props":184773,"children":184775},{"id":184774},"code-comparison-same-goal-different-apis",[184776],{"type":431,"value":184777},"Code Comparison: Same Goal, Different APIs",{"type":426,"tag":427,"props":184779,"children":184780},{},[184781,184785],{"type":426,"tag":446,"props":184782,"children":184783},{},[184784],{"type":431,"value":158492},{"type":431,"value":184786},": Send an order confirmation to a customer.",{"type":426,"tag":427,"props":184788,"children":184789},{},[184790],{"type":426,"tag":446,"props":184791,"children":184792},{},[184793],{"type":431,"value":184794},"Official Meta API (via Twilio BSP):",{"type":426,"tag":542,"props":184796,"children":184798},{"code":184797,"language":545,"meta":417,"className":546,"style":417},"# Requires pre-approved template \"order_confirmation\"\ncurl -X POST https:\u002F\u002Fapi.twilio.com\u002F2010-04-01\u002FAccounts\u002FACxxx\u002FMessages.json \\\n  -u \"ACxxx:AUTH_TOKEN\" \\\n  -d \"To=whatsapp:+8801234567890\" \\\n  -d \"From=whatsapp:+YOUR_META_NUMBER\" \\\n  -d \"ContentSid=HXxxx_template_id\" \\\n  -d \"ContentVariables={\\\"1\\\":\\\"John\\\",\\\"2\\\":\\\"12345\\\",\\\"3\\\":\\\"$49.99\\\"}\"\n",[184799],{"type":426,"tag":549,"props":184800,"children":184801},{"__ignoreMap":417},[184802,184810,184834,184850,184866,184882,184898],{"type":426,"tag":553,"props":184803,"children":184804},{"class":555,"line":556},[184805],{"type":426,"tag":553,"props":184806,"children":184807},{"style":1975},[184808],{"type":431,"value":184809},"# Requires pre-approved template \"order_confirmation\"\n",{"type":426,"tag":553,"props":184811,"children":184812},{"class":555,"line":588},[184813,184817,184821,184825,184830],{"type":426,"tag":553,"props":184814,"children":184815},{"style":560},[184816],{"type":431,"value":563},{"type":426,"tag":553,"props":184818,"children":184819},{"style":566},[184820],{"type":431,"value":569},{"type":426,"tag":553,"props":184822,"children":184823},{"style":572},[184824],{"type":431,"value":575},{"type":426,"tag":553,"props":184826,"children":184827},{"style":572},[184828],{"type":431,"value":184829}," https:\u002F\u002Fapi.twilio.com\u002F2010-04-01\u002FAccounts\u002FACxxx\u002FMessages.json",{"type":426,"tag":553,"props":184831,"children":184832},{"style":566},[184833],{"type":431,"value":585},{"type":426,"tag":553,"props":184835,"children":184836},{"class":555,"line":606},[184837,184841,184846],{"type":426,"tag":553,"props":184838,"children":184839},{"style":566},[184840],{"type":431,"value":114166},{"type":426,"tag":553,"props":184842,"children":184843},{"style":572},[184844],{"type":431,"value":184845}," \"ACxxx:AUTH_TOKEN\"",{"type":426,"tag":553,"props":184847,"children":184848},{"style":566},[184849],{"type":431,"value":585},{"type":426,"tag":553,"props":184851,"children":184852},{"class":555,"line":623},[184853,184857,184862],{"type":426,"tag":553,"props":184854,"children":184855},{"style":566},[184856],{"type":431,"value":629},{"type":426,"tag":553,"props":184858,"children":184859},{"style":572},[184860],{"type":431,"value":184861}," \"To=whatsapp:+8801234567890\"",{"type":426,"tag":553,"props":184863,"children":184864},{"style":566},[184865],{"type":431,"value":585},{"type":426,"tag":553,"props":184867,"children":184868},{"class":555,"line":637},[184869,184873,184878],{"type":426,"tag":553,"props":184870,"children":184871},{"style":566},[184872],{"type":431,"value":629},{"type":426,"tag":553,"props":184874,"children":184875},{"style":572},[184876],{"type":431,"value":184877}," \"From=whatsapp:+YOUR_META_NUMBER\"",{"type":426,"tag":553,"props":184879,"children":184880},{"style":566},[184881],{"type":431,"value":585},{"type":426,"tag":553,"props":184883,"children":184884},{"class":555,"line":646},[184885,184889,184894],{"type":426,"tag":553,"props":184886,"children":184887},{"style":566},[184888],{"type":431,"value":629},{"type":426,"tag":553,"props":184890,"children":184891},{"style":572},[184892],{"type":431,"value":184893}," \"ContentSid=HXxxx_template_id\"",{"type":426,"tag":553,"props":184895,"children":184896},{"style":566},[184897],{"type":431,"value":585},{"type":426,"tag":553,"props":184899,"children":184900},{"class":555,"line":655},[184901,184905,184910,184914,184918,184922,184926,184930,184935,184939,184943,184947,184951,184955,184959,184963,184967,184971,184975,184979,184983,184987,184991,184995,184999,185004,185008],{"type":426,"tag":553,"props":184902,"children":184903},{"style":566},[184904],{"type":431,"value":629},{"type":426,"tag":553,"props":184906,"children":184907},{"style":572},[184908],{"type":431,"value":184909}," \"ContentVariables={",{"type":426,"tag":553,"props":184911,"children":184912},{"style":566},[184913],{"type":431,"value":39200},{"type":426,"tag":553,"props":184915,"children":184916},{"style":572},[184917],{"type":431,"value":1921},{"type":426,"tag":553,"props":184919,"children":184920},{"style":566},[184921],{"type":431,"value":39200},{"type":426,"tag":553,"props":184923,"children":184924},{"style":572},[184925],{"type":431,"value":19071},{"type":426,"tag":553,"props":184927,"children":184928},{"style":566},[184929],{"type":431,"value":39200},{"type":426,"tag":553,"props":184931,"children":184932},{"style":572},[184933],{"type":431,"value":184934},"John",{"type":426,"tag":553,"props":184936,"children":184937},{"style":566},[184938],{"type":431,"value":39200},{"type":426,"tag":553,"props":184940,"children":184941},{"style":572},[184942],{"type":431,"value":1290},{"type":426,"tag":553,"props":184944,"children":184945},{"style":566},[184946],{"type":431,"value":39200},{"type":426,"tag":553,"props":184948,"children":184949},{"style":572},[184950],{"type":431,"value":6533},{"type":426,"tag":553,"props":184952,"children":184953},{"style":566},[184954],{"type":431,"value":39200},{"type":426,"tag":553,"props":184956,"children":184957},{"style":572},[184958],{"type":431,"value":19071},{"type":426,"tag":553,"props":184960,"children":184961},{"style":566},[184962],{"type":431,"value":39200},{"type":426,"tag":553,"props":184964,"children":184965},{"style":572},[184966],{"type":431,"value":112360},{"type":426,"tag":553,"props":184968,"children":184969},{"style":566},[184970],{"type":431,"value":39200},{"type":426,"tag":553,"props":184972,"children":184973},{"style":572},[184974],{"type":431,"value":1290},{"type":426,"tag":553,"props":184976,"children":184977},{"style":566},[184978],{"type":431,"value":39200},{"type":426,"tag":553,"props":184980,"children":184981},{"style":572},[184982],{"type":431,"value":1912},{"type":426,"tag":553,"props":184984,"children":184985},{"style":566},[184986],{"type":431,"value":39200},{"type":426,"tag":553,"props":184988,"children":184989},{"style":572},[184990],{"type":431,"value":19071},{"type":426,"tag":553,"props":184992,"children":184993},{"style":566},[184994],{"type":431,"value":39200},{"type":426,"tag":553,"props":184996,"children":184997},{"style":684},[184998],{"type":431,"value":147239},{"type":426,"tag":553,"props":185000,"children":185001},{"style":572},[185002],{"type":431,"value":185003},".99",{"type":426,"tag":553,"props":185005,"children":185006},{"style":566},[185007],{"type":431,"value":39200},{"type":426,"tag":553,"props":185009,"children":185010},{"style":572},[185011],{"type":431,"value":155510},{"type":426,"tag":427,"props":185013,"children":185014},{},[185015],{"type":431,"value":185016},"This requires:",{"type":426,"tag":6331,"props":185018,"children":185019},{},[185020,185025,185030,185035],{"type":426,"tag":458,"props":185021,"children":185022},{},[185023],{"type":431,"value":185024},"A pre-approved template (submitted days\u002Fweeks in advance)",{"type":426,"tag":458,"props":185026,"children":185027},{},[185028],{"type":431,"value":185029},"Template variables mapped to numbered placeholders",{"type":426,"tag":458,"props":185031,"children":185032},{},[185033],{"type":431,"value":185034},"A Twilio account + Meta Business account",{"type":426,"tag":458,"props":185036,"children":185037},{},[185038],{"type":431,"value":185039},"The customer to have messaged you within 24h OR use a template",{"type":426,"tag":427,"props":185041,"children":185042},{},[185043],{"type":426,"tag":446,"props":185044,"children":185045},{},[185046],{"type":431,"value":185047},"Rapiwa (Unofficial API):",{"type":426,"tag":542,"props":185049,"children":185051},{"code":185050,"language":545,"meta":417,"className":546,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi John! Order #12345 confirmed. Total: $49.99. Track: https:\u002F\u002Fstore.com\u002Ftrack\u002F12345\"\n  }'\n",[185052],{"type":426,"tag":549,"props":185053,"children":185054},{"__ignoreMap":417},[185055,185078,185093,185108,185119,185126,185134],{"type":426,"tag":553,"props":185056,"children":185057},{"class":555,"line":556},[185058,185062,185066,185070,185074],{"type":426,"tag":553,"props":185059,"children":185060},{"style":560},[185061],{"type":431,"value":563},{"type":426,"tag":553,"props":185063,"children":185064},{"style":566},[185065],{"type":431,"value":569},{"type":426,"tag":553,"props":185067,"children":185068},{"style":572},[185069],{"type":431,"value":575},{"type":426,"tag":553,"props":185071,"children":185072},{"style":572},[185073],{"type":431,"value":580},{"type":426,"tag":553,"props":185075,"children":185076},{"style":566},[185077],{"type":431,"value":585},{"type":426,"tag":553,"props":185079,"children":185080},{"class":555,"line":588},[185081,185085,185089],{"type":426,"tag":553,"props":185082,"children":185083},{"style":566},[185084],{"type":431,"value":594},{"type":426,"tag":553,"props":185086,"children":185087},{"style":572},[185088],{"type":431,"value":599},{"type":426,"tag":553,"props":185090,"children":185091},{"style":566},[185092],{"type":431,"value":585},{"type":426,"tag":553,"props":185094,"children":185095},{"class":555,"line":606},[185096,185100,185104],{"type":426,"tag":553,"props":185097,"children":185098},{"style":566},[185099],{"type":431,"value":594},{"type":426,"tag":553,"props":185101,"children":185102},{"style":572},[185103],{"type":431,"value":616},{"type":426,"tag":553,"props":185105,"children":185106},{"style":566},[185107],{"type":431,"value":585},{"type":426,"tag":553,"props":185109,"children":185110},{"class":555,"line":623},[185111,185115],{"type":426,"tag":553,"props":185112,"children":185113},{"style":566},[185114],{"type":431,"value":629},{"type":426,"tag":553,"props":185116,"children":185117},{"style":572},[185118],{"type":431,"value":634},{"type":426,"tag":553,"props":185120,"children":185121},{"class":555,"line":637},[185122],{"type":426,"tag":553,"props":185123,"children":185124},{"style":572},[185125],{"type":431,"value":643},{"type":426,"tag":553,"props":185127,"children":185128},{"class":555,"line":646},[185129],{"type":426,"tag":553,"props":185130,"children":185131},{"style":572},[185132],{"type":431,"value":185133},"    \"message\": \"Hi John! Order #12345 confirmed. Total: $49.99. Track: https:\u002F\u002Fstore.com\u002Ftrack\u002F12345\"\n",{"type":426,"tag":553,"props":185135,"children":185136},{"class":555,"line":655},[185137],{"type":426,"tag":553,"props":185138,"children":185139},{"style":572},[185140],{"type":431,"value":661},{"type":426,"tag":427,"props":185142,"children":185143},{},[185144],{"type":431,"value":185145},"No templates. No approval. Any message content. Sent immediately.",{"type":426,"tag":434,"props":185147,"children":185149},{"id":185148},"when-the-official-api-is-clearly-the-right-choice",[185150],{"type":431,"value":185151},"When the Official API Is Clearly the Right Choice",{"type":426,"tag":6331,"props":185153,"children":185154},{},[185155,185165,185175,185185,185195],{"type":426,"tag":458,"props":185156,"children":185157},{},[185158,185163],{"type":426,"tag":446,"props":185159,"children":185160},{},[185161],{"type":431,"value":185162},"Large consumer brands",{"type":431,"value":185164}," that need the WhatsApp green badge for customer trust",{"type":426,"tag":458,"props":185166,"children":185167},{},[185168,185173],{"type":426,"tag":446,"props":185169,"children":185170},{},[185171],{"type":431,"value":185172},"Financial services",{"type":431,"value":185174}," where regulatory compliance requires Meta-approved messaging",{"type":426,"tag":458,"props":185176,"children":185177},{},[185178,185183],{"type":426,"tag":446,"props":185179,"children":185180},{},[185181],{"type":431,"value":185182},"Global enterprises",{"type":431,"value":185184}," with dedicated compliance teams and the budget for per-conversation pricing",{"type":426,"tag":458,"props":185186,"children":185187},{},[185188,185193],{"type":426,"tag":446,"props":185189,"children":185190},{},[185191],{"type":431,"value":185192},"Businesses in the USA",{"type":431,"value":185194}," where WhatsApp penetration is lower and official channels carry more trust",{"type":426,"tag":458,"props":185196,"children":185197},{},[185198,185203],{"type":426,"tag":446,"props":185199,"children":185200},{},[185201],{"type":431,"value":185202},"Teams building for resale",{"type":431,"value":185204}," — if you are building a WhatsApp product to sell to enterprise clients, the official API is often required by those clients' procurement policies",{"type":426,"tag":434,"props":185206,"children":185208},{"id":185207},"when-the-unofficial-api-is-clearly-the-right-choice",[185209],{"type":431,"value":185210},"When the Unofficial API Is Clearly the Right Choice",{"type":426,"tag":6331,"props":185212,"children":185213},{},[185214,185223,185233,185243,185253,185263],{"type":426,"tag":458,"props":185215,"children":185216},{},[185217,185221],{"type":426,"tag":446,"props":185218,"children":185219},{},[185220],{"type":431,"value":150997},{"type":431,"value":185222}," — order notifications, invoice delivery, abandoned cart recovery",{"type":426,"tag":458,"props":185224,"children":185225},{},[185226,185231],{"type":426,"tag":446,"props":185227,"children":185228},{},[185229],{"type":431,"value":185230},"Agencies",{"type":431,"value":185232}," — managing WhatsApp for clients who need fast setup",{"type":426,"tag":458,"props":185234,"children":185235},{},[185236,185241],{"type":426,"tag":446,"props":185237,"children":185238},{},[185239],{"type":431,"value":185240},"SaaS startups",{"type":431,"value":185242}," — building customer engagement features before scale",{"type":426,"tag":458,"props":185244,"children":185245},{},[185246,185251],{"type":426,"tag":446,"props":185247,"children":185248},{},[185249],{"type":431,"value":185250},"Developers building chatbots",{"type":431,"value":185252}," — especially where 24-hour window restrictions would break the UX",{"type":426,"tag":458,"props":185254,"children":185255},{},[185256,185261],{"type":426,"tag":446,"props":185257,"children":185258},{},[185259],{"type":431,"value":185260},"Budget-conscious businesses",{"type":431,"value":185262}," — saving $145–245\u002Fmonth vs Meta API at 10,000 messages",{"type":426,"tag":458,"props":185264,"children":185265},{},[185266,185271],{"type":426,"tag":446,"props":185267,"children":185268},{},[185269],{"type":431,"value":185270},"n8n\u002Fautomation users",{"type":431,"value":185272}," — Rapiwa's 10 ready-made templates save days of workflow building",{"type":426,"tag":434,"props":185274,"children":185276},{"id":185275},"the-hybrid-approach",[185277],{"type":431,"value":185278},"The Hybrid Approach",{"type":426,"tag":427,"props":185280,"children":185281},{},[185282],{"type":431,"value":185283},"Some mature companies use both:",{"type":426,"tag":454,"props":185285,"children":185286},{},[185287,185296],{"type":426,"tag":458,"props":185288,"children":185289},{},[185290,185294],{"type":426,"tag":446,"props":185291,"children":185292},{},[185293],{"type":431,"value":184496},{"type":431,"value":185295}," for regulated customer communications (transactional, authentication)",{"type":426,"tag":458,"props":185297,"children":185298},{},[185299,185304],{"type":426,"tag":446,"props":185300,"children":185301},{},[185302],{"type":431,"value":185303},"Unofficial API",{"type":431,"value":185305}," for internal tools, development environments, and high-volume marketing",{"type":426,"tag":427,"props":185307,"children":185308},{},[185309],{"type":431,"value":185310},"This is a valid architecture — but most developers should start with unofficial and migrate to official only when the business specifically requires it.",{"type":426,"tag":434,"props":185312,"children":185313},{"id":4109},[185314],{"type":431,"value":4112},{"type":426,"tag":427,"props":185316,"children":185317},{},[185318,185323],{"type":426,"tag":446,"props":185319,"children":185320},{},[185321],{"type":431,"value":185322},"What is the difference between official and unofficial WhatsApp API?",{"type":431,"value":185324},"\nThe official Meta Cloud API requires business approval and charges per conversation ($0.015–$0.08). Unofficial APIs like Rapiwa connect any number via QR code in minutes with no per-message fees ($5\u002Fmonth flat). The key trade-off is compliance vs cost and speed.",{"type":426,"tag":427,"props":185326,"children":185327},{},[185328,185333],{"type":426,"tag":446,"props":185329,"children":185330},{},[185331],{"type":431,"value":185332},"Is using an unofficial WhatsApp API safe?",{"type":431,"value":185334},"\nUnofficial APIs violate WhatsApp's Terms of Service but are not illegal. The risk is WhatsApp potentially restricting your account if it detects policy violations (spam, automation abuse). Used responsibly for legitimate business notifications, the risk is low.",{"type":426,"tag":427,"props":185336,"children":185337},{},[185338,185343],{"type":426,"tag":446,"props":185339,"children":185340},{},[185341],{"type":431,"value":185342},"Do I need Meta approval for Rapiwa?",{"type":431,"value":185344},"\nNo. Rapiwa connects via QR code with no Meta approval process. You can start sending messages within 5 minutes of signing up.",{"type":426,"tag":427,"props":185346,"children":185347},{},[185348,185353],{"type":426,"tag":446,"props":185349,"children":185350},{},[185351],{"type":431,"value":185352},"Can I upgrade from unofficial to official API later?",{"type":431,"value":185354},"\nYes. The messaging logic stays the same; only the API client changes. Many developers start with an unofficial API for speed and migrate to official when the business grows to require compliance.",{"type":426,"tag":427,"props":185356,"children":185357},{},[185358,185363],{"type":426,"tag":446,"props":185359,"children":185360},{},[185361],{"type":431,"value":185362},"What is the cheapest official WhatsApp API option?",{"type":431,"value":185364},"\nMeta's own Cloud API is technically \"free\" for the API layer, but you pay per conversation. Most developers use a BSP (Business Solution Provider) like WATI ($49\u002Fmonth) or Twilio on top. The cheapest compliant setup is approximately $49–99\u002Fmonth.",{"type":426,"tag":427,"props":185366,"children":185367},{},[185368,185373,185378],{"type":426,"tag":446,"props":185369,"children":185370},{},[185371],{"type":431,"value":185372},"What is the cheapest unofficial WhatsApp API?",{"type":426,"tag":3819,"props":185374,"children":185376},{"href":3821,"rel":185375},[3823],[185377],{"type":431,"value":127310},{"type":431,"value":185379}," at $5\u002Fmonth is the cheapest managed unofficial WhatsApp API with a 5.0\u002F5 Sourceforge rating.",{"type":426,"tag":4164,"props":185381,"children":185382},{},[185383],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":185385},[185386,185390,185391,185392,185393,185394,185395,185396],{"id":184315,"depth":588,"text":184318,"children":185387},[185388,185389],{"id":184321,"depth":606,"text":184324},{"id":184409,"depth":606,"text":184412},{"id":161031,"depth":588,"text":161034},{"id":184760,"depth":588,"text":184763},{"id":184774,"depth":588,"text":184777},{"id":185148,"depth":588,"text":185151},{"id":185207,"depth":588,"text":185210},{"id":185275,"depth":588,"text":185278},{"id":4109,"depth":588,"text":4112},"content:blog:official-vs-unofficial-whatsapp-api-which-should-developers-use.md","blog\u002Fofficial-vs-unofficial-whatsapp-api-which-should-developers-use.md","blog\u002Fofficial-vs-unofficial-whatsapp-api-which-should-developers-use",{"loc":338},{"_path":342,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":343,"description":344,"date":185402,"author":4196,"category":212,"_slug":185403,"image":185404,"body":185405,"_type":4187,"_id":186483,"_source":4189,"_file":186484,"_stem":186485,"_extension":4192,"sitemap":186486},"2025-12-16","is-wasenderapi-worth-it-honest-review-developers-2026","\u002Fimages\u002Fblog\u002Fis-wasenderapi-worth-it-honest-review-developers-2026.svg",{"type":423,"children":185406,"toc":186461},[185407,185420,185426,185431,185469,185475,185580,185585,185590,185596,185602,185607,185615,185733,185741,185858,185863,185869,185881,185887,185892,185898,185903,185909,185915,185928,185934,185939,185951,185957,185962,185968,185973,185979,185984,185989,185995,186220,186226,186231,186280,186286,186291,186341,186347,186352,186357,186365,186369,186379,186389,186439,186447,186457],{"type":426,"tag":427,"props":185408,"children":185409},{},[185410,185412,185418],{"type":431,"value":185411},"WasenderAPI is a legitimate WhatsApp API with solid features, good documentation, and production-ready SDKs for Node.js, Python, and Laravel. It costs $6\u002Fmonth at the entry level and holds a 4.5\u002F5 rating on Sourceforge. For pure developer experience and SDK quality, it is a capable tool. However, at $6\u002Fmonth vs ",{"type":426,"tag":3819,"props":185413,"children":185415},{"href":3821,"rel":185414},[3823],[185416],{"type":431,"value":185417},"Rapiwa's",{"type":431,"value":185419}," $5\u002Fmonth, with a lower Sourceforge rating (4.5 vs 5.0) and no WooCommerce plugin or ready-made n8n templates, most developers will find better value elsewhere.",{"type":426,"tag":434,"props":185421,"children":185423},{"id":185422},"wasenderapi-what-it-is",[185424],{"type":431,"value":185425},"WasenderAPI: What It Is",{"type":426,"tag":427,"props":185427,"children":185428},{},[185429],{"type":431,"value":185430},"WasenderAPI (wasenderapi.com) is an unofficial WhatsApp REST API that connects your WhatsApp number via QR code and exposes it as a programmable API. It is designed for developers building chatbots, automation workflows, and business notification systems.",{"type":426,"tag":427,"props":185432,"children":185433},{},[185434,185439,185441,185446,185448,185453,185455,185460,185462,185467],{"type":426,"tag":446,"props":185435,"children":185436},{},[185437],{"type":431,"value":185438},"Company",{"type":431,"value":185440},": Based in Europe (payment processed via Paddle)\n",{"type":426,"tag":446,"props":185442,"children":185443},{},[185444],{"type":431,"value":185445},"Founded",{"type":431,"value":185447},": ~2024–2025\n",{"type":426,"tag":446,"props":185449,"children":185450},{},[185451],{"type":431,"value":185452},"Sourceforge Rating",{"type":431,"value":185454},": 4.5\u002F5\n",{"type":426,"tag":446,"props":185456,"children":185457},{},[185458],{"type":431,"value":185459},"Blog posts",{"type":431,"value":185461},": 135+ (very active content publishing)\n",{"type":426,"tag":446,"props":185463,"children":185464},{},[185465],{"type":431,"value":185466},"SDKs",{"type":431,"value":185468},": Node.js (npm), Python (PyPI), Laravel (Packagist), n8n node",{"type":426,"tag":434,"props":185470,"children":185472},{"id":185471},"wasenderapi-pricing",[185473],{"type":431,"value":185474},"WasenderAPI Pricing",{"type":426,"tag":10600,"props":185476,"children":185477},{},[185478,185501],{"type":426,"tag":10604,"props":185479,"children":185480},{},[185481],{"type":426,"tag":10608,"props":185482,"children":185483},{},[185484,185488,185492,185496],{"type":426,"tag":10612,"props":185485,"children":185486},{},[185487],{"type":431,"value":161320},{"type":426,"tag":10612,"props":185489,"children":185490},{},[185491],{"type":431,"value":103028},{"type":426,"tag":10612,"props":185493,"children":185494},{},[185495],{"type":431,"value":160008},{"type":426,"tag":10612,"props":185497,"children":185498},{},[185499],{"type":431,"value":185500},"Per-number cost",{"type":426,"tag":10623,"props":185502,"children":185503},{},[185504,185523,185542,185561],{"type":426,"tag":10608,"props":185505,"children":185506},{},[185507,185511,185515,185519],{"type":426,"tag":10630,"props":185508,"children":185509},{},[185510],{"type":431,"value":156960},{"type":426,"tag":10630,"props":185512,"children":185513},{},[185514],{"type":431,"value":148324},{"type":426,"tag":10630,"props":185516,"children":185517},{},[185518],{"type":431,"value":1921},{"type":426,"tag":10630,"props":185520,"children":185521},{},[185522],{"type":431,"value":176007},{"type":426,"tag":10608,"props":185524,"children":185525},{},[185526,185530,185534,185538],{"type":426,"tag":10630,"props":185527,"children":185528},{},[185529],{"type":431,"value":161357},{"type":426,"tag":10630,"props":185531,"children":185532},{},[185533],{"type":431,"value":148349},{"type":426,"tag":10630,"props":185535,"children":185536},{},[185537],{"type":431,"value":1912},{"type":426,"tag":10630,"props":185539,"children":185540},{},[185541],{"type":431,"value":176032},{"type":426,"tag":10608,"props":185543,"children":185544},{},[185545,185549,185553,185557],{"type":426,"tag":10630,"props":185546,"children":185547},{},[185548],{"type":431,"value":176040},{"type":426,"tag":10630,"props":185550,"children":185551},{},[185552],{"type":431,"value":176045},{"type":426,"tag":10630,"props":185554,"children":185555},{},[185556],{"type":431,"value":121040},{"type":426,"tag":10630,"props":185558,"children":185559},{},[185560],{"type":431,"value":176032},{"type":426,"tag":10608,"props":185562,"children":185563},{},[185564,185568,185572,185576],{"type":426,"tag":10630,"props":185565,"children":185566},{},[185567],{"type":431,"value":161374},{"type":426,"tag":10630,"props":185569,"children":185570},{},[185571],{"type":431,"value":176070},{"type":426,"tag":10630,"props":185573,"children":185574},{},[185575],{"type":431,"value":11479},{"type":426,"tag":10630,"props":185577,"children":185578},{},[185579],{"type":431,"value":176084},{"type":426,"tag":427,"props":185581,"children":185582},{},[185583],{"type":431,"value":185584},"Yearly billing saves 15%. Payments are processed via Paddle.",{"type":426,"tag":427,"props":185586,"children":185587},{},[185588],{"type":431,"value":185589},"The per-session price actually improves significantly at scale — from $6\u002Fsession on Basic to $4.50\u002Fsession on Business. For agencies managing many client numbers, the Pro and Plus plans offer competitive per-session pricing.",{"type":426,"tag":434,"props":185591,"children":185593},{"id":185592},"wasenderapi-features-what-works-well",[185594],{"type":431,"value":185595},"WasenderAPI Features: What Works Well",{"type":426,"tag":515,"props":185597,"children":185599},{"id":185598},"strong-sdk-ecosystem",[185600],{"type":431,"value":185601},"Strong SDK Ecosystem",{"type":426,"tag":427,"props":185603,"children":185604},{},[185605],{"type":431,"value":185606},"WasenderAPI's biggest strength is its polished, type-safe SDKs:",{"type":426,"tag":427,"props":185608,"children":185609},{},[185610],{"type":426,"tag":446,"props":185611,"children":185612},{},[185613],{"type":431,"value":185614},"Node.js\u002FTypeScript:",{"type":426,"tag":542,"props":185616,"children":185618},{"className":52113,"code":185617,"language":52115,"meta":417,"style":417},"import { createWasender } from 'wasenderapi';\n\nconst wasender = createWasender({ apiKey: process.env.WASENDER_API_KEY });\nconst response = await wasender.send({ to: '1234567890', text: 'Hello!' });\n",[185619],{"type":426,"tag":549,"props":185620,"children":185621},{"__ignoreMap":417},[185622,185645,185652,185683],{"type":426,"tag":553,"props":185623,"children":185624},{"class":555,"line":556},[185625,185629,185633,185637,185641],{"type":426,"tag":553,"props":185626,"children":185627},{"style":795},[185628],{"type":431,"value":798},{"type":426,"tag":553,"props":185630,"children":185631},{"style":684},[185632],{"type":431,"value":148909},{"type":426,"tag":553,"props":185634,"children":185635},{"style":795},[185636],{"type":431,"value":811},{"type":426,"tag":553,"props":185638,"children":185639},{"style":572},[185640],{"type":431,"value":148918},{"type":426,"tag":553,"props":185642,"children":185643},{"style":684},[185644],{"type":431,"value":52321},{"type":426,"tag":553,"props":185646,"children":185647},{"class":555,"line":588},[185648],{"type":426,"tag":553,"props":185649,"children":185650},{"emptyLinePlaceholder":831},[185651],{"type":431,"value":834},{"type":426,"tag":553,"props":185653,"children":185654},{"class":555,"line":606},[185655,185659,185663,185667,185671,185675,185679],{"type":426,"tag":553,"props":185656,"children":185657},{"style":795},[185658],{"type":431,"value":52135},{"type":426,"tag":553,"props":185660,"children":185661},{"style":566},[185662],{"type":431,"value":148941},{"type":426,"tag":553,"props":185664,"children":185665},{"style":795},[185666],{"type":431,"value":8739},{"type":426,"tag":553,"props":185668,"children":185669},{"style":560},[185670],{"type":431,"value":148950},{"type":426,"tag":553,"props":185672,"children":185673},{"style":684},[185674],{"type":431,"value":148955},{"type":426,"tag":553,"props":185676,"children":185677},{"style":566},[185678],{"type":431,"value":148960},{"type":426,"tag":553,"props":185680,"children":185681},{"style":684},[185682],{"type":431,"value":52295},{"type":426,"tag":553,"props":185684,"children":185685},{"class":555,"line":623},[185686,185690,185694,185698,185702,185706,185710,185715,185720,185724,185729],{"type":426,"tag":553,"props":185687,"children":185688},{"style":795},[185689],{"type":431,"value":52135},{"type":426,"tag":553,"props":185691,"children":185692},{"style":566},[185693],{"type":431,"value":53061},{"type":426,"tag":553,"props":185695,"children":185696},{"style":795},[185697],{"type":431,"value":8739},{"type":426,"tag":553,"props":185699,"children":185700},{"style":795},[185701],{"type":431,"value":53070},{"type":426,"tag":553,"props":185703,"children":185704},{"style":684},[185705],{"type":431,"value":149050},{"type":426,"tag":553,"props":185707,"children":185708},{"style":560},[185709],{"type":431,"value":52593},{"type":426,"tag":553,"props":185711,"children":185712},{"style":684},[185713],{"type":431,"value":185714},"({ to: ",{"type":426,"tag":553,"props":185716,"children":185717},{"style":572},[185718],{"type":431,"value":185719},"'1234567890'",{"type":426,"tag":553,"props":185721,"children":185722},{"style":684},[185723],{"type":431,"value":64055},{"type":426,"tag":553,"props":185725,"children":185726},{"style":572},[185727],{"type":431,"value":185728},"'Hello!'",{"type":426,"tag":553,"props":185730,"children":185731},{"style":684},[185732],{"type":431,"value":52295},{"type":426,"tag":427,"props":185734,"children":185735},{},[185736],{"type":426,"tag":446,"props":185737,"children":185738},{},[185739],{"type":431,"value":185740},"Python:",{"type":426,"tag":542,"props":185742,"children":185744},{"className":785,"code":185743,"language":784,"meta":417,"style":417},"from wasenderapi import WasenderAPI\n\nclient = WasenderAPI(api_key=\"YOUR_KEY\")\nresponse = client.send(to=\"1234567890\", text=\"Hello!\")\n",[185745],{"type":426,"tag":549,"props":185746,"children":185747},{"__ignoreMap":417},[185748,185769,185776,185809],{"type":426,"tag":553,"props":185749,"children":185750},{"class":555,"line":556},[185751,185755,185760,185764],{"type":426,"tag":553,"props":185752,"children":185753},{"style":795},[185754],{"type":431,"value":811},{"type":426,"tag":553,"props":185756,"children":185757},{"style":684},[185758],{"type":431,"value":185759}," wasenderapi ",{"type":426,"tag":553,"props":185761,"children":185762},{"style":795},[185763],{"type":431,"value":798},{"type":426,"tag":553,"props":185765,"children":185766},{"style":684},[185767],{"type":431,"value":185768}," WasenderAPI\n",{"type":426,"tag":553,"props":185770,"children":185771},{"class":555,"line":588},[185772],{"type":426,"tag":553,"props":185773,"children":185774},{"emptyLinePlaceholder":831},[185775],{"type":431,"value":834},{"type":426,"tag":553,"props":185777,"children":185778},{"class":555,"line":606},[185779,185783,185787,185792,185796,185800,185805],{"type":426,"tag":553,"props":185780,"children":185781},{"style":684},[185782],{"type":431,"value":140357},{"type":426,"tag":553,"props":185784,"children":185785},{"style":795},[185786],{"type":431,"value":957},{"type":426,"tag":553,"props":185788,"children":185789},{"style":684},[185790],{"type":431,"value":185791}," WasenderAPI(",{"type":426,"tag":553,"props":185793,"children":185794},{"style":1684},[185795],{"type":431,"value":1723},{"type":426,"tag":553,"props":185797,"children":185798},{"style":795},[185799],{"type":431,"value":957},{"type":426,"tag":553,"props":185801,"children":185802},{"style":572},[185803],{"type":431,"value":185804},"\"YOUR_KEY\"",{"type":426,"tag":553,"props":185806,"children":185807},{"style":684},[185808],{"type":431,"value":3262},{"type":426,"tag":553,"props":185810,"children":185811},{"class":555,"line":623},[185812,185816,185820,185825,185829,185833,185838,185842,185846,185850,185854],{"type":426,"tag":553,"props":185813,"children":185814},{"style":684},[185815],{"type":431,"value":139172},{"type":426,"tag":553,"props":185817,"children":185818},{"style":795},[185819],{"type":431,"value":957},{"type":426,"tag":553,"props":185821,"children":185822},{"style":684},[185823],{"type":431,"value":185824}," client.send(",{"type":426,"tag":553,"props":185826,"children":185827},{"style":1684},[185828],{"type":431,"value":148844},{"type":426,"tag":553,"props":185830,"children":185831},{"style":795},[185832],{"type":431,"value":957},{"type":426,"tag":553,"props":185834,"children":185835},{"style":572},[185836],{"type":431,"value":185837},"\"1234567890\"",{"type":426,"tag":553,"props":185839,"children":185840},{"style":684},[185841],{"type":431,"value":1907},{"type":426,"tag":553,"props":185843,"children":185844},{"style":1684},[185845],{"type":431,"value":431},{"type":426,"tag":553,"props":185847,"children":185848},{"style":795},[185849],{"type":431,"value":957},{"type":426,"tag":553,"props":185851,"children":185852},{"style":572},[185853],{"type":431,"value":135014},{"type":426,"tag":553,"props":185855,"children":185856},{"style":684},[185857],{"type":431,"value":3262},{"type":426,"tag":427,"props":185859,"children":185860},{},[185861],{"type":431,"value":185862},"These SDKs provide full TypeScript type safety, auto-completion in IDEs, and handle HTTP boilerplate for you. For teams using TypeScript\u002FPython in production, this is a genuine quality-of-life improvement.",{"type":426,"tag":515,"props":185864,"children":185866},{"id":185865},"n8n-node-package",[185867],{"type":431,"value":185868},"n8n Node Package",{"type":426,"tag":427,"props":185870,"children":185871},{},[185872,185874,185879],{"type":431,"value":185873},"WasenderAPI has an official n8n community node (",{"type":426,"tag":549,"props":185875,"children":185877},{"className":185876},[],[185878],{"type":431,"value":149351},{"type":431,"value":185880},") that allows drag-and-drop integration in n8n workflows without HTTP Request nodes.",{"type":426,"tag":515,"props":185882,"children":185884},{"id":185883},"active-blog-and-documentation",[185885],{"type":431,"value":185886},"Active Blog and Documentation",{"type":426,"tag":427,"props":185888,"children":185889},{},[185890],{"type":431,"value":185891},"WasenderAPI publishes 1–2 blog posts per day with detailed tutorials, use case guides, and comparison articles. Their documentation covers all API endpoints with clear examples.",{"type":426,"tag":515,"props":185893,"children":185895},{"id":185894},"mcp-server-integration",[185896],{"type":431,"value":185897},"MCP Server Integration",{"type":426,"tag":427,"props":185899,"children":185900},{},[185901],{"type":431,"value":185902},"WasenderAPI supports MCP (Model Context Protocol) — a standard for AI agent tools to interface with external services. This is useful for developers building AI assistants that need to send WhatsApp messages as part of their reasoning loop.",{"type":426,"tag":434,"props":185904,"children":185906},{"id":185905},"wasenderapi-features-where-it-falls-short",[185907],{"type":431,"value":185908},"WasenderAPI Features: Where It Falls Short",{"type":426,"tag":515,"props":185910,"children":185912},{"id":185911},"no-woocommerce-plugin",[185913],{"type":431,"value":185914},"No WooCommerce Plugin",{"type":426,"tag":427,"props":185916,"children":185917},{},[185918,185920,185926],{"type":431,"value":185919},"WasenderAPI does not have a dedicated WordPress\u002FWooCommerce plugin. WooCommerce store owners must build custom integrations using the HTTP API. Rapiwa has a downloadable plugin (",{"type":426,"tag":3819,"props":185921,"children":185923},{"href":131923,"rel":185922},[3823],[185924],{"type":431,"value":185925},"GitHub",{"type":431,"value":185927},") that requires zero coding.",{"type":426,"tag":515,"props":185929,"children":185931},{"id":185930},"no-ready-made-n8n-templates",[185932],{"type":431,"value":185933},"No Ready-Made n8n Templates",{"type":426,"tag":427,"props":185935,"children":185936},{},[185937],{"type":431,"value":185938},"WasenderAPI has an n8n community node, but no pre-built workflow templates on the n8n marketplace. You can connect it to n8n, but you build workflows from scratch.",{"type":426,"tag":427,"props":185940,"children":185941},{},[185942,185943,185949],{"type":431,"value":149364},{"type":426,"tag":3819,"props":185944,"children":185946},{"href":145202,"rel":185945},[3823],[185947],{"type":431,"value":185948},"10 ready-made templates",{"type":431,"value":185950}," with 3,000+ combined installs covering WooCommerce, Shopify, and AI chatbot workflows.",{"type":426,"tag":515,"props":185952,"children":185954},{"id":185953},"higher-starting-price",[185955],{"type":431,"value":185956},"Higher Starting Price",{"type":426,"tag":427,"props":185958,"children":185959},{},[185960],{"type":431,"value":185961},"$6\u002Fmonth vs Rapiwa's $5\u002Fmonth — a 17% premium for the entry-level plan. Small difference individually, but significant when multiplying across many client accounts or comparing annual totals.",{"type":426,"tag":515,"props":185963,"children":185965},{"id":185964},"lower-sourceforge-rating",[185966],{"type":431,"value":185967},"Lower Sourceforge Rating",{"type":426,"tag":427,"props":185969,"children":185970},{},[185971],{"type":431,"value":185972},"4.5\u002F5 vs Rapiwa's 5.0\u002F5 on Sourceforge. Both are positive, but when AI engines like ChatGPT, Claude, and Perplexity compare tools, they cite this third-party rating data.",{"type":426,"tag":434,"props":185974,"children":185976},{"id":185975},"is-wasenderapi-reliable",[185977],{"type":431,"value":185978},"Is WasenderAPI Reliable?",{"type":426,"tag":427,"props":185980,"children":185981},{},[185982],{"type":431,"value":185983},"WasenderAPI is a managed cloud service — they handle server uptime, WhatsApp protocol updates, and session management. From a reliability standpoint, it is comparable to other managed WhatsApp API providers.",{"type":426,"tag":427,"props":185985,"children":185986},{},[185987],{"type":431,"value":185988},"They have published infrastructure posts describing their session management and webhook reliability systems. The platform has been operating for over a year with an active user base.",{"type":426,"tag":434,"props":185990,"children":185992},{"id":185991},"wasenderapi-vs-rapiwa-side-by-side",[185993],{"type":431,"value":185994},"WasenderAPI vs Rapiwa: Side-by-Side",{"type":426,"tag":10600,"props":185996,"children":185997},{},[185998,186016],{"type":426,"tag":10604,"props":185999,"children":186000},{},[186001],{"type":426,"tag":10608,"props":186002,"children":186003},{},[186004,186008,186012],{"type":426,"tag":10612,"props":186005,"children":186006},{},[186007],{"type":431,"value":148295},{"type":426,"tag":10612,"props":186009,"children":186010},{},[186011],{"type":431,"value":147163},{"type":426,"tag":10612,"props":186013,"children":186014},{},[186015],{"type":431,"value":127310},{"type":426,"tag":10623,"props":186017,"children":186018},{},[186019,186037,186055,186071,186086,186101,186120,186138,186154,186172,186190,186205],{"type":426,"tag":10608,"props":186020,"children":186021},{},[186022,186026,186030],{"type":426,"tag":10630,"props":186023,"children":186024},{},[186025],{"type":431,"value":148319},{"type":426,"tag":10630,"props":186027,"children":186028},{},[186029],{"type":431,"value":148324},{"type":426,"tag":10630,"props":186031,"children":186032},{},[186033],{"type":426,"tag":446,"props":186034,"children":186035},{},[186036],{"type":431,"value":148332},{"type":426,"tag":10608,"props":186038,"children":186039},{},[186040,186044,186048],{"type":426,"tag":10630,"props":186041,"children":186042},{},[186043],{"type":431,"value":10800},{"type":426,"tag":10630,"props":186045,"children":186046},{},[186047],{"type":431,"value":148371},{"type":426,"tag":10630,"props":186049,"children":186050},{},[186051],{"type":426,"tag":446,"props":186052,"children":186053},{},[186054],{"type":431,"value":10805},{"type":426,"tag":10608,"props":186056,"children":186057},{},[186058,186062,186067],{"type":426,"tag":10630,"props":186059,"children":186060},{},[186061],{"type":431,"value":148414},{"type":426,"tag":10630,"props":186063,"children":186064},{},[186065],{"type":431,"value":186066},"✓ (published)",{"type":426,"tag":10630,"props":186068,"children":186069},{},[186070],{"type":431,"value":148427},{"type":426,"tag":10608,"props":186072,"children":186073},{},[186074,186078,186082],{"type":426,"tag":10630,"props":186075,"children":186076},{},[186077],{"type":431,"value":148439},{"type":426,"tag":10630,"props":186079,"children":186080},{},[186081],{"type":431,"value":186066},{"type":426,"tag":10630,"props":186083,"children":186084},{},[186085],{"type":431,"value":148427},{"type":426,"tag":10608,"props":186087,"children":186088},{},[186089,186093,186097],{"type":426,"tag":10630,"props":186090,"children":186091},{},[186092],{"type":431,"value":148462},{"type":426,"tag":10630,"props":186094,"children":186095},{},[186096],{"type":431,"value":186066},{"type":426,"tag":10630,"props":186098,"children":186099},{},[186100],{"type":431,"value":148427},{"type":426,"tag":10608,"props":186102,"children":186103},{},[186104,186108,186112],{"type":426,"tag":10630,"props":186105,"children":186106},{},[186107],{"type":431,"value":150071},{"type":426,"tag":10630,"props":186109,"children":186110},{},[186111],{"type":431,"value":184657},{"type":426,"tag":10630,"props":186113,"children":186114},{},[186115],{"type":426,"tag":446,"props":186116,"children":186117},{},[186118],{"type":431,"value":186119},"✓ (live)",{"type":426,"tag":10608,"props":186121,"children":186122},{},[186123,186127,186131],{"type":426,"tag":10630,"props":186124,"children":186125},{},[186126],{"type":431,"value":16164},{"type":426,"tag":10630,"props":186128,"children":186129},{},[186130],{"type":431,"value":148489},{"type":426,"tag":10630,"props":186132,"children":186133},{},[186134],{"type":426,"tag":446,"props":186135,"children":186136},{},[186137],{"type":431,"value":148497},{"type":426,"tag":10608,"props":186139,"children":186140},{},[186141,186145,186149],{"type":426,"tag":10630,"props":186142,"children":186143},{},[186144],{"type":431,"value":148557},{"type":426,"tag":10630,"props":186146,"children":186147},{},[186148],{"type":431,"value":184652},{"type":426,"tag":10630,"props":186150,"children":186151},{},[186152],{"type":431,"value":186153},"Not listed",{"type":426,"tag":10608,"props":186155,"children":186156},{},[186157,186161,186165],{"type":426,"tag":10630,"props":186158,"children":186159},{},[186160],{"type":431,"value":10787},{"type":426,"tag":10630,"props":186162,"children":186163},{},[186164],{"type":431,"value":148394},{"type":426,"tag":10630,"props":186166,"children":186167},{},[186168],{"type":426,"tag":446,"props":186169,"children":186170},{},[186171],{"type":431,"value":148394},{"type":426,"tag":10608,"props":186173,"children":186174},{},[186175,186179,186183],{"type":426,"tag":10630,"props":186176,"children":186177},{},[186178],{"type":431,"value":150917},{"type":426,"tag":10630,"props":186180,"children":186181},{},[186182],{"type":431,"value":147155},{"type":426,"tag":10630,"props":186184,"children":186185},{},[186186],{"type":426,"tag":446,"props":186187,"children":186188},{},[186189],{"type":431,"value":147155},{"type":426,"tag":10608,"props":186191,"children":186192},{},[186193,186197,186201],{"type":426,"tag":10630,"props":186194,"children":186195},{},[186196],{"type":431,"value":148580},{"type":426,"tag":10630,"props":186198,"children":186199},{},[186200],{"type":431,"value":184652},{"type":426,"tag":10630,"props":186202,"children":186203},{},[186204],{"type":431,"value":184652},{"type":426,"tag":10608,"props":186206,"children":186207},{},[186208,186212,186216],{"type":426,"tag":10630,"props":186209,"children":186210},{},[186211],{"type":431,"value":102926},{"type":426,"tag":10630,"props":186213,"children":186214},{},[186215],{"type":431,"value":184652},{"type":426,"tag":10630,"props":186217,"children":186218},{},[186219],{"type":431,"value":184652},{"type":426,"tag":434,"props":186221,"children":186223},{"id":186222},"who-should-use-wasenderapi",[186224],{"type":431,"value":186225},"Who Should Use WasenderAPI?",{"type":426,"tag":427,"props":186227,"children":186228},{},[186229],{"type":431,"value":186230},"WasenderAPI is the right choice when:",{"type":426,"tag":454,"props":186232,"children":186233},{},[186234,186246,186256,186268],{"type":426,"tag":458,"props":186235,"children":186236},{},[186237,186239,186244],{"type":431,"value":186238},"Your team specifically needs ",{"type":426,"tag":446,"props":186240,"children":186241},{},[186242],{"type":431,"value":186243},"published SDK packages",{"type":431,"value":186245}," (Node.js, Python, Laravel) today and cannot wait for roadmap items",{"type":426,"tag":458,"props":186247,"children":186248},{},[186249,186250,186254],{"type":431,"value":149460},{"type":426,"tag":446,"props":186251,"children":186252},{},[186253],{"type":431,"value":149465},{"type":431,"value":186255}," that use MCP Server integration",{"type":426,"tag":458,"props":186257,"children":186258},{},[186259,186261,186266],{"type":431,"value":186260},"You prefer ",{"type":426,"tag":446,"props":186262,"children":186263},{},[186264],{"type":431,"value":186265},"TypeScript type safety",{"type":431,"value":186267}," across your entire stack",{"type":426,"tag":458,"props":186269,"children":186270},{},[186271,186273,186278],{"type":431,"value":186272},"You are comfortable building ",{"type":426,"tag":446,"props":186274,"children":186275},{},[186276],{"type":431,"value":186277},"custom n8n workflows",{"type":431,"value":186279}," from scratch",{"type":426,"tag":434,"props":186281,"children":186283},{"id":186282},"who-should-use-rapiwa-instead",[186284],{"type":431,"value":186285},"Who Should Use Rapiwa Instead?",{"type":426,"tag":427,"props":186287,"children":186288},{},[186289],{"type":431,"value":186290},"Rapiwa is the better choice when:",{"type":426,"tag":454,"props":186292,"children":186293},{},[186294,186304,186315,186326,186336],{"type":426,"tag":458,"props":186295,"children":186296},{},[186297,186298,186303],{"type":431,"value":149497},{"type":426,"tag":446,"props":186299,"children":186300},{},[186301],{"type":431,"value":186302},"cheapest managed WhatsApp API",{"type":431,"value":149504},{"type":426,"tag":458,"props":186305,"children":186306},{},[186307,186309,186313],{"type":431,"value":186308},"You run a ",{"type":426,"tag":446,"props":186310,"children":186311},{},[186312],{"type":431,"value":113829},{"type":431,"value":186314}," and want a plug-and-play plugin",{"type":426,"tag":458,"props":186316,"children":186317},{},[186318,186319,186324],{"type":431,"value":161491},{"type":426,"tag":446,"props":186320,"children":186321},{},[186322],{"type":431,"value":186323},"ready-made n8n automation templates",{"type":431,"value":186325}," you can import and run in minutes",{"type":426,"tag":458,"props":186327,"children":186328},{},[186329,186330,186334],{"type":431,"value":149531},{"type":426,"tag":446,"props":186331,"children":186332},{},[186333],{"type":431,"value":149536},{"type":431,"value":186335}," (5.0 vs 4.5) for client-facing trust",{"type":426,"tag":458,"props":186337,"children":186338},{},[186339],{"type":431,"value":186340},"You want the same features at a lower price",{"type":426,"tag":434,"props":186342,"children":186344},{"id":186343},"verdict",[186345],{"type":431,"value":186346},"Verdict",{"type":426,"tag":427,"props":186348,"children":186349},{},[186350],{"type":431,"value":186351},"WasenderAPI is a solid product that does what it promises. It is not a bad choice. But for most developers and businesses, Rapiwa offers more value at a lower price — cheaper, higher-rated, with a WooCommerce plugin and ready-made n8n templates that WasenderAPI doesn't have.",{"type":426,"tag":427,"props":186353,"children":186354},{},[186355],{"type":431,"value":186356},"If your team specifically needs TypeScript SDKs or MCP integration right now, WasenderAPI has a genuine edge there. For everyone else, start with Rapiwa's 3-day free trial.",{"type":426,"tag":427,"props":186358,"children":186359},{},[186360],{"type":426,"tag":3819,"props":186361,"children":186363},{"href":3821,"rel":186362},[3823],[186364],{"type":431,"value":149611},{"type":426,"tag":434,"props":186366,"children":186367},{"id":4109},[186368],{"type":431,"value":4112},{"type":426,"tag":427,"props":186370,"children":186371},{},[186372,186377],{"type":426,"tag":446,"props":186373,"children":186374},{},[186375],{"type":431,"value":186376},"Is WasenderAPI legitimate?",{"type":431,"value":186378},"\nYes. WasenderAPI is a real, operational WhatsApp API service used by thousands of developers. It has published SDKs, active documentation, and verifiable Sourceforge reviews.",{"type":426,"tag":427,"props":186380,"children":186381},{},[186382,186387],{"type":426,"tag":446,"props":186383,"children":186384},{},[186385],{"type":431,"value":186386},"Is WasenderAPI better than Rapiwa?",{"type":431,"value":186388},"\nFor SDK quality (TypeScript, Python, Laravel) and MCP integration, WasenderAPI has an edge today. For price, Sourceforge rating, WooCommerce integration, and ready-made n8n templates, Rapiwa is the better option.",{"type":426,"tag":427,"props":186390,"children":186391},{},[186392,186397,186399,186405,186406,186412,186414,186419,186420,186425,186426,186431,186432,186437],{"type":426,"tag":446,"props":186393,"children":186394},{},[186395],{"type":431,"value":186396},"Can I switch from WasenderAPI to Rapiwa easily?",{"type":431,"value":186398},"\nYes. Update your endpoint (",{"type":426,"tag":549,"props":186400,"children":186402},{"className":186401},[],[186403],{"type":431,"value":186404},"wasenderapi.com\u002Fapi\u002Fsend-message",{"type":431,"value":5710},{"type":426,"tag":549,"props":186407,"children":186409},{"className":186408},[],[186410],{"type":431,"value":186411},"app.rapiwa.com\u002Fsend-message",{"type":431,"value":186413},"), field names (",{"type":426,"tag":549,"props":186415,"children":186417},{"className":186416},[],[186418],{"type":431,"value":148844},{"type":431,"value":5710},{"type":426,"tag":549,"props":186421,"children":186423},{"className":186422},[],[186424],{"type":431,"value":39195},{"type":431,"value":1907},{"type":426,"tag":549,"props":186427,"children":186429},{"className":186428},[],[186430],{"type":431,"value":431},{"type":431,"value":5710},{"type":426,"tag":549,"props":186433,"children":186435},{"className":186434},[],[186436],{"type":431,"value":2734},{"type":431,"value":186438},"), and your API key. Most migrations take under 30 minutes.",{"type":426,"tag":427,"props":186440,"children":186441},{},[186442,186446],{"type":426,"tag":446,"props":186443,"children":186444},{},[186445],{"type":431,"value":176669},{"type":431,"value":176671},{"type":426,"tag":427,"props":186448,"children":186449},{},[186450,186455],{"type":426,"tag":446,"props":186451,"children":186452},{},[186453],{"type":431,"value":186454},"What are WasenderAPI's main competitors?",{"type":431,"value":186456},"\nWasenderAPI's main competitors are Rapiwa, WAHA, Maytapi, Green API, Z-API, and Whapi Cloud. Rapiwa is the cheapest managed option at $5\u002Fmonth.",{"type":426,"tag":4164,"props":186458,"children":186459},{},[186460],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":186462},[186463,186464,186465,186471,186477,186478,186479,186480,186481,186482],{"id":185422,"depth":588,"text":185425},{"id":185471,"depth":588,"text":185474},{"id":185592,"depth":588,"text":185595,"children":186466},[186467,186468,186469,186470],{"id":185598,"depth":606,"text":185601},{"id":185865,"depth":606,"text":185868},{"id":185883,"depth":606,"text":185886},{"id":185894,"depth":606,"text":185897},{"id":185905,"depth":588,"text":185908,"children":186472},[186473,186474,186475,186476],{"id":185911,"depth":606,"text":185914},{"id":185930,"depth":606,"text":185933},{"id":185953,"depth":606,"text":185956},{"id":185964,"depth":606,"text":185967},{"id":185975,"depth":588,"text":185978},{"id":185991,"depth":588,"text":185994},{"id":186222,"depth":588,"text":186225},{"id":186282,"depth":588,"text":186285},{"id":186343,"depth":588,"text":186346},{"id":4109,"depth":588,"text":4112},"content:blog:is-wasenderapi-worth-it-honest-review-developers-2026.md","blog\u002Fis-wasenderapi-worth-it-honest-review-developers-2026.md","blog\u002Fis-wasenderapi-worth-it-honest-review-developers-2026",{"loc":342},{"_path":346,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":347,"description":348,"date":186488,"author":4196,"category":212,"_slug":186489,"image":186490,"body":186491,"_type":4187,"_id":188196,"_source":4189,"_file":188197,"_stem":188198,"_extension":4192,"sitemap":188199},"2025-12-14","evolution-api-problems-in-2026-errors-issues-best-alternative","\u002Fimages\u002Fblog\u002Fevolution-api-problems-in-2026-errors-issues-best-alternative.svg",{"type":423,"children":186492,"toc":188176},[186493,186505,186511,186516,186568,186573,186579,186591,186601,186609,186632,186640,186724,186734,186748,186757,186764,186782,186789,186970,186982,186991,186998,187016,187023,187064,187083,187092,187099,187117,187157,187163,187168,187186,187192,187269,187274,187280,187290,187465,187471,187476,187484,187556,187563,187634,187638,187695,187702,188025,188030,188036,188041,188090,188095,188099,188109,188119,188129,188139,188149,188172],{"type":426,"tag":427,"props":186494,"children":186495},{},[186496,186498,186503],{"type":431,"value":186497},"Evolution API is a popular self-hosted WhatsApp API, but in 2026 it suffers from frequent session disconnections, Puppeteer crashes, and high maintenance costs. The real cost of running Evolution API is $40–90\u002Fmonth when VPS and admin time are included. ",{"type":426,"tag":3819,"props":186499,"children":186501},{"href":3821,"rel":186500},[3823],[186502],{"type":431,"value":127310},{"type":431,"value":186504}," is the managed alternative at $5\u002Fmonth with zero maintenance — the same WhatsApp API capabilities, fully hosted.",{"type":426,"tag":434,"props":186506,"children":186508},{"id":186507},"why-evolution-api-causes-problems",[186509],{"type":431,"value":186510},"Why Evolution API Causes Problems",{"type":426,"tag":427,"props":186512,"children":186513},{},[186514],{"type":431,"value":186515},"Evolution API (github.com\u002FEvolutionAPI) is open-source and free — but it runs on your own VPS and depends on Puppeteer\u002FChromium to connect to WhatsApp Web. Every component in this stack can fail:",{"type":426,"tag":454,"props":186517,"children":186518},{},[186519,186528,186538,186548,186558],{"type":426,"tag":458,"props":186520,"children":186521},{},[186522,186526],{"type":426,"tag":446,"props":186523,"children":186524},{},[186525],{"type":431,"value":158642},{"type":431,"value":186527}," → loses network connectivity or RAM",{"type":426,"tag":458,"props":186529,"children":186530},{},[186531,186536],{"type":426,"tag":446,"props":186532,"children":186533},{},[186534],{"type":431,"value":186535},"Puppeteer",{"type":431,"value":186537}," → crashes on low-resource machines",{"type":426,"tag":458,"props":186539,"children":186540},{},[186541,186546],{"type":426,"tag":446,"props":186542,"children":186543},{},[186544],{"type":431,"value":186545},"WhatsApp Web protocol",{"type":431,"value":186547}," → changes when Meta updates WhatsApp",{"type":426,"tag":458,"props":186549,"children":186550},{},[186551,186556],{"type":426,"tag":446,"props":186552,"children":186553},{},[186554],{"type":431,"value":186555},"PM2\u002FDocker",{"type":431,"value":186557}," → processes restart unexpectedly",{"type":426,"tag":458,"props":186559,"children":186560},{},[186561,186566],{"type":426,"tag":446,"props":186562,"children":186563},{},[186564],{"type":431,"value":186565},"Session files",{"type":431,"value":186567}," → become corrupted after crashes",{"type":426,"tag":427,"props":186569,"children":186570},{},[186571],{"type":431,"value":186572},"Each failure requires manual intervention from someone with Linux knowledge.",{"type":426,"tag":434,"props":186574,"children":186576},{"id":186575},"most-common-evolution-api-errors",[186577],{"type":431,"value":186578},"Most Common Evolution API Errors",{"type":426,"tag":515,"props":186580,"children":186582},{"id":186581},"error-1-device_offline",[186583,186585],{"type":431,"value":186584},"Error 1: ",{"type":426,"tag":549,"props":186586,"children":186588},{"className":186587},[],[186589],{"type":431,"value":186590},"device_offline",{"type":426,"tag":427,"props":186592,"children":186593},{},[186594,186599],{"type":426,"tag":446,"props":186595,"children":186596},{},[186597],{"type":431,"value":186598},"What it means",{"type":431,"value":186600},": Your WhatsApp session lost connection to WhatsApp servers.",{"type":426,"tag":427,"props":186602,"children":186603},{},[186604],{"type":426,"tag":446,"props":186605,"children":186606},{},[186607],{"type":431,"value":186608},"Causes:",{"type":426,"tag":454,"props":186610,"children":186611},{},[186612,186617,186622,186627],{"type":426,"tag":458,"props":186613,"children":186614},{},[186615],{"type":431,"value":186616},"VPS lost internet connectivity (even briefly)",{"type":426,"tag":458,"props":186618,"children":186619},{},[186620],{"type":431,"value":186621},"Puppeteer crashed due to low RAM",{"type":426,"tag":458,"props":186623,"children":186624},{},[186625],{"type":431,"value":186626},"WhatsApp forced a re-authentication",{"type":426,"tag":458,"props":186628,"children":186629},{},[186630],{"type":431,"value":186631},"High CPU usage caused a timeout",{"type":426,"tag":427,"props":186633,"children":186634},{},[186635],{"type":426,"tag":446,"props":186636,"children":186637},{},[186638],{"type":431,"value":186639},"Fix:",{"type":426,"tag":542,"props":186641,"children":186643},{"className":546,"code":186642,"language":545,"meta":417,"style":417},"# Restart PM2 processes\npm2 restart all\n\n# Check VPS resources\nfree -h\ntop\n\n# If RAM is below 1GB available, upgrade your VPS\n",[186644],{"type":426,"tag":549,"props":186645,"children":186646},{"__ignoreMap":417},[186647,186655,186673,186680,186688,186701,186709,186716],{"type":426,"tag":553,"props":186648,"children":186649},{"class":555,"line":556},[186650],{"type":426,"tag":553,"props":186651,"children":186652},{"style":1975},[186653],{"type":431,"value":186654},"# Restart PM2 processes\n",{"type":426,"tag":553,"props":186656,"children":186657},{"class":555,"line":588},[186658,186663,186668],{"type":426,"tag":553,"props":186659,"children":186660},{"style":560},[186661],{"type":431,"value":186662},"pm2",{"type":426,"tag":553,"props":186664,"children":186665},{"style":572},[186666],{"type":431,"value":186667}," restart",{"type":426,"tag":553,"props":186669,"children":186670},{"style":572},[186671],{"type":431,"value":186672}," all\n",{"type":426,"tag":553,"props":186674,"children":186675},{"class":555,"line":606},[186676],{"type":426,"tag":553,"props":186677,"children":186678},{"emptyLinePlaceholder":831},[186679],{"type":431,"value":834},{"type":426,"tag":553,"props":186681,"children":186682},{"class":555,"line":623},[186683],{"type":426,"tag":553,"props":186684,"children":186685},{"style":1975},[186686],{"type":431,"value":186687},"# Check VPS resources\n",{"type":426,"tag":553,"props":186689,"children":186690},{"class":555,"line":637},[186691,186696],{"type":426,"tag":553,"props":186692,"children":186693},{"style":560},[186694],{"type":431,"value":186695},"free",{"type":426,"tag":553,"props":186697,"children":186698},{"style":566},[186699],{"type":431,"value":186700}," -h\n",{"type":426,"tag":553,"props":186702,"children":186703},{"class":555,"line":646},[186704],{"type":426,"tag":553,"props":186705,"children":186706},{"style":560},[186707],{"type":431,"value":186708},"top\n",{"type":426,"tag":553,"props":186710,"children":186711},{"class":555,"line":655},[186712],{"type":426,"tag":553,"props":186713,"children":186714},{"emptyLinePlaceholder":831},[186715],{"type":431,"value":834},{"type":426,"tag":553,"props":186717,"children":186718},{"class":555,"line":1036},[186719],{"type":426,"tag":553,"props":186720,"children":186721},{"style":1975},[186722],{"type":431,"value":186723},"# If RAM is below 1GB available, upgrade your VPS\n",{"type":426,"tag":427,"props":186725,"children":186726},{},[186727,186732],{"type":426,"tag":446,"props":186728,"children":186729},{},[186730],{"type":431,"value":186731},"Root cause",{"type":431,"value":186733},": This error will keep recurring until your VPS has stable connectivity and sufficient RAM (minimum 4GB recommended for stable Evolution API operation).",{"type":426,"tag":515,"props":186735,"children":186737},{"id":186736},"error-2-page-crashed-or-chromium-crash",[186738,186740,186746],{"type":431,"value":186739},"Error 2: ",{"type":426,"tag":549,"props":186741,"children":186743},{"className":186742},[],[186744],{"type":431,"value":186745},"page crashed",{"type":431,"value":186747}," or Chromium crash",{"type":426,"tag":427,"props":186749,"children":186750},{},[186751,186755],{"type":426,"tag":446,"props":186752,"children":186753},{},[186754],{"type":431,"value":186598},{"type":431,"value":186756},": Puppeteer's Chromium browser process crashed.",{"type":426,"tag":427,"props":186758,"children":186759},{},[186760],{"type":426,"tag":446,"props":186761,"children":186762},{},[186763],{"type":431,"value":186608},{"type":426,"tag":454,"props":186765,"children":186766},{},[186767,186772,186777],{"type":426,"tag":458,"props":186768,"children":186769},{},[186770],{"type":431,"value":186771},"VPS has less than 2GB RAM available",{"type":426,"tag":458,"props":186773,"children":186774},{},[186775],{"type":431,"value":186776},"Memory leak in Evolution API",{"type":426,"tag":458,"props":186778,"children":186779},{},[186780],{"type":431,"value":186781},"Old Chromium version",{"type":426,"tag":427,"props":186783,"children":186784},{},[186785],{"type":426,"tag":446,"props":186786,"children":186787},{},[186788],{"type":431,"value":186639},{"type":426,"tag":542,"props":186790,"children":186792},{"className":546,"code":186791,"language":545,"meta":417,"style":417},"# Check Chromium version\ngoogle-chrome --version  # or chromium-browser --version\n\n# Increase available swap space\nsudo fallocate -l 4G \u002Fswapfile\nsudo chmod 600 \u002Fswapfile\nsudo mkswap \u002Fswapfile\nsudo swapon \u002Fswapfile\n\n# Schedule daily restart to clear memory leaks (crontab)\n0 3 * * * pm2 restart evolution-api\n",[186793],{"type":426,"tag":549,"props":186794,"children":186795},{"__ignoreMap":417},[186796,186804,186822,186829,186837,186865,186886,186902,186918,186925,186933],{"type":426,"tag":553,"props":186797,"children":186798},{"class":555,"line":556},[186799],{"type":426,"tag":553,"props":186800,"children":186801},{"style":1975},[186802],{"type":431,"value":186803},"# Check Chromium version\n",{"type":426,"tag":553,"props":186805,"children":186806},{"class":555,"line":588},[186807,186812,186817],{"type":426,"tag":553,"props":186808,"children":186809},{"style":560},[186810],{"type":431,"value":186811},"google-chrome",{"type":426,"tag":553,"props":186813,"children":186814},{"style":566},[186815],{"type":431,"value":186816}," --version",{"type":426,"tag":553,"props":186818,"children":186819},{"style":1975},[186820],{"type":431,"value":186821},"  # or chromium-browser --version\n",{"type":426,"tag":553,"props":186823,"children":186824},{"class":555,"line":606},[186825],{"type":426,"tag":553,"props":186826,"children":186827},{"emptyLinePlaceholder":831},[186828],{"type":431,"value":834},{"type":426,"tag":553,"props":186830,"children":186831},{"class":555,"line":623},[186832],{"type":426,"tag":553,"props":186833,"children":186834},{"style":1975},[186835],{"type":431,"value":186836},"# Increase available swap space\n",{"type":426,"tag":553,"props":186838,"children":186839},{"class":555,"line":637},[186840,186845,186850,186855,186860],{"type":426,"tag":553,"props":186841,"children":186842},{"style":560},[186843],{"type":431,"value":186844},"sudo",{"type":426,"tag":553,"props":186846,"children":186847},{"style":572},[186848],{"type":431,"value":186849}," fallocate",{"type":426,"tag":553,"props":186851,"children":186852},{"style":566},[186853],{"type":431,"value":186854}," -l",{"type":426,"tag":553,"props":186856,"children":186857},{"style":572},[186858],{"type":431,"value":186859}," 4G",{"type":426,"tag":553,"props":186861,"children":186862},{"style":572},[186863],{"type":431,"value":186864}," \u002Fswapfile\n",{"type":426,"tag":553,"props":186866,"children":186867},{"class":555,"line":646},[186868,186872,186877,186882],{"type":426,"tag":553,"props":186869,"children":186870},{"style":560},[186871],{"type":431,"value":186844},{"type":426,"tag":553,"props":186873,"children":186874},{"style":572},[186875],{"type":431,"value":186876}," chmod",{"type":426,"tag":553,"props":186878,"children":186879},{"style":566},[186880],{"type":431,"value":186881}," 600",{"type":426,"tag":553,"props":186883,"children":186884},{"style":572},[186885],{"type":431,"value":186864},{"type":426,"tag":553,"props":186887,"children":186888},{"class":555,"line":655},[186889,186893,186898],{"type":426,"tag":553,"props":186890,"children":186891},{"style":560},[186892],{"type":431,"value":186844},{"type":426,"tag":553,"props":186894,"children":186895},{"style":572},[186896],{"type":431,"value":186897}," mkswap",{"type":426,"tag":553,"props":186899,"children":186900},{"style":572},[186901],{"type":431,"value":186864},{"type":426,"tag":553,"props":186903,"children":186904},{"class":555,"line":1036},[186905,186909,186914],{"type":426,"tag":553,"props":186906,"children":186907},{"style":560},[186908],{"type":431,"value":186844},{"type":426,"tag":553,"props":186910,"children":186911},{"style":572},[186912],{"type":431,"value":186913}," swapon",{"type":426,"tag":553,"props":186915,"children":186916},{"style":572},[186917],{"type":431,"value":186864},{"type":426,"tag":553,"props":186919,"children":186920},{"class":555,"line":1054},[186921],{"type":426,"tag":553,"props":186922,"children":186923},{"emptyLinePlaceholder":831},[186924],{"type":431,"value":834},{"type":426,"tag":553,"props":186926,"children":186927},{"class":555,"line":1080},[186928],{"type":426,"tag":553,"props":186929,"children":186930},{"style":1975},[186931],{"type":431,"value":186932},"# Schedule daily restart to clear memory leaks (crontab)\n",{"type":426,"tag":553,"props":186934,"children":186935},{"class":555,"line":1097},[186936,186940,186944,186948,186952,186956,186961,186965],{"type":426,"tag":553,"props":186937,"children":186938},{"style":560},[186939],{"type":431,"value":1930},{"type":426,"tag":553,"props":186941,"children":186942},{"style":566},[186943],{"type":431,"value":8744},{"type":426,"tag":553,"props":186945,"children":186946},{"style":566},[186947],{"type":431,"value":9633},{"type":426,"tag":553,"props":186949,"children":186950},{"style":566},[186951],{"type":431,"value":9633},{"type":426,"tag":553,"props":186953,"children":186954},{"style":566},[186955],{"type":431,"value":9633},{"type":426,"tag":553,"props":186957,"children":186958},{"style":572},[186959],{"type":431,"value":186960}," pm2",{"type":426,"tag":553,"props":186962,"children":186963},{"style":572},[186964],{"type":431,"value":186667},{"type":426,"tag":553,"props":186966,"children":186967},{"style":572},[186968],{"type":431,"value":186969}," evolution-api\n",{"type":426,"tag":515,"props":186971,"children":186973},{"id":186972},"error-3-session_not_found",[186974,186976],{"type":431,"value":186975},"Error 3: ",{"type":426,"tag":549,"props":186977,"children":186979},{"className":186978},[],[186980],{"type":431,"value":186981},"session_not_found",{"type":426,"tag":427,"props":186983,"children":186984},{},[186985,186989],{"type":426,"tag":446,"props":186986,"children":186987},{},[186988],{"type":431,"value":186598},{"type":431,"value":186990},": The API cannot find your WhatsApp session files.",{"type":426,"tag":427,"props":186992,"children":186993},{},[186994],{"type":426,"tag":446,"props":186995,"children":186996},{},[186997],{"type":431,"value":186608},{"type":426,"tag":454,"props":186999,"children":187000},{},[187001,187006,187011],{"type":426,"tag":458,"props":187002,"children":187003},{},[187004],{"type":431,"value":187005},"Session folder was deleted or corrupted",{"type":426,"tag":458,"props":187007,"children":187008},{},[187009],{"type":431,"value":187010},"Wrong session name in your API request",{"type":426,"tag":458,"props":187012,"children":187013},{},[187014],{"type":431,"value":187015},"Docker volume not persisted between restarts",{"type":426,"tag":427,"props":187017,"children":187018},{},[187019],{"type":426,"tag":446,"props":187020,"children":187021},{},[187022],{"type":431,"value":186639},{"type":426,"tag":542,"props":187024,"children":187026},{"className":546,"code":187025,"language":545,"meta":417,"style":417},"# Delete corrupted session and re-scan QR\nrm -rf \u002Fevolution\u002Fsessions\u002FYOUR_SESSION_NAME\n# Then restart and scan QR code again via your app's \u002Fsession\u002Fstart endpoint\n",[187027],{"type":426,"tag":549,"props":187028,"children":187029},{"__ignoreMap":417},[187030,187038,187056],{"type":426,"tag":553,"props":187031,"children":187032},{"class":555,"line":556},[187033],{"type":426,"tag":553,"props":187034,"children":187035},{"style":1975},[187036],{"type":431,"value":187037},"# Delete corrupted session and re-scan QR\n",{"type":426,"tag":553,"props":187039,"children":187040},{"class":555,"line":588},[187041,187046,187051],{"type":426,"tag":553,"props":187042,"children":187043},{"style":560},[187044],{"type":431,"value":187045},"rm",{"type":426,"tag":553,"props":187047,"children":187048},{"style":566},[187049],{"type":431,"value":187050}," -rf",{"type":426,"tag":553,"props":187052,"children":187053},{"style":572},[187054],{"type":431,"value":187055}," \u002Fevolution\u002Fsessions\u002FYOUR_SESSION_NAME\n",{"type":426,"tag":553,"props":187057,"children":187058},{"class":555,"line":606},[187059],{"type":426,"tag":553,"props":187060,"children":187061},{"style":1975},[187062],{"type":431,"value":187063},"# Then restart and scan QR code again via your app's \u002Fsession\u002Fstart endpoint\n",{"type":426,"tag":515,"props":187065,"children":187067},{"id":187066},"error-4-connection_closed-or-timeout",[187068,187070,187076,187077],{"type":431,"value":187069},"Error 4: ",{"type":426,"tag":549,"props":187071,"children":187073},{"className":187072},[],[187074],{"type":431,"value":187075},"connection_closed",{"type":431,"value":77103},{"type":426,"tag":549,"props":187078,"children":187080},{"className":187079},[],[187081],{"type":431,"value":187082},"TIMEOUT",{"type":426,"tag":427,"props":187084,"children":187085},{},[187086,187090],{"type":426,"tag":446,"props":187087,"children":187088},{},[187089],{"type":431,"value":186598},{"type":431,"value":187091},": The API request timed out before WhatsApp responded.",{"type":426,"tag":427,"props":187093,"children":187094},{},[187095],{"type":426,"tag":446,"props":187096,"children":187097},{},[187098],{"type":431,"value":186639},{"type":426,"tag":454,"props":187100,"children":187101},{},[187102,187107,187112],{"type":426,"tag":458,"props":187103,"children":187104},{},[187105],{"type":431,"value":187106},"Increase your application's HTTP timeout (set to at least 30s)",{"type":426,"tag":458,"props":187108,"children":187109},{},[187110],{"type":431,"value":187111},"Check VPS network latency",{"type":426,"tag":458,"props":187113,"children":187114},{},[187115],{"type":431,"value":187116},"Ensure WhatsApp domains are not blocked in your VPS firewall",{"type":426,"tag":542,"props":187118,"children":187120},{"className":546,"code":187119,"language":545,"meta":417,"style":417},"# Test WhatsApp connectivity from your VPS\ncurl -I https:\u002F\u002Fweb.whatsapp.com\n# Should return 200 OK\n",[187121],{"type":426,"tag":549,"props":187122,"children":187123},{"__ignoreMap":417},[187124,187132,187149],{"type":426,"tag":553,"props":187125,"children":187126},{"class":555,"line":556},[187127],{"type":426,"tag":553,"props":187128,"children":187129},{"style":1975},[187130],{"type":431,"value":187131},"# Test WhatsApp connectivity from your VPS\n",{"type":426,"tag":553,"props":187133,"children":187134},{"class":555,"line":588},[187135,187139,187144],{"type":426,"tag":553,"props":187136,"children":187137},{"style":560},[187138],{"type":431,"value":563},{"type":426,"tag":553,"props":187140,"children":187141},{"style":566},[187142],{"type":431,"value":187143}," -I",{"type":426,"tag":553,"props":187145,"children":187146},{"style":572},[187147],{"type":431,"value":187148}," https:\u002F\u002Fweb.whatsapp.com\n",{"type":426,"tag":553,"props":187150,"children":187151},{"class":555,"line":606},[187152],{"type":426,"tag":553,"props":187153,"children":187154},{"style":1975},[187155],{"type":431,"value":187156},"# Should return 200 OK\n",{"type":426,"tag":515,"props":187158,"children":187160},{"id":187159},"error-5-whatsapp-account-ban",[187161],{"type":431,"value":187162},"Error 5: WhatsApp Account Ban",{"type":426,"tag":427,"props":187164,"children":187165},{},[187166],{"type":431,"value":187167},"Self-hosted Evolution API users report higher ban rates than managed API users because:",{"type":426,"tag":454,"props":187169,"children":187170},{},[187171,187176,187181],{"type":426,"tag":458,"props":187172,"children":187173},{},[187174],{"type":431,"value":187175},"Shared or flagged VPS IPs may have poor reputation with WhatsApp",{"type":426,"tag":458,"props":187177,"children":187178},{},[187179],{"type":431,"value":187180},"High-volume sending from a single IP triggers WhatsApp's spam detection",{"type":426,"tag":458,"props":187182,"children":187183},{},[187184],{"type":431,"value":187185},"Protocol deviations in older Evolution API versions can trigger bans",{"type":426,"tag":434,"props":187187,"children":187189},{"id":187188},"the-real-cost-of-running-evolution-api",[187190],{"type":431,"value":187191},"The Real Cost of Running Evolution API",{"type":426,"tag":10600,"props":187193,"children":187194},{},[187195,187210],{"type":426,"tag":10604,"props":187196,"children":187197},{},[187198],{"type":426,"tag":10608,"props":187199,"children":187200},{},[187201,187206],{"type":426,"tag":10612,"props":187202,"children":187203},{},[187204],{"type":431,"value":187205},"Cost Item",{"type":426,"tag":10612,"props":187207,"children":187208},{},[187209],{"type":431,"value":147043},{"type":426,"tag":10623,"props":187211,"children":187212},{},[187213,187225,187238,187250],{"type":426,"tag":10608,"props":187214,"children":187215},{},[187216,187221],{"type":426,"tag":10630,"props":187217,"children":187218},{},[187219],{"type":431,"value":187220},"VPS (minimum 4GB RAM for stable operation)",{"type":426,"tag":10630,"props":187222,"children":187223},{},[187224],{"type":431,"value":177684},{"type":426,"tag":10608,"props":187226,"children":187227},{},[187228,187233],{"type":426,"tag":10630,"props":187229,"children":187230},{},[187231],{"type":431,"value":187232},"Developer time: maintenance, debugging, updates",{"type":426,"tag":10630,"props":187234,"children":187235},{},[187236],{"type":431,"value":187237},"5–15 hrs × your rate",{"type":426,"tag":10608,"props":187239,"children":187240},{},[187241,187246],{"type":426,"tag":10630,"props":187242,"children":187243},{},[187244],{"type":431,"value":187245},"Downtime cost (missed notifications, support tickets)",{"type":426,"tag":10630,"props":187247,"children":187248},{},[187249],{"type":431,"value":147084},{"type":426,"tag":10608,"props":187251,"children":187252},{},[187253,187261],{"type":426,"tag":10630,"props":187254,"children":187255},{},[187256],{"type":426,"tag":446,"props":187257,"children":187258},{},[187259],{"type":431,"value":187260},"Total realistic cost",{"type":426,"tag":10630,"props":187262,"children":187263},{},[187264],{"type":426,"tag":446,"props":187265,"children":187266},{},[187267],{"type":431,"value":187268},"$40–90+\u002Fmonth",{"type":426,"tag":427,"props":187270,"children":187271},{},[187272],{"type":431,"value":187273},"Many teams choose Evolution API thinking it is \"free\" — but the infrastructure and maintenance costs exceed most paid API providers.",{"type":426,"tag":434,"props":187275,"children":187277},{"id":187276},"the-alternative-rapiwa-5month-zero-maintenance",[187278],{"type":431,"value":187279},"The Alternative: Rapiwa ($5\u002FMonth, Zero Maintenance)",{"type":426,"tag":427,"props":187281,"children":187282},{},[187283,187288],{"type":426,"tag":3819,"props":187284,"children":187286},{"href":3821,"rel":187285},[3823],[187287],{"type":431,"value":127310},{"type":431,"value":187289}," provides the same WhatsApp API capabilities as Evolution API — fully hosted, zero maintenance:",{"type":426,"tag":10600,"props":187291,"children":187292},{},[187293,187310],{"type":426,"tag":10604,"props":187294,"children":187295},{},[187296],{"type":426,"tag":10608,"props":187297,"children":187298},{},[187299,187302,187306],{"type":426,"tag":10612,"props":187300,"children":187301},{},[],{"type":426,"tag":10612,"props":187303,"children":187304},{},[187305],{"type":431,"value":155656},{"type":426,"tag":10612,"props":187307,"children":187308},{},[187309],{"type":431,"value":127310},{"type":426,"tag":10623,"props":187311,"children":187312},{},[187313,187332,187350,187370,187389,187409,187428,187446],{"type":426,"tag":10608,"props":187314,"children":187315},{},[187316,187320,187325],{"type":426,"tag":10630,"props":187317,"children":187318},{},[187319],{"type":431,"value":157862},{"type":426,"tag":10630,"props":187321,"children":187322},{},[187323],{"type":431,"value":187324},"$0 (+ $40–90 VPS + time)",{"type":426,"tag":10630,"props":187326,"children":187327},{},[187328],{"type":426,"tag":446,"props":187329,"children":187330},{},[187331],{"type":431,"value":151867},{"type":426,"tag":10608,"props":187333,"children":187334},{},[187335,187339,187343],{"type":426,"tag":10630,"props":187336,"children":187337},{},[187338],{"type":431,"value":150917},{"type":426,"tag":10630,"props":187340,"children":187341},{},[187342],{"type":431,"value":157890},{"type":426,"tag":10630,"props":187344,"children":187345},{},[187346],{"type":426,"tag":446,"props":187347,"children":187348},{},[187349],{"type":431,"value":46995},{"type":426,"tag":10608,"props":187351,"children":187352},{},[187353,187357,187362],{"type":426,"tag":10630,"props":187354,"children":187355},{},[187356],{"type":431,"value":157909},{"type":426,"tag":10630,"props":187358,"children":187359},{},[187360],{"type":431,"value":187361},"You manage everything",{"type":426,"tag":10630,"props":187363,"children":187364},{},[187365],{"type":426,"tag":446,"props":187366,"children":187367},{},[187368],{"type":431,"value":187369},"Rapiwa manages it",{"type":426,"tag":10608,"props":187371,"children":187372},{},[187373,187377,187382],{"type":426,"tag":10630,"props":187374,"children":187375},{},[187376],{"type":431,"value":158863},{"type":426,"tag":10630,"props":187378,"children":187379},{},[187380],{"type":431,"value":187381},"You update manually",{"type":426,"tag":10630,"props":187383,"children":187384},{},[187385],{"type":426,"tag":446,"props":187386,"children":187387},{},[187388],{"type":431,"value":158873},{"type":426,"tag":10608,"props":187390,"children":187391},{},[187392,187397,187401],{"type":426,"tag":10630,"props":187393,"children":187394},{},[187395],{"type":431,"value":187396},"Session stability",{"type":426,"tag":10630,"props":187398,"children":187399},{},[187400],{"type":431,"value":158921},{"type":426,"tag":10630,"props":187402,"children":187403},{},[187404],{"type":426,"tag":446,"props":187405,"children":187406},{},[187407],{"type":431,"value":187408},"Maintained 24\u002F7",{"type":426,"tag":10608,"props":187410,"children":187411},{},[187412,187416,187421],{"type":426,"tag":10630,"props":187413,"children":187414},{},[187415],{"type":431,"value":167347},{"type":426,"tag":10630,"props":187417,"children":187418},{},[187419],{"type":431,"value":187420},"Community\u002FGitHub Issues",{"type":426,"tag":10630,"props":187422,"children":187423},{},[187424],{"type":426,"tag":446,"props":187425,"children":187426},{},[187427],{"type":431,"value":167360},{"type":426,"tag":10608,"props":187429,"children":187430},{},[187431,187435,187439],{"type":426,"tag":10630,"props":187432,"children":187433},{},[187434],{"type":431,"value":150071},{"type":426,"tag":10630,"props":187436,"children":187437},{},[187438],{"type":431,"value":78130},{"type":426,"tag":10630,"props":187440,"children":187441},{},[187442],{"type":426,"tag":446,"props":187443,"children":187444},{},[187445],{"type":431,"value":103087},{"type":426,"tag":10608,"props":187447,"children":187448},{},[187449,187453,187457],{"type":426,"tag":10630,"props":187450,"children":187451},{},[187452],{"type":431,"value":16164},{"type":426,"tag":10630,"props":187454,"children":187455},{},[187456],{"type":431,"value":78130},{"type":426,"tag":10630,"props":187458,"children":187459},{},[187460],{"type":426,"tag":446,"props":187461,"children":187462},{},[187463],{"type":431,"value":187464},"Yes (10 templates)",{"type":426,"tag":515,"props":187466,"children":187468},{"id":187467},"migrating-from-evolution-api-to-rapiwa",[187469],{"type":431,"value":187470},"Migrating from Evolution API to Rapiwa",{"type":426,"tag":427,"props":187472,"children":187473},{},[187474],{"type":431,"value":187475},"The API structure is different enough that migration requires updating your code, but the logic remains the same.",{"type":426,"tag":427,"props":187477,"children":187478},{},[187479],{"type":426,"tag":446,"props":187480,"children":187481},{},[187482],{"type":431,"value":187483},"Evolution API (send message):",{"type":426,"tag":542,"props":187485,"children":187487},{"className":546,"code":187486,"language":545,"meta":417,"style":417},"curl -X POST http:\u002F\u002Flocalhost:8080\u002Fmessage\u002FsendText\u002FYOUR_SESSION \\\n  -H \"apikey: YOUR_EVOLUTION_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890@s.whatsapp.net\", \"text\": \"Hello!\"}'\n",[187488],{"type":426,"tag":549,"props":187489,"children":187490},{"__ignoreMap":417},[187491,187515,187530,187545],{"type":426,"tag":553,"props":187492,"children":187493},{"class":555,"line":556},[187494,187498,187502,187506,187511],{"type":426,"tag":553,"props":187495,"children":187496},{"style":560},[187497],{"type":431,"value":563},{"type":426,"tag":553,"props":187499,"children":187500},{"style":566},[187501],{"type":431,"value":569},{"type":426,"tag":553,"props":187503,"children":187504},{"style":572},[187505],{"type":431,"value":575},{"type":426,"tag":553,"props":187507,"children":187508},{"style":572},[187509],{"type":431,"value":187510}," http:\u002F\u002Flocalhost:8080\u002Fmessage\u002FsendText\u002FYOUR_SESSION",{"type":426,"tag":553,"props":187512,"children":187513},{"style":566},[187514],{"type":431,"value":585},{"type":426,"tag":553,"props":187516,"children":187517},{"class":555,"line":588},[187518,187522,187526],{"type":426,"tag":553,"props":187519,"children":187520},{"style":566},[187521],{"type":431,"value":594},{"type":426,"tag":553,"props":187523,"children":187524},{"style":572},[187525],{"type":431,"value":167006},{"type":426,"tag":553,"props":187527,"children":187528},{"style":566},[187529],{"type":431,"value":585},{"type":426,"tag":553,"props":187531,"children":187532},{"class":555,"line":606},[187533,187537,187541],{"type":426,"tag":553,"props":187534,"children":187535},{"style":566},[187536],{"type":431,"value":594},{"type":426,"tag":553,"props":187538,"children":187539},{"style":572},[187540],{"type":431,"value":616},{"type":426,"tag":553,"props":187542,"children":187543},{"style":566},[187544],{"type":431,"value":585},{"type":426,"tag":553,"props":187546,"children":187547},{"class":555,"line":623},[187548,187552],{"type":426,"tag":553,"props":187549,"children":187550},{"style":566},[187551],{"type":431,"value":629},{"type":426,"tag":553,"props":187553,"children":187554},{"style":572},[187555],{"type":431,"value":167037},{"type":426,"tag":427,"props":187557,"children":187558},{},[187559],{"type":426,"tag":446,"props":187560,"children":187561},{},[187562],{"type":431,"value":168936},{"type":426,"tag":542,"props":187564,"children":187566},{"className":546,"code":187565,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_RAPIWA_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello!\"}'\n",[187567],{"type":426,"tag":549,"props":187568,"children":187569},{"__ignoreMap":417},[187570,187593,187608,187623],{"type":426,"tag":553,"props":187571,"children":187572},{"class":555,"line":556},[187573,187577,187581,187585,187589],{"type":426,"tag":553,"props":187574,"children":187575},{"style":560},[187576],{"type":431,"value":563},{"type":426,"tag":553,"props":187578,"children":187579},{"style":566},[187580],{"type":431,"value":569},{"type":426,"tag":553,"props":187582,"children":187583},{"style":572},[187584],{"type":431,"value":575},{"type":426,"tag":553,"props":187586,"children":187587},{"style":572},[187588],{"type":431,"value":580},{"type":426,"tag":553,"props":187590,"children":187591},{"style":566},[187592],{"type":431,"value":585},{"type":426,"tag":553,"props":187594,"children":187595},{"class":555,"line":588},[187596,187600,187604],{"type":426,"tag":553,"props":187597,"children":187598},{"style":566},[187599],{"type":431,"value":594},{"type":426,"tag":553,"props":187601,"children":187602},{"style":572},[187603],{"type":431,"value":167087},{"type":426,"tag":553,"props":187605,"children":187606},{"style":566},[187607],{"type":431,"value":585},{"type":426,"tag":553,"props":187609,"children":187610},{"class":555,"line":606},[187611,187615,187619],{"type":426,"tag":553,"props":187612,"children":187613},{"style":566},[187614],{"type":431,"value":594},{"type":426,"tag":553,"props":187616,"children":187617},{"style":572},[187618],{"type":431,"value":616},{"type":426,"tag":553,"props":187620,"children":187621},{"style":566},[187622],{"type":431,"value":585},{"type":426,"tag":553,"props":187624,"children":187625},{"class":555,"line":623},[187626,187630],{"type":426,"tag":553,"props":187627,"children":187628},{"style":566},[187629],{"type":431,"value":629},{"type":426,"tag":553,"props":187631,"children":187632},{"style":572},[187633],{"type":431,"value":163281},{"type":426,"tag":427,"props":187635,"children":187636},{},[187637],{"type":431,"value":148832},{"type":426,"tag":454,"props":187639,"children":187640},{},[187641,187646,187665,187682],{"type":426,"tag":458,"props":187642,"children":187643},{},[187644],{"type":431,"value":187645},"Rapiwa: cloud URL (no self-hosted server needed)",{"type":426,"tag":458,"props":187647,"children":187648},{},[187649,187651,187656,187658,187664],{"type":431,"value":187650},"Rapiwa: ",{"type":426,"tag":549,"props":187652,"children":187654},{"className":187653},[],[187655],{"type":431,"value":39195},{"type":431,"value":187657}," field (no ",{"type":426,"tag":549,"props":187659,"children":187661},{"className":187660},[],[187662],{"type":431,"value":187663},"@s.whatsapp.net",{"type":431,"value":169083},{"type":426,"tag":458,"props":187666,"children":187667},{},[187668,187669,187674,187676,187681],{"type":431,"value":187650},{"type":426,"tag":549,"props":187670,"children":187672},{"className":187671},[],[187673],{"type":431,"value":2734},{"type":431,"value":187675}," field (not ",{"type":426,"tag":549,"props":187677,"children":187679},{"className":187678},[],[187680],{"type":431,"value":431},{"type":431,"value":5736},{"type":426,"tag":458,"props":187683,"children":187684},{},[187685,187687,187693],{"type":431,"value":187686},"Authentication: Bearer token (not ",{"type":426,"tag":549,"props":187688,"children":187690},{"className":187689},[],[187691],{"type":431,"value":187692},"apikey",{"type":431,"value":187694}," header)",{"type":426,"tag":427,"props":187696,"children":187697},{},[187698],{"type":426,"tag":446,"props":187699,"children":187700},{},[187701],{"type":431,"value":167374},{"type":426,"tag":542,"props":187703,"children":187705},{"className":785,"code":187704,"language":784,"meta":417,"style":417},"# Old Evolution API code\nimport requests\n\ndef send_evolution(phone, message, session=\"default\"):\n    phone_jid = f\"{phone}@s.whatsapp.net\"\n    requests.post(\n        f\"http:\u002F\u002Flocalhost:8080\u002Fmessage\u002FsendText\u002F{session}\",\n        headers={\"apikey\": \"EVOLUTION_KEY\"},\n        json={\"number\": phone_jid, \"text\": message}\n    )\n\n# New Rapiwa code\ndef send_rapiwa(phone, message):\n    requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer RAPIWA_KEY\"},\n        json={\"number\": phone, \"message\": message}\n    )\n",[187706],{"type":426,"tag":549,"props":187707,"children":187708},{"__ignoreMap":417},[187709,187717,187728,187735,187764,187799,187806,187838,187871,187902,187909,187916,187923,187938,187945,187956,187987,188018],{"type":426,"tag":553,"props":187710,"children":187711},{"class":555,"line":556},[187712],{"type":426,"tag":553,"props":187713,"children":187714},{"style":1975},[187715],{"type":431,"value":187716},"# Old Evolution API code\n",{"type":426,"tag":553,"props":187718,"children":187719},{"class":555,"line":588},[187720,187724],{"type":426,"tag":553,"props":187721,"children":187722},{"style":795},[187723],{"type":431,"value":798},{"type":426,"tag":553,"props":187725,"children":187726},{"style":684},[187727],{"type":431,"value":803},{"type":426,"tag":553,"props":187729,"children":187730},{"class":555,"line":606},[187731],{"type":426,"tag":553,"props":187732,"children":187733},{"emptyLinePlaceholder":831},[187734],{"type":431,"value":834},{"type":426,"tag":553,"props":187736,"children":187737},{"class":555,"line":623},[187738,187742,187746,187751,187755,187760],{"type":426,"tag":553,"props":187739,"children":187740},{"style":795},[187741],{"type":431,"value":842},{"type":426,"tag":553,"props":187743,"children":187744},{"style":560},[187745],{"type":431,"value":167419},{"type":426,"tag":553,"props":187747,"children":187748},{"style":684},[187749],{"type":431,"value":187750},"(phone, message, session",{"type":426,"tag":553,"props":187752,"children":187753},{"style":795},[187754],{"type":431,"value":957},{"type":426,"tag":553,"props":187756,"children":187757},{"style":572},[187758],{"type":431,"value":187759},"\"default\"",{"type":426,"tag":553,"props":187761,"children":187762},{"style":684},[187763],{"type":431,"value":8370},{"type":426,"tag":553,"props":187765,"children":187766},{"class":555,"line":637},[187767,187771,187775,187779,187783,187787,187791,187795],{"type":426,"tag":553,"props":187768,"children":187769},{"style":684},[187770],{"type":431,"value":167431},{"type":426,"tag":553,"props":187772,"children":187773},{"style":795},[187774],{"type":431,"value":957},{"type":426,"tag":553,"props":187776,"children":187777},{"style":795},[187778],{"type":431,"value":962},{"type":426,"tag":553,"props":187780,"children":187781},{"style":572},[187782],{"type":431,"value":1527},{"type":426,"tag":553,"props":187784,"children":187785},{"style":566},[187786],{"type":431,"value":972},{"type":426,"tag":553,"props":187788,"children":187789},{"style":684},[187790],{"type":431,"value":37598},{"type":426,"tag":553,"props":187792,"children":187793},{"style":566},[187794],{"type":431,"value":982},{"type":426,"tag":553,"props":187796,"children":187797},{"style":572},[187798],{"type":431,"value":167460},{"type":426,"tag":553,"props":187800,"children":187801},{"class":555,"line":646},[187802],{"type":426,"tag":553,"props":187803,"children":187804},{"style":684},[187805],{"type":431,"value":30283},{"type":426,"tag":553,"props":187807,"children":187808},{"class":555,"line":655},[187809,187813,187818,187822,187826,187830,187834],{"type":426,"tag":553,"props":187810,"children":187811},{"style":795},[187812],{"type":431,"value":1216},{"type":426,"tag":553,"props":187814,"children":187815},{"style":572},[187816],{"type":431,"value":187817},"\"http:\u002F\u002Flocalhost:8080\u002Fmessage\u002FsendText\u002F",{"type":426,"tag":553,"props":187819,"children":187820},{"style":566},[187821],{"type":431,"value":972},{"type":426,"tag":553,"props":187823,"children":187824},{"style":684},[187825],{"type":431,"value":169108},{"type":426,"tag":553,"props":187827,"children":187828},{"style":566},[187829],{"type":431,"value":982},{"type":426,"tag":553,"props":187831,"children":187832},{"style":572},[187833],{"type":431,"value":1527},{"type":426,"tag":553,"props":187835,"children":187836},{"style":684},[187837],{"type":431,"value":710},{"type":426,"tag":553,"props":187839,"children":187840},{"class":555,"line":1036},[187841,187845,187849,187853,187858,187862,187867],{"type":426,"tag":553,"props":187842,"children":187843},{"style":1684},[187844],{"type":431,"value":1687},{"type":426,"tag":553,"props":187846,"children":187847},{"style":795},[187848],{"type":431,"value":957},{"type":426,"tag":553,"props":187850,"children":187851},{"style":684},[187852],{"type":431,"value":972},{"type":426,"tag":553,"props":187854,"children":187855},{"style":572},[187856],{"type":431,"value":187857},"\"apikey\"",{"type":426,"tag":553,"props":187859,"children":187860},{"style":684},[187861],{"type":431,"value":700},{"type":426,"tag":553,"props":187863,"children":187864},{"style":572},[187865],{"type":431,"value":187866},"\"EVOLUTION_KEY\"",{"type":426,"tag":553,"props":187868,"children":187869},{"style":684},[187870],{"type":431,"value":1737},{"type":426,"tag":553,"props":187872,"children":187873},{"class":555,"line":1054},[187874,187878,187882,187886,187890,187894,187898],{"type":426,"tag":553,"props":187875,"children":187876},{"style":1684},[187877],{"type":431,"value":1746},{"type":426,"tag":553,"props":187879,"children":187880},{"style":795},[187881],{"type":431,"value":957},{"type":426,"tag":553,"props":187883,"children":187884},{"style":684},[187885],{"type":431,"value":972},{"type":426,"tag":553,"props":187887,"children":187888},{"style":572},[187889],{"type":431,"value":45266},{"type":426,"tag":553,"props":187891,"children":187892},{"style":684},[187893],{"type":431,"value":167573},{"type":426,"tag":553,"props":187895,"children":187896},{"style":572},[187897],{"type":431,"value":81731},{"type":426,"tag":553,"props":187899,"children":187900},{"style":684},[187901],{"type":431,"value":1784},{"type":426,"tag":553,"props":187903,"children":187904},{"class":555,"line":1080},[187905],{"type":426,"tag":553,"props":187906,"children":187907},{"style":684},[187908],{"type":431,"value":1642},{"type":426,"tag":553,"props":187910,"children":187911},{"class":555,"line":1097},[187912],{"type":426,"tag":553,"props":187913,"children":187914},{"emptyLinePlaceholder":831},[187915],{"type":431,"value":834},{"type":426,"tag":553,"props":187917,"children":187918},{"class":555,"line":1114},[187919],{"type":426,"tag":553,"props":187920,"children":187921},{"style":1975},[187922],{"type":431,"value":169323},{"type":426,"tag":553,"props":187924,"children":187925},{"class":555,"line":1127},[187926,187930,187934],{"type":426,"tag":553,"props":187927,"children":187928},{"style":795},[187929],{"type":431,"value":842},{"type":426,"tag":553,"props":187931,"children":187932},{"style":560},[187933],{"type":431,"value":167626},{"type":426,"tag":553,"props":187935,"children":187936},{"style":684},[187937],{"type":431,"value":129214},{"type":426,"tag":553,"props":187939,"children":187940},{"class":555,"line":1167},[187941],{"type":426,"tag":553,"props":187942,"children":187943},{"style":684},[187944],{"type":431,"value":30283},{"type":426,"tag":553,"props":187946,"children":187947},{"class":555,"line":1184},[187948,187952],{"type":426,"tag":553,"props":187949,"children":187950},{"style":572},[187951],{"type":431,"value":47296},{"type":426,"tag":553,"props":187953,"children":187954},{"style":684},[187955],{"type":431,"value":710},{"type":426,"tag":553,"props":187957,"children":187958},{"class":555,"line":1192},[187959,187963,187967,187971,187975,187979,187983],{"type":426,"tag":553,"props":187960,"children":187961},{"style":1684},[187962],{"type":431,"value":1687},{"type":426,"tag":553,"props":187964,"children":187965},{"style":795},[187966],{"type":431,"value":957},{"type":426,"tag":553,"props":187968,"children":187969},{"style":684},[187970],{"type":431,"value":972},{"type":426,"tag":553,"props":187972,"children":187973},{"style":572},[187974],{"type":431,"value":45214},{"type":426,"tag":553,"props":187976,"children":187977},{"style":684},[187978],{"type":431,"value":700},{"type":426,"tag":553,"props":187980,"children":187981},{"style":572},[187982],{"type":431,"value":153176},{"type":426,"tag":553,"props":187984,"children":187985},{"style":684},[187986],{"type":431,"value":1737},{"type":426,"tag":553,"props":187988,"children":187989},{"class":555,"line":1210},[187990,187994,187998,188002,188006,188010,188014],{"type":426,"tag":553,"props":187991,"children":187992},{"style":1684},[187993],{"type":431,"value":1746},{"type":426,"tag":553,"props":187995,"children":187996},{"style":795},[187997],{"type":431,"value":957},{"type":426,"tag":553,"props":187999,"children":188000},{"style":684},[188001],{"type":431,"value":972},{"type":426,"tag":553,"props":188003,"children":188004},{"style":572},[188005],{"type":431,"value":45266},{"type":426,"tag":553,"props":188007,"children":188008},{"style":684},[188009],{"type":431,"value":8931},{"type":426,"tag":553,"props":188011,"children":188012},{"style":572},[188013],{"type":431,"value":45275},{"type":426,"tag":553,"props":188015,"children":188016},{"style":684},[188017],{"type":431,"value":1784},{"type":426,"tag":553,"props":188019,"children":188020},{"class":555,"line":1253},[188021],{"type":426,"tag":553,"props":188022,"children":188023},{"style":684},[188024],{"type":431,"value":1642},{"type":426,"tag":427,"props":188026,"children":188027},{},[188028],{"type":431,"value":188029},"The logic is identical — only the endpoint, auth method, and field names change.",{"type":426,"tag":434,"props":188031,"children":188033},{"id":188032},"when-evolution-api-is-still-the-right-choice",[188034],{"type":431,"value":188035},"When Evolution API Is Still the Right Choice",{"type":426,"tag":427,"props":188037,"children":188038},{},[188039],{"type":431,"value":188040},"Evolution API makes sense if you:",{"type":426,"tag":454,"props":188042,"children":188043},{},[188044,188056,188068,188080,188085],{"type":426,"tag":458,"props":188045,"children":188046},{},[188047,188049,188054],{"type":431,"value":188048},"Need ",{"type":426,"tag":446,"props":188050,"children":188051},{},[188052],{"type":431,"value":188053},"100% data sovereignty",{"type":431,"value":188055}," — you control all message data on your own servers",{"type":426,"tag":458,"props":188057,"children":188058},{},[188059,188061,188066],{"type":431,"value":188060},"Have dedicated ",{"type":426,"tag":446,"props":188062,"children":188063},{},[188064],{"type":431,"value":188065},"DevOps engineers",{"type":431,"value":188067}," who can maintain the infrastructure",{"type":426,"tag":458,"props":188069,"children":188070},{},[188071,188073,188078],{"type":431,"value":188072},"Require ",{"type":426,"tag":446,"props":188074,"children":188075},{},[188076],{"type":431,"value":188077},"custom modifications",{"type":431,"value":188079}," to the WhatsApp client behavior",{"type":426,"tag":458,"props":188081,"children":188082},{},[188083],{"type":431,"value":188084},"Are in a regulated industry where data cannot leave your jurisdiction",{"type":426,"tag":458,"props":188086,"children":188087},{},[188088],{"type":431,"value":188089},"Have high technical expertise and enjoy open-source infrastructure",{"type":426,"tag":427,"props":188091,"children":188092},{},[188093],{"type":431,"value":188094},"For everyone else — startups, agencies, WooCommerce developers, SaaS builders — the $5\u002Fmonth cost of Rapiwa is far less than the time and VPS cost of self-hosting.",{"type":426,"tag":434,"props":188096,"children":188097},{"id":4109},[188098],{"type":431,"value":4112},{"type":426,"tag":427,"props":188100,"children":188101},{},[188102,188107],{"type":426,"tag":446,"props":188103,"children":188104},{},[188105],{"type":431,"value":188106},"Why does Evolution API keep disconnecting?",{"type":431,"value":188108},"\nEvolution API requires a stable VPS with at least 4GB RAM and consistent internet connectivity. Any brief network interruption or memory shortage causes Puppeteer\u002FChromium to lose the WhatsApp session. This is inherent to the self-hosted architecture — not a bug that can be permanently fixed.",{"type":426,"tag":427,"props":188110,"children":188111},{},[188112,188117],{"type":426,"tag":446,"props":188113,"children":188114},{},[188115],{"type":431,"value":188116},"Is Evolution API free?",{"type":431,"value":188118},"\nThe software itself is free (open-source MIT license). However, you need a VPS ($15–35\u002Fmonth) and developer time to maintain it. The realistic total cost is $40–90+\u002Fmonth.",{"type":426,"tag":427,"props":188120,"children":188121},{},[188122,188127],{"type":426,"tag":446,"props":188123,"children":188124},{},[188125],{"type":431,"value":188126},"What is the easiest Evolution API alternative?",{"type":431,"value":188128},"\nRapiwa is the easiest managed alternative — 5-minute setup via QR code, $5\u002Fmonth, zero server management, and the same WhatsApp API capabilities.",{"type":426,"tag":427,"props":188130,"children":188131},{},[188132,188137],{"type":426,"tag":446,"props":188133,"children":188134},{},[188135],{"type":431,"value":188136},"Can I keep my WhatsApp number when switching from Evolution API to Rapiwa?",{"type":431,"value":188138},"\nYes. Simply scan the QR code with the same WhatsApp number in the Rapiwa dashboard. The number itself doesn't change — only the API connecting to it changes.",{"type":426,"tag":427,"props":188140,"children":188141},{},[188142,188147],{"type":426,"tag":446,"props":188143,"children":188144},{},[188145],{"type":431,"value":188146},"Does Rapiwa support the same message types as Evolution API?",{"type":431,"value":188148},"\nYes. Both support text, images, videos, documents, voice, location, contacts, groups, and channels.",{"type":426,"tag":427,"props":188150,"children":188151},{},[188152,188156,188158,188163,188164,188170],{"type":426,"tag":446,"props":188153,"children":188154},{},[188155],{"type":431,"value":168327},{"type":431,"value":188157},"\nRapiwa is the best option — it has a dedicated ",{"type":426,"tag":3819,"props":188159,"children":188161},{"href":131923,"rel":188160},[3823],[188162],{"type":431,"value":148534},{"type":431,"value":48630},{"type":426,"tag":3819,"props":188165,"children":188167},{"href":145202,"rel":188166},[3823],[188168],{"type":431,"value":188169},"6 n8n WooCommerce templates",{"type":431,"value":188171}," that Evolution API doesn't offer.",{"type":426,"tag":4164,"props":188173,"children":188174},{},[188175],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":188177},[188178,188179,188190,188191,188194,188195],{"id":186507,"depth":588,"text":186510},{"id":186575,"depth":588,"text":186578,"children":188180},[188181,188183,188185,188187,188189],{"id":186581,"depth":606,"text":188182},"Error 1: device_offline",{"id":186736,"depth":606,"text":188184},"Error 2: page crashed or Chromium crash",{"id":186972,"depth":606,"text":188186},"Error 3: session_not_found",{"id":187066,"depth":606,"text":188188},"Error 4: connection_closed or TIMEOUT",{"id":187159,"depth":606,"text":187162},{"id":187188,"depth":588,"text":187191},{"id":187276,"depth":588,"text":187279,"children":188192},[188193],{"id":187467,"depth":606,"text":187470},{"id":188032,"depth":588,"text":188035},{"id":4109,"depth":588,"text":4112},"content:blog:evolution-api-problems-in-2026-errors-issues-best-alternative.md","blog\u002Fevolution-api-problems-in-2026-errors-issues-best-alternative.md","blog\u002Fevolution-api-problems-in-2026-errors-issues-best-alternative",{"loc":346},{"_path":350,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":351,"description":352,"date":188201,"author":18999,"category":17,"_slug":188202,"image":188203,"body":188204,"_type":4187,"_id":189588,"_source":4189,"_file":189589,"_stem":189590,"_extension":4192,"sitemap":189591},"2025-12-13","best-whatsapp-api-features-every-developer-needs-in-2026","\u002Fimages\u002Fblog\u002Fbest-whatsapp-api-features-every-developer-needs-in-2026.svg",{"type":423,"children":188205,"toc":189574},[188206,188218,188224,188229,188237,188493,188506,188512,188517,188522,188530,188553,188562,188568,188573,188685,188690,188696,188701,188723,188803,188809,188814,188832,188841,188847,188852,188860,188970,188975,188981,188986,189102,189111,189117,189122,189127,189133,189138,189180,189185,189191,189196,189224,189236,189242,189247,189511,189515,189525,189535,189545,189555,189570],{"type":426,"tag":427,"props":188207,"children":188208},{},[188209,188211,188216],{"type":431,"value":188210},"The essential WhatsApp API features every developer needs in 2026 are: full message type support (text, images, documents, voice), real-time webhooks for incoming messages, number verification, bulk messaging, and integrations with automation tools like n8n and Make.com. ",{"type":426,"tag":3819,"props":188212,"children":188214},{"href":3821,"rel":188213},[3823],[188215],{"type":431,"value":127310},{"type":431,"value":188217}," includes all of these starting at $5\u002Fmonth with no per-message fees.",{"type":426,"tag":434,"props":188219,"children":188221},{"id":188220},"feature-1-all-whatsapp-message-types",[188222],{"type":431,"value":188223},"Feature 1: All WhatsApp Message Types",{"type":426,"tag":427,"props":188225,"children":188226},{},[188227],{"type":431,"value":188228},"A quality WhatsApp API must support every message format that WhatsApp supports. Partial support means you'll need a second tool for media messages.",{"type":426,"tag":427,"props":188230,"children":188231},{},[188232],{"type":426,"tag":446,"props":188233,"children":188234},{},[188235],{"type":431,"value":188236},"Rapiwa supported message types:",{"type":426,"tag":542,"props":188238,"children":188240},{"className":546,"code":188239,"language":545,"meta":417,"style":417},"# Text message\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello!\"}'\n\n# Image with caption\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -d '{\"number\": \"8801234567890\", \"image\": \"https:\u002F\u002Fexample.com\u002Fphoto.jpg\", \"caption\": \"Check this out!\"}'\n\n# PDF document\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -d '{\"number\": \"8801234567890\", \"document\": \"https:\u002F\u002Fexample.com\u002Finvoice.pdf\", \"filename\": \"Invoice.pdf\"}'\n\n# Location\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -d '{\"number\": \"8801234567890\", \"latitude\": 23.8103, \"longitude\": 90.4125, \"locationName\": \"Our Office\"}'\n",[188241],{"type":426,"tag":549,"props":188242,"children":188243},{"__ignoreMap":417},[188244,188252,188275,188290,188301,188308,188315,188338,188353,188365,188372,188380,188403,188418,188429,188436,188443,188466,188481],{"type":426,"tag":553,"props":188245,"children":188246},{"class":555,"line":556},[188247],{"type":426,"tag":553,"props":188248,"children":188249},{"style":1975},[188250],{"type":431,"value":188251},"# Text message\n",{"type":426,"tag":553,"props":188253,"children":188254},{"class":555,"line":588},[188255,188259,188263,188267,188271],{"type":426,"tag":553,"props":188256,"children":188257},{"style":560},[188258],{"type":431,"value":563},{"type":426,"tag":553,"props":188260,"children":188261},{"style":566},[188262],{"type":431,"value":569},{"type":426,"tag":553,"props":188264,"children":188265},{"style":572},[188266],{"type":431,"value":575},{"type":426,"tag":553,"props":188268,"children":188269},{"style":572},[188270],{"type":431,"value":580},{"type":426,"tag":553,"props":188272,"children":188273},{"style":566},[188274],{"type":431,"value":585},{"type":426,"tag":553,"props":188276,"children":188277},{"class":555,"line":606},[188278,188282,188286],{"type":426,"tag":553,"props":188279,"children":188280},{"style":566},[188281],{"type":431,"value":594},{"type":426,"tag":553,"props":188283,"children":188284},{"style":572},[188285],{"type":431,"value":599},{"type":426,"tag":553,"props":188287,"children":188288},{"style":566},[188289],{"type":431,"value":585},{"type":426,"tag":553,"props":188291,"children":188292},{"class":555,"line":623},[188293,188297],{"type":426,"tag":553,"props":188294,"children":188295},{"style":566},[188296],{"type":431,"value":629},{"type":426,"tag":553,"props":188298,"children":188299},{"style":572},[188300],{"type":431,"value":163281},{"type":426,"tag":553,"props":188302,"children":188303},{"class":555,"line":637},[188304],{"type":426,"tag":553,"props":188305,"children":188306},{"emptyLinePlaceholder":831},[188307],{"type":431,"value":834},{"type":426,"tag":553,"props":188309,"children":188310},{"class":555,"line":646},[188311],{"type":426,"tag":553,"props":188312,"children":188313},{"style":1975},[188314],{"type":431,"value":140541},{"type":426,"tag":553,"props":188316,"children":188317},{"class":555,"line":655},[188318,188322,188326,188330,188334],{"type":426,"tag":553,"props":188319,"children":188320},{"style":560},[188321],{"type":431,"value":563},{"type":426,"tag":553,"props":188323,"children":188324},{"style":566},[188325],{"type":431,"value":569},{"type":426,"tag":553,"props":188327,"children":188328},{"style":572},[188329],{"type":431,"value":575},{"type":426,"tag":553,"props":188331,"children":188332},{"style":572},[188333],{"type":431,"value":580},{"type":426,"tag":553,"props":188335,"children":188336},{"style":566},[188337],{"type":431,"value":585},{"type":426,"tag":553,"props":188339,"children":188340},{"class":555,"line":1036},[188341,188345,188349],{"type":426,"tag":553,"props":188342,"children":188343},{"style":566},[188344],{"type":431,"value":594},{"type":426,"tag":553,"props":188346,"children":188347},{"style":572},[188348],{"type":431,"value":599},{"type":426,"tag":553,"props":188350,"children":188351},{"style":566},[188352],{"type":431,"value":585},{"type":426,"tag":553,"props":188354,"children":188355},{"class":555,"line":1054},[188356,188360],{"type":426,"tag":553,"props":188357,"children":188358},{"style":566},[188359],{"type":431,"value":629},{"type":426,"tag":553,"props":188361,"children":188362},{"style":572},[188363],{"type":431,"value":188364}," '{\"number\": \"8801234567890\", \"image\": \"https:\u002F\u002Fexample.com\u002Fphoto.jpg\", \"caption\": \"Check this out!\"}'\n",{"type":426,"tag":553,"props":188366,"children":188367},{"class":555,"line":1080},[188368],{"type":426,"tag":553,"props":188369,"children":188370},{"emptyLinePlaceholder":831},[188371],{"type":431,"value":834},{"type":426,"tag":553,"props":188373,"children":188374},{"class":555,"line":1097},[188375],{"type":426,"tag":553,"props":188376,"children":188377},{"style":1975},[188378],{"type":431,"value":188379},"# PDF document\n",{"type":426,"tag":553,"props":188381,"children":188382},{"class":555,"line":1114},[188383,188387,188391,188395,188399],{"type":426,"tag":553,"props":188384,"children":188385},{"style":560},[188386],{"type":431,"value":563},{"type":426,"tag":553,"props":188388,"children":188389},{"style":566},[188390],{"type":431,"value":569},{"type":426,"tag":553,"props":188392,"children":188393},{"style":572},[188394],{"type":431,"value":575},{"type":426,"tag":553,"props":188396,"children":188397},{"style":572},[188398],{"type":431,"value":580},{"type":426,"tag":553,"props":188400,"children":188401},{"style":566},[188402],{"type":431,"value":585},{"type":426,"tag":553,"props":188404,"children":188405},{"class":555,"line":1127},[188406,188410,188414],{"type":426,"tag":553,"props":188407,"children":188408},{"style":566},[188409],{"type":431,"value":594},{"type":426,"tag":553,"props":188411,"children":188412},{"style":572},[188413],{"type":431,"value":599},{"type":426,"tag":553,"props":188415,"children":188416},{"style":566},[188417],{"type":431,"value":585},{"type":426,"tag":553,"props":188419,"children":188420},{"class":555,"line":1167},[188421,188425],{"type":426,"tag":553,"props":188422,"children":188423},{"style":566},[188424],{"type":431,"value":629},{"type":426,"tag":553,"props":188426,"children":188427},{"style":572},[188428],{"type":431,"value":184045},{"type":426,"tag":553,"props":188430,"children":188431},{"class":555,"line":1184},[188432],{"type":426,"tag":553,"props":188433,"children":188434},{"emptyLinePlaceholder":831},[188435],{"type":431,"value":834},{"type":426,"tag":553,"props":188437,"children":188438},{"class":555,"line":1192},[188439],{"type":426,"tag":553,"props":188440,"children":188441},{"style":1975},[188442],{"type":431,"value":140693},{"type":426,"tag":553,"props":188444,"children":188445},{"class":555,"line":1210},[188446,188450,188454,188458,188462],{"type":426,"tag":553,"props":188447,"children":188448},{"style":560},[188449],{"type":431,"value":563},{"type":426,"tag":553,"props":188451,"children":188452},{"style":566},[188453],{"type":431,"value":569},{"type":426,"tag":553,"props":188455,"children":188456},{"style":572},[188457],{"type":431,"value":575},{"type":426,"tag":553,"props":188459,"children":188460},{"style":572},[188461],{"type":431,"value":580},{"type":426,"tag":553,"props":188463,"children":188464},{"style":566},[188465],{"type":431,"value":585},{"type":426,"tag":553,"props":188467,"children":188468},{"class":555,"line":1253},[188469,188473,188477],{"type":426,"tag":553,"props":188470,"children":188471},{"style":566},[188472],{"type":431,"value":594},{"type":426,"tag":553,"props":188474,"children":188475},{"style":572},[188476],{"type":431,"value":599},{"type":426,"tag":553,"props":188478,"children":188479},{"style":566},[188480],{"type":431,"value":585},{"type":426,"tag":553,"props":188482,"children":188483},{"class":555,"line":1302},[188484,188488],{"type":426,"tag":553,"props":188485,"children":188486},{"style":566},[188487],{"type":431,"value":629},{"type":426,"tag":553,"props":188489,"children":188490},{"style":572},[188491],{"type":431,"value":188492}," '{\"number\": \"8801234567890\", \"latitude\": 23.8103, \"longitude\": 90.4125, \"locationName\": \"Our Office\"}'\n",{"type":426,"tag":427,"props":188494,"children":188495},{},[188496,188498,188504],{"type":431,"value":188497},"All headers include ",{"type":426,"tag":549,"props":188499,"children":188501},{"className":188500},[],[188502],{"type":431,"value":188503},"-H \"Content-Type: application\u002Fjson\"",{"type":431,"value":188505}," — omitted above for brevity.",{"type":426,"tag":434,"props":188507,"children":188509},{"id":188508},"feature-2-real-time-webhooks",[188510],{"type":431,"value":188511},"Feature 2: Real-Time Webhooks",{"type":426,"tag":427,"props":188513,"children":188514},{},[188515],{"type":431,"value":188516},"Webhooks enable your application to receive incoming WhatsApp messages and respond in real time. This is the foundation of chatbots, auto-reply systems, and two-way communication flows.",{"type":426,"tag":427,"props":188518,"children":188519},{},[188520],{"type":431,"value":188521},"Without webhooks, you cannot build conversational apps — you can only send outbound messages.",{"type":426,"tag":427,"props":188523,"children":188524},{},[188525],{"type":426,"tag":446,"props":188526,"children":188527},{},[188528],{"type":431,"value":188529},"Key webhook capabilities to look for:",{"type":426,"tag":454,"props":188531,"children":188532},{},[188533,188538,188543,188548],{"type":426,"tag":458,"props":188534,"children":188535},{},[188536],{"type":431,"value":188537},"Incoming message events (text, images, documents)",{"type":426,"tag":458,"props":188539,"children":188540},{},[188541],{"type":431,"value":188542},"Delivery confirmation events",{"type":426,"tag":458,"props":188544,"children":188545},{},[188546],{"type":431,"value":188547},"Read receipt events",{"type":426,"tag":458,"props":188549,"children":188550},{},[188551],{"type":431,"value":188552},"Session status events (connected, disconnected)",{"type":426,"tag":427,"props":188554,"children":188555},{},[188556,188558],{"type":431,"value":188557},"See the full webhook guide: ",{"type":426,"tag":3819,"props":188559,"children":188560},{"href":366},[188561],{"type":431,"value":367},{"type":426,"tag":434,"props":188563,"children":188565},{"id":188564},"feature-3-number-verification-api",[188566],{"type":431,"value":188567},"Feature 3: Number Verification API",{"type":426,"tag":427,"props":188569,"children":188570},{},[188571],{"type":431,"value":188572},"Before sending bulk messages, verify that each phone number is registered on WhatsApp. This reduces failed deliveries and protects your account's sender reputation.",{"type":426,"tag":542,"props":188574,"children":188576},{"className":785,"code":188575,"language":784,"meta":417,"style":417},"response = requests.get(\n    \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\",\n    headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n    params={\"number\": \"8801234567890\"}\n)\n# Returns: {\"exists\": true, \"isWhatsappBusiness\": false, \"name\": \"John\"}\n",[188577],{"type":426,"tag":549,"props":188578,"children":188579},{"__ignoreMap":417},[188580,188595,188607,188638,188670,188677],{"type":426,"tag":553,"props":188581,"children":188582},{"class":555,"line":556},[188583,188587,188591],{"type":426,"tag":553,"props":188584,"children":188585},{"style":684},[188586],{"type":431,"value":139172},{"type":426,"tag":553,"props":188588,"children":188589},{"style":795},[188590],{"type":431,"value":957},{"type":426,"tag":553,"props":188592,"children":188593},{"style":684},[188594],{"type":431,"value":153136},{"type":426,"tag":553,"props":188596,"children":188597},{"class":555,"line":588},[188598,188603],{"type":426,"tag":553,"props":188599,"children":188600},{"style":572},[188601],{"type":431,"value":188602},"    \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\"",{"type":426,"tag":553,"props":188604,"children":188605},{"style":684},[188606],{"type":431,"value":710},{"type":426,"tag":553,"props":188608,"children":188609},{"class":555,"line":606},[188610,188614,188618,188622,188626,188630,188634],{"type":426,"tag":553,"props":188611,"children":188612},{"style":1684},[188613],{"type":431,"value":139200},{"type":426,"tag":553,"props":188615,"children":188616},{"style":795},[188617],{"type":431,"value":957},{"type":426,"tag":553,"props":188619,"children":188620},{"style":684},[188621],{"type":431,"value":972},{"type":426,"tag":553,"props":188623,"children":188624},{"style":572},[188625],{"type":431,"value":45214},{"type":426,"tag":553,"props":188627,"children":188628},{"style":684},[188629],{"type":431,"value":700},{"type":426,"tag":553,"props":188631,"children":188632},{"style":572},[188633],{"type":431,"value":140737},{"type":426,"tag":553,"props":188635,"children":188636},{"style":684},[188637],{"type":431,"value":1737},{"type":426,"tag":553,"props":188639,"children":188640},{"class":555,"line":623},[188641,188646,188650,188654,188658,188662,188666],{"type":426,"tag":553,"props":188642,"children":188643},{"style":1684},[188644],{"type":431,"value":188645},"    params",{"type":426,"tag":553,"props":188647,"children":188648},{"style":795},[188649],{"type":431,"value":957},{"type":426,"tag":553,"props":188651,"children":188652},{"style":684},[188653],{"type":431,"value":972},{"type":426,"tag":553,"props":188655,"children":188656},{"style":572},[188657],{"type":431,"value":45266},{"type":426,"tag":553,"props":188659,"children":188660},{"style":684},[188661],{"type":431,"value":700},{"type":426,"tag":553,"props":188663,"children":188664},{"style":572},[188665],{"type":431,"value":7286},{"type":426,"tag":553,"props":188667,"children":188668},{"style":684},[188669],{"type":431,"value":756},{"type":426,"tag":553,"props":188671,"children":188672},{"class":555,"line":637},[188673],{"type":426,"tag":553,"props":188674,"children":188675},{"style":684},[188676],{"type":431,"value":3262},{"type":426,"tag":553,"props":188678,"children":188679},{"class":555,"line":646},[188680],{"type":426,"tag":553,"props":188681,"children":188682},{"style":1975},[188683],{"type":431,"value":188684},"# Returns: {\"exists\": true, \"isWhatsappBusiness\": false, \"name\": \"John\"}\n",{"type":426,"tag":427,"props":188686,"children":188687},{},[188688],{"type":431,"value":188689},"A WhatsApp API without number verification forces you to discover invalid numbers through failed send attempts — less efficient and harder to track.",{"type":426,"tag":434,"props":188691,"children":188693},{"id":188692},"feature-4-group-and-channel-messaging",[188694],{"type":431,"value":188695},"Feature 4: Group and Channel Messaging",{"type":426,"tag":427,"props":188697,"children":188698},{},[188699],{"type":431,"value":188700},"Beyond one-to-one messaging, a complete WhatsApp API should support:",{"type":426,"tag":454,"props":188702,"children":188703},{},[188704,188713],{"type":426,"tag":458,"props":188705,"children":188706},{},[188707,188711],{"type":426,"tag":446,"props":188708,"children":188709},{},[188710],{"type":431,"value":167187},{"type":431,"value":188712}," — Send messages to WhatsApp groups your number is a member of. Useful for community management, team updates, and internal communications.",{"type":426,"tag":458,"props":188714,"children":188715},{},[188716,188721],{"type":426,"tag":446,"props":188717,"children":188718},{},[188719],{"type":431,"value":188720},"Channels",{"type":431,"value":188722}," — Broadcast to WhatsApp Channel subscribers. Channels are one-to-many (no replies from subscribers), ideal for announcements and newsletters.",{"type":426,"tag":542,"props":188724,"children":188726},{"className":546,"code":188725,"language":545,"meta":417,"style":417},"# Send to a WhatsApp group (requires group JID)\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"groupId\": \"120363012345678901@g.us\", \"message\": \"Team meeting at 3pm today!\"}'\n",[188727],{"type":426,"tag":549,"props":188728,"children":188729},{"__ignoreMap":417},[188730,188738,188761,188776,188791],{"type":426,"tag":553,"props":188731,"children":188732},{"class":555,"line":556},[188733],{"type":426,"tag":553,"props":188734,"children":188735},{"style":1975},[188736],{"type":431,"value":188737},"# Send to a WhatsApp group (requires group JID)\n",{"type":426,"tag":553,"props":188739,"children":188740},{"class":555,"line":588},[188741,188745,188749,188753,188757],{"type":426,"tag":553,"props":188742,"children":188743},{"style":560},[188744],{"type":431,"value":563},{"type":426,"tag":553,"props":188746,"children":188747},{"style":566},[188748],{"type":431,"value":569},{"type":426,"tag":553,"props":188750,"children":188751},{"style":572},[188752],{"type":431,"value":575},{"type":426,"tag":553,"props":188754,"children":188755},{"style":572},[188756],{"type":431,"value":580},{"type":426,"tag":553,"props":188758,"children":188759},{"style":566},[188760],{"type":431,"value":585},{"type":426,"tag":553,"props":188762,"children":188763},{"class":555,"line":606},[188764,188768,188772],{"type":426,"tag":553,"props":188765,"children":188766},{"style":566},[188767],{"type":431,"value":594},{"type":426,"tag":553,"props":188769,"children":188770},{"style":572},[188771],{"type":431,"value":599},{"type":426,"tag":553,"props":188773,"children":188774},{"style":566},[188775],{"type":431,"value":585},{"type":426,"tag":553,"props":188777,"children":188778},{"class":555,"line":623},[188779,188783,188787],{"type":426,"tag":553,"props":188780,"children":188781},{"style":566},[188782],{"type":431,"value":594},{"type":426,"tag":553,"props":188784,"children":188785},{"style":572},[188786],{"type":431,"value":616},{"type":426,"tag":553,"props":188788,"children":188789},{"style":566},[188790],{"type":431,"value":585},{"type":426,"tag":553,"props":188792,"children":188793},{"class":555,"line":637},[188794,188798],{"type":426,"tag":553,"props":188795,"children":188796},{"style":566},[188797],{"type":431,"value":629},{"type":426,"tag":553,"props":188799,"children":188800},{"style":572},[188801],{"type":431,"value":188802}," '{\"groupId\": \"120363012345678901@g.us\", \"message\": \"Team meeting at 3pm today!\"}'\n",{"type":426,"tag":434,"props":188804,"children":188806},{"id":188805},"feature-5-bulk-messaging-with-rate-control",[188807],{"type":431,"value":188808},"Feature 5: Bulk Messaging with Rate Control",{"type":426,"tag":427,"props":188810,"children":188811},{},[188812],{"type":431,"value":188813},"Sending to multiple recipients should be a first-class feature — not an afterthought. Look for:",{"type":426,"tag":454,"props":188815,"children":188816},{},[188817,188822,188827],{"type":426,"tag":458,"props":188818,"children":188819},{},[188820],{"type":431,"value":188821},"No daily message cap",{"type":426,"tag":458,"props":188823,"children":188824},{},[188825],{"type":431,"value":188826},"Support for sequential sending with configurable delays",{"type":426,"tag":458,"props":188828,"children":188829},{},[188830],{"type":431,"value":188831},"Clear documentation on recommended sending rates",{"type":426,"tag":427,"props":188833,"children":188834},{},[188835,188837],{"type":431,"value":188836},"Rapiwa has no daily message cap on all plans. See the full guide: ",{"type":426,"tag":3819,"props":188838,"children":188839},{"href":370},[188840],{"type":431,"value":371},{"type":426,"tag":434,"props":188842,"children":188844},{"id":188843},"feature-6-no-code-integration-support",[188845],{"type":431,"value":188846},"Feature 6: No-Code Integration Support",{"type":426,"tag":427,"props":188848,"children":188849},{},[188850],{"type":431,"value":188851},"Not every team has developers for every workflow. A modern WhatsApp API should work with popular no-code automation tools:",{"type":426,"tag":427,"props":188853,"children":188854},{},[188855],{"type":426,"tag":446,"props":188856,"children":188857},{},[188858],{"type":431,"value":188859},"Rapiwa integrations:",{"type":426,"tag":10600,"props":188861,"children":188862},{},[188863,188882],{"type":426,"tag":10604,"props":188864,"children":188865},{},[188866],{"type":426,"tag":10608,"props":188867,"children":188868},{},[188869,188873,188877],{"type":426,"tag":10612,"props":188870,"children":188871},{},[188872],{"type":431,"value":149928},{"type":426,"tag":10612,"props":188874,"children":188875},{},[188876],{"type":431,"value":54821},{"type":426,"tag":10612,"props":188878,"children":188879},{},[188880],{"type":431,"value":188881},"Templates Available",{"type":426,"tag":10623,"props":188883,"children":188884},{},[188885,188910,188937,188954],{"type":426,"tag":10608,"props":188886,"children":188887},{},[188888,188892,188906],{"type":426,"tag":10630,"props":188889,"children":188890},{},[188891],{"type":431,"value":47653},{"type":426,"tag":10630,"props":188893,"children":188894},{},[188895,188900,188901],{"type":426,"tag":446,"props":188896,"children":188897},{},[188898],{"type":431,"value":188899},"Live",{"type":431,"value":22506},{"type":426,"tag":3819,"props":188902,"children":188904},{"href":145202,"rel":188903},[3823],[188905],{"type":431,"value":148497},{"type":426,"tag":10630,"props":188907,"children":188908},{},[188909],{"type":431,"value":11479},{"type":426,"tag":10608,"props":188911,"children":188912},{},[188913,188918,188932],{"type":426,"tag":10630,"props":188914,"children":188915},{},[188916],{"type":431,"value":188917},"WooCommerce (WordPress)",{"type":426,"tag":10630,"props":188919,"children":188920},{},[188921,188925,188926],{"type":426,"tag":446,"props":188922,"children":188923},{},[188924],{"type":431,"value":188899},{"type":431,"value":22506},{"type":426,"tag":3819,"props":188927,"children":188929},{"href":131923,"rel":188928},[3823],[188930],{"type":431,"value":188931},"Plugin on GitHub",{"type":426,"tag":10630,"props":188933,"children":188934},{},[188935],{"type":431,"value":188936},"Plugin",{"type":426,"tag":10608,"props":188938,"children":188939},{},[188940,188944,188949],{"type":426,"tag":10630,"props":188941,"children":188942},{},[188943],{"type":431,"value":78023},{"type":426,"tag":10630,"props":188945,"children":188946},{},[188947],{"type":431,"value":188948},"Via HTTP Module",{"type":426,"tag":10630,"props":188950,"children":188951},{},[188952],{"type":431,"value":188953},"0 (custom)",{"type":426,"tag":10608,"props":188955,"children":188956},{},[188957,188961,188966],{"type":426,"tag":10630,"props":188958,"children":188959},{},[188960],{"type":431,"value":78014},{"type":426,"tag":10630,"props":188962,"children":188963},{},[188964],{"type":431,"value":188965},"Via Webhook\u002FHTTP Action",{"type":426,"tag":10630,"props":188967,"children":188968},{},[188969],{"type":431,"value":188953},{"type":426,"tag":427,"props":188971,"children":188972},{},[188973],{"type":431,"value":188974},"The n8n templates cover WooCommerce invoices, order updates, Shopify cancellations, AI customer support bots, and Google Calendar reminders — all installable with one click.",{"type":426,"tag":434,"props":188976,"children":188978},{"id":188977},"feature-7-multi-language-sdk-support",[188979],{"type":431,"value":188980},"Feature 7: Multi-Language SDK Support",{"type":426,"tag":427,"props":188982,"children":188983},{},[188984],{"type":431,"value":188985},"Your team works in Python, your client uses Node.js, your WordPress site uses PHP. A good WhatsApp API must work with all of them:",{"type":426,"tag":10600,"props":188987,"children":188988},{},[188989,189005],{"type":426,"tag":10604,"props":188990,"children":188991},{},[188992],{"type":426,"tag":10608,"props":188993,"children":188994},{},[188995,189000],{"type":426,"tag":10612,"props":188996,"children":188997},{},[188998],{"type":431,"value":188999},"Language",{"type":426,"tag":10612,"props":189001,"children":189002},{},[189003],{"type":431,"value":189004},"Rapiwa Support",{"type":426,"tag":10623,"props":189006,"children":189007},{},[189008,189021,189038,189055,189071,189086],{"type":426,"tag":10608,"props":189009,"children":189010},{},[189011,189016],{"type":426,"tag":10630,"props":189012,"children":189013},{},[189014],{"type":431,"value":189015},"cURL (any environment)",{"type":426,"tag":10630,"props":189017,"children":189018},{},[189019],{"type":431,"value":189020},"Native REST API",{"type":426,"tag":10608,"props":189022,"children":189023},{},[189024,189028],{"type":426,"tag":10630,"props":189025,"children":189026},{},[189027],{"type":431,"value":78773},{"type":426,"tag":10630,"props":189029,"children":189030},{},[189031,189036],{"type":426,"tag":549,"props":189032,"children":189034},{"className":189033},[],[189035],{"type":431,"value":139054},{"type":431,"value":189037}," library",{"type":426,"tag":10608,"props":189039,"children":189040},{},[189041,189045],{"type":426,"tag":10630,"props":189042,"children":189043},{},[189044],{"type":431,"value":79188},{"type":426,"tag":10630,"props":189046,"children":189047},{},[189048,189053],{"type":426,"tag":549,"props":189049,"children":189051},{"className":189050},[],[189052],{"type":431,"value":106098},{"type":431,"value":189054}," (native in Node 18+)",{"type":426,"tag":10608,"props":189056,"children":189057},{},[189058,189062],{"type":426,"tag":10630,"props":189059,"children":189060},{},[189061],{"type":431,"value":123546},{"type":426,"tag":10630,"props":189063,"children":189064},{},[189065],{"type":426,"tag":549,"props":189066,"children":189068},{"className":189067},[],[189069],{"type":431,"value":189070},"GuzzleHTTP",{"type":426,"tag":10608,"props":189072,"children":189073},{},[189074,189078],{"type":426,"tag":10630,"props":189075,"children":189076},{},[189077],{"type":431,"value":171157},{"type":426,"tag":10630,"props":189079,"children":189080},{},[189081],{"type":426,"tag":549,"props":189082,"children":189084},{"className":189083},[],[189085],{"type":431,"value":66687},{"type":426,"tag":10608,"props":189087,"children":189088},{},[189089,189094],{"type":426,"tag":10630,"props":189090,"children":189091},{},[189092],{"type":431,"value":189093},"C#",{"type":426,"tag":10630,"props":189095,"children":189096},{},[189097],{"type":426,"tag":549,"props":189098,"children":189100},{"className":189099},[],[189101],{"type":431,"value":71505},{"type":426,"tag":427,"props":189103,"children":189104},{},[189105,189107],{"type":431,"value":189106},"Full code examples: ",{"type":426,"tag":3819,"props":189108,"children":189109},{"href":394},[189110],{"type":431,"value":184210},{"type":426,"tag":434,"props":189112,"children":189114},{"id":189113},"feature-8-session-persistence",[189115],{"type":431,"value":189116},"Feature 8: Session Persistence",{"type":426,"tag":427,"props":189118,"children":189119},{},[189120],{"type":431,"value":189121},"When you connect a WhatsApp number via QR code, the session should persist on the provider's servers without requiring your phone to stay connected. This is essential for production deployments.",{"type":426,"tag":427,"props":189123,"children":189124},{},[189125],{"type":431,"value":189126},"Poor session management means your WhatsApp connection drops every time you restart your phone or switch WiFi networks. Rapiwa maintains sessions on its own infrastructure so your number stays online independently of your phone's connectivity.",{"type":426,"tag":434,"props":189128,"children":189130},{"id":189129},"feature-9-simple-predictable-pricing",[189131],{"type":431,"value":189132},"Feature 9: Simple, Predictable Pricing",{"type":426,"tag":427,"props":189134,"children":189135},{},[189136],{"type":431,"value":189137},"Hidden fees, per-message charges, and conversation limits make budgeting impossible for developers building products. The best pricing model:",{"type":426,"tag":454,"props":189139,"children":189140},{},[189141,189151,189160,189170],{"type":426,"tag":458,"props":189142,"children":189143},{},[189144,189149],{"type":426,"tag":446,"props":189145,"children":189146},{},[189147],{"type":431,"value":189148},"Flat monthly fee",{"type":431,"value":189150}," — know your cost upfront",{"type":426,"tag":458,"props":189152,"children":189153},{},[189154,189158],{"type":426,"tag":446,"props":189155,"children":189156},{},[189157],{"type":431,"value":16125},{"type":431,"value":189159}," — send as much as you need",{"type":426,"tag":458,"props":189161,"children":189162},{},[189163,189168],{"type":426,"tag":446,"props":189164,"children":189165},{},[189166],{"type":431,"value":189167},"No conversation limits",{"type":431,"value":189169}," — no daily or monthly caps",{"type":426,"tag":458,"props":189171,"children":189172},{},[189173,189178],{"type":426,"tag":446,"props":189174,"children":189175},{},[189176],{"type":431,"value":189177},"Simple tiers",{"type":431,"value":189179}," — clear distinction between plans",{"type":426,"tag":427,"props":189181,"children":189182},{},[189183],{"type":431,"value":189184},"Rapiwa: $5\u002Fmonth flat, unlimited messages, no hidden fees.",{"type":426,"tag":434,"props":189186,"children":189188},{"id":189187},"feature-10-clear-api-documentation",[189189],{"type":431,"value":189190},"Feature 10: Clear API Documentation",{"type":426,"tag":427,"props":189192,"children":189193},{},[189194],{"type":431,"value":189195},"Good documentation saves hours of development time. Look for:",{"type":426,"tag":454,"props":189197,"children":189198},{},[189199,189204,189209,189214,189219],{"type":426,"tag":458,"props":189200,"children":189201},{},[189202],{"type":431,"value":189203},"Complete API reference with all endpoints, parameters, and response schemas",{"type":426,"tag":458,"props":189205,"children":189206},{},[189207],{"type":431,"value":189208},"Working code examples in multiple languages",{"type":426,"tag":458,"props":189210,"children":189211},{},[189212],{"type":431,"value":189213},"Webhook payload documentation",{"type":426,"tag":458,"props":189215,"children":189216},{},[189217],{"type":431,"value":189218},"Error code reference",{"type":426,"tag":458,"props":189220,"children":189221},{},[189222],{"type":431,"value":189223},"Changelog for API updates",{"type":426,"tag":427,"props":189225,"children":189226},{},[189227,189229],{"type":431,"value":189228},"Rapiwa's documentation: ",{"type":426,"tag":3819,"props":189230,"children":189233},{"href":189231,"rel":189232},"https:\u002F\u002Fdocs.rapiwa.com",[3823],[189234],{"type":431,"value":189235},"docs.rapiwa.com",{"type":426,"tag":434,"props":189237,"children":189239},{"id":189238},"features-checklist-what-to-evaluate",[189240],{"type":431,"value":189241},"Features Checklist: What to Evaluate",{"type":426,"tag":427,"props":189243,"children":189244},{},[189245],{"type":431,"value":189246},"Use this when comparing WhatsApp API providers:",{"type":426,"tag":10600,"props":189248,"children":189249},{},[189250,189269],{"type":426,"tag":10604,"props":189251,"children":189252},{},[189253],{"type":426,"tag":10608,"props":189254,"children":189255},{},[189256,189260,189265],{"type":426,"tag":10612,"props":189257,"children":189258},{},[189259],{"type":431,"value":16096},{"type":426,"tag":10612,"props":189261,"children":189262},{},[189263],{"type":431,"value":189264},"Must Have",{"type":426,"tag":10612,"props":189266,"children":189267},{},[189268],{"type":431,"value":127310},{"type":426,"tag":10623,"props":189270,"children":189271},{},[189272,189288,189304,189320,189336,189352,189368,189384,189399,189414,189430,189446,189462,189478,189496],{"type":426,"tag":10608,"props":189273,"children":189274},{},[189275,189280,189284],{"type":426,"tag":10630,"props":189276,"children":189277},{},[189278],{"type":431,"value":189279},"Text messaging",{"type":426,"tag":10630,"props":189281,"children":189282},{},[189283],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189285,"children":189286},{},[189287],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189289,"children":189290},{},[189291,189296,189300],{"type":426,"tag":10630,"props":189292,"children":189293},{},[189294],{"type":431,"value":189295},"Image\u002Fvideo messages",{"type":426,"tag":10630,"props":189297,"children":189298},{},[189299],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189301,"children":189302},{},[189303],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189305,"children":189306},{},[189307,189312,189316],{"type":426,"tag":10630,"props":189308,"children":189309},{},[189310],{"type":431,"value":189311},"Document\u002FPDF messages",{"type":426,"tag":10630,"props":189313,"children":189314},{},[189315],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189317,"children":189318},{},[189319],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189321,"children":189322},{},[189323,189328,189332],{"type":426,"tag":10630,"props":189324,"children":189325},{},[189326],{"type":431,"value":189327},"Voice messages",{"type":426,"tag":10630,"props":189329,"children":189330},{},[189331],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189333,"children":189334},{},[189335],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189337,"children":189338},{},[189339,189344,189348],{"type":426,"tag":10630,"props":189340,"children":189341},{},[189342],{"type":431,"value":189343},"Location sharing",{"type":426,"tag":10630,"props":189345,"children":189346},{},[189347],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189349,"children":189350},{},[189351],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189353,"children":189354},{},[189355,189360,189364],{"type":426,"tag":10630,"props":189356,"children":189357},{},[189358],{"type":431,"value":189359},"Incoming message webhooks",{"type":426,"tag":10630,"props":189361,"children":189362},{},[189363],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189365,"children":189366},{},[189367],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189369,"children":189370},{},[189371,189376,189380],{"type":426,"tag":10630,"props":189372,"children":189373},{},[189374],{"type":431,"value":189375},"Delivery\u002Fread receipts",{"type":426,"tag":10630,"props":189377,"children":189378},{},[189379],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189381,"children":189382},{},[189383],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189385,"children":189386},{},[189387,189391,189395],{"type":426,"tag":10630,"props":189388,"children":189389},{},[189390],{"type":431,"value":148619},{"type":426,"tag":10630,"props":189392,"children":189393},{},[189394],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189396,"children":189397},{},[189398],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189400,"children":189401},{},[189402,189406,189410],{"type":426,"tag":10630,"props":189403,"children":189404},{},[189405],{"type":431,"value":184749},{"type":426,"tag":10630,"props":189407,"children":189408},{},[189409],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189411,"children":189412},{},[189413],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189415,"children":189416},{},[189417,189422,189426],{"type":426,"tag":10630,"props":189418,"children":189419},{},[189420],{"type":431,"value":189421},"Channel\u002Fbroadcast",{"type":426,"tag":10630,"props":189423,"children":189424},{},[189425],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189427,"children":189428},{},[189429],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189431,"children":189432},{},[189433,189438,189442],{"type":426,"tag":10630,"props":189434,"children":189435},{},[189436],{"type":431,"value":189437},"Bulk messaging",{"type":426,"tag":10630,"props":189439,"children":189440},{},[189441],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189443,"children":189444},{},[189445],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189447,"children":189448},{},[189449,189454,189458],{"type":426,"tag":10630,"props":189450,"children":189451},{},[189452],{"type":431,"value":189453},"No per-message fee",{"type":426,"tag":10630,"props":189455,"children":189456},{},[189457],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189459,"children":189460},{},[189461],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189463,"children":189464},{},[189465,189470,189474],{"type":426,"tag":10630,"props":189466,"children":189467},{},[189468],{"type":431,"value":189469},"QR code setup (no Meta approval)",{"type":426,"tag":10630,"props":189471,"children":189472},{},[189473],{"type":431,"value":184652},{"type":426,"tag":10630,"props":189475,"children":189476},{},[189477],{"type":431,"value":184652},{"type":426,"tag":10608,"props":189479,"children":189480},{},[189481,189486,189491],{"type":426,"tag":10630,"props":189482,"children":189483},{},[189484],{"type":431,"value":189485},"n8n integration",{"type":426,"tag":10630,"props":189487,"children":189488},{},[189489],{"type":431,"value":189490},"Nice to have",{"type":426,"tag":10630,"props":189492,"children":189493},{},[189494],{"type":431,"value":189495},"✓ (10 templates)",{"type":426,"tag":10608,"props":189497,"children":189498},{},[189499,189503,189507],{"type":426,"tag":10630,"props":189500,"children":189501},{},[189502],{"type":431,"value":148534},{"type":426,"tag":10630,"props":189504,"children":189505},{},[189506],{"type":431,"value":189490},{"type":426,"tag":10630,"props":189508,"children":189509},{},[189510],{"type":431,"value":184652},{"type":426,"tag":434,"props":189512,"children":189513},{"id":4109},[189514],{"type":431,"value":4112},{"type":426,"tag":427,"props":189516,"children":189517},{},[189518,189523],{"type":426,"tag":446,"props":189519,"children":189520},{},[189521],{"type":431,"value":189522},"What is the most important WhatsApp API feature for developers?",{"type":431,"value":189524},"\nWebhooks are the most critical feature for developers — without them, you can only send messages, not receive and respond to them. Real-time webhook delivery is essential for building any kind of chatbot or conversational application.",{"type":426,"tag":427,"props":189526,"children":189527},{},[189528,189533],{"type":426,"tag":446,"props":189529,"children":189530},{},[189531],{"type":431,"value":189532},"Does Rapiwa support all WhatsApp message types?",{"type":431,"value":189534},"\nYes. Rapiwa supports text, images, videos, documents, voice messages, location, and contacts. It also supports messaging to groups and WhatsApp Channels.",{"type":426,"tag":427,"props":189536,"children":189537},{},[189538,189543],{"type":426,"tag":446,"props":189539,"children":189540},{},[189541],{"type":431,"value":189542},"Can I use Rapiwa without knowing how to code?",{"type":431,"value":189544},"\nYes. Rapiwa's 10 n8n workflow templates and WooCommerce plugin require zero coding. For WooCommerce stores and n8n automation users, everything is point-and-click.",{"type":426,"tag":427,"props":189546,"children":189547},{},[189548,189553],{"type":426,"tag":446,"props":189549,"children":189550},{},[189551],{"type":431,"value":189552},"What WhatsApp API features are missing from most providers?",{"type":431,"value":189554},"\nNumber verification, no-code automation templates, and ready-to-use e-commerce plugins are features that differentiate providers. Many APIs only offer raw messaging without the ecosystem around it.",{"type":426,"tag":427,"props":189556,"children":189557},{},[189558,189563,189565,189569],{"type":426,"tag":446,"props":189559,"children":189560},{},[189561],{"type":431,"value":189562},"How does Rapiwa compare to WasenderAPI on features?",{"type":431,"value":189564},"\nBoth support all WhatsApp message types and webhooks. Rapiwa has the edge on WooCommerce integration (dedicated plugin) and n8n templates (10 pre-built). WasenderAPI has the edge on production-ready SDKs (Node.js, Python, Laravel published). See the full comparison: ",{"type":426,"tag":3819,"props":189566,"children":189567},{"href":402},[189568],{"type":431,"value":177941},{"type":431,"value":6789},{"type":426,"tag":4164,"props":189571,"children":189572},{},[189573],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":189575},[189576,189577,189578,189579,189580,189581,189582,189583,189584,189585,189586,189587],{"id":188220,"depth":588,"text":188223},{"id":188508,"depth":588,"text":188511},{"id":188564,"depth":588,"text":188567},{"id":188692,"depth":588,"text":188695},{"id":188805,"depth":588,"text":188808},{"id":188843,"depth":588,"text":188846},{"id":188977,"depth":588,"text":188980},{"id":189113,"depth":588,"text":189116},{"id":189129,"depth":588,"text":189132},{"id":189187,"depth":588,"text":189190},{"id":189238,"depth":588,"text":189241},{"id":4109,"depth":588,"text":4112},"content:blog:best-whatsapp-api-features-every-developer-needs-in-2026.md","blog\u002Fbest-whatsapp-api-features-every-developer-needs-in-2026.md","blog\u002Fbest-whatsapp-api-features-every-developer-needs-in-2026",{"loc":350},{"_path":354,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":355,"description":356,"date":189593,"author":6858,"category":212,"_slug":189594,"image":189595,"body":189596,"_type":4187,"_id":191182,"_source":4189,"_file":191183,"_stem":191184,"_extension":4192,"sitemap":191185},"2025-12-12","whatsapp-vs-sms-for-business-which-delivers-better-roi","\u002Fimages\u002Fblog\u002Fwhatsapp-vs-sms-for-business-which-delivers-better-roi.svg",{"type":423,"children":189597,"toc":191160},[189598,189610,189616,189847,189853,189859,189864,189916,189921,189927,189935,189963,189971,189995,190000,190006,190011,190017,190022,190040,190045,190051,190057,190062,190068,190073,190079,190084,190090,190095,190101,190107,190112,190209,190214,190220,190225,190301,190306,190312,190669,190675,190680,190701,190705,190728,191097,191101,191111,191121,191131,191141,191156],{"type":426,"tag":427,"props":189599,"children":189600},{},[189601,189603,189608],{"type":431,"value":189602},"WhatsApp delivers a 98% open rate and 45–60% response rate vs SMS's 45% open rate and 10–15% response rate. For businesses in regions where WhatsApp is dominant (South Asia, Southeast Asia, Latin America, Europe, Middle East, Africa), WhatsApp API delivers significantly higher ROI than SMS — especially with flat-rate APIs like ",{"type":426,"tag":3819,"props":189604,"children":189606},{"href":3821,"rel":189605},[3823],[189607],{"type":431,"value":127310},{"type":431,"value":189609}," at $5\u002Fmonth that eliminate per-message fees entirely.",{"type":426,"tag":434,"props":189611,"children":189613},{"id":189612},"whatsapp-vs-sms-head-to-head-comparison",[189614],{"type":431,"value":189615},"WhatsApp vs SMS: Head-to-Head Comparison",{"type":426,"tag":10600,"props":189617,"children":189618},{},[189619,189638],{"type":426,"tag":10604,"props":189620,"children":189621},{},[189622],{"type":426,"tag":10608,"props":189623,"children":189624},{},[189625,189629,189633],{"type":426,"tag":10612,"props":189626,"children":189627},{},[189628],{"type":431,"value":22764},{"type":426,"tag":10612,"props":189630,"children":189631},{},[189632],{"type":431,"value":17},{"type":426,"tag":10612,"props":189634,"children":189635},{},[189636],{"type":431,"value":189637},"SMS API",{"type":426,"tag":10623,"props":189639,"children":189640},{},[189641,189660,189679,189698,189719,189738,189757,189774,189791,189810,189828],{"type":426,"tag":10608,"props":189642,"children":189643},{},[189644,189648,189655],{"type":426,"tag":10630,"props":189645,"children":189646},{},[189647],{"type":431,"value":30666},{"type":426,"tag":10630,"props":189649,"children":189650},{},[189651],{"type":426,"tag":446,"props":189652,"children":189653},{},[189654],{"type":431,"value":30671},{"type":426,"tag":10630,"props":189656,"children":189657},{},[189658],{"type":431,"value":189659},"45%",{"type":426,"tag":10608,"props":189661,"children":189662},{},[189663,189667,189674],{"type":426,"tag":10630,"props":189664,"children":189665},{},[189666],{"type":431,"value":30702},{"type":426,"tag":10630,"props":189668,"children":189669},{},[189670],{"type":426,"tag":446,"props":189671,"children":189672},{},[189673],{"type":431,"value":30689},{"type":426,"tag":10630,"props":189675,"children":189676},{},[189677],{"type":431,"value":189678},"10–15%",{"type":426,"tag":10608,"props":189680,"children":189681},{},[189682,189686,189693],{"type":426,"tag":10630,"props":189683,"children":189684},{},[189685],{"type":431,"value":30684},{"type":426,"tag":10630,"props":189687,"children":189688},{},[189689],{"type":426,"tag":446,"props":189690,"children":189691},{},[189692],{"type":431,"value":152554},{"type":426,"tag":10630,"props":189694,"children":189695},{},[189696],{"type":431,"value":189697},"5–10%",{"type":426,"tag":10608,"props":189699,"children":189700},{},[189701,189705,189714],{"type":426,"tag":10630,"props":189702,"children":189703},{},[189704],{"type":431,"value":152588},{"type":426,"tag":10630,"props":189706,"children":189707},{},[189708,189712],{"type":426,"tag":446,"props":189709,"children":189710},{},[189711],{"type":431,"value":103087},{"type":431,"value":189713}," (images, PDFs, voice)",{"type":426,"tag":10630,"props":189715,"children":189716},{},[189717],{"type":431,"value":189718},"Text only",{"type":426,"tag":10608,"props":189720,"children":189721},{},[189722,189726,189734],{"type":426,"tag":10630,"props":189723,"children":189724},{},[189725],{"type":431,"value":152610},{"type":426,"tag":10630,"props":189727,"children":189728},{},[189729,189733],{"type":426,"tag":446,"props":189730,"children":189731},{},[189732],{"type":431,"value":103087},{"type":431,"value":152619},{"type":426,"tag":10630,"props":189735,"children":189736},{},[189737],{"type":431,"value":78130},{"type":426,"tag":10608,"props":189739,"children":189740},{},[189741,189746,189753],{"type":426,"tag":10630,"props":189742,"children":189743},{},[189744],{"type":431,"value":189745},"Two-way conversation",{"type":426,"tag":10630,"props":189747,"children":189748},{},[189749],{"type":426,"tag":446,"props":189750,"children":189751},{},[189752],{"type":431,"value":103087},{"type":426,"tag":10630,"props":189754,"children":189755},{},[189756],{"type":431,"value":78140},{"type":426,"tag":10608,"props":189758,"children":189759},{},[189760,189765,189769],{"type":426,"tag":10630,"props":189761,"children":189762},{},[189763],{"type":431,"value":189764},"Character limit",{"type":426,"tag":10630,"props":189766,"children":189767},{},[189768],{"type":431,"value":1840},{"type":426,"tag":10630,"props":189770,"children":189771},{},[189772],{"type":431,"value":189773},"160 chars (160+ = multiple messages)",{"type":426,"tag":10608,"props":189775,"children":189776},{},[189777,189782,189787],{"type":426,"tag":10630,"props":189778,"children":189779},{},[189780],{"type":431,"value":189781},"Delivery speed",{"type":426,"tag":10630,"props":189783,"children":189784},{},[189785],{"type":431,"value":189786},"Seconds",{"type":426,"tag":10630,"props":189788,"children":189789},{},[189790],{"type":431,"value":189786},{"type":426,"tag":10608,"props":189792,"children":189793},{},[189794,189799,189803],{"type":426,"tag":10630,"props":189795,"children":189796},{},[189797],{"type":431,"value":189798},"Works without internet",{"type":426,"tag":10630,"props":189800,"children":189801},{},[189802],{"type":431,"value":78130},{"type":426,"tag":10630,"props":189804,"children":189805},{},[189806],{"type":426,"tag":446,"props":189807,"children":189808},{},[189809],{"type":431,"value":103087},{"type":426,"tag":10608,"props":189811,"children":189812},{},[189813,189818,189823],{"type":426,"tag":10630,"props":189814,"children":189815},{},[189816],{"type":431,"value":189817},"Pricing model",{"type":426,"tag":10630,"props":189819,"children":189820},{},[189821],{"type":431,"value":189822},"Flat monthly ($5\u002Fmo)",{"type":426,"tag":10630,"props":189824,"children":189825},{},[189826],{"type":431,"value":189827},"Per message ($0.01–$0.10)",{"type":426,"tag":10608,"props":189829,"children":189830},{},[189831,189835,189842],{"type":426,"tag":10630,"props":189832,"children":189833},{},[189834],{"type":431,"value":161975},{"type":426,"tag":10630,"props":189836,"children":189837},{},[189838],{"type":426,"tag":446,"props":189839,"children":189840},{},[189841],{"type":431,"value":148332},{"type":426,"tag":10630,"props":189843,"children":189844},{},[189845],{"type":431,"value":189846},"$100–$1,000",{"type":426,"tag":434,"props":189848,"children":189850},{"id":189849},"when-whatsapp-wins",[189851],{"type":431,"value":189852},"When WhatsApp Wins",{"type":426,"tag":515,"props":189854,"children":189856},{"id":189855},"_1-rich-media-communications",[189857],{"type":431,"value":189858},"1. Rich Media Communications",{"type":426,"tag":427,"props":189860,"children":189861},{},[189862],{"type":431,"value":189863},"SMS is text-only. WhatsApp lets you send:",{"type":426,"tag":454,"props":189865,"children":189866},{},[189867,189877,189887,189896,189906],{"type":426,"tag":458,"props":189868,"children":189869},{},[189870,189875],{"type":426,"tag":446,"props":189871,"children":189872},{},[189873],{"type":431,"value":189874},"PDF invoices",{"type":431,"value":189876}," attached directly in the chat",{"type":426,"tag":458,"props":189878,"children":189879},{},[189880,189885],{"type":426,"tag":446,"props":189881,"children":189882},{},[189883],{"type":431,"value":189884},"Product images",{"type":431,"value":189886}," for e-commerce promotions",{"type":426,"tag":458,"props":189888,"children":189889},{},[189890,189894],{"type":426,"tag":446,"props":189891,"children":189892},{},[189893],{"type":431,"value":189327},{"type":431,"value":189895}," for more personal customer interaction",{"type":426,"tag":458,"props":189897,"children":189898},{},[189899,189904],{"type":426,"tag":446,"props":189900,"children":189901},{},[189902],{"type":431,"value":189903},"Location pins",{"type":431,"value":189905}," for delivery tracking or store directions",{"type":426,"tag":458,"props":189907,"children":189908},{},[189909,189914],{"type":426,"tag":446,"props":189910,"children":189911},{},[189912],{"type":431,"value":189913},"Documents",{"type":431,"value":189915}," like contracts, guides, or tickets",{"type":426,"tag":427,"props":189917,"children":189918},{},[189919],{"type":431,"value":189920},"This single difference makes WhatsApp dramatically more useful for invoice delivery, e-commerce, and customer support.",{"type":426,"tag":515,"props":189922,"children":189924},{"id":189923},"_2-cost-at-scale",[189925],{"type":431,"value":189926},"2. Cost at Scale",{"type":426,"tag":427,"props":189928,"children":189929},{},[189930],{"type":426,"tag":446,"props":189931,"children":189932},{},[189933],{"type":431,"value":189934},"SMS pricing example (Twilio):",{"type":426,"tag":454,"props":189936,"children":189937},{},[189938,189943,189953],{"type":426,"tag":458,"props":189939,"children":189940},{},[189941],{"type":431,"value":189942},"$0.0079 per outbound message (US)",{"type":426,"tag":458,"props":189944,"children":189945},{},[189946,189948],{"type":431,"value":189947},"10,000 messages = ",{"type":426,"tag":446,"props":189949,"children":189950},{},[189951],{"type":431,"value":189952},"$79\u002Fmonth",{"type":426,"tag":458,"props":189954,"children":189955},{},[189956,189958],{"type":431,"value":189957},"100,000 messages = ",{"type":426,"tag":446,"props":189959,"children":189960},{},[189961],{"type":431,"value":189962},"$790\u002Fmonth",{"type":426,"tag":427,"props":189964,"children":189965},{},[189966],{"type":426,"tag":446,"props":189967,"children":189968},{},[189969],{"type":431,"value":189970},"WhatsApp API pricing (Rapiwa):",{"type":426,"tag":454,"props":189972,"children":189973},{},[189974,189979,189987],{"type":426,"tag":458,"props":189975,"children":189976},{},[189977],{"type":431,"value":189978},"$5\u002Fmonth flat — all plans",{"type":426,"tag":458,"props":189980,"children":189981},{},[189982,189983],{"type":431,"value":189947},{"type":426,"tag":446,"props":189984,"children":189985},{},[189986],{"type":431,"value":148332},{"type":426,"tag":458,"props":189988,"children":189989},{},[189990,189991],{"type":431,"value":189957},{"type":426,"tag":446,"props":189992,"children":189993},{},[189994],{"type":431,"value":148332},{"type":426,"tag":427,"props":189996,"children":189997},{},[189998],{"type":431,"value":189999},"At any meaningful volume, WhatsApp API is dramatically cheaper than SMS.",{"type":426,"tag":515,"props":190001,"children":190003},{"id":190002},"_3-engagement-and-response",[190004],{"type":431,"value":190005},"3. Engagement and Response",{"type":426,"tag":427,"props":190007,"children":190008},{},[190009],{"type":431,"value":190010},"WhatsApp's conversational UI naturally encourages replies. When a customer receives a WhatsApp message, they see it in the same app they use to talk to friends and family — creating a more personal, trusted context. This drives significantly higher engagement than SMS or email.",{"type":426,"tag":515,"props":190012,"children":190014},{"id":190013},"_4-read-receipts-and-delivery-confirmation",[190015],{"type":431,"value":190016},"4. Read Receipts and Delivery Confirmation",{"type":426,"tag":427,"props":190018,"children":190019},{},[190020],{"type":431,"value":190021},"WhatsApp shows you exactly:",{"type":426,"tag":454,"props":190023,"children":190024},{},[190025,190030,190035],{"type":426,"tag":458,"props":190026,"children":190027},{},[190028],{"type":431,"value":190029},"✓ Message sent",{"type":426,"tag":458,"props":190031,"children":190032},{},[190033],{"type":431,"value":190034},"✓✓ Message delivered to phone",{"type":426,"tag":458,"props":190036,"children":190037},{},[190038],{"type":431,"value":190039},"✓✓ (blue) Message read by recipient",{"type":426,"tag":427,"props":190041,"children":190042},{},[190043],{"type":431,"value":190044},"SMS gives you basic delivery reports (delivered\u002Ffailed) but no read confirmation.",{"type":426,"tag":434,"props":190046,"children":190048},{"id":190047},"when-sms-wins",[190049],{"type":431,"value":190050},"When SMS Wins",{"type":426,"tag":515,"props":190052,"children":190054},{"id":190053},"_1-recipients-without-internet",[190055],{"type":431,"value":190056},"1. Recipients Without Internet",{"type":426,"tag":427,"props":190058,"children":190059},{},[190060],{"type":431,"value":190061},"SMS works on any phone, with or without internet. WhatsApp requires internet. In regions with unreliable connectivity or among demographics that don't use smartphones, SMS remains more reliable for delivery.",{"type":426,"tag":515,"props":190063,"children":190065},{"id":190064},"_2-global-coverage",[190066],{"type":431,"value":190067},"2. Global Coverage",{"type":426,"tag":427,"props":190069,"children":190070},{},[190071],{"type":431,"value":190072},"SMS works in every country on every carrier. WhatsApp dominates in most regions but has lower penetration in the USA and Canada (where iMessage dominates), Japan, China (WeChat), and South Korea (KakaoTalk).",{"type":426,"tag":515,"props":190074,"children":190076},{"id":190075},"_3-no-app-required",[190077],{"type":431,"value":190078},"3. No App Required",{"type":426,"tag":427,"props":190080,"children":190081},{},[190082],{"type":431,"value":190083},"Every mobile phone can receive SMS. Not everyone has WhatsApp installed. For critical alerts to a very diverse recipient base, SMS ensures delivery to 100% of mobile numbers.",{"type":426,"tag":515,"props":190085,"children":190087},{"id":190086},"_4-regulatory-compliance",[190088],{"type":431,"value":190089},"4. Regulatory Compliance",{"type":426,"tag":427,"props":190091,"children":190092},{},[190093],{"type":431,"value":190094},"Some regulated industries (banking, healthcare in certain jurisdictions) require SMS-based OTP and notification systems for compliance reasons. WhatsApp's ToS also limits certain marketing use cases.",{"type":426,"tag":434,"props":190096,"children":190098},{"id":190097},"cost-comparison-real-business-scenarios",[190099],{"type":431,"value":190100},"Cost Comparison: Real Business Scenarios",{"type":426,"tag":515,"props":190102,"children":190104},{"id":190103},"scenario-1-e-commerce-store-5000-ordersmonth",[190105],{"type":431,"value":190106},"Scenario 1: E-Commerce Store (5,000 orders\u002Fmonth)",{"type":426,"tag":427,"props":190108,"children":190109},{},[190110],{"type":431,"value":190111},"Sending order confirmation + shipping update to 5,000 customers (10,000 messages total):",{"type":426,"tag":10600,"props":190113,"children":190114},{},[190115,190139],{"type":426,"tag":10604,"props":190116,"children":190117},{},[190118],{"type":426,"tag":10608,"props":190119,"children":190120},{},[190121,190125,190129,190134],{"type":426,"tag":10612,"props":190122,"children":190123},{},[190124],{"type":431,"value":56226},{"type":426,"tag":10612,"props":190126,"children":190127},{},[190128],{"type":431,"value":505},{"type":426,"tag":10612,"props":190130,"children":190131},{},[190132],{"type":431,"value":190133},"Open Rate",{"type":426,"tag":10612,"props":190135,"children":190136},{},[190137],{"type":431,"value":190138},"Revenue from engagement",{"type":426,"tag":10623,"props":190140,"children":190141},{},[190142,190165,190189],{"type":426,"tag":10608,"props":190143,"children":190144},{},[190145,190150,190157,190161],{"type":426,"tag":10630,"props":190146,"children":190147},{},[190148],{"type":431,"value":190149},"WhatsApp (Rapiwa)",{"type":426,"tag":10630,"props":190151,"children":190152},{},[190153],{"type":426,"tag":446,"props":190154,"children":190155},{},[190156],{"type":431,"value":148332},{"type":426,"tag":10630,"props":190158,"children":190159},{},[190160],{"type":431,"value":30671},{"type":426,"tag":10630,"props":190162,"children":190163},{},[190164],{"type":431,"value":152575},{"type":426,"tag":10608,"props":190166,"children":190167},{},[190168,190173,190181,190185],{"type":426,"tag":10630,"props":190169,"children":190170},{},[190171],{"type":431,"value":190172},"SMS (Twilio US)",{"type":426,"tag":10630,"props":190174,"children":190175},{},[190176],{"type":426,"tag":446,"props":190177,"children":190178},{},[190179],{"type":431,"value":190180},"~$79\u002Fmonth",{"type":426,"tag":10630,"props":190182,"children":190183},{},[190184],{"type":431,"value":189659},{"type":426,"tag":10630,"props":190186,"children":190187},{},[190188],{"type":431,"value":66448},{"type":426,"tag":10608,"props":190190,"children":190191},{},[190192,190196,190201,190205],{"type":426,"tag":10630,"props":190193,"children":190194},{},[190195],{"type":431,"value":30655},{"type":426,"tag":10630,"props":190197,"children":190198},{},[190199],{"type":431,"value":190200},"~$30\u002Fmonth",{"type":426,"tag":10630,"props":190202,"children":190203},{},[190204],{"type":431,"value":30676},{"type":426,"tag":10630,"props":190206,"children":190207},{},[190208],{"type":431,"value":163591},{"type":426,"tag":427,"props":190210,"children":190211},{},[190212],{"type":431,"value":190213},"WhatsApp is cheaper AND more effective for e-commerce.",{"type":426,"tag":515,"props":190215,"children":190217},{"id":190216},"scenario-2-appointment-reminders-500month",[190218],{"type":431,"value":190219},"Scenario 2: Appointment Reminders (500\u002Fmonth)",{"type":426,"tag":427,"props":190221,"children":190222},{},[190223],{"type":431,"value":190224},"Healthcare clinic sending appointment reminders:",{"type":426,"tag":10600,"props":190226,"children":190227},{},[190228,190247],{"type":426,"tag":10604,"props":190229,"children":190230},{},[190231],{"type":426,"tag":10608,"props":190232,"children":190233},{},[190234,190238,190242],{"type":426,"tag":10612,"props":190235,"children":190236},{},[190237],{"type":431,"value":56226},{"type":426,"tag":10612,"props":190239,"children":190240},{},[190241],{"type":431,"value":505},{"type":426,"tag":10612,"props":190243,"children":190244},{},[190245],{"type":431,"value":190246},"No-show reduction",{"type":426,"tag":10623,"props":190248,"children":190249},{},[190250,190266,190283],{"type":426,"tag":10608,"props":190251,"children":190252},{},[190253,190257,190261],{"type":426,"tag":10630,"props":190254,"children":190255},{},[190256],{"type":431,"value":190149},{"type":426,"tag":10630,"props":190258,"children":190259},{},[190260],{"type":431,"value":148332},{"type":426,"tag":10630,"props":190262,"children":190263},{},[190264],{"type":431,"value":190265},"30–40%",{"type":426,"tag":10608,"props":190267,"children":190268},{},[190269,190273,190278],{"type":426,"tag":10630,"props":190270,"children":190271},{},[190272],{"type":431,"value":56293},{"type":426,"tag":10630,"props":190274,"children":190275},{},[190276],{"type":431,"value":190277},"~$5–10\u002Fmonth",{"type":426,"tag":10630,"props":190279,"children":190280},{},[190281],{"type":431,"value":190282},"15–20%",{"type":426,"tag":10608,"props":190284,"children":190285},{},[190286,190291,190296],{"type":426,"tag":10630,"props":190287,"children":190288},{},[190289],{"type":431,"value":190290},"Phone calls",{"type":426,"tag":10630,"props":190292,"children":190293},{},[190294],{"type":431,"value":190295},"Staff time",{"type":426,"tag":10630,"props":190297,"children":190298},{},[190299],{"type":431,"value":190300},"25–30%",{"type":426,"tag":427,"props":190302,"children":190303},{},[190304],{"type":431,"value":190305},"At this volume, SMS and WhatsApp have similar pricing, but WhatsApp achieves better no-show reduction due to higher engagement.",{"type":426,"tag":434,"props":190307,"children":190309},{"id":190308},"how-to-send-whatsapp-messages-via-api-rapiwa",[190310],{"type":431,"value":190311},"How to Send WhatsApp Messages via API (Rapiwa)",{"type":426,"tag":542,"props":190313,"children":190315},{"className":785,"code":190314,"language":784,"meta":417,"style":417},"import requests\n\n# Send WhatsApp message (same simplicity as SMS, but richer)\ndef send_whatsapp(phone, message):\n    return requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_RAPIWA_KEY\"},\n        json={\"number\": phone, \"message\": message}\n    ).json()\n\n# Send with attached PDF invoice (impossible with SMS)\ndef send_invoice_via_whatsapp(phone, invoice_url, order_id):\n    return requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_RAPIWA_KEY\"},\n        json={\n            \"number\": phone,\n            \"document\": invoice_url,\n            \"filename\": f\"Invoice_{order_id}.pdf\",\n            \"caption\": f\"Your invoice for order #{order_id} is attached.\"\n        }\n    ).json()\n",[190316],{"type":426,"tag":549,"props":190317,"children":190318},{"__ignoreMap":417},[190319,190330,190337,190345,190360,190371,190382,190413,190444,190451,190458,190466,190483,190494,190505,190536,190551,190562,190575,190617,190655,190662],{"type":426,"tag":553,"props":190320,"children":190321},{"class":555,"line":556},[190322,190326],{"type":426,"tag":553,"props":190323,"children":190324},{"style":795},[190325],{"type":431,"value":798},{"type":426,"tag":553,"props":190327,"children":190328},{"style":684},[190329],{"type":431,"value":803},{"type":426,"tag":553,"props":190331,"children":190332},{"class":555,"line":588},[190333],{"type":426,"tag":553,"props":190334,"children":190335},{"emptyLinePlaceholder":831},[190336],{"type":431,"value":834},{"type":426,"tag":553,"props":190338,"children":190339},{"class":555,"line":606},[190340],{"type":426,"tag":553,"props":190341,"children":190342},{"style":1975},[190343],{"type":431,"value":190344},"# Send WhatsApp message (same simplicity as SMS, but richer)\n",{"type":426,"tag":553,"props":190346,"children":190347},{"class":555,"line":623},[190348,190352,190356],{"type":426,"tag":553,"props":190349,"children":190350},{"style":795},[190351],{"type":431,"value":842},{"type":426,"tag":553,"props":190353,"children":190354},{"style":560},[190355],{"type":431,"value":20746},{"type":426,"tag":553,"props":190357,"children":190358},{"style":684},[190359],{"type":431,"value":129214},{"type":426,"tag":553,"props":190361,"children":190362},{"class":555,"line":637},[190363,190367],{"type":426,"tag":553,"props":190364,"children":190365},{"style":795},[190366],{"type":431,"value":1659},{"type":426,"tag":553,"props":190368,"children":190369},{"style":684},[190370],{"type":431,"value":1664},{"type":426,"tag":553,"props":190372,"children":190373},{"class":555,"line":646},[190374,190378],{"type":426,"tag":553,"props":190375,"children":190376},{"style":572},[190377],{"type":431,"value":47296},{"type":426,"tag":553,"props":190379,"children":190380},{"style":684},[190381],{"type":431,"value":710},{"type":426,"tag":553,"props":190383,"children":190384},{"class":555,"line":655},[190385,190389,190393,190397,190401,190405,190409],{"type":426,"tag":553,"props":190386,"children":190387},{"style":1684},[190388],{"type":431,"value":1687},{"type":426,"tag":553,"props":190390,"children":190391},{"style":795},[190392],{"type":431,"value":957},{"type":426,"tag":553,"props":190394,"children":190395},{"style":684},[190396],{"type":431,"value":972},{"type":426,"tag":553,"props":190398,"children":190399},{"style":572},[190400],{"type":431,"value":45214},{"type":426,"tag":553,"props":190402,"children":190403},{"style":684},[190404],{"type":431,"value":700},{"type":426,"tag":553,"props":190406,"children":190407},{"style":572},[190408],{"type":431,"value":147695},{"type":426,"tag":553,"props":190410,"children":190411},{"style":684},[190412],{"type":431,"value":1737},{"type":426,"tag":553,"props":190414,"children":190415},{"class":555,"line":1036},[190416,190420,190424,190428,190432,190436,190440],{"type":426,"tag":553,"props":190417,"children":190418},{"style":1684},[190419],{"type":431,"value":1746},{"type":426,"tag":553,"props":190421,"children":190422},{"style":795},[190423],{"type":431,"value":957},{"type":426,"tag":553,"props":190425,"children":190426},{"style":684},[190427],{"type":431,"value":972},{"type":426,"tag":553,"props":190429,"children":190430},{"style":572},[190431],{"type":431,"value":45266},{"type":426,"tag":553,"props":190433,"children":190434},{"style":684},[190435],{"type":431,"value":8931},{"type":426,"tag":553,"props":190437,"children":190438},{"style":572},[190439],{"type":431,"value":45275},{"type":426,"tag":553,"props":190441,"children":190442},{"style":684},[190443],{"type":431,"value":1784},{"type":426,"tag":553,"props":190445,"children":190446},{"class":555,"line":1054},[190447],{"type":426,"tag":553,"props":190448,"children":190449},{"style":684},[190450],{"type":431,"value":1793},{"type":426,"tag":553,"props":190452,"children":190453},{"class":555,"line":1080},[190454],{"type":426,"tag":553,"props":190455,"children":190456},{"emptyLinePlaceholder":831},[190457],{"type":431,"value":834},{"type":426,"tag":553,"props":190459,"children":190460},{"class":555,"line":1097},[190461],{"type":426,"tag":553,"props":190462,"children":190463},{"style":1975},[190464],{"type":431,"value":190465},"# Send with attached PDF invoice (impossible with SMS)\n",{"type":426,"tag":553,"props":190467,"children":190468},{"class":555,"line":1114},[190469,190473,190478],{"type":426,"tag":553,"props":190470,"children":190471},{"style":795},[190472],{"type":431,"value":842},{"type":426,"tag":553,"props":190474,"children":190475},{"style":560},[190476],{"type":431,"value":190477}," send_invoice_via_whatsapp",{"type":426,"tag":553,"props":190479,"children":190480},{"style":684},[190481],{"type":431,"value":190482},"(phone, invoice_url, order_id):\n",{"type":426,"tag":553,"props":190484,"children":190485},{"class":555,"line":1127},[190486,190490],{"type":426,"tag":553,"props":190487,"children":190488},{"style":795},[190489],{"type":431,"value":1659},{"type":426,"tag":553,"props":190491,"children":190492},{"style":684},[190493],{"type":431,"value":1664},{"type":426,"tag":553,"props":190495,"children":190496},{"class":555,"line":1167},[190497,190501],{"type":426,"tag":553,"props":190498,"children":190499},{"style":572},[190500],{"type":431,"value":47296},{"type":426,"tag":553,"props":190502,"children":190503},{"style":684},[190504],{"type":431,"value":710},{"type":426,"tag":553,"props":190506,"children":190507},{"class":555,"line":1184},[190508,190512,190516,190520,190524,190528,190532],{"type":426,"tag":553,"props":190509,"children":190510},{"style":1684},[190511],{"type":431,"value":1687},{"type":426,"tag":553,"props":190513,"children":190514},{"style":795},[190515],{"type":431,"value":957},{"type":426,"tag":553,"props":190517,"children":190518},{"style":684},[190519],{"type":431,"value":972},{"type":426,"tag":553,"props":190521,"children":190522},{"style":572},[190523],{"type":431,"value":45214},{"type":426,"tag":553,"props":190525,"children":190526},{"style":684},[190527],{"type":431,"value":700},{"type":426,"tag":553,"props":190529,"children":190530},{"style":572},[190531],{"type":431,"value":147695},{"type":426,"tag":553,"props":190533,"children":190534},{"style":684},[190535],{"type":431,"value":1737},{"type":426,"tag":553,"props":190537,"children":190538},{"class":555,"line":1192},[190539,190543,190547],{"type":426,"tag":553,"props":190540,"children":190541},{"style":1684},[190542],{"type":431,"value":1746},{"type":426,"tag":553,"props":190544,"children":190545},{"style":795},[190546],{"type":431,"value":957},{"type":426,"tag":553,"props":190548,"children":190549},{"style":684},[190550],{"type":431,"value":687},{"type":426,"tag":553,"props":190552,"children":190553},{"class":555,"line":1210},[190554,190558],{"type":426,"tag":553,"props":190555,"children":190556},{"style":572},[190557],{"type":431,"value":179334},{"type":426,"tag":553,"props":190559,"children":190560},{"style":684},[190561],{"type":431,"value":37726},{"type":426,"tag":553,"props":190563,"children":190564},{"class":555,"line":1253},[190565,190570],{"type":426,"tag":553,"props":190566,"children":190567},{"style":572},[190568],{"type":431,"value":190569},"            \"document\"",{"type":426,"tag":553,"props":190571,"children":190572},{"style":684},[190573],{"type":431,"value":190574},": invoice_url,\n",{"type":426,"tag":553,"props":190576,"children":190577},{"class":555,"line":1302},[190578,190583,190587,190591,190596,190600,190604,190608,190613],{"type":426,"tag":553,"props":190579,"children":190580},{"style":572},[190581],{"type":431,"value":190582},"            \"filename\"",{"type":426,"tag":553,"props":190584,"children":190585},{"style":684},[190586],{"type":431,"value":700},{"type":426,"tag":553,"props":190588,"children":190589},{"style":795},[190590],{"type":431,"value":1709},{"type":426,"tag":553,"props":190592,"children":190593},{"style":572},[190594],{"type":431,"value":190595},"\"Invoice_",{"type":426,"tag":553,"props":190597,"children":190598},{"style":566},[190599],{"type":431,"value":972},{"type":426,"tag":553,"props":190601,"children":190602},{"style":684},[190603],{"type":431,"value":46710},{"type":426,"tag":553,"props":190605,"children":190606},{"style":566},[190607],{"type":431,"value":982},{"type":426,"tag":553,"props":190609,"children":190610},{"style":572},[190611],{"type":431,"value":190612},".pdf\"",{"type":426,"tag":553,"props":190614,"children":190615},{"style":684},[190616],{"type":431,"value":710},{"type":426,"tag":553,"props":190618,"children":190619},{"class":555,"line":1374},[190620,190625,190629,190633,190638,190642,190646,190650],{"type":426,"tag":553,"props":190621,"children":190622},{"style":572},[190623],{"type":431,"value":190624},"            \"caption\"",{"type":426,"tag":553,"props":190626,"children":190627},{"style":684},[190628],{"type":431,"value":700},{"type":426,"tag":553,"props":190630,"children":190631},{"style":795},[190632],{"type":431,"value":1709},{"type":426,"tag":553,"props":190634,"children":190635},{"style":572},[190636],{"type":431,"value":190637},"\"Your invoice for order #",{"type":426,"tag":553,"props":190639,"children":190640},{"style":566},[190641],{"type":431,"value":972},{"type":426,"tag":553,"props":190643,"children":190644},{"style":684},[190645],{"type":431,"value":46710},{"type":426,"tag":553,"props":190647,"children":190648},{"style":566},[190649],{"type":431,"value":982},{"type":426,"tag":553,"props":190651,"children":190652},{"style":572},[190653],{"type":431,"value":190654}," is attached.\"\n",{"type":426,"tag":553,"props":190656,"children":190657},{"class":555,"line":1414},[190658],{"type":426,"tag":553,"props":190659,"children":190660},{"style":684},[190661],{"type":431,"value":15075},{"type":426,"tag":553,"props":190663,"children":190664},{"class":555,"line":1479},[190665],{"type":426,"tag":553,"props":190666,"children":190667},{"style":684},[190668],{"type":431,"value":1793},{"type":426,"tag":434,"props":190670,"children":190672},{"id":190671},"the-hybrid-strategy-use-both",[190673],{"type":431,"value":190674},"The Hybrid Strategy: Use Both",{"type":426,"tag":427,"props":190676,"children":190677},{},[190678],{"type":431,"value":190679},"For maximum coverage, many businesses use both channels strategically:",{"type":426,"tag":454,"props":190681,"children":190682},{},[190683,190692],{"type":426,"tag":458,"props":190684,"children":190685},{},[190686,190690],{"type":426,"tag":446,"props":190687,"children":190688},{},[190689],{"type":431,"value":30650},{"type":431,"value":190691}," — primary channel for customers with WhatsApp (rich, engaging, cheap)",{"type":426,"tag":458,"props":190693,"children":190694},{},[190695,190699],{"type":426,"tag":446,"props":190696,"children":190697},{},[190698],{"type":431,"value":56293},{"type":431,"value":190700}," — fallback for customers without WhatsApp (basic but universal)",{"type":426,"tag":427,"props":190702,"children":190703},{},[190704],{"type":431,"value":39768},{"type":426,"tag":6331,"props":190706,"children":190707},{},[190708,190718,190723],{"type":426,"tag":458,"props":190709,"children":190710},{},[190711,190713],{"type":431,"value":190712},"Check if the number is on WhatsApp using ",{"type":426,"tag":3819,"props":190714,"children":190715},{"href":358},[190716],{"type":431,"value":190717},"Rapiwa's number verification API",{"type":426,"tag":458,"props":190719,"children":190720},{},[190721],{"type":431,"value":190722},"If on WhatsApp → send via Rapiwa API",{"type":426,"tag":458,"props":190724,"children":190725},{},[190726],{"type":431,"value":190727},"If not on WhatsApp → fall back to SMS (Twilio, Vonage)",{"type":426,"tag":542,"props":190729,"children":190731},{"className":785,"code":190730,"language":784,"meta":417,"style":417},"import requests\n\ndef send_notification(phone, message, invoice_url=None):\n    # Check WhatsApp first\n    check = requests.get(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\",\n        headers={\"Authorization\": \"Bearer RAPIWA_KEY\"},\n        params={\"number\": phone}\n    ).json()\n    \n    if check.get(\"exists\"):\n        # Send via WhatsApp\n        payload = {\"number\": phone, \"message\": message}\n        if invoice_url:\n            payload[\"document\"] = invoice_url\n        \n        requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": \"Bearer RAPIWA_KEY\"},\n            json=payload)\n        return \"whatsapp\"\n    else:\n        # Fall back to SMS\n        # send_sms(phone, message)  # Your SMS provider here\n        return \"sms\"\n",[190732],{"type":426,"tag":549,"props":190733,"children":190734},{"__ignoreMap":417},[190735,190746,190753,190782,190790,190805,190816,190847,190870,190877,190884,190903,190911,190942,190954,190978,190985,191000,191031,191046,191058,191069,191077,191085],{"type":426,"tag":553,"props":190736,"children":190737},{"class":555,"line":556},[190738,190742],{"type":426,"tag":553,"props":190739,"children":190740},{"style":795},[190741],{"type":431,"value":798},{"type":426,"tag":553,"props":190743,"children":190744},{"style":684},[190745],{"type":431,"value":803},{"type":426,"tag":553,"props":190747,"children":190748},{"class":555,"line":588},[190749],{"type":426,"tag":553,"props":190750,"children":190751},{"emptyLinePlaceholder":831},[190752],{"type":431,"value":834},{"type":426,"tag":553,"props":190754,"children":190755},{"class":555,"line":606},[190756,190760,190765,190770,190774,190778],{"type":426,"tag":553,"props":190757,"children":190758},{"style":795},[190759],{"type":431,"value":842},{"type":426,"tag":553,"props":190761,"children":190762},{"style":560},[190763],{"type":431,"value":190764}," send_notification",{"type":426,"tag":553,"props":190766,"children":190767},{"style":684},[190768],{"type":431,"value":190769},"(phone, message, invoice_url",{"type":426,"tag":553,"props":190771,"children":190772},{"style":795},[190773],{"type":431,"value":957},{"type":426,"tag":553,"props":190775,"children":190776},{"style":566},[190777],{"type":431,"value":1840},{"type":426,"tag":553,"props":190779,"children":190780},{"style":684},[190781],{"type":431,"value":8370},{"type":426,"tag":553,"props":190783,"children":190784},{"class":555,"line":623},[190785],{"type":426,"tag":553,"props":190786,"children":190787},{"style":1975},[190788],{"type":431,"value":190789},"    # Check WhatsApp first\n",{"type":426,"tag":553,"props":190791,"children":190792},{"class":555,"line":637},[190793,190797,190801],{"type":426,"tag":553,"props":190794,"children":190795},{"style":684},[190796],{"type":431,"value":153127},{"type":426,"tag":553,"props":190798,"children":190799},{"style":795},[190800],{"type":431,"value":957},{"type":426,"tag":553,"props":190802,"children":190803},{"style":684},[190804],{"type":431,"value":153136},{"type":426,"tag":553,"props":190806,"children":190807},{"class":555,"line":646},[190808,190812],{"type":426,"tag":553,"props":190809,"children":190810},{"style":572},[190811],{"type":431,"value":153144},{"type":426,"tag":553,"props":190813,"children":190814},{"style":684},[190815],{"type":431,"value":710},{"type":426,"tag":553,"props":190817,"children":190818},{"class":555,"line":655},[190819,190823,190827,190831,190835,190839,190843],{"type":426,"tag":553,"props":190820,"children":190821},{"style":1684},[190822],{"type":431,"value":1687},{"type":426,"tag":553,"props":190824,"children":190825},{"style":795},[190826],{"type":431,"value":957},{"type":426,"tag":553,"props":190828,"children":190829},{"style":684},[190830],{"type":431,"value":972},{"type":426,"tag":553,"props":190832,"children":190833},{"style":572},[190834],{"type":431,"value":45214},{"type":426,"tag":553,"props":190836,"children":190837},{"style":684},[190838],{"type":431,"value":700},{"type":426,"tag":553,"props":190840,"children":190841},{"style":572},[190842],{"type":431,"value":153176},{"type":426,"tag":553,"props":190844,"children":190845},{"style":684},[190846],{"type":431,"value":1737},{"type":426,"tag":553,"props":190848,"children":190849},{"class":555,"line":1036},[190850,190854,190858,190862,190866],{"type":426,"tag":553,"props":190851,"children":190852},{"style":1684},[190853],{"type":431,"value":153188},{"type":426,"tag":553,"props":190855,"children":190856},{"style":795},[190857],{"type":431,"value":957},{"type":426,"tag":553,"props":190859,"children":190860},{"style":684},[190861],{"type":431,"value":972},{"type":426,"tag":553,"props":190863,"children":190864},{"style":572},[190865],{"type":431,"value":45266},{"type":426,"tag":553,"props":190867,"children":190868},{"style":684},[190869],{"type":431,"value":140310},{"type":426,"tag":553,"props":190871,"children":190872},{"class":555,"line":1054},[190873],{"type":426,"tag":553,"props":190874,"children":190875},{"style":684},[190876],{"type":431,"value":1793},{"type":426,"tag":553,"props":190878,"children":190879},{"class":555,"line":1080},[190880],{"type":426,"tag":553,"props":190881,"children":190882},{"style":684},[190883],{"type":431,"value":917},{"type":426,"tag":553,"props":190885,"children":190886},{"class":555,"line":1097},[190887,190891,190895,190899],{"type":426,"tag":553,"props":190888,"children":190889},{"style":795},[190890],{"type":431,"value":925},{"type":426,"tag":553,"props":190892,"children":190893},{"style":684},[190894],{"type":431,"value":153230},{"type":426,"tag":553,"props":190896,"children":190897},{"style":572},[190898],{"type":431,"value":153235},{"type":426,"tag":553,"props":190900,"children":190901},{"style":684},[190902],{"type":431,"value":8370},{"type":426,"tag":553,"props":190904,"children":190905},{"class":555,"line":1114},[190906],{"type":426,"tag":553,"props":190907,"children":190908},{"style":1975},[190909],{"type":431,"value":190910},"        # Send via WhatsApp\n",{"type":426,"tag":553,"props":190912,"children":190913},{"class":555,"line":1127},[190914,190918,190922,190926,190930,190934,190938],{"type":426,"tag":553,"props":190915,"children":190916},{"style":684},[190917],{"type":431,"value":13413},{"type":426,"tag":553,"props":190919,"children":190920},{"style":795},[190921],{"type":431,"value":957},{"type":426,"tag":553,"props":190923,"children":190924},{"style":684},[190925],{"type":431,"value":1450},{"type":426,"tag":553,"props":190927,"children":190928},{"style":572},[190929],{"type":431,"value":45266},{"type":426,"tag":553,"props":190931,"children":190932},{"style":684},[190933],{"type":431,"value":8931},{"type":426,"tag":553,"props":190935,"children":190936},{"style":572},[190937],{"type":431,"value":45275},{"type":426,"tag":553,"props":190939,"children":190940},{"style":684},[190941],{"type":431,"value":1784},{"type":426,"tag":553,"props":190943,"children":190944},{"class":555,"line":1167},[190945,190949],{"type":426,"tag":553,"props":190946,"children":190947},{"style":795},[190948],{"type":431,"value":2972},{"type":426,"tag":553,"props":190950,"children":190951},{"style":684},[190952],{"type":431,"value":190953}," invoice_url:\n",{"type":426,"tag":553,"props":190955,"children":190956},{"class":555,"line":1184},[190957,190961,190965,190969,190973],{"type":426,"tag":553,"props":190958,"children":190959},{"style":684},[190960],{"type":431,"value":139856},{"type":426,"tag":553,"props":190962,"children":190963},{"style":572},[190964],{"type":431,"value":140060},{"type":426,"tag":553,"props":190966,"children":190967},{"style":684},[190968],{"type":431,"value":2229},{"type":426,"tag":553,"props":190970,"children":190971},{"style":795},[190972],{"type":431,"value":957},{"type":426,"tag":553,"props":190974,"children":190975},{"style":684},[190976],{"type":431,"value":190977}," invoice_url\n",{"type":426,"tag":553,"props":190979,"children":190980},{"class":555,"line":1192},[190981],{"type":426,"tag":553,"props":190982,"children":190983},{"style":684},[190984],{"type":431,"value":2061},{"type":426,"tag":553,"props":190986,"children":190987},{"class":555,"line":1210},[190988,190992,190996],{"type":426,"tag":553,"props":190989,"children":190990},{"style":684},[190991],{"type":431,"value":153255},{"type":426,"tag":553,"props":190993,"children":190994},{"style":572},[190995],{"type":431,"value":60449},{"type":426,"tag":553,"props":190997,"children":190998},{"style":684},[190999],{"type":431,"value":710},{"type":426,"tag":553,"props":191001,"children":191002},{"class":555,"line":1253},[191003,191007,191011,191015,191019,191023,191027],{"type":426,"tag":553,"props":191004,"children":191005},{"style":1684},[191006],{"type":431,"value":2864},{"type":426,"tag":553,"props":191008,"children":191009},{"style":795},[191010],{"type":431,"value":957},{"type":426,"tag":553,"props":191012,"children":191013},{"style":684},[191014],{"type":431,"value":972},{"type":426,"tag":553,"props":191016,"children":191017},{"style":572},[191018],{"type":431,"value":45214},{"type":426,"tag":553,"props":191020,"children":191021},{"style":684},[191022],{"type":431,"value":700},{"type":426,"tag":553,"props":191024,"children":191025},{"style":572},[191026],{"type":431,"value":153176},{"type":426,"tag":553,"props":191028,"children":191029},{"style":684},[191030],{"type":431,"value":1737},{"type":426,"tag":553,"props":191032,"children":191033},{"class":555,"line":1302},[191034,191038,191042],{"type":426,"tag":553,"props":191035,"children":191036},{"style":1684},[191037],{"type":431,"value":2916},{"type":426,"tag":553,"props":191039,"children":191040},{"style":795},[191041],{"type":431,"value":957},{"type":426,"tag":553,"props":191043,"children":191044},{"style":684},[191045],{"type":431,"value":113381},{"type":426,"tag":553,"props":191047,"children":191048},{"class":555,"line":1374},[191049,191053],{"type":426,"tag":553,"props":191050,"children":191051},{"style":795},[191052],{"type":431,"value":8378},{"type":426,"tag":553,"props":191054,"children":191055},{"style":572},[191056],{"type":431,"value":191057}," \"whatsapp\"\n",{"type":426,"tag":553,"props":191059,"children":191060},{"class":555,"line":1414},[191061,191065],{"type":426,"tag":553,"props":191062,"children":191063},{"style":795},[191064],{"type":431,"value":1120},{"type":426,"tag":553,"props":191066,"children":191067},{"style":684},[191068],{"type":431,"value":909},{"type":426,"tag":553,"props":191070,"children":191071},{"class":555,"line":1479},[191072],{"type":426,"tag":553,"props":191073,"children":191074},{"style":1975},[191075],{"type":431,"value":191076},"        # Fall back to SMS\n",{"type":426,"tag":553,"props":191078,"children":191079},{"class":555,"line":1517},[191080],{"type":426,"tag":553,"props":191081,"children":191082},{"style":1975},[191083],{"type":431,"value":191084},"        # send_sms(phone, message)  # Your SMS provider here\n",{"type":426,"tag":553,"props":191086,"children":191087},{"class":555,"line":1560},[191088,191092],{"type":426,"tag":553,"props":191089,"children":191090},{"style":795},[191091],{"type":431,"value":8378},{"type":426,"tag":553,"props":191093,"children":191094},{"style":572},[191095],{"type":431,"value":191096}," \"sms\"\n",{"type":426,"tag":434,"props":191098,"children":191099},{"id":4109},[191100],{"type":431,"value":4112},{"type":426,"tag":427,"props":191102,"children":191103},{},[191104,191109],{"type":426,"tag":446,"props":191105,"children":191106},{},[191107],{"type":431,"value":191108},"Is WhatsApp better than SMS for business?",{"type":431,"value":191110},"\nIn most cases, yes. WhatsApp achieves 98% open rates vs SMS's 45%, supports rich media like images and PDFs, enables two-way conversations, and is significantly cheaper at scale with flat-rate APIs like Rapiwa ($5\u002Fmonth vs per-message SMS fees).",{"type":426,"tag":427,"props":191112,"children":191113},{},[191114,191119],{"type":426,"tag":446,"props":191115,"children":191116},{},[191117],{"type":431,"value":191118},"Does WhatsApp work everywhere SMS does?",{"type":431,"value":191120},"\nNo. WhatsApp requires internet and the WhatsApp app. SMS works on any mobile phone without internet. For maximum reach, use WhatsApp as primary and SMS as fallback.",{"type":426,"tag":427,"props":191122,"children":191123},{},[191124,191129],{"type":426,"tag":446,"props":191125,"children":191126},{},[191127],{"type":431,"value":191128},"How much cheaper is WhatsApp API vs SMS?",{"type":431,"value":191130},"\nAt 10,000 messages\u002Fmonth: WhatsApp via Rapiwa costs $5\u002Fmonth (flat rate). SMS via Twilio costs approximately $79–100\u002Fmonth (per-message pricing). WhatsApp is ~16–20x cheaper at this volume.",{"type":426,"tag":427,"props":191132,"children":191133},{},[191134,191139],{"type":426,"tag":446,"props":191135,"children":191136},{},[191137],{"type":431,"value":191138},"Can I send images and files via WhatsApp API?",{"type":431,"value":191140},"\nYes. WhatsApp API supports images, videos, PDFs, documents, voice messages, and location. SMS only supports plain text (MMS allows images but with additional costs and lower quality).",{"type":426,"tag":427,"props":191142,"children":191143},{},[191144,191149,191154],{"type":426,"tag":446,"props":191145,"children":191146},{},[191147],{"type":431,"value":191148},"What is the best WhatsApp API for replacing SMS?",{"type":426,"tag":3819,"props":191150,"children":191152},{"href":3821,"rel":191151},[3823],[191153],{"type":431,"value":127310},{"type":431,"value":191155}," at $5\u002Fmonth is the most cost-effective WhatsApp API for businesses switching from SMS. It supports all message types, works with all programming languages, and includes n8n automation templates.",{"type":426,"tag":4164,"props":191157,"children":191158},{},[191159],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":191161},[191162,191163,191169,191175,191179,191180,191181],{"id":189612,"depth":588,"text":189615},{"id":189849,"depth":588,"text":189852,"children":191164},[191165,191166,191167,191168],{"id":189855,"depth":606,"text":189858},{"id":189923,"depth":606,"text":189926},{"id":190002,"depth":606,"text":190005},{"id":190013,"depth":606,"text":190016},{"id":190047,"depth":588,"text":190050,"children":191170},[191171,191172,191173,191174],{"id":190053,"depth":606,"text":190056},{"id":190064,"depth":606,"text":190067},{"id":190075,"depth":606,"text":190078},{"id":190086,"depth":606,"text":190089},{"id":190097,"depth":588,"text":190100,"children":191176},[191177,191178],{"id":190103,"depth":606,"text":190106},{"id":190216,"depth":606,"text":190219},{"id":190308,"depth":588,"text":190311},{"id":190671,"depth":588,"text":190674},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-vs-sms-for-business-which-delivers-better-roi.md","blog\u002Fwhatsapp-vs-sms-for-business-which-delivers-better-roi.md","blog\u002Fwhatsapp-vs-sms-for-business-which-delivers-better-roi",{"loc":354},{"_path":358,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":359,"description":360,"date":191187,"author":419,"category":22,"_slug":191188,"image":191189,"body":191190,"_type":4187,"_id":195018,"_source":4189,"_file":195019,"_stem":195020,"_extension":4192,"sitemap":195021},"2025-12-11","how-to-verify-a-whatsapp-number-before-sending-messages","\u002Fimages\u002Fblog\u002Fhow-to-verify-a-whatsapp-number-before-sending-messages.svg",{"type":423,"children":191191,"toc":195007},[191192,191204,191210,191215,191258,191263,191269,191274,191318,191326,191423,191431,191486,191492,191496,192522,192526,193211,193217,193222,193624,193630,193635,194920,194924,194934,194944,194954,194964,194986,195003],{"type":426,"tag":427,"props":191193,"children":191194},{},[191195,191197,191202],{"type":431,"value":191196},"You can verify if a phone number is registered on WhatsApp using the Rapiwa number verification API before sending messages. Verifying numbers before bulk sends reduces failed deliveries, protects your sender reputation, and saves you from wasting API calls on inactive numbers. ",{"type":426,"tag":3819,"props":191198,"children":191200},{"href":3821,"rel":191199},[3823],[191201],{"type":431,"value":127310},{"type":431,"value":191203}," includes number verification on all plans from $5\u002Fmonth.",{"type":426,"tag":434,"props":191205,"children":191207},{"id":191206},"why-verify-whatsapp-numbers",[191208],{"type":431,"value":191209},"Why Verify WhatsApp Numbers?",{"type":426,"tag":427,"props":191211,"children":191212},{},[191213],{"type":431,"value":191214},"Sending messages to numbers not registered on WhatsApp results in failed deliveries. When you send bulk campaigns without verifying first:",{"type":426,"tag":454,"props":191216,"children":191217},{},[191218,191228,191238,191248],{"type":426,"tag":458,"props":191219,"children":191220},{},[191221,191226],{"type":426,"tag":446,"props":191222,"children":191223},{},[191224],{"type":431,"value":191225},"Failed delivery rate increases",{"type":431,"value":191227}," — non-WhatsApp numbers fail silently",{"type":426,"tag":458,"props":191229,"children":191230},{},[191231,191236],{"type":426,"tag":446,"props":191232,"children":191233},{},[191234],{"type":431,"value":191235},"Your number's reputation suffers",{"type":431,"value":191237}," — high failure rates can trigger WhatsApp restrictions",{"type":426,"tag":458,"props":191239,"children":191240},{},[191241,191246],{"type":426,"tag":446,"props":191242,"children":191243},{},[191244],{"type":431,"value":191245},"You waste API resources",{"type":431,"value":191247}," on invalid contacts",{"type":426,"tag":458,"props":191249,"children":191250},{},[191251,191256],{"type":426,"tag":446,"props":191252,"children":191253},{},[191254],{"type":431,"value":191255},"Contact lists become stale",{"type":431,"value":191257}," — WhatsApp registrations change as people switch phones or numbers",{"type":426,"tag":427,"props":191259,"children":191260},{},[191261],{"type":431,"value":191262},"Pre-verification solves all of these. Check first, send only to valid WhatsApp numbers.",{"type":426,"tag":434,"props":191264,"children":191266},{"id":191265},"step-1-check-if-a-number-is-on-whatsapp",[191267],{"type":431,"value":191268},"Step 1: Check If a Number Is on WhatsApp",{"type":426,"tag":427,"props":191270,"children":191271},{},[191272],{"type":431,"value":191273},"Use the Rapiwa verification endpoint to check any phone number:",{"type":426,"tag":542,"props":191275,"children":191277},{"className":546,"code":191276,"language":545,"meta":417,"style":417},"curl -X GET \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number?number=8801234567890\" \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n",[191278],{"type":426,"tag":549,"props":191279,"children":191280},{"__ignoreMap":417},[191281,191306],{"type":426,"tag":553,"props":191282,"children":191283},{"class":555,"line":556},[191284,191288,191292,191297,191302],{"type":426,"tag":553,"props":191285,"children":191286},{"style":560},[191287],{"type":431,"value":563},{"type":426,"tag":553,"props":191289,"children":191290},{"style":566},[191291],{"type":431,"value":569},{"type":426,"tag":553,"props":191293,"children":191294},{"style":572},[191295],{"type":431,"value":191296}," GET",{"type":426,"tag":553,"props":191298,"children":191299},{"style":572},[191300],{"type":431,"value":191301}," \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number?number=8801234567890\"",{"type":426,"tag":553,"props":191303,"children":191304},{"style":566},[191305],{"type":431,"value":585},{"type":426,"tag":553,"props":191307,"children":191308},{"class":555,"line":588},[191309,191313],{"type":426,"tag":553,"props":191310,"children":191311},{"style":566},[191312],{"type":431,"value":594},{"type":426,"tag":553,"props":191314,"children":191315},{"style":572},[191316],{"type":431,"value":191317}," \"Authorization: Bearer YOUR_API_KEY\"\n",{"type":426,"tag":427,"props":191319,"children":191320},{},[191321],{"type":426,"tag":446,"props":191322,"children":191323},{},[191324],{"type":431,"value":191325},"Response — number IS on WhatsApp:",{"type":426,"tag":542,"props":191327,"children":191329},{"className":674,"code":191328,"language":673,"meta":417,"style":417},"{\n  \"number\": \"8801234567890\",\n  \"exists\": true,\n  \"name\": \"John Doe\",\n  \"isWhatsappBusiness\": false\n}\n",[191330],{"type":426,"tag":549,"props":191331,"children":191332},{"__ignoreMap":417},[191333,191340,191359,191379,191399,191416],{"type":426,"tag":553,"props":191334,"children":191335},{"class":555,"line":556},[191336],{"type":426,"tag":553,"props":191337,"children":191338},{"style":684},[191339],{"type":431,"value":687},{"type":426,"tag":553,"props":191341,"children":191342},{"class":555,"line":588},[191343,191347,191351,191355],{"type":426,"tag":553,"props":191344,"children":191345},{"style":566},[191346],{"type":431,"value":7277},{"type":426,"tag":553,"props":191348,"children":191349},{"style":684},[191350],{"type":431,"value":700},{"type":426,"tag":553,"props":191352,"children":191353},{"style":572},[191354],{"type":431,"value":7286},{"type":426,"tag":553,"props":191356,"children":191357},{"style":684},[191358],{"type":431,"value":710},{"type":426,"tag":553,"props":191360,"children":191361},{"class":555,"line":606},[191362,191367,191371,191375],{"type":426,"tag":553,"props":191363,"children":191364},{"style":566},[191365],{"type":431,"value":191366},"  \"exists\"",{"type":426,"tag":553,"props":191368,"children":191369},{"style":684},[191370],{"type":431,"value":700},{"type":426,"tag":553,"props":191372,"children":191373},{"style":566},[191374],{"type":431,"value":48523},{"type":426,"tag":553,"props":191376,"children":191377},{"style":684},[191378],{"type":431,"value":710},{"type":426,"tag":553,"props":191380,"children":191381},{"class":555,"line":623},[191382,191386,191390,191395],{"type":426,"tag":553,"props":191383,"children":191384},{"style":566},[191385],{"type":431,"value":145738},{"type":426,"tag":553,"props":191387,"children":191388},{"style":684},[191389],{"type":431,"value":700},{"type":426,"tag":553,"props":191391,"children":191392},{"style":572},[191393],{"type":431,"value":191394},"\"John Doe\"",{"type":426,"tag":553,"props":191396,"children":191397},{"style":684},[191398],{"type":431,"value":710},{"type":426,"tag":553,"props":191400,"children":191401},{"class":555,"line":637},[191402,191407,191411],{"type":426,"tag":553,"props":191403,"children":191404},{"style":566},[191405],{"type":431,"value":191406},"  \"isWhatsappBusiness\"",{"type":426,"tag":553,"props":191408,"children":191409},{"style":684},[191410],{"type":431,"value":700},{"type":426,"tag":553,"props":191412,"children":191413},{"style":566},[191414],{"type":431,"value":191415},"false\n",{"type":426,"tag":553,"props":191417,"children":191418},{"class":555,"line":646},[191419],{"type":426,"tag":553,"props":191420,"children":191421},{"style":684},[191422],{"type":431,"value":756},{"type":426,"tag":427,"props":191424,"children":191425},{},[191426],{"type":426,"tag":446,"props":191427,"children":191428},{},[191429],{"type":431,"value":191430},"Response — number is NOT on WhatsApp:",{"type":426,"tag":542,"props":191432,"children":191434},{"className":674,"code":191433,"language":673,"meta":417,"style":417},"{\n  \"number\": \"8801234567890\",\n  \"exists\": false\n}\n",[191435],{"type":426,"tag":549,"props":191436,"children":191437},{"__ignoreMap":417},[191438,191445,191464,191479],{"type":426,"tag":553,"props":191439,"children":191440},{"class":555,"line":556},[191441],{"type":426,"tag":553,"props":191442,"children":191443},{"style":684},[191444],{"type":431,"value":687},{"type":426,"tag":553,"props":191446,"children":191447},{"class":555,"line":588},[191448,191452,191456,191460],{"type":426,"tag":553,"props":191449,"children":191450},{"style":566},[191451],{"type":431,"value":7277},{"type":426,"tag":553,"props":191453,"children":191454},{"style":684},[191455],{"type":431,"value":700},{"type":426,"tag":553,"props":191457,"children":191458},{"style":572},[191459],{"type":431,"value":7286},{"type":426,"tag":553,"props":191461,"children":191462},{"style":684},[191463],{"type":431,"value":710},{"type":426,"tag":553,"props":191465,"children":191466},{"class":555,"line":606},[191467,191471,191475],{"type":426,"tag":553,"props":191468,"children":191469},{"style":566},[191470],{"type":431,"value":191366},{"type":426,"tag":553,"props":191472,"children":191473},{"style":684},[191474],{"type":431,"value":700},{"type":426,"tag":553,"props":191476,"children":191477},{"style":566},[191478],{"type":431,"value":191415},{"type":426,"tag":553,"props":191480,"children":191481},{"class":555,"line":623},[191482],{"type":426,"tag":553,"props":191483,"children":191484},{"style":684},[191485],{"type":431,"value":756},{"type":426,"tag":434,"props":191487,"children":191489},{"id":191488},"step-2-verify-a-list-before-bulk-sending",[191490],{"type":431,"value":191491},"Step 2: Verify a List Before Bulk Sending",{"type":426,"tag":515,"props":191493,"children":191494},{"id":784},[191495],{"type":431,"value":78773},{"type":426,"tag":542,"props":191497,"children":191499},{"className":785,"code":191498,"language":784,"meta":417,"style":417},"import requests\nimport time\n\nAPI_KEY = \"YOUR_API_KEY\"\n\ndef check_whatsapp_number(phone_number):\n    \"\"\"Returns True if the number is registered on WhatsApp.\"\"\"\n    response = requests.get(\n        f\"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\",\n        headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n        params={\"number\": phone_number}\n    )\n    data = response.json()\n    return data.get(\"exists\", False)\n\ndef filter_valid_numbers(contact_list):\n    \"\"\"Filter a contact list to only WhatsApp-registered numbers.\"\"\"\n    valid = []\n    invalid = []\n    \n    for contact in contact_list:\n        print(f\"Checking {contact['phone']}...\")\n        is_valid = check_whatsapp_number(contact[\"phone\"])\n        \n        if is_valid:\n            valid.append(contact)\n            print(f\"  ✓ {contact['phone']} is on WhatsApp\")\n        else:\n            invalid.append(contact)\n            print(f\"  ✗ {contact['phone']} is NOT on WhatsApp\")\n        \n        time.sleep(0.5)  # Small delay between checks\n    \n    return valid, invalid\n\n# Example usage\ncontacts = [\n    {\"phone\": \"8801111111111\", \"name\": \"Alice\"},\n    {\"phone\": \"8802222222222\", \"name\": \"Bob\"},\n    {\"phone\": \"0000000000000\", \"name\": \"Invalid\"},\n]\n\nvalid_contacts, invalid_contacts = filter_valid_numbers(contacts)\nprint(f\"\\nValid: {len(valid_contacts)}, Invalid: {len(invalid_contacts)}\")\n\n# Now send only to valid contacts\nfor contact in valid_contacts:\n    requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n        json={\"number\": contact[\"phone\"], \"message\": f\"Hi {contact['name']}!\"}\n    )\n    time.sleep(1)\n",[191500],{"type":426,"tag":549,"props":191501,"children":191502},{"__ignoreMap":417},[191503,191514,191525,191532,191547,191554,191571,191579,191594,191610,191653,191677,191684,191699,191726,191733,191750,191758,191774,191790,191797,191817,191866,191891,191898,191910,191918,191968,191979,191987,192036,192043,192063,192070,192082,192089,192096,192111,192150,192189,192230,192237,192244,192261,192328,192335,192343,192363,192370,192381,192424,192500,192507],{"type":426,"tag":553,"props":191504,"children":191505},{"class":555,"line":556},[191506,191510],{"type":426,"tag":553,"props":191507,"children":191508},{"style":795},[191509],{"type":431,"value":798},{"type":426,"tag":553,"props":191511,"children":191512},{"style":684},[191513],{"type":431,"value":803},{"type":426,"tag":553,"props":191515,"children":191516},{"class":555,"line":588},[191517,191521],{"type":426,"tag":553,"props":191518,"children":191519},{"style":795},[191520],{"type":431,"value":798},{"type":426,"tag":553,"props":191522,"children":191523},{"style":684},[191524],{"type":431,"value":3081},{"type":426,"tag":553,"props":191526,"children":191527},{"class":555,"line":606},[191528],{"type":426,"tag":553,"props":191529,"children":191530},{"emptyLinePlaceholder":831},[191531],{"type":431,"value":834},{"type":426,"tag":553,"props":191533,"children":191534},{"class":555,"line":623},[191535,191539,191543],{"type":426,"tag":553,"props":191536,"children":191537},{"style":566},[191538],{"type":431,"value":133819},{"type":426,"tag":553,"props":191540,"children":191541},{"style":795},[191542],{"type":431,"value":8739},{"type":426,"tag":553,"props":191544,"children":191545},{"style":572},[191546],{"type":431,"value":40863},{"type":426,"tag":553,"props":191548,"children":191549},{"class":555,"line":637},[191550],{"type":426,"tag":553,"props":191551,"children":191552},{"emptyLinePlaceholder":831},[191553],{"type":431,"value":834},{"type":426,"tag":553,"props":191555,"children":191556},{"class":555,"line":646},[191557,191561,191566],{"type":426,"tag":553,"props":191558,"children":191559},{"style":795},[191560],{"type":431,"value":842},{"type":426,"tag":553,"props":191562,"children":191563},{"style":560},[191564],{"type":431,"value":191565}," check_whatsapp_number",{"type":426,"tag":553,"props":191567,"children":191568},{"style":684},[191569],{"type":431,"value":191570},"(phone_number):\n",{"type":426,"tag":553,"props":191572,"children":191573},{"class":555,"line":655},[191574],{"type":426,"tag":553,"props":191575,"children":191576},{"style":572},[191577],{"type":431,"value":191578},"    \"\"\"Returns True if the number is registered on WhatsApp.\"\"\"\n",{"type":426,"tag":553,"props":191580,"children":191581},{"class":555,"line":1036},[191582,191586,191590],{"type":426,"tag":553,"props":191583,"children":191584},{"style":684},[191585],{"type":431,"value":8117},{"type":426,"tag":553,"props":191587,"children":191588},{"style":795},[191589],{"type":431,"value":957},{"type":426,"tag":553,"props":191591,"children":191592},{"style":684},[191593],{"type":431,"value":153136},{"type":426,"tag":553,"props":191595,"children":191596},{"class":555,"line":1054},[191597,191601,191606],{"type":426,"tag":553,"props":191598,"children":191599},{"style":795},[191600],{"type":431,"value":1216},{"type":426,"tag":553,"props":191602,"children":191603},{"style":572},[191604],{"type":431,"value":191605},"\"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\"",{"type":426,"tag":553,"props":191607,"children":191608},{"style":684},[191609],{"type":431,"value":710},{"type":426,"tag":553,"props":191611,"children":191612},{"class":555,"line":1080},[191613,191617,191621,191625,191629,191633,191637,191641,191645,191649],{"type":426,"tag":553,"props":191614,"children":191615},{"style":1684},[191616],{"type":431,"value":1687},{"type":426,"tag":553,"props":191618,"children":191619},{"style":795},[191620],{"type":431,"value":957},{"type":426,"tag":553,"props":191622,"children":191623},{"style":684},[191624],{"type":431,"value":972},{"type":426,"tag":553,"props":191626,"children":191627},{"style":572},[191628],{"type":431,"value":45214},{"type":426,"tag":553,"props":191630,"children":191631},{"style":684},[191632],{"type":431,"value":700},{"type":426,"tag":553,"props":191634,"children":191635},{"style":795},[191636],{"type":431,"value":1709},{"type":426,"tag":553,"props":191638,"children":191639},{"style":572},[191640],{"type":431,"value":12608},{"type":426,"tag":553,"props":191642,"children":191643},{"style":566},[191644],{"type":431,"value":139229},{"type":426,"tag":553,"props":191646,"children":191647},{"style":572},[191648],{"type":431,"value":1527},{"type":426,"tag":553,"props":191650,"children":191651},{"style":684},[191652],{"type":431,"value":1737},{"type":426,"tag":553,"props":191654,"children":191655},{"class":555,"line":1097},[191656,191660,191664,191668,191672],{"type":426,"tag":553,"props":191657,"children":191658},{"style":1684},[191659],{"type":431,"value":153188},{"type":426,"tag":553,"props":191661,"children":191662},{"style":795},[191663],{"type":431,"value":957},{"type":426,"tag":553,"props":191665,"children":191666},{"style":684},[191667],{"type":431,"value":972},{"type":426,"tag":553,"props":191669,"children":191670},{"style":572},[191671],{"type":431,"value":45266},{"type":426,"tag":553,"props":191673,"children":191674},{"style":684},[191675],{"type":431,"value":191676},": phone_number}\n",{"type":426,"tag":553,"props":191678,"children":191679},{"class":555,"line":1114},[191680],{"type":426,"tag":553,"props":191681,"children":191682},{"style":684},[191683],{"type":431,"value":1642},{"type":426,"tag":553,"props":191685,"children":191686},{"class":555,"line":1127},[191687,191691,191695],{"type":426,"tag":553,"props":191688,"children":191689},{"style":684},[191690],{"type":431,"value":13733},{"type":426,"tag":553,"props":191692,"children":191693},{"style":795},[191694],{"type":431,"value":957},{"type":426,"tag":553,"props":191696,"children":191697},{"style":684},[191698],{"type":431,"value":9193},{"type":426,"tag":553,"props":191700,"children":191701},{"class":555,"line":1167},[191702,191706,191710,191714,191718,191722],{"type":426,"tag":553,"props":191703,"children":191704},{"style":795},[191705],{"type":431,"value":1659},{"type":426,"tag":553,"props":191707,"children":191708},{"style":684},[191709],{"type":431,"value":8311},{"type":426,"tag":553,"props":191711,"children":191712},{"style":572},[191713],{"type":431,"value":153235},{"type":426,"tag":553,"props":191715,"children":191716},{"style":684},[191717],{"type":431,"value":1907},{"type":426,"tag":553,"props":191719,"children":191720},{"style":566},[191721],{"type":431,"value":65971},{"type":426,"tag":553,"props":191723,"children":191724},{"style":684},[191725],{"type":431,"value":3262},{"type":426,"tag":553,"props":191727,"children":191728},{"class":555,"line":1184},[191729],{"type":426,"tag":553,"props":191730,"children":191731},{"emptyLinePlaceholder":831},[191732],{"type":431,"value":834},{"type":426,"tag":553,"props":191734,"children":191735},{"class":555,"line":1192},[191736,191740,191745],{"type":426,"tag":553,"props":191737,"children":191738},{"style":795},[191739],{"type":431,"value":842},{"type":426,"tag":553,"props":191741,"children":191742},{"style":560},[191743],{"type":431,"value":191744}," filter_valid_numbers",{"type":426,"tag":553,"props":191746,"children":191747},{"style":684},[191748],{"type":431,"value":191749},"(contact_list):\n",{"type":426,"tag":553,"props":191751,"children":191752},{"class":555,"line":1210},[191753],{"type":426,"tag":553,"props":191754,"children":191755},{"style":572},[191756],{"type":431,"value":191757},"    \"\"\"Filter a contact list to only WhatsApp-registered numbers.\"\"\"\n",{"type":426,"tag":553,"props":191759,"children":191760},{"class":555,"line":1253},[191761,191766,191770],{"type":426,"tag":553,"props":191762,"children":191763},{"style":684},[191764],{"type":431,"value":191765},"    valid ",{"type":426,"tag":553,"props":191767,"children":191768},{"style":795},[191769],{"type":431,"value":957},{"type":426,"tag":553,"props":191771,"children":191772},{"style":684},[191773],{"type":431,"value":17970},{"type":426,"tag":553,"props":191775,"children":191776},{"class":555,"line":1302},[191777,191782,191786],{"type":426,"tag":553,"props":191778,"children":191779},{"style":684},[191780],{"type":431,"value":191781},"    invalid ",{"type":426,"tag":553,"props":191783,"children":191784},{"style":795},[191785],{"type":431,"value":957},{"type":426,"tag":553,"props":191787,"children":191788},{"style":684},[191789],{"type":431,"value":17970},{"type":426,"tag":553,"props":191791,"children":191792},{"class":555,"line":1374},[191793],{"type":426,"tag":553,"props":191794,"children":191795},{"style":684},[191796],{"type":431,"value":917},{"type":426,"tag":553,"props":191798,"children":191799},{"class":555,"line":1414},[191800,191804,191808,191812],{"type":426,"tag":553,"props":191801,"children":191802},{"style":795},[191803],{"type":431,"value":1995},{"type":426,"tag":553,"props":191805,"children":191806},{"style":684},[191807],{"type":431,"value":18000},{"type":426,"tag":553,"props":191809,"children":191810},{"style":795},[191811],{"type":431,"value":2005},{"type":426,"tag":553,"props":191813,"children":191814},{"style":684},[191815],{"type":431,"value":191816}," contact_list:\n",{"type":426,"tag":553,"props":191818,"children":191819},{"class":555,"line":1479},[191820,191824,191828,191832,191837,191841,191845,191849,191853,191857,191862],{"type":426,"tag":553,"props":191821,"children":191822},{"style":566},[191823],{"type":431,"value":181329},{"type":426,"tag":553,"props":191825,"children":191826},{"style":684},[191827],{"type":431,"value":3275},{"type":426,"tag":553,"props":191829,"children":191830},{"style":795},[191831],{"type":431,"value":1709},{"type":426,"tag":553,"props":191833,"children":191834},{"style":572},[191835],{"type":431,"value":191836},"\"Checking ",{"type":426,"tag":553,"props":191838,"children":191839},{"style":566},[191840],{"type":431,"value":972},{"type":426,"tag":553,"props":191842,"children":191843},{"style":684},[191844],{"type":431,"value":141479},{"type":426,"tag":553,"props":191846,"children":191847},{"style":572},[191848],{"type":431,"value":1769},{"type":426,"tag":553,"props":191850,"children":191851},{"style":684},[191852],{"type":431,"value":1240},{"type":426,"tag":553,"props":191854,"children":191855},{"style":566},[191856],{"type":431,"value":982},{"type":426,"tag":553,"props":191858,"children":191859},{"style":572},[191860],{"type":431,"value":191861},"...\"",{"type":426,"tag":553,"props":191863,"children":191864},{"style":684},[191865],{"type":431,"value":3262},{"type":426,"tag":553,"props":191867,"children":191868},{"class":555,"line":1517},[191869,191874,191878,191883,191887],{"type":426,"tag":553,"props":191870,"children":191871},{"style":684},[191872],{"type":431,"value":191873},"        is_valid ",{"type":426,"tag":553,"props":191875,"children":191876},{"style":795},[191877],{"type":431,"value":957},{"type":426,"tag":553,"props":191879,"children":191880},{"style":684},[191881],{"type":431,"value":191882}," check_whatsapp_number(contact[",{"type":426,"tag":553,"props":191884,"children":191885},{"style":572},[191886],{"type":431,"value":73482},{"type":426,"tag":553,"props":191888,"children":191889},{"style":684},[191890],{"type":431,"value":8061},{"type":426,"tag":553,"props":191892,"children":191893},{"class":555,"line":1560},[191894],{"type":426,"tag":553,"props":191895,"children":191896},{"style":684},[191897],{"type":431,"value":2061},{"type":426,"tag":553,"props":191899,"children":191900},{"class":555,"line":1598},[191901,191905],{"type":426,"tag":553,"props":191902,"children":191903},{"style":795},[191904],{"type":431,"value":2972},{"type":426,"tag":553,"props":191906,"children":191907},{"style":684},[191908],{"type":431,"value":191909}," is_valid:\n",{"type":426,"tag":553,"props":191911,"children":191912},{"class":555,"line":1636},[191913],{"type":426,"tag":553,"props":191914,"children":191915},{"style":684},[191916],{"type":431,"value":191917},"            valid.append(contact)\n",{"type":426,"tag":553,"props":191919,"children":191920},{"class":555,"line":1645},[191921,191926,191930,191934,191939,191943,191947,191951,191955,191959,191964],{"type":426,"tag":553,"props":191922,"children":191923},{"style":566},[191924],{"type":431,"value":191925},"            print",{"type":426,"tag":553,"props":191927,"children":191928},{"style":684},[191929],{"type":431,"value":3275},{"type":426,"tag":553,"props":191931,"children":191932},{"style":795},[191933],{"type":431,"value":1709},{"type":426,"tag":553,"props":191935,"children":191936},{"style":572},[191937],{"type":431,"value":191938},"\"  ✓ ",{"type":426,"tag":553,"props":191940,"children":191941},{"style":566},[191942],{"type":431,"value":972},{"type":426,"tag":553,"props":191944,"children":191945},{"style":684},[191946],{"type":431,"value":141479},{"type":426,"tag":553,"props":191948,"children":191949},{"style":572},[191950],{"type":431,"value":1769},{"type":426,"tag":553,"props":191952,"children":191953},{"style":684},[191954],{"type":431,"value":1240},{"type":426,"tag":553,"props":191956,"children":191957},{"style":566},[191958],{"type":431,"value":982},{"type":426,"tag":553,"props":191960,"children":191961},{"style":572},[191962],{"type":431,"value":191963}," is on WhatsApp\"",{"type":426,"tag":553,"props":191965,"children":191966},{"style":684},[191967],{"type":431,"value":3262},{"type":426,"tag":553,"props":191969,"children":191970},{"class":555,"line":1653},[191971,191975],{"type":426,"tag":553,"props":191972,"children":191973},{"style":795},[191974],{"type":431,"value":3034},{"type":426,"tag":553,"props":191976,"children":191977},{"style":684},[191978],{"type":431,"value":909},{"type":426,"tag":553,"props":191980,"children":191981},{"class":555,"line":1667},[191982],{"type":426,"tag":553,"props":191983,"children":191984},{"style":684},[191985],{"type":431,"value":191986},"            invalid.append(contact)\n",{"type":426,"tag":553,"props":191988,"children":191989},{"class":555,"line":1680},[191990,191994,191998,192002,192007,192011,192015,192019,192023,192027,192032],{"type":426,"tag":553,"props":191991,"children":191992},{"style":566},[191993],{"type":431,"value":191925},{"type":426,"tag":553,"props":191995,"children":191996},{"style":684},[191997],{"type":431,"value":3275},{"type":426,"tag":553,"props":191999,"children":192000},{"style":795},[192001],{"type":431,"value":1709},{"type":426,"tag":553,"props":192003,"children":192004},{"style":572},[192005],{"type":431,"value":192006},"\"  ✗ ",{"type":426,"tag":553,"props":192008,"children":192009},{"style":566},[192010],{"type":431,"value":972},{"type":426,"tag":553,"props":192012,"children":192013},{"style":684},[192014],{"type":431,"value":141479},{"type":426,"tag":553,"props":192016,"children":192017},{"style":572},[192018],{"type":431,"value":1769},{"type":426,"tag":553,"props":192020,"children":192021},{"style":684},[192022],{"type":431,"value":1240},{"type":426,"tag":553,"props":192024,"children":192025},{"style":566},[192026],{"type":431,"value":982},{"type":426,"tag":553,"props":192028,"children":192029},{"style":572},[192030],{"type":431,"value":192031}," is NOT on WhatsApp\"",{"type":426,"tag":553,"props":192033,"children":192034},{"style":684},[192035],{"type":431,"value":3262},{"type":426,"tag":553,"props":192037,"children":192038},{"class":555,"line":1740},[192039],{"type":426,"tag":553,"props":192040,"children":192041},{"style":684},[192042],{"type":431,"value":2061},{"type":426,"tag":553,"props":192044,"children":192045},{"class":555,"line":1787},[192046,192050,192054,192058],{"type":426,"tag":553,"props":192047,"children":192048},{"style":684},[192049],{"type":431,"value":3089},{"type":426,"tag":553,"props":192051,"children":192052},{"style":566},[192053],{"type":431,"value":3094},{"type":426,"tag":553,"props":192055,"children":192056},{"style":684},[192057],{"type":431,"value":3099},{"type":426,"tag":553,"props":192059,"children":192060},{"style":1975},[192061],{"type":431,"value":192062},"# Small delay between checks\n",{"type":426,"tag":553,"props":192064,"children":192065},{"class":555,"line":1796},[192066],{"type":426,"tag":553,"props":192067,"children":192068},{"style":684},[192069],{"type":431,"value":917},{"type":426,"tag":553,"props":192071,"children":192072},{"class":555,"line":1804},[192073,192077],{"type":426,"tag":553,"props":192074,"children":192075},{"style":795},[192076],{"type":431,"value":1659},{"type":426,"tag":553,"props":192078,"children":192079},{"style":684},[192080],{"type":431,"value":192081}," valid, invalid\n",{"type":426,"tag":553,"props":192083,"children":192084},{"class":555,"line":1812},[192085],{"type":426,"tag":553,"props":192086,"children":192087},{"emptyLinePlaceholder":831},[192088],{"type":431,"value":834},{"type":426,"tag":553,"props":192090,"children":192091},{"class":555,"line":1847},[192092],{"type":426,"tag":553,"props":192093,"children":192094},{"style":1975},[192095],{"type":431,"value":51721},{"type":426,"tag":553,"props":192097,"children":192098},{"class":555,"line":1856},[192099,192103,192107],{"type":426,"tag":553,"props":192100,"children":192101},{"style":684},[192102],{"type":431,"value":141868},{"type":426,"tag":553,"props":192104,"children":192105},{"style":795},[192106],{"type":431,"value":957},{"type":426,"tag":553,"props":192108,"children":192109},{"style":684},[192110],{"type":431,"value":80133},{"type":426,"tag":553,"props":192112,"children":192113},{"class":555,"line":1874},[192114,192118,192122,192126,192130,192134,192138,192142,192146],{"type":426,"tag":553,"props":192115,"children":192116},{"style":684},[192117],{"type":431,"value":141884},{"type":426,"tag":553,"props":192119,"children":192120},{"style":572},[192121],{"type":431,"value":73482},{"type":426,"tag":553,"props":192123,"children":192124},{"style":684},[192125],{"type":431,"value":700},{"type":426,"tag":553,"props":192127,"children":192128},{"style":572},[192129],{"type":431,"value":81689},{"type":426,"tag":553,"props":192131,"children":192132},{"style":684},[192133],{"type":431,"value":1907},{"type":426,"tag":553,"props":192135,"children":192136},{"style":572},[192137],{"type":431,"value":141905},{"type":426,"tag":553,"props":192139,"children":192140},{"style":684},[192141],{"type":431,"value":700},{"type":426,"tag":553,"props":192143,"children":192144},{"style":572},[192145],{"type":431,"value":136765},{"type":426,"tag":553,"props":192147,"children":192148},{"style":684},[192149],{"type":431,"value":1737},{"type":426,"tag":553,"props":192151,"children":192152},{"class":555,"line":1882},[192153,192157,192161,192165,192169,192173,192177,192181,192185],{"type":426,"tag":553,"props":192154,"children":192155},{"style":684},[192156],{"type":431,"value":141884},{"type":426,"tag":553,"props":192158,"children":192159},{"style":572},[192160],{"type":431,"value":73482},{"type":426,"tag":553,"props":192162,"children":192163},{"style":684},[192164],{"type":431,"value":700},{"type":426,"tag":553,"props":192166,"children":192167},{"style":572},[192168],{"type":431,"value":136791},{"type":426,"tag":553,"props":192170,"children":192171},{"style":684},[192172],{"type":431,"value":1907},{"type":426,"tag":553,"props":192174,"children":192175},{"style":572},[192176],{"type":431,"value":141905},{"type":426,"tag":553,"props":192178,"children":192179},{"style":684},[192180],{"type":431,"value":700},{"type":426,"tag":553,"props":192182,"children":192183},{"style":572},[192184],{"type":431,"value":136800},{"type":426,"tag":553,"props":192186,"children":192187},{"style":684},[192188],{"type":431,"value":1737},{"type":426,"tag":553,"props":192190,"children":192191},{"class":555,"line":1981},[192192,192196,192200,192204,192209,192213,192217,192221,192226],{"type":426,"tag":553,"props":192193,"children":192194},{"style":684},[192195],{"type":431,"value":141884},{"type":426,"tag":553,"props":192197,"children":192198},{"style":572},[192199],{"type":431,"value":73482},{"type":426,"tag":553,"props":192201,"children":192202},{"style":684},[192203],{"type":431,"value":700},{"type":426,"tag":553,"props":192205,"children":192206},{"style":572},[192207],{"type":431,"value":192208},"\"0000000000000\"",{"type":426,"tag":553,"props":192210,"children":192211},{"style":684},[192212],{"type":431,"value":1907},{"type":426,"tag":553,"props":192214,"children":192215},{"style":572},[192216],{"type":431,"value":141905},{"type":426,"tag":553,"props":192218,"children":192219},{"style":684},[192220],{"type":431,"value":700},{"type":426,"tag":553,"props":192222,"children":192223},{"style":572},[192224],{"type":431,"value":192225},"\"Invalid\"",{"type":426,"tag":553,"props":192227,"children":192228},{"style":684},[192229],{"type":431,"value":1737},{"type":426,"tag":553,"props":192231,"children":192232},{"class":555,"line":1989},[192233],{"type":426,"tag":553,"props":192234,"children":192235},{"style":684},[192236],{"type":431,"value":16523},{"type":426,"tag":553,"props":192238,"children":192239},{"class":555,"line":2013},[192240],{"type":426,"tag":553,"props":192241,"children":192242},{"emptyLinePlaceholder":831},[192243],{"type":431,"value":834},{"type":426,"tag":553,"props":192245,"children":192246},{"class":555,"line":2055},[192247,192252,192256],{"type":426,"tag":553,"props":192248,"children":192249},{"style":684},[192250],{"type":431,"value":192251},"valid_contacts, invalid_contacts ",{"type":426,"tag":553,"props":192253,"children":192254},{"style":795},[192255],{"type":431,"value":957},{"type":426,"tag":553,"props":192257,"children":192258},{"style":684},[192259],{"type":431,"value":192260}," filter_valid_numbers(contacts)\n",{"type":426,"tag":553,"props":192262,"children":192263},{"class":555,"line":2064},[192264,192268,192272,192276,192280,192284,192289,192293,192298,192302,192307,192311,192316,192320,192324],{"type":426,"tag":553,"props":192265,"children":192266},{"style":566},[192267],{"type":431,"value":3270},{"type":426,"tag":553,"props":192269,"children":192270},{"style":684},[192271],{"type":431,"value":3275},{"type":426,"tag":553,"props":192273,"children":192274},{"style":795},[192275],{"type":431,"value":1709},{"type":426,"tag":553,"props":192277,"children":192278},{"style":572},[192279],{"type":431,"value":1527},{"type":426,"tag":553,"props":192281,"children":192282},{"style":566},[192283],{"type":431,"value":3661},{"type":426,"tag":553,"props":192285,"children":192286},{"style":572},[192287],{"type":431,"value":192288},"Valid: ",{"type":426,"tag":553,"props":192290,"children":192291},{"style":566},[192292],{"type":431,"value":58466},{"type":426,"tag":553,"props":192294,"children":192295},{"style":684},[192296],{"type":431,"value":192297},"(valid_contacts)",{"type":426,"tag":553,"props":192299,"children":192300},{"style":566},[192301],{"type":431,"value":982},{"type":426,"tag":553,"props":192303,"children":192304},{"style":572},[192305],{"type":431,"value":192306},", Invalid: ",{"type":426,"tag":553,"props":192308,"children":192309},{"style":566},[192310],{"type":431,"value":58466},{"type":426,"tag":553,"props":192312,"children":192313},{"style":684},[192314],{"type":431,"value":192315},"(invalid_contacts)",{"type":426,"tag":553,"props":192317,"children":192318},{"style":566},[192319],{"type":431,"value":982},{"type":426,"tag":553,"props":192321,"children":192322},{"style":572},[192323],{"type":431,"value":1527},{"type":426,"tag":553,"props":192325,"children":192326},{"style":684},[192327],{"type":431,"value":3262},{"type":426,"tag":553,"props":192329,"children":192330},{"class":555,"line":2087},[192331],{"type":426,"tag":553,"props":192332,"children":192333},{"emptyLinePlaceholder":831},[192334],{"type":431,"value":834},{"type":426,"tag":553,"props":192336,"children":192337},{"class":555,"line":2096},[192338],{"type":426,"tag":553,"props":192339,"children":192340},{"style":1975},[192341],{"type":431,"value":192342},"# Now send only to valid contacts\n",{"type":426,"tag":553,"props":192344,"children":192345},{"class":555,"line":2105},[192346,192350,192354,192358],{"type":426,"tag":553,"props":192347,"children":192348},{"style":795},[192349],{"type":431,"value":7491},{"type":426,"tag":553,"props":192351,"children":192352},{"style":684},[192353],{"type":431,"value":18000},{"type":426,"tag":553,"props":192355,"children":192356},{"style":795},[192357],{"type":431,"value":2005},{"type":426,"tag":553,"props":192359,"children":192360},{"style":684},[192361],{"type":431,"value":192362}," valid_contacts:\n",{"type":426,"tag":553,"props":192364,"children":192365},{"class":555,"line":2114},[192366],{"type":426,"tag":553,"props":192367,"children":192368},{"style":684},[192369],{"type":431,"value":30283},{"type":426,"tag":553,"props":192371,"children":192372},{"class":555,"line":2123},[192373,192377],{"type":426,"tag":553,"props":192374,"children":192375},{"style":572},[192376],{"type":431,"value":47296},{"type":426,"tag":553,"props":192378,"children":192379},{"style":684},[192380],{"type":431,"value":710},{"type":426,"tag":553,"props":192382,"children":192383},{"class":555,"line":2132},[192384,192388,192392,192396,192400,192404,192408,192412,192416,192420],{"type":426,"tag":553,"props":192385,"children":192386},{"style":1684},[192387],{"type":431,"value":1687},{"type":426,"tag":553,"props":192389,"children":192390},{"style":795},[192391],{"type":431,"value":957},{"type":426,"tag":553,"props":192393,"children":192394},{"style":684},[192395],{"type":431,"value":972},{"type":426,"tag":553,"props":192397,"children":192398},{"style":572},[192399],{"type":431,"value":45214},{"type":426,"tag":553,"props":192401,"children":192402},{"style":684},[192403],{"type":431,"value":700},{"type":426,"tag":553,"props":192405,"children":192406},{"style":795},[192407],{"type":431,"value":1709},{"type":426,"tag":553,"props":192409,"children":192410},{"style":572},[192411],{"type":431,"value":12608},{"type":426,"tag":553,"props":192413,"children":192414},{"style":566},[192415],{"type":431,"value":139229},{"type":426,"tag":553,"props":192417,"children":192418},{"style":572},[192419],{"type":431,"value":1527},{"type":426,"tag":553,"props":192421,"children":192422},{"style":684},[192423],{"type":431,"value":1737},{"type":426,"tag":553,"props":192425,"children":192426},{"class":555,"line":2151},[192427,192431,192435,192439,192443,192447,192451,192455,192459,192463,192467,192471,192475,192479,192483,192487,192491,192496],{"type":426,"tag":553,"props":192428,"children":192429},{"style":1684},[192430],{"type":431,"value":1746},{"type":426,"tag":553,"props":192432,"children":192433},{"style":795},[192434],{"type":431,"value":957},{"type":426,"tag":553,"props":192436,"children":192437},{"style":684},[192438],{"type":431,"value":972},{"type":426,"tag":553,"props":192440,"children":192441},{"style":572},[192442],{"type":431,"value":45266},{"type":426,"tag":553,"props":192444,"children":192445},{"style":684},[192446],{"type":431,"value":18086},{"type":426,"tag":553,"props":192448,"children":192449},{"style":572},[192450],{"type":431,"value":73482},{"type":426,"tag":553,"props":192452,"children":192453},{"style":684},[192454],{"type":431,"value":1774},{"type":426,"tag":553,"props":192456,"children":192457},{"style":572},[192458],{"type":431,"value":45275},{"type":426,"tag":553,"props":192460,"children":192461},{"style":684},[192462],{"type":431,"value":700},{"type":426,"tag":553,"props":192464,"children":192465},{"style":795},[192466],{"type":431,"value":1709},{"type":426,"tag":553,"props":192468,"children":192469},{"style":572},[192470],{"type":431,"value":4625},{"type":426,"tag":553,"props":192472,"children":192473},{"style":566},[192474],{"type":431,"value":972},{"type":426,"tag":553,"props":192476,"children":192477},{"style":684},[192478],{"type":431,"value":141479},{"type":426,"tag":553,"props":192480,"children":192481},{"style":572},[192482],{"type":431,"value":1277},{"type":426,"tag":553,"props":192484,"children":192485},{"style":684},[192486],{"type":431,"value":1240},{"type":426,"tag":553,"props":192488,"children":192489},{"style":566},[192490],{"type":431,"value":982},{"type":426,"tag":553,"props":192492,"children":192493},{"style":572},[192494],{"type":431,"value":192495},"!\"",{"type":426,"tag":553,"props":192497,"children":192498},{"style":684},[192499],{"type":431,"value":756},{"type":426,"tag":553,"props":192501,"children":192502},{"class":555,"line":2160},[192503],{"type":426,"tag":553,"props":192504,"children":192505},{"style":684},[192506],{"type":431,"value":1642},{"type":426,"tag":553,"props":192508,"children":192509},{"class":555,"line":2174},[192510,192514,192518],{"type":426,"tag":553,"props":192511,"children":192512},{"style":684},[192513],{"type":431,"value":43150},{"type":426,"tag":553,"props":192515,"children":192516},{"style":566},[192517],{"type":431,"value":1921},{"type":426,"tag":553,"props":192519,"children":192520},{"style":684},[192521],{"type":431,"value":3262},{"type":426,"tag":515,"props":192523,"children":192524},{"id":79185},[192525],{"type":431,"value":79188},{"type":426,"tag":542,"props":192527,"children":192529},{"className":52113,"code":192528,"language":52115,"meta":417,"style":417},"const API_KEY = \"YOUR_API_KEY\";\n\nasync function checkWhatsAppNumber(phoneNumber) {\n  const response = await fetch(\n    `https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number?number=${phoneNumber}`,\n    { headers: { \"Authorization\": `Bearer ${API_KEY}` } }\n  );\n  const data = await response.json();\n  return data.exists === true;\n}\n\nasync function filterValidNumbers(contacts) {\n  const valid = [];\n  const invalid = [];\n  \n  for (const contact of contacts) {\n    const isValid = await checkWhatsAppNumber(contact.phone);\n    isValid ? valid.push(contact) : invalid.push(contact);\n    \n    \u002F\u002F Small delay between checks\n    await new Promise(resolve => setTimeout(resolve, 500));\n  }\n  \n  return { valid, invalid };\n}\n\n\u002F\u002F Usage\nconst contacts = [\n  { phone: \"8801111111111\", name: \"Alice\" },\n  { phone: \"8802222222222\", name: \"Bob\" },\n];\n\nconst { valid, invalid } = await filterValidNumbers(contacts);\nconsole.log(`Valid: ${valid.length}, Invalid: ${invalid.length}`);\n",[192530],{"type":426,"tag":549,"props":192531,"children":192532},{"__ignoreMap":417},[192533,192556,192563,192591,192618,192638,192670,192677,192708,192732,192739,192746,192774,192794,192814,192821,192850,192879,192923,192930,192938,192982,192989,192996,193008,193015,193022,193029,193048,193071,193094,193101,193108,193154],{"type":426,"tag":553,"props":192534,"children":192535},{"class":555,"line":556},[192536,192540,192544,192548,192552],{"type":426,"tag":553,"props":192537,"children":192538},{"style":795},[192539],{"type":431,"value":52135},{"type":426,"tag":553,"props":192541,"children":192542},{"style":566},[192543],{"type":431,"value":133722},{"type":426,"tag":553,"props":192545,"children":192546},{"style":795},[192547],{"type":431,"value":8739},{"type":426,"tag":553,"props":192549,"children":192550},{"style":572},[192551],{"type":431,"value":170073},{"type":426,"tag":553,"props":192553,"children":192554},{"style":684},[192555],{"type":431,"value":52321},{"type":426,"tag":553,"props":192557,"children":192558},{"class":555,"line":588},[192559],{"type":426,"tag":553,"props":192560,"children":192561},{"emptyLinePlaceholder":831},[192562],{"type":431,"value":834},{"type":426,"tag":553,"props":192564,"children":192565},{"class":555,"line":606},[192566,192570,192574,192579,192583,192587],{"type":426,"tag":553,"props":192567,"children":192568},{"style":795},[192569],{"type":431,"value":52361},{"type":426,"tag":553,"props":192571,"children":192572},{"style":795},[192573],{"type":431,"value":52366},{"type":426,"tag":553,"props":192575,"children":192576},{"style":560},[192577],{"type":431,"value":192578}," checkWhatsAppNumber",{"type":426,"tag":553,"props":192580,"children":192581},{"style":684},[192582],{"type":431,"value":3275},{"type":426,"tag":553,"props":192584,"children":192585},{"style":1684},[192586],{"type":431,"value":122944},{"type":426,"tag":553,"props":192588,"children":192589},{"style":684},[192590],{"type":431,"value":52385},{"type":426,"tag":553,"props":192592,"children":192593},{"class":555,"line":623},[192594,192598,192602,192606,192610,192614],{"type":426,"tag":553,"props":192595,"children":192596},{"style":795},[192597],{"type":431,"value":52540},{"type":426,"tag":553,"props":192599,"children":192600},{"style":566},[192601],{"type":431,"value":53061},{"type":426,"tag":553,"props":192603,"children":192604},{"style":795},[192605],{"type":431,"value":8739},{"type":426,"tag":553,"props":192607,"children":192608},{"style":795},[192609],{"type":431,"value":53070},{"type":426,"tag":553,"props":192611,"children":192612},{"style":560},[192613],{"type":431,"value":52226},{"type":426,"tag":553,"props":192615,"children":192616},{"style":684},[192617],{"type":431,"value":3172},{"type":426,"tag":553,"props":192619,"children":192620},{"class":555,"line":637},[192621,192626,192630,192634],{"type":426,"tag":553,"props":192622,"children":192623},{"style":572},[192624],{"type":431,"value":192625},"    `https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number?number=${",{"type":426,"tag":553,"props":192627,"children":192628},{"style":684},[192629],{"type":431,"value":122944},{"type":426,"tag":553,"props":192631,"children":192632},{"style":572},[192633],{"type":431,"value":52718},{"type":426,"tag":553,"props":192635,"children":192636},{"style":684},[192637],{"type":431,"value":710},{"type":426,"tag":553,"props":192639,"children":192640},{"class":555,"line":646},[192641,192646,192650,192654,192658,192662,192666],{"type":426,"tag":553,"props":192642,"children":192643},{"style":684},[192644],{"type":431,"value":192645},"    { headers: { ",{"type":426,"tag":553,"props":192647,"children":192648},{"style":572},[192649],{"type":431,"value":45214},{"type":426,"tag":553,"props":192651,"children":192652},{"style":684},[192653],{"type":431,"value":700},{"type":426,"tag":553,"props":192655,"children":192656},{"style":572},[192657],{"type":431,"value":53129},{"type":426,"tag":553,"props":192659,"children":192660},{"style":566},[192661],{"type":431,"value":133819},{"type":426,"tag":553,"props":192663,"children":192664},{"style":572},[192665],{"type":431,"value":52718},{"type":426,"tag":553,"props":192667,"children":192668},{"style":684},[192669],{"type":431,"value":170442},{"type":426,"tag":553,"props":192671,"children":192672},{"class":555,"line":655},[192673],{"type":426,"tag":553,"props":192674,"children":192675},{"style":684},[192676],{"type":431,"value":96715},{"type":426,"tag":553,"props":192678,"children":192679},{"class":555,"line":1036},[192680,192684,192688,192692,192696,192700,192704],{"type":426,"tag":553,"props":192681,"children":192682},{"style":795},[192683],{"type":431,"value":52540},{"type":426,"tag":553,"props":192685,"children":192686},{"style":566},[192687],{"type":431,"value":75817},{"type":426,"tag":553,"props":192689,"children":192690},{"style":795},[192691],{"type":431,"value":8739},{"type":426,"tag":553,"props":192693,"children":192694},{"style":795},[192695],{"type":431,"value":53070},{"type":426,"tag":553,"props":192697,"children":192698},{"style":684},[192699],{"type":431,"value":53218},{"type":426,"tag":553,"props":192701,"children":192702},{"style":560},[192703],{"type":431,"value":673},{"type":426,"tag":553,"props":192705,"children":192706},{"style":684},[192707],{"type":431,"value":53227},{"type":426,"tag":553,"props":192709,"children":192710},{"class":555,"line":1054},[192711,192715,192720,192724,192728],{"type":426,"tag":553,"props":192712,"children":192713},{"style":795},[192714],{"type":431,"value":52393},{"type":426,"tag":553,"props":192716,"children":192717},{"style":684},[192718],{"type":431,"value":192719}," data.exists ",{"type":426,"tag":553,"props":192721,"children":192722},{"style":795},[192723],{"type":431,"value":55042},{"type":426,"tag":553,"props":192725,"children":192726},{"style":566},[192727],{"type":431,"value":80092},{"type":426,"tag":553,"props":192729,"children":192730},{"style":684},[192731],{"type":431,"value":52321},{"type":426,"tag":553,"props":192733,"children":192734},{"class":555,"line":1080},[192735],{"type":426,"tag":553,"props":192736,"children":192737},{"style":684},[192738],{"type":431,"value":756},{"type":426,"tag":553,"props":192740,"children":192741},{"class":555,"line":1097},[192742],{"type":426,"tag":553,"props":192743,"children":192744},{"emptyLinePlaceholder":831},[192745],{"type":431,"value":834},{"type":426,"tag":553,"props":192747,"children":192748},{"class":555,"line":1114},[192749,192753,192757,192762,192766,192770],{"type":426,"tag":553,"props":192750,"children":192751},{"style":795},[192752],{"type":431,"value":52361},{"type":426,"tag":553,"props":192754,"children":192755},{"style":795},[192756],{"type":431,"value":52366},{"type":426,"tag":553,"props":192758,"children":192759},{"style":560},[192760],{"type":431,"value":192761}," filterValidNumbers",{"type":426,"tag":553,"props":192763,"children":192764},{"style":684},[192765],{"type":431,"value":3275},{"type":426,"tag":553,"props":192767,"children":192768},{"style":1684},[192769],{"type":431,"value":112146},{"type":426,"tag":553,"props":192771,"children":192772},{"style":684},[192773],{"type":431,"value":52385},{"type":426,"tag":553,"props":192775,"children":192776},{"class":555,"line":1127},[192777,192781,192786,192790],{"type":426,"tag":553,"props":192778,"children":192779},{"style":795},[192780],{"type":431,"value":52540},{"type":426,"tag":553,"props":192782,"children":192783},{"style":566},[192784],{"type":431,"value":192785}," valid",{"type":426,"tag":553,"props":192787,"children":192788},{"style":795},[192789],{"type":431,"value":8739},{"type":426,"tag":553,"props":192791,"children":192792},{"style":684},[192793],{"type":431,"value":88887},{"type":426,"tag":553,"props":192795,"children":192796},{"class":555,"line":1167},[192797,192801,192806,192810],{"type":426,"tag":553,"props":192798,"children":192799},{"style":795},[192800],{"type":431,"value":52540},{"type":426,"tag":553,"props":192802,"children":192803},{"style":566},[192804],{"type":431,"value":192805}," invalid",{"type":426,"tag":553,"props":192807,"children":192808},{"style":795},[192809],{"type":431,"value":8739},{"type":426,"tag":553,"props":192811,"children":192812},{"style":684},[192813],{"type":431,"value":88887},{"type":426,"tag":553,"props":192815,"children":192816},{"class":555,"line":1184},[192817],{"type":426,"tag":553,"props":192818,"children":192819},{"style":684},[192820],{"type":431,"value":52575},{"type":426,"tag":553,"props":192822,"children":192823},{"class":555,"line":1192},[192824,192828,192832,192836,192840,192845],{"type":426,"tag":553,"props":192825,"children":192826},{"style":795},[192827],{"type":431,"value":105046},{"type":426,"tag":553,"props":192829,"children":192830},{"style":684},[192831],{"type":431,"value":5684},{"type":426,"tag":553,"props":192833,"children":192834},{"style":795},[192835],{"type":431,"value":52135},{"type":426,"tag":553,"props":192837,"children":192838},{"style":566},[192839],{"type":431,"value":135972},{"type":426,"tag":553,"props":192841,"children":192842},{"style":795},[192843],{"type":431,"value":192844}," of",{"type":426,"tag":553,"props":192846,"children":192847},{"style":684},[192848],{"type":431,"value":192849}," contacts) {\n",{"type":426,"tag":553,"props":192851,"children":192852},{"class":555,"line":1210},[192853,192857,192862,192866,192870,192874],{"type":426,"tag":553,"props":192854,"children":192855},{"style":795},[192856],{"type":431,"value":85411},{"type":426,"tag":553,"props":192858,"children":192859},{"style":566},[192860],{"type":431,"value":192861}," isValid",{"type":426,"tag":553,"props":192863,"children":192864},{"style":795},[192865],{"type":431,"value":8739},{"type":426,"tag":553,"props":192867,"children":192868},{"style":795},[192869],{"type":431,"value":53070},{"type":426,"tag":553,"props":192871,"children":192872},{"style":560},[192873],{"type":431,"value":192578},{"type":426,"tag":553,"props":192875,"children":192876},{"style":684},[192877],{"type":431,"value":192878},"(contact.phone);\n",{"type":426,"tag":553,"props":192880,"children":192881},{"class":555,"line":1253},[192882,192887,192891,192896,192900,192905,192909,192914,192918],{"type":426,"tag":553,"props":192883,"children":192884},{"style":684},[192885],{"type":431,"value":192886},"    isValid ",{"type":426,"tag":553,"props":192888,"children":192889},{"style":795},[192890],{"type":431,"value":68164},{"type":426,"tag":553,"props":192892,"children":192893},{"style":684},[192894],{"type":431,"value":192895}," valid.",{"type":426,"tag":553,"props":192897,"children":192898},{"style":560},[192899],{"type":431,"value":136496},{"type":426,"tag":553,"props":192901,"children":192902},{"style":684},[192903],{"type":431,"value":192904},"(contact) ",{"type":426,"tag":553,"props":192906,"children":192907},{"style":795},[192908],{"type":431,"value":19071},{"type":426,"tag":553,"props":192910,"children":192911},{"style":684},[192912],{"type":431,"value":192913}," invalid.",{"type":426,"tag":553,"props":192915,"children":192916},{"style":560},[192917],{"type":431,"value":136496},{"type":426,"tag":553,"props":192919,"children":192920},{"style":684},[192921],{"type":431,"value":192922},"(contact);\n",{"type":426,"tag":553,"props":192924,"children":192925},{"class":555,"line":1302},[192926],{"type":426,"tag":553,"props":192927,"children":192928},{"style":684},[192929],{"type":431,"value":917},{"type":426,"tag":553,"props":192931,"children":192932},{"class":555,"line":1374},[192933],{"type":426,"tag":553,"props":192934,"children":192935},{"style":1975},[192936],{"type":431,"value":192937},"    \u002F\u002F Small delay between checks\n",{"type":426,"tag":553,"props":192939,"children":192940},{"class":555,"line":1414},[192941,192945,192949,192953,192957,192961,192965,192969,192974,192978],{"type":426,"tag":553,"props":192942,"children":192943},{"style":795},[192944],{"type":431,"value":84941},{"type":426,"tag":553,"props":192946,"children":192947},{"style":795},[192948],{"type":431,"value":52275},{"type":426,"tag":553,"props":192950,"children":192951},{"style":566},[192952],{"type":431,"value":135773},{"type":426,"tag":553,"props":192954,"children":192955},{"style":684},[192956],{"type":431,"value":3275},{"type":426,"tag":553,"props":192958,"children":192959},{"style":1684},[192960],{"type":431,"value":181710},{"type":426,"tag":553,"props":192962,"children":192963},{"style":795},[192964],{"type":431,"value":53709},{"type":426,"tag":553,"props":192966,"children":192967},{"style":560},[192968],{"type":431,"value":135791},{"type":426,"tag":553,"props":192970,"children":192971},{"style":684},[192972],{"type":431,"value":192973},"(resolve, ",{"type":426,"tag":553,"props":192975,"children":192976},{"style":566},[192977],{"type":431,"value":11233},{"type":426,"tag":553,"props":192979,"children":192980},{"style":684},[192981],{"type":431,"value":61669},{"type":426,"tag":553,"props":192983,"children":192984},{"class":555,"line":1479},[192985],{"type":426,"tag":553,"props":192986,"children":192987},{"style":684},[192988],{"type":431,"value":60547},{"type":426,"tag":553,"props":192990,"children":192991},{"class":555,"line":1517},[192992],{"type":426,"tag":553,"props":192993,"children":192994},{"style":684},[192995],{"type":431,"value":52575},{"type":426,"tag":553,"props":192997,"children":192998},{"class":555,"line":1560},[192999,193003],{"type":426,"tag":553,"props":193000,"children":193001},{"style":795},[193002],{"type":431,"value":52393},{"type":426,"tag":553,"props":193004,"children":193005},{"style":684},[193006],{"type":431,"value":193007}," { valid, invalid };\n",{"type":426,"tag":553,"props":193009,"children":193010},{"class":555,"line":1598},[193011],{"type":426,"tag":553,"props":193012,"children":193013},{"style":684},[193014],{"type":431,"value":756},{"type":426,"tag":553,"props":193016,"children":193017},{"class":555,"line":1636},[193018],{"type":426,"tag":553,"props":193019,"children":193020},{"emptyLinePlaceholder":831},[193021],{"type":431,"value":834},{"type":426,"tag":553,"props":193023,"children":193024},{"class":555,"line":1645},[193025],{"type":426,"tag":553,"props":193026,"children":193027},{"style":1975},[193028],{"type":431,"value":53575},{"type":426,"tag":553,"props":193030,"children":193031},{"class":555,"line":1653},[193032,193036,193040,193044],{"type":426,"tag":553,"props":193033,"children":193034},{"style":795},[193035],{"type":431,"value":52135},{"type":426,"tag":553,"props":193037,"children":193038},{"style":566},[193039],{"type":431,"value":136736},{"type":426,"tag":553,"props":193041,"children":193042},{"style":795},[193043],{"type":431,"value":8739},{"type":426,"tag":553,"props":193045,"children":193046},{"style":684},[193047],{"type":431,"value":80133},{"type":426,"tag":553,"props":193049,"children":193050},{"class":555,"line":1667},[193051,193055,193059,193063,193067],{"type":426,"tag":553,"props":193052,"children":193053},{"style":684},[193054],{"type":431,"value":136752},{"type":426,"tag":553,"props":193056,"children":193057},{"style":572},[193058],{"type":431,"value":81689},{"type":426,"tag":553,"props":193060,"children":193061},{"style":684},[193062],{"type":431,"value":44374},{"type":426,"tag":553,"props":193064,"children":193065},{"style":572},[193066],{"type":431,"value":136765},{"type":426,"tag":553,"props":193068,"children":193069},{"style":684},[193070],{"type":431,"value":136779},{"type":426,"tag":553,"props":193072,"children":193073},{"class":555,"line":1680},[193074,193078,193082,193086,193090],{"type":426,"tag":553,"props":193075,"children":193076},{"style":684},[193077],{"type":431,"value":136752},{"type":426,"tag":553,"props":193079,"children":193080},{"style":572},[193081],{"type":431,"value":136791},{"type":426,"tag":553,"props":193083,"children":193084},{"style":684},[193085],{"type":431,"value":44374},{"type":426,"tag":553,"props":193087,"children":193088},{"style":572},[193089],{"type":431,"value":136800},{"type":426,"tag":553,"props":193091,"children":193092},{"style":684},[193093],{"type":431,"value":136779},{"type":426,"tag":553,"props":193095,"children":193096},{"class":555,"line":1740},[193097],{"type":426,"tag":553,"props":193098,"children":193099},{"style":684},[193100],{"type":431,"value":88941},{"type":426,"tag":553,"props":193102,"children":193103},{"class":555,"line":1787},[193104],{"type":426,"tag":553,"props":193105,"children":193106},{"emptyLinePlaceholder":831},[193107],{"type":431,"value":834},{"type":426,"tag":553,"props":193109,"children":193110},{"class":555,"line":1796},[193111,193115,193119,193124,193128,193133,193137,193141,193145,193149],{"type":426,"tag":553,"props":193112,"children":193113},{"style":795},[193114],{"type":431,"value":52135},{"type":426,"tag":553,"props":193116,"children":193117},{"style":684},[193118],{"type":431,"value":52174},{"type":426,"tag":553,"props":193120,"children":193121},{"style":566},[193122],{"type":431,"value":193123},"valid",{"type":426,"tag":553,"props":193125,"children":193126},{"style":684},[193127],{"type":431,"value":1907},{"type":426,"tag":553,"props":193129,"children":193130},{"style":566},[193131],{"type":431,"value":193132},"invalid",{"type":426,"tag":553,"props":193134,"children":193135},{"style":684},[193136],{"type":431,"value":52193},{"type":426,"tag":553,"props":193138,"children":193139},{"style":795},[193140],{"type":431,"value":957},{"type":426,"tag":553,"props":193142,"children":193143},{"style":795},[193144],{"type":431,"value":53070},{"type":426,"tag":553,"props":193146,"children":193147},{"style":560},[193148],{"type":431,"value":192761},{"type":426,"tag":553,"props":193150,"children":193151},{"style":684},[193152],{"type":431,"value":193153},"(contacts);\n",{"type":426,"tag":553,"props":193155,"children":193156},{"class":555,"line":1804},[193157,193161,193165,193169,193174,193178,193182,193186,193191,193195,193199,193203,193207],{"type":426,"tag":553,"props":193158,"children":193159},{"style":684},[193160],{"type":431,"value":121455},{"type":426,"tag":553,"props":193162,"children":193163},{"style":560},[193164],{"type":431,"value":53719},{"type":426,"tag":553,"props":193166,"children":193167},{"style":684},[193168],{"type":431,"value":3275},{"type":426,"tag":553,"props":193170,"children":193171},{"style":572},[193172],{"type":431,"value":193173},"`Valid: ${",{"type":426,"tag":553,"props":193175,"children":193176},{"style":684},[193177],{"type":431,"value":193123},{"type":426,"tag":553,"props":193179,"children":193180},{"style":572},[193181],{"type":431,"value":6789},{"type":426,"tag":553,"props":193183,"children":193184},{"style":566},[193185],{"type":431,"value":121253},{"type":426,"tag":553,"props":193187,"children":193188},{"style":572},[193189],{"type":431,"value":193190},"}, Invalid: ${",{"type":426,"tag":553,"props":193192,"children":193193},{"style":684},[193194],{"type":431,"value":193132},{"type":426,"tag":553,"props":193196,"children":193197},{"style":572},[193198],{"type":431,"value":6789},{"type":426,"tag":553,"props":193200,"children":193201},{"style":566},[193202],{"type":431,"value":121253},{"type":426,"tag":553,"props":193204,"children":193205},{"style":572},[193206],{"type":431,"value":52718},{"type":426,"tag":553,"props":193208,"children":193209},{"style":684},[193210],{"type":431,"value":11379},{"type":426,"tag":434,"props":193212,"children":193214},{"id":193213},"step-3-check-if-a-number-is-a-whatsapp-business-account",[193215],{"type":431,"value":193216},"Step 3: Check If a Number Is a WhatsApp Business Account",{"type":426,"tag":427,"props":193218,"children":193219},{},[193220],{"type":431,"value":193221},"The verification API also tells you if a number is a WhatsApp Business account — useful when building B2B communication tools:",{"type":426,"tag":542,"props":193223,"children":193225},{"className":785,"code":193224,"language":784,"meta":417,"style":417},"def check_number_details(phone_number):\n    response = requests.get(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\",\n        headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n        params={\"number\": phone_number}\n    )\n    data = response.json()\n    \n    if data.get(\"exists\"):\n        account_type = \"WhatsApp Business\" if data.get(\"isWhatsappBusiness\") else \"Personal WhatsApp\"\n        print(f\"✓ {phone_number} is registered as: {account_type}\")\n        if data.get(\"name\"):\n            print(f\"  Name: {data['name']}\")\n    else:\n        print(f\"✗ {phone_number} is not on WhatsApp\")\n    \n    return data\n",[193226],{"type":426,"tag":549,"props":193227,"children":193228},{"__ignoreMap":417},[193229,193245,193260,193271,193314,193337,193344,193359,193366,193385,193428,193486,193505,193553,193564,193605,193612],{"type":426,"tag":553,"props":193230,"children":193231},{"class":555,"line":556},[193232,193236,193241],{"type":426,"tag":553,"props":193233,"children":193234},{"style":795},[193235],{"type":431,"value":842},{"type":426,"tag":553,"props":193237,"children":193238},{"style":560},[193239],{"type":431,"value":193240}," check_number_details",{"type":426,"tag":553,"props":193242,"children":193243},{"style":684},[193244],{"type":431,"value":191570},{"type":426,"tag":553,"props":193246,"children":193247},{"class":555,"line":588},[193248,193252,193256],{"type":426,"tag":553,"props":193249,"children":193250},{"style":684},[193251],{"type":431,"value":8117},{"type":426,"tag":553,"props":193253,"children":193254},{"style":795},[193255],{"type":431,"value":957},{"type":426,"tag":553,"props":193257,"children":193258},{"style":684},[193259],{"type":431,"value":153136},{"type":426,"tag":553,"props":193261,"children":193262},{"class":555,"line":606},[193263,193267],{"type":426,"tag":553,"props":193264,"children":193265},{"style":572},[193266],{"type":431,"value":153144},{"type":426,"tag":553,"props":193268,"children":193269},{"style":684},[193270],{"type":431,"value":710},{"type":426,"tag":553,"props":193272,"children":193273},{"class":555,"line":623},[193274,193278,193282,193286,193290,193294,193298,193302,193306,193310],{"type":426,"tag":553,"props":193275,"children":193276},{"style":1684},[193277],{"type":431,"value":1687},{"type":426,"tag":553,"props":193279,"children":193280},{"style":795},[193281],{"type":431,"value":957},{"type":426,"tag":553,"props":193283,"children":193284},{"style":684},[193285],{"type":431,"value":972},{"type":426,"tag":553,"props":193287,"children":193288},{"style":572},[193289],{"type":431,"value":45214},{"type":426,"tag":553,"props":193291,"children":193292},{"style":684},[193293],{"type":431,"value":700},{"type":426,"tag":553,"props":193295,"children":193296},{"style":795},[193297],{"type":431,"value":1709},{"type":426,"tag":553,"props":193299,"children":193300},{"style":572},[193301],{"type":431,"value":12608},{"type":426,"tag":553,"props":193303,"children":193304},{"style":566},[193305],{"type":431,"value":139229},{"type":426,"tag":553,"props":193307,"children":193308},{"style":572},[193309],{"type":431,"value":1527},{"type":426,"tag":553,"props":193311,"children":193312},{"style":684},[193313],{"type":431,"value":1737},{"type":426,"tag":553,"props":193315,"children":193316},{"class":555,"line":637},[193317,193321,193325,193329,193333],{"type":426,"tag":553,"props":193318,"children":193319},{"style":1684},[193320],{"type":431,"value":153188},{"type":426,"tag":553,"props":193322,"children":193323},{"style":795},[193324],{"type":431,"value":957},{"type":426,"tag":553,"props":193326,"children":193327},{"style":684},[193328],{"type":431,"value":972},{"type":426,"tag":553,"props":193330,"children":193331},{"style":572},[193332],{"type":431,"value":45266},{"type":426,"tag":553,"props":193334,"children":193335},{"style":684},[193336],{"type":431,"value":191676},{"type":426,"tag":553,"props":193338,"children":193339},{"class":555,"line":646},[193340],{"type":426,"tag":553,"props":193341,"children":193342},{"style":684},[193343],{"type":431,"value":1642},{"type":426,"tag":553,"props":193345,"children":193346},{"class":555,"line":655},[193347,193351,193355],{"type":426,"tag":553,"props":193348,"children":193349},{"style":684},[193350],{"type":431,"value":13733},{"type":426,"tag":553,"props":193352,"children":193353},{"style":795},[193354],{"type":431,"value":957},{"type":426,"tag":553,"props":193356,"children":193357},{"style":684},[193358],{"type":431,"value":9193},{"type":426,"tag":553,"props":193360,"children":193361},{"class":555,"line":1036},[193362],{"type":426,"tag":553,"props":193363,"children":193364},{"style":684},[193365],{"type":431,"value":917},{"type":426,"tag":553,"props":193367,"children":193368},{"class":555,"line":1054},[193369,193373,193377,193381],{"type":426,"tag":553,"props":193370,"children":193371},{"style":795},[193372],{"type":431,"value":925},{"type":426,"tag":553,"props":193374,"children":193375},{"style":684},[193376],{"type":431,"value":8311},{"type":426,"tag":553,"props":193378,"children":193379},{"style":572},[193380],{"type":431,"value":153235},{"type":426,"tag":553,"props":193382,"children":193383},{"style":684},[193384],{"type":431,"value":8370},{"type":426,"tag":553,"props":193386,"children":193387},{"class":555,"line":1080},[193388,193393,193397,193402,193406,193410,193415,193419,193423],{"type":426,"tag":553,"props":193389,"children":193390},{"style":684},[193391],{"type":431,"value":193392},"        account_type ",{"type":426,"tag":553,"props":193394,"children":193395},{"style":795},[193396],{"type":431,"value":957},{"type":426,"tag":553,"props":193398,"children":193399},{"style":572},[193400],{"type":431,"value":193401}," \"WhatsApp Business\"",{"type":426,"tag":553,"props":193403,"children":193404},{"style":795},[193405],{"type":431,"value":1001},{"type":426,"tag":553,"props":193407,"children":193408},{"style":684},[193409],{"type":431,"value":8311},{"type":426,"tag":553,"props":193411,"children":193412},{"style":572},[193413],{"type":431,"value":193414},"\"isWhatsappBusiness\"",{"type":426,"tag":553,"props":193416,"children":193417},{"style":684},[193418],{"type":431,"value":2987},{"type":426,"tag":553,"props":193420,"children":193421},{"style":795},[193422],{"type":431,"value":61682},{"type":426,"tag":553,"props":193424,"children":193425},{"style":572},[193426],{"type":431,"value":193427}," \"Personal WhatsApp\"\n",{"type":426,"tag":553,"props":193429,"children":193430},{"class":555,"line":1097},[193431,193435,193439,193443,193448,193452,193456,193460,193465,193469,193474,193478,193482],{"type":426,"tag":553,"props":193432,"children":193433},{"style":566},[193434],{"type":431,"value":181329},{"type":426,"tag":553,"props":193436,"children":193437},{"style":684},[193438],{"type":431,"value":3275},{"type":426,"tag":553,"props":193440,"children":193441},{"style":795},[193442],{"type":431,"value":1709},{"type":426,"tag":553,"props":193444,"children":193445},{"style":572},[193446],{"type":431,"value":193447},"\"✓ ",{"type":426,"tag":553,"props":193449,"children":193450},{"style":566},[193451],{"type":431,"value":972},{"type":426,"tag":553,"props":193453,"children":193454},{"style":684},[193455],{"type":431,"value":144793},{"type":426,"tag":553,"props":193457,"children":193458},{"style":566},[193459],{"type":431,"value":982},{"type":426,"tag":553,"props":193461,"children":193462},{"style":572},[193463],{"type":431,"value":193464}," is registered as: ",{"type":426,"tag":553,"props":193466,"children":193467},{"style":566},[193468],{"type":431,"value":972},{"type":426,"tag":553,"props":193470,"children":193471},{"style":684},[193472],{"type":431,"value":193473},"account_type",{"type":426,"tag":553,"props":193475,"children":193476},{"style":566},[193477],{"type":431,"value":982},{"type":426,"tag":553,"props":193479,"children":193480},{"style":572},[193481],{"type":431,"value":1527},{"type":426,"tag":553,"props":193483,"children":193484},{"style":684},[193485],{"type":431,"value":3262},{"type":426,"tag":553,"props":193487,"children":193488},{"class":555,"line":1114},[193489,193493,193497,193501],{"type":426,"tag":553,"props":193490,"children":193491},{"style":795},[193492],{"type":431,"value":2972},{"type":426,"tag":553,"props":193494,"children":193495},{"style":684},[193496],{"type":431,"value":8311},{"type":426,"tag":553,"props":193498,"children":193499},{"style":572},[193500],{"type":431,"value":141905},{"type":426,"tag":553,"props":193502,"children":193503},{"style":684},[193504],{"type":431,"value":8370},{"type":426,"tag":553,"props":193506,"children":193507},{"class":555,"line":1127},[193508,193512,193516,193520,193525,193529,193533,193537,193541,193545,193549],{"type":426,"tag":553,"props":193509,"children":193510},{"style":566},[193511],{"type":431,"value":191925},{"type":426,"tag":553,"props":193513,"children":193514},{"style":684},[193515],{"type":431,"value":3275},{"type":426,"tag":553,"props":193517,"children":193518},{"style":795},[193519],{"type":431,"value":1709},{"type":426,"tag":553,"props":193521,"children":193522},{"style":572},[193523],{"type":431,"value":193524},"\"  Name: ",{"type":426,"tag":553,"props":193526,"children":193527},{"style":566},[193528],{"type":431,"value":972},{"type":426,"tag":553,"props":193530,"children":193531},{"style":684},[193532],{"type":431,"value":143768},{"type":426,"tag":553,"props":193534,"children":193535},{"style":572},[193536],{"type":431,"value":1277},{"type":426,"tag":553,"props":193538,"children":193539},{"style":684},[193540],{"type":431,"value":1240},{"type":426,"tag":553,"props":193542,"children":193543},{"style":566},[193544],{"type":431,"value":982},{"type":426,"tag":553,"props":193546,"children":193547},{"style":572},[193548],{"type":431,"value":1527},{"type":426,"tag":553,"props":193550,"children":193551},{"style":684},[193552],{"type":431,"value":3262},{"type":426,"tag":553,"props":193554,"children":193555},{"class":555,"line":1167},[193556,193560],{"type":426,"tag":553,"props":193557,"children":193558},{"style":795},[193559],{"type":431,"value":1120},{"type":426,"tag":553,"props":193561,"children":193562},{"style":684},[193563],{"type":431,"value":909},{"type":426,"tag":553,"props":193565,"children":193566},{"class":555,"line":1184},[193567,193571,193575,193579,193584,193588,193592,193596,193601],{"type":426,"tag":553,"props":193568,"children":193569},{"style":566},[193570],{"type":431,"value":181329},{"type":426,"tag":553,"props":193572,"children":193573},{"style":684},[193574],{"type":431,"value":3275},{"type":426,"tag":553,"props":193576,"children":193577},{"style":795},[193578],{"type":431,"value":1709},{"type":426,"tag":553,"props":193580,"children":193581},{"style":572},[193582],{"type":431,"value":193583},"\"✗ ",{"type":426,"tag":553,"props":193585,"children":193586},{"style":566},[193587],{"type":431,"value":972},{"type":426,"tag":553,"props":193589,"children":193590},{"style":684},[193591],{"type":431,"value":144793},{"type":426,"tag":553,"props":193593,"children":193594},{"style":566},[193595],{"type":431,"value":982},{"type":426,"tag":553,"props":193597,"children":193598},{"style":572},[193599],{"type":431,"value":193600}," is not on WhatsApp\"",{"type":426,"tag":553,"props":193602,"children":193603},{"style":684},[193604],{"type":431,"value":3262},{"type":426,"tag":553,"props":193606,"children":193607},{"class":555,"line":1192},[193608],{"type":426,"tag":553,"props":193609,"children":193610},{"style":684},[193611],{"type":431,"value":917},{"type":426,"tag":553,"props":193613,"children":193614},{"class":555,"line":1210},[193615,193619],{"type":426,"tag":553,"props":193616,"children":193617},{"style":795},[193618],{"type":431,"value":1659},{"type":426,"tag":553,"props":193620,"children":193621},{"style":684},[193622],{"type":431,"value":193623}," data\n",{"type":426,"tag":434,"props":193625,"children":193627},{"id":193626},"building-a-pre-send-verification-flow",[193628],{"type":431,"value":193629},"Building a Pre-Send Verification Flow",{"type":426,"tag":427,"props":193631,"children":193632},{},[193633],{"type":431,"value":193634},"Here is a complete workflow that verifies, then sends, then logs results:",{"type":426,"tag":542,"props":193636,"children":193638},{"className":785,"code":193637,"language":784,"meta":417,"style":417},"import requests\nimport time\nimport json\nfrom datetime import datetime\n\nAPI_KEY = \"YOUR_API_KEY\"\n\ndef verify_and_send_campaign(contacts, message_template):\n    log = {\n        \"campaign_date\": datetime.now().isoformat(),\n        \"total_contacts\": len(contacts),\n        \"verified\": [],\n        \"not_on_whatsapp\": [],\n        \"sent\": [],\n        \"failed\": []\n    }\n    \n    print(f\"Step 1: Verifying {len(contacts)} numbers...\")\n    \n    for contact in contacts:\n        check = requests.get(\n            \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\",\n            headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n            params={\"number\": contact[\"phone\"]}\n        ).json()\n        \n        if check.get(\"exists\"):\n            log[\"verified\"].append(contact)\n        else:\n            log[\"not_on_whatsapp\"].append(contact[\"phone\"])\n        \n        time.sleep(0.5)\n    \n    print(f\"✓ {len(log['verified'])} valid, ✗ {len(log['not_on_whatsapp'])} not on WhatsApp\")\n    print(f\"\\nStep 2: Sending to {len(log['verified'])} verified contacts...\")\n    \n    for contact in log[\"verified\"]:\n        message = message_template.format(**contact)\n        result = requests.post(\n            \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n            json={\"number\": contact[\"phone\"], \"message\": message}\n        ).json()\n        \n        if result.get(\"status\") == \"success\":\n            log[\"sent\"].append(contact[\"phone\"])\n        else:\n            log[\"failed\"].append(contact[\"phone\"])\n        \n        time.sleep(1)\n    \n    # Save log\n    with open(\"campaign_log.json\", \"w\") as f:\n        json.dump(log, f, indent=2)\n    \n    print(f\"\\nCampaign complete: {len(log['sent'])} sent, {len(log['failed'])} failed\")\n    print(f\"Log saved to campaign_log.json\")\n    \n    return log\n\n# Run campaign\ncontacts = [\n    {\"phone\": \"8801111111111\", \"name\": \"Alice\"},\n    {\"phone\": \"8802222222222\", \"name\": \"Bob\"},\n]\n\nverify_and_send_campaign(contacts, \"Hi {name}! Your order is on its way.\")\n",[193639],{"type":426,"tag":549,"props":193640,"children":193641},{"__ignoreMap":417},[193642,193653,193664,193675,193694,193701,193716,193723,193740,193756,193769,193790,193802,193814,193826,193839,193846,193853,193894,193901,193920,193936,193948,193991,194022,194029,194036,194055,194073,194084,194108,194115,194130,194137,194213,194270,194277,194305,194328,194343,194354,194397,194436,194443,194450,194481,194504,194515,194538,194545,194560,194567,194575,194618,194643,194650,194730,194754,194761,194773,194780,194788,194803,194842,194881,194888,194895],{"type":426,"tag":553,"props":193643,"children":193644},{"class":555,"line":556},[193645,193649],{"type":426,"tag":553,"props":193646,"children":193647},{"style":795},[193648],{"type":431,"value":798},{"type":426,"tag":553,"props":193650,"children":193651},{"style":684},[193652],{"type":431,"value":803},{"type":426,"tag":553,"props":193654,"children":193655},{"class":555,"line":588},[193656,193660],{"type":426,"tag":553,"props":193657,"children":193658},{"style":795},[193659],{"type":431,"value":798},{"type":426,"tag":553,"props":193661,"children":193662},{"style":684},[193663],{"type":431,"value":3081},{"type":426,"tag":553,"props":193665,"children":193666},{"class":555,"line":606},[193667,193671],{"type":426,"tag":553,"props":193668,"children":193669},{"style":795},[193670],{"type":431,"value":798},{"type":426,"tag":553,"props":193672,"children":193673},{"style":684},[193674],{"type":431,"value":63146},{"type":426,"tag":553,"props":193676,"children":193677},{"class":555,"line":623},[193678,193682,193686,193690],{"type":426,"tag":553,"props":193679,"children":193680},{"style":795},[193681],{"type":431,"value":811},{"type":426,"tag":553,"props":193683,"children":193684},{"style":684},[193685],{"type":431,"value":816},{"type":426,"tag":553,"props":193687,"children":193688},{"style":795},[193689],{"type":431,"value":798},{"type":426,"tag":553,"props":193691,"children":193692},{"style":684},[193693],{"type":431,"value":22230},{"type":426,"tag":553,"props":193695,"children":193696},{"class":555,"line":637},[193697],{"type":426,"tag":553,"props":193698,"children":193699},{"emptyLinePlaceholder":831},[193700],{"type":431,"value":834},{"type":426,"tag":553,"props":193702,"children":193703},{"class":555,"line":646},[193704,193708,193712],{"type":426,"tag":553,"props":193705,"children":193706},{"style":566},[193707],{"type":431,"value":133819},{"type":426,"tag":553,"props":193709,"children":193710},{"style":795},[193711],{"type":431,"value":8739},{"type":426,"tag":553,"props":193713,"children":193714},{"style":572},[193715],{"type":431,"value":40863},{"type":426,"tag":553,"props":193717,"children":193718},{"class":555,"line":655},[193719],{"type":426,"tag":553,"props":193720,"children":193721},{"emptyLinePlaceholder":831},[193722],{"type":431,"value":834},{"type":426,"tag":553,"props":193724,"children":193725},{"class":555,"line":1036},[193726,193730,193735],{"type":426,"tag":553,"props":193727,"children":193728},{"style":795},[193729],{"type":431,"value":842},{"type":426,"tag":553,"props":193731,"children":193732},{"style":560},[193733],{"type":431,"value":193734}," verify_and_send_campaign",{"type":426,"tag":553,"props":193736,"children":193737},{"style":684},[193738],{"type":431,"value":193739},"(contacts, message_template):\n",{"type":426,"tag":553,"props":193741,"children":193742},{"class":555,"line":1054},[193743,193748,193752],{"type":426,"tag":553,"props":193744,"children":193745},{"style":684},[193746],{"type":431,"value":193747},"    log ",{"type":426,"tag":553,"props":193749,"children":193750},{"style":795},[193751],{"type":431,"value":957},{"type":426,"tag":553,"props":193753,"children":193754},{"style":684},[193755],{"type":431,"value":5458},{"type":426,"tag":553,"props":193757,"children":193758},{"class":555,"line":1080},[193759,193764],{"type":426,"tag":553,"props":193760,"children":193761},{"style":572},[193762],{"type":431,"value":193763},"        \"campaign_date\"",{"type":426,"tag":553,"props":193765,"children":193766},{"style":684},[193767],{"type":431,"value":193768},": datetime.now().isoformat(),\n",{"type":426,"tag":553,"props":193770,"children":193771},{"class":555,"line":1097},[193772,193777,193781,193785],{"type":426,"tag":553,"props":193773,"children":193774},{"style":572},[193775],{"type":431,"value":193776},"        \"total_contacts\"",{"type":426,"tag":553,"props":193778,"children":193779},{"style":684},[193780],{"type":431,"value":700},{"type":426,"tag":553,"props":193782,"children":193783},{"style":566},[193784],{"type":431,"value":65860},{"type":426,"tag":553,"props":193786,"children":193787},{"style":684},[193788],{"type":431,"value":193789},"(contacts),\n",{"type":426,"tag":553,"props":193791,"children":193792},{"class":555,"line":1114},[193793,193798],{"type":426,"tag":553,"props":193794,"children":193795},{"style":572},[193796],{"type":431,"value":193797},"        \"verified\"",{"type":426,"tag":553,"props":193799,"children":193800},{"style":684},[193801],{"type":431,"value":63967},{"type":426,"tag":553,"props":193803,"children":193804},{"class":555,"line":1127},[193805,193810],{"type":426,"tag":553,"props":193806,"children":193807},{"style":572},[193808],{"type":431,"value":193809},"        \"not_on_whatsapp\"",{"type":426,"tag":553,"props":193811,"children":193812},{"style":684},[193813],{"type":431,"value":63967},{"type":426,"tag":553,"props":193815,"children":193816},{"class":555,"line":1167},[193817,193822],{"type":426,"tag":553,"props":193818,"children":193819},{"style":572},[193820],{"type":431,"value":193821},"        \"sent\"",{"type":426,"tag":553,"props":193823,"children":193824},{"style":684},[193825],{"type":431,"value":63967},{"type":426,"tag":553,"props":193827,"children":193828},{"class":555,"line":1184},[193829,193834],{"type":426,"tag":553,"props":193830,"children":193831},{"style":572},[193832],{"type":431,"value":193833},"        \"failed\"",{"type":426,"tag":553,"props":193835,"children":193836},{"style":684},[193837],{"type":431,"value":193838},": []\n",{"type":426,"tag":553,"props":193840,"children":193841},{"class":555,"line":1192},[193842],{"type":426,"tag":553,"props":193843,"children":193844},{"style":684},[193845],{"type":431,"value":5546},{"type":426,"tag":553,"props":193847,"children":193848},{"class":555,"line":1210},[193849],{"type":426,"tag":553,"props":193850,"children":193851},{"style":684},[193852],{"type":431,"value":917},{"type":426,"tag":553,"props":193854,"children":193855},{"class":555,"line":1253},[193856,193860,193864,193868,193873,193877,193881,193885,193890],{"type":426,"tag":553,"props":193857,"children":193858},{"style":566},[193859],{"type":431,"value":51971},{"type":426,"tag":553,"props":193861,"children":193862},{"style":684},[193863],{"type":431,"value":3275},{"type":426,"tag":553,"props":193865,"children":193866},{"style":795},[193867],{"type":431,"value":1709},{"type":426,"tag":553,"props":193869,"children":193870},{"style":572},[193871],{"type":431,"value":193872},"\"Step 1: Verifying ",{"type":426,"tag":553,"props":193874,"children":193875},{"style":566},[193876],{"type":431,"value":58466},{"type":426,"tag":553,"props":193878,"children":193879},{"style":684},[193880],{"type":431,"value":141461},{"type":426,"tag":553,"props":193882,"children":193883},{"style":566},[193884],{"type":431,"value":982},{"type":426,"tag":553,"props":193886,"children":193887},{"style":572},[193888],{"type":431,"value":193889}," numbers...\"",{"type":426,"tag":553,"props":193891,"children":193892},{"style":684},[193893],{"type":431,"value":3262},{"type":426,"tag":553,"props":193895,"children":193896},{"class":555,"line":1302},[193897],{"type":426,"tag":553,"props":193898,"children":193899},{"style":684},[193900],{"type":431,"value":917},{"type":426,"tag":553,"props":193902,"children":193903},{"class":555,"line":1374},[193904,193908,193912,193916],{"type":426,"tag":553,"props":193905,"children":193906},{"style":795},[193907],{"type":431,"value":1995},{"type":426,"tag":553,"props":193909,"children":193910},{"style":684},[193911],{"type":431,"value":18000},{"type":426,"tag":553,"props":193913,"children":193914},{"style":795},[193915],{"type":431,"value":2005},{"type":426,"tag":553,"props":193917,"children":193918},{"style":684},[193919],{"type":431,"value":18009},{"type":426,"tag":553,"props":193921,"children":193922},{"class":555,"line":1414},[193923,193928,193932],{"type":426,"tag":553,"props":193924,"children":193925},{"style":684},[193926],{"type":431,"value":193927},"        check ",{"type":426,"tag":553,"props":193929,"children":193930},{"style":795},[193931],{"type":431,"value":957},{"type":426,"tag":553,"props":193933,"children":193934},{"style":684},[193935],{"type":431,"value":153136},{"type":426,"tag":553,"props":193937,"children":193938},{"class":555,"line":1479},[193939,193944],{"type":426,"tag":553,"props":193940,"children":193941},{"style":572},[193942],{"type":431,"value":193943},"            \"https:\u002F\u002Fapp.rapiwa.com\u002Fcheck-number\"",{"type":426,"tag":553,"props":193945,"children":193946},{"style":684},[193947],{"type":431,"value":710},{"type":426,"tag":553,"props":193949,"children":193950},{"class":555,"line":1517},[193951,193955,193959,193963,193967,193971,193975,193979,193983,193987],{"type":426,"tag":553,"props":193952,"children":193953},{"style":1684},[193954],{"type":431,"value":2864},{"type":426,"tag":553,"props":193956,"children":193957},{"style":795},[193958],{"type":431,"value":957},{"type":426,"tag":553,"props":193960,"children":193961},{"style":684},[193962],{"type":431,"value":972},{"type":426,"tag":553,"props":193964,"children":193965},{"style":572},[193966],{"type":431,"value":45214},{"type":426,"tag":553,"props":193968,"children":193969},{"style":684},[193970],{"type":431,"value":700},{"type":426,"tag":553,"props":193972,"children":193973},{"style":795},[193974],{"type":431,"value":1709},{"type":426,"tag":553,"props":193976,"children":193977},{"style":572},[193978],{"type":431,"value":12608},{"type":426,"tag":553,"props":193980,"children":193981},{"style":566},[193982],{"type":431,"value":139229},{"type":426,"tag":553,"props":193984,"children":193985},{"style":572},[193986],{"type":431,"value":1527},{"type":426,"tag":553,"props":193988,"children":193989},{"style":684},[193990],{"type":431,"value":1737},{"type":426,"tag":553,"props":193992,"children":193993},{"class":555,"line":1560},[193994,193998,194002,194006,194010,194014,194018],{"type":426,"tag":553,"props":193995,"children":193996},{"style":1684},[193997],{"type":431,"value":140293},{"type":426,"tag":553,"props":193999,"children":194000},{"style":795},[194001],{"type":431,"value":957},{"type":426,"tag":553,"props":194003,"children":194004},{"style":684},[194005],{"type":431,"value":972},{"type":426,"tag":553,"props":194007,"children":194008},{"style":572},[194009],{"type":431,"value":45266},{"type":426,"tag":553,"props":194011,"children":194012},{"style":684},[194013],{"type":431,"value":18086},{"type":426,"tag":553,"props":194015,"children":194016},{"style":572},[194017],{"type":431,"value":73482},{"type":426,"tag":553,"props":194019,"children":194020},{"style":684},[194021],{"type":431,"value":12206},{"type":426,"tag":553,"props":194023,"children":194024},{"class":555,"line":1598},[194025],{"type":426,"tag":553,"props":194026,"children":194027},{"style":684},[194028],{"type":431,"value":2957},{"type":426,"tag":553,"props":194030,"children":194031},{"class":555,"line":1636},[194032],{"type":426,"tag":553,"props":194033,"children":194034},{"style":684},[194035],{"type":431,"value":2061},{"type":426,"tag":553,"props":194037,"children":194038},{"class":555,"line":1645},[194039,194043,194047,194051],{"type":426,"tag":553,"props":194040,"children":194041},{"style":795},[194042],{"type":431,"value":2972},{"type":426,"tag":553,"props":194044,"children":194045},{"style":684},[194046],{"type":431,"value":153230},{"type":426,"tag":553,"props":194048,"children":194049},{"style":572},[194050],{"type":431,"value":153235},{"type":426,"tag":553,"props":194052,"children":194053},{"style":684},[194054],{"type":431,"value":8370},{"type":426,"tag":553,"props":194056,"children":194057},{"class":555,"line":1653},[194058,194063,194068],{"type":426,"tag":553,"props":194059,"children":194060},{"style":684},[194061],{"type":431,"value":194062},"            log[",{"type":426,"tag":553,"props":194064,"children":194065},{"style":572},[194066],{"type":431,"value":194067},"\"verified\"",{"type":426,"tag":553,"props":194069,"children":194070},{"style":684},[194071],{"type":431,"value":194072},"].append(contact)\n",{"type":426,"tag":553,"props":194074,"children":194075},{"class":555,"line":1667},[194076,194080],{"type":426,"tag":553,"props":194077,"children":194078},{"style":795},[194079],{"type":431,"value":3034},{"type":426,"tag":553,"props":194081,"children":194082},{"style":684},[194083],{"type":431,"value":909},{"type":426,"tag":553,"props":194085,"children":194086},{"class":555,"line":1680},[194087,194091,194096,194100,194104],{"type":426,"tag":553,"props":194088,"children":194089},{"style":684},[194090],{"type":431,"value":194062},{"type":426,"tag":553,"props":194092,"children":194093},{"style":572},[194094],{"type":431,"value":194095},"\"not_on_whatsapp\"",{"type":426,"tag":553,"props":194097,"children":194098},{"style":684},[194099],{"type":431,"value":141411},{"type":426,"tag":553,"props":194101,"children":194102},{"style":572},[194103],{"type":431,"value":73482},{"type":426,"tag":553,"props":194105,"children":194106},{"style":684},[194107],{"type":431,"value":8061},{"type":426,"tag":553,"props":194109,"children":194110},{"class":555,"line":1740},[194111],{"type":426,"tag":553,"props":194112,"children":194113},{"style":684},[194114],{"type":431,"value":2061},{"type":426,"tag":553,"props":194116,"children":194117},{"class":555,"line":1787},[194118,194122,194126],{"type":426,"tag":553,"props":194119,"children":194120},{"style":684},[194121],{"type":431,"value":3089},{"type":426,"tag":553,"props":194123,"children":194124},{"style":566},[194125],{"type":431,"value":3094},{"type":426,"tag":553,"props":194127,"children":194128},{"style":684},[194129],{"type":431,"value":3262},{"type":426,"tag":553,"props":194131,"children":194132},{"class":555,"line":1796},[194133],{"type":426,"tag":553,"props":194134,"children":194135},{"style":684},[194136],{"type":431,"value":917},{"type":426,"tag":553,"props":194138,"children":194139},{"class":555,"line":1804},[194140,194144,194148,194152,194156,194160,194165,194170,194174,194178,194183,194187,194191,194196,194200,194204,194209],{"type":426,"tag":553,"props":194141,"children":194142},{"style":566},[194143],{"type":431,"value":51971},{"type":426,"tag":553,"props":194145,"children":194146},{"style":684},[194147],{"type":431,"value":3275},{"type":426,"tag":553,"props":194149,"children":194150},{"style":795},[194151],{"type":431,"value":1709},{"type":426,"tag":553,"props":194153,"children":194154},{"style":572},[194155],{"type":431,"value":193447},{"type":426,"tag":553,"props":194157,"children":194158},{"style":566},[194159],{"type":431,"value":58466},{"type":426,"tag":553,"props":194161,"children":194162},{"style":684},[194163],{"type":431,"value":194164},"(log[",{"type":426,"tag":553,"props":194166,"children":194167},{"style":572},[194168],{"type":431,"value":194169},"'verified'",{"type":426,"tag":553,"props":194171,"children":194172},{"style":684},[194173],{"type":431,"value":141799},{"type":426,"tag":553,"props":194175,"children":194176},{"style":566},[194177],{"type":431,"value":982},{"type":426,"tag":553,"props":194179,"children":194180},{"style":572},[194181],{"type":431,"value":194182}," valid, ✗ ",{"type":426,"tag":553,"props":194184,"children":194185},{"style":566},[194186],{"type":431,"value":58466},{"type":426,"tag":553,"props":194188,"children":194189},{"style":684},[194190],{"type":431,"value":194164},{"type":426,"tag":553,"props":194192,"children":194193},{"style":572},[194194],{"type":431,"value":194195},"'not_on_whatsapp'",{"type":426,"tag":553,"props":194197,"children":194198},{"style":684},[194199],{"type":431,"value":141799},{"type":426,"tag":553,"props":194201,"children":194202},{"style":566},[194203],{"type":431,"value":982},{"type":426,"tag":553,"props":194205,"children":194206},{"style":572},[194207],{"type":431,"value":194208}," not on WhatsApp\"",{"type":426,"tag":553,"props":194210,"children":194211},{"style":684},[194212],{"type":431,"value":3262},{"type":426,"tag":553,"props":194214,"children":194215},{"class":555,"line":1812},[194216,194220,194224,194228,194232,194236,194241,194245,194249,194253,194257,194261,194266],{"type":426,"tag":553,"props":194217,"children":194218},{"style":566},[194219],{"type":431,"value":51971},{"type":426,"tag":553,"props":194221,"children":194222},{"style":684},[194223],{"type":431,"value":3275},{"type":426,"tag":553,"props":194225,"children":194226},{"style":795},[194227],{"type":431,"value":1709},{"type":426,"tag":553,"props":194229,"children":194230},{"style":572},[194231],{"type":431,"value":1527},{"type":426,"tag":553,"props":194233,"children":194234},{"style":566},[194235],{"type":431,"value":3661},{"type":426,"tag":553,"props":194237,"children":194238},{"style":572},[194239],{"type":431,"value":194240},"Step 2: Sending to ",{"type":426,"tag":553,"props":194242,"children":194243},{"style":566},[194244],{"type":431,"value":58466},{"type":426,"tag":553,"props":194246,"children":194247},{"style":684},[194248],{"type":431,"value":194164},{"type":426,"tag":553,"props":194250,"children":194251},{"style":572},[194252],{"type":431,"value":194169},{"type":426,"tag":553,"props":194254,"children":194255},{"style":684},[194256],{"type":431,"value":141799},{"type":426,"tag":553,"props":194258,"children":194259},{"style":566},[194260],{"type":431,"value":982},{"type":426,"tag":553,"props":194262,"children":194263},{"style":572},[194264],{"type":431,"value":194265}," verified contacts...\"",{"type":426,"tag":553,"props":194267,"children":194268},{"style":684},[194269],{"type":431,"value":3262},{"type":426,"tag":553,"props":194271,"children":194272},{"class":555,"line":1847},[194273],{"type":426,"tag":553,"props":194274,"children":194275},{"style":684},[194276],{"type":431,"value":917},{"type":426,"tag":553,"props":194278,"children":194279},{"class":555,"line":1856},[194280,194284,194288,194292,194297,194301],{"type":426,"tag":553,"props":194281,"children":194282},{"style":795},[194283],{"type":431,"value":1995},{"type":426,"tag":553,"props":194285,"children":194286},{"style":684},[194287],{"type":431,"value":18000},{"type":426,"tag":553,"props":194289,"children":194290},{"style":795},[194291],{"type":431,"value":2005},{"type":426,"tag":553,"props":194293,"children":194294},{"style":684},[194295],{"type":431,"value":194296}," log[",{"type":426,"tag":553,"props":194298,"children":194299},{"style":572},[194300],{"type":431,"value":194067},{"type":426,"tag":553,"props":194302,"children":194303},{"style":684},[194304],{"type":431,"value":12008},{"type":426,"tag":553,"props":194306,"children":194307},{"class":555,"line":1874},[194308,194312,194316,194320,194324],{"type":426,"tag":553,"props":194309,"children":194310},{"style":684},[194311],{"type":431,"value":5864},{"type":426,"tag":553,"props":194313,"children":194314},{"style":795},[194315],{"type":431,"value":957},{"type":426,"tag":553,"props":194317,"children":194318},{"style":684},[194319],{"type":431,"value":18026},{"type":426,"tag":553,"props":194321,"children":194322},{"style":795},[194323],{"type":431,"value":13053},{"type":426,"tag":553,"props":194325,"children":194326},{"style":684},[194327],{"type":431,"value":18035},{"type":426,"tag":553,"props":194329,"children":194330},{"class":555,"line":1882},[194331,194335,194339],{"type":426,"tag":553,"props":194332,"children":194333},{"style":684},[194334],{"type":431,"value":2836},{"type":426,"tag":553,"props":194336,"children":194337},{"style":795},[194338],{"type":431,"value":957},{"type":426,"tag":553,"props":194340,"children":194341},{"style":684},[194342],{"type":431,"value":1664},{"type":426,"tag":553,"props":194344,"children":194345},{"class":555,"line":1981},[194346,194350],{"type":426,"tag":553,"props":194347,"children":194348},{"style":572},[194349],{"type":431,"value":180637},{"type":426,"tag":553,"props":194351,"children":194352},{"style":684},[194353],{"type":431,"value":710},{"type":426,"tag":553,"props":194355,"children":194356},{"class":555,"line":1989},[194357,194361,194365,194369,194373,194377,194381,194385,194389,194393],{"type":426,"tag":553,"props":194358,"children":194359},{"style":1684},[194360],{"type":431,"value":2864},{"type":426,"tag":553,"props":194362,"children":194363},{"style":795},[194364],{"type":431,"value":957},{"type":426,"tag":553,"props":194366,"children":194367},{"style":684},[194368],{"type":431,"value":972},{"type":426,"tag":553,"props":194370,"children":194371},{"style":572},[194372],{"type":431,"value":45214},{"type":426,"tag":553,"props":194374,"children":194375},{"style":684},[194376],{"type":431,"value":700},{"type":426,"tag":553,"props":194378,"children":194379},{"style":795},[194380],{"type":431,"value":1709},{"type":426,"tag":553,"props":194382,"children":194383},{"style":572},[194384],{"type":431,"value":12608},{"type":426,"tag":553,"props":194386,"children":194387},{"style":566},[194388],{"type":431,"value":139229},{"type":426,"tag":553,"props":194390,"children":194391},{"style":572},[194392],{"type":431,"value":1527},{"type":426,"tag":553,"props":194394,"children":194395},{"style":684},[194396],{"type":431,"value":1737},{"type":426,"tag":553,"props":194398,"children":194399},{"class":555,"line":2013},[194400,194404,194408,194412,194416,194420,194424,194428,194432],{"type":426,"tag":553,"props":194401,"children":194402},{"style":1684},[194403],{"type":431,"value":2916},{"type":426,"tag":553,"props":194405,"children":194406},{"style":795},[194407],{"type":431,"value":957},{"type":426,"tag":553,"props":194409,"children":194410},{"style":684},[194411],{"type":431,"value":972},{"type":426,"tag":553,"props":194413,"children":194414},{"style":572},[194415],{"type":431,"value":45266},{"type":426,"tag":553,"props":194417,"children":194418},{"style":684},[194419],{"type":431,"value":18086},{"type":426,"tag":553,"props":194421,"children":194422},{"style":572},[194423],{"type":431,"value":73482},{"type":426,"tag":553,"props":194425,"children":194426},{"style":684},[194427],{"type":431,"value":1774},{"type":426,"tag":553,"props":194429,"children":194430},{"style":572},[194431],{"type":431,"value":45275},{"type":426,"tag":553,"props":194433,"children":194434},{"style":684},[194435],{"type":431,"value":1784},{"type":426,"tag":553,"props":194437,"children":194438},{"class":555,"line":2055},[194439],{"type":426,"tag":553,"props":194440,"children":194441},{"style":684},[194442],{"type":431,"value":2957},{"type":426,"tag":553,"props":194444,"children":194445},{"class":555,"line":2064},[194446],{"type":426,"tag":553,"props":194447,"children":194448},{"style":684},[194449],{"type":431,"value":2061},{"type":426,"tag":553,"props":194451,"children":194452},{"class":555,"line":2087},[194453,194457,194461,194465,194469,194473,194477],{"type":426,"tag":553,"props":194454,"children":194455},{"style":795},[194456],{"type":431,"value":2972},{"type":426,"tag":553,"props":194458,"children":194459},{"style":684},[194460],{"type":431,"value":2977},{"type":426,"tag":553,"props":194462,"children":194463},{"style":572},[194464],{"type":431,"value":68957},{"type":426,"tag":553,"props":194466,"children":194467},{"style":684},[194468],{"type":431,"value":2987},{"type":426,"tag":553,"props":194470,"children":194471},{"style":795},[194472],{"type":431,"value":1069},{"type":426,"tag":553,"props":194474,"children":194475},{"style":572},[194476],{"type":431,"value":69054},{"type":426,"tag":553,"props":194478,"children":194479},{"style":684},[194480],{"type":431,"value":909},{"type":426,"tag":553,"props":194482,"children":194483},{"class":555,"line":2096},[194484,194488,194492,194496,194500],{"type":426,"tag":553,"props":194485,"children":194486},{"style":684},[194487],{"type":431,"value":194062},{"type":426,"tag":553,"props":194489,"children":194490},{"style":572},[194491],{"type":431,"value":143805},{"type":426,"tag":553,"props":194493,"children":194494},{"style":684},[194495],{"type":431,"value":141411},{"type":426,"tag":553,"props":194497,"children":194498},{"style":572},[194499],{"type":431,"value":73482},{"type":426,"tag":553,"props":194501,"children":194502},{"style":684},[194503],{"type":431,"value":8061},{"type":426,"tag":553,"props":194505,"children":194506},{"class":555,"line":2105},[194507,194511],{"type":426,"tag":553,"props":194508,"children":194509},{"style":795},[194510],{"type":431,"value":3034},{"type":426,"tag":553,"props":194512,"children":194513},{"style":684},[194514],{"type":431,"value":909},{"type":426,"tag":553,"props":194516,"children":194517},{"class":555,"line":2114},[194518,194522,194526,194530,194534],{"type":426,"tag":553,"props":194519,"children":194520},{"style":684},[194521],{"type":431,"value":194062},{"type":426,"tag":553,"props":194523,"children":194524},{"style":572},[194525],{"type":431,"value":141115},{"type":426,"tag":553,"props":194527,"children":194528},{"style":684},[194529],{"type":431,"value":141411},{"type":426,"tag":553,"props":194531,"children":194532},{"style":572},[194533],{"type":431,"value":73482},{"type":426,"tag":553,"props":194535,"children":194536},{"style":684},[194537],{"type":431,"value":8061},{"type":426,"tag":553,"props":194539,"children":194540},{"class":555,"line":2123},[194541],{"type":426,"tag":553,"props":194542,"children":194543},{"style":684},[194544],{"type":431,"value":2061},{"type":426,"tag":553,"props":194546,"children":194547},{"class":555,"line":2132},[194548,194552,194556],{"type":426,"tag":553,"props":194549,"children":194550},{"style":684},[194551],{"type":431,"value":3089},{"type":426,"tag":553,"props":194553,"children":194554},{"style":566},[194555],{"type":431,"value":1921},{"type":426,"tag":553,"props":194557,"children":194558},{"style":684},[194559],{"type":431,"value":3262},{"type":426,"tag":553,"props":194561,"children":194562},{"class":555,"line":2151},[194563],{"type":426,"tag":553,"props":194564,"children":194565},{"style":684},[194566],{"type":431,"value":917},{"type":426,"tag":553,"props":194568,"children":194569},{"class":555,"line":2160},[194570],{"type":426,"tag":553,"props":194571,"children":194572},{"style":1975},[194573],{"type":431,"value":194574},"    # Save log\n",{"type":426,"tag":553,"props":194576,"children":194577},{"class":555,"line":2174},[194578,194582,194587,194591,194596,194600,194605,194609,194613],{"type":426,"tag":553,"props":194579,"children":194580},{"style":795},[194581],{"type":431,"value":10056},{"type":426,"tag":553,"props":194583,"children":194584},{"style":566},[194585],{"type":431,"value":194586}," open",{"type":426,"tag":553,"props":194588,"children":194589},{"style":684},[194590],{"type":431,"value":3275},{"type":426,"tag":553,"props":194592,"children":194593},{"style":572},[194594],{"type":431,"value":194595},"\"campaign_log.json\"",{"type":426,"tag":553,"props":194597,"children":194598},{"style":684},[194599],{"type":431,"value":1907},{"type":426,"tag":553,"props":194601,"children":194602},{"style":572},[194603],{"type":431,"value":194604},"\"w\"",{"type":426,"tag":553,"props":194606,"children":194607},{"style":684},[194608],{"type":431,"value":2987},{"type":426,"tag":553,"props":194610,"children":194611},{"style":795},[194612],{"type":431,"value":10075},{"type":426,"tag":553,"props":194614,"children":194615},{"style":684},[194616],{"type":431,"value":194617}," f:\n",{"type":426,"tag":553,"props":194619,"children":194620},{"class":555,"line":2182},[194621,194626,194631,194635,194639],{"type":426,"tag":553,"props":194622,"children":194623},{"style":684},[194624],{"type":431,"value":194625},"        json.dump(log, f, ",{"type":426,"tag":553,"props":194627,"children":194628},{"style":1684},[194629],{"type":431,"value":194630},"indent",{"type":426,"tag":553,"props":194632,"children":194633},{"style":795},[194634],{"type":431,"value":957},{"type":426,"tag":553,"props":194636,"children":194637},{"style":566},[194638],{"type":431,"value":6533},{"type":426,"tag":553,"props":194640,"children":194641},{"style":684},[194642],{"type":431,"value":3262},{"type":426,"tag":553,"props":194644,"children":194645},{"class":555,"line":2205},[194646],{"type":426,"tag":553,"props":194647,"children":194648},{"style":684},[194649],{"type":431,"value":917},{"type":426,"tag":553,"props":194651,"children":194652},{"class":555,"line":2241},[194653,194657,194661,194665,194669,194673,194678,194682,194686,194690,194694,194698,194702,194706,194710,194714,194718,194722,194726],{"type":426,"tag":553,"props":194654,"children":194655},{"style":566},[194656],{"type":431,"value":51971},{"type":426,"tag":553,"props":194658,"children":194659},{"style":684},[194660],{"type":431,"value":3275},{"type":426,"tag":553,"props":194662,"children":194663},{"style":795},[194664],{"type":431,"value":1709},{"type":426,"tag":553,"props":194666,"children":194667},{"style":572},[194668],{"type":431,"value":1527},{"type":426,"tag":553,"props":194670,"children":194671},{"style":566},[194672],{"type":431,"value":3661},{"type":426,"tag":553,"props":194674,"children":194675},{"style":572},[194676],{"type":431,"value":194677},"Campaign complete: ",{"type":426,"tag":553,"props":194679,"children":194680},{"style":566},[194681],{"type":431,"value":58466},{"type":426,"tag":553,"props":194683,"children":194684},{"style":684},[194685],{"type":431,"value":194164},{"type":426,"tag":553,"props":194687,"children":194688},{"style":572},[194689],{"type":431,"value":2771},{"type":426,"tag":553,"props":194691,"children":194692},{"style":684},[194693],{"type":431,"value":141799},{"type":426,"tag":553,"props":194695,"children":194696},{"style":566},[194697],{"type":431,"value":982},{"type":426,"tag":553,"props":194699,"children":194700},{"style":572},[194701],{"type":431,"value":3310},{"type":426,"tag":553,"props":194703,"children":194704},{"style":566},[194705],{"type":431,"value":58466},{"type":426,"tag":553,"props":194707,"children":194708},{"style":684},[194709],{"type":431,"value":194164},{"type":426,"tag":553,"props":194711,"children":194712},{"style":572},[194713],{"type":431,"value":2788},{"type":426,"tag":553,"props":194715,"children":194716},{"style":684},[194717],{"type":431,"value":141799},{"type":426,"tag":553,"props":194719,"children":194720},{"style":566},[194721],{"type":431,"value":982},{"type":426,"tag":553,"props":194723,"children":194724},{"style":572},[194725],{"type":431,"value":3335},{"type":426,"tag":553,"props":194727,"children":194728},{"style":684},[194729],{"type":431,"value":3262},{"type":426,"tag":553,"props":194731,"children":194732},{"class":555,"line":2250},[194733,194737,194741,194745,194750],{"type":426,"tag":553,"props":194734,"children":194735},{"style":566},[194736],{"type":431,"value":51971},{"type":426,"tag":553,"props":194738,"children":194739},{"style":684},[194740],{"type":431,"value":3275},{"type":426,"tag":553,"props":194742,"children":194743},{"style":795},[194744],{"type":431,"value":1709},{"type":426,"tag":553,"props":194746,"children":194747},{"style":572},[194748],{"type":431,"value":194749},"\"Log saved to campaign_log.json\"",{"type":426,"tag":553,"props":194751,"children":194752},{"style":684},[194753],{"type":431,"value":3262},{"type":426,"tag":553,"props":194755,"children":194756},{"class":555,"line":2302},[194757],{"type":426,"tag":553,"props":194758,"children":194759},{"style":684},[194760],{"type":431,"value":917},{"type":426,"tag":553,"props":194762,"children":194763},{"class":555,"line":2353},[194764,194768],{"type":426,"tag":553,"props":194765,"children":194766},{"style":795},[194767],{"type":431,"value":1659},{"type":426,"tag":553,"props":194769,"children":194770},{"style":684},[194771],{"type":431,"value":194772}," log\n",{"type":426,"tag":553,"props":194774,"children":194775},{"class":555,"line":2390},[194776],{"type":426,"tag":553,"props":194777,"children":194778},{"emptyLinePlaceholder":831},[194779],{"type":431,"value":834},{"type":426,"tag":553,"props":194781,"children":194782},{"class":555,"line":2440},[194783],{"type":426,"tag":553,"props":194784,"children":194785},{"style":1975},[194786],{"type":431,"value":194787},"# Run campaign\n",{"type":426,"tag":553,"props":194789,"children":194790},{"class":555,"line":2488},[194791,194795,194799],{"type":426,"tag":553,"props":194792,"children":194793},{"style":684},[194794],{"type":431,"value":141868},{"type":426,"tag":553,"props":194796,"children":194797},{"style":795},[194798],{"type":431,"value":957},{"type":426,"tag":553,"props":194800,"children":194801},{"style":684},[194802],{"type":431,"value":80133},{"type":426,"tag":553,"props":194804,"children":194805},{"class":555,"line":2509},[194806,194810,194814,194818,194822,194826,194830,194834,194838],{"type":426,"tag":553,"props":194807,"children":194808},{"style":684},[194809],{"type":431,"value":141884},{"type":426,"tag":553,"props":194811,"children":194812},{"style":572},[194813],{"type":431,"value":73482},{"type":426,"tag":553,"props":194815,"children":194816},{"style":684},[194817],{"type":431,"value":700},{"type":426,"tag":553,"props":194819,"children":194820},{"style":572},[194821],{"type":431,"value":81689},{"type":426,"tag":553,"props":194823,"children":194824},{"style":684},[194825],{"type":431,"value":1907},{"type":426,"tag":553,"props":194827,"children":194828},{"style":572},[194829],{"type":431,"value":141905},{"type":426,"tag":553,"props":194831,"children":194832},{"style":684},[194833],{"type":431,"value":700},{"type":426,"tag":553,"props":194835,"children":194836},{"style":572},[194837],{"type":431,"value":136765},{"type":426,"tag":553,"props":194839,"children":194840},{"style":684},[194841],{"type":431,"value":1737},{"type":426,"tag":553,"props":194843,"children":194844},{"class":555,"line":2527},[194845,194849,194853,194857,194861,194865,194869,194873,194877],{"type":426,"tag":553,"props":194846,"children":194847},{"style":684},[194848],{"type":431,"value":141884},{"type":426,"tag":553,"props":194850,"children":194851},{"style":572},[194852],{"type":431,"value":73482},{"type":426,"tag":553,"props":194854,"children":194855},{"style":684},[194856],{"type":431,"value":700},{"type":426,"tag":553,"props":194858,"children":194859},{"style":572},[194860],{"type":431,"value":136791},{"type":426,"tag":553,"props":194862,"children":194863},{"style":684},[194864],{"type":431,"value":1907},{"type":426,"tag":553,"props":194866,"children":194867},{"style":572},[194868],{"type":431,"value":141905},{"type":426,"tag":553,"props":194870,"children":194871},{"style":684},[194872],{"type":431,"value":700},{"type":426,"tag":553,"props":194874,"children":194875},{"style":572},[194876],{"type":431,"value":136800},{"type":426,"tag":553,"props":194878,"children":194879},{"style":684},[194880],{"type":431,"value":1737},{"type":426,"tag":553,"props":194882,"children":194883},{"class":555,"line":2545},[194884],{"type":426,"tag":553,"props":194885,"children":194886},{"style":684},[194887],{"type":431,"value":16523},{"type":426,"tag":553,"props":194889,"children":194890},{"class":555,"line":12991},[194891],{"type":426,"tag":553,"props":194892,"children":194893},{"emptyLinePlaceholder":831},[194894],{"type":431,"value":834},{"type":426,"tag":553,"props":194896,"children":194897},{"class":555,"line":13004},[194898,194903,194907,194911,194916],{"type":426,"tag":553,"props":194899,"children":194900},{"style":684},[194901],{"type":431,"value":194902},"verify_and_send_campaign(contacts, ",{"type":426,"tag":553,"props":194904,"children":194905},{"style":572},[194906],{"type":431,"value":4625},{"type":426,"tag":553,"props":194908,"children":194909},{"style":566},[194910],{"type":431,"value":34991},{"type":426,"tag":553,"props":194912,"children":194913},{"style":572},[194914],{"type":431,"value":194915},"! Your order is on its way.\"",{"type":426,"tag":553,"props":194917,"children":194918},{"style":684},[194919],{"type":431,"value":3262},{"type":426,"tag":434,"props":194921,"children":194922},{"id":4109},[194923],{"type":431,"value":4112},{"type":426,"tag":427,"props":194925,"children":194926},{},[194927,194932],{"type":426,"tag":446,"props":194928,"children":194929},{},[194930],{"type":431,"value":194931},"How accurate is WhatsApp number verification?",{"type":431,"value":194933},"\nThe Rapiwa number verification API checks in real time whether a number is registered with WhatsApp. It is accurate as of the moment you check — a number that was verified yesterday may be deactivated today if the user uninstalled WhatsApp.",{"type":426,"tag":427,"props":194935,"children":194936},{},[194937,194942],{"type":426,"tag":446,"props":194938,"children":194939},{},[194940],{"type":431,"value":194941},"Does number verification count against my message limit?",{"type":431,"value":194943},"\nNo. Number verification API calls are separate from messaging calls and do not consume message credits. Rapiwa includes verification on all plans.",{"type":426,"tag":427,"props":194945,"children":194946},{},[194947,194952],{"type":426,"tag":446,"props":194948,"children":194949},{},[194950],{"type":431,"value":194951},"How fast can I verify numbers in bulk?",{"type":431,"value":194953},"\nWith a 0.5-second delay between checks, you can verify approximately 120 numbers per minute. For large lists (10,000+ numbers), run verification in the background before your campaign.",{"type":426,"tag":427,"props":194955,"children":194956},{},[194957,194962],{"type":426,"tag":446,"props":194958,"children":194959},{},[194960],{"type":431,"value":194961},"Can I verify numbers from any country?",{"type":431,"value":194963},"\nYes. The Rapiwa verification API works for any country's phone numbers in international format.",{"type":426,"tag":427,"props":194965,"children":194966},{},[194967,194972,194973,194978,194979,194984],{"type":426,"tag":446,"props":194968,"children":194969},{},[194970],{"type":431,"value":194971},"What format should the phone number be in for verification?",{"type":431,"value":125155},{"type":426,"tag":549,"props":194974,"children":194976},{"className":194975},[],[194977],{"type":431,"value":2033},{"type":431,"value":138973},{"type":426,"tag":549,"props":194980,"children":194982},{"className":194981},[],[194983],{"type":431,"value":7237},{"type":431,"value":194985}," (country code + number, no spaces). This is the same format used for sending messages.",{"type":426,"tag":427,"props":194987,"children":194988},{},[194989,194994,194996,195001],{"type":426,"tag":446,"props":194990,"children":194991},{},[194992],{"type":431,"value":194993},"Does verification tell me the user's WhatsApp name?",{"type":431,"value":194995},"\nYes. If the number is registered, the response includes the user's WhatsApp profile name in the ",{"type":426,"tag":549,"props":194997,"children":194999},{"className":194998},[],[195000],{"type":431,"value":24468},{"type":431,"value":195002}," field (when available).",{"type":426,"tag":4164,"props":195004,"children":195005},{},[195006],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":195008},[195009,195010,195011,195015,195016,195017],{"id":191206,"depth":588,"text":191209},{"id":191265,"depth":588,"text":191268},{"id":191488,"depth":588,"text":191491,"children":195012},[195013,195014],{"id":784,"depth":606,"text":78773},{"id":79185,"depth":606,"text":79188},{"id":193213,"depth":588,"text":193216},{"id":193626,"depth":588,"text":193629},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-verify-a-whatsapp-number-before-sending-messages.md","blog\u002Fhow-to-verify-a-whatsapp-number-before-sending-messages.md","blog\u002Fhow-to-verify-a-whatsapp-number-before-sending-messages",{"loc":358},{"_path":362,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":363,"description":364,"date":195023,"author":6858,"category":212,"_slug":195024,"image":195025,"body":195026,"_type":4187,"_id":196297,"_source":4189,"_file":196298,"_stem":196299,"_extension":4192,"sitemap":196300},"2025-12-09","whatsapp-api-pricing-in-2026-what-you-actually-pay","\u002Fimages\u002Fblog\u002Fwhatsapp-api-pricing-in-2026-what-you-actually-pay.svg",{"type":423,"children":195027,"toc":196282},[195028,195040,195046,195325,195331,195336,195431,195441,195449,195486,195494,195498,195603,195608,195614,195619,195712,195720,195725,195743,195753,195758,195764,195769,195846,195851,195861,195867,195872,195903,195915,195920,195924,195929,195958,195963,195969,195975,195980,196047,196055,196061,196066,196132,196141,196147,196152,196211,196219,196223,196232,196242,196252,196262,196272],{"type":426,"tag":427,"props":195029,"children":195030},{},[195031,195033,195038],{"type":431,"value":195032},"WhatsApp API pricing in 2026 ranges from $5\u002Fmonth flat (Rapiwa) to per-conversation fees that can exceed $500\u002Fmonth at scale (Meta Cloud API). The cheapest WhatsApp API is ",{"type":426,"tag":3819,"props":195034,"children":195036},{"href":3821,"rel":195035},[3823],[195037],{"type":431,"value":127310},{"type":431,"value":195039}," at $5\u002Fmonth with no per-message fees and unlimited messages. WasenderAPI costs $6\u002Fmonth. Self-hosted options like WAHA and Evolution API are free but require a $15–35\u002Fmonth VPS plus maintenance time.",{"type":426,"tag":434,"props":195041,"children":195043},{"id":195042},"whatsapp-api-pricing-comparison-2026",[195044],{"type":431,"value":195045},"WhatsApp API Pricing Comparison 2026",{"type":426,"tag":10600,"props":195047,"children":195048},{},[195049,195082],{"type":426,"tag":10604,"props":195050,"children":195051},{},[195052],{"type":426,"tag":10608,"props":195053,"children":195054},{},[195055,195059,195063,195068,195072,195077],{"type":426,"tag":10612,"props":195056,"children":195057},{},[195058],{"type":431,"value":147033},{"type":426,"tag":10612,"props":195060,"children":195061},{},[195062],{"type":431,"value":147038},{"type":426,"tag":10612,"props":195064,"children":195065},{},[195066],{"type":431,"value":195067},"Starting Price",{"type":426,"tag":10612,"props":195069,"children":195070},{},[195071],{"type":431,"value":157149},{"type":426,"tag":10612,"props":195073,"children":195074},{},[195075],{"type":431,"value":195076},"10K messages cost",{"type":426,"tag":10612,"props":195078,"children":195079},{},[195080],{"type":431,"value":195081},"Free Trial",{"type":426,"tag":10623,"props":195083,"children":195084},{},[195085,195122,195149,195177,195206,195233,195264,195294],{"type":426,"tag":10608,"props":195086,"children":195087},{},[195088,195095,195100,195107,195111,195118],{"type":426,"tag":10630,"props":195089,"children":195090},{},[195091],{"type":426,"tag":446,"props":195092,"children":195093},{},[195094],{"type":431,"value":127310},{"type":426,"tag":10630,"props":195096,"children":195097},{},[195098],{"type":431,"value":195099},"Unofficial (managed)",{"type":426,"tag":10630,"props":195101,"children":195102},{},[195103],{"type":426,"tag":446,"props":195104,"children":195105},{},[195106],{"type":431,"value":155606},{"type":426,"tag":10630,"props":195108,"children":195109},{},[195110],{"type":431,"value":1840},{"type":426,"tag":10630,"props":195112,"children":195113},{},[195114],{"type":426,"tag":446,"props":195115,"children":195116},{},[195117],{"type":431,"value":147125},{"type":426,"tag":10630,"props":195119,"children":195120},{},[195121],{"type":431,"value":148394},{"type":426,"tag":10608,"props":195123,"children":195124},{},[195125,195129,195133,195137,195141,195145],{"type":426,"tag":10630,"props":195126,"children":195127},{},[195128],{"type":431,"value":147163},{"type":426,"tag":10630,"props":195130,"children":195131},{},[195132],{"type":431,"value":195099},{"type":426,"tag":10630,"props":195134,"children":195135},{},[195136],{"type":431,"value":155627},{"type":426,"tag":10630,"props":195138,"children":195139},{},[195140],{"type":431,"value":1840},{"type":426,"tag":10630,"props":195142,"children":195143},{},[195144],{"type":431,"value":147172},{"type":426,"tag":10630,"props":195146,"children":195147},{},[195148],{"type":431,"value":148394},{"type":426,"tag":10608,"props":195150,"children":195151},{},[195152,195156,195161,195165,195169,195173],{"type":426,"tag":10630,"props":195153,"children":195154},{},[195155],{"type":431,"value":176287},{"type":426,"tag":10630,"props":195157,"children":195158},{},[195159],{"type":431,"value":195160},"Official\u002FUnofficial",{"type":426,"tag":10630,"props":195162,"children":195163},{},[195164],{"type":431,"value":160129},{"type":426,"tag":10630,"props":195166,"children":195167},{},[195168],{"type":431,"value":1840},{"type":426,"tag":10630,"props":195170,"children":195171},{},[195172],{"type":431,"value":147205},{"type":426,"tag":10630,"props":195174,"children":195175},{},[195176],{"type":431,"value":78140},{"type":426,"tag":10608,"props":195178,"children":195179},{},[195180,195184,195189,195193,195197,195202],{"type":426,"tag":10630,"props":195181,"children":195182},{},[195183],{"type":431,"value":155656},{"type":426,"tag":10630,"props":195185,"children":195186},{},[195187],{"type":431,"value":195188},"Unofficial (self-host)",{"type":426,"tag":10630,"props":195190,"children":195191},{},[195192],{"type":431,"value":149893},{"type":426,"tag":10630,"props":195194,"children":195195},{},[195196],{"type":431,"value":1840},{"type":426,"tag":10630,"props":195198,"children":195199},{},[195200],{"type":431,"value":195201},"~$20–40",{"type":426,"tag":10630,"props":195203,"children":195204},{},[195205],{"type":431,"value":157981},{"type":426,"tag":10608,"props":195207,"children":195208},{},[195209,195213,195217,195221,195225,195229],{"type":426,"tag":10630,"props":195210,"children":195211},{},[195212],{"type":431,"value":178029},{"type":426,"tag":10630,"props":195214,"children":195215},{},[195216],{"type":431,"value":195188},{"type":426,"tag":10630,"props":195218,"children":195219},{},[195220],{"type":431,"value":149893},{"type":426,"tag":10630,"props":195222,"children":195223},{},[195224],{"type":431,"value":1840},{"type":426,"tag":10630,"props":195226,"children":195227},{},[195228],{"type":431,"value":195201},{"type":426,"tag":10630,"props":195230,"children":195231},{},[195232],{"type":431,"value":157981},{"type":426,"tag":10608,"props":195234,"children":195235},{},[195236,195240,195245,195250,195254,195259],{"type":426,"tag":10630,"props":195237,"children":195238},{},[195239],{"type":431,"value":147074},{"type":426,"tag":10630,"props":195241,"children":195242},{},[195243],{"type":431,"value":195244},"Official (Meta)",{"type":426,"tag":10630,"props":195246,"children":195247},{},[195248],{"type":431,"value":195249},"~$0.005\u002Fconv",{"type":426,"tag":10630,"props":195251,"children":195252},{},[195253],{"type":431,"value":103087},{"type":426,"tag":10630,"props":195255,"children":195256},{},[195257],{"type":431,"value":195258},"~$50+",{"type":426,"tag":10630,"props":195260,"children":195261},{},[195262],{"type":431,"value":195263},"Trial credits",{"type":426,"tag":10608,"props":195265,"children":195266},{},[195267,195271,195276,195280,195285,195289],{"type":426,"tag":10630,"props":195268,"children":195269},{},[195270],{"type":431,"value":147230},{"type":426,"tag":10630,"props":195272,"children":195273},{},[195274],{"type":431,"value":195275},"Official (Meta BSP)",{"type":426,"tag":10630,"props":195277,"children":195278},{},[195279],{"type":431,"value":156969},{"type":426,"tag":10630,"props":195281,"children":195282},{},[195283],{"type":431,"value":195284},"None (capped)",{"type":426,"tag":10630,"props":195286,"children":195287},{},[195288],{"type":431,"value":147239},{"type":426,"tag":10630,"props":195290,"children":195291},{},[195292],{"type":431,"value":195293},"7 days",{"type":426,"tag":10608,"props":195295,"children":195296},{},[195297,195302,195306,195310,195315,195320],{"type":426,"tag":10630,"props":195298,"children":195299},{},[195300],{"type":431,"value":195301},"Meta Cloud API (direct)",{"type":426,"tag":10630,"props":195303,"children":195304},{},[195305],{"type":431,"value":147079},{"type":426,"tag":10630,"props":195307,"children":195308},{},[195309],{"type":431,"value":152036},{"type":426,"tag":10630,"props":195311,"children":195312},{},[195313],{"type":431,"value":195314},"Per conversation",{"type":426,"tag":10630,"props":195316,"children":195317},{},[195318],{"type":431,"value":195319},"Varies by country",{"type":426,"tag":10630,"props":195321,"children":195322},{},[195323],{"type":431,"value":195324},"Sandbox",{"type":426,"tag":434,"props":195326,"children":195328},{"id":195327},"rapiwa-pricing-cheapest-managed-option",[195329],{"type":431,"value":195330},"Rapiwa Pricing (Cheapest Managed Option)",{"type":426,"tag":427,"props":195332,"children":195333},{},[195334],{"type":431,"value":195335},"Rapiwa is the most affordable managed WhatsApp API in 2026.",{"type":426,"tag":10600,"props":195337,"children":195338},{},[195339,195363],{"type":426,"tag":10604,"props":195340,"children":195341},{},[195342],{"type":426,"tag":10608,"props":195343,"children":195344},{},[195345,195349,195353,195358],{"type":426,"tag":10612,"props":195346,"children":195347},{},[195348],{"type":431,"value":161320},{"type":426,"tag":10612,"props":195350,"children":195351},{},[195352],{"type":431,"value":103028},{"type":426,"tag":10612,"props":195354,"children":195355},{},[195356],{"type":431,"value":195357},"WhatsApp Numbers",{"type":426,"tag":10612,"props":195359,"children":195360},{},[195361],{"type":431,"value":195362},"Messages",{"type":426,"tag":10623,"props":195364,"children":195365},{},[195366,195389,195411],{"type":426,"tag":10608,"props":195367,"children":195368},{},[195369,195374,195381,195385],{"type":426,"tag":10630,"props":195370,"children":195371},{},[195372],{"type":431,"value":195373},"Starter",{"type":426,"tag":10630,"props":195375,"children":195376},{},[195377],{"type":426,"tag":446,"props":195378,"children":195379},{},[195380],{"type":431,"value":148332},{"type":426,"tag":10630,"props":195382,"children":195383},{},[195384],{"type":431,"value":1921},{"type":426,"tag":10630,"props":195386,"children":195387},{},[195388],{"type":431,"value":160174},{"type":426,"tag":10608,"props":195390,"children":195391},{},[195392,195397,195402,195407],{"type":426,"tag":10630,"props":195393,"children":195394},{},[195395],{"type":431,"value":195396},"Professional",{"type":426,"tag":10630,"props":195398,"children":195399},{},[195400],{"type":431,"value":195401},"Contact for pricing",{"type":426,"tag":10630,"props":195403,"children":195404},{},[195405],{"type":431,"value":195406},"Multiple",{"type":426,"tag":10630,"props":195408,"children":195409},{},[195410],{"type":431,"value":160174},{"type":426,"tag":10608,"props":195412,"children":195413},{},[195414,195418,195422,195427],{"type":426,"tag":10630,"props":195415,"children":195416},{},[195417],{"type":431,"value":18722},{"type":426,"tag":10630,"props":195419,"children":195420},{},[195421],{"type":431,"value":195401},{"type":426,"tag":10630,"props":195423,"children":195424},{},[195425],{"type":431,"value":195426},"20+",{"type":426,"tag":10630,"props":195428,"children":195429},{},[195430],{"type":431,"value":160174},{"type":426,"tag":427,"props":195432,"children":195433},{},[195434,195439],{"type":426,"tag":446,"props":195435,"children":195436},{},[195437],{"type":431,"value":195438},"Annual billing",{"type":431,"value":195440},": Contact Rapiwa for annual pricing discounts.",{"type":426,"tag":427,"props":195442,"children":195443},{},[195444],{"type":426,"tag":446,"props":195445,"children":195446},{},[195447],{"type":431,"value":195448},"What $5\u002Fmonth gets you:",{"type":426,"tag":454,"props":195450,"children":195451},{},[195452,195457,195462,195467,195472,195476,195481],{"type":426,"tag":458,"props":195453,"children":195454},{},[195455],{"type":431,"value":195456},"1 connected WhatsApp number",{"type":426,"tag":458,"props":195458,"children":195459},{},[195460],{"type":431,"value":195461},"Unlimited messages (no daily cap)",{"type":426,"tag":458,"props":195463,"children":195464},{},[195465],{"type":431,"value":195466},"All message types: text, images, documents, voice, location, contacts",{"type":426,"tag":458,"props":195468,"children":195469},{},[195470],{"type":431,"value":195471},"Webhooks for real-time incoming messages",{"type":426,"tag":458,"props":195473,"children":195474},{},[195475],{"type":431,"value":148534},{"type":426,"tag":458,"props":195477,"children":195478},{},[195479],{"type":431,"value":195480},"n8n integration with 10 pre-built templates",{"type":426,"tag":458,"props":195482,"children":195483},{},[195484],{"type":431,"value":195485},"API access via cURL, Python, PHP, Node.js, Java, C#",{"type":426,"tag":427,"props":195487,"children":195488},{},[195489],{"type":426,"tag":3819,"props":195490,"children":195492},{"href":3821,"rel":195491},[3823],[195493],{"type":431,"value":47645},{"type":426,"tag":434,"props":195495,"children":195496},{"id":185471},[195497],{"type":431,"value":185474},{"type":426,"tag":10600,"props":195499,"children":195500},{},[195501,195524],{"type":426,"tag":10604,"props":195502,"children":195503},{},[195504],{"type":426,"tag":10608,"props":195505,"children":195506},{},[195507,195511,195515,195519],{"type":426,"tag":10612,"props":195508,"children":195509},{},[195510],{"type":431,"value":161320},{"type":426,"tag":10612,"props":195512,"children":195513},{},[195514],{"type":431,"value":103028},{"type":426,"tag":10612,"props":195516,"children":195517},{},[195518],{"type":431,"value":160008},{"type":426,"tag":10612,"props":195520,"children":195521},{},[195522],{"type":431,"value":195523},"Per-session",{"type":426,"tag":10623,"props":195525,"children":195526},{},[195527,195546,195565,195584],{"type":426,"tag":10608,"props":195528,"children":195529},{},[195530,195534,195538,195542],{"type":426,"tag":10630,"props":195531,"children":195532},{},[195533],{"type":431,"value":156960},{"type":426,"tag":10630,"props":195535,"children":195536},{},[195537],{"type":431,"value":155627},{"type":426,"tag":10630,"props":195539,"children":195540},{},[195541],{"type":431,"value":1921},{"type":426,"tag":10630,"props":195543,"children":195544},{},[195545],{"type":431,"value":176007},{"type":426,"tag":10608,"props":195547,"children":195548},{},[195549,195553,195557,195561],{"type":426,"tag":10630,"props":195550,"children":195551},{},[195552],{"type":431,"value":161357},{"type":426,"tag":10630,"props":195554,"children":195555},{},[195556],{"type":431,"value":176269},{"type":426,"tag":10630,"props":195558,"children":195559},{},[195560],{"type":431,"value":1912},{"type":426,"tag":10630,"props":195562,"children":195563},{},[195564],{"type":431,"value":176032},{"type":426,"tag":10608,"props":195566,"children":195567},{},[195568,195572,195576,195580],{"type":426,"tag":10630,"props":195569,"children":195570},{},[195571],{"type":431,"value":176040},{"type":426,"tag":10630,"props":195573,"children":195574},{},[195575],{"type":431,"value":176274},{"type":426,"tag":10630,"props":195577,"children":195578},{},[195579],{"type":431,"value":121040},{"type":426,"tag":10630,"props":195581,"children":195582},{},[195583],{"type":431,"value":176032},{"type":426,"tag":10608,"props":195585,"children":195586},{},[195587,195591,195595,195599],{"type":426,"tag":10630,"props":195588,"children":195589},{},[195590],{"type":431,"value":161374},{"type":426,"tag":10630,"props":195592,"children":195593},{},[195594],{"type":431,"value":176279},{"type":426,"tag":10630,"props":195596,"children":195597},{},[195598],{"type":431,"value":11479},{"type":426,"tag":10630,"props":195600,"children":195601},{},[195602],{"type":431,"value":176084},{"type":426,"tag":427,"props":195604,"children":195605},{},[195606],{"type":431,"value":195607},"WasenderAPI is $1\u002Fmonth more expensive at the entry level. For a single-number user, that's $12 more per year vs Rapiwa.",{"type":426,"tag":434,"props":195609,"children":195611},{"id":195610},"meta-cloud-api-official-whatsapp-pricing",[195612],{"type":431,"value":195613},"Meta Cloud API (Official WhatsApp) Pricing",{"type":426,"tag":427,"props":195615,"children":195616},{},[195617],{"type":431,"value":195618},"Meta's official WhatsApp API charges per 24-hour conversation session, not per individual message. Pricing varies by country and conversation category:",{"type":426,"tag":10600,"props":195620,"children":195621},{},[195622,195643],{"type":426,"tag":10604,"props":195623,"children":195624},{},[195625],{"type":426,"tag":10608,"props":195626,"children":195627},{},[195628,195633,195638],{"type":426,"tag":10612,"props":195629,"children":195630},{},[195631],{"type":431,"value":195632},"Conversation Type",{"type":426,"tag":10612,"props":195634,"children":195635},{},[195636],{"type":431,"value":195637},"Cost per session (US)",{"type":426,"tag":10612,"props":195639,"children":195640},{},[195641],{"type":431,"value":195642},"Cost per session (India)",{"type":426,"tag":10623,"props":195644,"children":195645},{},[195646,195664,195682,195697],{"type":426,"tag":10608,"props":195647,"children":195648},{},[195649,195654,195659],{"type":426,"tag":10630,"props":195650,"children":195651},{},[195652],{"type":431,"value":195653},"Marketing",{"type":426,"tag":10630,"props":195655,"children":195656},{},[195657],{"type":431,"value":195658},"$0.025",{"type":426,"tag":10630,"props":195660,"children":195661},{},[195662],{"type":431,"value":195663},"$0.011",{"type":426,"tag":10608,"props":195665,"children":195666},{},[195667,195672,195677],{"type":426,"tag":10630,"props":195668,"children":195669},{},[195670],{"type":431,"value":195671},"Utility",{"type":426,"tag":10630,"props":195673,"children":195674},{},[195675],{"type":431,"value":195676},"$0.015",{"type":426,"tag":10630,"props":195678,"children":195679},{},[195680],{"type":431,"value":195681},"$0.014",{"type":426,"tag":10608,"props":195683,"children":195684},{},[195685,195689,195693],{"type":426,"tag":10630,"props":195686,"children":195687},{},[195688],{"type":431,"value":86289},{"type":426,"tag":10630,"props":195690,"children":195691},{},[195692],{"type":431,"value":195676},{"type":426,"tag":10630,"props":195694,"children":195695},{},[195696],{"type":431,"value":195681},{"type":426,"tag":10608,"props":195698,"children":195699},{},[195700,195704,195708],{"type":426,"tag":10630,"props":195701,"children":195702},{},[195703],{"type":431,"value":162107},{"type":426,"tag":10630,"props":195705,"children":195706},{},[195707],{"type":431,"value":80750},{"type":426,"tag":10630,"props":195709,"children":195710},{},[195711],{"type":431,"value":80750},{"type":426,"tag":427,"props":195713,"children":195714},{},[195715],{"type":426,"tag":446,"props":195716,"children":195717},{},[195718],{"type":431,"value":195719},"Real cost at scale:",{"type":426,"tag":427,"props":195721,"children":195722},{},[195723],{"type":431,"value":195724},"For a business sending 10,000 marketing messages per month in the US:",{"type":426,"tag":454,"props":195726,"children":195727},{},[195728,195738],{"type":426,"tag":458,"props":195729,"children":195730},{},[195731,195733],{"type":431,"value":195732},"10,000 conversations × $0.025 = ",{"type":426,"tag":446,"props":195734,"children":195735},{},[195736],{"type":431,"value":195737},"$250\u002Fmonth",{"type":426,"tag":458,"props":195739,"children":195740},{},[195741],{"type":431,"value":195742},"Plus platform costs (BSP fees, if using a third-party provider)",{"type":426,"tag":427,"props":195744,"children":195745},{},[195746,195748,195752],{"type":431,"value":195747},"For the same volume with Rapiwa: ",{"type":426,"tag":446,"props":195749,"children":195750},{},[195751],{"type":431,"value":151867},{"type":431,"value":6789},{"type":426,"tag":427,"props":195754,"children":195755},{},[195756],{"type":431,"value":195757},"Meta's free tier: 1,000 free service conversations per month (inbound only). Marketing, utility, and authentication conversations are always paid.",{"type":426,"tag":434,"props":195759,"children":195761},{"id":195760},"self-hosted-whatsapp-api-pricing-waha-evolution-api",[195762],{"type":431,"value":195763},"Self-Hosted WhatsApp API Pricing (WAHA \u002F Evolution API)",{"type":426,"tag":427,"props":195765,"children":195766},{},[195767],{"type":431,"value":195768},"Self-hosted APIs appear free but have hidden costs:",{"type":426,"tag":10600,"props":195770,"children":195771},{},[195772,195787],{"type":426,"tag":10604,"props":195773,"children":195774},{},[195775],{"type":426,"tag":10608,"props":195776,"children":195777},{},[195778,195783],{"type":426,"tag":10612,"props":195779,"children":195780},{},[195781],{"type":431,"value":195782},"Cost Component",{"type":426,"tag":10612,"props":195784,"children":195785},{},[195786],{"type":431,"value":177668},{"type":426,"tag":10623,"props":195788,"children":195789},{},[195790,195802,195815,195828],{"type":426,"tag":10608,"props":195791,"children":195792},{},[195793,195798],{"type":426,"tag":10630,"props":195794,"children":195795},{},[195796],{"type":431,"value":195797},"VPS (4GB RAM, required for stable operation)",{"type":426,"tag":10630,"props":195799,"children":195800},{},[195801],{"type":431,"value":177684},{"type":426,"tag":10608,"props":195803,"children":195804},{},[195805,195810],{"type":426,"tag":10630,"props":195806,"children":195807},{},[195808],{"type":431,"value":195809},"Server admin time (fixing crashes, updates)",{"type":426,"tag":10630,"props":195811,"children":195812},{},[195813],{"type":431,"value":195814},"5–15 hours × your hourly rate",{"type":426,"tag":10608,"props":195816,"children":195817},{},[195818,195823],{"type":426,"tag":10630,"props":195819,"children":195820},{},[195821],{"type":431,"value":195822},"Downtime risk",{"type":426,"tag":10630,"props":195824,"children":195825},{},[195826],{"type":431,"value":195827},"Business impact varies",{"type":426,"tag":10608,"props":195829,"children":195830},{},[195831,195839],{"type":426,"tag":10630,"props":195832,"children":195833},{},[195834],{"type":426,"tag":446,"props":195835,"children":195836},{},[195837],{"type":431,"value":195838},"Total real cost",{"type":426,"tag":10630,"props":195840,"children":195841},{},[195842],{"type":426,"tag":446,"props":195843,"children":195844},{},[195845],{"type":431,"value":187268},{"type":426,"tag":427,"props":195847,"children":195848},{},[195849],{"type":431,"value":195850},"Evolution API requires Docker, NodeJS, and PM2. It breaks when WhatsApp updates its Web protocol (which happens frequently). Each break requires manual intervention.",{"type":426,"tag":427,"props":195852,"children":195853},{},[195854,195859],{"type":426,"tag":446,"props":195855,"children":195856},{},[195857],{"type":431,"value":195858},"Hosted WAHA",{"type":431,"value":195860}," costs $19\u002Fmonth and handles the server for you, but lacks the integrations and support of Rapiwa.",{"type":426,"tag":434,"props":195862,"children":195864},{"id":195863},"twilio-whatsapp-api-pricing",[195865],{"type":431,"value":195866},"Twilio WhatsApp API Pricing",{"type":426,"tag":427,"props":195868,"children":195869},{},[195870],{"type":431,"value":195871},"Twilio uses Meta's official API infrastructure and adds its own per-message fees:",{"type":426,"tag":454,"props":195873,"children":195874},{},[195875,195884,195893],{"type":426,"tag":458,"props":195876,"children":195877},{},[195878,195882],{"type":426,"tag":446,"props":195879,"children":195880},{},[195881],{"type":431,"value":153513},{"type":431,"value":195883},": Per conversation (Meta's rate) + Twilio's markup",{"type":426,"tag":458,"props":195885,"children":195886},{},[195887,195892],{"type":426,"tag":446,"props":195888,"children":195889},{},[195890],{"type":431,"value":195891},"Incoming messages",{"type":431,"value":162053},{"type":426,"tag":458,"props":195894,"children":195895},{},[195896,195901],{"type":426,"tag":446,"props":195897,"children":195898},{},[195899],{"type":431,"value":195900},"Outgoing messages",{"type":431,"value":195902},": ~$0.005 per message + conversation fee",{"type":426,"tag":427,"props":195904,"children":195905},{},[195906,195908,195913],{"type":431,"value":195907},"For a business sending 1,000 messages per month: approximately ",{"type":426,"tag":446,"props":195909,"children":195910},{},[195911],{"type":431,"value":195912},"$50–150\u002Fmonth",{"type":431,"value":195914}," depending on conversation types.",{"type":426,"tag":427,"props":195916,"children":195917},{},[195918],{"type":431,"value":195919},"Twilio's strength is enterprise reliability and compliance. For developers building cost-efficient automations, unofficial APIs like Rapiwa are far more affordable.",{"type":426,"tag":434,"props":195921,"children":195922},{"id":161303},[195923],{"type":431,"value":161306},{"type":426,"tag":427,"props":195925,"children":195926},{},[195927],{"type":431,"value":195928},"WATI is a WhatsApp Business Solution Provider (BSP) built on top of the official Meta API:",{"type":426,"tag":454,"props":195930,"children":195931},{},[195932,195943,195948,195953],{"type":426,"tag":458,"props":195933,"children":195934},{},[195935,195937,195941],{"type":431,"value":195936},"Starts at ",{"type":426,"tag":446,"props":195938,"children":195939},{},[195940],{"type":431,"value":161345},{"type":431,"value":195942}," (Growth plan)",{"type":426,"tag":458,"props":195944,"children":195945},{},[195946],{"type":431,"value":195947},"Higher plans: $99\u002Fmonth, $199\u002Fmonth",{"type":426,"tag":458,"props":195949,"children":195950},{},[195951],{"type":431,"value":195952},"Conversation fees apply on top of the platform fee",{"type":426,"tag":458,"props":195954,"children":195955},{},[195956],{"type":431,"value":195957},"Designed for customer support teams, not developers",{"type":426,"tag":427,"props":195959,"children":195960},{},[195961],{"type":431,"value":195962},"Not suitable for developers who need raw API access. Better suited for non-technical customer support teams.",{"type":426,"tag":434,"props":195964,"children":195966},{"id":195965},"total-cost-of-ownership-real-examples",[195967],{"type":431,"value":195968},"Total Cost of Ownership: Real Examples",{"type":426,"tag":515,"props":195970,"children":195972},{"id":195971},"example-1-woocommerce-store-1000-ordersmonth",[195973],{"type":431,"value":195974},"Example 1: WooCommerce Store (1,000 orders\u002Fmonth)",{"type":426,"tag":427,"props":195976,"children":195977},{},[195978],{"type":431,"value":195979},"You want to send order confirmations and invoices to 1,000 customers per month.",{"type":426,"tag":10600,"props":195981,"children":195982},{},[195983,195997],{"type":426,"tag":10604,"props":195984,"children":195985},{},[195986],{"type":426,"tag":10608,"props":195987,"children":195988},{},[195989,195993],{"type":426,"tag":10612,"props":195990,"children":195991},{},[195992],{"type":431,"value":147033},{"type":426,"tag":10612,"props":195994,"children":195995},{},[195996],{"type":431,"value":147043},{"type":426,"tag":10623,"props":195998,"children":195999},{},[196000,196011,196022,196035],{"type":426,"tag":10608,"props":196001,"children":196002},{},[196003,196007],{"type":426,"tag":10630,"props":196004,"children":196005},{},[196006],{"type":431,"value":127310},{"type":426,"tag":10630,"props":196008,"children":196009},{},[196010],{"type":431,"value":147125},{"type":426,"tag":10608,"props":196012,"children":196013},{},[196014,196018],{"type":426,"tag":10630,"props":196015,"children":196016},{},[196017],{"type":431,"value":147163},{"type":426,"tag":10630,"props":196019,"children":196020},{},[196021],{"type":431,"value":147172},{"type":426,"tag":10608,"props":196023,"children":196024},{},[196025,196030],{"type":426,"tag":10630,"props":196026,"children":196027},{},[196028],{"type":431,"value":196029},"Meta Cloud API (Utility)",{"type":426,"tag":10630,"props":196031,"children":196032},{},[196033],{"type":431,"value":196034},"~$15 (1,000 × $0.015)",{"type":426,"tag":10608,"props":196036,"children":196037},{},[196038,196042],{"type":426,"tag":10630,"props":196039,"children":196040},{},[196041],{"type":431,"value":147312},{"type":426,"tag":10630,"props":196043,"children":196044},{},[196045],{"type":431,"value":196046},"~$15–20",{"type":426,"tag":427,"props":196048,"children":196049},{},[196050],{"type":426,"tag":446,"props":196051,"children":196052},{},[196053],{"type":431,"value":196054},"Winner: Rapiwa at $5\u002Fmonth",{"type":426,"tag":515,"props":196056,"children":196058},{"id":196057},"example-2-marketing-campaign-10000-messagesmonth",[196059],{"type":431,"value":196060},"Example 2: Marketing Campaign (10,000 messages\u002Fmonth)",{"type":426,"tag":427,"props":196062,"children":196063},{},[196064],{"type":431,"value":196065},"You want to send a monthly promotional campaign to 10,000 customers.",{"type":426,"tag":10600,"props":196067,"children":196068},{},[196069,196083],{"type":426,"tag":10604,"props":196070,"children":196071},{},[196072],{"type":426,"tag":10608,"props":196073,"children":196074},{},[196075,196079],{"type":426,"tag":10612,"props":196076,"children":196077},{},[196078],{"type":431,"value":147033},{"type":426,"tag":10612,"props":196080,"children":196081},{},[196082],{"type":431,"value":147043},{"type":426,"tag":10623,"props":196084,"children":196085},{},[196086,196097,196108,196121],{"type":426,"tag":10608,"props":196087,"children":196088},{},[196089,196093],{"type":426,"tag":10630,"props":196090,"children":196091},{},[196092],{"type":431,"value":127310},{"type":426,"tag":10630,"props":196094,"children":196095},{},[196096],{"type":431,"value":147125},{"type":426,"tag":10608,"props":196098,"children":196099},{},[196100,196104],{"type":426,"tag":10630,"props":196101,"children":196102},{},[196103],{"type":431,"value":147163},{"type":426,"tag":10630,"props":196105,"children":196106},{},[196107],{"type":431,"value":147172},{"type":426,"tag":10608,"props":196109,"children":196110},{},[196111,196116],{"type":426,"tag":10630,"props":196112,"children":196113},{},[196114],{"type":431,"value":196115},"Meta Cloud API (Marketing)",{"type":426,"tag":10630,"props":196117,"children":196118},{},[196119],{"type":431,"value":196120},"~$250 (US)",{"type":426,"tag":10608,"props":196122,"children":196123},{},[196124,196128],{"type":426,"tag":10630,"props":196125,"children":196126},{},[196127],{"type":431,"value":147312},{"type":426,"tag":10630,"props":196129,"children":196130},{},[196131],{"type":431,"value":162193},{"type":426,"tag":427,"props":196133,"children":196134},{},[196135,196139],{"type":426,"tag":446,"props":196136,"children":196137},{},[196138],{"type":431,"value":196054},{"type":431,"value":196140}," — saves $2,940\u002Fyear vs Meta's API for the same volume.",{"type":426,"tag":515,"props":196142,"children":196144},{"id":196143},"example-3-multi-number-agency-5-client-numbers",[196145],{"type":431,"value":196146},"Example 3: Multi-Number Agency (5 client numbers)",{"type":426,"tag":427,"props":196148,"children":196149},{},[196150],{"type":431,"value":196151},"An agency managing WhatsApp for 5 clients.",{"type":426,"tag":10600,"props":196153,"children":196154},{},[196155,196169],{"type":426,"tag":10604,"props":196156,"children":196157},{},[196158],{"type":426,"tag":10608,"props":196159,"children":196160},{},[196161,196165],{"type":426,"tag":10612,"props":196162,"children":196163},{},[196164],{"type":431,"value":147033},{"type":426,"tag":10612,"props":196166,"children":196167},{},[196168],{"type":431,"value":147043},{"type":426,"tag":10623,"props":196170,"children":196171},{},[196172,196185,196198],{"type":426,"tag":10608,"props":196173,"children":196174},{},[196175,196180],{"type":426,"tag":10630,"props":196176,"children":196177},{},[196178],{"type":431,"value":196179},"Rapiwa (5× Starter)",{"type":426,"tag":10630,"props":196181,"children":196182},{},[196183],{"type":431,"value":196184},"$25",{"type":426,"tag":10608,"props":196186,"children":196187},{},[196188,196193],{"type":426,"tag":10630,"props":196189,"children":196190},{},[196191],{"type":431,"value":196192},"WasenderAPI Plus",{"type":426,"tag":10630,"props":196194,"children":196195},{},[196196],{"type":431,"value":196197},"$30",{"type":426,"tag":10608,"props":196199,"children":196200},{},[196201,196206],{"type":426,"tag":10630,"props":196202,"children":196203},{},[196204],{"type":431,"value":196205},"Meta Cloud API (5 numbers)",{"type":426,"tag":10630,"props":196207,"children":196208},{},[196209],{"type":431,"value":196210},"$100+",{"type":426,"tag":427,"props":196212,"children":196213},{},[196214],{"type":426,"tag":446,"props":196215,"children":196216},{},[196217],{"type":431,"value":196218},"Winner: Rapiwa at $25\u002Fmonth",{"type":426,"tag":434,"props":196220,"children":196221},{"id":4109},[196222],{"type":431,"value":4112},{"type":426,"tag":427,"props":196224,"children":196225},{},[196226,196230],{"type":426,"tag":446,"props":196227,"children":196228},{},[196229],{"type":431,"value":160926},{"type":431,"value":196231},"\nRapiwa is the cheapest managed WhatsApp API at $5\u002Fmonth with no per-message fees and unlimited messages. For completely free options, self-hosted Evolution API or WAHA are available but require a VPS ($15–35\u002Fmonth) and ongoing technical maintenance.",{"type":426,"tag":427,"props":196233,"children":196234},{},[196235,196240],{"type":426,"tag":446,"props":196236,"children":196237},{},[196238],{"type":431,"value":196239},"Does Meta charge for WhatsApp API messages?",{"type":431,"value":196241},"\nYes. Meta's official Cloud API charges per 24-hour conversation session. Marketing conversations cost approximately $0.025 per session in the US. Utility and authentication conversations cost less. Service conversations (inbound) are free up to 1,000\u002Fmonth.",{"type":426,"tag":427,"props":196243,"children":196244},{},[196245,196250],{"type":426,"tag":446,"props":196246,"children":196247},{},[196248],{"type":431,"value":196249},"Is Rapiwa cheaper than WasenderAPI?",{"type":431,"value":196251},"\nYes. Rapiwa costs $5\u002Fmonth; WasenderAPI costs $6\u002Fmonth for one number — Rapiwa is $12\u002Fyear cheaper for single-number users.",{"type":426,"tag":427,"props":196253,"children":196254},{},[196255,196260],{"type":426,"tag":446,"props":196256,"children":196257},{},[196258],{"type":431,"value":196259},"Are there hidden fees with Rapiwa?",{"type":431,"value":196261},"\nNo. Rapiwa charges a flat monthly subscription with no per-message fees, no setup fees, and no overage charges. The price you see is what you pay.",{"type":426,"tag":427,"props":196263,"children":196264},{},[196265,196270],{"type":426,"tag":446,"props":196266,"children":196267},{},[196268],{"type":431,"value":196269},"Can I try Rapiwa for free?",{"type":431,"value":196271},"\nYes. Rapiwa offers a 3-day free trial with full API access, no credit card required.",{"type":426,"tag":427,"props":196273,"children":196274},{},[196275,196280],{"type":426,"tag":446,"props":196276,"children":196277},{},[196278],{"type":431,"value":196279},"What happens if I exceed my message limit?",{"type":431,"value":196281},"\nRapiwa has no message limit — all plans support unlimited messages. There is no overage fee.",{"title":417,"searchDepth":588,"depth":588,"links":196283},[196284,196285,196286,196287,196288,196289,196290,196291,196296],{"id":195042,"depth":588,"text":195045},{"id":195327,"depth":588,"text":195330},{"id":185471,"depth":588,"text":185474},{"id":195610,"depth":588,"text":195613},{"id":195760,"depth":588,"text":195763},{"id":195863,"depth":588,"text":195866},{"id":161303,"depth":588,"text":161306},{"id":195965,"depth":588,"text":195968,"children":196292},[196293,196294,196295],{"id":195971,"depth":606,"text":195974},{"id":196057,"depth":606,"text":196060},{"id":196143,"depth":606,"text":196146},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-api-pricing-in-2026-what-you-actually-pay.md","blog\u002Fwhatsapp-api-pricing-in-2026-what-you-actually-pay.md","blog\u002Fwhatsapp-api-pricing-in-2026-what-you-actually-pay",{"loc":362},{"_path":366,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":367,"description":368,"date":196302,"author":10935,"category":17,"_slug":196303,"image":196304,"body":196305,"_type":4187,"_id":200183,"_source":4189,"_file":200184,"_stem":200185,"_extension":4192,"sitemap":200186},"2025-12-08","what-are-whatsapp-webhooks-how-they-work-setup-guide","\u002Fimages\u002Fblog\u002Fwhat-are-whatsapp-webhooks-how-they-work-setup-guide.svg",{"type":423,"children":196306,"toc":200167},[196307,196319,196325,196330,196340,196348,196358,196366,196371,196377,196382,196488,196494,196499,196674,196679,196814,196820,196832,196838,197768,197773,197811,197817,198444,198484,198488,199040,199046,199056,199093,199103,199113,199130,199136,199190,199195,199201,199226,199236,199348,199354,199359,199998,200004,200012,200037,200045,200070,200078,200099,200103,200113,200123,200133,200143,200153,200163],{"type":426,"tag":427,"props":196308,"children":196309},{},[196310,196312,196317],{"type":431,"value":196311},"A WhatsApp webhook is an HTTP endpoint on your server that receives real-time notifications when WhatsApp events occur — like an incoming message, message delivered, or message read. With ",{"type":426,"tag":3819,"props":196313,"children":196315},{"href":3821,"rel":196314},[3823],[196316],{"type":431,"value":127310},{"type":431,"value":196318},", you configure your webhook URL in the dashboard, and Rapiwa POSTs a JSON payload to your URL whenever a new WhatsApp event happens on your connected number.",{"type":426,"tag":434,"props":196320,"children":196322},{"id":196321},"what-is-a-whatsapp-webhook",[196323],{"type":431,"value":196324},"What Is a WhatsApp Webhook?",{"type":426,"tag":427,"props":196326,"children":196327},{},[196328],{"type":431,"value":196329},"A webhook is a way for one system to notify another system about an event in real time. Instead of your server constantly asking \"are there any new messages?\" (polling), the WhatsApp API pushes a notification to your server the moment an event happens.",{"type":426,"tag":427,"props":196331,"children":196332},{},[196333,196338],{"type":426,"tag":446,"props":196334,"children":196335},{},[196336],{"type":431,"value":196337},"Without webhooks",{"type":431,"value":196339}," (polling — inefficient):",{"type":426,"tag":542,"props":196341,"children":196343},{"code":196342},"Your server → \"Any new messages?\" → API: \"No\"\nYour server → \"Any new messages?\" → API: \"No\"\nYour server → \"Any new messages?\" → API: \"Yes, 3 messages!\"\n",[196344],{"type":426,"tag":549,"props":196345,"children":196346},{"__ignoreMap":417},[196347],{"type":431,"value":196342},{"type":426,"tag":427,"props":196349,"children":196350},{},[196351,196356],{"type":426,"tag":446,"props":196352,"children":196353},{},[196354],{"type":431,"value":196355},"With webhooks",{"type":431,"value":196357}," (push — efficient):",{"type":426,"tag":542,"props":196359,"children":196361},{"code":196360},"[Customer sends WhatsApp message]\nAPI → pushes payload to your server: {\"event\": \"message.received\", \"from\": \"880...\", \"message\": \"Hi!\"}\nYour server processes it immediately\n",[196362],{"type":426,"tag":549,"props":196363,"children":196364},{"__ignoreMap":417},[196365],{"type":431,"value":196360},{"type":426,"tag":427,"props":196367,"children":196368},{},[196369],{"type":431,"value":196370},"Webhooks are the foundation of WhatsApp chatbots, auto-reply systems, and any application that needs to respond to customer messages in real time.",{"type":426,"tag":434,"props":196372,"children":196374},{"id":196373},"whatsapp-webhook-events",[196375],{"type":431,"value":196376},"WhatsApp Webhook Events",{"type":426,"tag":427,"props":196378,"children":196379},{},[196380],{"type":431,"value":196381},"Rapiwa's webhook sends the following event types to your URL:",{"type":426,"tag":10600,"props":196383,"children":196384},{},[196385,196401],{"type":426,"tag":10604,"props":196386,"children":196387},{},[196388],{"type":426,"tag":10608,"props":196389,"children":196390},{},[196391,196396],{"type":426,"tag":10612,"props":196392,"children":196393},{},[196394],{"type":431,"value":196395},"Event",{"type":426,"tag":10612,"props":196397,"children":196398},{},[196399],{"type":431,"value":196400},"When It Fires",{"type":426,"tag":10623,"props":196402,"children":196403},{},[196404,196420,196437,196454,196471],{"type":426,"tag":10608,"props":196405,"children":196406},{},[196407,196415],{"type":426,"tag":10630,"props":196408,"children":196409},{},[196410],{"type":426,"tag":549,"props":196411,"children":196413},{"className":196412},[],[196414],{"type":431,"value":7956},{"type":426,"tag":10630,"props":196416,"children":196417},{},[196418],{"type":431,"value":196419},"A new incoming message from a contact",{"type":426,"tag":10608,"props":196421,"children":196422},{},[196423,196432],{"type":426,"tag":10630,"props":196424,"children":196425},{},[196426],{"type":426,"tag":549,"props":196427,"children":196429},{"className":196428},[],[196430],{"type":431,"value":196431},"message.delivered",{"type":426,"tag":10630,"props":196433,"children":196434},{},[196435],{"type":431,"value":196436},"Your sent message was delivered to the recipient's phone",{"type":426,"tag":10608,"props":196438,"children":196439},{},[196440,196449],{"type":426,"tag":10630,"props":196441,"children":196442},{},[196443],{"type":426,"tag":549,"props":196444,"children":196446},{"className":196445},[],[196447],{"type":431,"value":196448},"message.read",{"type":426,"tag":10630,"props":196450,"children":196451},{},[196452],{"type":431,"value":196453},"The recipient opened and read your message (blue ticks)",{"type":426,"tag":10608,"props":196455,"children":196456},{},[196457,196466],{"type":426,"tag":10630,"props":196458,"children":196459},{},[196460],{"type":426,"tag":549,"props":196461,"children":196463},{"className":196462},[],[196464],{"type":431,"value":196465},"session.connected",{"type":426,"tag":10630,"props":196467,"children":196468},{},[196469],{"type":431,"value":196470},"Your WhatsApp number successfully connected",{"type":426,"tag":10608,"props":196472,"children":196473},{},[196474,196483],{"type":426,"tag":10630,"props":196475,"children":196476},{},[196477],{"type":426,"tag":549,"props":196478,"children":196480},{"className":196479},[],[196481],{"type":431,"value":196482},"session.disconnected",{"type":426,"tag":10630,"props":196484,"children":196485},{},[196486],{"type":431,"value":196487},"Your WhatsApp number disconnected",{"type":426,"tag":434,"props":196489,"children":196491},{"id":196490},"what-does-a-webhook-payload-look-like",[196492],{"type":431,"value":196493},"What Does a Webhook Payload Look Like?",{"type":426,"tag":427,"props":196495,"children":196496},{},[196497],{"type":431,"value":196498},"When someone sends your WhatsApp number a message, Rapiwa sends a POST request like this to your webhook URL:",{"type":426,"tag":542,"props":196500,"children":196502},{"code":196501,"language":673,"meta":417,"className":674,"style":417},"{\n  \"event\": \"message.received\",\n  \"from\": \"8801234567890\",\n  \"fromName\": \"John Doe\",\n  \"message\": \"Hi, I need help with my order #12345\",\n  \"messageId\": \"incoming_abc123xyz\",\n  \"timestamp\": \"2026-04-11T09:30:00Z\",\n  \"messageType\": \"text\",\n  \"deviceId\": \"your_connected_number_id\"\n}\n",[196503],{"type":426,"tag":549,"props":196504,"children":196505},{"__ignoreMap":417},[196506,196513,196532,196551,196570,196590,196610,196630,196650,196667],{"type":426,"tag":553,"props":196507,"children":196508},{"class":555,"line":556},[196509],{"type":426,"tag":553,"props":196510,"children":196511},{"style":684},[196512],{"type":431,"value":687},{"type":426,"tag":553,"props":196514,"children":196515},{"class":555,"line":588},[196516,196520,196524,196528],{"type":426,"tag":553,"props":196517,"children":196518},{"style":566},[196519],{"type":431,"value":81627},{"type":426,"tag":553,"props":196521,"children":196522},{"style":684},[196523],{"type":431,"value":700},{"type":426,"tag":553,"props":196525,"children":196526},{"style":572},[196527],{"type":431,"value":81636},{"type":426,"tag":553,"props":196529,"children":196530},{"style":684},[196531],{"type":431,"value":710},{"type":426,"tag":553,"props":196533,"children":196534},{"class":555,"line":606},[196535,196539,196543,196547],{"type":426,"tag":553,"props":196536,"children":196537},{"style":566},[196538],{"type":431,"value":146564},{"type":426,"tag":553,"props":196540,"children":196541},{"style":684},[196542],{"type":431,"value":700},{"type":426,"tag":553,"props":196544,"children":196545},{"style":572},[196546],{"type":431,"value":7286},{"type":426,"tag":553,"props":196548,"children":196549},{"style":684},[196550],{"type":431,"value":710},{"type":426,"tag":553,"props":196552,"children":196553},{"class":555,"line":623},[196554,196558,196562,196566],{"type":426,"tag":553,"props":196555,"children":196556},{"style":566},[196557],{"type":431,"value":146584},{"type":426,"tag":553,"props":196559,"children":196560},{"style":684},[196561],{"type":431,"value":700},{"type":426,"tag":553,"props":196563,"children":196564},{"style":572},[196565],{"type":431,"value":191394},{"type":426,"tag":553,"props":196567,"children":196568},{"style":684},[196569],{"type":431,"value":710},{"type":426,"tag":553,"props":196571,"children":196572},{"class":555,"line":637},[196573,196577,196581,196586],{"type":426,"tag":553,"props":196574,"children":196575},{"style":566},[196576],{"type":431,"value":7298},{"type":426,"tag":553,"props":196578,"children":196579},{"style":684},[196580],{"type":431,"value":700},{"type":426,"tag":553,"props":196582,"children":196583},{"style":572},[196584],{"type":431,"value":196585},"\"Hi, I need help with my order #12345\"",{"type":426,"tag":553,"props":196587,"children":196588},{"style":684},[196589],{"type":431,"value":710},{"type":426,"tag":553,"props":196591,"children":196592},{"class":555,"line":646},[196593,196597,196601,196606],{"type":426,"tag":553,"props":196594,"children":196595},{"style":566},[196596],{"type":431,"value":718},{"type":426,"tag":553,"props":196598,"children":196599},{"style":684},[196600],{"type":431,"value":700},{"type":426,"tag":553,"props":196602,"children":196603},{"style":572},[196604],{"type":431,"value":196605},"\"incoming_abc123xyz\"",{"type":426,"tag":553,"props":196607,"children":196608},{"style":684},[196609],{"type":431,"value":710},{"type":426,"tag":553,"props":196611,"children":196612},{"class":555,"line":655},[196613,196617,196621,196626],{"type":426,"tag":553,"props":196614,"children":196615},{"style":566},[196616],{"type":431,"value":739},{"type":426,"tag":553,"props":196618,"children":196619},{"style":684},[196620],{"type":431,"value":700},{"type":426,"tag":553,"props":196622,"children":196623},{"style":572},[196624],{"type":431,"value":196625},"\"2026-04-11T09:30:00Z\"",{"type":426,"tag":553,"props":196627,"children":196628},{"style":684},[196629],{"type":431,"value":710},{"type":426,"tag":553,"props":196631,"children":196632},{"class":555,"line":1036},[196633,196638,196642,196646],{"type":426,"tag":553,"props":196634,"children":196635},{"style":566},[196636],{"type":431,"value":196637},"  \"messageType\"",{"type":426,"tag":553,"props":196639,"children":196640},{"style":684},[196641],{"type":431,"value":700},{"type":426,"tag":553,"props":196643,"children":196644},{"style":572},[196645],{"type":431,"value":81731},{"type":426,"tag":553,"props":196647,"children":196648},{"style":684},[196649],{"type":431,"value":710},{"type":426,"tag":553,"props":196651,"children":196652},{"class":555,"line":1054},[196653,196658,196662],{"type":426,"tag":553,"props":196654,"children":196655},{"style":566},[196656],{"type":431,"value":196657},"  \"deviceId\"",{"type":426,"tag":553,"props":196659,"children":196660},{"style":684},[196661],{"type":431,"value":700},{"type":426,"tag":553,"props":196663,"children":196664},{"style":572},[196665],{"type":431,"value":196666},"\"your_connected_number_id\"\n",{"type":426,"tag":553,"props":196668,"children":196669},{"class":555,"line":1080},[196670],{"type":426,"tag":553,"props":196671,"children":196672},{"style":684},[196673],{"type":431,"value":756},{"type":426,"tag":427,"props":196675,"children":196676},{},[196677],{"type":431,"value":196678},"For image messages:",{"type":426,"tag":542,"props":196680,"children":196682},{"code":196681,"language":673,"meta":417,"className":674,"style":417},"{\n  \"event\": \"message.received\",\n  \"from\": \"8801234567890\",\n  \"messageType\": \"image\",\n  \"imageUrl\": \"https:\u002F\u002Fcdn.rapiwa.com\u002Fmedia\u002Fimg_abc123.jpg\",\n  \"caption\": \"Here is the damaged product\",\n  \"timestamp\": \"2026-04-11T09:31:00Z\"\n}\n",[196683],{"type":426,"tag":549,"props":196684,"children":196685},{"__ignoreMap":417},[196686,196693,196712,196731,196750,196771,196791,196807],{"type":426,"tag":553,"props":196687,"children":196688},{"class":555,"line":556},[196689],{"type":426,"tag":553,"props":196690,"children":196691},{"style":684},[196692],{"type":431,"value":687},{"type":426,"tag":553,"props":196694,"children":196695},{"class":555,"line":588},[196696,196700,196704,196708],{"type":426,"tag":553,"props":196697,"children":196698},{"style":566},[196699],{"type":431,"value":81627},{"type":426,"tag":553,"props":196701,"children":196702},{"style":684},[196703],{"type":431,"value":700},{"type":426,"tag":553,"props":196705,"children":196706},{"style":572},[196707],{"type":431,"value":81636},{"type":426,"tag":553,"props":196709,"children":196710},{"style":684},[196711],{"type":431,"value":710},{"type":426,"tag":553,"props":196713,"children":196714},{"class":555,"line":606},[196715,196719,196723,196727],{"type":426,"tag":553,"props":196716,"children":196717},{"style":566},[196718],{"type":431,"value":146564},{"type":426,"tag":553,"props":196720,"children":196721},{"style":684},[196722],{"type":431,"value":700},{"type":426,"tag":553,"props":196724,"children":196725},{"style":572},[196726],{"type":431,"value":7286},{"type":426,"tag":553,"props":196728,"children":196729},{"style":684},[196730],{"type":431,"value":710},{"type":426,"tag":553,"props":196732,"children":196733},{"class":555,"line":623},[196734,196738,196742,196746],{"type":426,"tag":553,"props":196735,"children":196736},{"style":566},[196737],{"type":431,"value":196637},{"type":426,"tag":553,"props":196739,"children":196740},{"style":684},[196741],{"type":431,"value":700},{"type":426,"tag":553,"props":196743,"children":196744},{"style":572},[196745],{"type":431,"value":139831},{"type":426,"tag":553,"props":196747,"children":196748},{"style":684},[196749],{"type":431,"value":710},{"type":426,"tag":553,"props":196751,"children":196752},{"class":555,"line":637},[196753,196758,196762,196767],{"type":426,"tag":553,"props":196754,"children":196755},{"style":566},[196756],{"type":431,"value":196757},"  \"imageUrl\"",{"type":426,"tag":553,"props":196759,"children":196760},{"style":684},[196761],{"type":431,"value":700},{"type":426,"tag":553,"props":196763,"children":196764},{"style":572},[196765],{"type":431,"value":196766},"\"https:\u002F\u002Fcdn.rapiwa.com\u002Fmedia\u002Fimg_abc123.jpg\"",{"type":426,"tag":553,"props":196768,"children":196769},{"style":684},[196770],{"type":431,"value":710},{"type":426,"tag":553,"props":196772,"children":196773},{"class":555,"line":646},[196774,196778,196782,196787],{"type":426,"tag":553,"props":196775,"children":196776},{"style":566},[196777],{"type":431,"value":144432},{"type":426,"tag":553,"props":196779,"children":196780},{"style":684},[196781],{"type":431,"value":700},{"type":426,"tag":553,"props":196783,"children":196784},{"style":572},[196785],{"type":431,"value":196786},"\"Here is the damaged product\"",{"type":426,"tag":553,"props":196788,"children":196789},{"style":684},[196790],{"type":431,"value":710},{"type":426,"tag":553,"props":196792,"children":196793},{"class":555,"line":655},[196794,196798,196802],{"type":426,"tag":553,"props":196795,"children":196796},{"style":566},[196797],{"type":431,"value":739},{"type":426,"tag":553,"props":196799,"children":196800},{"style":684},[196801],{"type":431,"value":700},{"type":426,"tag":553,"props":196803,"children":196804},{"style":572},[196805],{"type":431,"value":196806},"\"2026-04-11T09:31:00Z\"\n",{"type":426,"tag":553,"props":196808,"children":196809},{"class":555,"line":1036},[196810],{"type":426,"tag":553,"props":196811,"children":196812},{"style":684},[196813],{"type":431,"value":756},{"type":426,"tag":434,"props":196815,"children":196817},{"id":196816},"step-1-create-your-webhook-endpoint",[196818],{"type":431,"value":196819},"Step 1: Create Your Webhook Endpoint",{"type":426,"tag":427,"props":196821,"children":196822},{},[196823,196825,196830],{"type":431,"value":196824},"Your webhook needs to be a publicly accessible URL. If you are developing locally, use ",{"type":426,"tag":3819,"props":196826,"children":196828},{"href":111341,"rel":196827},[3823],[196829],{"type":431,"value":85825},{"type":431,"value":196831}," to expose your localhost.",{"type":426,"tag":515,"props":196833,"children":196835},{"id":196834},"python-flask",[196836],{"type":431,"value":196837},"Python (Flask)",{"type":426,"tag":542,"props":196839,"children":196841},{"code":196840,"language":784,"meta":417,"className":785,"style":417},"from flask import Flask, request, jsonify\nimport requests\n\napp = Flask(__name__)\n\nRAPIWA_API_KEY = \"YOUR_API_KEY\"\n\n@app.route(\"\u002Fwebhook\u002Fwhatsapp\", methods=[\"POST\"])\ndef whatsapp_webhook():\n    data = request.json\n    event = data.get(\"event\")\n    \n    print(f\"Event received: {event}\")\n    \n    if event == \"message.received\":\n        handle_incoming_message(data)\n    elif event == \"message.delivered\":\n        print(f\"Message {data['messageId']} delivered to {data['from']}\")\n    elif event == \"message.read\":\n        print(f\"Message {data['messageId']} read by {data['from']}\")\n    \n    # Always return 200 OK quickly\n    return jsonify({\"status\": \"ok\"}), 200\n\ndef handle_incoming_message(data):\n    sender = data[\"from\"]\n    message_text = data.get(\"message\", \"\")\n    sender_name = data.get(\"fromName\", \"there\")\n    \n    print(f\"New message from {sender_name} ({sender}): {message_text}\")\n    \n    # Auto-reply example\n    reply = f\"Hi {sender_name}! Thanks for your message. We will get back to you within 1 hour.\"\n    \n    requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {RAPIWA_API_KEY}\"},\n        json={\"number\": sender, \"message\": reply}\n    )\n\nif __name__ == \"__main__\":\n    app.run(port=5000, debug=True)\n",[196842],{"type":426,"tag":549,"props":196843,"children":196844},{"__ignoreMap":417},[196845,196864,196875,196882,196905,196912,196927,196934,196973,196988,197003,197026,197033,197073,197080,197103,197111,197135,197208,197232,197304,197311,197319,197350,197357,197373,197397,197429,197460,197467,197541,197548,197556,197592,197599,197606,197617,197660,197692,197699,197706,197729],{"type":426,"tag":553,"props":196846,"children":196847},{"class":555,"line":556},[196848,196852,196856,196860],{"type":426,"tag":553,"props":196849,"children":196850},{"style":795},[196851],{"type":431,"value":811},{"type":426,"tag":553,"props":196853,"children":196854},{"style":684},[196855],{"type":431,"value":13265},{"type":426,"tag":553,"props":196857,"children":196858},{"style":795},[196859],{"type":431,"value":798},{"type":426,"tag":553,"props":196861,"children":196862},{"style":684},[196863],{"type":431,"value":19220},{"type":426,"tag":553,"props":196865,"children":196866},{"class":555,"line":588},[196867,196871],{"type":426,"tag":553,"props":196868,"children":196869},{"style":795},[196870],{"type":431,"value":798},{"type":426,"tag":553,"props":196872,"children":196873},{"style":684},[196874],{"type":431,"value":803},{"type":426,"tag":553,"props":196876,"children":196877},{"class":555,"line":606},[196878],{"type":426,"tag":553,"props":196879,"children":196880},{"emptyLinePlaceholder":831},[196881],{"type":431,"value":834},{"type":426,"tag":553,"props":196883,"children":196884},{"class":555,"line":623},[196885,196889,196893,196897,196901],{"type":426,"tag":553,"props":196886,"children":196887},{"style":684},[196888],{"type":431,"value":13301},{"type":426,"tag":553,"props":196890,"children":196891},{"style":795},[196892],{"type":431,"value":957},{"type":426,"tag":553,"props":196894,"children":196895},{"style":684},[196896],{"type":431,"value":13310},{"type":426,"tag":553,"props":196898,"children":196899},{"style":566},[196900],{"type":431,"value":13315},{"type":426,"tag":553,"props":196902,"children":196903},{"style":684},[196904],{"type":431,"value":3262},{"type":426,"tag":553,"props":196906,"children":196907},{"class":555,"line":637},[196908],{"type":426,"tag":553,"props":196909,"children":196910},{"emptyLinePlaceholder":831},[196911],{"type":431,"value":834},{"type":426,"tag":553,"props":196913,"children":196914},{"class":555,"line":646},[196915,196919,196923],{"type":426,"tag":553,"props":196916,"children":196917},{"style":566},[196918],{"type":431,"value":7156},{"type":426,"tag":553,"props":196920,"children":196921},{"style":795},[196922],{"type":431,"value":8739},{"type":426,"tag":553,"props":196924,"children":196925},{"style":572},[196926],{"type":431,"value":40863},{"type":426,"tag":553,"props":196928,"children":196929},{"class":555,"line":655},[196930],{"type":426,"tag":553,"props":196931,"children":196932},{"emptyLinePlaceholder":831},[196933],{"type":431,"value":834},{"type":426,"tag":553,"props":196935,"children":196936},{"class":555,"line":1036},[196937,196941,196945,196949,196953,196957,196961,196965,196969],{"type":426,"tag":553,"props":196938,"children":196939},{"style":560},[196940],{"type":431,"value":8024},{"type":426,"tag":553,"props":196942,"children":196943},{"style":684},[196944],{"type":431,"value":3275},{"type":426,"tag":553,"props":196946,"children":196947},{"style":572},[196948],{"type":431,"value":128591},{"type":426,"tag":553,"props":196950,"children":196951},{"style":684},[196952],{"type":431,"value":1907},{"type":426,"tag":553,"props":196954,"children":196955},{"style":1684},[196956],{"type":431,"value":8042},{"type":426,"tag":553,"props":196958,"children":196959},{"style":795},[196960],{"type":431,"value":957},{"type":426,"tag":553,"props":196962,"children":196963},{"style":684},[196964],{"type":431,"value":8051},{"type":426,"tag":553,"props":196966,"children":196967},{"style":572},[196968],{"type":431,"value":60428},{"type":426,"tag":553,"props":196970,"children":196971},{"style":684},[196972],{"type":431,"value":8061},{"type":426,"tag":553,"props":196974,"children":196975},{"class":555,"line":1054},[196976,196980,196984],{"type":426,"tag":553,"props":196977,"children":196978},{"style":795},[196979],{"type":431,"value":842},{"type":426,"tag":553,"props":196981,"children":196982},{"style":560},[196983],{"type":431,"value":128627},{"type":426,"tag":553,"props":196985,"children":196986},{"style":684},[196987],{"type":431,"value":6433},{"type":426,"tag":553,"props":196989,"children":196990},{"class":555,"line":1080},[196991,196995,196999],{"type":426,"tag":553,"props":196992,"children":196993},{"style":684},[196994],{"type":431,"value":13733},{"type":426,"tag":553,"props":196996,"children":196997},{"style":795},[196998],{"type":431,"value":957},{"type":426,"tag":553,"props":197000,"children":197001},{"style":684},[197002],{"type":431,"value":98209},{"type":426,"tag":553,"props":197004,"children":197005},{"class":555,"line":1097},[197006,197010,197014,197018,197022],{"type":426,"tag":553,"props":197007,"children":197008},{"style":684},[197009],{"type":431,"value":82166},{"type":426,"tag":553,"props":197011,"children":197012},{"style":795},[197013],{"type":431,"value":957},{"type":426,"tag":553,"props":197015,"children":197016},{"style":684},[197017],{"type":431,"value":8311},{"type":426,"tag":553,"props":197019,"children":197020},{"style":572},[197021],{"type":431,"value":76366},{"type":426,"tag":553,"props":197023,"children":197024},{"style":684},[197025],{"type":431,"value":3262},{"type":426,"tag":553,"props":197027,"children":197028},{"class":555,"line":1114},[197029],{"type":426,"tag":553,"props":197030,"children":197031},{"style":684},[197032],{"type":431,"value":917},{"type":426,"tag":553,"props":197034,"children":197035},{"class":555,"line":1127},[197036,197040,197044,197048,197053,197057,197061,197065,197069],{"type":426,"tag":553,"props":197037,"children":197038},{"style":566},[197039],{"type":431,"value":51971},{"type":426,"tag":553,"props":197041,"children":197042},{"style":684},[197043],{"type":431,"value":3275},{"type":426,"tag":553,"props":197045,"children":197046},{"style":795},[197047],{"type":431,"value":1709},{"type":426,"tag":553,"props":197049,"children":197050},{"style":572},[197051],{"type":431,"value":197052},"\"Event received: ",{"type":426,"tag":553,"props":197054,"children":197055},{"style":566},[197056],{"type":431,"value":972},{"type":426,"tag":553,"props":197058,"children":197059},{"style":684},[197060],{"type":431,"value":82238},{"type":426,"tag":553,"props":197062,"children":197063},{"style":566},[197064],{"type":431,"value":982},{"type":426,"tag":553,"props":197066,"children":197067},{"style":572},[197068],{"type":431,"value":1527},{"type":426,"tag":553,"props":197070,"children":197071},{"style":684},[197072],{"type":431,"value":3262},{"type":426,"tag":553,"props":197074,"children":197075},{"class":555,"line":1167},[197076],{"type":426,"tag":553,"props":197077,"children":197078},{"style":684},[197079],{"type":431,"value":917},{"type":426,"tag":553,"props":197081,"children":197082},{"class":555,"line":1184},[197083,197087,197091,197095,197099],{"type":426,"tag":553,"props":197084,"children":197085},{"style":795},[197086],{"type":431,"value":925},{"type":426,"tag":553,"props":197088,"children":197089},{"style":684},[197090],{"type":431,"value":82294},{"type":426,"tag":553,"props":197092,"children":197093},{"style":795},[197094],{"type":431,"value":1069},{"type":426,"tag":553,"props":197096,"children":197097},{"style":572},[197098],{"type":431,"value":75756},{"type":426,"tag":553,"props":197100,"children":197101},{"style":684},[197102],{"type":431,"value":909},{"type":426,"tag":553,"props":197104,"children":197105},{"class":555,"line":1192},[197106],{"type":426,"tag":553,"props":197107,"children":197108},{"style":684},[197109],{"type":431,"value":197110},"        handle_incoming_message(data)\n",{"type":426,"tag":553,"props":197112,"children":197113},{"class":555,"line":1210},[197114,197118,197122,197126,197131],{"type":426,"tag":553,"props":197115,"children":197116},{"style":795},[197117],{"type":431,"value":1060},{"type":426,"tag":553,"props":197119,"children":197120},{"style":684},[197121],{"type":431,"value":82294},{"type":426,"tag":553,"props":197123,"children":197124},{"style":795},[197125],{"type":431,"value":1069},{"type":426,"tag":553,"props":197127,"children":197128},{"style":572},[197129],{"type":431,"value":197130}," \"message.delivered\"",{"type":426,"tag":553,"props":197132,"children":197133},{"style":684},[197134],{"type":431,"value":909},{"type":426,"tag":553,"props":197136,"children":197137},{"class":555,"line":1253},[197138,197142,197146,197150,197155,197159,197163,197167,197171,197175,197180,197184,197188,197192,197196,197200,197204],{"type":426,"tag":553,"props":197139,"children":197140},{"style":566},[197141],{"type":431,"value":181329},{"type":426,"tag":553,"props":197143,"children":197144},{"style":684},[197145],{"type":431,"value":3275},{"type":426,"tag":553,"props":197147,"children":197148},{"style":795},[197149],{"type":431,"value":1709},{"type":426,"tag":553,"props":197151,"children":197152},{"style":572},[197153],{"type":431,"value":197154},"\"Message ",{"type":426,"tag":553,"props":197156,"children":197157},{"style":566},[197158],{"type":431,"value":972},{"type":426,"tag":553,"props":197160,"children":197161},{"style":684},[197162],{"type":431,"value":143768},{"type":426,"tag":553,"props":197164,"children":197165},{"style":572},[197166],{"type":431,"value":8316},{"type":426,"tag":553,"props":197168,"children":197169},{"style":684},[197170],{"type":431,"value":1240},{"type":426,"tag":553,"props":197172,"children":197173},{"style":566},[197174],{"type":431,"value":982},{"type":426,"tag":553,"props":197176,"children":197177},{"style":572},[197178],{"type":431,"value":197179}," delivered to ",{"type":426,"tag":553,"props":197181,"children":197182},{"style":566},[197183],{"type":431,"value":972},{"type":426,"tag":553,"props":197185,"children":197186},{"style":684},[197187],{"type":431,"value":143768},{"type":426,"tag":553,"props":197189,"children":197190},{"style":572},[197191],{"type":431,"value":14329},{"type":426,"tag":553,"props":197193,"children":197194},{"style":684},[197195],{"type":431,"value":1240},{"type":426,"tag":553,"props":197197,"children":197198},{"style":566},[197199],{"type":431,"value":982},{"type":426,"tag":553,"props":197201,"children":197202},{"style":572},[197203],{"type":431,"value":1527},{"type":426,"tag":553,"props":197205,"children":197206},{"style":684},[197207],{"type":431,"value":3262},{"type":426,"tag":553,"props":197209,"children":197210},{"class":555,"line":1302},[197211,197215,197219,197223,197228],{"type":426,"tag":553,"props":197212,"children":197213},{"style":795},[197214],{"type":431,"value":1060},{"type":426,"tag":553,"props":197216,"children":197217},{"style":684},[197218],{"type":431,"value":82294},{"type":426,"tag":553,"props":197220,"children":197221},{"style":795},[197222],{"type":431,"value":1069},{"type":426,"tag":553,"props":197224,"children":197225},{"style":572},[197226],{"type":431,"value":197227}," \"message.read\"",{"type":426,"tag":553,"props":197229,"children":197230},{"style":684},[197231],{"type":431,"value":909},{"type":426,"tag":553,"props":197233,"children":197234},{"class":555,"line":1374},[197235,197239,197243,197247,197251,197255,197259,197263,197267,197271,197276,197280,197284,197288,197292,197296,197300],{"type":426,"tag":553,"props":197236,"children":197237},{"style":566},[197238],{"type":431,"value":181329},{"type":426,"tag":553,"props":197240,"children":197241},{"style":684},[197242],{"type":431,"value":3275},{"type":426,"tag":553,"props":197244,"children":197245},{"style":795},[197246],{"type":431,"value":1709},{"type":426,"tag":553,"props":197248,"children":197249},{"style":572},[197250],{"type":431,"value":197154},{"type":426,"tag":553,"props":197252,"children":197253},{"style":566},[197254],{"type":431,"value":972},{"type":426,"tag":553,"props":197256,"children":197257},{"style":684},[197258],{"type":431,"value":143768},{"type":426,"tag":553,"props":197260,"children":197261},{"style":572},[197262],{"type":431,"value":8316},{"type":426,"tag":553,"props":197264,"children":197265},{"style":684},[197266],{"type":431,"value":1240},{"type":426,"tag":553,"props":197268,"children":197269},{"style":566},[197270],{"type":431,"value":982},{"type":426,"tag":553,"props":197272,"children":197273},{"style":572},[197274],{"type":431,"value":197275}," read by ",{"type":426,"tag":553,"props":197277,"children":197278},{"style":566},[197279],{"type":431,"value":972},{"type":426,"tag":553,"props":197281,"children":197282},{"style":684},[197283],{"type":431,"value":143768},{"type":426,"tag":553,"props":197285,"children":197286},{"style":572},[197287],{"type":431,"value":14329},{"type":426,"tag":553,"props":197289,"children":197290},{"style":684},[197291],{"type":431,"value":1240},{"type":426,"tag":553,"props":197293,"children":197294},{"style":566},[197295],{"type":431,"value":982},{"type":426,"tag":553,"props":197297,"children":197298},{"style":572},[197299],{"type":431,"value":1527},{"type":426,"tag":553,"props":197301,"children":197302},{"style":684},[197303],{"type":431,"value":3262},{"type":426,"tag":553,"props":197305,"children":197306},{"class":555,"line":1414},[197307],{"type":426,"tag":553,"props":197308,"children":197309},{"style":684},[197310],{"type":431,"value":917},{"type":426,"tag":553,"props":197312,"children":197313},{"class":555,"line":1479},[197314],{"type":426,"tag":553,"props":197315,"children":197316},{"style":1975},[197317],{"type":431,"value":197318},"    # Always return 200 OK quickly\n",{"type":426,"tag":553,"props":197320,"children":197321},{"class":555,"line":1517},[197322,197326,197330,197334,197338,197342,197346],{"type":426,"tag":553,"props":197323,"children":197324},{"style":795},[197325],{"type":431,"value":1659},{"type":426,"tag":553,"props":197327,"children":197328},{"style":684},[197329],{"type":431,"value":8126},{"type":426,"tag":553,"props":197331,"children":197332},{"style":572},[197333],{"type":431,"value":68957},{"type":426,"tag":553,"props":197335,"children":197336},{"style":684},[197337],{"type":431,"value":700},{"type":426,"tag":553,"props":197339,"children":197340},{"style":572},[197341],{"type":431,"value":128689},{"type":426,"tag":553,"props":197343,"children":197344},{"style":684},[197345],{"type":431,"value":13713},{"type":426,"tag":553,"props":197347,"children":197348},{"style":566},[197349],{"type":431,"value":8234},{"type":426,"tag":553,"props":197351,"children":197352},{"class":555,"line":1560},[197353],{"type":426,"tag":553,"props":197354,"children":197355},{"emptyLinePlaceholder":831},[197356],{"type":431,"value":834},{"type":426,"tag":553,"props":197358,"children":197359},{"class":555,"line":1598},[197360,197364,197368],{"type":426,"tag":553,"props":197361,"children":197362},{"style":795},[197363],{"type":431,"value":842},{"type":426,"tag":553,"props":197365,"children":197366},{"style":560},[197367],{"type":431,"value":108211},{"type":426,"tag":553,"props":197369,"children":197370},{"style":684},[197371],{"type":431,"value":197372},"(data):\n",{"type":426,"tag":553,"props":197374,"children":197375},{"class":555,"line":1636},[197376,197381,197385,197389,197393],{"type":426,"tag":553,"props":197377,"children":197378},{"style":684},[197379],{"type":431,"value":197380},"    sender ",{"type":426,"tag":553,"props":197382,"children":197383},{"style":795},[197384],{"type":431,"value":957},{"type":426,"tag":553,"props":197386,"children":197387},{"style":684},[197388],{"type":431,"value":20293},{"type":426,"tag":553,"props":197390,"children":197391},{"style":572},[197392],{"type":431,"value":76544},{"type":426,"tag":553,"props":197394,"children":197395},{"style":684},[197396],{"type":431,"value":16523},{"type":426,"tag":553,"props":197398,"children":197399},{"class":555,"line":1645},[197400,197405,197409,197413,197417,197421,197425],{"type":426,"tag":553,"props":197401,"children":197402},{"style":684},[197403],{"type":431,"value":197404},"    message_text ",{"type":426,"tag":553,"props":197406,"children":197407},{"style":795},[197408],{"type":431,"value":957},{"type":426,"tag":553,"props":197410,"children":197411},{"style":684},[197412],{"type":431,"value":8311},{"type":426,"tag":553,"props":197414,"children":197415},{"style":572},[197416],{"type":431,"value":45275},{"type":426,"tag":553,"props":197418,"children":197419},{"style":684},[197420],{"type":431,"value":1907},{"type":426,"tag":553,"props":197422,"children":197423},{"style":572},[197424],{"type":431,"value":128818},{"type":426,"tag":553,"props":197426,"children":197427},{"style":684},[197428],{"type":431,"value":3262},{"type":426,"tag":553,"props":197430,"children":197431},{"class":555,"line":1653},[197432,197436,197440,197444,197448,197452,197456],{"type":426,"tag":553,"props":197433,"children":197434},{"style":684},[197435],{"type":431,"value":20341},{"type":426,"tag":553,"props":197437,"children":197438},{"style":795},[197439],{"type":431,"value":957},{"type":426,"tag":553,"props":197441,"children":197442},{"style":684},[197443],{"type":431,"value":8311},{"type":426,"tag":553,"props":197445,"children":197446},{"style":572},[197447],{"type":431,"value":128776},{"type":426,"tag":553,"props":197449,"children":197450},{"style":684},[197451],{"type":431,"value":1907},{"type":426,"tag":553,"props":197453,"children":197454},{"style":572},[197455],{"type":431,"value":128785},{"type":426,"tag":553,"props":197457,"children":197458},{"style":684},[197459],{"type":431,"value":3262},{"type":426,"tag":553,"props":197461,"children":197462},{"class":555,"line":1667},[197463],{"type":426,"tag":553,"props":197464,"children":197465},{"style":684},[197466],{"type":431,"value":917},{"type":426,"tag":553,"props":197468,"children":197469},{"class":555,"line":1680},[197470,197474,197478,197482,197487,197491,197495,197499,197503,197507,197512,197516,197520,197524,197529,197533,197537],{"type":426,"tag":553,"props":197471,"children":197472},{"style":566},[197473],{"type":431,"value":51971},{"type":426,"tag":553,"props":197475,"children":197476},{"style":684},[197477],{"type":431,"value":3275},{"type":426,"tag":553,"props":197479,"children":197480},{"style":795},[197481],{"type":431,"value":1709},{"type":426,"tag":553,"props":197483,"children":197484},{"style":572},[197485],{"type":431,"value":197486},"\"New message from ",{"type":426,"tag":553,"props":197488,"children":197489},{"style":566},[197490],{"type":431,"value":972},{"type":426,"tag":553,"props":197492,"children":197493},{"style":684},[197494],{"type":431,"value":20567},{"type":426,"tag":553,"props":197496,"children":197497},{"style":566},[197498],{"type":431,"value":982},{"type":426,"tag":553,"props":197500,"children":197501},{"style":572},[197502],{"type":431,"value":5684},{"type":426,"tag":553,"props":197504,"children":197505},{"style":566},[197506],{"type":431,"value":972},{"type":426,"tag":553,"props":197508,"children":197509},{"style":684},[197510],{"type":431,"value":197511},"sender",{"type":426,"tag":553,"props":197513,"children":197514},{"style":566},[197515],{"type":431,"value":982},{"type":426,"tag":553,"props":197517,"children":197518},{"style":572},[197519],{"type":431,"value":65309},{"type":426,"tag":553,"props":197521,"children":197522},{"style":566},[197523],{"type":431,"value":972},{"type":426,"tag":553,"props":197525,"children":197526},{"style":684},[197527],{"type":431,"value":197528},"message_text",{"type":426,"tag":553,"props":197530,"children":197531},{"style":566},[197532],{"type":431,"value":982},{"type":426,"tag":553,"props":197534,"children":197535},{"style":572},[197536],{"type":431,"value":1527},{"type":426,"tag":553,"props":197538,"children":197539},{"style":684},[197540],{"type":431,"value":3262},{"type":426,"tag":553,"props":197542,"children":197543},{"class":555,"line":1740},[197544],{"type":426,"tag":553,"props":197545,"children":197546},{"style":684},[197547],{"type":431,"value":917},{"type":426,"tag":553,"props":197549,"children":197550},{"class":555,"line":1787},[197551],{"type":426,"tag":553,"props":197552,"children":197553},{"style":1975},[197554],{"type":431,"value":197555},"    # Auto-reply example\n",{"type":426,"tag":553,"props":197557,"children":197558},{"class":555,"line":1796},[197559,197563,197567,197571,197575,197579,197583,197587],{"type":426,"tag":553,"props":197560,"children":197561},{"style":684},[197562],{"type":431,"value":83998},{"type":426,"tag":553,"props":197564,"children":197565},{"style":795},[197566],{"type":431,"value":957},{"type":426,"tag":553,"props":197568,"children":197569},{"style":795},[197570],{"type":431,"value":962},{"type":426,"tag":553,"props":197572,"children":197573},{"style":572},[197574],{"type":431,"value":4625},{"type":426,"tag":553,"props":197576,"children":197577},{"style":566},[197578],{"type":431,"value":972},{"type":426,"tag":553,"props":197580,"children":197581},{"style":684},[197582],{"type":431,"value":20567},{"type":426,"tag":553,"props":197584,"children":197585},{"style":566},[197586],{"type":431,"value":982},{"type":426,"tag":553,"props":197588,"children":197589},{"style":572},[197590],{"type":431,"value":197591},"! Thanks for your message. We will get back to you within 1 hour.\"\n",{"type":426,"tag":553,"props":197593,"children":197594},{"class":555,"line":1804},[197595],{"type":426,"tag":553,"props":197596,"children":197597},{"style":684},[197598],{"type":431,"value":917},{"type":426,"tag":553,"props":197600,"children":197601},{"class":555,"line":1812},[197602],{"type":426,"tag":553,"props":197603,"children":197604},{"style":684},[197605],{"type":431,"value":30283},{"type":426,"tag":553,"props":197607,"children":197608},{"class":555,"line":1847},[197609,197613],{"type":426,"tag":553,"props":197610,"children":197611},{"style":572},[197612],{"type":431,"value":47296},{"type":426,"tag":553,"props":197614,"children":197615},{"style":684},[197616],{"type":431,"value":710},{"type":426,"tag":553,"props":197618,"children":197619},{"class":555,"line":1856},[197620,197624,197628,197632,197636,197640,197644,197648,197652,197656],{"type":426,"tag":553,"props":197621,"children":197622},{"style":1684},[197623],{"type":431,"value":1687},{"type":426,"tag":553,"props":197625,"children":197626},{"style":795},[197627],{"type":431,"value":957},{"type":426,"tag":553,"props":197629,"children":197630},{"style":684},[197631],{"type":431,"value":972},{"type":426,"tag":553,"props":197633,"children":197634},{"style":572},[197635],{"type":431,"value":45214},{"type":426,"tag":553,"props":197637,"children":197638},{"style":684},[197639],{"type":431,"value":700},{"type":426,"tag":553,"props":197641,"children":197642},{"style":795},[197643],{"type":431,"value":1709},{"type":426,"tag":553,"props":197645,"children":197646},{"style":572},[197647],{"type":431,"value":12608},{"type":426,"tag":553,"props":197649,"children":197650},{"style":566},[197651],{"type":431,"value":20835},{"type":426,"tag":553,"props":197653,"children":197654},{"style":572},[197655],{"type":431,"value":1527},{"type":426,"tag":553,"props":197657,"children":197658},{"style":684},[197659],{"type":431,"value":1737},{"type":426,"tag":553,"props":197661,"children":197662},{"class":555,"line":1874},[197663,197667,197671,197675,197679,197684,197688],{"type":426,"tag":553,"props":197664,"children":197665},{"style":1684},[197666],{"type":431,"value":1746},{"type":426,"tag":553,"props":197668,"children":197669},{"style":795},[197670],{"type":431,"value":957},{"type":426,"tag":553,"props":197672,"children":197673},{"style":684},[197674],{"type":431,"value":972},{"type":426,"tag":553,"props":197676,"children":197677},{"style":572},[197678],{"type":431,"value":45266},{"type":426,"tag":553,"props":197680,"children":197681},{"style":684},[197682],{"type":431,"value":197683},": sender, ",{"type":426,"tag":553,"props":197685,"children":197686},{"style":572},[197687],{"type":431,"value":45275},{"type":426,"tag":553,"props":197689,"children":197690},{"style":684},[197691],{"type":431,"value":34864},{"type":426,"tag":553,"props":197693,"children":197694},{"class":555,"line":1882},[197695],{"type":426,"tag":553,"props":197696,"children":197697},{"style":684},[197698],{"type":431,"value":1642},{"type":426,"tag":553,"props":197700,"children":197701},{"class":555,"line":1981},[197702],{"type":426,"tag":553,"props":197703,"children":197704},{"emptyLinePlaceholder":831},[197705],{"type":431,"value":834},{"type":426,"tag":553,"props":197707,"children":197708},{"class":555,"line":1989},[197709,197713,197717,197721,197725],{"type":426,"tag":553,"props":197710,"children":197711},{"style":795},[197712],{"type":431,"value":7510},{"type":426,"tag":553,"props":197714,"children":197715},{"style":566},[197716],{"type":431,"value":51734},{"type":426,"tag":553,"props":197718,"children":197719},{"style":795},[197720],{"type":431,"value":51739},{"type":426,"tag":553,"props":197722,"children":197723},{"style":572},[197724],{"type":431,"value":58919},{"type":426,"tag":553,"props":197726,"children":197727},{"style":684},[197728],{"type":431,"value":909},{"type":426,"tag":553,"props":197730,"children":197731},{"class":555,"line":2013},[197732,197736,197740,197744,197748,197752,197756,197760,197764],{"type":426,"tag":553,"props":197733,"children":197734},{"style":684},[197735],{"type":431,"value":65922},{"type":426,"tag":553,"props":197737,"children":197738},{"style":1684},[197739],{"type":431,"value":65945},{"type":426,"tag":553,"props":197741,"children":197742},{"style":795},[197743],{"type":431,"value":957},{"type":426,"tag":553,"props":197745,"children":197746},{"style":566},[197747],{"type":431,"value":27258},{"type":426,"tag":553,"props":197749,"children":197750},{"style":684},[197751],{"type":431,"value":1907},{"type":426,"tag":553,"props":197753,"children":197754},{"style":1684},[197755],{"type":431,"value":61617},{"type":426,"tag":553,"props":197757,"children":197758},{"style":795},[197759],{"type":431,"value":957},{"type":426,"tag":553,"props":197761,"children":197762},{"style":566},[197763],{"type":431,"value":21167},{"type":426,"tag":553,"props":197765,"children":197766},{"style":684},[197767],{"type":431,"value":3262},{"type":426,"tag":427,"props":197769,"children":197770},{},[197771],{"type":431,"value":197772},"Run with:",{"type":426,"tag":542,"props":197774,"children":197776},{"code":197775,"language":545,"meta":417,"className":546,"style":417},"pip install flask requests\npython app.py\n",[197777],{"type":426,"tag":549,"props":197778,"children":197779},{"__ignoreMap":417},[197780,197799],{"type":426,"tag":553,"props":197781,"children":197782},{"class":555,"line":556},[197783,197787,197791,197795],{"type":426,"tag":553,"props":197784,"children":197785},{"style":560},[197786],{"type":431,"value":48871},{"type":426,"tag":553,"props":197788,"children":197789},{"style":572},[197790],{"type":431,"value":48876},{"type":426,"tag":553,"props":197792,"children":197793},{"style":572},[197794],{"type":431,"value":63070},{"type":426,"tag":553,"props":197796,"children":197797},{"style":572},[197798],{"type":431,"value":803},{"type":426,"tag":553,"props":197800,"children":197801},{"class":555,"line":588},[197802,197806],{"type":426,"tag":553,"props":197803,"children":197804},{"style":560},[197805],{"type":431,"value":784},{"type":426,"tag":553,"props":197807,"children":197808},{"style":572},[197809],{"type":431,"value":197810}," app.py\n",{"type":426,"tag":515,"props":197812,"children":197814},{"id":197813},"nodejs-express",[197815],{"type":431,"value":197816},"Node.js (Express)",{"type":426,"tag":542,"props":197818,"children":197820},{"code":197819,"language":52115,"meta":417,"className":52113,"style":417},"const express = require(\"express\");\nconst fetch = require(\"node-fetch\");\n\nconst app = express();\napp.use(express.json());\n\nconst RAPIWA_API_KEY = \"YOUR_API_KEY\";\n\napp.post(\"\u002Fwebhook\u002Fwhatsapp\", async (req, res) => {\n  const { event, from, fromName, message } = req.body;\n  \n  \u002F\u002F Always respond 200 immediately\n  res.json({ status: \"ok\" });\n  \n  if (event === \"message.received\") {\n    console.log(`Message from ${fromName} (${from}): ${message}`);\n    \n    \u002F\u002F Send auto-reply\n    await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n      method: \"POST\",\n      headers: {\n        \"Authorization\": `Bearer ${RAPIWA_API_KEY}`,\n        \"Content-Type\": \"application\u002Fjson\"\n      },\n      body: JSON.stringify({\n        number: from,\n        message: `Hi ${fromName}! We received your message and will reply shortly.`\n      })\n    });\n  }\n});\n\napp.listen(3000, () => console.log(\"Webhook server running on port 3000\"));\n",[197821],{"type":426,"tag":549,"props":197822,"children":197823},{"__ignoreMap":417},[197824,197856,197888,197895,197918,197941,197948,197971,197978,198033,198084,198091,198098,198121,198128,198151,198198,198205,198213,198236,198251,198258,198285,198300,198307,198330,198338,198360,198368,198375,198382,198389,198396],{"type":426,"tag":553,"props":197825,"children":197826},{"class":555,"line":556},[197827,197831,197835,197839,197843,197847,197852],{"type":426,"tag":553,"props":197828,"children":197829},{"style":795},[197830],{"type":431,"value":52135},{"type":426,"tag":553,"props":197832,"children":197833},{"style":566},[197834],{"type":431,"value":84474},{"type":426,"tag":553,"props":197836,"children":197837},{"style":795},[197838],{"type":431,"value":8739},{"type":426,"tag":553,"props":197840,"children":197841},{"style":560},[197842],{"type":431,"value":52149},{"type":426,"tag":553,"props":197844,"children":197845},{"style":684},[197846],{"type":431,"value":3275},{"type":426,"tag":553,"props":197848,"children":197849},{"style":572},[197850],{"type":431,"value":197851},"\"express\"",{"type":426,"tag":553,"props":197853,"children":197854},{"style":684},[197855],{"type":431,"value":11379},{"type":426,"tag":553,"props":197857,"children":197858},{"class":555,"line":588},[197859,197863,197867,197871,197875,197879,197884],{"type":426,"tag":553,"props":197860,"children":197861},{"style":795},[197862],{"type":431,"value":52135},{"type":426,"tag":553,"props":197864,"children":197865},{"style":566},[197866],{"type":431,"value":52226},{"type":426,"tag":553,"props":197868,"children":197869},{"style":795},[197870],{"type":431,"value":8739},{"type":426,"tag":553,"props":197872,"children":197873},{"style":560},[197874],{"type":431,"value":52149},{"type":426,"tag":553,"props":197876,"children":197877},{"style":684},[197878],{"type":431,"value":3275},{"type":426,"tag":553,"props":197880,"children":197881},{"style":572},[197882],{"type":431,"value":197883},"\"node-fetch\"",{"type":426,"tag":553,"props":197885,"children":197886},{"style":684},[197887],{"type":431,"value":11379},{"type":426,"tag":553,"props":197889,"children":197890},{"class":555,"line":606},[197891],{"type":426,"tag":553,"props":197892,"children":197893},{"emptyLinePlaceholder":831},[197894],{"type":431,"value":834},{"type":426,"tag":553,"props":197896,"children":197897},{"class":555,"line":623},[197898,197902,197906,197910,197914],{"type":426,"tag":553,"props":197899,"children":197900},{"style":795},[197901],{"type":431,"value":52135},{"type":426,"tag":553,"props":197903,"children":197904},{"style":566},[197905],{"type":431,"value":84545},{"type":426,"tag":553,"props":197907,"children":197908},{"style":795},[197909],{"type":431,"value":8739},{"type":426,"tag":553,"props":197911,"children":197912},{"style":560},[197913],{"type":431,"value":84474},{"type":426,"tag":553,"props":197915,"children":197916},{"style":684},[197917],{"type":431,"value":53227},{"type":426,"tag":553,"props":197919,"children":197920},{"class":555,"line":637},[197921,197925,197929,197933,197937],{"type":426,"tag":553,"props":197922,"children":197923},{"style":684},[197924],{"type":431,"value":84565},{"type":426,"tag":553,"props":197926,"children":197927},{"style":560},[197928],{"type":431,"value":84570},{"type":426,"tag":553,"props":197930,"children":197931},{"style":684},[197932],{"type":431,"value":84575},{"type":426,"tag":553,"props":197934,"children":197935},{"style":560},[197936],{"type":431,"value":673},{"type":426,"tag":553,"props":197938,"children":197939},{"style":684},[197940],{"type":431,"value":61503},{"type":426,"tag":553,"props":197942,"children":197943},{"class":555,"line":646},[197944],{"type":426,"tag":553,"props":197945,"children":197946},{"emptyLinePlaceholder":831},[197947],{"type":431,"value":834},{"type":426,"tag":553,"props":197949,"children":197950},{"class":555,"line":655},[197951,197955,197959,197963,197967],{"type":426,"tag":553,"props":197952,"children":197953},{"style":795},[197954],{"type":431,"value":52135},{"type":426,"tag":553,"props":197956,"children":197957},{"style":566},[197958],{"type":431,"value":52307},{"type":426,"tag":553,"props":197960,"children":197961},{"style":795},[197962],{"type":431,"value":8739},{"type":426,"tag":553,"props":197964,"children":197965},{"style":572},[197966],{"type":431,"value":170073},{"type":426,"tag":553,"props":197968,"children":197969},{"style":684},[197970],{"type":431,"value":52321},{"type":426,"tag":553,"props":197972,"children":197973},{"class":555,"line":1036},[197974],{"type":426,"tag":553,"props":197975,"children":197976},{"emptyLinePlaceholder":831},[197977],{"type":431,"value":834},{"type":426,"tag":553,"props":197979,"children":197980},{"class":555,"line":1054},[197981,197985,197989,197993,197997,198001,198005,198009,198013,198017,198021,198025,198029],{"type":426,"tag":553,"props":197982,"children":197983},{"style":684},[197984],{"type":431,"value":84565},{"type":426,"tag":553,"props":197986,"children":197987},{"style":560},[197988],{"type":431,"value":70594},{"type":426,"tag":553,"props":197990,"children":197991},{"style":684},[197992],{"type":431,"value":3275},{"type":426,"tag":553,"props":197994,"children":197995},{"style":572},[197996],{"type":431,"value":128591},{"type":426,"tag":553,"props":197998,"children":197999},{"style":684},[198000],{"type":431,"value":1907},{"type":426,"tag":553,"props":198002,"children":198003},{"style":795},[198004],{"type":431,"value":52361},{"type":426,"tag":553,"props":198006,"children":198007},{"style":684},[198008],{"type":431,"value":5684},{"type":426,"tag":553,"props":198010,"children":198011},{"style":1684},[198012],{"type":431,"value":84670},{"type":426,"tag":553,"props":198014,"children":198015},{"style":684},[198016],{"type":431,"value":1907},{"type":426,"tag":553,"props":198018,"children":198019},{"style":1684},[198020],{"type":431,"value":84679},{"type":426,"tag":553,"props":198022,"children":198023},{"style":684},[198024],{"type":431,"value":2987},{"type":426,"tag":553,"props":198026,"children":198027},{"style":795},[198028],{"type":431,"value":74581},{"type":426,"tag":553,"props":198030,"children":198031},{"style":684},[198032],{"type":431,"value":5458},{"type":426,"tag":553,"props":198034,"children":198035},{"class":555,"line":1080},[198036,198040,198044,198048,198052,198056,198060,198064,198068,198072,198076,198080],{"type":426,"tag":553,"props":198037,"children":198038},{"style":795},[198039],{"type":431,"value":52540},{"type":426,"tag":553,"props":198041,"children":198042},{"style":684},[198043],{"type":431,"value":52174},{"type":426,"tag":553,"props":198045,"children":198046},{"style":566},[198047],{"type":431,"value":82238},{"type":426,"tag":553,"props":198049,"children":198050},{"style":684},[198051],{"type":431,"value":1907},{"type":426,"tag":553,"props":198053,"children":198054},{"style":566},[198055],{"type":431,"value":811},{"type":426,"tag":553,"props":198057,"children":198058},{"style":684},[198059],{"type":431,"value":1907},{"type":426,"tag":553,"props":198061,"children":198062},{"style":566},[198063],{"type":431,"value":131414},{"type":426,"tag":553,"props":198065,"children":198066},{"style":684},[198067],{"type":431,"value":1907},{"type":426,"tag":553,"props":198069,"children":198070},{"style":566},[198071],{"type":431,"value":2734},{"type":426,"tag":553,"props":198073,"children":198074},{"style":684},[198075],{"type":431,"value":52193},{"type":426,"tag":553,"props":198077,"children":198078},{"style":795},[198079],{"type":431,"value":957},{"type":426,"tag":553,"props":198081,"children":198082},{"style":684},[198083],{"type":431,"value":84783},{"type":426,"tag":553,"props":198085,"children":198086},{"class":555,"line":1097},[198087],{"type":426,"tag":553,"props":198088,"children":198089},{"style":684},[198090],{"type":431,"value":52575},{"type":426,"tag":553,"props":198092,"children":198093},{"class":555,"line":1114},[198094],{"type":426,"tag":553,"props":198095,"children":198096},{"style":1975},[198097],{"type":431,"value":137069},{"type":426,"tag":553,"props":198099,"children":198100},{"class":555,"line":1127},[198101,198105,198109,198113,198117],{"type":426,"tag":553,"props":198102,"children":198103},{"style":684},[198104],{"type":431,"value":84707},{"type":426,"tag":553,"props":198106,"children":198107},{"style":560},[198108],{"type":431,"value":673},{"type":426,"tag":553,"props":198110,"children":198111},{"style":684},[198112],{"type":431,"value":84732},{"type":426,"tag":553,"props":198114,"children":198115},{"style":572},[198116],{"type":431,"value":128689},{"type":426,"tag":553,"props":198118,"children":198119},{"style":684},[198120],{"type":431,"value":52295},{"type":426,"tag":553,"props":198122,"children":198123},{"class":555,"line":1167},[198124],{"type":426,"tag":553,"props":198125,"children":198126},{"style":684},[198127],{"type":431,"value":52575},{"type":426,"tag":553,"props":198129,"children":198130},{"class":555,"line":1184},[198131,198135,198139,198143,198147],{"type":426,"tag":553,"props":198132,"children":198133},{"style":795},[198134],{"type":431,"value":84798},{"type":426,"tag":553,"props":198136,"children":198137},{"style":684},[198138],{"type":431,"value":84803},{"type":426,"tag":553,"props":198140,"children":198141},{"style":795},[198142],{"type":431,"value":55042},{"type":426,"tag":553,"props":198144,"children":198145},{"style":572},[198146],{"type":431,"value":75756},{"type":426,"tag":553,"props":198148,"children":198149},{"style":684},[198150],{"type":431,"value":52385},{"type":426,"tag":553,"props":198152,"children":198153},{"class":555,"line":1192},[198154,198158,198162,198166,198170,198174,198178,198182,198186,198190,198194],{"type":426,"tag":553,"props":198155,"children":198156},{"style":684},[198157],{"type":431,"value":85587},{"type":426,"tag":553,"props":198159,"children":198160},{"style":560},[198161],{"type":431,"value":53719},{"type":426,"tag":553,"props":198163,"children":198164},{"style":684},[198165],{"type":431,"value":3275},{"type":426,"tag":553,"props":198167,"children":198168},{"style":572},[198169],{"type":431,"value":137215},{"type":426,"tag":553,"props":198171,"children":198172},{"style":684},[198173],{"type":431,"value":131414},{"type":426,"tag":553,"props":198175,"children":198176},{"style":572},[198177],{"type":431,"value":105613},{"type":426,"tag":553,"props":198179,"children":198180},{"style":684},[198181],{"type":431,"value":811},{"type":426,"tag":553,"props":198183,"children":198184},{"style":572},[198185],{"type":431,"value":105622},{"type":426,"tag":553,"props":198187,"children":198188},{"style":684},[198189],{"type":431,"value":2734},{"type":426,"tag":553,"props":198191,"children":198192},{"style":572},[198193],{"type":431,"value":52718},{"type":426,"tag":553,"props":198195,"children":198196},{"style":684},[198197],{"type":431,"value":11379},{"type":426,"tag":553,"props":198199,"children":198200},{"class":555,"line":1210},[198201],{"type":426,"tag":553,"props":198202,"children":198203},{"style":684},[198204],{"type":431,"value":917},{"type":426,"tag":553,"props":198206,"children":198207},{"class":555,"line":1253},[198208],{"type":426,"tag":553,"props":198209,"children":198210},{"style":1975},[198211],{"type":431,"value":198212},"    \u002F\u002F Send auto-reply\n",{"type":426,"tag":553,"props":198214,"children":198215},{"class":555,"line":1302},[198216,198220,198224,198228,198232],{"type":426,"tag":553,"props":198217,"children":198218},{"style":795},[198219],{"type":431,"value":84941},{"type":426,"tag":553,"props":198221,"children":198222},{"style":560},[198223],{"type":431,"value":52226},{"type":426,"tag":553,"props":198225,"children":198226},{"style":684},[198227],{"type":431,"value":3275},{"type":426,"tag":553,"props":198229,"children":198230},{"style":572},[198231],{"type":431,"value":60449},{"type":426,"tag":553,"props":198233,"children":198234},{"style":684},[198235],{"type":431,"value":53088},{"type":426,"tag":553,"props":198237,"children":198238},{"class":555,"line":1374},[198239,198243,198247],{"type":426,"tag":553,"props":198240,"children":198241},{"style":684},[198242],{"type":431,"value":85448},{"type":426,"tag":553,"props":198244,"children":198245},{"style":572},[198246],{"type":431,"value":60428},{"type":426,"tag":553,"props":198248,"children":198249},{"style":684},[198250],{"type":431,"value":710},{"type":426,"tag":553,"props":198252,"children":198253},{"class":555,"line":1414},[198254],{"type":426,"tag":553,"props":198255,"children":198256},{"style":684},[198257],{"type":431,"value":85464},{"type":426,"tag":553,"props":198259,"children":198260},{"class":555,"line":1479},[198261,198265,198269,198273,198277,198281],{"type":426,"tag":553,"props":198262,"children":198263},{"style":572},[198264],{"type":431,"value":113029},{"type":426,"tag":553,"props":198266,"children":198267},{"style":684},[198268],{"type":431,"value":700},{"type":426,"tag":553,"props":198270,"children":198271},{"style":572},[198272],{"type":431,"value":53129},{"type":426,"tag":553,"props":198274,"children":198275},{"style":566},[198276],{"type":431,"value":7156},{"type":426,"tag":553,"props":198278,"children":198279},{"style":572},[198280],{"type":431,"value":52718},{"type":426,"tag":553,"props":198282,"children":198283},{"style":684},[198284],{"type":431,"value":710},{"type":426,"tag":553,"props":198286,"children":198287},{"class":555,"line":1517},[198288,198292,198296],{"type":426,"tag":553,"props":198289,"children":198290},{"style":572},[198291],{"type":431,"value":113070},{"type":426,"tag":553,"props":198293,"children":198294},{"style":684},[198295],{"type":431,"value":700},{"type":426,"tag":553,"props":198297,"children":198298},{"style":572},[198299],{"type":431,"value":113079},{"type":426,"tag":553,"props":198301,"children":198302},{"class":555,"line":1560},[198303],{"type":426,"tag":553,"props":198304,"children":198305},{"style":684},[198306],{"type":431,"value":85516},{"type":426,"tag":553,"props":198308,"children":198309},{"class":555,"line":1598},[198310,198314,198318,198322,198326],{"type":426,"tag":553,"props":198311,"children":198312},{"style":684},[198313],{"type":431,"value":85524},{"type":426,"tag":553,"props":198315,"children":198316},{"style":566},[198317],{"type":431,"value":53178},{"type":426,"tag":553,"props":198319,"children":198320},{"style":684},[198321],{"type":431,"value":6789},{"type":426,"tag":553,"props":198323,"children":198324},{"style":560},[198325],{"type":431,"value":53187},{"type":426,"tag":553,"props":198327,"children":198328},{"style":684},[198329],{"type":431,"value":52612},{"type":426,"tag":553,"props":198331,"children":198332},{"class":555,"line":1636},[198333],{"type":426,"tag":553,"props":198334,"children":198335},{"style":684},[198336],{"type":431,"value":198337},"        number: from,\n",{"type":426,"tag":553,"props":198339,"children":198340},{"class":555,"line":1645},[198341,198346,198351,198355],{"type":426,"tag":553,"props":198342,"children":198343},{"style":684},[198344],{"type":431,"value":198345},"        message: ",{"type":426,"tag":553,"props":198347,"children":198348},{"style":572},[198349],{"type":431,"value":198350},"`Hi ${",{"type":426,"tag":553,"props":198352,"children":198353},{"style":684},[198354],{"type":431,"value":131414},{"type":426,"tag":553,"props":198356,"children":198357},{"style":572},[198358],{"type":431,"value":198359},"}! We received your message and will reply shortly.`\n",{"type":426,"tag":553,"props":198361,"children":198362},{"class":555,"line":1653},[198363],{"type":426,"tag":553,"props":198364,"children":198365},{"style":684},[198366],{"type":431,"value":198367},"      })\n",{"type":426,"tag":553,"props":198369,"children":198370},{"class":555,"line":1667},[198371],{"type":426,"tag":553,"props":198372,"children":198373},{"style":684},[198374],{"type":431,"value":85548},{"type":426,"tag":553,"props":198376,"children":198377},{"class":555,"line":1680},[198378],{"type":426,"tag":553,"props":198379,"children":198380},{"style":684},[198381],{"type":431,"value":60547},{"type":426,"tag":553,"props":198383,"children":198384},{"class":555,"line":1740},[198385],{"type":426,"tag":553,"props":198386,"children":198387},{"style":684},[198388],{"type":431,"value":55916},{"type":426,"tag":553,"props":198390,"children":198391},{"class":555,"line":1787},[198392],{"type":426,"tag":553,"props":198393,"children":198394},{"emptyLinePlaceholder":831},[198395],{"type":431,"value":834},{"type":426,"tag":553,"props":198397,"children":198398},{"class":555,"line":1796},[198399,198403,198407,198411,198415,198419,198423,198427,198431,198435,198440],{"type":426,"tag":553,"props":198400,"children":198401},{"style":684},[198402],{"type":431,"value":84565},{"type":426,"tag":553,"props":198404,"children":198405},{"style":560},[198406],{"type":431,"value":85688},{"type":426,"tag":553,"props":198408,"children":198409},{"style":684},[198410],{"type":431,"value":3275},{"type":426,"tag":553,"props":198412,"children":198413},{"style":566},[198414],{"type":431,"value":65954},{"type":426,"tag":553,"props":198416,"children":198417},{"style":684},[198418],{"type":431,"value":85701},{"type":426,"tag":553,"props":198420,"children":198421},{"style":795},[198422],{"type":431,"value":74581},{"type":426,"tag":553,"props":198424,"children":198425},{"style":684},[198426],{"type":431,"value":53714},{"type":426,"tag":553,"props":198428,"children":198429},{"style":560},[198430],{"type":431,"value":53719},{"type":426,"tag":553,"props":198432,"children":198433},{"style":684},[198434],{"type":431,"value":3275},{"type":426,"tag":553,"props":198436,"children":198437},{"style":572},[198438],{"type":431,"value":198439},"\"Webhook server running on port 3000\"",{"type":426,"tag":553,"props":198441,"children":198442},{"style":684},[198443],{"type":431,"value":61669},{"type":426,"tag":542,"props":198445,"children":198447},{"code":198446,"language":545,"meta":417,"className":546,"style":417},"npm install express node-fetch\nnode server.js\n",[198448],{"type":426,"tag":549,"props":198449,"children":198450},{"__ignoreMap":417},[198451,198471],{"type":426,"tag":553,"props":198452,"children":198453},{"class":555,"line":556},[198454,198458,198462,198466],{"type":426,"tag":553,"props":198455,"children":198456},{"style":560},[198457],{"type":431,"value":52091},{"type":426,"tag":553,"props":198459,"children":198460},{"style":572},[198461],{"type":431,"value":48876},{"type":426,"tag":553,"props":198463,"children":198464},{"style":572},[198465],{"type":431,"value":84474},{"type":426,"tag":553,"props":198467,"children":198468},{"style":572},[198469],{"type":431,"value":198470}," node-fetch\n",{"type":426,"tag":553,"props":198472,"children":198473},{"class":555,"line":588},[198474,198479],{"type":426,"tag":553,"props":198475,"children":198476},{"style":560},[198477],{"type":431,"value":198478},"node",{"type":426,"tag":553,"props":198480,"children":198481},{"style":572},[198482],{"type":431,"value":198483}," server.js\n",{"type":426,"tag":515,"props":198485,"children":198486},{"id":79950},[198487],{"type":431,"value":123546},{"type":426,"tag":542,"props":198489,"children":198491},{"code":198490,"language":79950,"meta":417,"className":79948,"style":417},"\u003C?php\nrequire 'vendor\u002Fautoload.php';\n\nuse GuzzleHttp\\Client;\n\n$data = json_decode(file_get_contents('php:\u002F\u002Finput'), true);\n$event = $data['event'] ?? '';\n\nif ($event === 'message.received') {\n    $sender  = $data['from'];\n    $message = $data['message'] ?? '';\n    $name    = $data['fromName'] ?? 'there';\n    \n    error_log(\"Message from $name ($sender): $message\");\n    \n    \u002F\u002F Send auto-reply\n    $client = new Client();\n    $client->post('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', [\n        'headers' => ['Authorization' => 'Bearer YOUR_API_KEY'],\n        'json'    => [\n            'number'  => $sender,\n            'message' => \"Hi $name! We received your message. Reply coming soon.\"\n        ]\n    ]);\n}\n\nhttp_response_code(200);\necho json_encode(['status' => 'ok']);\n",[198492],{"type":426,"tag":549,"props":198493,"children":198494},{"__ignoreMap":417},[198495,198506,198521,198528,198543,198550,198593,198628,198635,198658,198682,198717,198755,198762,198807,198814,198821,198845,198873,198905,198921,198937,198962,198969,198976,198983,198990,199009],{"type":426,"tag":553,"props":198496,"children":198497},{"class":555,"line":556},[198498,198502],{"type":426,"tag":553,"props":198499,"children":198500},{"style":795},[198501],{"type":431,"value":86379},{"type":426,"tag":553,"props":198503,"children":198504},{"style":566},[198505],{"type":431,"value":86384},{"type":426,"tag":553,"props":198507,"children":198508},{"class":555,"line":588},[198509,198513,198517],{"type":426,"tag":553,"props":198510,"children":198511},{"style":795},[198512],{"type":431,"value":87452},{"type":426,"tag":553,"props":198514,"children":198515},{"style":572},[198516],{"type":431,"value":87457},{"type":426,"tag":553,"props":198518,"children":198519},{"style":684},[198520],{"type":431,"value":52321},{"type":426,"tag":553,"props":198522,"children":198523},{"class":555,"line":606},[198524],{"type":426,"tag":553,"props":198525,"children":198526},{"emptyLinePlaceholder":831},[198527],{"type":431,"value":834},{"type":426,"tag":553,"props":198529,"children":198530},{"class":555,"line":623},[198531,198535,198539],{"type":426,"tag":553,"props":198532,"children":198533},{"style":795},[198534],{"type":431,"value":84570},{"type":426,"tag":553,"props":198536,"children":198537},{"style":566},[198538],{"type":431,"value":87480},{"type":426,"tag":553,"props":198540,"children":198541},{"style":684},[198542],{"type":431,"value":52321},{"type":426,"tag":553,"props":198544,"children":198545},{"class":555,"line":637},[198546],{"type":426,"tag":553,"props":198547,"children":198548},{"emptyLinePlaceholder":831},[198549],{"type":431,"value":834},{"type":426,"tag":553,"props":198551,"children":198552},{"class":555,"line":646},[198553,198557,198561,198565,198569,198573,198577,198581,198585,198589],{"type":426,"tag":553,"props":198554,"children":198555},{"style":684},[198556],{"type":431,"value":107880},{"type":426,"tag":553,"props":198558,"children":198559},{"style":795},[198560],{"type":431,"value":957},{"type":426,"tag":553,"props":198562,"children":198563},{"style":566},[198564],{"type":431,"value":80280},{"type":426,"tag":553,"props":198566,"children":198567},{"style":684},[198568],{"type":431,"value":3275},{"type":426,"tag":553,"props":198570,"children":198571},{"style":566},[198572],{"type":431,"value":90759},{"type":426,"tag":553,"props":198574,"children":198575},{"style":684},[198576],{"type":431,"value":3275},{"type":426,"tag":553,"props":198578,"children":198579},{"style":572},[198580],{"type":431,"value":107662},{"type":426,"tag":553,"props":198582,"children":198583},{"style":684},[198584],{"type":431,"value":49705},{"type":426,"tag":553,"props":198586,"children":198587},{"style":566},[198588],{"type":431,"value":48523},{"type":426,"tag":553,"props":198590,"children":198591},{"style":684},[198592],{"type":431,"value":11379},{"type":426,"tag":553,"props":198594,"children":198595},{"class":555,"line":655},[198596,198600,198604,198608,198612,198616,198620,198624],{"type":426,"tag":553,"props":198597,"children":198598},{"style":684},[198599],{"type":431,"value":107855},{"type":426,"tag":553,"props":198601,"children":198602},{"style":795},[198603],{"type":431,"value":957},{"type":426,"tag":553,"props":198605,"children":198606},{"style":684},[198607],{"type":431,"value":108253},{"type":426,"tag":553,"props":198609,"children":198610},{"style":572},[198611],{"type":431,"value":8176},{"type":426,"tag":553,"props":198613,"children":198614},{"style":684},[198615],{"type":431,"value":2229},{"type":426,"tag":553,"props":198617,"children":198618},{"style":795},[198619],{"type":431,"value":74011},{"type":426,"tag":553,"props":198621,"children":198622},{"style":572},[198623],{"type":431,"value":1024},{"type":426,"tag":553,"props":198625,"children":198626},{"style":684},[198627],{"type":431,"value":52321},{"type":426,"tag":553,"props":198629,"children":198630},{"class":555,"line":1036},[198631],{"type":426,"tag":553,"props":198632,"children":198633},{"emptyLinePlaceholder":831},[198634],{"type":431,"value":834},{"type":426,"tag":553,"props":198636,"children":198637},{"class":555,"line":1054},[198638,198642,198646,198650,198654],{"type":426,"tag":553,"props":198639,"children":198640},{"style":795},[198641],{"type":431,"value":7510},{"type":426,"tag":553,"props":198643,"children":198644},{"style":684},[198645],{"type":431,"value":95222},{"type":426,"tag":553,"props":198647,"children":198648},{"style":795},[198649],{"type":431,"value":55042},{"type":426,"tag":553,"props":198651,"children":198652},{"style":572},[198653],{"type":431,"value":8189},{"type":426,"tag":553,"props":198655,"children":198656},{"style":684},[198657],{"type":431,"value":52385},{"type":426,"tag":553,"props":198659,"children":198660},{"class":555,"line":1080},[198661,198666,198670,198674,198678],{"type":426,"tag":553,"props":198662,"children":198663},{"style":684},[198664],{"type":431,"value":198665},"    $sender  ",{"type":426,"tag":553,"props":198667,"children":198668},{"style":795},[198669],{"type":431,"value":957},{"type":426,"tag":553,"props":198671,"children":198672},{"style":684},[198673],{"type":431,"value":108253},{"type":426,"tag":553,"props":198675,"children":198676},{"style":572},[198677],{"type":431,"value":14329},{"type":426,"tag":553,"props":198679,"children":198680},{"style":684},[198681],{"type":431,"value":88941},{"type":426,"tag":553,"props":198683,"children":198684},{"class":555,"line":1097},[198685,198689,198693,198697,198701,198705,198709,198713],{"type":426,"tag":553,"props":198686,"children":198687},{"style":684},[198688],{"type":431,"value":108269},{"type":426,"tag":553,"props":198690,"children":198691},{"style":795},[198692],{"type":431,"value":957},{"type":426,"tag":553,"props":198694,"children":198695},{"style":684},[198696],{"type":431,"value":108253},{"type":426,"tag":553,"props":198698,"children":198699},{"style":572},[198700],{"type":431,"value":1779},{"type":426,"tag":553,"props":198702,"children":198703},{"style":684},[198704],{"type":431,"value":2229},{"type":426,"tag":553,"props":198706,"children":198707},{"style":795},[198708],{"type":431,"value":74011},{"type":426,"tag":553,"props":198710,"children":198711},{"style":572},[198712],{"type":431,"value":1024},{"type":426,"tag":553,"props":198714,"children":198715},{"style":684},[198716],{"type":431,"value":52321},{"type":426,"tag":553,"props":198718,"children":198719},{"class":555,"line":1114},[198720,198725,198729,198733,198738,198742,198746,198751],{"type":426,"tag":553,"props":198721,"children":198722},{"style":684},[198723],{"type":431,"value":198724},"    $name    ",{"type":426,"tag":553,"props":198726,"children":198727},{"style":795},[198728],{"type":431,"value":957},{"type":426,"tag":553,"props":198730,"children":198731},{"style":684},[198732],{"type":431,"value":108253},{"type":426,"tag":553,"props":198734,"children":198735},{"style":572},[198736],{"type":431,"value":198737},"'fromName'",{"type":426,"tag":553,"props":198739,"children":198740},{"style":684},[198741],{"type":431,"value":2229},{"type":426,"tag":553,"props":198743,"children":198744},{"style":795},[198745],{"type":431,"value":74011},{"type":426,"tag":553,"props":198747,"children":198748},{"style":572},[198749],{"type":431,"value":198750}," 'there'",{"type":426,"tag":553,"props":198752,"children":198753},{"style":684},[198754],{"type":431,"value":52321},{"type":426,"tag":553,"props":198756,"children":198757},{"class":555,"line":1127},[198758],{"type":426,"tag":553,"props":198759,"children":198760},{"style":684},[198761],{"type":431,"value":917},{"type":426,"tag":553,"props":198763,"children":198764},{"class":555,"line":1167},[198765,198769,198773,198777,198781,198785,198790,198794,198799,198803],{"type":426,"tag":553,"props":198766,"children":198767},{"style":566},[198768],{"type":431,"value":109282},{"type":426,"tag":553,"props":198770,"children":198771},{"style":684},[198772],{"type":431,"value":3275},{"type":426,"tag":553,"props":198774,"children":198775},{"style":572},[198776],{"type":431,"value":65276},{"type":426,"tag":553,"props":198778,"children":198779},{"style":684},[198780],{"type":431,"value":108579},{"type":426,"tag":553,"props":198782,"children":198783},{"style":572},[198784],{"type":431,"value":5684},{"type":426,"tag":553,"props":198786,"children":198787},{"style":684},[198788],{"type":431,"value":198789},"$sender",{"type":426,"tag":553,"props":198791,"children":198792},{"style":572},[198793],{"type":431,"value":65309},{"type":426,"tag":553,"props":198795,"children":198796},{"style":684},[198797],{"type":431,"value":198798},"$message",{"type":426,"tag":553,"props":198800,"children":198801},{"style":572},[198802],{"type":431,"value":1527},{"type":426,"tag":553,"props":198804,"children":198805},{"style":684},[198806],{"type":431,"value":11379},{"type":426,"tag":553,"props":198808,"children":198809},{"class":555,"line":1184},[198810],{"type":426,"tag":553,"props":198811,"children":198812},{"style":684},[198813],{"type":431,"value":917},{"type":426,"tag":553,"props":198815,"children":198816},{"class":555,"line":1192},[198817],{"type":426,"tag":553,"props":198818,"children":198819},{"style":1975},[198820],{"type":431,"value":198212},{"type":426,"tag":553,"props":198822,"children":198823},{"class":555,"line":1210},[198824,198829,198833,198837,198841],{"type":426,"tag":553,"props":198825,"children":198826},{"style":684},[198827],{"type":431,"value":198828},"    $client ",{"type":426,"tag":553,"props":198830,"children":198831},{"style":795},[198832],{"type":431,"value":957},{"type":426,"tag":553,"props":198834,"children":198835},{"style":795},[198836],{"type":431,"value":52275},{"type":426,"tag":553,"props":198838,"children":198839},{"style":566},[198840],{"type":431,"value":87553},{"type":426,"tag":553,"props":198842,"children":198843},{"style":684},[198844],{"type":431,"value":53227},{"type":426,"tag":553,"props":198846,"children":198847},{"class":555,"line":1253},[198848,198853,198857,198861,198865,198869],{"type":426,"tag":553,"props":198849,"children":198850},{"style":684},[198851],{"type":431,"value":198852},"    $client",{"type":426,"tag":553,"props":198854,"children":198855},{"style":795},[198856],{"type":431,"value":70711},{"type":426,"tag":553,"props":198858,"children":198859},{"style":560},[198860],{"type":431,"value":70594},{"type":426,"tag":553,"props":198862,"children":198863},{"style":684},[198864],{"type":431,"value":3275},{"type":426,"tag":553,"props":198866,"children":198867},{"style":572},[198868],{"type":431,"value":55802},{"type":426,"tag":553,"props":198870,"children":198871},{"style":684},[198872],{"type":431,"value":87886},{"type":426,"tag":553,"props":198874,"children":198875},{"class":555,"line":1302},[198876,198880,198884,198888,198892,198896,198901],{"type":426,"tag":553,"props":198877,"children":198878},{"style":572},[198879],{"type":431,"value":89873},{"type":426,"tag":553,"props":198881,"children":198882},{"style":795},[198883],{"type":431,"value":53709},{"type":426,"tag":553,"props":198885,"children":198886},{"style":684},[198887],{"type":431,"value":1897},{"type":426,"tag":553,"props":198889,"children":198890},{"style":572},[198891],{"type":431,"value":1700},{"type":426,"tag":553,"props":198893,"children":198894},{"style":795},[198895],{"type":431,"value":53709},{"type":426,"tag":553,"props":198897,"children":198898},{"style":572},[198899],{"type":431,"value":198900}," 'Bearer YOUR_API_KEY'",{"type":426,"tag":553,"props":198902,"children":198903},{"style":684},[198904],{"type":431,"value":12804},{"type":426,"tag":553,"props":198906,"children":198907},{"class":555,"line":1374},[198908,198913,198917],{"type":426,"tag":553,"props":198909,"children":198910},{"style":572},[198911],{"type":431,"value":198912},"        'json'",{"type":426,"tag":553,"props":198914,"children":198915},{"style":795},[198916],{"type":431,"value":133080},{"type":426,"tag":553,"props":198918,"children":198919},{"style":684},[198920],{"type":431,"value":80133},{"type":426,"tag":553,"props":198922,"children":198923},{"class":555,"line":1414},[198924,198928,198932],{"type":426,"tag":553,"props":198925,"children":198926},{"style":572},[198927],{"type":431,"value":15045},{"type":426,"tag":553,"props":198929,"children":198930},{"style":795},[198931],{"type":431,"value":86642},{"type":426,"tag":553,"props":198933,"children":198934},{"style":684},[198935],{"type":431,"value":198936}," $sender,\n",{"type":426,"tag":553,"props":198938,"children":198939},{"class":555,"line":1479},[198940,198944,198948,198953,198957],{"type":426,"tag":553,"props":198941,"children":198942},{"style":572},[198943],{"type":431,"value":15058},{"type":426,"tag":553,"props":198945,"children":198946},{"style":795},[198947],{"type":431,"value":53709},{"type":426,"tag":553,"props":198949,"children":198950},{"style":572},[198951],{"type":431,"value":198952}," \"Hi ",{"type":426,"tag":553,"props":198954,"children":198955},{"style":684},[198956],{"type":431,"value":108579},{"type":426,"tag":553,"props":198958,"children":198959},{"style":572},[198960],{"type":431,"value":198961},"! We received your message. Reply coming soon.\"\n",{"type":426,"tag":553,"props":198963,"children":198964},{"class":555,"line":1517},[198965],{"type":426,"tag":553,"props":198966,"children":198967},{"style":684},[198968],{"type":431,"value":17195},{"type":426,"tag":553,"props":198970,"children":198971},{"class":555,"line":1560},[198972],{"type":426,"tag":553,"props":198973,"children":198974},{"style":684},[198975],{"type":431,"value":80263},{"type":426,"tag":553,"props":198977,"children":198978},{"class":555,"line":1598},[198979],{"type":426,"tag":553,"props":198980,"children":198981},{"style":684},[198982],{"type":431,"value":756},{"type":426,"tag":553,"props":198984,"children":198985},{"class":555,"line":1636},[198986],{"type":426,"tag":553,"props":198987,"children":198988},{"emptyLinePlaceholder":831},[198989],{"type":431,"value":834},{"type":426,"tag":553,"props":198991,"children":198992},{"class":555,"line":1645},[198993,198997,199001,199005],{"type":426,"tag":553,"props":198994,"children":198995},{"style":566},[198996],{"type":431,"value":108137},{"type":426,"tag":553,"props":198998,"children":198999},{"style":684},[199000],{"type":431,"value":3275},{"type":426,"tag":553,"props":199002,"children":199003},{"style":566},[199004],{"type":431,"value":10114},{"type":426,"tag":553,"props":199006,"children":199007},{"style":684},[199008],{"type":431,"value":11379},{"type":426,"tag":553,"props":199010,"children":199011},{"class":555,"line":1653},[199012,199016,199020,199024,199028,199032,199036],{"type":426,"tag":553,"props":199013,"children":199014},{"style":566},[199015],{"type":431,"value":88705},{"type":426,"tag":553,"props":199017,"children":199018},{"style":566},[199019],{"type":431,"value":80178},{"type":426,"tag":553,"props":199021,"children":199022},{"style":684},[199023],{"type":431,"value":74656},{"type":426,"tag":553,"props":199025,"children":199026},{"style":572},[199027],{"type":431,"value":2982},{"type":426,"tag":553,"props":199029,"children":199030},{"style":795},[199031],{"type":431,"value":53709},{"type":426,"tag":553,"props":199033,"children":199034},{"style":572},[199035],{"type":431,"value":95309},{"type":426,"tag":553,"props":199037,"children":199038},{"style":684},[199039],{"type":431,"value":95072},{"type":426,"tag":434,"props":199041,"children":199043},{"id":199042},"step-2-expose-your-webhook-url",[199044],{"type":431,"value":199045},"Step 2: Expose Your Webhook URL",{"type":426,"tag":427,"props":199047,"children":199048},{},[199049,199054],{"type":426,"tag":446,"props":199050,"children":199051},{},[199052],{"type":431,"value":199053},"For local development",{"type":431,"value":199055},", use ngrok to create a public URL:",{"type":426,"tag":542,"props":199057,"children":199059},{"code":199058,"language":545,"meta":417,"className":546,"style":417},"# Install ngrok: https:\u002F\u002Fngrok.com\u002Fdownload\nngrok http 5000\n# Output: https:\u002F\u002Fabc123.ngrok.io → http:\u002F\u002Flocalhost:5000\n",[199060],{"type":426,"tag":549,"props":199061,"children":199062},{"__ignoreMap":417},[199063,199071,199086],{"type":426,"tag":553,"props":199064,"children":199065},{"class":555,"line":556},[199066],{"type":426,"tag":553,"props":199067,"children":199068},{"style":1975},[199069],{"type":431,"value":199070},"# Install ngrok: https:\u002F\u002Fngrok.com\u002Fdownload\n",{"type":426,"tag":553,"props":199072,"children":199073},{"class":555,"line":588},[199074,199078,199082],{"type":426,"tag":553,"props":199075,"children":199076},{"style":560},[199077],{"type":431,"value":85825},{"type":426,"tag":553,"props":199079,"children":199080},{"style":572},[199081],{"type":431,"value":85830},{"type":426,"tag":553,"props":199083,"children":199084},{"style":566},[199085],{"type":431,"value":128998},{"type":426,"tag":553,"props":199087,"children":199088},{"class":555,"line":606},[199089],{"type":426,"tag":553,"props":199090,"children":199091},{"style":1975},[199092],{"type":431,"value":129006},{"type":426,"tag":427,"props":199094,"children":199095},{},[199096,199098],{"type":431,"value":199097},"Your webhook URL is: ",{"type":426,"tag":549,"props":199099,"children":199101},{"className":199100},[],[199102],{"type":431,"value":129017},{"type":426,"tag":427,"props":199104,"children":199105},{},[199106,199111],{"type":426,"tag":446,"props":199107,"children":199108},{},[199109],{"type":431,"value":199110},"For production",{"type":431,"value":199112},", deploy to any cloud server and use your domain:",{"type":426,"tag":454,"props":199114,"children":199115},{},[199116,199125],{"type":426,"tag":458,"props":199117,"children":199118},{},[199119],{"type":426,"tag":549,"props":199120,"children":199122},{"className":199121},[],[199123],{"type":431,"value":199124},"https:\u002F\u002Fyourapp.com\u002Fwebhook\u002Fwhatsapp",{"type":426,"tag":458,"props":199126,"children":199127},{},[199128],{"type":431,"value":199129},"Make sure the URL is accessible from the internet (not behind a firewall)",{"type":426,"tag":434,"props":199131,"children":199133},{"id":199132},"step-3-register-your-webhook-in-rapiwa-dashboard",[199134],{"type":431,"value":199135},"Step 3: Register Your Webhook in Rapiwa Dashboard",{"type":426,"tag":6331,"props":199137,"children":199138},{},[199139,199148,199158,199166,199177,199182],{"type":426,"tag":458,"props":199140,"children":199141},{},[199142,199143],{"type":431,"value":77455},{"type":426,"tag":3819,"props":199144,"children":199146},{"href":10643,"rel":199145},[3823],[199147],{"type":431,"value":71426},{"type":426,"tag":458,"props":199149,"children":199150},{},[199151,199152,199156],{"type":431,"value":47846},{"type":426,"tag":446,"props":199153,"children":199154},{},[199155],{"type":431,"value":102926},{"type":431,"value":199157}," in the sidebar",{"type":426,"tag":458,"props":199159,"children":199160},{},[199161,199162],{"type":431,"value":47857},{"type":426,"tag":446,"props":199163,"children":199164},{},[199165],{"type":431,"value":85764},{"type":426,"tag":458,"props":199167,"children":199168},{},[199169,199171,199176],{"type":431,"value":199170},"Enter your webhook URL (e.g. ",{"type":426,"tag":549,"props":199172,"children":199174},{"className":199173},[],[199175],{"type":431,"value":199124},{"type":431,"value":5736},{"type":426,"tag":458,"props":199178,"children":199179},{},[199180],{"type":431,"value":199181},"Select which events to receive (or select All)",{"type":426,"tag":458,"props":199183,"children":199184},{},[199185,199186],{"type":431,"value":47857},{"type":426,"tag":446,"props":199187,"children":199188},{},[199189],{"type":431,"value":66022},{"type":426,"tag":427,"props":199191,"children":199192},{},[199193],{"type":431,"value":199194},"Rapiwa will immediately start sending event notifications to your URL.",{"type":426,"tag":434,"props":199196,"children":199198},{"id":199197},"step-4-test-your-webhook",[199199],{"type":431,"value":199200},"Step 4: Test Your Webhook",{"type":426,"tag":6331,"props":199202,"children":199203},{},[199204,199209,199221],{"type":426,"tag":458,"props":199205,"children":199206},{},[199207],{"type":431,"value":199208},"Send a WhatsApp message to your connected Rapiwa number from another phone",{"type":426,"tag":458,"props":199210,"children":199211},{},[199212,199214,199219],{"type":431,"value":199213},"Check your server logs — you should see the ",{"type":426,"tag":549,"props":199215,"children":199217},{"className":199216},[],[199218],{"type":431,"value":7956},{"type":431,"value":199220}," event",{"type":426,"tag":458,"props":199222,"children":199223},{},[199224],{"type":431,"value":199225},"If using the auto-reply example, the sender should receive an immediate reply",{"type":426,"tag":427,"props":199227,"children":199228},{},[199229,199234],{"type":426,"tag":446,"props":199230,"children":199231},{},[199232],{"type":431,"value":199233},"Test with cURL",{"type":431,"value":199235}," (simulate a webhook event for development):",{"type":426,"tag":542,"props":199237,"children":199239},{"code":199238,"language":545,"meta":417,"className":546,"style":417},"curl -X POST http:\u002F\u002Flocalhost:5000\u002Fwebhook\u002Fwhatsapp \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"event\": \"message.received\",\n    \"from\": \"8801234567890\",\n    \"fromName\": \"Test User\",\n    \"message\": \"Hello, this is a test\",\n    \"messageId\": \"test_001\",\n    \"timestamp\": \"2026-04-11T10:00:00Z\"\n  }'\n",[199240],{"type":426,"tag":549,"props":199241,"children":199242},{"__ignoreMap":417},[199243,199267,199282,199293,199301,199309,199317,199325,199333,199341],{"type":426,"tag":553,"props":199244,"children":199245},{"class":555,"line":556},[199246,199250,199254,199258,199263],{"type":426,"tag":553,"props":199247,"children":199248},{"style":560},[199249],{"type":431,"value":563},{"type":426,"tag":553,"props":199251,"children":199252},{"style":566},[199253],{"type":431,"value":569},{"type":426,"tag":553,"props":199255,"children":199256},{"style":572},[199257],{"type":431,"value":575},{"type":426,"tag":553,"props":199259,"children":199260},{"style":572},[199261],{"type":431,"value":199262}," http:\u002F\u002Flocalhost:5000\u002Fwebhook\u002Fwhatsapp",{"type":426,"tag":553,"props":199264,"children":199265},{"style":566},[199266],{"type":431,"value":585},{"type":426,"tag":553,"props":199268,"children":199269},{"class":555,"line":588},[199270,199274,199278],{"type":426,"tag":553,"props":199271,"children":199272},{"style":566},[199273],{"type":431,"value":594},{"type":426,"tag":553,"props":199275,"children":199276},{"style":572},[199277],{"type":431,"value":616},{"type":426,"tag":553,"props":199279,"children":199280},{"style":566},[199281],{"type":431,"value":585},{"type":426,"tag":553,"props":199283,"children":199284},{"class":555,"line":606},[199285,199289],{"type":426,"tag":553,"props":199286,"children":199287},{"style":566},[199288],{"type":431,"value":629},{"type":426,"tag":553,"props":199290,"children":199291},{"style":572},[199292],{"type":431,"value":634},{"type":426,"tag":553,"props":199294,"children":199295},{"class":555,"line":623},[199296],{"type":426,"tag":553,"props":199297,"children":199298},{"style":572},[199299],{"type":431,"value":199300},"    \"event\": \"message.received\",\n",{"type":426,"tag":553,"props":199302,"children":199303},{"class":555,"line":637},[199304],{"type":426,"tag":553,"props":199305,"children":199306},{"style":572},[199307],{"type":431,"value":199308},"    \"from\": \"8801234567890\",\n",{"type":426,"tag":553,"props":199310,"children":199311},{"class":555,"line":646},[199312],{"type":426,"tag":553,"props":199313,"children":199314},{"style":572},[199315],{"type":431,"value":199316},"    \"fromName\": \"Test User\",\n",{"type":426,"tag":553,"props":199318,"children":199319},{"class":555,"line":655},[199320],{"type":426,"tag":553,"props":199321,"children":199322},{"style":572},[199323],{"type":431,"value":199324},"    \"message\": \"Hello, this is a test\",\n",{"type":426,"tag":553,"props":199326,"children":199327},{"class":555,"line":1036},[199328],{"type":426,"tag":553,"props":199329,"children":199330},{"style":572},[199331],{"type":431,"value":199332},"    \"messageId\": \"test_001\",\n",{"type":426,"tag":553,"props":199334,"children":199335},{"class":555,"line":1054},[199336],{"type":426,"tag":553,"props":199337,"children":199338},{"style":572},[199339],{"type":431,"value":199340},"    \"timestamp\": \"2026-04-11T10:00:00Z\"\n",{"type":426,"tag":553,"props":199342,"children":199343},{"class":555,"line":1080},[199344],{"type":426,"tag":553,"props":199345,"children":199346},{"style":572},[199347],{"type":431,"value":661},{"type":426,"tag":434,"props":199349,"children":199351},{"id":199350},"building-a-keyword-based-auto-reply-bot",[199352],{"type":431,"value":199353},"Building a Keyword-Based Auto-Reply Bot",{"type":426,"tag":427,"props":199355,"children":199356},{},[199357],{"type":431,"value":199358},"A simple but powerful use case for webhooks — respond differently based on keywords:",{"type":426,"tag":542,"props":199360,"children":199362},{"code":199361,"language":784,"meta":417,"className":785,"style":417},"def handle_incoming_message(data):\n    sender = data[\"from\"]\n    message_text = data.get(\"message\", \"\").lower().strip()\n    \n    # Keyword routing\n    if any(word in message_text for word in [\"order\", \"track\", \"delivery\"]):\n        reply = \"To track your order, visit: https:\u002F\u002Fstore.com\u002Ftrack\\nOr reply with your order number.\"\n    \n    elif any(word in message_text for word in [\"price\", \"cost\", \"how much\"]):\n        reply = \"Our pricing starts at $29\u002Fmonth. View all plans: https:\u002F\u002Fstore.com\u002Fpricing\"\n    \n    elif any(word in message_text for word in [\"hello\", \"hi\", \"hey\", \"start\"]):\n        reply = (\n            \"Hi! 👋 Welcome to Store Support.\\n\\n\"\n            \"Reply with:\\n\"\n            \"1️⃣ *ORDER* — Track your order\\n\"\n            \"2️⃣ *PRICE* — View pricing\\n\"\n            \"3️⃣ *HUMAN* — Talk to a person\"\n        )\n    \n    elif \"human\" in message_text or \"agent\" in message_text:\n        reply = \"Connecting you to a support agent. Please wait 2–3 minutes.\"\n        # Notify your team here (email, Slack, etc.)\n    \n    else:\n        reply = \"Thanks for your message! Our team will reply within 1 hour.\"\n    \n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer RAPIWA_API_KEY\"},\n        json={\"number\": sender, \"message\": reply}\n    )\n",[199363],{"type":426,"tag":549,"props":199364,"children":199365},{"__ignoreMap":417},[199366,199381,199404,199436,199443,199451,199518,199543,199550,199614,199630,199637,199708,199723,199739,199755,199770,199786,199794,199801,199808,199844,199860,199868,199875,199886,199902,199909,199924,199960,199991],{"type":426,"tag":553,"props":199367,"children":199368},{"class":555,"line":556},[199369,199373,199377],{"type":426,"tag":553,"props":199370,"children":199371},{"style":795},[199372],{"type":431,"value":842},{"type":426,"tag":553,"props":199374,"children":199375},{"style":560},[199376],{"type":431,"value":108211},{"type":426,"tag":553,"props":199378,"children":199379},{"style":684},[199380],{"type":431,"value":197372},{"type":426,"tag":553,"props":199382,"children":199383},{"class":555,"line":588},[199384,199388,199392,199396,199400],{"type":426,"tag":553,"props":199385,"children":199386},{"style":684},[199387],{"type":431,"value":197380},{"type":426,"tag":553,"props":199389,"children":199390},{"style":795},[199391],{"type":431,"value":957},{"type":426,"tag":553,"props":199393,"children":199394},{"style":684},[199395],{"type":431,"value":20293},{"type":426,"tag":553,"props":199397,"children":199398},{"style":572},[199399],{"type":431,"value":76544},{"type":426,"tag":553,"props":199401,"children":199402},{"style":684},[199403],{"type":431,"value":16523},{"type":426,"tag":553,"props":199405,"children":199406},{"class":555,"line":606},[199407,199411,199415,199419,199423,199427,199431],{"type":426,"tag":553,"props":199408,"children":199409},{"style":684},[199410],{"type":431,"value":197404},{"type":426,"tag":553,"props":199412,"children":199413},{"style":795},[199414],{"type":431,"value":957},{"type":426,"tag":553,"props":199416,"children":199417},{"style":684},[199418],{"type":431,"value":8311},{"type":426,"tag":553,"props":199420,"children":199421},{"style":572},[199422],{"type":431,"value":45275},{"type":426,"tag":553,"props":199424,"children":199425},{"style":684},[199426],{"type":431,"value":1907},{"type":426,"tag":553,"props":199428,"children":199429},{"style":572},[199430],{"type":431,"value":128818},{"type":426,"tag":553,"props":199432,"children":199433},{"style":684},[199434],{"type":431,"value":199435},").lower().strip()\n",{"type":426,"tag":553,"props":199437,"children":199438},{"class":555,"line":623},[199439],{"type":426,"tag":553,"props":199440,"children":199441},{"style":684},[199442],{"type":431,"value":917},{"type":426,"tag":553,"props":199444,"children":199445},{"class":555,"line":637},[199446],{"type":426,"tag":553,"props":199447,"children":199448},{"style":1975},[199449],{"type":431,"value":199450},"    # Keyword routing\n",{"type":426,"tag":553,"props":199452,"children":199453},{"class":555,"line":646},[199454,199458,199462,199467,199471,199476,199480,199485,199489,199493,199497,199501,199505,199509,199514],{"type":426,"tag":553,"props":199455,"children":199456},{"style":795},[199457],{"type":431,"value":925},{"type":426,"tag":553,"props":199459,"children":199460},{"style":566},[199461],{"type":431,"value":19752},{"type":426,"tag":553,"props":199463,"children":199464},{"style":684},[199465],{"type":431,"value":199466},"(word ",{"type":426,"tag":553,"props":199468,"children":199469},{"style":795},[199470],{"type":431,"value":2005},{"type":426,"tag":553,"props":199472,"children":199473},{"style":684},[199474],{"type":431,"value":199475}," message_text ",{"type":426,"tag":553,"props":199477,"children":199478},{"style":795},[199479],{"type":431,"value":7491},{"type":426,"tag":553,"props":199481,"children":199482},{"style":684},[199483],{"type":431,"value":199484}," word ",{"type":426,"tag":553,"props":199486,"children":199487},{"style":795},[199488],{"type":431,"value":2005},{"type":426,"tag":553,"props":199490,"children":199491},{"style":684},[199492],{"type":431,"value":1897},{"type":426,"tag":553,"props":199494,"children":199495},{"style":572},[199496],{"type":431,"value":129644},{"type":426,"tag":553,"props":199498,"children":199499},{"style":684},[199500],{"type":431,"value":1907},{"type":426,"tag":553,"props":199502,"children":199503},{"style":572},[199504],{"type":431,"value":137360},{"type":426,"tag":553,"props":199506,"children":199507},{"style":684},[199508],{"type":431,"value":1907},{"type":426,"tag":553,"props":199510,"children":199511},{"style":572},[199512],{"type":431,"value":199513},"\"delivery\"",{"type":426,"tag":553,"props":199515,"children":199516},{"style":684},[199517],{"type":431,"value":19820},{"type":426,"tag":553,"props":199519,"children":199520},{"class":555,"line":655},[199521,199525,199529,199534,199538],{"type":426,"tag":553,"props":199522,"children":199523},{"style":684},[199524],{"type":431,"value":29537},{"type":426,"tag":553,"props":199526,"children":199527},{"style":795},[199528],{"type":431,"value":957},{"type":426,"tag":553,"props":199530,"children":199531},{"style":572},[199532],{"type":431,"value":199533}," \"To track your order, visit: https:\u002F\u002Fstore.com\u002Ftrack",{"type":426,"tag":553,"props":199535,"children":199536},{"style":566},[199537],{"type":431,"value":3661},{"type":426,"tag":553,"props":199539,"children":199540},{"style":572},[199541],{"type":431,"value":199542},"Or reply with your order number.\"\n",{"type":426,"tag":553,"props":199544,"children":199545},{"class":555,"line":1036},[199546],{"type":426,"tag":553,"props":199547,"children":199548},{"style":684},[199549],{"type":431,"value":917},{"type":426,"tag":553,"props":199551,"children":199552},{"class":555,"line":1054},[199553,199557,199561,199565,199569,199573,199577,199581,199585,199589,199593,199597,199601,199605,199610],{"type":426,"tag":553,"props":199554,"children":199555},{"style":795},[199556],{"type":431,"value":1060},{"type":426,"tag":553,"props":199558,"children":199559},{"style":566},[199560],{"type":431,"value":19752},{"type":426,"tag":553,"props":199562,"children":199563},{"style":684},[199564],{"type":431,"value":199466},{"type":426,"tag":553,"props":199566,"children":199567},{"style":795},[199568],{"type":431,"value":2005},{"type":426,"tag":553,"props":199570,"children":199571},{"style":684},[199572],{"type":431,"value":199475},{"type":426,"tag":553,"props":199574,"children":199575},{"style":795},[199576],{"type":431,"value":7491},{"type":426,"tag":553,"props":199578,"children":199579},{"style":684},[199580],{"type":431,"value":199484},{"type":426,"tag":553,"props":199582,"children":199583},{"style":795},[199584],{"type":431,"value":2005},{"type":426,"tag":553,"props":199586,"children":199587},{"style":684},[199588],{"type":431,"value":1897},{"type":426,"tag":553,"props":199590,"children":199591},{"style":572},[199592],{"type":431,"value":76226},{"type":426,"tag":553,"props":199594,"children":199595},{"style":684},[199596],{"type":431,"value":1907},{"type":426,"tag":553,"props":199598,"children":199599},{"style":572},[199600],{"type":431,"value":76252},{"type":426,"tag":553,"props":199602,"children":199603},{"style":684},[199604],{"type":431,"value":1907},{"type":426,"tag":553,"props":199606,"children":199607},{"style":572},[199608],{"type":431,"value":199609},"\"how much\"",{"type":426,"tag":553,"props":199611,"children":199612},{"style":684},[199613],{"type":431,"value":19820},{"type":426,"tag":553,"props":199615,"children":199616},{"class":555,"line":1080},[199617,199621,199625],{"type":426,"tag":553,"props":199618,"children":199619},{"style":684},[199620],{"type":431,"value":29537},{"type":426,"tag":553,"props":199622,"children":199623},{"style":795},[199624],{"type":431,"value":957},{"type":426,"tag":553,"props":199626,"children":199627},{"style":572},[199628],{"type":431,"value":199629}," \"Our pricing starts at $29\u002Fmonth. View all plans: https:\u002F\u002Fstore.com\u002Fpricing\"\n",{"type":426,"tag":553,"props":199631,"children":199632},{"class":555,"line":1097},[199633],{"type":426,"tag":553,"props":199634,"children":199635},{"style":684},[199636],{"type":431,"value":917},{"type":426,"tag":553,"props":199638,"children":199639},{"class":555,"line":1114},[199640,199644,199648,199652,199656,199660,199664,199668,199672,199676,199680,199684,199688,199692,199696,199700,199704],{"type":426,"tag":553,"props":199641,"children":199642},{"style":795},[199643],{"type":431,"value":1060},{"type":426,"tag":553,"props":199645,"children":199646},{"style":566},[199647],{"type":431,"value":19752},{"type":426,"tag":553,"props":199649,"children":199650},{"style":684},[199651],{"type":431,"value":199466},{"type":426,"tag":553,"props":199653,"children":199654},{"style":795},[199655],{"type":431,"value":2005},{"type":426,"tag":553,"props":199657,"children":199658},{"style":684},[199659],{"type":431,"value":199475},{"type":426,"tag":553,"props":199661,"children":199662},{"style":795},[199663],{"type":431,"value":7491},{"type":426,"tag":553,"props":199665,"children":199666},{"style":684},[199667],{"type":431,"value":199484},{"type":426,"tag":553,"props":199669,"children":199670},{"style":795},[199671],{"type":431,"value":2005},{"type":426,"tag":553,"props":199673,"children":199674},{"style":684},[199675],{"type":431,"value":1897},{"type":426,"tag":553,"props":199677,"children":199678},{"style":572},[199679],{"type":431,"value":127783},{"type":426,"tag":553,"props":199681,"children":199682},{"style":684},[199683],{"type":431,"value":1907},{"type":426,"tag":553,"props":199685,"children":199686},{"style":572},[199687],{"type":431,"value":127774},{"type":426,"tag":553,"props":199689,"children":199690},{"style":684},[199691],{"type":431,"value":1907},{"type":426,"tag":553,"props":199693,"children":199694},{"style":572},[199695],{"type":431,"value":127792},{"type":426,"tag":553,"props":199697,"children":199698},{"style":684},[199699],{"type":431,"value":1907},{"type":426,"tag":553,"props":199701,"children":199702},{"style":572},[199703],{"type":431,"value":127801},{"type":426,"tag":553,"props":199705,"children":199706},{"style":684},[199707],{"type":431,"value":19820},{"type":426,"tag":553,"props":199709,"children":199710},{"class":555,"line":1127},[199711,199715,199719],{"type":426,"tag":553,"props":199712,"children":199713},{"style":684},[199714],{"type":431,"value":29537},{"type":426,"tag":553,"props":199716,"children":199717},{"style":795},[199718],{"type":431,"value":957},{"type":426,"tag":553,"props":199720,"children":199721},{"style":684},[199722],{"type":431,"value":1207},{"type":426,"tag":553,"props":199724,"children":199725},{"class":555,"line":1167},[199726,199731,199735],{"type":426,"tag":553,"props":199727,"children":199728},{"style":572},[199729],{"type":431,"value":199730},"            \"Hi! 👋 Welcome to Store Support.",{"type":426,"tag":553,"props":199732,"children":199733},{"style":566},[199734],{"type":431,"value":1295},{"type":426,"tag":553,"props":199736,"children":199737},{"style":572},[199738],{"type":431,"value":1250},{"type":426,"tag":553,"props":199740,"children":199741},{"class":555,"line":1184},[199742,199747,199751],{"type":426,"tag":553,"props":199743,"children":199744},{"style":572},[199745],{"type":431,"value":199746},"            \"Reply with:",{"type":426,"tag":553,"props":199748,"children":199749},{"style":566},[199750],{"type":431,"value":3661},{"type":426,"tag":553,"props":199752,"children":199753},{"style":572},[199754],{"type":431,"value":1250},{"type":426,"tag":553,"props":199756,"children":199757},{"class":555,"line":1192},[199758,199762,199766],{"type":426,"tag":553,"props":199759,"children":199760},{"style":572},[199761],{"type":431,"value":127889},{"type":426,"tag":553,"props":199763,"children":199764},{"style":566},[199765],{"type":431,"value":3661},{"type":426,"tag":553,"props":199767,"children":199768},{"style":572},[199769],{"type":431,"value":1250},{"type":426,"tag":553,"props":199771,"children":199772},{"class":555,"line":1210},[199773,199778,199782],{"type":426,"tag":553,"props":199774,"children":199775},{"style":572},[199776],{"type":431,"value":199777},"            \"2️⃣ *PRICE* — View pricing",{"type":426,"tag":553,"props":199779,"children":199780},{"style":566},[199781],{"type":431,"value":3661},{"type":426,"tag":553,"props":199783,"children":199784},{"style":572},[199785],{"type":431,"value":1250},{"type":426,"tag":553,"props":199787,"children":199788},{"class":555,"line":1253},[199789],{"type":426,"tag":553,"props":199790,"children":199791},{"style":572},[199792],{"type":431,"value":199793},"            \"3️⃣ *HUMAN* — Talk to a person\"\n",{"type":426,"tag":553,"props":199795,"children":199796},{"class":555,"line":1302},[199797],{"type":426,"tag":553,"props":199798,"children":199799},{"style":684},[199800],{"type":431,"value":6037},{"type":426,"tag":553,"props":199802,"children":199803},{"class":555,"line":1374},[199804],{"type":426,"tag":553,"props":199805,"children":199806},{"style":684},[199807],{"type":431,"value":917},{"type":426,"tag":553,"props":199809,"children":199810},{"class":555,"line":1414},[199811,199815,199819,199823,199827,199831,199835,199839],{"type":426,"tag":553,"props":199812,"children":199813},{"style":795},[199814],{"type":431,"value":1060},{"type":426,"tag":553,"props":199816,"children":199817},{"style":572},[199818],{"type":431,"value":128390},{"type":426,"tag":553,"props":199820,"children":199821},{"style":795},[199822],{"type":431,"value":54104},{"type":426,"tag":553,"props":199824,"children":199825},{"style":684},[199826],{"type":431,"value":199475},{"type":426,"tag":553,"props":199828,"children":199829},{"style":795},[199830],{"type":431,"value":13816},{"type":426,"tag":553,"props":199832,"children":199833},{"style":572},[199834],{"type":431,"value":128407},{"type":426,"tag":553,"props":199836,"children":199837},{"style":795},[199838],{"type":431,"value":54104},{"type":426,"tag":553,"props":199840,"children":199841},{"style":684},[199842],{"type":431,"value":199843}," message_text:\n",{"type":426,"tag":553,"props":199845,"children":199846},{"class":555,"line":1479},[199847,199851,199855],{"type":426,"tag":553,"props":199848,"children":199849},{"style":684},[199850],{"type":431,"value":29537},{"type":426,"tag":553,"props":199852,"children":199853},{"style":795},[199854],{"type":431,"value":957},{"type":426,"tag":553,"props":199856,"children":199857},{"style":572},[199858],{"type":431,"value":199859}," \"Connecting you to a support agent. Please wait 2–3 minutes.\"\n",{"type":426,"tag":553,"props":199861,"children":199862},{"class":555,"line":1517},[199863],{"type":426,"tag":553,"props":199864,"children":199865},{"style":1975},[199866],{"type":431,"value":199867},"        # Notify your team here (email, Slack, etc.)\n",{"type":426,"tag":553,"props":199869,"children":199870},{"class":555,"line":1560},[199871],{"type":426,"tag":553,"props":199872,"children":199873},{"style":684},[199874],{"type":431,"value":917},{"type":426,"tag":553,"props":199876,"children":199877},{"class":555,"line":1598},[199878,199882],{"type":426,"tag":553,"props":199879,"children":199880},{"style":795},[199881],{"type":431,"value":1120},{"type":426,"tag":553,"props":199883,"children":199884},{"style":684},[199885],{"type":431,"value":909},{"type":426,"tag":553,"props":199887,"children":199888},{"class":555,"line":1636},[199889,199893,199897],{"type":426,"tag":553,"props":199890,"children":199891},{"style":684},[199892],{"type":431,"value":29537},{"type":426,"tag":553,"props":199894,"children":199895},{"style":795},[199896],{"type":431,"value":957},{"type":426,"tag":553,"props":199898,"children":199899},{"style":572},[199900],{"type":431,"value":199901}," \"Thanks for your message! Our team will reply within 1 hour.\"\n",{"type":426,"tag":553,"props":199903,"children":199904},{"class":555,"line":1645},[199905],{"type":426,"tag":553,"props":199906,"children":199907},{"style":684},[199908],{"type":431,"value":917},{"type":426,"tag":553,"props":199910,"children":199911},{"class":555,"line":1653},[199912,199916,199920],{"type":426,"tag":553,"props":199913,"children":199914},{"style":684},[199915],{"type":431,"value":129222},{"type":426,"tag":553,"props":199917,"children":199918},{"style":572},[199919],{"type":431,"value":60449},{"type":426,"tag":553,"props":199921,"children":199922},{"style":684},[199923],{"type":431,"value":710},{"type":426,"tag":553,"props":199925,"children":199926},{"class":555,"line":1667},[199927,199931,199935,199939,199943,199947,199951,199956],{"type":426,"tag":553,"props":199928,"children":199929},{"style":1684},[199930],{"type":431,"value":1687},{"type":426,"tag":553,"props":199932,"children":199933},{"style":795},[199934],{"type":431,"value":957},{"type":426,"tag":553,"props":199936,"children":199937},{"style":684},[199938],{"type":431,"value":972},{"type":426,"tag":553,"props":199940,"children":199941},{"style":572},[199942],{"type":431,"value":45214},{"type":426,"tag":553,"props":199944,"children":199945},{"style":684},[199946],{"type":431,"value":700},{"type":426,"tag":553,"props":199948,"children":199949},{"style":795},[199950],{"type":431,"value":1709},{"type":426,"tag":553,"props":199952,"children":199953},{"style":572},[199954],{"type":431,"value":199955},"\"Bearer RAPIWA_API_KEY\"",{"type":426,"tag":553,"props":199957,"children":199958},{"style":684},[199959],{"type":431,"value":1737},{"type":426,"tag":553,"props":199961,"children":199962},{"class":555,"line":1680},[199963,199967,199971,199975,199979,199983,199987],{"type":426,"tag":553,"props":199964,"children":199965},{"style":1684},[199966],{"type":431,"value":1746},{"type":426,"tag":553,"props":199968,"children":199969},{"style":795},[199970],{"type":431,"value":957},{"type":426,"tag":553,"props":199972,"children":199973},{"style":684},[199974],{"type":431,"value":972},{"type":426,"tag":553,"props":199976,"children":199977},{"style":572},[199978],{"type":431,"value":45266},{"type":426,"tag":553,"props":199980,"children":199981},{"style":684},[199982],{"type":431,"value":197683},{"type":426,"tag":553,"props":199984,"children":199985},{"style":572},[199986],{"type":431,"value":45275},{"type":426,"tag":553,"props":199988,"children":199989},{"style":684},[199990],{"type":431,"value":34864},{"type":426,"tag":553,"props":199992,"children":199993},{"class":555,"line":1740},[199994],{"type":426,"tag":553,"props":199995,"children":199996},{"style":684},[199997],{"type":431,"value":1642},{"type":426,"tag":434,"props":199999,"children":200001},{"id":200000},"common-webhook-issues-and-fixes",[200002],{"type":431,"value":200003},"Common Webhook Issues and Fixes",{"type":426,"tag":427,"props":200005,"children":200006},{},[200007],{"type":426,"tag":446,"props":200008,"children":200009},{},[200010],{"type":431,"value":200011},"Webhook not receiving events?",{"type":426,"tag":454,"props":200013,"children":200014},{},[200015,200027,200032],{"type":426,"tag":458,"props":200016,"children":200017},{},[200018,200020,200026],{"type":431,"value":200019},"Ensure your server URL is publicly accessible (test with ",{"type":426,"tag":549,"props":200021,"children":200023},{"className":200022},[],[200024],{"type":431,"value":200025},"curl -X POST YOUR_URL",{"type":431,"value":5736},{"type":426,"tag":458,"props":200028,"children":200029},{},[200030],{"type":431,"value":200031},"Check Rapiwa dashboard — the webhook status should show as Active",{"type":426,"tag":458,"props":200033,"children":200034},{},[200035],{"type":431,"value":200036},"Verify your server is returning HTTP 200",{"type":426,"tag":427,"props":200038,"children":200039},{},[200040],{"type":426,"tag":446,"props":200041,"children":200042},{},[200043],{"type":431,"value":200044},"Duplicate events?",{"type":426,"tag":454,"props":200046,"children":200047},{},[200048,200053,200058],{"type":426,"tag":458,"props":200049,"children":200050},{},[200051],{"type":431,"value":200052},"Rapiwa may retry if your server doesn't respond with 200 within 5 seconds",{"type":426,"tag":458,"props":200054,"children":200055},{},[200056],{"type":431,"value":200057},"Always return 200 immediately, then process the event asynchronously",{"type":426,"tag":458,"props":200059,"children":200060},{},[200061,200063,200068],{"type":431,"value":200062},"Use the ",{"type":426,"tag":549,"props":200064,"children":200066},{"className":200065},[],[200067],{"type":431,"value":8253},{"type":431,"value":200069}," field to deduplicate: store processed IDs in a set\u002Fcache",{"type":426,"tag":427,"props":200071,"children":200072},{},[200073],{"type":426,"tag":446,"props":200074,"children":200075},{},[200076],{"type":431,"value":200077},"Getting stuck in a loop?",{"type":426,"tag":454,"props":200079,"children":200080},{},[200081,200086],{"type":426,"tag":458,"props":200082,"children":200083},{},[200084],{"type":431,"value":200085},"If your bot replies to a message, and it generates another webhook event, add a check to not reply to your own messages",{"type":426,"tag":458,"props":200087,"children":200088},{},[200089,200091,200097],{"type":431,"value":200090},"Check ",{"type":426,"tag":549,"props":200092,"children":200094},{"className":200093},[],[200095],{"type":431,"value":200096},"data.get(\"fromMe\", False)",{"type":431,"value":200098}," — if True, the message was sent by you; skip processing",{"type":426,"tag":434,"props":200100,"children":200101},{"id":4109},[200102],{"type":431,"value":4112},{"type":426,"tag":427,"props":200104,"children":200105},{},[200106,200111],{"type":426,"tag":446,"props":200107,"children":200108},{},[200109],{"type":431,"value":200110},"What is a WhatsApp webhook?",{"type":431,"value":200112},"\nA WhatsApp webhook is an HTTP endpoint on your server that receives a POST request from the WhatsApp API every time an event occurs — like a new incoming message, message delivered, or message read. It enables real-time, event-driven WhatsApp applications.",{"type":426,"tag":427,"props":200114,"children":200115},{},[200116,200121],{"type":426,"tag":446,"props":200117,"children":200118},{},[200119],{"type":431,"value":200120},"Do I need a public server to use webhooks?",{"type":431,"value":200122},"\nYes for production. Your webhook URL must be publicly accessible over HTTPS. For local development, use ngrok to create a temporary public URL.",{"type":426,"tag":427,"props":200124,"children":200125},{},[200126,200131],{"type":426,"tag":446,"props":200127,"children":200128},{},[200129],{"type":431,"value":200130},"How quickly does Rapiwa deliver webhook events?",{"type":431,"value":200132},"\nRapiwa delivers webhook events typically within 1–3 seconds of the WhatsApp event occurring.",{"type":426,"tag":427,"props":200134,"children":200135},{},[200136,200141],{"type":426,"tag":446,"props":200137,"children":200138},{},[200139],{"type":431,"value":200140},"What happens if my server is down when a webhook fires?",{"type":431,"value":200142},"\nRapiwa will retry the delivery several times with increasing delays. If your server comes back online within the retry window, the events will be delivered.",{"type":426,"tag":427,"props":200144,"children":200145},{},[200146,200151],{"type":426,"tag":446,"props":200147,"children":200148},{},[200149],{"type":431,"value":200150},"Can I filter which events trigger my webhook?",{"type":431,"value":200152},"\nYes. In the Rapiwa webhook settings, you can select specific event types to receive, rather than all events.",{"type":426,"tag":427,"props":200154,"children":200155},{},[200156,200161],{"type":426,"tag":446,"props":200157,"children":200158},{},[200159],{"type":431,"value":200160},"Is webhook data secure?",{"type":431,"value":200162},"\nRapiwa sends webhook data over HTTPS. For additional security, validate requests by checking for a secret header value that you configure in your webhook settings.",{"type":426,"tag":4164,"props":200164,"children":200165},{},[200166],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":200168},[200169,200170,200171,200172,200177,200178,200179,200180,200181,200182],{"id":196321,"depth":588,"text":196324},{"id":196373,"depth":588,"text":196376},{"id":196490,"depth":588,"text":196493},{"id":196816,"depth":588,"text":196819,"children":200173},[200174,200175,200176],{"id":196834,"depth":606,"text":196837},{"id":197813,"depth":606,"text":197816},{"id":79950,"depth":606,"text":123546},{"id":199042,"depth":588,"text":199045},{"id":199132,"depth":588,"text":199135},{"id":199197,"depth":588,"text":199200},{"id":199350,"depth":588,"text":199353},{"id":200000,"depth":588,"text":200003},{"id":4109,"depth":588,"text":4112},"content:blog:what-are-whatsapp-webhooks-how-they-work-setup-guide.md","blog\u002Fwhat-are-whatsapp-webhooks-how-they-work-setup-guide.md","blog\u002Fwhat-are-whatsapp-webhooks-how-they-work-setup-guide",{"loc":366},{"_path":370,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":371,"description":372,"date":200188,"author":6858,"category":22,"_slug":200189,"image":200190,"body":200191,"_type":4187,"_id":204478,"_source":4189,"_file":204479,"_stem":204480,"_extension":4192,"sitemap":204481},"2025-12-07","how-to-send-bulk-whatsapp-messages-using-an-api","\u002Fimages\u002Fblog\u002Fhow-to-send-bulk-whatsapp-messages-using-an-api.svg",{"type":423,"children":200192,"toc":204466},[200193,200205,200211,200216,200224,200257,200261,200288,200294,200306,200523,200531,200738,200744,201798,201804,202361,202369,202377,202383,202388,202929,202935,202940,203404,203410,204249,204255,204260,204270,204287,204303,204313,204323,204333,204344,204348,204358,204368,204386,204396,204413,204462],{"type":426,"tag":427,"props":200194,"children":200195},{},[200196,200198,200203],{"type":431,"value":200197},"You can send bulk WhatsApp messages using an API like ",{"type":426,"tag":3819,"props":200199,"children":200201},{"href":3821,"rel":200200},[3823],[200202],{"type":431,"value":127310},{"type":431,"value":200204}," by looping through a contact list and sending a POST request for each recipient with a 1–2 second delay between messages. Rapiwa charges $5\u002Fmonth with no per-message fees or daily message caps, making it the most cost-effective option for bulk WhatsApp messaging.",{"type":426,"tag":434,"props":200206,"children":200208},{"id":200207},"what-is-bulk-whatsapp-messaging",[200209],{"type":431,"value":200210},"What Is Bulk WhatsApp Messaging?",{"type":426,"tag":427,"props":200212,"children":200213},{},[200214],{"type":431,"value":200215},"Bulk WhatsApp messaging means sending the same (or personalized) message to a large list of contacts automatically, using an API. Unlike WhatsApp Broadcast (limited to 256 contacts, requires contacts saved), API bulk messaging can reach thousands of contacts without restrictions.",{"type":426,"tag":427,"props":200217,"children":200218},{},[200219],{"type":426,"tag":446,"props":200220,"children":200221},{},[200222],{"type":431,"value":200223},"Common bulk WhatsApp use cases:",{"type":426,"tag":454,"props":200225,"children":200226},{},[200227,200232,200237,200242,200247,200252],{"type":426,"tag":458,"props":200228,"children":200229},{},[200230],{"type":431,"value":200231},"Product launch announcements",{"type":426,"tag":458,"props":200233,"children":200234},{},[200235],{"type":431,"value":200236},"Seasonal sales and promotions",{"type":426,"tag":458,"props":200238,"children":200239},{},[200240],{"type":431,"value":200241},"Newsletter-style updates",{"type":426,"tag":458,"props":200243,"children":200244},{},[200245],{"type":431,"value":200246},"Re-engagement campaigns for dormant customers",{"type":426,"tag":458,"props":200248,"children":200249},{},[200250],{"type":431,"value":200251},"Service outage notifications to all users",{"type":426,"tag":458,"props":200253,"children":200254},{},[200255],{"type":431,"value":200256},"Event invitations and reminders",{"type":426,"tag":434,"props":200258,"children":200259},{"id":47624},[200260],{"type":431,"value":47627},{"type":426,"tag":454,"props":200262,"children":200263},{},[200264,200273,200278,200283],{"type":426,"tag":458,"props":200265,"children":200266},{},[200267,200268],{"type":431,"value":127366},{"type":426,"tag":3819,"props":200269,"children":200271},{"href":3821,"rel":200270},[3823],[200272],{"type":431,"value":127372},{"type":426,"tag":458,"props":200274,"children":200275},{},[200276],{"type":431,"value":200277},"Your Rapiwa API key",{"type":426,"tag":458,"props":200279,"children":200280},{},[200281],{"type":431,"value":200282},"A contact list with phone numbers in international format",{"type":426,"tag":458,"props":200284,"children":200285},{},[200286],{"type":431,"value":200287},"Python 3.7+ (or any language with HTTP support)",{"type":426,"tag":434,"props":200289,"children":200291},{"id":200290},"step-1-prepare-your-contact-list",[200292],{"type":431,"value":200293},"Step 1: Prepare Your Contact List",{"type":426,"tag":427,"props":200295,"children":200296},{},[200297,200299,200304],{"type":431,"value":200298},"Store your contacts in any format — CSV, database, or a Python list. Every phone number must be in international format (country code + number, no ",{"type":426,"tag":549,"props":200300,"children":200302},{"className":200301},[],[200303],{"type":431,"value":2033},{"type":431,"value":200305},", no spaces):",{"type":426,"tag":542,"props":200307,"children":200309},{"code":200308,"language":784,"meta":417,"className":785,"style":417},"# contacts.py\ncontacts = [\n    {\"phone\": \"8801111111111\", \"name\": \"Alice\", \"last_order\": \"$45.00\"},\n    {\"phone\": \"8802222222222\", \"name\": \"Bob\",   \"last_order\": \"$120.00\"},\n    {\"phone\": \"8803333333333\", \"name\": \"Carol\", \"last_order\": \"$89.00\"},\n    # ... add more\n]\n",[200310],{"type":426,"tag":549,"props":200311,"children":200312},{"__ignoreMap":417},[200313,200321,200336,200393,200450,200508,200516],{"type":426,"tag":553,"props":200314,"children":200315},{"class":555,"line":556},[200316],{"type":426,"tag":553,"props":200317,"children":200318},{"style":1975},[200319],{"type":431,"value":200320},"# contacts.py\n",{"type":426,"tag":553,"props":200322,"children":200323},{"class":555,"line":588},[200324,200328,200332],{"type":426,"tag":553,"props":200325,"children":200326},{"style":684},[200327],{"type":431,"value":141868},{"type":426,"tag":553,"props":200329,"children":200330},{"style":795},[200331],{"type":431,"value":957},{"type":426,"tag":553,"props":200333,"children":200334},{"style":684},[200335],{"type":431,"value":80133},{"type":426,"tag":553,"props":200337,"children":200338},{"class":555,"line":606},[200339,200343,200347,200351,200355,200359,200363,200367,200371,200375,200380,200384,200389],{"type":426,"tag":553,"props":200340,"children":200341},{"style":684},[200342],{"type":431,"value":141884},{"type":426,"tag":553,"props":200344,"children":200345},{"style":572},[200346],{"type":431,"value":73482},{"type":426,"tag":553,"props":200348,"children":200349},{"style":684},[200350],{"type":431,"value":700},{"type":426,"tag":553,"props":200352,"children":200353},{"style":572},[200354],{"type":431,"value":81689},{"type":426,"tag":553,"props":200356,"children":200357},{"style":684},[200358],{"type":431,"value":1907},{"type":426,"tag":553,"props":200360,"children":200361},{"style":572},[200362],{"type":431,"value":141905},{"type":426,"tag":553,"props":200364,"children":200365},{"style":684},[200366],{"type":431,"value":700},{"type":426,"tag":553,"props":200368,"children":200369},{"style":572},[200370],{"type":431,"value":136765},{"type":426,"tag":553,"props":200372,"children":200373},{"style":684},[200374],{"type":431,"value":1907},{"type":426,"tag":553,"props":200376,"children":200377},{"style":572},[200378],{"type":431,"value":200379},"\"last_order\"",{"type":426,"tag":553,"props":200381,"children":200382},{"style":684},[200383],{"type":431,"value":700},{"type":426,"tag":553,"props":200385,"children":200386},{"style":572},[200387],{"type":431,"value":200388},"\"$45.00\"",{"type":426,"tag":553,"props":200390,"children":200391},{"style":684},[200392],{"type":431,"value":1737},{"type":426,"tag":553,"props":200394,"children":200395},{"class":555,"line":623},[200396,200400,200404,200408,200412,200416,200420,200424,200428,200433,200437,200441,200446],{"type":426,"tag":553,"props":200397,"children":200398},{"style":684},[200399],{"type":431,"value":141884},{"type":426,"tag":553,"props":200401,"children":200402},{"style":572},[200403],{"type":431,"value":73482},{"type":426,"tag":553,"props":200405,"children":200406},{"style":684},[200407],{"type":431,"value":700},{"type":426,"tag":553,"props":200409,"children":200410},{"style":572},[200411],{"type":431,"value":136791},{"type":426,"tag":553,"props":200413,"children":200414},{"style":684},[200415],{"type":431,"value":1907},{"type":426,"tag":553,"props":200417,"children":200418},{"style":572},[200419],{"type":431,"value":141905},{"type":426,"tag":553,"props":200421,"children":200422},{"style":684},[200423],{"type":431,"value":700},{"type":426,"tag":553,"props":200425,"children":200426},{"style":572},[200427],{"type":431,"value":136800},{"type":426,"tag":553,"props":200429,"children":200430},{"style":684},[200431],{"type":431,"value":200432},",   ",{"type":426,"tag":553,"props":200434,"children":200435},{"style":572},[200436],{"type":431,"value":200379},{"type":426,"tag":553,"props":200438,"children":200439},{"style":684},[200440],{"type":431,"value":700},{"type":426,"tag":553,"props":200442,"children":200443},{"style":572},[200444],{"type":431,"value":200445},"\"$120.00\"",{"type":426,"tag":553,"props":200447,"children":200448},{"style":684},[200449],{"type":431,"value":1737},{"type":426,"tag":553,"props":200451,"children":200452},{"class":555,"line":637},[200453,200457,200461,200465,200470,200474,200478,200482,200487,200491,200495,200499,200504],{"type":426,"tag":553,"props":200454,"children":200455},{"style":684},[200456],{"type":431,"value":141884},{"type":426,"tag":553,"props":200458,"children":200459},{"style":572},[200460],{"type":431,"value":73482},{"type":426,"tag":553,"props":200462,"children":200463},{"style":684},[200464],{"type":431,"value":700},{"type":426,"tag":553,"props":200466,"children":200467},{"style":572},[200468],{"type":431,"value":200469},"\"8803333333333\"",{"type":426,"tag":553,"props":200471,"children":200472},{"style":684},[200473],{"type":431,"value":1907},{"type":426,"tag":553,"props":200475,"children":200476},{"style":572},[200477],{"type":431,"value":141905},{"type":426,"tag":553,"props":200479,"children":200480},{"style":684},[200481],{"type":431,"value":700},{"type":426,"tag":553,"props":200483,"children":200484},{"style":572},[200485],{"type":431,"value":200486},"\"Carol\"",{"type":426,"tag":553,"props":200488,"children":200489},{"style":684},[200490],{"type":431,"value":1907},{"type":426,"tag":553,"props":200492,"children":200493},{"style":572},[200494],{"type":431,"value":200379},{"type":426,"tag":553,"props":200496,"children":200497},{"style":684},[200498],{"type":431,"value":700},{"type":426,"tag":553,"props":200500,"children":200501},{"style":572},[200502],{"type":431,"value":200503},"\"$89.00\"",{"type":426,"tag":553,"props":200505,"children":200506},{"style":684},[200507],{"type":431,"value":1737},{"type":426,"tag":553,"props":200509,"children":200510},{"class":555,"line":646},[200511],{"type":426,"tag":553,"props":200512,"children":200513},{"style":1975},[200514],{"type":431,"value":200515},"    # ... add more\n",{"type":426,"tag":553,"props":200517,"children":200518},{"class":555,"line":655},[200519],{"type":426,"tag":553,"props":200520,"children":200521},{"style":684},[200522],{"type":431,"value":16523},{"type":426,"tag":427,"props":200524,"children":200525},{},[200526],{"type":426,"tag":446,"props":200527,"children":200528},{},[200529],{"type":431,"value":200530},"Loading from CSV:",{"type":426,"tag":542,"props":200532,"children":200534},{"code":200533,"language":784,"meta":417,"className":785,"style":417},"import csv\n\ndef load_contacts_from_csv(filename):\n    contacts = []\n    with open(filename, newline=\"\", encoding=\"utf-8\") as f:\n        reader = csv.DictReader(f)\n        for row in reader:\n            contacts.append(row)\n    return contacts\n\ncontacts = load_contacts_from_csv(\"customers.csv\")\n",[200535],{"type":426,"tag":549,"props":200536,"children":200537},{"__ignoreMap":417},[200538,200550,200557,200574,200590,200649,200666,200686,200694,200706,200713],{"type":426,"tag":553,"props":200539,"children":200540},{"class":555,"line":556},[200541,200545],{"type":426,"tag":553,"props":200542,"children":200543},{"style":795},[200544],{"type":431,"value":798},{"type":426,"tag":553,"props":200546,"children":200547},{"style":684},[200548],{"type":431,"value":200549}," csv\n",{"type":426,"tag":553,"props":200551,"children":200552},{"class":555,"line":588},[200553],{"type":426,"tag":553,"props":200554,"children":200555},{"emptyLinePlaceholder":831},[200556],{"type":431,"value":834},{"type":426,"tag":553,"props":200558,"children":200559},{"class":555,"line":606},[200560,200564,200569],{"type":426,"tag":553,"props":200561,"children":200562},{"style":795},[200563],{"type":431,"value":842},{"type":426,"tag":553,"props":200565,"children":200566},{"style":560},[200567],{"type":431,"value":200568}," load_contacts_from_csv",{"type":426,"tag":553,"props":200570,"children":200571},{"style":684},[200572],{"type":431,"value":200573},"(filename):\n",{"type":426,"tag":553,"props":200575,"children":200576},{"class":555,"line":623},[200577,200582,200586],{"type":426,"tag":553,"props":200578,"children":200579},{"style":684},[200580],{"type":431,"value":200581},"    contacts ",{"type":426,"tag":553,"props":200583,"children":200584},{"style":795},[200585],{"type":431,"value":957},{"type":426,"tag":553,"props":200587,"children":200588},{"style":684},[200589],{"type":431,"value":17970},{"type":426,"tag":553,"props":200591,"children":200592},{"class":555,"line":637},[200593,200597,200601,200606,200611,200615,200619,200623,200628,200632,200637,200641,200645],{"type":426,"tag":553,"props":200594,"children":200595},{"style":795},[200596],{"type":431,"value":10056},{"type":426,"tag":553,"props":200598,"children":200599},{"style":566},[200600],{"type":431,"value":194586},{"type":426,"tag":553,"props":200602,"children":200603},{"style":684},[200604],{"type":431,"value":200605},"(filename, ",{"type":426,"tag":553,"props":200607,"children":200608},{"style":1684},[200609],{"type":431,"value":200610},"newline",{"type":426,"tag":553,"props":200612,"children":200613},{"style":795},[200614],{"type":431,"value":957},{"type":426,"tag":553,"props":200616,"children":200617},{"style":572},[200618],{"type":431,"value":128818},{"type":426,"tag":553,"props":200620,"children":200621},{"style":684},[200622],{"type":431,"value":1907},{"type":426,"tag":553,"props":200624,"children":200625},{"style":1684},[200626],{"type":431,"value":200627},"encoding",{"type":426,"tag":553,"props":200629,"children":200630},{"style":795},[200631],{"type":431,"value":957},{"type":426,"tag":553,"props":200633,"children":200634},{"style":572},[200635],{"type":431,"value":200636},"\"utf-8\"",{"type":426,"tag":553,"props":200638,"children":200639},{"style":684},[200640],{"type":431,"value":2987},{"type":426,"tag":553,"props":200642,"children":200643},{"style":795},[200644],{"type":431,"value":10075},{"type":426,"tag":553,"props":200646,"children":200647},{"style":684},[200648],{"type":431,"value":194617},{"type":426,"tag":553,"props":200650,"children":200651},{"class":555,"line":646},[200652,200657,200661],{"type":426,"tag":553,"props":200653,"children":200654},{"style":684},[200655],{"type":431,"value":200656},"        reader ",{"type":426,"tag":553,"props":200658,"children":200659},{"style":795},[200660],{"type":431,"value":957},{"type":426,"tag":553,"props":200662,"children":200663},{"style":684},[200664],{"type":431,"value":200665}," csv.DictReader(f)\n",{"type":426,"tag":553,"props":200667,"children":200668},{"class":555,"line":655},[200669,200673,200677,200681],{"type":426,"tag":553,"props":200670,"children":200671},{"style":795},[200672],{"type":431,"value":2188},{"type":426,"tag":553,"props":200674,"children":200675},{"style":684},[200676],{"type":431,"value":58503},{"type":426,"tag":553,"props":200678,"children":200679},{"style":795},[200680],{"type":431,"value":2005},{"type":426,"tag":553,"props":200682,"children":200683},{"style":684},[200684],{"type":431,"value":200685}," reader:\n",{"type":426,"tag":553,"props":200687,"children":200688},{"class":555,"line":1036},[200689],{"type":426,"tag":553,"props":200690,"children":200691},{"style":684},[200692],{"type":431,"value":200693},"            contacts.append(row)\n",{"type":426,"tag":553,"props":200695,"children":200696},{"class":555,"line":1054},[200697,200701],{"type":426,"tag":553,"props":200698,"children":200699},{"style":795},[200700],{"type":431,"value":1659},{"type":426,"tag":553,"props":200702,"children":200703},{"style":684},[200704],{"type":431,"value":200705}," contacts\n",{"type":426,"tag":553,"props":200707,"children":200708},{"class":555,"line":1080},[200709],{"type":426,"tag":553,"props":200710,"children":200711},{"emptyLinePlaceholder":831},[200712],{"type":431,"value":834},{"type":426,"tag":553,"props":200714,"children":200715},{"class":555,"line":1097},[200716,200720,200724,200729,200734],{"type":426,"tag":553,"props":200717,"children":200718},{"style":684},[200719],{"type":431,"value":141868},{"type":426,"tag":553,"props":200721,"children":200722},{"style":795},[200723],{"type":431,"value":957},{"type":426,"tag":553,"props":200725,"children":200726},{"style":684},[200727],{"type":431,"value":200728}," load_contacts_from_csv(",{"type":426,"tag":553,"props":200730,"children":200731},{"style":572},[200732],{"type":431,"value":200733},"\"customers.csv\"",{"type":426,"tag":553,"props":200735,"children":200736},{"style":684},[200737],{"type":431,"value":3262},{"type":426,"tag":434,"props":200739,"children":200741},{"id":200740},"step-2-build-the-bulk-send-function",[200742],{"type":431,"value":200743},"Step 2: Build the Bulk Send Function",{"type":426,"tag":542,"props":200745,"children":200747},{"code":200746,"language":784,"meta":417,"className":785,"style":417},"import requests\nimport time\nimport logging\n\nlogging.basicConfig(level=logging.INFO)\nlogger = logging.getLogger(__name__)\n\nAPI_KEY = \"YOUR_RAPIWA_API_KEY\"\nENDPOINT = \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\"\nDELAY_SECONDS = 1.5  # Delay between messages to avoid rate limiting\n\ndef send_message(phone, message):\n    \"\"\"Send a single WhatsApp message via Rapiwa API.\"\"\"\n    try:\n        response = requests.post(\n            ENDPOINT,\n            headers={\"Authorization\": f\"Bearer {API_KEY}\", \"Content-Type\": \"application\u002Fjson\"},\n            json={\"number\": phone, \"message\": message},\n            timeout=10\n        )\n        response.raise_for_status()\n        return response.json()\n    except requests.exceptions.RequestException as e:\n        logger.error(f\"Failed to send to {phone}: {e}\")\n        return {\"status\": \"error\", \"error\": str(e)}\n\ndef send_bulk(contacts, message_template):\n    \"\"\"\n    Send a bulk WhatsApp campaign.\n    message_template can use {name}, {phone}, or any key from contact dict.\n    \"\"\"\n    results = {\"success\": 0, \"failed\": 0, \"errors\": []}\n    \n    for i, contact in enumerate(contacts, 1):\n        # Personalize the message\n        message = message_template.format(**contact)\n        \n        result = send_message(contact[\"phone\"], message)\n        \n        if result.get(\"status\") == \"success\":\n            results[\"success\"] += 1\n            logger.info(f\"[{i}\u002F{len(contacts)}] Sent to {contact['phone']} ✓\")\n        else:\n            results[\"failed\"] += 1\n            results[\"errors\"].append({\"phone\": contact[\"phone\"], \"error\": result})\n            logger.warning(f\"[{i}\u002F{len(contacts)}] Failed for {contact['phone']}: {result}\")\n        \n        # Delay between messages\n        if i \u003C len(contacts):\n            time.sleep(DELAY_SECONDS)\n    \n    return results\n",[200748],{"type":426,"tag":549,"props":200749,"children":200750},{"__ignoreMap":417},[200751,200762,200773,200784,200791,200818,200841,200848,200863,200879,200900,200907,200922,200930,200941,200956,200968,201027,201058,201073,201080,201087,201098,201117,201169,201213,201220,201236,201243,201251,201259,201266,201322,201329,201360,201368,201391,201398,201422,201429,201460,201483,201560,201571,201594,201634,201727,201734,201742,201765,201780,201787],{"type":426,"tag":553,"props":200752,"children":200753},{"class":555,"line":556},[200754,200758],{"type":426,"tag":553,"props":200755,"children":200756},{"style":795},[200757],{"type":431,"value":798},{"type":426,"tag":553,"props":200759,"children":200760},{"style":684},[200761],{"type":431,"value":803},{"type":426,"tag":553,"props":200763,"children":200764},{"class":555,"line":588},[200765,200769],{"type":426,"tag":553,"props":200766,"children":200767},{"style":795},[200768],{"type":431,"value":798},{"type":426,"tag":553,"props":200770,"children":200771},{"style":684},[200772],{"type":431,"value":3081},{"type":426,"tag":553,"props":200774,"children":200775},{"class":555,"line":606},[200776,200780],{"type":426,"tag":553,"props":200777,"children":200778},{"style":795},[200779],{"type":431,"value":798},{"type":426,"tag":553,"props":200781,"children":200782},{"style":684},[200783],{"type":431,"value":63158},{"type":426,"tag":553,"props":200785,"children":200786},{"class":555,"line":623},[200787],{"type":426,"tag":553,"props":200788,"children":200789},{"emptyLinePlaceholder":831},[200790],{"type":431,"value":834},{"type":426,"tag":553,"props":200792,"children":200793},{"class":555,"line":637},[200794,200798,200802,200806,200810,200814],{"type":426,"tag":553,"props":200795,"children":200796},{"style":684},[200797],{"type":431,"value":63266},{"type":426,"tag":553,"props":200799,"children":200800},{"style":1684},[200801],{"type":431,"value":63271},{"type":426,"tag":553,"props":200803,"children":200804},{"style":795},[200805],{"type":431,"value":957},{"type":426,"tag":553,"props":200807,"children":200808},{"style":684},[200809],{"type":431,"value":63280},{"type":426,"tag":553,"props":200811,"children":200812},{"style":566},[200813],{"type":431,"value":63285},{"type":426,"tag":553,"props":200815,"children":200816},{"style":684},[200817],{"type":431,"value":3262},{"type":426,"tag":553,"props":200819,"children":200820},{"class":555,"line":646},[200821,200825,200829,200833,200837],{"type":426,"tag":553,"props":200822,"children":200823},{"style":684},[200824],{"type":431,"value":63297},{"type":426,"tag":553,"props":200826,"children":200827},{"style":795},[200828],{"type":431,"value":957},{"type":426,"tag":553,"props":200830,"children":200831},{"style":684},[200832],{"type":431,"value":63306},{"type":426,"tag":553,"props":200834,"children":200835},{"style":566},[200836],{"type":431,"value":13315},{"type":426,"tag":553,"props":200838,"children":200839},{"style":684},[200840],{"type":431,"value":3262},{"type":426,"tag":553,"props":200842,"children":200843},{"class":555,"line":655},[200844],{"type":426,"tag":553,"props":200845,"children":200846},{"emptyLinePlaceholder":831},[200847],{"type":431,"value":834},{"type":426,"tag":553,"props":200849,"children":200850},{"class":555,"line":1036},[200851,200855,200859],{"type":426,"tag":553,"props":200852,"children":200853},{"style":566},[200854],{"type":431,"value":133819},{"type":426,"tag":553,"props":200856,"children":200857},{"style":795},[200858],{"type":431,"value":8739},{"type":426,"tag":553,"props":200860,"children":200861},{"style":572},[200862],{"type":431,"value":47113},{"type":426,"tag":553,"props":200864,"children":200865},{"class":555,"line":1054},[200866,200871,200875],{"type":426,"tag":553,"props":200867,"children":200868},{"style":566},[200869],{"type":431,"value":200870},"ENDPOINT",{"type":426,"tag":553,"props":200872,"children":200873},{"style":795},[200874],{"type":431,"value":8739},{"type":426,"tag":553,"props":200876,"children":200877},{"style":572},[200878],{"type":431,"value":121869},{"type":426,"tag":553,"props":200880,"children":200881},{"class":555,"line":1080},[200882,200887,200891,200895],{"type":426,"tag":553,"props":200883,"children":200884},{"style":566},[200885],{"type":431,"value":200886},"DELAY_SECONDS",{"type":426,"tag":553,"props":200888,"children":200889},{"style":795},[200890],{"type":431,"value":8739},{"type":426,"tag":553,"props":200892,"children":200893},{"style":566},[200894],{"type":431,"value":9638},{"type":426,"tag":553,"props":200896,"children":200897},{"style":1975},[200898],{"type":431,"value":200899},"  # Delay between messages to avoid rate limiting\n",{"type":426,"tag":553,"props":200901,"children":200902},{"class":555,"line":1097},[200903],{"type":426,"tag":553,"props":200904,"children":200905},{"emptyLinePlaceholder":831},[200906],{"type":431,"value":834},{"type":426,"tag":553,"props":200908,"children":200909},{"class":555,"line":1114},[200910,200914,200918],{"type":426,"tag":553,"props":200911,"children":200912},{"style":795},[200913],{"type":431,"value":842},{"type":426,"tag":553,"props":200915,"children":200916},{"style":560},[200917],{"type":431,"value":12225},{"type":426,"tag":553,"props":200919,"children":200920},{"style":684},[200921],{"type":431,"value":129214},{"type":426,"tag":553,"props":200923,"children":200924},{"class":555,"line":1127},[200925],{"type":426,"tag":553,"props":200926,"children":200927},{"style":572},[200928],{"type":431,"value":200929},"    \"\"\"Send a single WhatsApp message via Rapiwa API.\"\"\"\n",{"type":426,"tag":553,"props":200931,"children":200932},{"class":555,"line":1167},[200933,200937],{"type":426,"tag":553,"props":200934,"children":200935},{"style":795},[200936],{"type":431,"value":13401},{"type":426,"tag":553,"props":200938,"children":200939},{"style":684},[200940],{"type":431,"value":909},{"type":426,"tag":553,"props":200942,"children":200943},{"class":555,"line":1184},[200944,200948,200952],{"type":426,"tag":553,"props":200945,"children":200946},{"style":684},[200947],{"type":431,"value":12557},{"type":426,"tag":553,"props":200949,"children":200950},{"style":795},[200951],{"type":431,"value":957},{"type":426,"tag":553,"props":200953,"children":200954},{"style":684},[200955],{"type":431,"value":1664},{"type":426,"tag":553,"props":200957,"children":200958},{"class":555,"line":1192},[200959,200964],{"type":426,"tag":553,"props":200960,"children":200961},{"style":566},[200962],{"type":431,"value":200963},"            ENDPOINT",{"type":426,"tag":553,"props":200965,"children":200966},{"style":684},[200967],{"type":431,"value":710},{"type":426,"tag":553,"props":200969,"children":200970},{"class":555,"line":1210},[200971,200975,200979,200983,200987,200991,200995,200999,201003,201007,201011,201015,201019,201023],{"type":426,"tag":553,"props":200972,"children":200973},{"style":1684},[200974],{"type":431,"value":2864},{"type":426,"tag":553,"props":200976,"children":200977},{"style":795},[200978],{"type":431,"value":957},{"type":426,"tag":553,"props":200980,"children":200981},{"style":684},[200982],{"type":431,"value":972},{"type":426,"tag":553,"props":200984,"children":200985},{"style":572},[200986],{"type":431,"value":45214},{"type":426,"tag":553,"props":200988,"children":200989},{"style":684},[200990],{"type":431,"value":700},{"type":426,"tag":553,"props":200992,"children":200993},{"style":795},[200994],{"type":431,"value":1709},{"type":426,"tag":553,"props":200996,"children":200997},{"style":572},[200998],{"type":431,"value":12608},{"type":426,"tag":553,"props":201000,"children":201001},{"style":566},[201002],{"type":431,"value":139229},{"type":426,"tag":553,"props":201004,"children":201005},{"style":572},[201006],{"type":431,"value":1527},{"type":426,"tag":553,"props":201008,"children":201009},{"style":684},[201010],{"type":431,"value":1907},{"type":426,"tag":553,"props":201012,"children":201013},{"style":572},[201014],{"type":431,"value":67578},{"type":426,"tag":553,"props":201016,"children":201017},{"style":684},[201018],{"type":431,"value":700},{"type":426,"tag":553,"props":201020,"children":201021},{"style":572},[201022],{"type":431,"value":67587},{"type":426,"tag":553,"props":201024,"children":201025},{"style":684},[201026],{"type":431,"value":1737},{"type":426,"tag":553,"props":201028,"children":201029},{"class":555,"line":1253},[201030,201034,201038,201042,201046,201050,201054],{"type":426,"tag":553,"props":201031,"children":201032},{"style":1684},[201033],{"type":431,"value":2916},{"type":426,"tag":553,"props":201035,"children":201036},{"style":795},[201037],{"type":431,"value":957},{"type":426,"tag":553,"props":201039,"children":201040},{"style":684},[201041],{"type":431,"value":972},{"type":426,"tag":553,"props":201043,"children":201044},{"style":572},[201045],{"type":431,"value":45266},{"type":426,"tag":553,"props":201047,"children":201048},{"style":684},[201049],{"type":431,"value":8931},{"type":426,"tag":553,"props":201051,"children":201052},{"style":572},[201053],{"type":431,"value":45275},{"type":426,"tag":553,"props":201055,"children":201056},{"style":684},[201057],{"type":431,"value":8940},{"type":426,"tag":553,"props":201059,"children":201060},{"class":555,"line":1302},[201061,201065,201069],{"type":426,"tag":553,"props":201062,"children":201063},{"style":1684},[201064],{"type":431,"value":12677},{"type":426,"tag":553,"props":201066,"children":201067},{"style":795},[201068],{"type":431,"value":957},{"type":426,"tag":553,"props":201070,"children":201071},{"style":566},[201072],{"type":431,"value":56966},{"type":426,"tag":553,"props":201074,"children":201075},{"class":555,"line":1374},[201076],{"type":426,"tag":553,"props":201077,"children":201078},{"style":684},[201079],{"type":431,"value":6037},{"type":426,"tag":553,"props":201081,"children":201082},{"class":555,"line":1414},[201083],{"type":426,"tag":553,"props":201084,"children":201085},{"style":684},[201086],{"type":431,"value":139721},{"type":426,"tag":553,"props":201088,"children":201089},{"class":555,"line":1479},[201090,201094],{"type":426,"tag":553,"props":201091,"children":201092},{"style":795},[201093],{"type":431,"value":8378},{"type":426,"tag":553,"props":201095,"children":201096},{"style":684},[201097],{"type":431,"value":9193},{"type":426,"tag":553,"props":201099,"children":201100},{"class":555,"line":1517},[201101,201105,201109,201113],{"type":426,"tag":553,"props":201102,"children":201103},{"style":795},[201104],{"type":431,"value":13481},{"type":426,"tag":553,"props":201106,"children":201107},{"style":684},[201108],{"type":431,"value":141570},{"type":426,"tag":553,"props":201110,"children":201111},{"style":795},[201112],{"type":431,"value":10075},{"type":426,"tag":553,"props":201114,"children":201115},{"style":684},[201116],{"type":431,"value":13932},{"type":426,"tag":553,"props":201118,"children":201119},{"class":555,"line":1560},[201120,201124,201128,201133,201137,201141,201145,201149,201153,201157,201161,201165],{"type":426,"tag":553,"props":201121,"children":201122},{"style":684},[201123],{"type":431,"value":64684},{"type":426,"tag":553,"props":201125,"children":201126},{"style":795},[201127],{"type":431,"value":1709},{"type":426,"tag":553,"props":201129,"children":201130},{"style":572},[201131],{"type":431,"value":201132},"\"Failed to send to ",{"type":426,"tag":553,"props":201134,"children":201135},{"style":566},[201136],{"type":431,"value":972},{"type":426,"tag":553,"props":201138,"children":201139},{"style":684},[201140],{"type":431,"value":37598},{"type":426,"tag":553,"props":201142,"children":201143},{"style":566},[201144],{"type":431,"value":982},{"type":426,"tag":553,"props":201146,"children":201147},{"style":572},[201148],{"type":431,"value":700},{"type":426,"tag":553,"props":201150,"children":201151},{"style":566},[201152],{"type":431,"value":972},{"type":426,"tag":553,"props":201154,"children":201155},{"style":684},[201156],{"type":431,"value":14643},{"type":426,"tag":553,"props":201158,"children":201159},{"style":566},[201160],{"type":431,"value":982},{"type":426,"tag":553,"props":201162,"children":201163},{"style":572},[201164],{"type":431,"value":1527},{"type":426,"tag":553,"props":201166,"children":201167},{"style":684},[201168],{"type":431,"value":3262},{"type":426,"tag":553,"props":201170,"children":201171},{"class":555,"line":1598},[201172,201176,201180,201184,201188,201192,201196,201200,201204,201208],{"type":426,"tag":553,"props":201173,"children":201174},{"style":795},[201175],{"type":431,"value":8378},{"type":426,"tag":553,"props":201177,"children":201178},{"style":684},[201179],{"type":431,"value":1450},{"type":426,"tag":553,"props":201181,"children":201182},{"style":572},[201183],{"type":431,"value":68957},{"type":426,"tag":553,"props":201185,"children":201186},{"style":684},[201187],{"type":431,"value":700},{"type":426,"tag":553,"props":201189,"children":201190},{"style":572},[201191],{"type":431,"value":122447},{"type":426,"tag":553,"props":201193,"children":201194},{"style":684},[201195],{"type":431,"value":1907},{"type":426,"tag":553,"props":201197,"children":201198},{"style":572},[201199],{"type":431,"value":122447},{"type":426,"tag":553,"props":201201,"children":201202},{"style":684},[201203],{"type":431,"value":700},{"type":426,"tag":553,"props":201205,"children":201206},{"style":566},[201207],{"type":431,"value":895},{"type":426,"tag":553,"props":201209,"children":201210},{"style":684},[201211],{"type":431,"value":201212},"(e)}\n",{"type":426,"tag":553,"props":201214,"children":201215},{"class":555,"line":1636},[201216],{"type":426,"tag":553,"props":201217,"children":201218},{"emptyLinePlaceholder":831},[201219],{"type":431,"value":834},{"type":426,"tag":553,"props":201221,"children":201222},{"class":555,"line":1645},[201223,201227,201232],{"type":426,"tag":553,"props":201224,"children":201225},{"style":795},[201226],{"type":431,"value":842},{"type":426,"tag":553,"props":201228,"children":201229},{"style":560},[201230],{"type":431,"value":201231}," send_bulk",{"type":426,"tag":553,"props":201233,"children":201234},{"style":684},[201235],{"type":431,"value":193739},{"type":426,"tag":553,"props":201237,"children":201238},{"class":555,"line":1653},[201239],{"type":426,"tag":553,"props":201240,"children":201241},{"style":572},[201242],{"type":431,"value":2673},{"type":426,"tag":553,"props":201244,"children":201245},{"class":555,"line":1667},[201246],{"type":426,"tag":553,"props":201247,"children":201248},{"style":572},[201249],{"type":431,"value":201250},"    Send a bulk WhatsApp campaign.\n",{"type":426,"tag":553,"props":201252,"children":201253},{"class":555,"line":1680},[201254],{"type":426,"tag":553,"props":201255,"children":201256},{"style":572},[201257],{"type":431,"value":201258},"    message_template can use {name}, {phone}, or any key from contact dict.\n",{"type":426,"tag":553,"props":201260,"children":201261},{"class":555,"line":1740},[201262],{"type":426,"tag":553,"props":201263,"children":201264},{"style":572},[201265],{"type":431,"value":2673},{"type":426,"tag":553,"props":201267,"children":201268},{"class":555,"line":1787},[201269,201273,201277,201281,201285,201289,201293,201297,201301,201305,201309,201313,201318],{"type":426,"tag":553,"props":201270,"children":201271},{"style":684},[201272],{"type":431,"value":2758},{"type":426,"tag":553,"props":201274,"children":201275},{"style":795},[201276],{"type":431,"value":957},{"type":426,"tag":553,"props":201278,"children":201279},{"style":684},[201280],{"type":431,"value":1450},{"type":426,"tag":553,"props":201282,"children":201283},{"style":572},[201284],{"type":431,"value":705},{"type":426,"tag":553,"props":201286,"children":201287},{"style":684},[201288],{"type":431,"value":700},{"type":426,"tag":553,"props":201290,"children":201291},{"style":566},[201292],{"type":431,"value":1930},{"type":426,"tag":553,"props":201294,"children":201295},{"style":684},[201296],{"type":431,"value":1907},{"type":426,"tag":553,"props":201298,"children":201299},{"style":572},[201300],{"type":431,"value":141115},{"type":426,"tag":553,"props":201302,"children":201303},{"style":684},[201304],{"type":431,"value":700},{"type":426,"tag":553,"props":201306,"children":201307},{"style":566},[201308],{"type":431,"value":1930},{"type":426,"tag":553,"props":201310,"children":201311},{"style":684},[201312],{"type":431,"value":1907},{"type":426,"tag":553,"props":201314,"children":201315},{"style":572},[201316],{"type":431,"value":201317},"\"errors\"",{"type":426,"tag":553,"props":201319,"children":201320},{"style":684},[201321],{"type":431,"value":141120},{"type":426,"tag":553,"props":201323,"children":201324},{"class":555,"line":1796},[201325],{"type":426,"tag":553,"props":201326,"children":201327},{"style":684},[201328],{"type":431,"value":917},{"type":426,"tag":553,"props":201330,"children":201331},{"class":555,"line":1804},[201332,201336,201340,201344,201348,201352,201356],{"type":426,"tag":553,"props":201333,"children":201334},{"style":795},[201335],{"type":431,"value":1995},{"type":426,"tag":553,"props":201337,"children":201338},{"style":684},[201339],{"type":431,"value":141139},{"type":426,"tag":553,"props":201341,"children":201342},{"style":795},[201343],{"type":431,"value":2005},{"type":426,"tag":553,"props":201345,"children":201346},{"style":566},[201347],{"type":431,"value":141148},{"type":426,"tag":553,"props":201349,"children":201350},{"style":684},[201351],{"type":431,"value":136843},{"type":426,"tag":553,"props":201353,"children":201354},{"style":566},[201355],{"type":431,"value":1921},{"type":426,"tag":553,"props":201357,"children":201358},{"style":684},[201359],{"type":431,"value":8370},{"type":426,"tag":553,"props":201361,"children":201362},{"class":555,"line":1812},[201363],{"type":426,"tag":553,"props":201364,"children":201365},{"style":1975},[201366],{"type":431,"value":201367},"        # Personalize the message\n",{"type":426,"tag":553,"props":201369,"children":201370},{"class":555,"line":1847},[201371,201375,201379,201383,201387],{"type":426,"tag":553,"props":201372,"children":201373},{"style":684},[201374],{"type":431,"value":5864},{"type":426,"tag":553,"props":201376,"children":201377},{"style":795},[201378],{"type":431,"value":957},{"type":426,"tag":553,"props":201380,"children":201381},{"style":684},[201382],{"type":431,"value":18026},{"type":426,"tag":553,"props":201384,"children":201385},{"style":795},[201386],{"type":431,"value":13053},{"type":426,"tag":553,"props":201388,"children":201389},{"style":684},[201390],{"type":431,"value":18035},{"type":426,"tag":553,"props":201392,"children":201393},{"class":555,"line":1856},[201394],{"type":426,"tag":553,"props":201395,"children":201396},{"style":684},[201397],{"type":431,"value":2061},{"type":426,"tag":553,"props":201399,"children":201400},{"class":555,"line":1874},[201401,201405,201409,201414,201418],{"type":426,"tag":553,"props":201402,"children":201403},{"style":684},[201404],{"type":431,"value":2836},{"type":426,"tag":553,"props":201406,"children":201407},{"style":795},[201408],{"type":431,"value":957},{"type":426,"tag":553,"props":201410,"children":201411},{"style":684},[201412],{"type":431,"value":201413}," send_message(contact[",{"type":426,"tag":553,"props":201415,"children":201416},{"style":572},[201417],{"type":431,"value":73482},{"type":426,"tag":553,"props":201419,"children":201420},{"style":684},[201421],{"type":431,"value":18065},{"type":426,"tag":553,"props":201423,"children":201424},{"class":555,"line":1882},[201425],{"type":426,"tag":553,"props":201426,"children":201427},{"style":684},[201428],{"type":431,"value":2061},{"type":426,"tag":553,"props":201430,"children":201431},{"class":555,"line":1981},[201432,201436,201440,201444,201448,201452,201456],{"type":426,"tag":553,"props":201433,"children":201434},{"style":795},[201435],{"type":431,"value":2972},{"type":426,"tag":553,"props":201437,"children":201438},{"style":684},[201439],{"type":431,"value":2977},{"type":426,"tag":553,"props":201441,"children":201442},{"style":572},[201443],{"type":431,"value":68957},{"type":426,"tag":553,"props":201445,"children":201446},{"style":684},[201447],{"type":431,"value":2987},{"type":426,"tag":553,"props":201449,"children":201450},{"style":795},[201451],{"type":431,"value":1069},{"type":426,"tag":553,"props":201453,"children":201454},{"style":572},[201455],{"type":431,"value":69054},{"type":426,"tag":553,"props":201457,"children":201458},{"style":684},[201459],{"type":431,"value":909},{"type":426,"tag":553,"props":201461,"children":201462},{"class":555,"line":1989},[201463,201467,201471,201475,201479],{"type":426,"tag":553,"props":201464,"children":201465},{"style":684},[201466],{"type":431,"value":3008},{"type":426,"tag":553,"props":201468,"children":201469},{"style":572},[201470],{"type":431,"value":705},{"type":426,"tag":553,"props":201472,"children":201473},{"style":684},[201474],{"type":431,"value":2229},{"type":426,"tag":553,"props":201476,"children":201477},{"style":795},[201478],{"type":431,"value":3021},{"type":426,"tag":553,"props":201480,"children":201481},{"style":566},[201482],{"type":431,"value":3026},{"type":426,"tag":553,"props":201484,"children":201485},{"class":555,"line":2013},[201486,201490,201494,201498,201502,201506,201510,201514,201518,201522,201526,201531,201535,201539,201543,201547,201551,201556],{"type":426,"tag":553,"props":201487,"children":201488},{"style":684},[201489],{"type":431,"value":84187},{"type":426,"tag":553,"props":201491,"children":201492},{"style":795},[201493],{"type":431,"value":1709},{"type":426,"tag":553,"props":201495,"children":201496},{"style":572},[201497],{"type":431,"value":141436},{"type":426,"tag":553,"props":201499,"children":201500},{"style":566},[201501],{"type":431,"value":972},{"type":426,"tag":553,"props":201503,"children":201504},{"style":684},[201505],{"type":431,"value":136400},{"type":426,"tag":553,"props":201507,"children":201508},{"style":566},[201509],{"type":431,"value":982},{"type":426,"tag":553,"props":201511,"children":201512},{"style":572},[201513],{"type":431,"value":18503},{"type":426,"tag":553,"props":201515,"children":201516},{"style":566},[201517],{"type":431,"value":58466},{"type":426,"tag":553,"props":201519,"children":201520},{"style":684},[201521],{"type":431,"value":141461},{"type":426,"tag":553,"props":201523,"children":201524},{"style":566},[201525],{"type":431,"value":982},{"type":426,"tag":553,"props":201527,"children":201528},{"style":572},[201529],{"type":431,"value":201530},"] Sent to ",{"type":426,"tag":553,"props":201532,"children":201533},{"style":566},[201534],{"type":431,"value":972},{"type":426,"tag":553,"props":201536,"children":201537},{"style":684},[201538],{"type":431,"value":141479},{"type":426,"tag":553,"props":201540,"children":201541},{"style":572},[201542],{"type":431,"value":1769},{"type":426,"tag":553,"props":201544,"children":201545},{"style":684},[201546],{"type":431,"value":1240},{"type":426,"tag":553,"props":201548,"children":201549},{"style":566},[201550],{"type":431,"value":982},{"type":426,"tag":553,"props":201552,"children":201553},{"style":572},[201554],{"type":431,"value":201555}," ✓\"",{"type":426,"tag":553,"props":201557,"children":201558},{"style":684},[201559],{"type":431,"value":3262},{"type":426,"tag":553,"props":201561,"children":201562},{"class":555,"line":2055},[201563,201567],{"type":426,"tag":553,"props":201564,"children":201565},{"style":795},[201566],{"type":431,"value":3034},{"type":426,"tag":553,"props":201568,"children":201569},{"style":684},[201570],{"type":431,"value":909},{"type":426,"tag":553,"props":201572,"children":201573},{"class":555,"line":2064},[201574,201578,201582,201586,201590],{"type":426,"tag":553,"props":201575,"children":201576},{"style":684},[201577],{"type":431,"value":3008},{"type":426,"tag":553,"props":201579,"children":201580},{"style":572},[201581],{"type":431,"value":141115},{"type":426,"tag":553,"props":201583,"children":201584},{"style":684},[201585],{"type":431,"value":2229},{"type":426,"tag":553,"props":201587,"children":201588},{"style":795},[201589],{"type":431,"value":3021},{"type":426,"tag":553,"props":201591,"children":201592},{"style":566},[201593],{"type":431,"value":3026},{"type":426,"tag":553,"props":201595,"children":201596},{"class":555,"line":2087},[201597,201601,201605,201609,201613,201617,201621,201625,201629],{"type":426,"tag":553,"props":201598,"children":201599},{"style":684},[201600],{"type":431,"value":3008},{"type":426,"tag":553,"props":201602,"children":201603},{"style":572},[201604],{"type":431,"value":201317},{"type":426,"tag":553,"props":201606,"children":201607},{"style":684},[201608],{"type":431,"value":141526},{"type":426,"tag":553,"props":201610,"children":201611},{"style":572},[201612],{"type":431,"value":73482},{"type":426,"tag":553,"props":201614,"children":201615},{"style":684},[201616],{"type":431,"value":18086},{"type":426,"tag":553,"props":201618,"children":201619},{"style":572},[201620],{"type":431,"value":73482},{"type":426,"tag":553,"props":201622,"children":201623},{"style":684},[201624],{"type":431,"value":1774},{"type":426,"tag":553,"props":201626,"children":201627},{"style":572},[201628],{"type":431,"value":122447},{"type":426,"tag":553,"props":201630,"children":201631},{"style":684},[201632],{"type":431,"value":201633},": result})\n",{"type":426,"tag":553,"props":201635,"children":201636},{"class":555,"line":2096},[201637,201642,201646,201650,201654,201658,201662,201666,201670,201674,201678,201683,201687,201691,201695,201699,201703,201707,201711,201715,201719,201723],{"type":426,"tag":553,"props":201638,"children":201639},{"style":684},[201640],{"type":431,"value":201641},"            logger.warning(",{"type":426,"tag":553,"props":201643,"children":201644},{"style":795},[201645],{"type":431,"value":1709},{"type":426,"tag":553,"props":201647,"children":201648},{"style":572},[201649],{"type":431,"value":141436},{"type":426,"tag":553,"props":201651,"children":201652},{"style":566},[201653],{"type":431,"value":972},{"type":426,"tag":553,"props":201655,"children":201656},{"style":684},[201657],{"type":431,"value":136400},{"type":426,"tag":553,"props":201659,"children":201660},{"style":566},[201661],{"type":431,"value":982},{"type":426,"tag":553,"props":201663,"children":201664},{"style":572},[201665],{"type":431,"value":18503},{"type":426,"tag":553,"props":201667,"children":201668},{"style":566},[201669],{"type":431,"value":58466},{"type":426,"tag":553,"props":201671,"children":201672},{"style":684},[201673],{"type":431,"value":141461},{"type":426,"tag":553,"props":201675,"children":201676},{"style":566},[201677],{"type":431,"value":982},{"type":426,"tag":553,"props":201679,"children":201680},{"style":572},[201681],{"type":431,"value":201682},"] Failed for ",{"type":426,"tag":553,"props":201684,"children":201685},{"style":566},[201686],{"type":431,"value":972},{"type":426,"tag":553,"props":201688,"children":201689},{"style":684},[201690],{"type":431,"value":141479},{"type":426,"tag":553,"props":201692,"children":201693},{"style":572},[201694],{"type":431,"value":1769},{"type":426,"tag":553,"props":201696,"children":201697},{"style":684},[201698],{"type":431,"value":1240},{"type":426,"tag":553,"props":201700,"children":201701},{"style":566},[201702],{"type":431,"value":982},{"type":426,"tag":553,"props":201704,"children":201705},{"style":572},[201706],{"type":431,"value":700},{"type":426,"tag":553,"props":201708,"children":201709},{"style":566},[201710],{"type":431,"value":972},{"type":426,"tag":553,"props":201712,"children":201713},{"style":684},[201714],{"type":431,"value":53704},{"type":426,"tag":553,"props":201716,"children":201717},{"style":566},[201718],{"type":431,"value":982},{"type":426,"tag":553,"props":201720,"children":201721},{"style":572},[201722],{"type":431,"value":1527},{"type":426,"tag":553,"props":201724,"children":201725},{"style":684},[201726],{"type":431,"value":3262},{"type":426,"tag":553,"props":201728,"children":201729},{"class":555,"line":2105},[201730],{"type":426,"tag":553,"props":201731,"children":201732},{"style":684},[201733],{"type":431,"value":2061},{"type":426,"tag":553,"props":201735,"children":201736},{"class":555,"line":2114},[201737],{"type":426,"tag":553,"props":201738,"children":201739},{"style":1975},[201740],{"type":431,"value":201741},"        # Delay between messages\n",{"type":426,"tag":553,"props":201743,"children":201744},{"class":555,"line":2123},[201745,201749,201753,201757,201761],{"type":426,"tag":553,"props":201746,"children":201747},{"style":795},[201748],{"type":431,"value":2972},{"type":426,"tag":553,"props":201750,"children":201751},{"style":684},[201752],{"type":431,"value":135921},{"type":426,"tag":553,"props":201754,"children":201755},{"style":795},[201756],{"type":431,"value":25949},{"type":426,"tag":553,"props":201758,"children":201759},{"style":566},[201760],{"type":431,"value":64222},{"type":426,"tag":553,"props":201762,"children":201763},{"style":684},[201764],{"type":431,"value":141750},{"type":426,"tag":553,"props":201766,"children":201767},{"class":555,"line":2132},[201768,201772,201776],{"type":426,"tag":553,"props":201769,"children":201770},{"style":684},[201771],{"type":431,"value":9238},{"type":426,"tag":553,"props":201773,"children":201774},{"style":566},[201775],{"type":431,"value":200886},{"type":426,"tag":553,"props":201777,"children":201778},{"style":684},[201779],{"type":431,"value":3262},{"type":426,"tag":553,"props":201781,"children":201782},{"class":555,"line":2151},[201783],{"type":426,"tag":553,"props":201784,"children":201785},{"style":684},[201786],{"type":431,"value":917},{"type":426,"tag":553,"props":201788,"children":201789},{"class":555,"line":2160},[201790,201794],{"type":426,"tag":553,"props":201791,"children":201792},{"style":795},[201793],{"type":431,"value":1659},{"type":426,"tag":553,"props":201795,"children":201796},{"style":684},[201797],{"type":431,"value":3123},{"type":426,"tag":434,"props":201799,"children":201801},{"id":201800},"step-3-compose-your-message-and-run-the-campaign",[201802],{"type":431,"value":201803},"Step 3: Compose Your Message and Run the Campaign",{"type":426,"tag":542,"props":201805,"children":201807},{"code":201806,"language":784,"meta":417,"className":785,"style":417},"# campaign.py\nfrom contacts import contacts\nfrom bulk_sender import send_bulk\n\n# Personalized message template\nmessage_template = (\n    \"Hi {name}! 🎉\\n\\n\"\n    \"*Flash Sale — 30% off everything!*\\n\\n\"\n    \"As a valued customer (last order: {last_order}), \"\n    \"you get early access.\\n\\n\"\n    \"Shop now: https:\u002F\u002Fyourstore.com\u002Fsale\\n\\n\"\n    \"Reply STOP to unsubscribe.\"\n)\n\nprint(f\"Starting campaign for {len(contacts)} contacts...\")\nresults = send_bulk(contacts, message_template)\n\nprint(f\"\\nCampaign complete!\")\nprint(f\"✓ Sent: {results['success']}\")\nprint(f\"✗ Failed: {results['failed']}\")\n\nif results[\"errors\"]:\n    print(\"\\nFailed numbers:\")\n    for err in results[\"errors\"]:\n        print(f\"  {err['phone']}: {err['error']}\")\n",[201808],{"type":426,"tag":549,"props":201809,"children":201810},{"__ignoreMap":417},[201811,201819,201839,201860,201867,201875,201891,201915,201941,201959,201975,201991,201999,202006,202013,202054,202070,202077,202109,202158,202206,202213,202233,202261,202288],{"type":426,"tag":553,"props":201812,"children":201813},{"class":555,"line":556},[201814],{"type":426,"tag":553,"props":201815,"children":201816},{"style":1975},[201817],{"type":431,"value":201818},"# campaign.py\n",{"type":426,"tag":553,"props":201820,"children":201821},{"class":555,"line":588},[201822,201826,201831,201835],{"type":426,"tag":553,"props":201823,"children":201824},{"style":795},[201825],{"type":431,"value":811},{"type":426,"tag":553,"props":201827,"children":201828},{"style":684},[201829],{"type":431,"value":201830}," contacts ",{"type":426,"tag":553,"props":201832,"children":201833},{"style":795},[201834],{"type":431,"value":798},{"type":426,"tag":553,"props":201836,"children":201837},{"style":684},[201838],{"type":431,"value":200705},{"type":426,"tag":553,"props":201840,"children":201841},{"class":555,"line":606},[201842,201846,201851,201855],{"type":426,"tag":553,"props":201843,"children":201844},{"style":795},[201845],{"type":431,"value":811},{"type":426,"tag":553,"props":201847,"children":201848},{"style":684},[201849],{"type":431,"value":201850}," bulk_sender ",{"type":426,"tag":553,"props":201852,"children":201853},{"style":795},[201854],{"type":431,"value":798},{"type":426,"tag":553,"props":201856,"children":201857},{"style":684},[201858],{"type":431,"value":201859}," send_bulk\n",{"type":426,"tag":553,"props":201861,"children":201862},{"class":555,"line":623},[201863],{"type":426,"tag":553,"props":201864,"children":201865},{"emptyLinePlaceholder":831},[201866],{"type":431,"value":834},{"type":426,"tag":553,"props":201868,"children":201869},{"class":555,"line":637},[201870],{"type":426,"tag":553,"props":201871,"children":201872},{"style":1975},[201873],{"type":431,"value":201874},"# Personalized message template\n",{"type":426,"tag":553,"props":201876,"children":201877},{"class":555,"line":646},[201878,201883,201887],{"type":426,"tag":553,"props":201879,"children":201880},{"style":684},[201881],{"type":431,"value":201882},"message_template ",{"type":426,"tag":553,"props":201884,"children":201885},{"style":795},[201886],{"type":431,"value":957},{"type":426,"tag":553,"props":201888,"children":201889},{"style":684},[201890],{"type":431,"value":1207},{"type":426,"tag":553,"props":201892,"children":201893},{"class":555,"line":655},[201894,201899,201903,201907,201911],{"type":426,"tag":553,"props":201895,"children":201896},{"style":572},[201897],{"type":431,"value":201898},"    \"Hi ",{"type":426,"tag":553,"props":201900,"children":201901},{"style":566},[201902],{"type":431,"value":34991},{"type":426,"tag":553,"props":201904,"children":201905},{"style":572},[201906],{"type":431,"value":38977},{"type":426,"tag":553,"props":201908,"children":201909},{"style":566},[201910],{"type":431,"value":1295},{"type":426,"tag":553,"props":201912,"children":201913},{"style":572},[201914],{"type":431,"value":1250},{"type":426,"tag":553,"props":201916,"children":201917},{"class":555,"line":1036},[201918,201923,201928,201933,201937],{"type":426,"tag":553,"props":201919,"children":201920},{"style":572},[201921],{"type":431,"value":201922},"    \"*Flash Sale — 30",{"type":426,"tag":553,"props":201924,"children":201925},{"style":566},[201926],{"type":431,"value":201927},"% o",{"type":426,"tag":553,"props":201929,"children":201930},{"style":572},[201931],{"type":431,"value":201932},"ff everything!*",{"type":426,"tag":553,"props":201934,"children":201935},{"style":566},[201936],{"type":431,"value":1295},{"type":426,"tag":553,"props":201938,"children":201939},{"style":572},[201940],{"type":431,"value":1250},{"type":426,"tag":553,"props":201942,"children":201943},{"class":555,"line":1054},[201944,201949,201954],{"type":426,"tag":553,"props":201945,"children":201946},{"style":572},[201947],{"type":431,"value":201948},"    \"As a valued customer (last order: ",{"type":426,"tag":553,"props":201950,"children":201951},{"style":566},[201952],{"type":431,"value":201953},"{last_order}",{"type":426,"tag":553,"props":201955,"children":201956},{"style":572},[201957],{"type":431,"value":201958},"), \"\n",{"type":426,"tag":553,"props":201960,"children":201961},{"class":555,"line":1080},[201962,201967,201971],{"type":426,"tag":553,"props":201963,"children":201964},{"style":572},[201965],{"type":431,"value":201966},"    \"you get early access.",{"type":426,"tag":553,"props":201968,"children":201969},{"style":566},[201970],{"type":431,"value":1295},{"type":426,"tag":553,"props":201972,"children":201973},{"style":572},[201974],{"type":431,"value":1250},{"type":426,"tag":553,"props":201976,"children":201977},{"class":555,"line":1097},[201978,201983,201987],{"type":426,"tag":553,"props":201979,"children":201980},{"style":572},[201981],{"type":431,"value":201982},"    \"Shop now: https:\u002F\u002Fyourstore.com\u002Fsale",{"type":426,"tag":553,"props":201984,"children":201985},{"style":566},[201986],{"type":431,"value":1295},{"type":426,"tag":553,"props":201988,"children":201989},{"style":572},[201990],{"type":431,"value":1250},{"type":426,"tag":553,"props":201992,"children":201993},{"class":555,"line":1114},[201994],{"type":426,"tag":553,"props":201995,"children":201996},{"style":572},[201997],{"type":431,"value":201998},"    \"Reply STOP to unsubscribe.\"\n",{"type":426,"tag":553,"props":202000,"children":202001},{"class":555,"line":1127},[202002],{"type":426,"tag":553,"props":202003,"children":202004},{"style":684},[202005],{"type":431,"value":3262},{"type":426,"tag":553,"props":202007,"children":202008},{"class":555,"line":1167},[202009],{"type":426,"tag":553,"props":202010,"children":202011},{"emptyLinePlaceholder":831},[202012],{"type":431,"value":834},{"type":426,"tag":553,"props":202014,"children":202015},{"class":555,"line":1184},[202016,202020,202024,202028,202033,202037,202041,202045,202050],{"type":426,"tag":553,"props":202017,"children":202018},{"style":566},[202019],{"type":431,"value":3270},{"type":426,"tag":553,"props":202021,"children":202022},{"style":684},[202023],{"type":431,"value":3275},{"type":426,"tag":553,"props":202025,"children":202026},{"style":795},[202027],{"type":431,"value":1709},{"type":426,"tag":553,"props":202029,"children":202030},{"style":572},[202031],{"type":431,"value":202032},"\"Starting campaign for ",{"type":426,"tag":553,"props":202034,"children":202035},{"style":566},[202036],{"type":431,"value":58466},{"type":426,"tag":553,"props":202038,"children":202039},{"style":684},[202040],{"type":431,"value":141461},{"type":426,"tag":553,"props":202042,"children":202043},{"style":566},[202044],{"type":431,"value":982},{"type":426,"tag":553,"props":202046,"children":202047},{"style":572},[202048],{"type":431,"value":202049}," contacts...\"",{"type":426,"tag":553,"props":202051,"children":202052},{"style":684},[202053],{"type":431,"value":3262},{"type":426,"tag":553,"props":202055,"children":202056},{"class":555,"line":1192},[202057,202061,202065],{"type":426,"tag":553,"props":202058,"children":202059},{"style":684},[202060],{"type":431,"value":142011},{"type":426,"tag":553,"props":202062,"children":202063},{"style":795},[202064],{"type":431,"value":957},{"type":426,"tag":553,"props":202066,"children":202067},{"style":684},[202068],{"type":431,"value":202069}," send_bulk(contacts, message_template)\n",{"type":426,"tag":553,"props":202071,"children":202072},{"class":555,"line":1210},[202073],{"type":426,"tag":553,"props":202074,"children":202075},{"emptyLinePlaceholder":831},[202076],{"type":431,"value":834},{"type":426,"tag":553,"props":202078,"children":202079},{"class":555,"line":1253},[202080,202084,202088,202092,202096,202100,202105],{"type":426,"tag":553,"props":202081,"children":202082},{"style":566},[202083],{"type":431,"value":3270},{"type":426,"tag":553,"props":202085,"children":202086},{"style":684},[202087],{"type":431,"value":3275},{"type":426,"tag":553,"props":202089,"children":202090},{"style":795},[202091],{"type":431,"value":1709},{"type":426,"tag":553,"props":202093,"children":202094},{"style":572},[202095],{"type":431,"value":1527},{"type":426,"tag":553,"props":202097,"children":202098},{"style":566},[202099],{"type":431,"value":3661},{"type":426,"tag":553,"props":202101,"children":202102},{"style":572},[202103],{"type":431,"value":202104},"Campaign complete!\"",{"type":426,"tag":553,"props":202106,"children":202107},{"style":684},[202108],{"type":431,"value":3262},{"type":426,"tag":553,"props":202110,"children":202111},{"class":555,"line":1302},[202112,202116,202120,202124,202129,202133,202138,202142,202146,202150,202154],{"type":426,"tag":553,"props":202113,"children":202114},{"style":566},[202115],{"type":431,"value":3270},{"type":426,"tag":553,"props":202117,"children":202118},{"style":684},[202119],{"type":431,"value":3275},{"type":426,"tag":553,"props":202121,"children":202122},{"style":795},[202123],{"type":431,"value":1709},{"type":426,"tag":553,"props":202125,"children":202126},{"style":572},[202127],{"type":431,"value":202128},"\"✓ Sent: ",{"type":426,"tag":553,"props":202130,"children":202131},{"style":566},[202132],{"type":431,"value":972},{"type":426,"tag":553,"props":202134,"children":202135},{"style":684},[202136],{"type":431,"value":202137},"results[",{"type":426,"tag":553,"props":202139,"children":202140},{"style":572},[202141],{"type":431,"value":10148},{"type":426,"tag":553,"props":202143,"children":202144},{"style":684},[202145],{"type":431,"value":1240},{"type":426,"tag":553,"props":202147,"children":202148},{"style":566},[202149],{"type":431,"value":982},{"type":426,"tag":553,"props":202151,"children":202152},{"style":572},[202153],{"type":431,"value":1527},{"type":426,"tag":553,"props":202155,"children":202156},{"style":684},[202157],{"type":431,"value":3262},{"type":426,"tag":553,"props":202159,"children":202160},{"class":555,"line":1374},[202161,202165,202169,202173,202178,202182,202186,202190,202194,202198,202202],{"type":426,"tag":553,"props":202162,"children":202163},{"style":566},[202164],{"type":431,"value":3270},{"type":426,"tag":553,"props":202166,"children":202167},{"style":684},[202168],{"type":431,"value":3275},{"type":426,"tag":553,"props":202170,"children":202171},{"style":795},[202172],{"type":431,"value":1709},{"type":426,"tag":553,"props":202174,"children":202175},{"style":572},[202176],{"type":431,"value":202177},"\"✗ Failed: ",{"type":426,"tag":553,"props":202179,"children":202180},{"style":566},[202181],{"type":431,"value":972},{"type":426,"tag":553,"props":202183,"children":202184},{"style":684},[202185],{"type":431,"value":202137},{"type":426,"tag":553,"props":202187,"children":202188},{"style":572},[202189],{"type":431,"value":2788},{"type":426,"tag":553,"props":202191,"children":202192},{"style":684},[202193],{"type":431,"value":1240},{"type":426,"tag":553,"props":202195,"children":202196},{"style":566},[202197],{"type":431,"value":982},{"type":426,"tag":553,"props":202199,"children":202200},{"style":572},[202201],{"type":431,"value":1527},{"type":426,"tag":553,"props":202203,"children":202204},{"style":684},[202205],{"type":431,"value":3262},{"type":426,"tag":553,"props":202207,"children":202208},{"class":555,"line":1414},[202209],{"type":426,"tag":553,"props":202210,"children":202211},{"emptyLinePlaceholder":831},[202212],{"type":431,"value":834},{"type":426,"tag":553,"props":202214,"children":202215},{"class":555,"line":1479},[202216,202220,202225,202229],{"type":426,"tag":553,"props":202217,"children":202218},{"style":795},[202219],{"type":431,"value":7510},{"type":426,"tag":553,"props":202221,"children":202222},{"style":684},[202223],{"type":431,"value":202224}," results[",{"type":426,"tag":553,"props":202226,"children":202227},{"style":572},[202228],{"type":431,"value":201317},{"type":426,"tag":553,"props":202230,"children":202231},{"style":684},[202232],{"type":431,"value":12008},{"type":426,"tag":553,"props":202234,"children":202235},{"class":555,"line":1517},[202236,202240,202244,202248,202252,202257],{"type":426,"tag":553,"props":202237,"children":202238},{"style":566},[202239],{"type":431,"value":51971},{"type":426,"tag":553,"props":202241,"children":202242},{"style":684},[202243],{"type":431,"value":3275},{"type":426,"tag":553,"props":202245,"children":202246},{"style":572},[202247],{"type":431,"value":1527},{"type":426,"tag":553,"props":202249,"children":202250},{"style":566},[202251],{"type":431,"value":3661},{"type":426,"tag":553,"props":202253,"children":202254},{"style":572},[202255],{"type":431,"value":202256},"Failed numbers:\"",{"type":426,"tag":553,"props":202258,"children":202259},{"style":684},[202260],{"type":431,"value":3262},{"type":426,"tag":553,"props":202262,"children":202263},{"class":555,"line":1560},[202264,202268,202272,202276,202280,202284],{"type":426,"tag":553,"props":202265,"children":202266},{"style":795},[202267],{"type":431,"value":1995},{"type":426,"tag":553,"props":202269,"children":202270},{"style":684},[202271],{"type":431,"value":173043},{"type":426,"tag":553,"props":202273,"children":202274},{"style":795},[202275],{"type":431,"value":2005},{"type":426,"tag":553,"props":202277,"children":202278},{"style":684},[202279],{"type":431,"value":202224},{"type":426,"tag":553,"props":202281,"children":202282},{"style":572},[202283],{"type":431,"value":201317},{"type":426,"tag":553,"props":202285,"children":202286},{"style":684},[202287],{"type":431,"value":12008},{"type":426,"tag":553,"props":202289,"children":202290},{"class":555,"line":1598},[202291,202295,202299,202303,202308,202312,202317,202321,202325,202329,202333,202337,202341,202345,202349,202353,202357],{"type":426,"tag":553,"props":202292,"children":202293},{"style":566},[202294],{"type":431,"value":181329},{"type":426,"tag":553,"props":202296,"children":202297},{"style":684},[202298],{"type":431,"value":3275},{"type":426,"tag":553,"props":202300,"children":202301},{"style":795},[202302],{"type":431,"value":1709},{"type":426,"tag":553,"props":202304,"children":202305},{"style":572},[202306],{"type":431,"value":202307},"\"  ",{"type":426,"tag":553,"props":202309,"children":202310},{"style":566},[202311],{"type":431,"value":972},{"type":426,"tag":553,"props":202313,"children":202314},{"style":684},[202315],{"type":431,"value":202316},"err[",{"type":426,"tag":553,"props":202318,"children":202319},{"style":572},[202320],{"type":431,"value":1769},{"type":426,"tag":553,"props":202322,"children":202323},{"style":684},[202324],{"type":431,"value":1240},{"type":426,"tag":553,"props":202326,"children":202327},{"style":566},[202328],{"type":431,"value":982},{"type":426,"tag":553,"props":202330,"children":202331},{"style":572},[202332],{"type":431,"value":700},{"type":426,"tag":553,"props":202334,"children":202335},{"style":566},[202336],{"type":431,"value":972},{"type":426,"tag":553,"props":202338,"children":202339},{"style":684},[202340],{"type":431,"value":202316},{"type":426,"tag":553,"props":202342,"children":202343},{"style":572},[202344],{"type":431,"value":13699},{"type":426,"tag":553,"props":202346,"children":202347},{"style":684},[202348],{"type":431,"value":1240},{"type":426,"tag":553,"props":202350,"children":202351},{"style":566},[202352],{"type":431,"value":982},{"type":426,"tag":553,"props":202354,"children":202355},{"style":572},[202356],{"type":431,"value":1527},{"type":426,"tag":553,"props":202358,"children":202359},{"style":684},[202360],{"type":431,"value":3262},{"type":426,"tag":427,"props":202362,"children":202363},{},[202364],{"type":426,"tag":446,"props":202365,"children":202366},{},[202367],{"type":431,"value":202368},"Output:",{"type":426,"tag":542,"props":202370,"children":202372},{"code":202371},"Starting campaign for 3 contacts...\n[1\u002F3] Sent to 8801111111111 ✓\n[2\u002F3] Sent to 8802222222222 ✓\n[3\u002F3] Sent to 8803333333333 ✓\n\nCampaign complete!\n✓ Sent: 3\n✗ Failed: 0\n",[202373],{"type":426,"tag":549,"props":202374,"children":202375},{"__ignoreMap":417},[202376],{"type":431,"value":202371},{"type":426,"tag":434,"props":202378,"children":202380},{"id":202379},"step-4-handle-rate-limits-and-retries",[202381],{"type":431,"value":202382},"Step 4: Handle Rate Limits and Retries",{"type":426,"tag":427,"props":202384,"children":202385},{},[202386],{"type":431,"value":202387},"For large campaigns (1,000+ contacts), add exponential backoff retry logic:",{"type":426,"tag":542,"props":202389,"children":202391},{"code":202390,"language":784,"meta":417,"className":785,"style":417},"import time\nimport requests\n\ndef send_message_with_retry(phone, message, max_retries=3):\n    for attempt in range(max_retries):\n        response = requests.post(\n            \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n            json={\"number\": phone, \"message\": message},\n            timeout=10\n        )\n        \n        if response.status_code == 200:\n            return response.json()\n        elif response.status_code == 429:\n            # Rate limited — wait longer\n            wait_time = (2 ** attempt) * 2  # 2s, 4s, 8s\n            print(f\"Rate limited. Waiting {wait_time}s before retry {attempt + 1}\")\n            time.sleep(wait_time)\n        else:\n            print(f\"Error {response.status_code}: {response.text}\")\n            return {\"status\": \"error\", \"code\": response.status_code}\n    \n    return {\"status\": \"failed\", \"reason\": \"max_retries_exceeded\"}\n",[202392],{"type":426,"tag":549,"props":202393,"children":202394},{"__ignoreMap":417},[202395,202406,202417,202424,202453,202476,202491,202502,202533,202564,202579,202586,202593,202616,202627,202651,202659,202701,202765,202773,202784,202841,202877,202884],{"type":426,"tag":553,"props":202396,"children":202397},{"class":555,"line":556},[202398,202402],{"type":426,"tag":553,"props":202399,"children":202400},{"style":795},[202401],{"type":431,"value":798},{"type":426,"tag":553,"props":202403,"children":202404},{"style":684},[202405],{"type":431,"value":3081},{"type":426,"tag":553,"props":202407,"children":202408},{"class":555,"line":588},[202409,202413],{"type":426,"tag":553,"props":202410,"children":202411},{"style":795},[202412],{"type":431,"value":798},{"type":426,"tag":553,"props":202414,"children":202415},{"style":684},[202416],{"type":431,"value":803},{"type":426,"tag":553,"props":202418,"children":202419},{"class":555,"line":606},[202420],{"type":426,"tag":553,"props":202421,"children":202422},{"emptyLinePlaceholder":831},[202423],{"type":431,"value":834},{"type":426,"tag":553,"props":202425,"children":202426},{"class":555,"line":623},[202427,202431,202436,202441,202445,202449],{"type":426,"tag":553,"props":202428,"children":202429},{"style":795},[202430],{"type":431,"value":842},{"type":426,"tag":553,"props":202432,"children":202433},{"style":560},[202434],{"type":431,"value":202435}," send_message_with_retry",{"type":426,"tag":553,"props":202437,"children":202438},{"style":684},[202439],{"type":431,"value":202440},"(phone, message, max_retries",{"type":426,"tag":553,"props":202442,"children":202443},{"style":795},[202444],{"type":431,"value":957},{"type":426,"tag":553,"props":202446,"children":202447},{"style":566},[202448],{"type":431,"value":1912},{"type":426,"tag":553,"props":202450,"children":202451},{"style":684},[202452],{"type":431,"value":8370},{"type":426,"tag":553,"props":202454,"children":202455},{"class":555,"line":637},[202456,202460,202464,202468,202472],{"type":426,"tag":553,"props":202457,"children":202458},{"style":795},[202459],{"type":431,"value":1995},{"type":426,"tag":553,"props":202461,"children":202462},{"style":684},[202463],{"type":431,"value":8800},{"type":426,"tag":553,"props":202465,"children":202466},{"style":795},[202467],{"type":431,"value":2005},{"type":426,"tag":553,"props":202469,"children":202470},{"style":566},[202471],{"type":431,"value":8809},{"type":426,"tag":553,"props":202473,"children":202474},{"style":684},[202475],{"type":431,"value":8814},{"type":426,"tag":553,"props":202477,"children":202478},{"class":555,"line":646},[202479,202483,202487],{"type":426,"tag":553,"props":202480,"children":202481},{"style":684},[202482],{"type":431,"value":12557},{"type":426,"tag":553,"props":202484,"children":202485},{"style":795},[202486],{"type":431,"value":957},{"type":426,"tag":553,"props":202488,"children":202489},{"style":684},[202490],{"type":431,"value":1664},{"type":426,"tag":553,"props":202492,"children":202493},{"class":555,"line":655},[202494,202498],{"type":426,"tag":553,"props":202495,"children":202496},{"style":572},[202497],{"type":431,"value":180637},{"type":426,"tag":553,"props":202499,"children":202500},{"style":684},[202501],{"type":431,"value":710},{"type":426,"tag":553,"props":202503,"children":202504},{"class":555,"line":1036},[202505,202509,202513,202517,202521,202525,202529],{"type":426,"tag":553,"props":202506,"children":202507},{"style":1684},[202508],{"type":431,"value":2864},{"type":426,"tag":553,"props":202510,"children":202511},{"style":795},[202512],{"type":431,"value":957},{"type":426,"tag":553,"props":202514,"children":202515},{"style":684},[202516],{"type":431,"value":972},{"type":426,"tag":553,"props":202518,"children":202519},{"style":572},[202520],{"type":431,"value":45214},{"type":426,"tag":553,"props":202522,"children":202523},{"style":684},[202524],{"type":431,"value":700},{"type":426,"tag":553,"props":202526,"children":202527},{"style":572},[202528],{"type":431,"value":140737},{"type":426,"tag":553,"props":202530,"children":202531},{"style":684},[202532],{"type":431,"value":1737},{"type":426,"tag":553,"props":202534,"children":202535},{"class":555,"line":1054},[202536,202540,202544,202548,202552,202556,202560],{"type":426,"tag":553,"props":202537,"children":202538},{"style":1684},[202539],{"type":431,"value":2916},{"type":426,"tag":553,"props":202541,"children":202542},{"style":795},[202543],{"type":431,"value":957},{"type":426,"tag":553,"props":202545,"children":202546},{"style":684},[202547],{"type":431,"value":972},{"type":426,"tag":553,"props":202549,"children":202550},{"style":572},[202551],{"type":431,"value":45266},{"type":426,"tag":553,"props":202553,"children":202554},{"style":684},[202555],{"type":431,"value":8931},{"type":426,"tag":553,"props":202557,"children":202558},{"style":572},[202559],{"type":431,"value":45275},{"type":426,"tag":553,"props":202561,"children":202562},{"style":684},[202563],{"type":431,"value":8940},{"type":426,"tag":553,"props":202565,"children":202566},{"class":555,"line":1080},[202567,202571,202575],{"type":426,"tag":553,"props":202568,"children":202569},{"style":1684},[202570],{"type":431,"value":12677},{"type":426,"tag":553,"props":202572,"children":202573},{"style":795},[202574],{"type":431,"value":957},{"type":426,"tag":553,"props":202576,"children":202577},{"style":566},[202578],{"type":431,"value":56966},{"type":426,"tag":553,"props":202580,"children":202581},{"class":555,"line":1097},[202582],{"type":426,"tag":553,"props":202583,"children":202584},{"style":684},[202585],{"type":431,"value":6037},{"type":426,"tag":553,"props":202587,"children":202588},{"class":555,"line":1114},[202589],{"type":426,"tag":553,"props":202590,"children":202591},{"style":684},[202592],{"type":431,"value":2061},{"type":426,"tag":553,"props":202594,"children":202595},{"class":555,"line":1127},[202596,202600,202604,202608,202612],{"type":426,"tag":553,"props":202597,"children":202598},{"style":795},[202599],{"type":431,"value":2972},{"type":426,"tag":553,"props":202601,"children":202602},{"style":684},[202603],{"type":431,"value":8985},{"type":426,"tag":553,"props":202605,"children":202606},{"style":795},[202607],{"type":431,"value":1069},{"type":426,"tag":553,"props":202609,"children":202610},{"style":566},[202611],{"type":431,"value":61582},{"type":426,"tag":553,"props":202613,"children":202614},{"style":684},[202615],{"type":431,"value":909},{"type":426,"tag":553,"props":202617,"children":202618},{"class":555,"line":1167},[202619,202623],{"type":426,"tag":553,"props":202620,"children":202621},{"style":795},[202622],{"type":431,"value":9188},{"type":426,"tag":553,"props":202624,"children":202625},{"style":684},[202626],{"type":431,"value":9193},{"type":426,"tag":553,"props":202628,"children":202629},{"class":555,"line":1184},[202630,202635,202639,202643,202647],{"type":426,"tag":553,"props":202631,"children":202632},{"style":795},[202633],{"type":431,"value":202634},"        elif",{"type":426,"tag":553,"props":202636,"children":202637},{"style":684},[202638],{"type":431,"value":8985},{"type":426,"tag":553,"props":202640,"children":202641},{"style":795},[202642],{"type":431,"value":1069},{"type":426,"tag":553,"props":202644,"children":202645},{"style":566},[202646],{"type":431,"value":9051},{"type":426,"tag":553,"props":202648,"children":202649},{"style":684},[202650],{"type":431,"value":909},{"type":426,"tag":553,"props":202652,"children":202653},{"class":555,"line":1192},[202654],{"type":426,"tag":553,"props":202655,"children":202656},{"style":1975},[202657],{"type":431,"value":202658},"            # Rate limited — wait longer\n",{"type":426,"tag":553,"props":202660,"children":202661},{"class":555,"line":1210},[202662,202667,202671,202675,202679,202683,202688,202692,202696],{"type":426,"tag":553,"props":202663,"children":202664},{"style":684},[202665],{"type":431,"value":202666},"            wait_time ",{"type":426,"tag":553,"props":202668,"children":202669},{"style":795},[202670],{"type":431,"value":957},{"type":426,"tag":553,"props":202672,"children":202673},{"style":684},[202674],{"type":431,"value":5684},{"type":426,"tag":553,"props":202676,"children":202677},{"style":566},[202678],{"type":431,"value":6533},{"type":426,"tag":553,"props":202680,"children":202681},{"style":795},[202682],{"type":431,"value":9077},{"type":426,"tag":553,"props":202684,"children":202685},{"style":684},[202686],{"type":431,"value":202687}," attempt) ",{"type":426,"tag":553,"props":202689,"children":202690},{"style":795},[202691],{"type":431,"value":5801},{"type":426,"tag":553,"props":202693,"children":202694},{"style":566},[202695],{"type":431,"value":9072},{"type":426,"tag":553,"props":202697,"children":202698},{"style":1975},[202699],{"type":431,"value":202700},"  # 2s, 4s, 8s\n",{"type":426,"tag":553,"props":202702,"children":202703},{"class":555,"line":1253},[202704,202708,202712,202716,202721,202725,202730,202734,202739,202743,202748,202752,202757,202761],{"type":426,"tag":553,"props":202705,"children":202706},{"style":566},[202707],{"type":431,"value":191925},{"type":426,"tag":553,"props":202709,"children":202710},{"style":684},[202711],{"type":431,"value":3275},{"type":426,"tag":553,"props":202713,"children":202714},{"style":795},[202715],{"type":431,"value":1709},{"type":426,"tag":553,"props":202717,"children":202718},{"style":572},[202719],{"type":431,"value":202720},"\"Rate limited. Waiting ",{"type":426,"tag":553,"props":202722,"children":202723},{"style":566},[202724],{"type":431,"value":972},{"type":426,"tag":553,"props":202726,"children":202727},{"style":684},[202728],{"type":431,"value":202729},"wait_time",{"type":426,"tag":553,"props":202731,"children":202732},{"style":566},[202733],{"type":431,"value":982},{"type":426,"tag":553,"props":202735,"children":202736},{"style":572},[202737],{"type":431,"value":202738},"s before retry ",{"type":426,"tag":553,"props":202740,"children":202741},{"style":566},[202742],{"type":431,"value":972},{"type":426,"tag":553,"props":202744,"children":202745},{"style":684},[202746],{"type":431,"value":202747},"attempt ",{"type":426,"tag":553,"props":202749,"children":202750},{"style":795},[202751],{"type":431,"value":2033},{"type":426,"tag":553,"props":202753,"children":202754},{"style":566},[202755],{"type":431,"value":202756}," 1}",{"type":426,"tag":553,"props":202758,"children":202759},{"style":572},[202760],{"type":431,"value":1527},{"type":426,"tag":553,"props":202762,"children":202763},{"style":684},[202764],{"type":431,"value":3262},{"type":426,"tag":553,"props":202766,"children":202767},{"class":555,"line":1302},[202768],{"type":426,"tag":553,"props":202769,"children":202770},{"style":684},[202771],{"type":431,"value":202772},"            time.sleep(wait_time)\n",{"type":426,"tag":553,"props":202774,"children":202775},{"class":555,"line":1374},[202776,202780],{"type":426,"tag":553,"props":202777,"children":202778},{"style":795},[202779],{"type":431,"value":3034},{"type":426,"tag":553,"props":202781,"children":202782},{"style":684},[202783],{"type":431,"value":909},{"type":426,"tag":553,"props":202785,"children":202786},{"class":555,"line":1414},[202787,202791,202795,202799,202804,202808,202813,202817,202821,202825,202829,202833,202837],{"type":426,"tag":553,"props":202788,"children":202789},{"style":566},[202790],{"type":431,"value":191925},{"type":426,"tag":553,"props":202792,"children":202793},{"style":684},[202794],{"type":431,"value":3275},{"type":426,"tag":553,"props":202796,"children":202797},{"style":795},[202798],{"type":431,"value":1709},{"type":426,"tag":553,"props":202800,"children":202801},{"style":572},[202802],{"type":431,"value":202803},"\"Error ",{"type":426,"tag":553,"props":202805,"children":202806},{"style":566},[202807],{"type":431,"value":972},{"type":426,"tag":553,"props":202809,"children":202810},{"style":684},[202811],{"type":431,"value":202812},"response.status_code",{"type":426,"tag":553,"props":202814,"children":202815},{"style":566},[202816],{"type":431,"value":982},{"type":426,"tag":553,"props":202818,"children":202819},{"style":572},[202820],{"type":431,"value":700},{"type":426,"tag":553,"props":202822,"children":202823},{"style":566},[202824],{"type":431,"value":972},{"type":426,"tag":553,"props":202826,"children":202827},{"style":684},[202828],{"type":431,"value":143274},{"type":426,"tag":553,"props":202830,"children":202831},{"style":566},[202832],{"type":431,"value":982},{"type":426,"tag":553,"props":202834,"children":202835},{"style":572},[202836],{"type":431,"value":1527},{"type":426,"tag":553,"props":202838,"children":202839},{"style":684},[202840],{"type":431,"value":3262},{"type":426,"tag":553,"props":202842,"children":202843},{"class":555,"line":1479},[202844,202848,202852,202856,202860,202864,202868,202872],{"type":426,"tag":553,"props":202845,"children":202846},{"style":795},[202847],{"type":431,"value":9188},{"type":426,"tag":553,"props":202849,"children":202850},{"style":684},[202851],{"type":431,"value":1450},{"type":426,"tag":553,"props":202853,"children":202854},{"style":572},[202855],{"type":431,"value":68957},{"type":426,"tag":553,"props":202857,"children":202858},{"style":684},[202859],{"type":431,"value":700},{"type":426,"tag":553,"props":202861,"children":202862},{"style":572},[202863],{"type":431,"value":122447},{"type":426,"tag":553,"props":202865,"children":202866},{"style":684},[202867],{"type":431,"value":1907},{"type":426,"tag":553,"props":202869,"children":202870},{"style":572},[202871],{"type":431,"value":178989},{"type":426,"tag":553,"props":202873,"children":202874},{"style":684},[202875],{"type":431,"value":202876},": response.status_code}\n",{"type":426,"tag":553,"props":202878,"children":202879},{"class":555,"line":1517},[202880],{"type":426,"tag":553,"props":202881,"children":202882},{"style":684},[202883],{"type":431,"value":917},{"type":426,"tag":553,"props":202885,"children":202886},{"class":555,"line":1560},[202887,202891,202895,202899,202903,202907,202911,202916,202920,202925],{"type":426,"tag":553,"props":202888,"children":202889},{"style":795},[202890],{"type":431,"value":1659},{"type":426,"tag":553,"props":202892,"children":202893},{"style":684},[202894],{"type":431,"value":1450},{"type":426,"tag":553,"props":202896,"children":202897},{"style":572},[202898],{"type":431,"value":68957},{"type":426,"tag":553,"props":202900,"children":202901},{"style":684},[202902],{"type":431,"value":700},{"type":426,"tag":553,"props":202904,"children":202905},{"style":572},[202906],{"type":431,"value":141115},{"type":426,"tag":553,"props":202908,"children":202909},{"style":684},[202910],{"type":431,"value":1907},{"type":426,"tag":553,"props":202912,"children":202913},{"style":572},[202914],{"type":431,"value":202915},"\"reason\"",{"type":426,"tag":553,"props":202917,"children":202918},{"style":684},[202919],{"type":431,"value":700},{"type":426,"tag":553,"props":202921,"children":202922},{"style":572},[202923],{"type":431,"value":202924},"\"max_retries_exceeded\"",{"type":426,"tag":553,"props":202926,"children":202927},{"style":684},[202928],{"type":431,"value":756},{"type":426,"tag":434,"props":202930,"children":202932},{"id":202931},"step-5-send-in-batches-for-very-large-lists",[202933],{"type":431,"value":202934},"Step 5: Send in Batches for Very Large Lists",{"type":426,"tag":427,"props":202936,"children":202937},{},[202938],{"type":431,"value":202939},"For lists over 5,000 contacts, split into batches and run over multiple hours:",{"type":426,"tag":542,"props":202941,"children":202943},{"code":202942,"language":784,"meta":417,"className":785,"style":417},"def send_in_batches(contacts, message_template, batch_size=100, pause_between_batches=300):\n    \"\"\"\n    Send to batches of contacts with a longer pause between batches.\n    pause_between_batches: seconds to wait between batches (default: 5 minutes)\n    \"\"\"\n    batches = [contacts[i:i+batch_size] for i in range(0, len(contacts), batch_size)]\n    \n    for batch_num, batch in enumerate(batches, 1):\n        print(f\"\\nProcessing batch {batch_num}\u002F{len(batches)} ({len(batch)} contacts)\")\n        \n        for contact in batch:\n            message = message_template.format(**contact)\n            send_message(contact[\"phone\"], message)\n            time.sleep(1.5)\n        \n        if batch_num \u003C len(batches):\n            print(f\"Batch complete. Pausing {pause_between_batches}s before next batch...\")\n            time.sleep(pause_between_batches)\n    \n    print(\"\\nAll batches complete!\")\n",[202944],{"type":426,"tag":549,"props":202945,"children":202946},{"__ignoreMap":417},[202947,202989,202996,203004,203012,203019,203082,203089,203122,203206,203213,203233,203256,203272,203287,203294,203319,203361,203369,203376],{"type":426,"tag":553,"props":202948,"children":202949},{"class":555,"line":556},[202950,202954,202959,202964,202968,202972,202977,202981,202985],{"type":426,"tag":553,"props":202951,"children":202952},{"style":795},[202953],{"type":431,"value":842},{"type":426,"tag":553,"props":202955,"children":202956},{"style":560},[202957],{"type":431,"value":202958}," send_in_batches",{"type":426,"tag":553,"props":202960,"children":202961},{"style":684},[202962],{"type":431,"value":202963},"(contacts, message_template, batch_size",{"type":426,"tag":553,"props":202965,"children":202966},{"style":795},[202967],{"type":431,"value":957},{"type":426,"tag":553,"props":202969,"children":202970},{"style":566},[202971],{"type":431,"value":11264},{"type":426,"tag":553,"props":202973,"children":202974},{"style":684},[202975],{"type":431,"value":202976},", pause_between_batches",{"type":426,"tag":553,"props":202978,"children":202979},{"style":795},[202980],{"type":431,"value":957},{"type":426,"tag":553,"props":202982,"children":202983},{"style":566},[202984],{"type":431,"value":145915},{"type":426,"tag":553,"props":202986,"children":202987},{"style":684},[202988],{"type":431,"value":8370},{"type":426,"tag":553,"props":202990,"children":202991},{"class":555,"line":588},[202992],{"type":426,"tag":553,"props":202993,"children":202994},{"style":572},[202995],{"type":431,"value":2673},{"type":426,"tag":553,"props":202997,"children":202998},{"class":555,"line":606},[202999],{"type":426,"tag":553,"props":203000,"children":203001},{"style":572},[203002],{"type":431,"value":203003},"    Send to batches of contacts with a longer pause between batches.\n",{"type":426,"tag":553,"props":203005,"children":203006},{"class":555,"line":623},[203007],{"type":426,"tag":553,"props":203008,"children":203009},{"style":572},[203010],{"type":431,"value":203011},"    pause_between_batches: seconds to wait between batches (default: 5 minutes)\n",{"type":426,"tag":553,"props":203013,"children":203014},{"class":555,"line":637},[203015],{"type":426,"tag":553,"props":203016,"children":203017},{"style":572},[203018],{"type":431,"value":2673},{"type":426,"tag":553,"props":203020,"children":203021},{"class":555,"line":646},[203022,203027,203031,203036,203040,203045,203049,203053,203057,203061,203065,203069,203073,203077],{"type":426,"tag":553,"props":203023,"children":203024},{"style":684},[203025],{"type":431,"value":203026},"    batches ",{"type":426,"tag":553,"props":203028,"children":203029},{"style":795},[203030],{"type":431,"value":957},{"type":426,"tag":553,"props":203032,"children":203033},{"style":684},[203034],{"type":431,"value":203035}," [contacts[i:i",{"type":426,"tag":553,"props":203037,"children":203038},{"style":795},[203039],{"type":431,"value":2033},{"type":426,"tag":553,"props":203041,"children":203042},{"style":684},[203043],{"type":431,"value":203044},"batch_size] ",{"type":426,"tag":553,"props":203046,"children":203047},{"style":795},[203048],{"type":431,"value":7491},{"type":426,"tag":553,"props":203050,"children":203051},{"style":684},[203052],{"type":431,"value":135921},{"type":426,"tag":553,"props":203054,"children":203055},{"style":795},[203056],{"type":431,"value":2005},{"type":426,"tag":553,"props":203058,"children":203059},{"style":566},[203060],{"type":431,"value":8809},{"type":426,"tag":553,"props":203062,"children":203063},{"style":684},[203064],{"type":431,"value":3275},{"type":426,"tag":553,"props":203066,"children":203067},{"style":566},[203068],{"type":431,"value":1930},{"type":426,"tag":553,"props":203070,"children":203071},{"style":684},[203072],{"type":431,"value":1907},{"type":426,"tag":553,"props":203074,"children":203075},{"style":566},[203076],{"type":431,"value":65860},{"type":426,"tag":553,"props":203078,"children":203079},{"style":684},[203080],{"type":431,"value":203081},"(contacts), batch_size)]\n",{"type":426,"tag":553,"props":203083,"children":203084},{"class":555,"line":655},[203085],{"type":426,"tag":553,"props":203086,"children":203087},{"style":684},[203088],{"type":431,"value":917},{"type":426,"tag":553,"props":203090,"children":203091},{"class":555,"line":1036},[203092,203096,203101,203105,203109,203114,203118],{"type":426,"tag":553,"props":203093,"children":203094},{"style":795},[203095],{"type":431,"value":1995},{"type":426,"tag":553,"props":203097,"children":203098},{"style":684},[203099],{"type":431,"value":203100}," batch_num, batch ",{"type":426,"tag":553,"props":203102,"children":203103},{"style":795},[203104],{"type":431,"value":2005},{"type":426,"tag":553,"props":203106,"children":203107},{"style":566},[203108],{"type":431,"value":141148},{"type":426,"tag":553,"props":203110,"children":203111},{"style":684},[203112],{"type":431,"value":203113},"(batches, ",{"type":426,"tag":553,"props":203115,"children":203116},{"style":566},[203117],{"type":431,"value":1921},{"type":426,"tag":553,"props":203119,"children":203120},{"style":684},[203121],{"type":431,"value":8370},{"type":426,"tag":553,"props":203123,"children":203124},{"class":555,"line":1054},[203125,203129,203133,203137,203141,203145,203150,203154,203159,203163,203167,203171,203176,203180,203184,203188,203193,203197,203202],{"type":426,"tag":553,"props":203126,"children":203127},{"style":566},[203128],{"type":431,"value":181329},{"type":426,"tag":553,"props":203130,"children":203131},{"style":684},[203132],{"type":431,"value":3275},{"type":426,"tag":553,"props":203134,"children":203135},{"style":795},[203136],{"type":431,"value":1709},{"type":426,"tag":553,"props":203138,"children":203139},{"style":572},[203140],{"type":431,"value":1527},{"type":426,"tag":553,"props":203142,"children":203143},{"style":566},[203144],{"type":431,"value":3661},{"type":426,"tag":553,"props":203146,"children":203147},{"style":572},[203148],{"type":431,"value":203149},"Processing batch ",{"type":426,"tag":553,"props":203151,"children":203152},{"style":566},[203153],{"type":431,"value":972},{"type":426,"tag":553,"props":203155,"children":203156},{"style":684},[203157],{"type":431,"value":203158},"batch_num",{"type":426,"tag":553,"props":203160,"children":203161},{"style":566},[203162],{"type":431,"value":982},{"type":426,"tag":553,"props":203164,"children":203165},{"style":572},[203166],{"type":431,"value":18503},{"type":426,"tag":553,"props":203168,"children":203169},{"style":566},[203170],{"type":431,"value":58466},{"type":426,"tag":553,"props":203172,"children":203173},{"style":684},[203174],{"type":431,"value":203175},"(batches)",{"type":426,"tag":553,"props":203177,"children":203178},{"style":566},[203179],{"type":431,"value":982},{"type":426,"tag":553,"props":203181,"children":203182},{"style":572},[203183],{"type":431,"value":5684},{"type":426,"tag":553,"props":203185,"children":203186},{"style":566},[203187],{"type":431,"value":58466},{"type":426,"tag":553,"props":203189,"children":203190},{"style":684},[203191],{"type":431,"value":203192},"(batch)",{"type":426,"tag":553,"props":203194,"children":203195},{"style":566},[203196],{"type":431,"value":982},{"type":426,"tag":553,"props":203198,"children":203199},{"style":572},[203200],{"type":431,"value":203201}," contacts)\"",{"type":426,"tag":553,"props":203203,"children":203204},{"style":684},[203205],{"type":431,"value":3262},{"type":426,"tag":553,"props":203207,"children":203208},{"class":555,"line":1080},[203209],{"type":426,"tag":553,"props":203210,"children":203211},{"style":684},[203212],{"type":431,"value":2061},{"type":426,"tag":553,"props":203214,"children":203215},{"class":555,"line":1097},[203216,203220,203224,203228],{"type":426,"tag":553,"props":203217,"children":203218},{"style":795},[203219],{"type":431,"value":2188},{"type":426,"tag":553,"props":203221,"children":203222},{"style":684},[203223],{"type":431,"value":18000},{"type":426,"tag":553,"props":203225,"children":203226},{"style":795},[203227],{"type":431,"value":2005},{"type":426,"tag":553,"props":203229,"children":203230},{"style":684},[203231],{"type":431,"value":203232}," batch:\n",{"type":426,"tag":553,"props":203234,"children":203235},{"class":555,"line":1114},[203236,203240,203244,203248,203252],{"type":426,"tag":553,"props":203237,"children":203238},{"style":684},[203239],{"type":431,"value":18017},{"type":426,"tag":553,"props":203241,"children":203242},{"style":795},[203243],{"type":431,"value":957},{"type":426,"tag":553,"props":203245,"children":203246},{"style":684},[203247],{"type":431,"value":18026},{"type":426,"tag":553,"props":203249,"children":203250},{"style":795},[203251],{"type":431,"value":13053},{"type":426,"tag":553,"props":203253,"children":203254},{"style":684},[203255],{"type":431,"value":18035},{"type":426,"tag":553,"props":203257,"children":203258},{"class":555,"line":1127},[203259,203264,203268],{"type":426,"tag":553,"props":203260,"children":203261},{"style":684},[203262],{"type":431,"value":203263},"            send_message(contact[",{"type":426,"tag":553,"props":203265,"children":203266},{"style":572},[203267],{"type":431,"value":73482},{"type":426,"tag":553,"props":203269,"children":203270},{"style":684},[203271],{"type":431,"value":18065},{"type":426,"tag":553,"props":203273,"children":203274},{"class":555,"line":1167},[203275,203279,203283],{"type":426,"tag":553,"props":203276,"children":203277},{"style":684},[203278],{"type":431,"value":9238},{"type":426,"tag":553,"props":203280,"children":203281},{"style":566},[203282],{"type":431,"value":27172},{"type":426,"tag":553,"props":203284,"children":203285},{"style":684},[203286],{"type":431,"value":3262},{"type":426,"tag":553,"props":203288,"children":203289},{"class":555,"line":1184},[203290],{"type":426,"tag":553,"props":203291,"children":203292},{"style":684},[203293],{"type":431,"value":2061},{"type":426,"tag":553,"props":203295,"children":203296},{"class":555,"line":1192},[203297,203301,203306,203310,203314],{"type":426,"tag":553,"props":203298,"children":203299},{"style":795},[203300],{"type":431,"value":2972},{"type":426,"tag":553,"props":203302,"children":203303},{"style":684},[203304],{"type":431,"value":203305}," batch_num ",{"type":426,"tag":553,"props":203307,"children":203308},{"style":795},[203309],{"type":431,"value":25949},{"type":426,"tag":553,"props":203311,"children":203312},{"style":566},[203313],{"type":431,"value":64222},{"type":426,"tag":553,"props":203315,"children":203316},{"style":684},[203317],{"type":431,"value":203318},"(batches):\n",{"type":426,"tag":553,"props":203320,"children":203321},{"class":555,"line":1210},[203322,203326,203330,203334,203339,203343,203348,203352,203357],{"type":426,"tag":553,"props":203323,"children":203324},{"style":566},[203325],{"type":431,"value":191925},{"type":426,"tag":553,"props":203327,"children":203328},{"style":684},[203329],{"type":431,"value":3275},{"type":426,"tag":553,"props":203331,"children":203332},{"style":795},[203333],{"type":431,"value":1709},{"type":426,"tag":553,"props":203335,"children":203336},{"style":572},[203337],{"type":431,"value":203338},"\"Batch complete. Pausing ",{"type":426,"tag":553,"props":203340,"children":203341},{"style":566},[203342],{"type":431,"value":972},{"type":426,"tag":553,"props":203344,"children":203345},{"style":684},[203346],{"type":431,"value":203347},"pause_between_batches",{"type":426,"tag":553,"props":203349,"children":203350},{"style":566},[203351],{"type":431,"value":982},{"type":426,"tag":553,"props":203353,"children":203354},{"style":572},[203355],{"type":431,"value":203356},"s before next batch...\"",{"type":426,"tag":553,"props":203358,"children":203359},{"style":684},[203360],{"type":431,"value":3262},{"type":426,"tag":553,"props":203362,"children":203363},{"class":555,"line":1253},[203364],{"type":426,"tag":553,"props":203365,"children":203366},{"style":684},[203367],{"type":431,"value":203368},"            time.sleep(pause_between_batches)\n",{"type":426,"tag":553,"props":203370,"children":203371},{"class":555,"line":1302},[203372],{"type":426,"tag":553,"props":203373,"children":203374},{"style":684},[203375],{"type":431,"value":917},{"type":426,"tag":553,"props":203377,"children":203378},{"class":555,"line":1374},[203379,203383,203387,203391,203395,203400],{"type":426,"tag":553,"props":203380,"children":203381},{"style":566},[203382],{"type":431,"value":51971},{"type":426,"tag":553,"props":203384,"children":203385},{"style":684},[203386],{"type":431,"value":3275},{"type":426,"tag":553,"props":203388,"children":203389},{"style":572},[203390],{"type":431,"value":1527},{"type":426,"tag":553,"props":203392,"children":203393},{"style":566},[203394],{"type":431,"value":3661},{"type":426,"tag":553,"props":203396,"children":203397},{"style":572},[203398],{"type":431,"value":203399},"All batches complete!\"",{"type":426,"tag":553,"props":203401,"children":203402},{"style":684},[203403],{"type":431,"value":3262},{"type":426,"tag":434,"props":203405,"children":203407},{"id":203406},"nodejs-version",[203408],{"type":431,"value":203409},"Node.js Version",{"type":426,"tag":542,"props":203411,"children":203413},{"code":203412,"language":52115,"meta":417,"className":52113,"style":417},"const API_KEY = \"YOUR_API_KEY\";\n\nasync function sendBulk(contacts, messageTemplate) {\n  const results = { success: 0, failed: 0 };\n  \n  for (let i = 0; i \u003C contacts.length; i++) {\n    const contact = contacts[i];\n    const message = messageTemplate.replace(\u002F{(\\w+)}\u002Fg, (_, key) => contact[key] || \"\");\n    \n    try {\n      const response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n        method: \"POST\",\n        headers: {\n          \"Authorization\": `Bearer ${API_KEY}`,\n          \"Content-Type\": \"application\u002Fjson\"\n        },\n        body: JSON.stringify({ number: contact.phone, message })\n      });\n      \n      const data = await response.json();\n      \n      if (data.status === \"success\") {\n        results.success++;\n        console.log(`[${i+1}\u002F${contacts.length}] Sent to ${contact.phone} ✓`);\n      } else {\n        results.failed++;\n        console.error(`Failed: ${contact.phone}`);\n      }\n    } catch (err) {\n      results.failed++;\n    }\n    \n    \u002F\u002F Delay between messages\n    if (i \u003C contacts.length - 1) {\n      await new Promise(resolve => setTimeout(resolve, 1500));\n    }\n  }\n  \n  return results;\n}\n",[203414],{"type":426,"tag":549,"props":203415,"children":203416},{"__ignoreMap":417},[203417,203440,203447,203482,203517,203524,203579,203598,203693,203700,203711,203746,203761,203768,203795,203810,203817,203840,203847,203854,203885,203892,203915,203930,204003,204018,204033,204073,204080,204095,204110,204117,204124,204132,204167,204210,204217,204224,204231,204242],{"type":426,"tag":553,"props":203418,"children":203419},{"class":555,"line":556},[203420,203424,203428,203432,203436],{"type":426,"tag":553,"props":203421,"children":203422},{"style":795},[203423],{"type":431,"value":52135},{"type":426,"tag":553,"props":203425,"children":203426},{"style":566},[203427],{"type":431,"value":133722},{"type":426,"tag":553,"props":203429,"children":203430},{"style":795},[203431],{"type":431,"value":8739},{"type":426,"tag":553,"props":203433,"children":203434},{"style":572},[203435],{"type":431,"value":170073},{"type":426,"tag":553,"props":203437,"children":203438},{"style":684},[203439],{"type":431,"value":52321},{"type":426,"tag":553,"props":203441,"children":203442},{"class":555,"line":588},[203443],{"type":426,"tag":553,"props":203444,"children":203445},{"emptyLinePlaceholder":831},[203446],{"type":431,"value":834},{"type":426,"tag":553,"props":203448,"children":203449},{"class":555,"line":606},[203450,203454,203458,203462,203466,203470,203474,203478],{"type":426,"tag":553,"props":203451,"children":203452},{"style":795},[203453],{"type":431,"value":52361},{"type":426,"tag":553,"props":203455,"children":203456},{"style":795},[203457],{"type":431,"value":52366},{"type":426,"tag":553,"props":203459,"children":203460},{"style":560},[203461],{"type":431,"value":135819},{"type":426,"tag":553,"props":203463,"children":203464},{"style":684},[203465],{"type":431,"value":3275},{"type":426,"tag":553,"props":203467,"children":203468},{"style":1684},[203469],{"type":431,"value":112146},{"type":426,"tag":553,"props":203471,"children":203472},{"style":684},[203473],{"type":431,"value":1907},{"type":426,"tag":553,"props":203475,"children":203476},{"style":1684},[203477],{"type":431,"value":135836},{"type":426,"tag":553,"props":203479,"children":203480},{"style":684},[203481],{"type":431,"value":52385},{"type":426,"tag":553,"props":203483,"children":203484},{"class":555,"line":623},[203485,203489,203493,203497,203501,203505,203509,203513],{"type":426,"tag":553,"props":203486,"children":203487},{"style":795},[203488],{"type":431,"value":52540},{"type":426,"tag":553,"props":203490,"children":203491},{"style":566},[203492],{"type":431,"value":75220},{"type":426,"tag":553,"props":203494,"children":203495},{"style":795},[203496],{"type":431,"value":8739},{"type":426,"tag":553,"props":203498,"children":203499},{"style":684},[203500],{"type":431,"value":123312},{"type":426,"tag":553,"props":203502,"children":203503},{"style":566},[203504],{"type":431,"value":1930},{"type":426,"tag":553,"props":203506,"children":203507},{"style":684},[203508],{"type":431,"value":135885},{"type":426,"tag":553,"props":203510,"children":203511},{"style":566},[203512],{"type":431,"value":1930},{"type":426,"tag":553,"props":203514,"children":203515},{"style":684},[203516],{"type":431,"value":171916},{"type":426,"tag":553,"props":203518,"children":203519},{"class":555,"line":637},[203520],{"type":426,"tag":553,"props":203521,"children":203522},{"style":684},[203523],{"type":431,"value":52575},{"type":426,"tag":553,"props":203525,"children":203526},{"class":555,"line":646},[203527,203531,203535,203539,203543,203547,203551,203555,203559,203563,203567,203571,203575],{"type":426,"tag":553,"props":203528,"children":203529},{"style":795},[203530],{"type":431,"value":105046},{"type":426,"tag":553,"props":203532,"children":203533},{"style":684},[203534],{"type":431,"value":5684},{"type":426,"tag":553,"props":203536,"children":203537},{"style":795},[203538],{"type":431,"value":105055},{"type":426,"tag":553,"props":203540,"children":203541},{"style":684},[203542],{"type":431,"value":135921},{"type":426,"tag":553,"props":203544,"children":203545},{"style":795},[203546],{"type":431,"value":957},{"type":426,"tag":553,"props":203548,"children":203549},{"style":566},[203550],{"type":431,"value":940},{"type":426,"tag":553,"props":203552,"children":203553},{"style":684},[203554],{"type":431,"value":135934},{"type":426,"tag":553,"props":203556,"children":203557},{"style":795},[203558],{"type":431,"value":25949},{"type":426,"tag":553,"props":203560,"children":203561},{"style":684},[203562],{"type":431,"value":135943},{"type":426,"tag":553,"props":203564,"children":203565},{"style":566},[203566],{"type":431,"value":121253},{"type":426,"tag":553,"props":203568,"children":203569},{"style":684},[203570],{"type":431,"value":135952},{"type":426,"tag":553,"props":203572,"children":203573},{"style":795},[203574],{"type":431,"value":105086},{"type":426,"tag":553,"props":203576,"children":203577},{"style":684},[203578],{"type":431,"value":52385},{"type":426,"tag":553,"props":203580,"children":203581},{"class":555,"line":655},[203582,203586,203590,203594],{"type":426,"tag":553,"props":203583,"children":203584},{"style":795},[203585],{"type":431,"value":85411},{"type":426,"tag":553,"props":203587,"children":203588},{"style":566},[203589],{"type":431,"value":135972},{"type":426,"tag":553,"props":203591,"children":203592},{"style":795},[203593],{"type":431,"value":8739},{"type":426,"tag":553,"props":203595,"children":203596},{"style":684},[203597],{"type":431,"value":135981},{"type":426,"tag":553,"props":203599,"children":203600},{"class":555,"line":1036},[203601,203605,203609,203613,203617,203621,203625,203629,203633,203637,203641,203645,203649,203653,203657,203661,203665,203669,203673,203677,203681,203685,203689],{"type":426,"tag":553,"props":203602,"children":203603},{"style":795},[203604],{"type":431,"value":85411},{"type":426,"tag":553,"props":203606,"children":203607},{"style":566},[203608],{"type":431,"value":55741},{"type":426,"tag":553,"props":203610,"children":203611},{"style":795},[203612],{"type":431,"value":8739},{"type":426,"tag":553,"props":203614,"children":203615},{"style":684},[203616],{"type":431,"value":136009},{"type":426,"tag":553,"props":203618,"children":203619},{"style":560},[203620],{"type":431,"value":67341},{"type":426,"tag":553,"props":203622,"children":203623},{"style":684},[203624],{"type":431,"value":3275},{"type":426,"tag":553,"props":203626,"children":203627},{"style":572},[203628],{"type":431,"value":18503},{"type":426,"tag":553,"props":203630,"children":203631},{"style":90580},[203632],{"type":431,"value":181918},{"type":426,"tag":553,"props":203634,"children":203635},{"style":566},[203636],{"type":431,"value":136040},{"type":426,"tag":553,"props":203638,"children":203639},{"style":795},[203640],{"type":431,"value":2033},{"type":426,"tag":553,"props":203642,"children":203643},{"style":90580},[203644],{"type":431,"value":181931},{"type":426,"tag":553,"props":203646,"children":203647},{"style":572},[203648],{"type":431,"value":18503},{"type":426,"tag":553,"props":203650,"children":203651},{"style":795},[203652],{"type":431,"value":136062},{"type":426,"tag":553,"props":203654,"children":203655},{"style":684},[203656],{"type":431,"value":136067},{"type":426,"tag":553,"props":203658,"children":203659},{"style":1684},[203660],{"type":431,"value":136072},{"type":426,"tag":553,"props":203662,"children":203663},{"style":684},[203664],{"type":431,"value":1907},{"type":426,"tag":553,"props":203666,"children":203667},{"style":1684},[203668],{"type":431,"value":50471},{"type":426,"tag":553,"props":203670,"children":203671},{"style":684},[203672],{"type":431,"value":2987},{"type":426,"tag":553,"props":203674,"children":203675},{"style":795},[203676],{"type":431,"value":74581},{"type":426,"tag":553,"props":203678,"children":203679},{"style":684},[203680],{"type":431,"value":136093},{"type":426,"tag":553,"props":203682,"children":203683},{"style":795},[203684],{"type":431,"value":53296},{"type":426,"tag":553,"props":203686,"children":203687},{"style":572},[203688],{"type":431,"value":76413},{"type":426,"tag":553,"props":203690,"children":203691},{"style":684},[203692],{"type":431,"value":11379},{"type":426,"tag":553,"props":203694,"children":203695},{"class":555,"line":1054},[203696],{"type":426,"tag":553,"props":203697,"children":203698},{"style":684},[203699],{"type":431,"value":917},{"type":426,"tag":553,"props":203701,"children":203702},{"class":555,"line":1080},[203703,203707],{"type":426,"tag":553,"props":203704,"children":203705},{"style":795},[203706],{"type":431,"value":13401},{"type":426,"tag":553,"props":203708,"children":203709},{"style":684},[203710],{"type":431,"value":5458},{"type":426,"tag":553,"props":203712,"children":203713},{"class":555,"line":1097},[203714,203718,203722,203726,203730,203734,203738,203742],{"type":426,"tag":553,"props":203715,"children":203716},{"style":795},[203717],{"type":431,"value":136135},{"type":426,"tag":553,"props":203719,"children":203720},{"style":566},[203721],{"type":431,"value":53061},{"type":426,"tag":553,"props":203723,"children":203724},{"style":795},[203725],{"type":431,"value":8739},{"type":426,"tag":553,"props":203727,"children":203728},{"style":795},[203729],{"type":431,"value":53070},{"type":426,"tag":553,"props":203731,"children":203732},{"style":560},[203733],{"type":431,"value":52226},{"type":426,"tag":553,"props":203735,"children":203736},{"style":684},[203737],{"type":431,"value":3275},{"type":426,"tag":553,"props":203739,"children":203740},{"style":572},[203741],{"type":431,"value":60449},{"type":426,"tag":553,"props":203743,"children":203744},{"style":684},[203745],{"type":431,"value":53088},{"type":426,"tag":553,"props":203747,"children":203748},{"class":555,"line":1114},[203749,203753,203757],{"type":426,"tag":553,"props":203750,"children":203751},{"style":684},[203752],{"type":431,"value":136171},{"type":426,"tag":553,"props":203754,"children":203755},{"style":572},[203756],{"type":431,"value":60428},{"type":426,"tag":553,"props":203758,"children":203759},{"style":684},[203760],{"type":431,"value":710},{"type":426,"tag":553,"props":203762,"children":203763},{"class":555,"line":1127},[203764],{"type":426,"tag":553,"props":203765,"children":203766},{"style":684},[203767],{"type":431,"value":136187},{"type":426,"tag":553,"props":203769,"children":203770},{"class":555,"line":1167},[203771,203775,203779,203783,203787,203791],{"type":426,"tag":553,"props":203772,"children":203773},{"style":572},[203774],{"type":431,"value":136195},{"type":426,"tag":553,"props":203776,"children":203777},{"style":684},[203778],{"type":431,"value":700},{"type":426,"tag":553,"props":203780,"children":203781},{"style":572},[203782],{"type":431,"value":53129},{"type":426,"tag":553,"props":203784,"children":203785},{"style":566},[203786],{"type":431,"value":133819},{"type":426,"tag":553,"props":203788,"children":203789},{"style":572},[203790],{"type":431,"value":52718},{"type":426,"tag":553,"props":203792,"children":203793},{"style":684},[203794],{"type":431,"value":710},{"type":426,"tag":553,"props":203796,"children":203797},{"class":555,"line":1184},[203798,203802,203806],{"type":426,"tag":553,"props":203799,"children":203800},{"style":572},[203801],{"type":431,"value":136239},{"type":426,"tag":553,"props":203803,"children":203804},{"style":684},[203805],{"type":431,"value":700},{"type":426,"tag":553,"props":203807,"children":203808},{"style":572},[203809],{"type":431,"value":113079},{"type":426,"tag":553,"props":203811,"children":203812},{"class":555,"line":1192},[203813],{"type":426,"tag":553,"props":203814,"children":203815},{"style":684},[203816],{"type":431,"value":32445},{"type":426,"tag":553,"props":203818,"children":203819},{"class":555,"line":1210},[203820,203824,203828,203832,203836],{"type":426,"tag":553,"props":203821,"children":203822},{"style":684},[203823],{"type":431,"value":136262},{"type":426,"tag":553,"props":203825,"children":203826},{"style":566},[203827],{"type":431,"value":53178},{"type":426,"tag":553,"props":203829,"children":203830},{"style":684},[203831],{"type":431,"value":6789},{"type":426,"tag":553,"props":203833,"children":203834},{"style":560},[203835],{"type":431,"value":53187},{"type":426,"tag":553,"props":203837,"children":203838},{"style":684},[203839],{"type":431,"value":136279},{"type":426,"tag":553,"props":203841,"children":203842},{"class":555,"line":1253},[203843],{"type":426,"tag":553,"props":203844,"children":203845},{"style":684},[203846],{"type":431,"value":136287},{"type":426,"tag":553,"props":203848,"children":203849},{"class":555,"line":1302},[203850],{"type":426,"tag":553,"props":203851,"children":203852},{"style":684},[203853],{"type":431,"value":136295},{"type":426,"tag":553,"props":203855,"children":203856},{"class":555,"line":1374},[203857,203861,203865,203869,203873,203877,203881],{"type":426,"tag":553,"props":203858,"children":203859},{"style":795},[203860],{"type":431,"value":136135},{"type":426,"tag":553,"props":203862,"children":203863},{"style":566},[203864],{"type":431,"value":75817},{"type":426,"tag":553,"props":203866,"children":203867},{"style":795},[203868],{"type":431,"value":8739},{"type":426,"tag":553,"props":203870,"children":203871},{"style":795},[203872],{"type":431,"value":53070},{"type":426,"tag":553,"props":203874,"children":203875},{"style":684},[203876],{"type":431,"value":53218},{"type":426,"tag":553,"props":203878,"children":203879},{"style":560},[203880],{"type":431,"value":673},{"type":426,"tag":553,"props":203882,"children":203883},{"style":684},[203884],{"type":431,"value":53227},{"type":426,"tag":553,"props":203886,"children":203887},{"class":555,"line":1414},[203888],{"type":426,"tag":553,"props":203889,"children":203890},{"style":684},[203891],{"type":431,"value":136295},{"type":426,"tag":553,"props":203893,"children":203894},{"class":555,"line":1479},[203895,203899,203903,203907,203911],{"type":426,"tag":553,"props":203896,"children":203897},{"style":795},[203898],{"type":431,"value":136341},{"type":426,"tag":553,"props":203900,"children":203901},{"style":684},[203902],{"type":431,"value":136346},{"type":426,"tag":553,"props":203904,"children":203905},{"style":795},[203906],{"type":431,"value":55042},{"type":426,"tag":553,"props":203908,"children":203909},{"style":572},[203910],{"type":431,"value":69054},{"type":426,"tag":553,"props":203912,"children":203913},{"style":684},[203914],{"type":431,"value":52385},{"type":426,"tag":553,"props":203916,"children":203917},{"class":555,"line":1517},[203918,203922,203926],{"type":426,"tag":553,"props":203919,"children":203920},{"style":684},[203921],{"type":431,"value":136366},{"type":426,"tag":553,"props":203923,"children":203924},{"style":795},[203925],{"type":431,"value":105086},{"type":426,"tag":553,"props":203927,"children":203928},{"style":684},[203929],{"type":431,"value":52321},{"type":426,"tag":553,"props":203931,"children":203932},{"class":555,"line":1560},[203933,203937,203941,203945,203949,203953,203957,203961,203965,203969,203973,203977,203982,203986,203990,203994,203999],{"type":426,"tag":553,"props":203934,"children":203935},{"style":684},[203936],{"type":431,"value":136382},{"type":426,"tag":553,"props":203938,"children":203939},{"style":560},[203940],{"type":431,"value":53719},{"type":426,"tag":553,"props":203942,"children":203943},{"style":684},[203944],{"type":431,"value":3275},{"type":426,"tag":553,"props":203946,"children":203947},{"style":572},[203948],{"type":431,"value":136395},{"type":426,"tag":553,"props":203950,"children":203951},{"style":684},[203952],{"type":431,"value":136400},{"type":426,"tag":553,"props":203954,"children":203955},{"style":795},[203956],{"type":431,"value":2033},{"type":426,"tag":553,"props":203958,"children":203959},{"style":566},[203960],{"type":431,"value":1921},{"type":426,"tag":553,"props":203962,"children":203963},{"style":572},[203964],{"type":431,"value":136413},{"type":426,"tag":553,"props":203966,"children":203967},{"style":684},[203968],{"type":431,"value":112146},{"type":426,"tag":553,"props":203970,"children":203971},{"style":572},[203972],{"type":431,"value":6789},{"type":426,"tag":553,"props":203974,"children":203975},{"style":566},[203976],{"type":431,"value":121253},{"type":426,"tag":553,"props":203978,"children":203979},{"style":572},[203980],{"type":431,"value":203981},"}] Sent to ${",{"type":426,"tag":553,"props":203983,"children":203984},{"style":684},[203985],{"type":431,"value":136435},{"type":426,"tag":553,"props":203987,"children":203988},{"style":572},[203989],{"type":431,"value":6789},{"type":426,"tag":553,"props":203991,"children":203992},{"style":684},[203993],{"type":431,"value":37598},{"type":426,"tag":553,"props":203995,"children":203996},{"style":572},[203997],{"type":431,"value":203998},"} ✓`",{"type":426,"tag":553,"props":204000,"children":204001},{"style":684},[204002],{"type":431,"value":11379},{"type":426,"tag":553,"props":204004,"children":204005},{"class":555,"line":1598},[204006,204010,204014],{"type":426,"tag":553,"props":204007,"children":204008},{"style":684},[204009],{"type":431,"value":136459},{"type":426,"tag":553,"props":204011,"children":204012},{"style":795},[204013],{"type":431,"value":61682},{"type":426,"tag":553,"props":204015,"children":204016},{"style":684},[204017],{"type":431,"value":5458},{"type":426,"tag":553,"props":204019,"children":204020},{"class":555,"line":1636},[204021,204025,204029],{"type":426,"tag":553,"props":204022,"children":204023},{"style":684},[204024],{"type":431,"value":136475},{"type":426,"tag":553,"props":204026,"children":204027},{"style":795},[204028],{"type":431,"value":105086},{"type":426,"tag":553,"props":204030,"children":204031},{"style":684},[204032],{"type":431,"value":52321},{"type":426,"tag":553,"props":204034,"children":204035},{"class":555,"line":1645},[204036,204040,204044,204048,204053,204057,204061,204065,204069],{"type":426,"tag":553,"props":204037,"children":204038},{"style":684},[204039],{"type":431,"value":136382},{"type":426,"tag":553,"props":204041,"children":204042},{"style":560},[204043],{"type":431,"value":70759},{"type":426,"tag":553,"props":204045,"children":204046},{"style":684},[204047],{"type":431,"value":3275},{"type":426,"tag":553,"props":204049,"children":204050},{"style":572},[204051],{"type":431,"value":204052},"`Failed: ${",{"type":426,"tag":553,"props":204054,"children":204055},{"style":684},[204056],{"type":431,"value":136435},{"type":426,"tag":553,"props":204058,"children":204059},{"style":572},[204060],{"type":431,"value":6789},{"type":426,"tag":553,"props":204062,"children":204063},{"style":684},[204064],{"type":431,"value":37598},{"type":426,"tag":553,"props":204066,"children":204067},{"style":572},[204068],{"type":431,"value":52718},{"type":426,"tag":553,"props":204070,"children":204071},{"style":684},[204072],{"type":431,"value":11379},{"type":426,"tag":553,"props":204074,"children":204075},{"class":555,"line":1653},[204076],{"type":426,"tag":553,"props":204077,"children":204078},{"style":684},[204079],{"type":431,"value":96794},{"type":426,"tag":553,"props":204081,"children":204082},{"class":555,"line":1667},[204083,204087,204091],{"type":426,"tag":553,"props":204084,"children":204085},{"style":684},[204086],{"type":431,"value":105650},{"type":426,"tag":553,"props":204088,"children":204089},{"style":795},[204090],{"type":431,"value":61750},{"type":426,"tag":553,"props":204092,"children":204093},{"style":684},[204094],{"type":431,"value":85630},{"type":426,"tag":553,"props":204096,"children":204097},{"class":555,"line":1680},[204098,204102,204106],{"type":426,"tag":553,"props":204099,"children":204100},{"style":684},[204101],{"type":431,"value":136531},{"type":426,"tag":553,"props":204103,"children":204104},{"style":795},[204105],{"type":431,"value":105086},{"type":426,"tag":553,"props":204107,"children":204108},{"style":684},[204109],{"type":431,"value":52321},{"type":426,"tag":553,"props":204111,"children":204112},{"class":555,"line":1740},[204113],{"type":426,"tag":553,"props":204114,"children":204115},{"style":684},[204116],{"type":431,"value":5546},{"type":426,"tag":553,"props":204118,"children":204119},{"class":555,"line":1787},[204120],{"type":426,"tag":553,"props":204121,"children":204122},{"style":684},[204123],{"type":431,"value":917},{"type":426,"tag":553,"props":204125,"children":204126},{"class":555,"line":1796},[204127],{"type":426,"tag":553,"props":204128,"children":204129},{"style":1975},[204130],{"type":431,"value":204131},"    \u002F\u002F Delay between messages\n",{"type":426,"tag":553,"props":204133,"children":204134},{"class":555,"line":1804},[204135,204139,204143,204147,204151,204155,204159,204163],{"type":426,"tag":553,"props":204136,"children":204137},{"style":795},[204138],{"type":431,"value":925},{"type":426,"tag":553,"props":204140,"children":204141},{"style":684},[204142],{"type":431,"value":136582},{"type":426,"tag":553,"props":204144,"children":204145},{"style":795},[204146],{"type":431,"value":25949},{"type":426,"tag":553,"props":204148,"children":204149},{"style":684},[204150],{"type":431,"value":135943},{"type":426,"tag":553,"props":204152,"children":204153},{"style":566},[204154],{"type":431,"value":121253},{"type":426,"tag":553,"props":204156,"children":204157},{"style":795},[204158],{"type":431,"value":30047},{"type":426,"tag":553,"props":204160,"children":204161},{"style":566},[204162],{"type":431,"value":1014},{"type":426,"tag":553,"props":204164,"children":204165},{"style":684},[204166],{"type":431,"value":52385},{"type":426,"tag":553,"props":204168,"children":204169},{"class":555,"line":1812},[204170,204174,204178,204182,204186,204190,204194,204198,204202,204206],{"type":426,"tag":553,"props":204171,"children":204172},{"style":795},[204173],{"type":431,"value":182322},{"type":426,"tag":553,"props":204175,"children":204176},{"style":795},[204177],{"type":431,"value":52275},{"type":426,"tag":553,"props":204179,"children":204180},{"style":566},[204181],{"type":431,"value":135773},{"type":426,"tag":553,"props":204183,"children":204184},{"style":684},[204185],{"type":431,"value":3275},{"type":426,"tag":553,"props":204187,"children":204188},{"style":1684},[204189],{"type":431,"value":181710},{"type":426,"tag":553,"props":204191,"children":204192},{"style":795},[204193],{"type":431,"value":53709},{"type":426,"tag":553,"props":204195,"children":204196},{"style":560},[204197],{"type":431,"value":135791},{"type":426,"tag":553,"props":204199,"children":204200},{"style":684},[204201],{"type":431,"value":192973},{"type":426,"tag":553,"props":204203,"children":204204},{"style":566},[204205],{"type":431,"value":59675},{"type":426,"tag":553,"props":204207,"children":204208},{"style":684},[204209],{"type":431,"value":61669},{"type":426,"tag":553,"props":204211,"children":204212},{"class":555,"line":1847},[204213],{"type":426,"tag":553,"props":204214,"children":204215},{"style":684},[204216],{"type":431,"value":5546},{"type":426,"tag":553,"props":204218,"children":204219},{"class":555,"line":1856},[204220],{"type":426,"tag":553,"props":204221,"children":204222},{"style":684},[204223],{"type":431,"value":60547},{"type":426,"tag":553,"props":204225,"children":204226},{"class":555,"line":1874},[204227],{"type":426,"tag":553,"props":204228,"children":204229},{"style":684},[204230],{"type":431,"value":52575},{"type":426,"tag":553,"props":204232,"children":204233},{"class":555,"line":1882},[204234,204238],{"type":426,"tag":553,"props":204235,"children":204236},{"style":795},[204237],{"type":431,"value":52393},{"type":426,"tag":553,"props":204239,"children":204240},{"style":684},[204241],{"type":431,"value":75540},{"type":426,"tag":553,"props":204243,"children":204244},{"class":555,"line":1981},[204245],{"type":426,"tag":553,"props":204246,"children":204247},{"style":684},[204248],{"type":431,"value":756},{"type":426,"tag":434,"props":204250,"children":204252},{"id":204251},"best-practices-to-avoid-account-restrictions",[204253],{"type":431,"value":204254},"Best Practices to Avoid Account Restrictions",{"type":426,"tag":427,"props":204256,"children":204257},{},[204258],{"type":431,"value":204259},"Follow these rules to keep your WhatsApp number in good standing when sending bulk messages:",{"type":426,"tag":427,"props":204261,"children":204262},{},[204263,204268],{"type":426,"tag":446,"props":204264,"children":204265},{},[204266],{"type":431,"value":204267},"1. Only message opted-in contacts",{"type":431,"value":204269},"\nOnly send to customers who have explicitly agreed to receive WhatsApp messages from you. Add an opt-in checkbox to your website forms.",{"type":426,"tag":427,"props":204271,"children":204272},{},[204273,204278,204280,204285],{"type":426,"tag":446,"props":204274,"children":204275},{},[204276],{"type":431,"value":204277},"2. Always include an opt-out option",{"type":431,"value":204279},"\nEnd every marketing message with: ",{"type":426,"tag":47617,"props":204281,"children":204282},{},[204283],{"type":431,"value":204284},"\"Reply STOP to unsubscribe.\"",{"type":431,"value":204286}," Remove users from your list immediately when they reply STOP.",{"type":426,"tag":427,"props":204288,"children":204289},{},[204290,204295,204296,204301],{"type":426,"tag":446,"props":204291,"children":204292},{},[204293],{"type":431,"value":204294},"3. Use a 1–2 second delay between messages",{"type":431,"value":15970},{"type":426,"tag":549,"props":204297,"children":204299},{"className":204298},[],[204300],{"type":431,"value":143955},{"type":431,"value":204302}," in the examples above is important. Very fast bulk sending looks like automated spam to WhatsApp.",{"type":426,"tag":427,"props":204304,"children":204305},{},[204306,204311],{"type":426,"tag":446,"props":204307,"children":204308},{},[204309],{"type":431,"value":204310},"4. Keep your sending rate reasonable",{"type":431,"value":204312},"\nFor a new number: start with 50–100 messages per day and increase gradually over 2–3 weeks. For an established number: up to 500–1,000 messages per day is generally safe.",{"type":426,"tag":427,"props":204314,"children":204315},{},[204316,204321],{"type":426,"tag":446,"props":204317,"children":204318},{},[204319],{"type":431,"value":204320},"5. Personalize your messages",{"type":431,"value":204322},"\nIdentical messages sent to hundreds of contacts are a spam signal. Use contact names, order details, or other personalisation to make each message unique.",{"type":426,"tag":427,"props":204324,"children":204325},{},[204326,204331],{"type":426,"tag":446,"props":204327,"children":204328},{},[204329],{"type":431,"value":204330},"6. Monitor your response rate",{"type":431,"value":204332},"\nAim for at least a 20–30% response rate on your campaigns. Low engagement signals spam to WhatsApp. If response rates drop, reduce volume.",{"type":426,"tag":427,"props":204334,"children":204335},{},[204336,204338,204343],{"type":431,"value":204337},"See the full compliance guide: ",{"type":426,"tag":3819,"props":204339,"children":204340},{"href":406},[204341],{"type":431,"value":204342},"How to Keep Your WhatsApp Number Safe with Rapiwa",{"type":431,"value":6789},{"type":426,"tag":434,"props":204345,"children":204346},{"id":4109},[204347],{"type":431,"value":4112},{"type":426,"tag":427,"props":204349,"children":204350},{},[204351,204356],{"type":426,"tag":446,"props":204352,"children":204353},{},[204354],{"type":431,"value":204355},"Is there a daily message limit with Rapiwa?",{"type":431,"value":204357},"\nRapiwa has no daily message cap. All plans support unlimited messages. WhatsApp itself may throttle or restrict numbers that send very high volumes — follow the best practices above to avoid this.",{"type":426,"tag":427,"props":204359,"children":204360},{},[204361,204366],{"type":426,"tag":446,"props":204362,"children":204363},{},[204364],{"type":431,"value":204365},"How many messages per hour can I safely send?",{"type":431,"value":204367},"\nA safe rate is 60–120 messages per hour (1–2 per second) for established numbers. For new numbers, start at 30–60 messages per hour and increase gradually over 2–4 weeks.",{"type":426,"tag":427,"props":204369,"children":204370},{},[204371,204376,204378,204384],{"type":426,"tag":446,"props":204372,"children":204373},{},[204374],{"type":431,"value":204375},"Can I schedule bulk messages for a specific time?",{"type":431,"value":204377},"\nYes. Use a scheduler like Python's ",{"type":426,"tag":549,"props":204379,"children":204381},{"className":204380},[],[204382],{"type":431,"value":204383},"schedule",{"type":431,"value":204385}," library, cron jobs, or n8n's scheduled trigger to send bulk messages at a specific time. This is useful for time-sensitive promotions.",{"type":426,"tag":427,"props":204387,"children":204388},{},[204389,204394],{"type":426,"tag":446,"props":204390,"children":204391},{},[204392],{"type":431,"value":204393},"Does Rapiwa charge per message for bulk sends?",{"type":431,"value":204395},"\nNo. Rapiwa uses flat-rate pricing — $5\u002Fmonth regardless of how many messages you send. There are no per-message fees.",{"type":426,"tag":427,"props":204397,"children":204398},{},[204399,204404,204406,204411],{"type":426,"tag":446,"props":204400,"children":204401},{},[204402],{"type":431,"value":204403},"How do I handle phone numbers that are not on WhatsApp?",{"type":431,"value":204405},"\nUse Rapiwa's ",{"type":426,"tag":3819,"props":204407,"children":204408},{"href":358},[204409],{"type":431,"value":204410},"number verification API",{"type":431,"value":204412}," to check if a number is active on WhatsApp before sending. This saves you from failed deliveries and helps maintain a clean contact list.",{"type":426,"tag":427,"props":204414,"children":204415},{},[204416,204421,204422,204427,204429,204434,204436,204441,204443,204448,204450,204455,204457,204461],{"type":426,"tag":446,"props":204417,"children":204418},{},[204419],{"type":431,"value":204420},"Can I send bulk messages with images or documents?",{"type":431,"value":99000},{"type":426,"tag":549,"props":204423,"children":204425},{"className":204424},[],[204426],{"type":431,"value":2734},{"type":431,"value":204428}," field with ",{"type":426,"tag":549,"props":204430,"children":204432},{"className":204431},[],[204433],{"type":431,"value":8492},{"type":431,"value":204435}," (URL to image) + ",{"type":426,"tag":549,"props":204437,"children":204439},{"className":204438},[],[204440],{"type":431,"value":79236},{"type":431,"value":204442},", or ",{"type":426,"tag":549,"props":204444,"children":204446},{"className":204445},[],[204447],{"type":431,"value":8503},{"type":431,"value":204449}," (URL to file) + ",{"type":426,"tag":549,"props":204451,"children":204453},{"className":204452},[],[204454],{"type":431,"value":82772},{"type":431,"value":204456},". See the code examples in ",{"type":426,"tag":3819,"props":204458,"children":204459},{"href":394},[204460],{"type":431,"value":184210},{"type":431,"value":6789},{"type":426,"tag":4164,"props":204463,"children":204464},{},[204465],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":204467},[204468,204469,204470,204471,204472,204473,204474,204475,204476,204477],{"id":200207,"depth":588,"text":200210},{"id":47624,"depth":588,"text":47627},{"id":200290,"depth":588,"text":200293},{"id":200740,"depth":588,"text":200743},{"id":201800,"depth":588,"text":201803},{"id":202379,"depth":588,"text":202382},{"id":202931,"depth":588,"text":202934},{"id":203406,"depth":588,"text":203409},{"id":204251,"depth":588,"text":204254},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-send-bulk-whatsapp-messages-using-an-api.md","blog\u002Fhow-to-send-bulk-whatsapp-messages-using-an-api.md","blog\u002Fhow-to-send-bulk-whatsapp-messages-using-an-api",{"loc":370},{"_path":374,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":375,"description":376,"date":204483,"author":6858,"category":17,"_slug":204484,"image":204485,"body":204486,"_type":4187,"_id":207372,"_source":4189,"_file":207373,"_stem":207374,"_extension":4192,"sitemap":207375},"2025-12-06","top-10-whatsapp-api-use-cases-for-developers-2026","\u002Fimages\u002Fblog\u002Ftop-10-whatsapp-api-use-cases-for-developers-2026.svg",{"type":423,"children":204487,"toc":207357},[204488,204500,204506,204511,204544,204549,204555,204565,204575,204584,204685,204702,204705,204711,204720,204729,204738,205020,205042,205045,205051,205060,205069,205078,205351,205354,205360,205369,205378,205387,205749,205752,205758,205767,205776,205785,205793,205821,205842,205845,205851,205860,205869,205878,206316,206319,206325,206334,206343,206352,206453,206456,206462,206471,206480,206489,206501,206504,206510,206519,206528,206537,206749,206752,206758,206767,206776,206785,206794,206822,207186,207192,207292,207296,207306,207323,207333,207343,207353],{"type":426,"tag":427,"props":204489,"children":204490},{},[204491,204493,204498],{"type":431,"value":204492},"The most valuable WhatsApp API use cases for developers in 2026 are: order notifications, invoice delivery, appointment reminders, OTP verification, AI customer support bots, lead nurturing, payment recovery, abandoned cart recovery, event ticketing, and bulk marketing campaigns. All of these can be built with ",{"type":426,"tag":3819,"props":204494,"children":204496},{"href":3821,"rel":204495},[3823],[204497],{"type":431,"value":151482},{"type":431,"value":204499}," ($5\u002Fmonth, no per-message fees) and deployed in hours, not days.",{"type":426,"tag":434,"props":204501,"children":204503},{"id":204502},"why-whatsapp-is-the-highest-roi-api-integration-in-2026",[204504],{"type":431,"value":204505},"Why WhatsApp Is the Highest-ROI API Integration in 2026",{"type":426,"tag":427,"props":204507,"children":204508},{},[204509],{"type":431,"value":204510},"WhatsApp has 2.9 billion active users. In most of Asia, Latin America, the Middle East, Africa, and Europe, it is the primary personal messaging platform — not SMS, not email. When you send a WhatsApp message to a customer:",{"type":426,"tag":454,"props":204512,"children":204513},{},[204514,204523,204532],{"type":426,"tag":458,"props":204515,"children":204516},{},[204517,204521],{"type":426,"tag":446,"props":204518,"children":204519},{},[204520],{"type":431,"value":30671},{"type":431,"value":204522}," open rate (vs 20% for email)",{"type":426,"tag":458,"props":204524,"children":204525},{},[204526,204530],{"type":426,"tag":446,"props":204527,"children":204528},{},[204529],{"type":431,"value":30689},{"type":431,"value":204531}," response rate (vs 2–5% for email)",{"type":426,"tag":458,"props":204533,"children":204534},{},[204535,204537,204542],{"type":431,"value":204536},"Messages are typically read within ",{"type":426,"tag":446,"props":204538,"children":204539},{},[204540],{"type":431,"value":204541},"3 minutes",{"type":431,"value":204543}," of delivery",{"type":426,"tag":427,"props":204545,"children":204546},{},[204547],{"type":431,"value":204548},"For developers building client solutions or SaaS products, adding WhatsApp notifications is one of the highest-impact API integrations possible.",{"type":426,"tag":434,"props":204550,"children":204552},{"id":204551},"use-case-1-e-commerce-order-notifications",[204553],{"type":431,"value":204554},"Use Case #1: E-Commerce Order Notifications",{"type":426,"tag":427,"props":204556,"children":204557},{},[204558,204563],{"type":426,"tag":446,"props":204559,"children":204560},{},[204561],{"type":431,"value":204562},"What it does",{"type":431,"value":204564},": Automatically sends order confirmation, shipping updates, and delivery notifications to customers via WhatsApp.",{"type":426,"tag":427,"props":204566,"children":204567},{},[204568,204573],{"type":426,"tag":446,"props":204569,"children":204570},{},[204571],{"type":431,"value":204572},"Who uses it",{"type":431,"value":204574},": WooCommerce stores, Shopify merchants, custom e-commerce platforms.",{"type":426,"tag":427,"props":204576,"children":204577},{},[204578,204582],{"type":426,"tag":446,"props":204579,"children":204580},{},[204581],{"type":431,"value":104357},{"type":431,"value":204583},": Reduces \"where is my order?\" support tickets by 40–60%.",{"type":426,"tag":542,"props":204585,"children":204587},{"className":546,"code":204586,"language":545,"meta":417,"style":417},"# Triggered when WooCommerce order status changes to \"processing\"\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"*Order Confirmed!* 🛒\\n\\nOrder #12345\\nTotal: $49.99\\nEstimated delivery: April 12, 2026\\n\\nTrack: https:\u002F\u002Fstore.com\u002Ftrack\u002F12345\"\n  }'\n",[204588],{"type":426,"tag":549,"props":204589,"children":204590},{"__ignoreMap":417},[204591,204599,204622,204637,204652,204663,204670,204678],{"type":426,"tag":553,"props":204592,"children":204593},{"class":555,"line":556},[204594],{"type":426,"tag":553,"props":204595,"children":204596},{"style":1975},[204597],{"type":431,"value":204598},"# Triggered when WooCommerce order status changes to \"processing\"\n",{"type":426,"tag":553,"props":204600,"children":204601},{"class":555,"line":588},[204602,204606,204610,204614,204618],{"type":426,"tag":553,"props":204603,"children":204604},{"style":560},[204605],{"type":431,"value":563},{"type":426,"tag":553,"props":204607,"children":204608},{"style":566},[204609],{"type":431,"value":569},{"type":426,"tag":553,"props":204611,"children":204612},{"style":572},[204613],{"type":431,"value":575},{"type":426,"tag":553,"props":204615,"children":204616},{"style":572},[204617],{"type":431,"value":580},{"type":426,"tag":553,"props":204619,"children":204620},{"style":566},[204621],{"type":431,"value":585},{"type":426,"tag":553,"props":204623,"children":204624},{"class":555,"line":606},[204625,204629,204633],{"type":426,"tag":553,"props":204626,"children":204627},{"style":566},[204628],{"type":431,"value":594},{"type":426,"tag":553,"props":204630,"children":204631},{"style":572},[204632],{"type":431,"value":599},{"type":426,"tag":553,"props":204634,"children":204635},{"style":566},[204636],{"type":431,"value":585},{"type":426,"tag":553,"props":204638,"children":204639},{"class":555,"line":623},[204640,204644,204648],{"type":426,"tag":553,"props":204641,"children":204642},{"style":566},[204643],{"type":431,"value":594},{"type":426,"tag":553,"props":204645,"children":204646},{"style":572},[204647],{"type":431,"value":616},{"type":426,"tag":553,"props":204649,"children":204650},{"style":566},[204651],{"type":431,"value":585},{"type":426,"tag":553,"props":204653,"children":204654},{"class":555,"line":637},[204655,204659],{"type":426,"tag":553,"props":204656,"children":204657},{"style":566},[204658],{"type":431,"value":629},{"type":426,"tag":553,"props":204660,"children":204661},{"style":572},[204662],{"type":431,"value":634},{"type":426,"tag":553,"props":204664,"children":204665},{"class":555,"line":646},[204666],{"type":426,"tag":553,"props":204667,"children":204668},{"style":572},[204669],{"type":431,"value":643},{"type":426,"tag":553,"props":204671,"children":204672},{"class":555,"line":655},[204673],{"type":426,"tag":553,"props":204674,"children":204675},{"style":572},[204676],{"type":431,"value":204677},"    \"message\": \"*Order Confirmed!* 🛒\\n\\nOrder #12345\\nTotal: $49.99\\nEstimated delivery: April 12, 2026\\n\\nTrack: https:\u002F\u002Fstore.com\u002Ftrack\u002F12345\"\n",{"type":426,"tag":553,"props":204679,"children":204680},{"class":555,"line":1036},[204681],{"type":426,"tag":553,"props":204682,"children":204683},{"style":572},[204684],{"type":431,"value":661},{"type":426,"tag":427,"props":204686,"children":204687},{},[204688,204693,204694,204700],{"type":426,"tag":446,"props":204689,"children":204690},{},[204691],{"type":431,"value":204692},"Ready-made solution",{"type":431,"value":78182},{"type":426,"tag":3819,"props":204695,"children":204697},{"href":118141,"rel":204696},[3823],[204698],{"type":431,"value":204699},"Rapiwa WooCommerce order updates n8n template",{"type":431,"value":204701}," has 236 installs.",{"type":426,"tag":6880,"props":204703,"children":204704},{},[],{"type":426,"tag":434,"props":204706,"children":204708},{"id":204707},"use-case-2-invoice-delivery",[204709],{"type":431,"value":204710},"Use Case #2: Invoice Delivery",{"type":426,"tag":427,"props":204712,"children":204713},{},[204714,204718],{"type":426,"tag":446,"props":204715,"children":204716},{},[204717],{"type":431,"value":204562},{"type":431,"value":204719},": Automatically sends PDF invoices to customers via WhatsApp when an order is completed or a bill is generated.",{"type":426,"tag":427,"props":204721,"children":204722},{},[204723,204727],{"type":426,"tag":446,"props":204724,"children":204725},{},[204726],{"type":431,"value":204572},{"type":431,"value":204728},": E-commerce stores, B2B service businesses, freelancers, agencies.",{"type":426,"tag":427,"props":204730,"children":204731},{},[204732,204736],{"type":426,"tag":446,"props":204733,"children":204734},{},[204735],{"type":431,"value":104357},{"type":431,"value":204737},": WhatsApp invoices have a 95%+ open rate. Customers who receive invoices via WhatsApp pay 2–3x faster than those receiving email invoices.",{"type":426,"tag":542,"props":204739,"children":204741},{"className":785,"code":204740,"language":784,"meta":417,"style":417},"import requests\n\ndef send_invoice(customer_phone, invoice_pdf_url, order_id, total):\n    message = f\"Your invoice for order #{order_id} (${total}) is ready.\"\n    \n    # Send document via Rapiwa API\n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n        json={\n            \"number\": customer_phone,\n            \"document\": invoice_pdf_url,\n            \"filename\": f\"Invoice_{order_id}.pdf\",\n            \"caption\": message\n        }\n    )\n    return response.json()\n",[204742],{"type":426,"tag":549,"props":204743,"children":204744},{"__ignoreMap":417},[204745,204756,204763,204780,204833,204840,204848,204863,204874,204905,204920,204932,204944,204983,204995,205002,205009],{"type":426,"tag":553,"props":204746,"children":204747},{"class":555,"line":556},[204748,204752],{"type":426,"tag":553,"props":204749,"children":204750},{"style":795},[204751],{"type":431,"value":798},{"type":426,"tag":553,"props":204753,"children":204754},{"style":684},[204755],{"type":431,"value":803},{"type":426,"tag":553,"props":204757,"children":204758},{"class":555,"line":588},[204759],{"type":426,"tag":553,"props":204760,"children":204761},{"emptyLinePlaceholder":831},[204762],{"type":431,"value":834},{"type":426,"tag":553,"props":204764,"children":204765},{"class":555,"line":606},[204766,204770,204775],{"type":426,"tag":553,"props":204767,"children":204768},{"style":795},[204769],{"type":431,"value":842},{"type":426,"tag":553,"props":204771,"children":204772},{"style":560},[204773],{"type":431,"value":204774}," send_invoice",{"type":426,"tag":553,"props":204776,"children":204777},{"style":684},[204778],{"type":431,"value":204779},"(customer_phone, invoice_pdf_url, order_id, total):\n",{"type":426,"tag":553,"props":204781,"children":204782},{"class":555,"line":623},[204783,204787,204791,204795,204799,204803,204807,204811,204816,204820,204824,204828],{"type":426,"tag":553,"props":204784,"children":204785},{"style":684},[204786],{"type":431,"value":1198},{"type":426,"tag":553,"props":204788,"children":204789},{"style":795},[204790],{"type":431,"value":957},{"type":426,"tag":553,"props":204792,"children":204793},{"style":795},[204794],{"type":431,"value":962},{"type":426,"tag":553,"props":204796,"children":204797},{"style":572},[204798],{"type":431,"value":190637},{"type":426,"tag":553,"props":204800,"children":204801},{"style":566},[204802],{"type":431,"value":972},{"type":426,"tag":553,"props":204804,"children":204805},{"style":684},[204806],{"type":431,"value":46710},{"type":426,"tag":553,"props":204808,"children":204809},{"style":566},[204810],{"type":431,"value":982},{"type":426,"tag":553,"props":204812,"children":204813},{"style":572},[204814],{"type":431,"value":204815}," ($",{"type":426,"tag":553,"props":204817,"children":204818},{"style":566},[204819],{"type":431,"value":972},{"type":426,"tag":553,"props":204821,"children":204822},{"style":684},[204823],{"type":431,"value":28805},{"type":426,"tag":553,"props":204825,"children":204826},{"style":566},[204827],{"type":431,"value":982},{"type":426,"tag":553,"props":204829,"children":204830},{"style":572},[204831],{"type":431,"value":204832},") is ready.\"\n",{"type":426,"tag":553,"props":204834,"children":204835},{"class":555,"line":637},[204836],{"type":426,"tag":553,"props":204837,"children":204838},{"style":684},[204839],{"type":431,"value":917},{"type":426,"tag":553,"props":204841,"children":204842},{"class":555,"line":646},[204843],{"type":426,"tag":553,"props":204844,"children":204845},{"style":1975},[204846],{"type":431,"value":204847},"    # Send document via Rapiwa API\n",{"type":426,"tag":553,"props":204849,"children":204850},{"class":555,"line":655},[204851,204855,204859],{"type":426,"tag":553,"props":204852,"children":204853},{"style":684},[204854],{"type":431,"value":8117},{"type":426,"tag":553,"props":204856,"children":204857},{"style":795},[204858],{"type":431,"value":957},{"type":426,"tag":553,"props":204860,"children":204861},{"style":684},[204862],{"type":431,"value":1664},{"type":426,"tag":553,"props":204864,"children":204865},{"class":555,"line":1036},[204866,204870],{"type":426,"tag":553,"props":204867,"children":204868},{"style":572},[204869],{"type":431,"value":47296},{"type":426,"tag":553,"props":204871,"children":204872},{"style":684},[204873],{"type":431,"value":710},{"type":426,"tag":553,"props":204875,"children":204876},{"class":555,"line":1054},[204877,204881,204885,204889,204893,204897,204901],{"type":426,"tag":553,"props":204878,"children":204879},{"style":1684},[204880],{"type":431,"value":1687},{"type":426,"tag":553,"props":204882,"children":204883},{"style":795},[204884],{"type":431,"value":957},{"type":426,"tag":553,"props":204886,"children":204887},{"style":684},[204888],{"type":431,"value":972},{"type":426,"tag":553,"props":204890,"children":204891},{"style":572},[204892],{"type":431,"value":45214},{"type":426,"tag":553,"props":204894,"children":204895},{"style":684},[204896],{"type":431,"value":700},{"type":426,"tag":553,"props":204898,"children":204899},{"style":572},[204900],{"type":431,"value":140737},{"type":426,"tag":553,"props":204902,"children":204903},{"style":684},[204904],{"type":431,"value":1737},{"type":426,"tag":553,"props":204906,"children":204907},{"class":555,"line":1080},[204908,204912,204916],{"type":426,"tag":553,"props":204909,"children":204910},{"style":1684},[204911],{"type":431,"value":1746},{"type":426,"tag":553,"props":204913,"children":204914},{"style":795},[204915],{"type":431,"value":957},{"type":426,"tag":553,"props":204917,"children":204918},{"style":684},[204919],{"type":431,"value":687},{"type":426,"tag":553,"props":204921,"children":204922},{"class":555,"line":1097},[204923,204927],{"type":426,"tag":553,"props":204924,"children":204925},{"style":572},[204926],{"type":431,"value":179334},{"type":426,"tag":553,"props":204928,"children":204929},{"style":684},[204930],{"type":431,"value":204931},": customer_phone,\n",{"type":426,"tag":553,"props":204933,"children":204934},{"class":555,"line":1114},[204935,204939],{"type":426,"tag":553,"props":204936,"children":204937},{"style":572},[204938],{"type":431,"value":190569},{"type":426,"tag":553,"props":204940,"children":204941},{"style":684},[204942],{"type":431,"value":204943},": invoice_pdf_url,\n",{"type":426,"tag":553,"props":204945,"children":204946},{"class":555,"line":1127},[204947,204951,204955,204959,204963,204967,204971,204975,204979],{"type":426,"tag":553,"props":204948,"children":204949},{"style":572},[204950],{"type":431,"value":190582},{"type":426,"tag":553,"props":204952,"children":204953},{"style":684},[204954],{"type":431,"value":700},{"type":426,"tag":553,"props":204956,"children":204957},{"style":795},[204958],{"type":431,"value":1709},{"type":426,"tag":553,"props":204960,"children":204961},{"style":572},[204962],{"type":431,"value":190595},{"type":426,"tag":553,"props":204964,"children":204965},{"style":566},[204966],{"type":431,"value":972},{"type":426,"tag":553,"props":204968,"children":204969},{"style":684},[204970],{"type":431,"value":46710},{"type":426,"tag":553,"props":204972,"children":204973},{"style":566},[204974],{"type":431,"value":982},{"type":426,"tag":553,"props":204976,"children":204977},{"style":572},[204978],{"type":431,"value":190612},{"type":426,"tag":553,"props":204980,"children":204981},{"style":684},[204982],{"type":431,"value":710},{"type":426,"tag":553,"props":204984,"children":204985},{"class":555,"line":1167},[204986,204990],{"type":426,"tag":553,"props":204987,"children":204988},{"style":572},[204989],{"type":431,"value":190624},{"type":426,"tag":553,"props":204991,"children":204992},{"style":684},[204993],{"type":431,"value":204994},": message\n",{"type":426,"tag":553,"props":204996,"children":204997},{"class":555,"line":1184},[204998],{"type":426,"tag":553,"props":204999,"children":205000},{"style":684},[205001],{"type":431,"value":15075},{"type":426,"tag":553,"props":205003,"children":205004},{"class":555,"line":1192},[205005],{"type":426,"tag":553,"props":205006,"children":205007},{"style":684},[205008],{"type":431,"value":1642},{"type":426,"tag":553,"props":205010,"children":205011},{"class":555,"line":1210},[205012,205016],{"type":426,"tag":553,"props":205013,"children":205014},{"style":795},[205015],{"type":431,"value":1659},{"type":426,"tag":553,"props":205017,"children":205018},{"style":684},[205019],{"type":431,"value":9193},{"type":426,"tag":427,"props":205021,"children":205022},{},[205023,205027,205028,205034,205036,205041],{"type":426,"tag":446,"props":205024,"children":205025},{},[205026],{"type":431,"value":204692},{"type":431,"value":78182},{"type":426,"tag":3819,"props":205029,"children":205031},{"href":144066,"rel":205030},[3823],[205032],{"type":431,"value":205033},"Auto-send WooCommerce invoices n8n template",{"type":431,"value":205035}," is the #1 most-used Rapiwa template with ",{"type":426,"tag":446,"props":205037,"children":205038},{},[205039],{"type":431,"value":205040},"1,306 installs",{"type":431,"value":6789},{"type":426,"tag":6880,"props":205043,"children":205044},{},[],{"type":426,"tag":434,"props":205046,"children":205048},{"id":205047},"use-case-3-appointment-reminders",[205049],{"type":431,"value":205050},"Use Case #3: Appointment Reminders",{"type":426,"tag":427,"props":205052,"children":205053},{},[205054,205058],{"type":426,"tag":446,"props":205055,"children":205056},{},[205057],{"type":431,"value":204562},{"type":431,"value":205059},": Sends automated appointment reminders 24 hours and 1 hour before scheduled time.",{"type":426,"tag":427,"props":205061,"children":205062},{},[205063,205067],{"type":426,"tag":446,"props":205064,"children":205065},{},[205066],{"type":431,"value":204572},{"type":431,"value":205068},": Healthcare clinics, beauty salons, law firms, consultants, repair services.",{"type":426,"tag":427,"props":205070,"children":205071},{},[205072,205076],{"type":426,"tag":446,"props":205073,"children":205074},{},[205075],{"type":431,"value":104357},{"type":431,"value":205077},": Reduces no-shows by 30–40%. A medical clinic with 50 appointments per week that reduces no-shows from 20% to 5% saves 7–8 appointments per week.",{"type":426,"tag":542,"props":205079,"children":205081},{"className":785,"code":205080,"language":784,"meta":417,"style":417},"from datetime import datetime, timedelta\nimport requests\n\ndef schedule_appointment_reminder(patient_phone, doctor_name, appointment_time):\n    # Send 24-hour reminder\n    message_24h = (\n        f\"*Appointment Reminder* 📅\\n\\n\"\n        f\"Dr. {doctor_name} — tomorrow at {appointment_time.strftime('%I:%M %p')}\\n\\n\"\n        f\"Reply *CONFIRM* to confirm or *RESCHEDULE* to change.\"\n    )\n    \n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n        json={\"number\": patient_phone, \"message\": message_24h}\n    )\n",[205082],{"type":426,"tag":549,"props":205083,"children":205084},{"__ignoreMap":417},[205085,205104,205115,205122,205139,205147,205163,205183,205239,205251,205258,205265,205280,205311,205344],{"type":426,"tag":553,"props":205086,"children":205087},{"class":555,"line":556},[205088,205092,205096,205100],{"type":426,"tag":553,"props":205089,"children":205090},{"style":795},[205091],{"type":431,"value":811},{"type":426,"tag":553,"props":205093,"children":205094},{"style":684},[205095],{"type":431,"value":816},{"type":426,"tag":553,"props":205097,"children":205098},{"style":795},[205099],{"type":431,"value":798},{"type":426,"tag":553,"props":205101,"children":205102},{"style":684},[205103],{"type":431,"value":6409},{"type":426,"tag":553,"props":205105,"children":205106},{"class":555,"line":588},[205107,205111],{"type":426,"tag":553,"props":205108,"children":205109},{"style":795},[205110],{"type":431,"value":798},{"type":426,"tag":553,"props":205112,"children":205113},{"style":684},[205114],{"type":431,"value":803},{"type":426,"tag":553,"props":205116,"children":205117},{"class":555,"line":606},[205118],{"type":426,"tag":553,"props":205119,"children":205120},{"emptyLinePlaceholder":831},[205121],{"type":431,"value":834},{"type":426,"tag":553,"props":205123,"children":205124},{"class":555,"line":623},[205125,205129,205134],{"type":426,"tag":553,"props":205126,"children":205127},{"style":795},[205128],{"type":431,"value":842},{"type":426,"tag":553,"props":205130,"children":205131},{"style":560},[205132],{"type":431,"value":205133}," schedule_appointment_reminder",{"type":426,"tag":553,"props":205135,"children":205136},{"style":684},[205137],{"type":431,"value":205138},"(patient_phone, doctor_name, appointment_time):\n",{"type":426,"tag":553,"props":205140,"children":205141},{"class":555,"line":637},[205142],{"type":426,"tag":553,"props":205143,"children":205144},{"style":1975},[205145],{"type":431,"value":205146},"    # Send 24-hour reminder\n",{"type":426,"tag":553,"props":205148,"children":205149},{"class":555,"line":646},[205150,205155,205159],{"type":426,"tag":553,"props":205151,"children":205152},{"style":684},[205153],{"type":431,"value":205154},"    message_24h ",{"type":426,"tag":553,"props":205156,"children":205157},{"style":795},[205158],{"type":431,"value":957},{"type":426,"tag":553,"props":205160,"children":205161},{"style":684},[205162],{"type":431,"value":1207},{"type":426,"tag":553,"props":205164,"children":205165},{"class":555,"line":655},[205166,205170,205175,205179],{"type":426,"tag":553,"props":205167,"children":205168},{"style":795},[205169],{"type":431,"value":1216},{"type":426,"tag":553,"props":205171,"children":205172},{"style":572},[205173],{"type":431,"value":205174},"\"*Appointment Reminder* 📅",{"type":426,"tag":553,"props":205176,"children":205177},{"style":566},[205178],{"type":431,"value":1295},{"type":426,"tag":553,"props":205180,"children":205181},{"style":572},[205182],{"type":431,"value":1250},{"type":426,"tag":553,"props":205184,"children":205185},{"class":555,"line":1036},[205186,205190,205195,205199,205204,205208,205213,205217,205222,205227,205231,205235],{"type":426,"tag":553,"props":205187,"children":205188},{"style":795},[205189],{"type":431,"value":1216},{"type":426,"tag":553,"props":205191,"children":205192},{"style":572},[205193],{"type":431,"value":205194},"\"Dr. ",{"type":426,"tag":553,"props":205196,"children":205197},{"style":566},[205198],{"type":431,"value":972},{"type":426,"tag":553,"props":205200,"children":205201},{"style":684},[205202],{"type":431,"value":205203},"doctor_name",{"type":426,"tag":553,"props":205205,"children":205206},{"style":566},[205207],{"type":431,"value":982},{"type":426,"tag":553,"props":205209,"children":205210},{"style":572},[205211],{"type":431,"value":205212}," — tomorrow at ",{"type":426,"tag":553,"props":205214,"children":205215},{"style":566},[205216],{"type":431,"value":972},{"type":426,"tag":553,"props":205218,"children":205219},{"style":684},[205220],{"type":431,"value":205221},"appointment_time.strftime(",{"type":426,"tag":553,"props":205223,"children":205224},{"style":572},[205225],{"type":431,"value":205226},"'%I:%M %p'",{"type":426,"tag":553,"props":205228,"children":205229},{"style":684},[205230],{"type":431,"value":5736},{"type":426,"tag":553,"props":205232,"children":205233},{"style":566},[205234],{"type":431,"value":1245},{"type":426,"tag":553,"props":205236,"children":205237},{"style":572},[205238],{"type":431,"value":1250},{"type":426,"tag":553,"props":205240,"children":205241},{"class":555,"line":1054},[205242,205246],{"type":426,"tag":553,"props":205243,"children":205244},{"style":795},[205245],{"type":431,"value":1216},{"type":426,"tag":553,"props":205247,"children":205248},{"style":572},[205249],{"type":431,"value":205250},"\"Reply *CONFIRM* to confirm or *RESCHEDULE* to change.\"\n",{"type":426,"tag":553,"props":205252,"children":205253},{"class":555,"line":1080},[205254],{"type":426,"tag":553,"props":205255,"children":205256},{"style":684},[205257],{"type":431,"value":1642},{"type":426,"tag":553,"props":205259,"children":205260},{"class":555,"line":1097},[205261],{"type":426,"tag":553,"props":205262,"children":205263},{"style":684},[205264],{"type":431,"value":917},{"type":426,"tag":553,"props":205266,"children":205267},{"class":555,"line":1114},[205268,205272,205276],{"type":426,"tag":553,"props":205269,"children":205270},{"style":684},[205271],{"type":431,"value":129222},{"type":426,"tag":553,"props":205273,"children":205274},{"style":572},[205275],{"type":431,"value":60449},{"type":426,"tag":553,"props":205277,"children":205278},{"style":684},[205279],{"type":431,"value":710},{"type":426,"tag":553,"props":205281,"children":205282},{"class":555,"line":1127},[205283,205287,205291,205295,205299,205303,205307],{"type":426,"tag":553,"props":205284,"children":205285},{"style":1684},[205286],{"type":431,"value":1687},{"type":426,"tag":553,"props":205288,"children":205289},{"style":795},[205290],{"type":431,"value":957},{"type":426,"tag":553,"props":205292,"children":205293},{"style":684},[205294],{"type":431,"value":972},{"type":426,"tag":553,"props":205296,"children":205297},{"style":572},[205298],{"type":431,"value":45214},{"type":426,"tag":553,"props":205300,"children":205301},{"style":684},[205302],{"type":431,"value":700},{"type":426,"tag":553,"props":205304,"children":205305},{"style":572},[205306],{"type":431,"value":140737},{"type":426,"tag":553,"props":205308,"children":205309},{"style":684},[205310],{"type":431,"value":1737},{"type":426,"tag":553,"props":205312,"children":205313},{"class":555,"line":1167},[205314,205318,205322,205326,205330,205335,205339],{"type":426,"tag":553,"props":205315,"children":205316},{"style":1684},[205317],{"type":431,"value":1746},{"type":426,"tag":553,"props":205319,"children":205320},{"style":795},[205321],{"type":431,"value":957},{"type":426,"tag":553,"props":205323,"children":205324},{"style":684},[205325],{"type":431,"value":972},{"type":426,"tag":553,"props":205327,"children":205328},{"style":572},[205329],{"type":431,"value":45266},{"type":426,"tag":553,"props":205331,"children":205332},{"style":684},[205333],{"type":431,"value":205334},": patient_phone, ",{"type":426,"tag":553,"props":205336,"children":205337},{"style":572},[205338],{"type":431,"value":45275},{"type":426,"tag":553,"props":205340,"children":205341},{"style":684},[205342],{"type":431,"value":205343},": message_24h}\n",{"type":426,"tag":553,"props":205345,"children":205346},{"class":555,"line":1184},[205347],{"type":426,"tag":553,"props":205348,"children":205349},{"style":684},[205350],{"type":431,"value":1642},{"type":426,"tag":6880,"props":205352,"children":205353},{},[],{"type":426,"tag":434,"props":205355,"children":205357},{"id":205356},"use-case-4-otp-and-two-factor-authentication",[205358],{"type":431,"value":205359},"Use Case #4: OTP and Two-Factor Authentication",{"type":426,"tag":427,"props":205361,"children":205362},{},[205363,205367],{"type":426,"tag":446,"props":205364,"children":205365},{},[205366],{"type":431,"value":204562},{"type":431,"value":205368},": Sends one-time passwords via WhatsApp for user verification and login.",{"type":426,"tag":427,"props":205370,"children":205371},{},[205372,205376],{"type":426,"tag":446,"props":205373,"children":205374},{},[205375],{"type":431,"value":204572},{"type":431,"value":205377},": SaaS platforms, fintech apps, e-commerce with account authentication.",{"type":426,"tag":427,"props":205379,"children":205380},{},[205381,205385],{"type":426,"tag":446,"props":205382,"children":205383},{},[205384],{"type":431,"value":104357},{"type":431,"value":205386},": WhatsApp OTPs have a 98% delivery rate and are read within seconds — faster and more reliable than SMS OTPs in many countries.",{"type":426,"tag":542,"props":205388,"children":205390},{"className":52113,"code":205389,"language":52115,"meta":417,"style":417},"async function sendOTP(phoneNumber, otpCode) {\n  const message = `*Security Code: ${otpCode}*\\n\\nThis code expires in 10 minutes. Never share this code with anyone.`;\n  \n  const response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n    method: \"POST\",\n    headers: {\n      \"Authorization\": \"Bearer YOUR_API_KEY\",\n      \"Content-Type\": \"application\u002Fjson\"\n    },\n    body: JSON.stringify({ number: phoneNumber, message: message })\n  });\n  \n  return response.json();\n}\n\n\u002F\u002F Usage\nconst otp = Math.floor(100000 + Math.random() * 900000).toString();\nawait sendOTP(\"8801234567890\", otp);\n",[205391],{"type":426,"tag":549,"props":205392,"children":205393},{"__ignoreMap":417},[205394,205431,205472,205479,205514,205529,205536,205555,205570,205577,205601,205608,205615,205634,205641,205648,205655,205725],{"type":426,"tag":553,"props":205395,"children":205396},{"class":555,"line":556},[205397,205401,205405,205410,205414,205418,205422,205427],{"type":426,"tag":553,"props":205398,"children":205399},{"style":795},[205400],{"type":431,"value":52361},{"type":426,"tag":553,"props":205402,"children":205403},{"style":795},[205404],{"type":431,"value":52366},{"type":426,"tag":553,"props":205406,"children":205407},{"style":560},[205408],{"type":431,"value":205409}," sendOTP",{"type":426,"tag":553,"props":205411,"children":205412},{"style":684},[205413],{"type":431,"value":3275},{"type":426,"tag":553,"props":205415,"children":205416},{"style":1684},[205417],{"type":431,"value":122944},{"type":426,"tag":553,"props":205419,"children":205420},{"style":684},[205421],{"type":431,"value":1907},{"type":426,"tag":553,"props":205423,"children":205424},{"style":1684},[205425],{"type":431,"value":205426},"otpCode",{"type":426,"tag":553,"props":205428,"children":205429},{"style":684},[205430],{"type":431,"value":52385},{"type":426,"tag":553,"props":205432,"children":205433},{"class":555,"line":588},[205434,205438,205442,205446,205451,205455,205459,205463,205468],{"type":426,"tag":553,"props":205435,"children":205436},{"style":795},[205437],{"type":431,"value":52540},{"type":426,"tag":553,"props":205439,"children":205440},{"style":566},[205441],{"type":431,"value":55741},{"type":426,"tag":553,"props":205443,"children":205444},{"style":795},[205445],{"type":431,"value":8739},{"type":426,"tag":553,"props":205447,"children":205448},{"style":572},[205449],{"type":431,"value":205450}," `*Security Code: ${",{"type":426,"tag":553,"props":205452,"children":205453},{"style":684},[205454],{"type":431,"value":205426},{"type":426,"tag":553,"props":205456,"children":205457},{"style":572},[205458],{"type":431,"value":52934},{"type":426,"tag":553,"props":205460,"children":205461},{"style":566},[205462],{"type":431,"value":1295},{"type":426,"tag":553,"props":205464,"children":205465},{"style":572},[205466],{"type":431,"value":205467},"This code expires in 10 minutes. Never share this code with anyone.`",{"type":426,"tag":553,"props":205469,"children":205470},{"style":684},[205471],{"type":431,"value":52321},{"type":426,"tag":553,"props":205473,"children":205474},{"class":555,"line":606},[205475],{"type":426,"tag":553,"props":205476,"children":205477},{"style":684},[205478],{"type":431,"value":52575},{"type":426,"tag":553,"props":205480,"children":205481},{"class":555,"line":623},[205482,205486,205490,205494,205498,205502,205506,205510],{"type":426,"tag":553,"props":205483,"children":205484},{"style":795},[205485],{"type":431,"value":52540},{"type":426,"tag":553,"props":205487,"children":205488},{"style":566},[205489],{"type":431,"value":53061},{"type":426,"tag":553,"props":205491,"children":205492},{"style":795},[205493],{"type":431,"value":8739},{"type":426,"tag":553,"props":205495,"children":205496},{"style":795},[205497],{"type":431,"value":53070},{"type":426,"tag":553,"props":205499,"children":205500},{"style":560},[205501],{"type":431,"value":52226},{"type":426,"tag":553,"props":205503,"children":205504},{"style":684},[205505],{"type":431,"value":3275},{"type":426,"tag":553,"props":205507,"children":205508},{"style":572},[205509],{"type":431,"value":60449},{"type":426,"tag":553,"props":205511,"children":205512},{"style":684},[205513],{"type":431,"value":53088},{"type":426,"tag":553,"props":205515,"children":205516},{"class":555,"line":637},[205517,205521,205525],{"type":426,"tag":553,"props":205518,"children":205519},{"style":684},[205520],{"type":431,"value":53096},{"type":426,"tag":553,"props":205522,"children":205523},{"style":572},[205524],{"type":431,"value":60428},{"type":426,"tag":553,"props":205526,"children":205527},{"style":684},[205528],{"type":431,"value":710},{"type":426,"tag":553,"props":205530,"children":205531},{"class":555,"line":646},[205532],{"type":426,"tag":553,"props":205533,"children":205534},{"style":684},[205535],{"type":431,"value":53112},{"type":426,"tag":553,"props":205537,"children":205538},{"class":555,"line":655},[205539,205543,205547,205551],{"type":426,"tag":553,"props":205540,"children":205541},{"style":572},[205542],{"type":431,"value":131200},{"type":426,"tag":553,"props":205544,"children":205545},{"style":684},[205546],{"type":431,"value":700},{"type":426,"tag":553,"props":205548,"children":205549},{"style":572},[205550],{"type":431,"value":140737},{"type":426,"tag":553,"props":205552,"children":205553},{"style":684},[205554],{"type":431,"value":710},{"type":426,"tag":553,"props":205556,"children":205557},{"class":555,"line":1036},[205558,205562,205566],{"type":426,"tag":553,"props":205559,"children":205560},{"style":572},[205561],{"type":431,"value":131228},{"type":426,"tag":553,"props":205563,"children":205564},{"style":684},[205565],{"type":431,"value":700},{"type":426,"tag":553,"props":205567,"children":205568},{"style":572},[205569],{"type":431,"value":113079},{"type":426,"tag":553,"props":205571,"children":205572},{"class":555,"line":1054},[205573],{"type":426,"tag":553,"props":205574,"children":205575},{"style":684},[205576],{"type":431,"value":17203},{"type":426,"tag":553,"props":205578,"children":205579},{"class":555,"line":1080},[205580,205584,205588,205592,205596],{"type":426,"tag":553,"props":205581,"children":205582},{"style":684},[205583],{"type":431,"value":53173},{"type":426,"tag":553,"props":205585,"children":205586},{"style":566},[205587],{"type":431,"value":53178},{"type":426,"tag":553,"props":205589,"children":205590},{"style":684},[205591],{"type":431,"value":6789},{"type":426,"tag":553,"props":205593,"children":205594},{"style":560},[205595],{"type":431,"value":53187},{"type":426,"tag":553,"props":205597,"children":205598},{"style":684},[205599],{"type":431,"value":205600},"({ number: phoneNumber, message: message })\n",{"type":426,"tag":553,"props":205602,"children":205603},{"class":555,"line":1097},[205604],{"type":426,"tag":553,"props":205605,"children":205606},{"style":684},[205607],{"type":431,"value":52480},{"type":426,"tag":553,"props":205609,"children":205610},{"class":555,"line":1114},[205611],{"type":426,"tag":553,"props":205612,"children":205613},{"style":684},[205614],{"type":431,"value":52575},{"type":426,"tag":553,"props":205616,"children":205617},{"class":555,"line":1127},[205618,205622,205626,205630],{"type":426,"tag":553,"props":205619,"children":205620},{"style":795},[205621],{"type":431,"value":52393},{"type":426,"tag":553,"props":205623,"children":205624},{"style":684},[205625],{"type":431,"value":53218},{"type":426,"tag":553,"props":205627,"children":205628},{"style":560},[205629],{"type":431,"value":673},{"type":426,"tag":553,"props":205631,"children":205632},{"style":684},[205633],{"type":431,"value":53227},{"type":426,"tag":553,"props":205635,"children":205636},{"class":555,"line":1167},[205637],{"type":426,"tag":553,"props":205638,"children":205639},{"style":684},[205640],{"type":431,"value":756},{"type":426,"tag":553,"props":205642,"children":205643},{"class":555,"line":1184},[205644],{"type":426,"tag":553,"props":205645,"children":205646},{"emptyLinePlaceholder":831},[205647],{"type":431,"value":834},{"type":426,"tag":553,"props":205649,"children":205650},{"class":555,"line":1192},[205651],{"type":426,"tag":553,"props":205652,"children":205653},{"style":1975},[205654],{"type":431,"value":53575},{"type":426,"tag":553,"props":205656,"children":205657},{"class":555,"line":1210},[205658,205662,205666,205670,205674,205679,205683,205688,205692,205696,205700,205704,205708,205713,205717,205721],{"type":426,"tag":553,"props":205659,"children":205660},{"style":795},[205661],{"type":431,"value":52135},{"type":426,"tag":553,"props":205663,"children":205664},{"style":566},[205665],{"type":431,"value":121435},{"type":426,"tag":553,"props":205667,"children":205668},{"style":795},[205669],{"type":431,"value":8739},{"type":426,"tag":553,"props":205671,"children":205672},{"style":684},[205673],{"type":431,"value":53301},{"type":426,"tag":553,"props":205675,"children":205676},{"style":560},[205677],{"type":431,"value":205678},"floor",{"type":426,"tag":553,"props":205680,"children":205681},{"style":684},[205682],{"type":431,"value":3275},{"type":426,"tag":553,"props":205684,"children":205685},{"style":566},[205686],{"type":431,"value":205687},"100000",{"type":426,"tag":553,"props":205689,"children":205690},{"style":795},[205691],{"type":431,"value":61140},{"type":426,"tag":553,"props":205693,"children":205694},{"style":684},[205695],{"type":431,"value":53301},{"type":426,"tag":553,"props":205697,"children":205698},{"style":560},[205699],{"type":431,"value":53306},{"type":426,"tag":553,"props":205701,"children":205702},{"style":684},[205703],{"type":431,"value":61573},{"type":426,"tag":553,"props":205705,"children":205706},{"style":795},[205707],{"type":431,"value":5801},{"type":426,"tag":553,"props":205709,"children":205710},{"style":566},[205711],{"type":431,"value":205712}," 900000",{"type":426,"tag":553,"props":205714,"children":205715},{"style":684},[205716],{"type":431,"value":53330},{"type":426,"tag":553,"props":205718,"children":205719},{"style":560},[205720],{"type":431,"value":53316},{"type":426,"tag":553,"props":205722,"children":205723},{"style":684},[205724],{"type":431,"value":53227},{"type":426,"tag":553,"props":205726,"children":205727},{"class":555,"line":1253},[205728,205732,205736,205740,205744],{"type":426,"tag":553,"props":205729,"children":205730},{"style":795},[205731],{"type":431,"value":79424},{"type":426,"tag":553,"props":205733,"children":205734},{"style":560},[205735],{"type":431,"value":205409},{"type":426,"tag":553,"props":205737,"children":205738},{"style":684},[205739],{"type":431,"value":3275},{"type":426,"tag":553,"props":205741,"children":205742},{"style":572},[205743],{"type":431,"value":7286},{"type":426,"tag":553,"props":205745,"children":205746},{"style":684},[205747],{"type":431,"value":205748},", otp);\n",{"type":426,"tag":6880,"props":205750,"children":205751},{},[],{"type":426,"tag":434,"props":205753,"children":205755},{"id":205754},"use-case-5-ai-powered-customer-support-bot",[205756],{"type":431,"value":205757},"Use Case #5: AI-Powered Customer Support Bot",{"type":426,"tag":427,"props":205759,"children":205760},{},[205761,205765],{"type":426,"tag":446,"props":205762,"children":205763},{},[205764],{"type":431,"value":204562},{"type":431,"value":205766},": Receives customer messages via webhook, processes them with an AI model (GPT-4, Gemini), and sends intelligent responses automatically.",{"type":426,"tag":427,"props":205768,"children":205769},{},[205770,205774],{"type":426,"tag":446,"props":205771,"children":205772},{},[205773],{"type":431,"value":204572},{"type":431,"value":205775},": E-commerce stores, SaaS companies, service businesses — any business with repetitive customer queries.",{"type":426,"tag":427,"props":205777,"children":205778},{},[205779,205783],{"type":426,"tag":446,"props":205780,"children":205781},{},[205782],{"type":431,"value":104357},{"type":431,"value":205784},": Handles 60–80% of common customer queries automatically, 24\u002F7, without human agents.",{"type":426,"tag":427,"props":205786,"children":205787},{},[205788,205792],{"type":426,"tag":446,"props":205789,"children":205790},{},[205791],{"type":431,"value":112076},{"type":431,"value":19071},{"type":426,"tag":6331,"props":205794,"children":205795},{},[205796,205801,205806,205811,205816],{"type":426,"tag":458,"props":205797,"children":205798},{},[205799],{"type":431,"value":205800},"Customer sends WhatsApp message to your number",{"type":426,"tag":458,"props":205802,"children":205803},{},[205804],{"type":431,"value":205805},"Rapiwa webhook delivers message to your server",{"type":426,"tag":458,"props":205807,"children":205808},{},[205809],{"type":431,"value":205810},"Your server sends message to OpenAI GPT-4 API",{"type":426,"tag":458,"props":205812,"children":205813},{},[205814],{"type":431,"value":205815},"GPT-4 generates a response based on your knowledge base",{"type":426,"tag":458,"props":205817,"children":205818},{},[205819],{"type":431,"value":205820},"Your server sends response back via Rapiwa API",{"type":426,"tag":427,"props":205822,"children":205823},{},[205824,205828,205829,205835,205836,205841],{"type":426,"tag":446,"props":205825,"children":205826},{},[205827],{"type":431,"value":204692},{"type":431,"value":700},{"type":426,"tag":3819,"props":205830,"children":205832},{"href":125283,"rel":205831},[3823],[205833],{"type":431,"value":205834},"WhatsApp customer support bot with GPT-4 Mini n8n template",{"type":431,"value":22506},{"type":426,"tag":446,"props":205837,"children":205838},{},[205839],{"type":431,"value":205840},"474 installs",{"type":431,"value":6789},{"type":426,"tag":6880,"props":205843,"children":205844},{},[],{"type":426,"tag":434,"props":205846,"children":205848},{"id":205847},"use-case-6-lead-nurturing-and-follow-up-sequences",[205849],{"type":431,"value":205850},"Use Case #6: Lead Nurturing and Follow-Up Sequences",{"type":426,"tag":427,"props":205852,"children":205853},{},[205854,205858],{"type":426,"tag":446,"props":205855,"children":205856},{},[205857],{"type":431,"value":204562},{"type":431,"value":205859},": Automatically follows up with new leads over 5–7 days with personalized messages.",{"type":426,"tag":427,"props":205861,"children":205862},{},[205863,205867],{"type":426,"tag":446,"props":205864,"children":205865},{},[205866],{"type":431,"value":204572},{"type":431,"value":205868},": Sales teams, marketing agencies, real estate agents, coaches.",{"type":426,"tag":427,"props":205870,"children":205871},{},[205872,205876],{"type":426,"tag":446,"props":205873,"children":205874},{},[205875],{"type":431,"value":104357},{"type":431,"value":205877},": 80% of sales require 5 or more follow-ups. WhatsApp follow-ups get 10–15x more replies than email.",{"type":426,"tag":542,"props":205879,"children":205881},{"className":785,"code":205880,"language":784,"meta":417,"style":417},"import time\nimport requests\n\ndef nurture_lead(lead_phone, lead_name, product):\n    api_key = \"YOUR_API_KEY\"\n    \n    sequence = [\n        (0, f\"Hi {lead_name}! Thanks for your interest in {product}. What's your biggest challenge with [problem area]?\"),\n        (86400, f\"Hi {lead_name}, just following up! Here's a quick guide that might help: [link]\"),\n        (172800, f\"{lead_name}, have you had a chance to check out {product}? Happy to do a quick 15-min call: [calendar link]\"),\n    ]\n    \n    for delay_seconds, message in sequence:\n        if delay_seconds > 0:\n            time.sleep(delay_seconds)  # Use a proper scheduler like Celery in production\n        requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": f\"Bearer {api_key}\"},\n            json={\"number\": lead_phone, \"message\": message}\n        )\n",[205882],{"type":426,"tag":549,"props":205883,"children":205884},{"__ignoreMap":417},[205885,205896,205907,205914,205931,205946,205953,205969,206031,206076,206138,206146,206153,206174,206198,206211,206226,206277,206309],{"type":426,"tag":553,"props":205886,"children":205887},{"class":555,"line":556},[205888,205892],{"type":426,"tag":553,"props":205889,"children":205890},{"style":795},[205891],{"type":431,"value":798},{"type":426,"tag":553,"props":205893,"children":205894},{"style":684},[205895],{"type":431,"value":3081},{"type":426,"tag":553,"props":205897,"children":205898},{"class":555,"line":588},[205899,205903],{"type":426,"tag":553,"props":205900,"children":205901},{"style":795},[205902],{"type":431,"value":798},{"type":426,"tag":553,"props":205904,"children":205905},{"style":684},[205906],{"type":431,"value":803},{"type":426,"tag":553,"props":205908,"children":205909},{"class":555,"line":606},[205910],{"type":426,"tag":553,"props":205911,"children":205912},{"emptyLinePlaceholder":831},[205913],{"type":431,"value":834},{"type":426,"tag":553,"props":205915,"children":205916},{"class":555,"line":623},[205917,205921,205926],{"type":426,"tag":553,"props":205918,"children":205919},{"style":795},[205920],{"type":431,"value":842},{"type":426,"tag":553,"props":205922,"children":205923},{"style":560},[205924],{"type":431,"value":205925}," nurture_lead",{"type":426,"tag":553,"props":205927,"children":205928},{"style":684},[205929],{"type":431,"value":205930},"(lead_phone, lead_name, product):\n",{"type":426,"tag":553,"props":205932,"children":205933},{"class":555,"line":637},[205934,205938,205942],{"type":426,"tag":553,"props":205935,"children":205936},{"style":684},[205937],{"type":431,"value":14888},{"type":426,"tag":553,"props":205939,"children":205940},{"style":795},[205941],{"type":431,"value":957},{"type":426,"tag":553,"props":205943,"children":205944},{"style":572},[205945],{"type":431,"value":40863},{"type":426,"tag":553,"props":205947,"children":205948},{"class":555,"line":646},[205949],{"type":426,"tag":553,"props":205950,"children":205951},{"style":684},[205952],{"type":431,"value":917},{"type":426,"tag":553,"props":205954,"children":205955},{"class":555,"line":655},[205956,205961,205965],{"type":426,"tag":553,"props":205957,"children":205958},{"style":684},[205959],{"type":431,"value":205960},"    sequence ",{"type":426,"tag":553,"props":205962,"children":205963},{"style":795},[205964],{"type":431,"value":957},{"type":426,"tag":553,"props":205966,"children":205967},{"style":684},[205968],{"type":431,"value":80133},{"type":426,"tag":553,"props":205970,"children":205971},{"class":555,"line":1036},[205972,205977,205981,205985,205989,205993,205997,206001,206005,206010,206014,206018,206022,206027],{"type":426,"tag":553,"props":205973,"children":205974},{"style":684},[205975],{"type":431,"value":205976},"        (",{"type":426,"tag":553,"props":205978,"children":205979},{"style":566},[205980],{"type":431,"value":1930},{"type":426,"tag":553,"props":205982,"children":205983},{"style":684},[205984],{"type":431,"value":1907},{"type":426,"tag":553,"props":205986,"children":205987},{"style":795},[205988],{"type":431,"value":1709},{"type":426,"tag":553,"props":205990,"children":205991},{"style":572},[205992],{"type":431,"value":4625},{"type":426,"tag":553,"props":205994,"children":205995},{"style":566},[205996],{"type":431,"value":972},{"type":426,"tag":553,"props":205998,"children":205999},{"style":684},[206000],{"type":431,"value":45080},{"type":426,"tag":553,"props":206002,"children":206003},{"style":566},[206004],{"type":431,"value":982},{"type":426,"tag":553,"props":206006,"children":206007},{"style":572},[206008],{"type":431,"value":206009},"! Thanks for your interest in ",{"type":426,"tag":553,"props":206011,"children":206012},{"style":566},[206013],{"type":431,"value":972},{"type":426,"tag":553,"props":206015,"children":206016},{"style":684},[206017],{"type":431,"value":31087},{"type":426,"tag":553,"props":206019,"children":206020},{"style":566},[206021],{"type":431,"value":982},{"type":426,"tag":553,"props":206023,"children":206024},{"style":572},[206025],{"type":431,"value":206026},". What's your biggest challenge with [problem area]?\"",{"type":426,"tag":553,"props":206028,"children":206029},{"style":684},[206030],{"type":431,"value":11615},{"type":426,"tag":553,"props":206032,"children":206033},{"class":555,"line":1054},[206034,206038,206043,206047,206051,206055,206059,206063,206067,206072],{"type":426,"tag":553,"props":206035,"children":206036},{"style":684},[206037],{"type":431,"value":205976},{"type":426,"tag":553,"props":206039,"children":206040},{"style":566},[206041],{"type":431,"value":206042},"86400",{"type":426,"tag":553,"props":206044,"children":206045},{"style":684},[206046],{"type":431,"value":1907},{"type":426,"tag":553,"props":206048,"children":206049},{"style":795},[206050],{"type":431,"value":1709},{"type":426,"tag":553,"props":206052,"children":206053},{"style":572},[206054],{"type":431,"value":4625},{"type":426,"tag":553,"props":206056,"children":206057},{"style":566},[206058],{"type":431,"value":972},{"type":426,"tag":553,"props":206060,"children":206061},{"style":684},[206062],{"type":431,"value":45080},{"type":426,"tag":553,"props":206064,"children":206065},{"style":566},[206066],{"type":431,"value":982},{"type":426,"tag":553,"props":206068,"children":206069},{"style":572},[206070],{"type":431,"value":206071},", just following up! Here's a quick guide that might help: [link]\"",{"type":426,"tag":553,"props":206073,"children":206074},{"style":684},[206075],{"type":431,"value":11615},{"type":426,"tag":553,"props":206077,"children":206078},{"class":555,"line":1080},[206079,206083,206088,206092,206096,206100,206104,206108,206112,206117,206121,206125,206129,206134],{"type":426,"tag":553,"props":206080,"children":206081},{"style":684},[206082],{"type":431,"value":205976},{"type":426,"tag":553,"props":206084,"children":206085},{"style":566},[206086],{"type":431,"value":206087},"172800",{"type":426,"tag":553,"props":206089,"children":206090},{"style":684},[206091],{"type":431,"value":1907},{"type":426,"tag":553,"props":206093,"children":206094},{"style":795},[206095],{"type":431,"value":1709},{"type":426,"tag":553,"props":206097,"children":206098},{"style":572},[206099],{"type":431,"value":1527},{"type":426,"tag":553,"props":206101,"children":206102},{"style":566},[206103],{"type":431,"value":972},{"type":426,"tag":553,"props":206105,"children":206106},{"style":684},[206107],{"type":431,"value":45080},{"type":426,"tag":553,"props":206109,"children":206110},{"style":566},[206111],{"type":431,"value":982},{"type":426,"tag":553,"props":206113,"children":206114},{"style":572},[206115],{"type":431,"value":206116},", have you had a chance to check out ",{"type":426,"tag":553,"props":206118,"children":206119},{"style":566},[206120],{"type":431,"value":972},{"type":426,"tag":553,"props":206122,"children":206123},{"style":684},[206124],{"type":431,"value":31087},{"type":426,"tag":553,"props":206126,"children":206127},{"style":566},[206128],{"type":431,"value":982},{"type":426,"tag":553,"props":206130,"children":206131},{"style":572},[206132],{"type":431,"value":206133},"? Happy to do a quick 15-min call: [calendar link]\"",{"type":426,"tag":553,"props":206135,"children":206136},{"style":684},[206137],{"type":431,"value":11615},{"type":426,"tag":553,"props":206139,"children":206140},{"class":555,"line":1097},[206141],{"type":426,"tag":553,"props":206142,"children":206143},{"style":684},[206144],{"type":431,"value":206145},"    ]\n",{"type":426,"tag":553,"props":206147,"children":206148},{"class":555,"line":1114},[206149],{"type":426,"tag":553,"props":206150,"children":206151},{"style":684},[206152],{"type":431,"value":917},{"type":426,"tag":553,"props":206154,"children":206155},{"class":555,"line":1127},[206156,206160,206165,206169],{"type":426,"tag":553,"props":206157,"children":206158},{"style":795},[206159],{"type":431,"value":1995},{"type":426,"tag":553,"props":206161,"children":206162},{"style":684},[206163],{"type":431,"value":206164}," delay_seconds, message ",{"type":426,"tag":553,"props":206166,"children":206167},{"style":795},[206168],{"type":431,"value":2005},{"type":426,"tag":553,"props":206170,"children":206171},{"style":684},[206172],{"type":431,"value":206173}," sequence:\n",{"type":426,"tag":553,"props":206175,"children":206176},{"class":555,"line":1167},[206177,206181,206186,206190,206194],{"type":426,"tag":553,"props":206178,"children":206179},{"style":795},[206180],{"type":431,"value":2972},{"type":426,"tag":553,"props":206182,"children":206183},{"style":684},[206184],{"type":431,"value":206185}," delay_seconds ",{"type":426,"tag":553,"props":206187,"children":206188},{"style":795},[206189],{"type":431,"value":935},{"type":426,"tag":553,"props":206191,"children":206192},{"style":566},[206193],{"type":431,"value":940},{"type":426,"tag":553,"props":206195,"children":206196},{"style":684},[206197],{"type":431,"value":909},{"type":426,"tag":553,"props":206199,"children":206200},{"class":555,"line":1184},[206201,206206],{"type":426,"tag":553,"props":206202,"children":206203},{"style":684},[206204],{"type":431,"value":206205},"            time.sleep(delay_seconds)  ",{"type":426,"tag":553,"props":206207,"children":206208},{"style":1975},[206209],{"type":431,"value":206210},"# Use a proper scheduler like Celery in production\n",{"type":426,"tag":553,"props":206212,"children":206213},{"class":555,"line":1192},[206214,206218,206222],{"type":426,"tag":553,"props":206215,"children":206216},{"style":684},[206217],{"type":431,"value":153255},{"type":426,"tag":553,"props":206219,"children":206220},{"style":572},[206221],{"type":431,"value":60449},{"type":426,"tag":553,"props":206223,"children":206224},{"style":684},[206225],{"type":431,"value":710},{"type":426,"tag":553,"props":206227,"children":206228},{"class":555,"line":1210},[206229,206233,206237,206241,206245,206249,206253,206257,206261,206265,206269,206273],{"type":426,"tag":553,"props":206230,"children":206231},{"style":1684},[206232],{"type":431,"value":2864},{"type":426,"tag":553,"props":206234,"children":206235},{"style":795},[206236],{"type":431,"value":957},{"type":426,"tag":553,"props":206238,"children":206239},{"style":684},[206240],{"type":431,"value":972},{"type":426,"tag":553,"props":206242,"children":206243},{"style":572},[206244],{"type":431,"value":45214},{"type":426,"tag":553,"props":206246,"children":206247},{"style":684},[206248],{"type":431,"value":700},{"type":426,"tag":553,"props":206250,"children":206251},{"style":795},[206252],{"type":431,"value":1709},{"type":426,"tag":553,"props":206254,"children":206255},{"style":572},[206256],{"type":431,"value":12608},{"type":426,"tag":553,"props":206258,"children":206259},{"style":566},[206260],{"type":431,"value":972},{"type":426,"tag":553,"props":206262,"children":206263},{"style":684},[206264],{"type":431,"value":1723},{"type":426,"tag":553,"props":206266,"children":206267},{"style":566},[206268],{"type":431,"value":982},{"type":426,"tag":553,"props":206270,"children":206271},{"style":572},[206272],{"type":431,"value":1527},{"type":426,"tag":553,"props":206274,"children":206275},{"style":684},[206276],{"type":431,"value":1737},{"type":426,"tag":553,"props":206278,"children":206279},{"class":555,"line":1253},[206280,206284,206288,206292,206296,206301,206305],{"type":426,"tag":553,"props":206281,"children":206282},{"style":1684},[206283],{"type":431,"value":2916},{"type":426,"tag":553,"props":206285,"children":206286},{"style":795},[206287],{"type":431,"value":957},{"type":426,"tag":553,"props":206289,"children":206290},{"style":684},[206291],{"type":431,"value":972},{"type":426,"tag":553,"props":206293,"children":206294},{"style":572},[206295],{"type":431,"value":45266},{"type":426,"tag":553,"props":206297,"children":206298},{"style":684},[206299],{"type":431,"value":206300},": lead_phone, ",{"type":426,"tag":553,"props":206302,"children":206303},{"style":572},[206304],{"type":431,"value":45275},{"type":426,"tag":553,"props":206306,"children":206307},{"style":684},[206308],{"type":431,"value":1784},{"type":426,"tag":553,"props":206310,"children":206311},{"class":555,"line":1302},[206312],{"type":426,"tag":553,"props":206313,"children":206314},{"style":684},[206315],{"type":431,"value":6037},{"type":426,"tag":6880,"props":206317,"children":206318},{},[],{"type":426,"tag":434,"props":206320,"children":206322},{"id":206321},"use-case-7-payment-reminders-and-recovery",[206323],{"type":431,"value":206324},"Use Case #7: Payment Reminders and Recovery",{"type":426,"tag":427,"props":206326,"children":206327},{},[206328,206332],{"type":426,"tag":446,"props":206329,"children":206330},{},[206331],{"type":431,"value":204562},{"type":431,"value":206333},": Automatically reminds customers of overdue invoices, failed payments, or expiring subscriptions.",{"type":426,"tag":427,"props":206335,"children":206336},{},[206337,206341],{"type":426,"tag":446,"props":206338,"children":206339},{},[206340],{"type":431,"value":204572},{"type":431,"value":206342},": Subscription SaaS, B2B service businesses, e-commerce with split payments.",{"type":426,"tag":427,"props":206344,"children":206345},{},[206346,206350],{"type":426,"tag":446,"props":206347,"children":206348},{},[206349],{"type":431,"value":104357},{"type":431,"value":206351},": Reduces involuntary churn. Customers who receive WhatsApp payment reminders pay 2–3x faster than email recipients.",{"type":426,"tag":542,"props":206353,"children":206355},{"className":546,"code":206354,"language":545,"meta":417,"style":417},"# Send payment reminder for overdue invoice\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hi John 👋\\n\\nInvoice #INV-2026-042 for *$299* is now 7 days overdue.\\n\\nPay securely here: https:\u002F\u002Fpay.yourcompany.com\u002Finv\u002F2026042\\n\\nQuestions? Just reply to this message.\"\n  }'\n",[206356],{"type":426,"tag":549,"props":206357,"children":206358},{"__ignoreMap":417},[206359,206367,206390,206405,206420,206431,206438,206446],{"type":426,"tag":553,"props":206360,"children":206361},{"class":555,"line":556},[206362],{"type":426,"tag":553,"props":206363,"children":206364},{"style":1975},[206365],{"type":431,"value":206366},"# Send payment reminder for overdue invoice\n",{"type":426,"tag":553,"props":206368,"children":206369},{"class":555,"line":588},[206370,206374,206378,206382,206386],{"type":426,"tag":553,"props":206371,"children":206372},{"style":560},[206373],{"type":431,"value":563},{"type":426,"tag":553,"props":206375,"children":206376},{"style":566},[206377],{"type":431,"value":569},{"type":426,"tag":553,"props":206379,"children":206380},{"style":572},[206381],{"type":431,"value":575},{"type":426,"tag":553,"props":206383,"children":206384},{"style":572},[206385],{"type":431,"value":580},{"type":426,"tag":553,"props":206387,"children":206388},{"style":566},[206389],{"type":431,"value":585},{"type":426,"tag":553,"props":206391,"children":206392},{"class":555,"line":606},[206393,206397,206401],{"type":426,"tag":553,"props":206394,"children":206395},{"style":566},[206396],{"type":431,"value":594},{"type":426,"tag":553,"props":206398,"children":206399},{"style":572},[206400],{"type":431,"value":599},{"type":426,"tag":553,"props":206402,"children":206403},{"style":566},[206404],{"type":431,"value":585},{"type":426,"tag":553,"props":206406,"children":206407},{"class":555,"line":623},[206408,206412,206416],{"type":426,"tag":553,"props":206409,"children":206410},{"style":566},[206411],{"type":431,"value":594},{"type":426,"tag":553,"props":206413,"children":206414},{"style":572},[206415],{"type":431,"value":616},{"type":426,"tag":553,"props":206417,"children":206418},{"style":566},[206419],{"type":431,"value":585},{"type":426,"tag":553,"props":206421,"children":206422},{"class":555,"line":637},[206423,206427],{"type":426,"tag":553,"props":206424,"children":206425},{"style":566},[206426],{"type":431,"value":629},{"type":426,"tag":553,"props":206428,"children":206429},{"style":572},[206430],{"type":431,"value":634},{"type":426,"tag":553,"props":206432,"children":206433},{"class":555,"line":646},[206434],{"type":426,"tag":553,"props":206435,"children":206436},{"style":572},[206437],{"type":431,"value":643},{"type":426,"tag":553,"props":206439,"children":206440},{"class":555,"line":655},[206441],{"type":426,"tag":553,"props":206442,"children":206443},{"style":572},[206444],{"type":431,"value":206445},"    \"message\": \"Hi John 👋\\n\\nInvoice #INV-2026-042 for *$299* is now 7 days overdue.\\n\\nPay securely here: https:\u002F\u002Fpay.yourcompany.com\u002Finv\u002F2026042\\n\\nQuestions? Just reply to this message.\"\n",{"type":426,"tag":553,"props":206447,"children":206448},{"class":555,"line":1036},[206449],{"type":426,"tag":553,"props":206450,"children":206451},{"style":572},[206452],{"type":431,"value":661},{"type":426,"tag":6880,"props":206454,"children":206455},{},[],{"type":426,"tag":434,"props":206457,"children":206459},{"id":206458},"use-case-8-abandoned-cart-recovery",[206460],{"type":431,"value":206461},"Use Case #8: Abandoned Cart Recovery",{"type":426,"tag":427,"props":206463,"children":206464},{},[206465,206469],{"type":426,"tag":446,"props":206466,"children":206467},{},[206468],{"type":431,"value":204562},{"type":431,"value":206470},": Sends a WhatsApp message 1–2 hours after a cart is abandoned with a discount code to complete the purchase.",{"type":426,"tag":427,"props":206472,"children":206473},{},[206474,206478],{"type":426,"tag":446,"props":206475,"children":206476},{},[206477],{"type":431,"value":204572},{"type":431,"value":206479},": WooCommerce and Shopify stores.",{"type":426,"tag":427,"props":206481,"children":206482},{},[206483,206487],{"type":426,"tag":446,"props":206484,"children":206485},{},[206486],{"type":431,"value":104357},{"type":431,"value":206488},": WhatsApp abandoned cart recovery achieves 35–45% recovery rates vs 5–10% for email.",{"type":426,"tag":427,"props":206490,"children":206491},{},[206492,206493,206499],{"type":431,"value":86346},{"type":426,"tag":3819,"props":206494,"children":206496},{"href":47611,"rel":206495},[3823],[206497],{"type":431,"value":206498},"Shopify cancellation WhatsApp upsell n8n template",{"type":431,"value":206500}," handles this workflow automatically.",{"type":426,"tag":6880,"props":206502,"children":206503},{},[],{"type":426,"tag":434,"props":206505,"children":206507},{"id":206506},"use-case-9-event-ticketing-and-qr-code-delivery",[206508],{"type":431,"value":206509},"Use Case #9: Event Ticketing and QR Code Delivery",{"type":426,"tag":427,"props":206511,"children":206512},{},[206513,206517],{"type":426,"tag":446,"props":206514,"children":206515},{},[206516],{"type":431,"value":204562},{"type":431,"value":206518},": Delivers event tickets with QR codes to attendees via WhatsApp.",{"type":426,"tag":427,"props":206520,"children":206521},{},[206522,206526],{"type":426,"tag":446,"props":206523,"children":206524},{},[206525],{"type":431,"value":204572},{"type":431,"value":206527},": Event organizers, concert venues, conference organizers, fitness studios.",{"type":426,"tag":427,"props":206529,"children":206530},{},[206531,206535],{"type":426,"tag":446,"props":206532,"children":206533},{},[206534],{"type":431,"value":104357},{"type":431,"value":206536},": WhatsApp ticket delivery has near-100% delivery rate. Attendees always have their ticket available on WhatsApp.",{"type":426,"tag":542,"props":206538,"children":206540},{"className":785,"code":206539,"language":784,"meta":417,"style":417},"def send_event_ticket(attendee_phone, event_name, qr_code_url, date):\n    message = f\"*{event_name}*\\n\\nYour ticket is attached below.\\nDate: {date}\\n\\nPresent the QR code at the entrance.\"\n    \n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n        json={\n            \"number\": attendee_phone,\n            \"image\": qr_code_url,\n            \"caption\": message\n        }\n    )\n",[206541],{"type":426,"tag":549,"props":206542,"children":206543},{"__ignoreMap":417},[206544,206561,206631,206638,206653,206684,206699,206711,206724,206735,206742],{"type":426,"tag":553,"props":206545,"children":206546},{"class":555,"line":556},[206547,206551,206556],{"type":426,"tag":553,"props":206548,"children":206549},{"style":795},[206550],{"type":431,"value":842},{"type":426,"tag":553,"props":206552,"children":206553},{"style":560},[206554],{"type":431,"value":206555}," send_event_ticket",{"type":426,"tag":553,"props":206557,"children":206558},{"style":684},[206559],{"type":431,"value":206560},"(attendee_phone, event_name, qr_code_url, date):\n",{"type":426,"tag":553,"props":206562,"children":206563},{"class":555,"line":588},[206564,206568,206572,206576,206580,206584,206588,206592,206596,206600,206605,206609,206614,206618,206622,206626],{"type":426,"tag":553,"props":206565,"children":206566},{"style":684},[206567],{"type":431,"value":1198},{"type":426,"tag":553,"props":206569,"children":206570},{"style":795},[206571],{"type":431,"value":957},{"type":426,"tag":553,"props":206573,"children":206574},{"style":795},[206575],{"type":431,"value":962},{"type":426,"tag":553,"props":206577,"children":206578},{"style":572},[206579],{"type":431,"value":32703},{"type":426,"tag":553,"props":206581,"children":206582},{"style":566},[206583],{"type":431,"value":972},{"type":426,"tag":553,"props":206585,"children":206586},{"style":684},[206587],{"type":431,"value":49191},{"type":426,"tag":553,"props":206589,"children":206590},{"style":566},[206591],{"type":431,"value":982},{"type":426,"tag":553,"props":206593,"children":206594},{"style":572},[206595],{"type":431,"value":5801},{"type":426,"tag":553,"props":206597,"children":206598},{"style":566},[206599],{"type":431,"value":1295},{"type":426,"tag":553,"props":206601,"children":206602},{"style":572},[206603],{"type":431,"value":206604},"Your ticket is attached below.",{"type":426,"tag":553,"props":206606,"children":206607},{"style":566},[206608],{"type":431,"value":3661},{"type":426,"tag":553,"props":206610,"children":206611},{"style":572},[206612],{"type":431,"value":206613},"Date: ",{"type":426,"tag":553,"props":206615,"children":206616},{"style":566},[206617],{"type":431,"value":972},{"type":426,"tag":553,"props":206619,"children":206620},{"style":684},[206621],{"type":431,"value":179401},{"type":426,"tag":553,"props":206623,"children":206624},{"style":566},[206625],{"type":431,"value":1245},{"type":426,"tag":553,"props":206627,"children":206628},{"style":572},[206629],{"type":431,"value":206630},"Present the QR code at the entrance.\"\n",{"type":426,"tag":553,"props":206632,"children":206633},{"class":555,"line":606},[206634],{"type":426,"tag":553,"props":206635,"children":206636},{"style":684},[206637],{"type":431,"value":917},{"type":426,"tag":553,"props":206639,"children":206640},{"class":555,"line":623},[206641,206645,206649],{"type":426,"tag":553,"props":206642,"children":206643},{"style":684},[206644],{"type":431,"value":129222},{"type":426,"tag":553,"props":206646,"children":206647},{"style":572},[206648],{"type":431,"value":60449},{"type":426,"tag":553,"props":206650,"children":206651},{"style":684},[206652],{"type":431,"value":710},{"type":426,"tag":553,"props":206654,"children":206655},{"class":555,"line":637},[206656,206660,206664,206668,206672,206676,206680],{"type":426,"tag":553,"props":206657,"children":206658},{"style":1684},[206659],{"type":431,"value":1687},{"type":426,"tag":553,"props":206661,"children":206662},{"style":795},[206663],{"type":431,"value":957},{"type":426,"tag":553,"props":206665,"children":206666},{"style":684},[206667],{"type":431,"value":972},{"type":426,"tag":553,"props":206669,"children":206670},{"style":572},[206671],{"type":431,"value":45214},{"type":426,"tag":553,"props":206673,"children":206674},{"style":684},[206675],{"type":431,"value":700},{"type":426,"tag":553,"props":206677,"children":206678},{"style":572},[206679],{"type":431,"value":140737},{"type":426,"tag":553,"props":206681,"children":206682},{"style":684},[206683],{"type":431,"value":1737},{"type":426,"tag":553,"props":206685,"children":206686},{"class":555,"line":646},[206687,206691,206695],{"type":426,"tag":553,"props":206688,"children":206689},{"style":1684},[206690],{"type":431,"value":1746},{"type":426,"tag":553,"props":206692,"children":206693},{"style":795},[206694],{"type":431,"value":957},{"type":426,"tag":553,"props":206696,"children":206697},{"style":684},[206698],{"type":431,"value":687},{"type":426,"tag":553,"props":206700,"children":206701},{"class":555,"line":655},[206702,206706],{"type":426,"tag":553,"props":206703,"children":206704},{"style":572},[206705],{"type":431,"value":179334},{"type":426,"tag":553,"props":206707,"children":206708},{"style":684},[206709],{"type":431,"value":206710},": attendee_phone,\n",{"type":426,"tag":553,"props":206712,"children":206713},{"class":555,"line":1036},[206714,206719],{"type":426,"tag":553,"props":206715,"children":206716},{"style":572},[206717],{"type":431,"value":206718},"            \"image\"",{"type":426,"tag":553,"props":206720,"children":206721},{"style":684},[206722],{"type":431,"value":206723},": qr_code_url,\n",{"type":426,"tag":553,"props":206725,"children":206726},{"class":555,"line":1054},[206727,206731],{"type":426,"tag":553,"props":206728,"children":206729},{"style":572},[206730],{"type":431,"value":190624},{"type":426,"tag":553,"props":206732,"children":206733},{"style":684},[206734],{"type":431,"value":204994},{"type":426,"tag":553,"props":206736,"children":206737},{"class":555,"line":1080},[206738],{"type":426,"tag":553,"props":206739,"children":206740},{"style":684},[206741],{"type":431,"value":15075},{"type":426,"tag":553,"props":206743,"children":206744},{"class":555,"line":1097},[206745],{"type":426,"tag":553,"props":206746,"children":206747},{"style":684},[206748],{"type":431,"value":1642},{"type":426,"tag":6880,"props":206750,"children":206751},{},[],{"type":426,"tag":434,"props":206753,"children":206755},{"id":206754},"use-case-10-bulk-marketing-campaigns",[206756],{"type":431,"value":206757},"Use Case #10: Bulk Marketing Campaigns",{"type":426,"tag":427,"props":206759,"children":206760},{},[206761,206765],{"type":426,"tag":446,"props":206762,"children":206763},{},[206764],{"type":431,"value":204562},{"type":431,"value":206766},": Sends promotional messages, new product announcements, or special offers to your customer list.",{"type":426,"tag":427,"props":206768,"children":206769},{},[206770,206774],{"type":426,"tag":446,"props":206771,"children":206772},{},[206773],{"type":431,"value":204572},{"type":431,"value":206775},": Retail stores, restaurants, subscription businesses, e-commerce brands.",{"type":426,"tag":427,"props":206777,"children":206778},{},[206779,206783],{"type":426,"tag":446,"props":206780,"children":206781},{},[206782],{"type":431,"value":104357},{"type":431,"value":206784},": WhatsApp marketing messages achieve 15–35% CTR vs 2–3% for email.",{"type":426,"tag":427,"props":206786,"children":206787},{},[206788,206793],{"type":426,"tag":446,"props":206789,"children":206790},{},[206791],{"type":431,"value":206792},"Best practices for WhatsApp marketing",{"type":431,"value":19071},{"type":426,"tag":454,"props":206795,"children":206796},{},[206797,206802,206807,206812,206817],{"type":426,"tag":458,"props":206798,"children":206799},{},[206800],{"type":431,"value":206801},"Only message opted-in customers (those who gave explicit consent)",{"type":426,"tag":458,"props":206803,"children":206804},{},[206805],{"type":431,"value":206806},"Personalize with the customer's name",{"type":426,"tag":458,"props":206808,"children":206809},{},[206810],{"type":431,"value":206811},"Include a clear call-to-action with a link",{"type":426,"tag":458,"props":206813,"children":206814},{},[206815],{"type":431,"value":206816},"Include an opt-out option (\"Reply STOP to unsubscribe\")",{"type":426,"tag":458,"props":206818,"children":206819},{},[206820],{"type":431,"value":206821},"Keep messages concise — under 200 characters performs best",{"type":426,"tag":542,"props":206823,"children":206825},{"className":785,"code":206824,"language":784,"meta":417,"style":417},"import requests, time\n\ncustomers = [\n    {\"phone\": \"8801111111111\", \"name\": \"Alice\"},\n    {\"phone\": \"8802222222222\", \"name\": \"Bob\"}\n]\n\nfor customer in customers:\n    message = (\n        f\"Hi {customer['name']}! 🎉 Flash Sale — 30% off all products today only!\\n\\n\"\n        f\"Shop now: https:\u002F\u002Fstore.com\u002Fsale\\n\\n\"\n        f\"Reply STOP to unsubscribe.\"\n    )\n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n        json={\"number\": customer[\"phone\"], \"message\": message}\n    )\n    time.sleep(1)  # Delay between messages\n",[206826],{"type":426,"tag":549,"props":206827,"children":206828},{"__ignoreMap":417},[206829,206841,206848,206864,206903,206942,206949,206956,206976,206991,207035,207055,207067,207074,207089,207120,207159,207166],{"type":426,"tag":553,"props":206830,"children":206831},{"class":555,"line":556},[206832,206836],{"type":426,"tag":553,"props":206833,"children":206834},{"style":795},[206835],{"type":431,"value":798},{"type":426,"tag":553,"props":206837,"children":206838},{"style":684},[206839],{"type":431,"value":206840}," requests, time\n",{"type":426,"tag":553,"props":206842,"children":206843},{"class":555,"line":588},[206844],{"type":426,"tag":553,"props":206845,"children":206846},{"emptyLinePlaceholder":831},[206847],{"type":431,"value":834},{"type":426,"tag":553,"props":206849,"children":206850},{"class":555,"line":606},[206851,206856,206860],{"type":426,"tag":553,"props":206852,"children":206853},{"style":684},[206854],{"type":431,"value":206855},"customers ",{"type":426,"tag":553,"props":206857,"children":206858},{"style":795},[206859],{"type":431,"value":957},{"type":426,"tag":553,"props":206861,"children":206862},{"style":684},[206863],{"type":431,"value":80133},{"type":426,"tag":553,"props":206865,"children":206866},{"class":555,"line":623},[206867,206871,206875,206879,206883,206887,206891,206895,206899],{"type":426,"tag":553,"props":206868,"children":206869},{"style":684},[206870],{"type":431,"value":141884},{"type":426,"tag":553,"props":206872,"children":206873},{"style":572},[206874],{"type":431,"value":73482},{"type":426,"tag":553,"props":206876,"children":206877},{"style":684},[206878],{"type":431,"value":700},{"type":426,"tag":553,"props":206880,"children":206881},{"style":572},[206882],{"type":431,"value":81689},{"type":426,"tag":553,"props":206884,"children":206885},{"style":684},[206886],{"type":431,"value":1907},{"type":426,"tag":553,"props":206888,"children":206889},{"style":572},[206890],{"type":431,"value":141905},{"type":426,"tag":553,"props":206892,"children":206893},{"style":684},[206894],{"type":431,"value":700},{"type":426,"tag":553,"props":206896,"children":206897},{"style":572},[206898],{"type":431,"value":136765},{"type":426,"tag":553,"props":206900,"children":206901},{"style":684},[206902],{"type":431,"value":1737},{"type":426,"tag":553,"props":206904,"children":206905},{"class":555,"line":637},[206906,206910,206914,206918,206922,206926,206930,206934,206938],{"type":426,"tag":553,"props":206907,"children":206908},{"style":684},[206909],{"type":431,"value":141884},{"type":426,"tag":553,"props":206911,"children":206912},{"style":572},[206913],{"type":431,"value":73482},{"type":426,"tag":553,"props":206915,"children":206916},{"style":684},[206917],{"type":431,"value":700},{"type":426,"tag":553,"props":206919,"children":206920},{"style":572},[206921],{"type":431,"value":136791},{"type":426,"tag":553,"props":206923,"children":206924},{"style":684},[206925],{"type":431,"value":1907},{"type":426,"tag":553,"props":206927,"children":206928},{"style":572},[206929],{"type":431,"value":141905},{"type":426,"tag":553,"props":206931,"children":206932},{"style":684},[206933],{"type":431,"value":700},{"type":426,"tag":553,"props":206935,"children":206936},{"style":572},[206937],{"type":431,"value":136800},{"type":426,"tag":553,"props":206939,"children":206940},{"style":684},[206941],{"type":431,"value":756},{"type":426,"tag":553,"props":206943,"children":206944},{"class":555,"line":646},[206945],{"type":426,"tag":553,"props":206946,"children":206947},{"style":684},[206948],{"type":431,"value":16523},{"type":426,"tag":553,"props":206950,"children":206951},{"class":555,"line":655},[206952],{"type":426,"tag":553,"props":206953,"children":206954},{"emptyLinePlaceholder":831},[206955],{"type":431,"value":834},{"type":426,"tag":553,"props":206957,"children":206958},{"class":555,"line":1036},[206959,206963,206967,206971],{"type":426,"tag":553,"props":206960,"children":206961},{"style":795},[206962],{"type":431,"value":7491},{"type":426,"tag":553,"props":206964,"children":206965},{"style":684},[206966],{"type":431,"value":25369},{"type":426,"tag":553,"props":206968,"children":206969},{"style":795},[206970],{"type":431,"value":2005},{"type":426,"tag":553,"props":206972,"children":206973},{"style":684},[206974],{"type":431,"value":206975}," customers:\n",{"type":426,"tag":553,"props":206977,"children":206978},{"class":555,"line":1054},[206979,206983,206987],{"type":426,"tag":553,"props":206980,"children":206981},{"style":684},[206982],{"type":431,"value":1198},{"type":426,"tag":553,"props":206984,"children":206985},{"style":795},[206986],{"type":431,"value":957},{"type":426,"tag":553,"props":206988,"children":206989},{"style":684},[206990],{"type":431,"value":1207},{"type":426,"tag":553,"props":206992,"children":206993},{"class":555,"line":1080},[206994,206998,207002,207006,207010,207014,207018,207022,207027,207031],{"type":426,"tag":553,"props":206995,"children":206996},{"style":795},[206997],{"type":431,"value":1216},{"type":426,"tag":553,"props":206999,"children":207000},{"style":572},[207001],{"type":431,"value":4625},{"type":426,"tag":553,"props":207003,"children":207004},{"style":566},[207005],{"type":431,"value":972},{"type":426,"tag":553,"props":207007,"children":207008},{"style":684},[207009],{"type":431,"value":25409},{"type":426,"tag":553,"props":207011,"children":207012},{"style":572},[207013],{"type":431,"value":1277},{"type":426,"tag":553,"props":207015,"children":207016},{"style":684},[207017],{"type":431,"value":1240},{"type":426,"tag":553,"props":207019,"children":207020},{"style":566},[207021],{"type":431,"value":982},{"type":426,"tag":553,"props":207023,"children":207024},{"style":572},[207025],{"type":431,"value":207026},"! 🎉 Flash Sale — 30% off all products today only!",{"type":426,"tag":553,"props":207028,"children":207029},{"style":566},[207030],{"type":431,"value":1295},{"type":426,"tag":553,"props":207032,"children":207033},{"style":572},[207034],{"type":431,"value":1250},{"type":426,"tag":553,"props":207036,"children":207037},{"class":555,"line":1097},[207038,207042,207047,207051],{"type":426,"tag":553,"props":207039,"children":207040},{"style":795},[207041],{"type":431,"value":1216},{"type":426,"tag":553,"props":207043,"children":207044},{"style":572},[207045],{"type":431,"value":207046},"\"Shop now: https:\u002F\u002Fstore.com\u002Fsale",{"type":426,"tag":553,"props":207048,"children":207049},{"style":566},[207050],{"type":431,"value":1295},{"type":426,"tag":553,"props":207052,"children":207053},{"style":572},[207054],{"type":431,"value":1250},{"type":426,"tag":553,"props":207056,"children":207057},{"class":555,"line":1114},[207058,207062],{"type":426,"tag":553,"props":207059,"children":207060},{"style":795},[207061],{"type":431,"value":1216},{"type":426,"tag":553,"props":207063,"children":207064},{"style":572},[207065],{"type":431,"value":207066},"\"Reply STOP to unsubscribe.\"\n",{"type":426,"tag":553,"props":207068,"children":207069},{"class":555,"line":1127},[207070],{"type":426,"tag":553,"props":207071,"children":207072},{"style":684},[207073],{"type":431,"value":1642},{"type":426,"tag":553,"props":207075,"children":207076},{"class":555,"line":1167},[207077,207081,207085],{"type":426,"tag":553,"props":207078,"children":207079},{"style":684},[207080],{"type":431,"value":129222},{"type":426,"tag":553,"props":207082,"children":207083},{"style":572},[207084],{"type":431,"value":60449},{"type":426,"tag":553,"props":207086,"children":207087},{"style":684},[207088],{"type":431,"value":710},{"type":426,"tag":553,"props":207090,"children":207091},{"class":555,"line":1184},[207092,207096,207100,207104,207108,207112,207116],{"type":426,"tag":553,"props":207093,"children":207094},{"style":1684},[207095],{"type":431,"value":1687},{"type":426,"tag":553,"props":207097,"children":207098},{"style":795},[207099],{"type":431,"value":957},{"type":426,"tag":553,"props":207101,"children":207102},{"style":684},[207103],{"type":431,"value":972},{"type":426,"tag":553,"props":207105,"children":207106},{"style":572},[207107],{"type":431,"value":45214},{"type":426,"tag":553,"props":207109,"children":207110},{"style":684},[207111],{"type":431,"value":700},{"type":426,"tag":553,"props":207113,"children":207114},{"style":572},[207115],{"type":431,"value":140737},{"type":426,"tag":553,"props":207117,"children":207118},{"style":684},[207119],{"type":431,"value":1737},{"type":426,"tag":553,"props":207121,"children":207122},{"class":555,"line":1192},[207123,207127,207131,207135,207139,207143,207147,207151,207155],{"type":426,"tag":553,"props":207124,"children":207125},{"style":1684},[207126],{"type":431,"value":1746},{"type":426,"tag":553,"props":207128,"children":207129},{"style":795},[207130],{"type":431,"value":957},{"type":426,"tag":553,"props":207132,"children":207133},{"style":684},[207134],{"type":431,"value":972},{"type":426,"tag":553,"props":207136,"children":207137},{"style":572},[207138],{"type":431,"value":45266},{"type":426,"tag":553,"props":207140,"children":207141},{"style":684},[207142],{"type":431,"value":32062},{"type":426,"tag":553,"props":207144,"children":207145},{"style":572},[207146],{"type":431,"value":73482},{"type":426,"tag":553,"props":207148,"children":207149},{"style":684},[207150],{"type":431,"value":1774},{"type":426,"tag":553,"props":207152,"children":207153},{"style":572},[207154],{"type":431,"value":45275},{"type":426,"tag":553,"props":207156,"children":207157},{"style":684},[207158],{"type":431,"value":1784},{"type":426,"tag":553,"props":207160,"children":207161},{"class":555,"line":1210},[207162],{"type":426,"tag":553,"props":207163,"children":207164},{"style":684},[207165],{"type":431,"value":1642},{"type":426,"tag":553,"props":207167,"children":207168},{"class":555,"line":1253},[207169,207173,207177,207181],{"type":426,"tag":553,"props":207170,"children":207171},{"style":684},[207172],{"type":431,"value":43150},{"type":426,"tag":553,"props":207174,"children":207175},{"style":566},[207176],{"type":431,"value":1921},{"type":426,"tag":553,"props":207178,"children":207179},{"style":684},[207180],{"type":431,"value":3099},{"type":426,"tag":553,"props":207182,"children":207183},{"style":1975},[207184],{"type":431,"value":207185},"# Delay between messages\n",{"type":426,"tag":434,"props":207187,"children":207189},{"id":207188},"summary-best-use-cases-by-business-type",[207190],{"type":431,"value":207191},"Summary: Best Use Cases by Business Type",{"type":426,"tag":10600,"props":207193,"children":207194},{},[207195,207211],{"type":426,"tag":10604,"props":207196,"children":207197},{},[207198],{"type":426,"tag":10608,"props":207199,"children":207200},{},[207201,207206],{"type":426,"tag":10612,"props":207202,"children":207203},{},[207204],{"type":431,"value":207205},"Business Type",{"type":426,"tag":10612,"props":207207,"children":207208},{},[207209],{"type":431,"value":207210},"Top Use Cases",{"type":426,"tag":10623,"props":207212,"children":207213},{},[207214,207227,207240,207253,207266,207279],{"type":426,"tag":10608,"props":207215,"children":207216},{},[207217,207222],{"type":426,"tag":10630,"props":207218,"children":207219},{},[207220],{"type":431,"value":207221},"E-commerce (WooCommerce\u002FShopify)",{"type":426,"tag":10630,"props":207223,"children":207224},{},[207225],{"type":431,"value":207226},"Order notifications, invoices, abandoned cart, review requests",{"type":426,"tag":10608,"props":207228,"children":207229},{},[207230,207235],{"type":426,"tag":10630,"props":207231,"children":207232},{},[207233],{"type":431,"value":207234},"SaaS",{"type":426,"tag":10630,"props":207236,"children":207237},{},[207238],{"type":431,"value":207239},"OTP verification, onboarding sequences, payment reminders",{"type":426,"tag":10608,"props":207241,"children":207242},{},[207243,207248],{"type":426,"tag":10630,"props":207244,"children":207245},{},[207246],{"type":431,"value":207247},"Healthcare \u002F Services",{"type":426,"tag":10630,"props":207249,"children":207250},{},[207251],{"type":431,"value":207252},"Appointment reminders, no-show reduction",{"type":426,"tag":10608,"props":207254,"children":207255},{},[207256,207261],{"type":426,"tag":10630,"props":207257,"children":207258},{},[207259],{"type":431,"value":207260},"Real Estate \u002F Sales",{"type":426,"tag":10630,"props":207262,"children":207263},{},[207264],{"type":431,"value":207265},"Lead nurturing, follow-up sequences",{"type":426,"tag":10608,"props":207267,"children":207268},{},[207269,207274],{"type":426,"tag":10630,"props":207270,"children":207271},{},[207272],{"type":431,"value":207273},"Events",{"type":426,"tag":10630,"props":207275,"children":207276},{},[207277],{"type":431,"value":207278},"Ticket delivery with QR codes",{"type":426,"tag":10608,"props":207280,"children":207281},{},[207282,207287],{"type":426,"tag":10630,"props":207283,"children":207284},{},[207285],{"type":431,"value":207286},"B2B \u002F Agencies",{"type":426,"tag":10630,"props":207288,"children":207289},{},[207290],{"type":431,"value":207291},"Invoice delivery, project updates, client communication",{"type":426,"tag":434,"props":207293,"children":207294},{"id":4109},[207295],{"type":431,"value":4112},{"type":426,"tag":427,"props":207297,"children":207298},{},[207299,207304],{"type":426,"tag":446,"props":207300,"children":207301},{},[207302],{"type":431,"value":207303},"What is the most popular WhatsApp API use case?",{"type":431,"value":207305},"\nOrder notifications and invoice delivery are the most widely deployed use cases. The Rapiwa WooCommerce invoice n8n template alone has been installed over 1,300 times by developers and store owners.",{"type":426,"tag":427,"props":207307,"children":207308},{},[207309,207314,207316,207322],{"type":426,"tag":446,"props":207310,"children":207311},{},[207312],{"type":431,"value":207313},"Can I build a WhatsApp chatbot with the Rapiwa API?",{"type":431,"value":207315},"\nYes. Configure Rapiwa's webhook to receive incoming messages, process them with your logic or an AI model (GPT-4, Gemini), and send replies back through the API. See the ",{"type":426,"tag":3819,"props":207317,"children":207319},{"href":125283,"rel":207318},[3823],[207320],{"type":431,"value":207321},"WhatsApp GPT-4 support bot n8n template",{"type":431,"value":6789},{"type":426,"tag":427,"props":207324,"children":207325},{},[207326,207331],{"type":426,"tag":446,"props":207327,"children":207328},{},[207329],{"type":431,"value":207330},"How much does it cost to implement these use cases?",{"type":431,"value":207332},"\nRapiwa costs $5\u002Fmonth with no per-message fees. n8n has a free Cloud tier for basic workflows. Most of these use cases can be deployed for $5–20\u002Fmonth total.",{"type":426,"tag":427,"props":207334,"children":207335},{},[207336,207341],{"type":426,"tag":446,"props":207337,"children":207338},{},[207339],{"type":431,"value":207340},"Do I need to be a developer to use these use cases?",{"type":431,"value":207342},"\nFor the WooCommerce plugin and n8n templates, no coding is required. For custom integrations, basic programming knowledge is helpful but most use cases require only 5–20 lines of code.",{"type":426,"tag":427,"props":207344,"children":207345},{},[207346,207351],{"type":426,"tag":446,"props":207347,"children":207348},{},[207349],{"type":431,"value":207350},"Which use case has the fastest ROI?",{"type":431,"value":207352},"\nInvoice delivery and payment reminders consistently show the fastest measurable ROI — typically within the first month, as customers pay faster when they receive WhatsApp invoices vs email.",{"type":426,"tag":4164,"props":207354,"children":207355},{},[207356],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":207358},[207359,207360,207361,207362,207363,207364,207365,207366,207367,207368,207369,207370,207371],{"id":204502,"depth":588,"text":204505},{"id":204551,"depth":588,"text":204554},{"id":204707,"depth":588,"text":204710},{"id":205047,"depth":588,"text":205050},{"id":205356,"depth":588,"text":205359},{"id":205754,"depth":588,"text":205757},{"id":205847,"depth":588,"text":205850},{"id":206321,"depth":588,"text":206324},{"id":206458,"depth":588,"text":206461},{"id":206506,"depth":588,"text":206509},{"id":206754,"depth":588,"text":206757},{"id":207188,"depth":588,"text":207191},{"id":4109,"depth":588,"text":4112},"content:blog:top-10-whatsapp-api-use-cases-for-developers-2026.md","blog\u002Ftop-10-whatsapp-api-use-cases-for-developers-2026.md","blog\u002Ftop-10-whatsapp-api-use-cases-for-developers-2026",{"loc":374},{"_path":378,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":379,"description":380,"date":207377,"author":6858,"category":43,"_slug":207378,"image":207379,"body":207380,"_type":4187,"_id":208882,"_source":4189,"_file":208883,"_stem":208884,"_extension":4192,"sitemap":208885},"2025-12-04","whatsapp-automation-for-businesses-complete-beginners-guide","\u002Fimages\u002Fblog\u002Fwhatsapp-automation-for-businesses-complete-beginners-guide.svg",{"type":423,"children":207381,"toc":208859},[207382,207394,207400,207405,207410,207438,207443,207449,207606,207611,207617,207623,207664,207676,207680,207707,207720,207724,207752,207757,207763,207808,207813,207819,207862,207867,207873,207904,207916,207922,207954,207959,207965,208004,208015,208021,208037,208079,208084,208090,208105,208117,208123,208129,208184,208189,208195,208200,208654,208660,208703,208708,208714,208719,208781,208786,208790,208800,208810,208820,208835,208845,208855],{"type":426,"tag":427,"props":207383,"children":207384},{},[207385,207387,207392],{"type":431,"value":207386},"WhatsApp automation uses an API to send messages, alerts, follow-ups, and notifications automatically — without human typing. A business connects its WhatsApp number to an API like ",{"type":426,"tag":3819,"props":207388,"children":207390},{"href":3821,"rel":207389},[3823],[207391],{"type":431,"value":127310},{"type":431,"value":207393}," ($5\u002Fmonth), then triggers messages from their website, CRM, e-commerce store, or automation tool. WhatsApp achieves a 98% open rate vs 20% for email, making automated WhatsApp messages one of the highest-ROI communication channels available.",{"type":426,"tag":434,"props":207395,"children":207397},{"id":207396},"what-is-whatsapp-automation",[207398],{"type":431,"value":207399},"What Is WhatsApp Automation?",{"type":426,"tag":427,"props":207401,"children":207402},{},[207403],{"type":431,"value":207404},"WhatsApp automation is the process of sending WhatsApp messages automatically based on triggers, schedules, or data changes — without a human manually sending each one.",{"type":426,"tag":427,"props":207406,"children":207407},{},[207408],{"type":431,"value":207409},"Examples of automated WhatsApp messages:",{"type":426,"tag":454,"props":207411,"children":207412},{},[207413,207423,207428,207433],{"type":426,"tag":458,"props":207414,"children":207415},{},[207416,207418,207422],{"type":431,"value":207417},"\"Your order #1234 has been shipped. Track it here: ",{"type":426,"tag":553,"props":207419,"children":207420},{},[207421],{"type":431,"value":118095},{"type":431,"value":1527},{"type":426,"tag":458,"props":207424,"children":207425},{},[207426],{"type":431,"value":207427},"\"Hi Sara, your appointment tomorrow at 3pm is confirmed.\"",{"type":426,"tag":458,"props":207429,"children":207430},{},[207431],{"type":431,"value":207432},"\"You left items in your cart! Use code SAVE10 to complete your purchase.\"",{"type":426,"tag":458,"props":207434,"children":207435},{},[207436],{"type":431,"value":207437},"\"Your invoice for $299 is attached. Payment is due in 7 days.\"",{"type":426,"tag":427,"props":207439,"children":207440},{},[207441],{"type":431,"value":207442},"Automation works by connecting your systems (WooCommerce, CRM, scheduling tool) to a WhatsApp API. When an event happens — an order is placed, an appointment is scheduled, a payment is due — the system triggers an API call, and the WhatsApp message is sent automatically.",{"type":426,"tag":434,"props":207444,"children":207446},{"id":207445},"why-whatsapp-automation-outperforms-email-and-sms",[207447],{"type":431,"value":207448},"Why WhatsApp Automation Outperforms Email and SMS",{"type":426,"tag":10600,"props":207450,"children":207451},{},[207452,207474],{"type":426,"tag":10604,"props":207453,"children":207454},{},[207455],{"type":426,"tag":10608,"props":207456,"children":207457},{},[207458,207462,207466,207470],{"type":426,"tag":10612,"props":207459,"children":207460},{},[207461],{"type":431,"value":22764},{"type":426,"tag":10612,"props":207463,"children":207464},{},[207465],{"type":431,"value":30650},{"type":426,"tag":10612,"props":207467,"children":207468},{},[207469],{"type":431,"value":30655},{"type":426,"tag":10612,"props":207471,"children":207472},{},[207473],{"type":431,"value":56293},{"type":426,"tag":10623,"props":207475,"children":207476},{},[207477,207499,207521,207543,207562,207581],{"type":426,"tag":10608,"props":207478,"children":207479},{},[207480,207484,207491,207495],{"type":426,"tag":10630,"props":207481,"children":207482},{},[207483],{"type":431,"value":30666},{"type":426,"tag":10630,"props":207485,"children":207486},{},[207487],{"type":426,"tag":446,"props":207488,"children":207489},{},[207490],{"type":431,"value":30671},{"type":426,"tag":10630,"props":207492,"children":207493},{},[207494],{"type":431,"value":30676},{"type":426,"tag":10630,"props":207496,"children":207497},{},[207498],{"type":431,"value":189659},{"type":426,"tag":10608,"props":207500,"children":207501},{},[207502,207506,207513,207517],{"type":426,"tag":10630,"props":207503,"children":207504},{},[207505],{"type":431,"value":30702},{"type":426,"tag":10630,"props":207507,"children":207508},{},[207509],{"type":426,"tag":446,"props":207510,"children":207511},{},[207512],{"type":431,"value":30689},{"type":426,"tag":10630,"props":207514,"children":207515},{},[207516],{"type":431,"value":30694},{"type":426,"tag":10630,"props":207518,"children":207519},{},[207520],{"type":431,"value":189678},{"type":426,"tag":10608,"props":207522,"children":207523},{},[207524,207528,207535,207539],{"type":426,"tag":10630,"props":207525,"children":207526},{},[207527],{"type":431,"value":30684},{"type":426,"tag":10630,"props":207529,"children":207530},{},[207531],{"type":426,"tag":446,"props":207532,"children":207533},{},[207534],{"type":431,"value":152554},{"type":426,"tag":10630,"props":207536,"children":207537},{},[207538],{"type":431,"value":152559},{"type":426,"tag":10630,"props":207540,"children":207541},{},[207542],{"type":431,"value":189697},{"type":426,"tag":10608,"props":207544,"children":207545},{},[207546,207550,207554,207558],{"type":426,"tag":10630,"props":207547,"children":207548},{},[207549],{"type":431,"value":184718},{"type":426,"tag":10630,"props":207551,"children":207552},{},[207553],{"type":431,"value":103087},{"type":426,"tag":10630,"props":207555,"children":207556},{},[207557],{"type":431,"value":78140},{"type":426,"tag":10630,"props":207559,"children":207560},{},[207561],{"type":431,"value":78130},{"type":426,"tag":10608,"props":207563,"children":207564},{},[207565,207569,207573,207577],{"type":426,"tag":10630,"props":207566,"children":207567},{},[207568],{"type":431,"value":152610},{"type":426,"tag":10630,"props":207570,"children":207571},{},[207572],{"type":431,"value":103087},{"type":426,"tag":10630,"props":207574,"children":207575},{},[207576],{"type":431,"value":78130},{"type":426,"tag":10630,"props":207578,"children":207579},{},[207580],{"type":431,"value":78130},{"type":426,"tag":10608,"props":207582,"children":207583},{},[207584,207589,207597,207601],{"type":426,"tag":10630,"props":207585,"children":207586},{},[207587],{"type":431,"value":207588},"Cost (API)",{"type":426,"tag":10630,"props":207590,"children":207591},{},[207592],{"type":426,"tag":446,"props":207593,"children":207594},{},[207595],{"type":431,"value":207596},"$5\u002Fmo flat",{"type":426,"tag":10630,"props":207598,"children":207599},{},[207600],{"type":431,"value":30743},{"type":426,"tag":10630,"props":207602,"children":207603},{},[207604],{"type":431,"value":207605},"Per-message",{"type":426,"tag":427,"props":207607,"children":207608},{},[207609],{"type":431,"value":207610},"WhatsApp messages are read almost immediately after delivery. This makes them ideal for time-sensitive communications like order updates, appointment reminders, and payment alerts.",{"type":426,"tag":434,"props":207612,"children":207614},{"id":207613},"_10-whatsapp-automation-use-cases-for-businesses",[207615],{"type":431,"value":207616},"10 WhatsApp Automation Use Cases for Businesses",{"type":426,"tag":515,"props":207618,"children":207620},{"id":207619},"_1-order-confirmation-and-shipping-updates-e-commerce",[207621],{"type":431,"value":207622},"1. Order Confirmation and Shipping Updates (E-Commerce)",{"type":426,"tag":427,"props":207624,"children":207625},{},[207626,207630,207632,207637,207639,207643,207644,207649,207651,207655,207657,207662],{"type":426,"tag":446,"props":207627,"children":207628},{},[207629],{"type":431,"value":77678},{"type":431,"value":207631},": Customer places an order\n",{"type":426,"tag":446,"props":207633,"children":207634},{},[207635],{"type":431,"value":207636},"Message",{"type":431,"value":207638},": \"Hi ",{"type":426,"tag":553,"props":207640,"children":207641},{},[207642],{"type":431,"value":54812},{"type":431,"value":142053},{"type":426,"tag":553,"props":207645,"children":207646},{},[207647],{"type":431,"value":207648},"ID",{"type":431,"value":207650}," is confirmed. Total: ",{"type":426,"tag":553,"props":207652,"children":207653},{},[207654],{"type":431,"value":114781},{"type":431,"value":207656},". Estimated delivery: ",{"type":426,"tag":553,"props":207658,"children":207659},{},[207660],{"type":431,"value":207661},"Date",{"type":431,"value":207663},".\"",{"type":426,"tag":427,"props":207665,"children":207666},{},[207667,207669,207674],{"type":431,"value":207668},"This reduces \"where is my order?\" support tickets by 40–60%. The ",{"type":426,"tag":3819,"props":207670,"children":207672},{"href":131923,"rel":207671},[3823],[207673],{"type":431,"value":131927},{"type":431,"value":207675}," handles this automatically with no code required.",{"type":426,"tag":515,"props":207677,"children":207678},{"id":152871},[207679],{"type":431,"value":152874},{"type":426,"tag":427,"props":207681,"children":207682},{},[207683,207687,207689,207693,207695,207699,207701,207706],{"type":426,"tag":446,"props":207684,"children":207685},{},[207686],{"type":431,"value":77678},{"type":431,"value":207688},": Order completed or invoice generated\n",{"type":426,"tag":446,"props":207690,"children":207691},{},[207692],{"type":431,"value":207636},{"type":431,"value":207694},": \"Your invoice for order #",{"type":426,"tag":553,"props":207696,"children":207697},{},[207698],{"type":431,"value":207648},{"type":431,"value":207700}," is ready. ",{"type":426,"tag":553,"props":207702,"children":207703},{},[207704],{"type":431,"value":207705},"Attach PDF",{"type":431,"value":207663},{"type":426,"tag":427,"props":207708,"children":207709},{},[207710,207712,207718],{"type":431,"value":207711},"Over 1,300 businesses use the ",{"type":426,"tag":3819,"props":207713,"children":207715},{"href":144066,"rel":207714},[3823],[207716],{"type":431,"value":207717},"Rapiwa WooCommerce invoice n8n template",{"type":431,"value":207719}," to automate this workflow.",{"type":426,"tag":515,"props":207721,"children":207722},{"id":152894},[207723],{"type":431,"value":152897},{"type":426,"tag":427,"props":207725,"children":207726},{},[207727,207731,207733,207737,207739,207743,207745,207750],{"type":426,"tag":446,"props":207728,"children":207729},{},[207730],{"type":431,"value":77678},{"type":431,"value":207732},": 24 hours before scheduled appointment\n",{"type":426,"tag":446,"props":207734,"children":207735},{},[207736],{"type":431,"value":207636},{"type":431,"value":207738},": \"Reminder: Your appointment with ",{"type":426,"tag":553,"props":207740,"children":207741},{},[207742],{"type":431,"value":161374},{"type":431,"value":207744}," is tomorrow at ",{"type":426,"tag":553,"props":207746,"children":207747},{},[207748],{"type":431,"value":207749},"Time",{"type":431,"value":207751},". Reply 'CONFIRM' to confirm or 'RESCHEDULE' to change.\"",{"type":426,"tag":427,"props":207753,"children":207754},{},[207755],{"type":431,"value":207756},"Reduces no-shows by 30–40% compared to phone call reminders.",{"type":426,"tag":515,"props":207758,"children":207760},{"id":207759},"_4-payment-reminders",[207761],{"type":431,"value":207762},"4. Payment Reminders",{"type":426,"tag":427,"props":207764,"children":207765},{},[207766,207770,207772,207776,207777,207781,207783,207787,207789,207793,207795,207800,207802,207806],{"type":426,"tag":446,"props":207767,"children":207768},{},[207769],{"type":431,"value":77678},{"type":431,"value":207771},": Invoice overdue by X days\n",{"type":426,"tag":446,"props":207773,"children":207774},{},[207775],{"type":431,"value":207636},{"type":431,"value":207638},{"type":426,"tag":553,"props":207778,"children":207779},{},[207780],{"type":431,"value":54812},{"type":431,"value":207782},", invoice #",{"type":426,"tag":553,"props":207784,"children":207785},{},[207786],{"type":431,"value":207648},{"type":431,"value":207788}," for ",{"type":426,"tag":553,"props":207790,"children":207791},{},[207792],{"type":431,"value":114781},{"type":431,"value":207794}," is ",{"type":426,"tag":553,"props":207796,"children":207797},{},[207798],{"type":431,"value":207799},"X",{"type":431,"value":207801}," days overdue. Pay here: ",{"type":426,"tag":553,"props":207803,"children":207804},{},[207805],{"type":431,"value":118095},{"type":431,"value":207807},". Questions? Reply to this message.\"",{"type":426,"tag":427,"props":207809,"children":207810},{},[207811],{"type":431,"value":207812},"Businesses using WhatsApp payment reminders collect payments 2–3x faster than email reminders.",{"type":426,"tag":515,"props":207814,"children":207816},{"id":207815},"_5-lead-follow-up",[207817],{"type":431,"value":207818},"5. Lead Follow-Up",{"type":426,"tag":427,"props":207820,"children":207821},{},[207822,207826,207828,207832,207833,207837,207838,207843,207845,207849,207850,207854,207856,207860],{"type":426,"tag":446,"props":207823,"children":207824},{},[207825],{"type":431,"value":77678},{"type":431,"value":207827},": New lead submits a contact form on your website\n",{"type":426,"tag":446,"props":207829,"children":207830},{},[207831],{"type":431,"value":207636},{"type":431,"value":207638},{"type":426,"tag":553,"props":207834,"children":207835},{},[207836],{"type":431,"value":54812},{"type":431,"value":206009},{"type":426,"tag":553,"props":207839,"children":207840},{},[207841],{"type":431,"value":207842},"Product",{"type":431,"value":207844},". I'm ",{"type":426,"tag":553,"props":207846,"children":207847},{},[207848],{"type":431,"value":54812},{"type":431,"value":82247},{"type":426,"tag":553,"props":207851,"children":207852},{},[207853],{"type":431,"value":185438},{"type":431,"value":207855},". Can I ask — what is your main goal with ",{"type":426,"tag":553,"props":207857,"children":207858},{},[207859],{"type":431,"value":207842},{"type":431,"value":207861},"?\"",{"type":426,"tag":427,"props":207863,"children":207864},{},[207865],{"type":431,"value":207866},"A conversational first message drives 5–10x more replies than a formal email intro.",{"type":426,"tag":515,"props":207868,"children":207870},{"id":207869},"_6-customer-review-requests",[207871],{"type":431,"value":207872},"6. Customer Review Requests",{"type":426,"tag":427,"props":207874,"children":207875},{},[207876,207880,207882,207886,207887,207891,207893,207897,207899,207903],{"type":426,"tag":446,"props":207877,"children":207878},{},[207879],{"type":431,"value":77678},{"type":431,"value":207881},": Order delivered (3–5 days after delivery)\n",{"type":426,"tag":446,"props":207883,"children":207884},{},[207885],{"type":431,"value":207636},{"type":431,"value":207638},{"type":426,"tag":553,"props":207888,"children":207889},{},[207890],{"type":431,"value":54812},{"type":431,"value":207892},"! We hope you're loving your ",{"type":426,"tag":553,"props":207894,"children":207895},{},[207896],{"type":431,"value":207842},{"type":431,"value":207898},". Would you mind leaving us a quick review? It takes 30 seconds: ",{"type":426,"tag":553,"props":207900,"children":207901},{},[207902],{"type":431,"value":118095},{"type":431,"value":1527},{"type":426,"tag":427,"props":207905,"children":207906},{},[207907,207908,207914],{"type":431,"value":86346},{"type":426,"tag":3819,"props":207909,"children":207911},{"href":119024,"rel":207910},[3823],[207912],{"type":431,"value":207913},"Rapiwa WooCommerce review request n8n template",{"type":431,"value":207915}," automates this with 284 active installs.",{"type":426,"tag":515,"props":207917,"children":207919},{"id":207918},"_7-abandoned-cart-recovery",[207920],{"type":431,"value":207921},"7. Abandoned Cart Recovery",{"type":426,"tag":427,"props":207923,"children":207924},{},[207925,207929,207931,207935,207936,207940,207942,207946,207948,207953],{"type":426,"tag":446,"props":207926,"children":207927},{},[207928],{"type":431,"value":77678},{"type":431,"value":207930},": Cart not purchased after 1–2 hours\n",{"type":426,"tag":446,"props":207932,"children":207933},{},[207934],{"type":431,"value":207636},{"type":431,"value":207638},{"type":426,"tag":553,"props":207937,"children":207938},{},[207939],{"type":431,"value":54812},{"type":431,"value":207941},", you left something behind! Your ",{"type":426,"tag":553,"props":207943,"children":207944},{},[207945],{"type":431,"value":207842},{"type":431,"value":207947}," is still in your cart. Use code CART10 for 10% off: ",{"type":426,"tag":553,"props":207949,"children":207950},{},[207951],{"type":431,"value":207952},"cart link",{"type":431,"value":1527},{"type":426,"tag":427,"props":207955,"children":207956},{},[207957],{"type":431,"value":207958},"WhatsApp abandoned cart messages have a 35–45% recovery rate vs 5–10% for email.",{"type":426,"tag":515,"props":207960,"children":207962},{"id":207961},"_8-upsell-and-cross-sell-offers",[207963],{"type":431,"value":207964},"8. Upsell and Cross-Sell Offers",{"type":426,"tag":427,"props":207966,"children":207967},{},[207968,207972,207974,207978,207979,207983,207985,207990,207992,207997,207999,208003],{"type":426,"tag":446,"props":207969,"children":207970},{},[207971],{"type":431,"value":77678},{"type":431,"value":207973},": Order completed\n",{"type":426,"tag":446,"props":207975,"children":207976},{},[207977],{"type":431,"value":207636},{"type":431,"value":207638},{"type":426,"tag":553,"props":207980,"children":207981},{},[207982],{"type":431,"value":54812},{"type":431,"value":207984},"! Since you bought ",{"type":426,"tag":553,"props":207986,"children":207987},{},[207988],{"type":431,"value":207989},"Product A",{"type":431,"value":207991},", customers who loved it also bought ",{"type":426,"tag":553,"props":207993,"children":207994},{},[207995],{"type":431,"value":207996},"Product B",{"type":431,"value":207998},". Get 15% off: ",{"type":426,"tag":553,"props":208000,"children":208001},{},[208002],{"type":431,"value":118095},{"type":431,"value":1527},{"type":426,"tag":427,"props":208005,"children":208006},{},[208007,208008,208014],{"type":431,"value":86346},{"type":426,"tag":3819,"props":208009,"children":208011},{"href":119966,"rel":208010},[3823],[208012],{"type":431,"value":208013},"Rapiwa WooCommerce cross-sell n8n template",{"type":431,"value":152868},{"type":426,"tag":515,"props":208016,"children":208018},{"id":208017},"_9-onboarding-sequences",[208019],{"type":431,"value":208020},"9. Onboarding Sequences",{"type":426,"tag":427,"props":208022,"children":208023},{},[208024,208028,208030,208035],{"type":426,"tag":446,"props":208025,"children":208026},{},[208027],{"type":431,"value":77678},{"type":431,"value":208029},": New user signs up for a SaaS product\n",{"type":426,"tag":446,"props":208031,"children":208032},{},[208033],{"type":431,"value":208034},"Message sequence",{"type":431,"value":208036}," (sent over 3–7 days):",{"type":426,"tag":454,"props":208038,"children":208039},{},[208040,208057,208074],{"type":426,"tag":458,"props":208041,"children":208042},{},[208043,208045,208049,208051,208056],{"type":431,"value":208044},"Day 1: \"Welcome to ",{"type":426,"tag":553,"props":208046,"children":208047},{},[208048],{"type":431,"value":207842},{"type":431,"value":208050},"! Start here: ",{"type":426,"tag":553,"props":208052,"children":208053},{},[208054],{"type":431,"value":208055},"quick setup link",{"type":431,"value":1527},{"type":426,"tag":458,"props":208058,"children":208059},{},[208060,208062,208067,208069,208073],{"type":431,"value":208061},"Day 3: \"Have you tried ",{"type":426,"tag":553,"props":208063,"children":208064},{},[208065],{"type":431,"value":208066},"Feature X",{"type":431,"value":208068},"? Here's a 60-second guide: ",{"type":426,"tag":553,"props":208070,"children":208071},{},[208072],{"type":431,"value":118095},{"type":431,"value":1527},{"type":426,"tag":458,"props":208075,"children":208076},{},[208077],{"type":431,"value":208078},"Day 7: \"Any questions? Reply here and I'll help personally.\"",{"type":426,"tag":427,"props":208080,"children":208081},{},[208082],{"type":431,"value":208083},"WhatsApp onboarding achieves 3–5x higher completion rates vs email drip sequences.",{"type":426,"tag":515,"props":208085,"children":208087},{"id":208086},"_10-ai-powered-customer-support-bot",[208088],{"type":431,"value":208089},"10. AI-Powered Customer Support Bot",{"type":426,"tag":427,"props":208091,"children":208092},{},[208093,208097,208099,208103],{"type":426,"tag":446,"props":208094,"children":208095},{},[208096],{"type":431,"value":77678},{"type":431,"value":208098},": Customer sends any message to your WhatsApp number\n",{"type":426,"tag":446,"props":208100,"children":208101},{},[208102],{"type":431,"value":92134},{"type":431,"value":208104},": AI assistant (GPT-4, Gemini) reads the message and replies with relevant answers, order status, or routes to a human agent for complex issues.",{"type":426,"tag":427,"props":208106,"children":208107},{},[208108,208109,208115],{"type":431,"value":86346},{"type":426,"tag":3819,"props":208110,"children":208112},{"href":125283,"rel":208111},[3823],[208113],{"type":431,"value":208114},"Rapiwa GPT-4 WhatsApp support bot n8n template",{"type":431,"value":208116}," has 474 active installs.",{"type":426,"tag":434,"props":208118,"children":208120},{"id":208119},"how-to-set-up-whatsapp-automation-with-rapiwa",[208121],{"type":431,"value":208122},"How to Set Up WhatsApp Automation with Rapiwa",{"type":426,"tag":515,"props":208124,"children":208126},{"id":208125},"method-1-no-code-with-n8n-easiest",[208127],{"type":431,"value":208128},"Method 1: No-Code with n8n (Easiest)",{"type":426,"tag":6331,"props":208130,"children":208131},{},[208132,208143,208155,208165,208175,208180],{"type":426,"tag":458,"props":208133,"children":208134},{},[208135,208136,208141],{"type":431,"value":3817},{"type":426,"tag":3819,"props":208137,"children":208139},{"href":3821,"rel":208138},[3823],[208140],{"type":431,"value":3826},{"type":431,"value":208142}," and connect your WhatsApp number",{"type":426,"tag":458,"props":208144,"children":208145},{},[208146,208148,208153],{"type":431,"value":208147},"Open ",{"type":426,"tag":3819,"props":208149,"children":208151},{"href":133422,"rel":208150},[3823],[208152],{"type":431,"value":133426},{"type":431,"value":208154}," (Cloud or self-hosted)",{"type":426,"tag":458,"props":208156,"children":208157},{},[208158,208160],{"type":431,"value":208159},"Go to Templates and search \"Rapiwa\" — or browse the ",{"type":426,"tag":3819,"props":208161,"children":208163},{"href":145202,"rel":208162},[3823],[208164],{"type":431,"value":185948},{"type":426,"tag":458,"props":208166,"children":208167},{},[208168,208169,208173],{"type":431,"value":47857},{"type":426,"tag":446,"props":208170,"children":208171},{},[208172],{"type":431,"value":47862},{"type":431,"value":208174}," on any template",{"type":426,"tag":458,"props":208176,"children":208177},{},[208178],{"type":431,"value":208179},"Add your Rapiwa API key to the HTTP Request node",{"type":426,"tag":458,"props":208181,"children":208182},{},[208183],{"type":431,"value":146518},{"type":426,"tag":427,"props":208185,"children":208186},{},[208187],{"type":431,"value":208188},"Your first automation is live with zero code.",{"type":426,"tag":515,"props":208190,"children":208192},{"id":208191},"method-2-direct-api-integration",[208193],{"type":431,"value":208194},"Method 2: Direct API Integration",{"type":426,"tag":427,"props":208196,"children":208197},{},[208198],{"type":431,"value":208199},"For custom automation triggered from your own code:",{"type":426,"tag":542,"props":208201,"children":208203},{"className":785,"code":208202,"language":784,"meta":417,"style":417},"import requests\nfrom datetime import datetime\n\ndef send_order_confirmation(customer_phone, order_id, total, delivery_date):\n    api_key = \"YOUR_RAPIWA_API_KEY\"\n    \n    message = (\n        f\"*Order Confirmed!* 🎉\\n\\n\"\n        f\"Order ID: #{order_id}\\n\"\n        f\"Total: *${total}*\\n\"\n        f\"Estimated delivery: {delivery_date}\\n\\n\"\n        f\"Track your order here: https:\u002F\u002Fyourstore.com\u002Ftrack\u002F{order_id}\\n\\n\"\n        f\"Questions? Just reply to this message!\"\n    )\n    \n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {api_key}\"},\n        json={\"number\": customer_phone, \"message\": message}\n    )\n    \n    return response.json()\n\n# Called when WooCommerce fires the 'order completed' webhook\nsend_order_confirmation(\"8801234567890\", \"12345\", \"49.99\", \"April 8, 2026\")\n",[208204],{"type":426,"tag":549,"props":208205,"children":208206},{"__ignoreMap":417},[208207,208218,208237,208244,208260,208275,208282,208297,208317,208345,208381,208410,208438,208450,208457,208464,208479,208490,208541,208572,208579,208586,208597,208604,208612],{"type":426,"tag":553,"props":208208,"children":208209},{"class":555,"line":556},[208210,208214],{"type":426,"tag":553,"props":208211,"children":208212},{"style":795},[208213],{"type":431,"value":798},{"type":426,"tag":553,"props":208215,"children":208216},{"style":684},[208217],{"type":431,"value":803},{"type":426,"tag":553,"props":208219,"children":208220},{"class":555,"line":588},[208221,208225,208229,208233],{"type":426,"tag":553,"props":208222,"children":208223},{"style":795},[208224],{"type":431,"value":811},{"type":426,"tag":553,"props":208226,"children":208227},{"style":684},[208228],{"type":431,"value":816},{"type":426,"tag":553,"props":208230,"children":208231},{"style":795},[208232],{"type":431,"value":798},{"type":426,"tag":553,"props":208234,"children":208235},{"style":684},[208236],{"type":431,"value":22230},{"type":426,"tag":553,"props":208238,"children":208239},{"class":555,"line":606},[208240],{"type":426,"tag":553,"props":208241,"children":208242},{"emptyLinePlaceholder":831},[208243],{"type":431,"value":834},{"type":426,"tag":553,"props":208245,"children":208246},{"class":555,"line":623},[208247,208251,208255],{"type":426,"tag":553,"props":208248,"children":208249},{"style":795},[208250],{"type":431,"value":842},{"type":426,"tag":553,"props":208252,"children":208253},{"style":560},[208254],{"type":431,"value":47092},{"type":426,"tag":553,"props":208256,"children":208257},{"style":684},[208258],{"type":431,"value":208259},"(customer_phone, order_id, total, delivery_date):\n",{"type":426,"tag":553,"props":208261,"children":208262},{"class":555,"line":637},[208263,208267,208271],{"type":426,"tag":553,"props":208264,"children":208265},{"style":684},[208266],{"type":431,"value":14888},{"type":426,"tag":553,"props":208268,"children":208269},{"style":795},[208270],{"type":431,"value":957},{"type":426,"tag":553,"props":208272,"children":208273},{"style":572},[208274],{"type":431,"value":47113},{"type":426,"tag":553,"props":208276,"children":208277},{"class":555,"line":646},[208278],{"type":426,"tag":553,"props":208279,"children":208280},{"style":684},[208281],{"type":431,"value":917},{"type":426,"tag":553,"props":208283,"children":208284},{"class":555,"line":655},[208285,208289,208293],{"type":426,"tag":553,"props":208286,"children":208287},{"style":684},[208288],{"type":431,"value":1198},{"type":426,"tag":553,"props":208290,"children":208291},{"style":795},[208292],{"type":431,"value":957},{"type":426,"tag":553,"props":208294,"children":208295},{"style":684},[208296],{"type":431,"value":1207},{"type":426,"tag":553,"props":208298,"children":208299},{"class":555,"line":1036},[208300,208304,208309,208313],{"type":426,"tag":553,"props":208301,"children":208302},{"style":795},[208303],{"type":431,"value":1216},{"type":426,"tag":553,"props":208305,"children":208306},{"style":572},[208307],{"type":431,"value":208308},"\"*Order Confirmed!* 🎉",{"type":426,"tag":553,"props":208310,"children":208311},{"style":566},[208312],{"type":431,"value":1295},{"type":426,"tag":553,"props":208314,"children":208315},{"style":572},[208316],{"type":431,"value":1250},{"type":426,"tag":553,"props":208318,"children":208319},{"class":555,"line":1054},[208320,208324,208329,208333,208337,208341],{"type":426,"tag":553,"props":208321,"children":208322},{"style":795},[208323],{"type":431,"value":1216},{"type":426,"tag":553,"props":208325,"children":208326},{"style":572},[208327],{"type":431,"value":208328},"\"Order ID: #",{"type":426,"tag":553,"props":208330,"children":208331},{"style":566},[208332],{"type":431,"value":972},{"type":426,"tag":553,"props":208334,"children":208335},{"style":684},[208336],{"type":431,"value":46710},{"type":426,"tag":553,"props":208338,"children":208339},{"style":566},[208340],{"type":431,"value":1407},{"type":426,"tag":553,"props":208342,"children":208343},{"style":572},[208344],{"type":431,"value":1250},{"type":426,"tag":553,"props":208346,"children":208347},{"class":555,"line":1080},[208348,208352,208357,208361,208365,208369,208373,208377],{"type":426,"tag":553,"props":208349,"children":208350},{"style":795},[208351],{"type":431,"value":1216},{"type":426,"tag":553,"props":208353,"children":208354},{"style":572},[208355],{"type":431,"value":208356},"\"Total: *$",{"type":426,"tag":553,"props":208358,"children":208359},{"style":566},[208360],{"type":431,"value":972},{"type":426,"tag":553,"props":208362,"children":208363},{"style":684},[208364],{"type":431,"value":28805},{"type":426,"tag":553,"props":208366,"children":208367},{"style":566},[208368],{"type":431,"value":982},{"type":426,"tag":553,"props":208370,"children":208371},{"style":572},[208372],{"type":431,"value":5801},{"type":426,"tag":553,"props":208374,"children":208375},{"style":566},[208376],{"type":431,"value":3661},{"type":426,"tag":553,"props":208378,"children":208379},{"style":572},[208380],{"type":431,"value":1250},{"type":426,"tag":553,"props":208382,"children":208383},{"class":555,"line":1097},[208384,208388,208393,208397,208402,208406],{"type":426,"tag":553,"props":208385,"children":208386},{"style":795},[208387],{"type":431,"value":1216},{"type":426,"tag":553,"props":208389,"children":208390},{"style":572},[208391],{"type":431,"value":208392},"\"Estimated delivery: ",{"type":426,"tag":553,"props":208394,"children":208395},{"style":566},[208396],{"type":431,"value":972},{"type":426,"tag":553,"props":208398,"children":208399},{"style":684},[208400],{"type":431,"value":208401},"delivery_date",{"type":426,"tag":553,"props":208403,"children":208404},{"style":566},[208405],{"type":431,"value":1245},{"type":426,"tag":553,"props":208407,"children":208408},{"style":572},[208409],{"type":431,"value":1250},{"type":426,"tag":553,"props":208411,"children":208412},{"class":555,"line":1114},[208413,208417,208422,208426,208430,208434],{"type":426,"tag":553,"props":208414,"children":208415},{"style":795},[208416],{"type":431,"value":1216},{"type":426,"tag":553,"props":208418,"children":208419},{"style":572},[208420],{"type":431,"value":208421},"\"Track your order here: https:\u002F\u002Fyourstore.com\u002Ftrack\u002F",{"type":426,"tag":553,"props":208423,"children":208424},{"style":566},[208425],{"type":431,"value":972},{"type":426,"tag":553,"props":208427,"children":208428},{"style":684},[208429],{"type":431,"value":46710},{"type":426,"tag":553,"props":208431,"children":208432},{"style":566},[208433],{"type":431,"value":1245},{"type":426,"tag":553,"props":208435,"children":208436},{"style":572},[208437],{"type":431,"value":1250},{"type":426,"tag":553,"props":208439,"children":208440},{"class":555,"line":1127},[208441,208445],{"type":426,"tag":553,"props":208442,"children":208443},{"style":795},[208444],{"type":431,"value":1216},{"type":426,"tag":553,"props":208446,"children":208447},{"style":572},[208448],{"type":431,"value":208449},"\"Questions? Just reply to this message!\"\n",{"type":426,"tag":553,"props":208451,"children":208452},{"class":555,"line":1167},[208453],{"type":426,"tag":553,"props":208454,"children":208455},{"style":684},[208456],{"type":431,"value":1642},{"type":426,"tag":553,"props":208458,"children":208459},{"class":555,"line":1184},[208460],{"type":426,"tag":553,"props":208461,"children":208462},{"style":684},[208463],{"type":431,"value":917},{"type":426,"tag":553,"props":208465,"children":208466},{"class":555,"line":1192},[208467,208471,208475],{"type":426,"tag":553,"props":208468,"children":208469},{"style":684},[208470],{"type":431,"value":8117},{"type":426,"tag":553,"props":208472,"children":208473},{"style":795},[208474],{"type":431,"value":957},{"type":426,"tag":553,"props":208476,"children":208477},{"style":684},[208478],{"type":431,"value":1664},{"type":426,"tag":553,"props":208480,"children":208481},{"class":555,"line":1210},[208482,208486],{"type":426,"tag":553,"props":208483,"children":208484},{"style":572},[208485],{"type":431,"value":47296},{"type":426,"tag":553,"props":208487,"children":208488},{"style":684},[208489],{"type":431,"value":710},{"type":426,"tag":553,"props":208491,"children":208492},{"class":555,"line":1253},[208493,208497,208501,208505,208509,208513,208517,208521,208525,208529,208533,208537],{"type":426,"tag":553,"props":208494,"children":208495},{"style":1684},[208496],{"type":431,"value":1687},{"type":426,"tag":553,"props":208498,"children":208499},{"style":795},[208500],{"type":431,"value":957},{"type":426,"tag":553,"props":208502,"children":208503},{"style":684},[208504],{"type":431,"value":972},{"type":426,"tag":553,"props":208506,"children":208507},{"style":572},[208508],{"type":431,"value":45214},{"type":426,"tag":553,"props":208510,"children":208511},{"style":684},[208512],{"type":431,"value":700},{"type":426,"tag":553,"props":208514,"children":208515},{"style":795},[208516],{"type":431,"value":1709},{"type":426,"tag":553,"props":208518,"children":208519},{"style":572},[208520],{"type":431,"value":12608},{"type":426,"tag":553,"props":208522,"children":208523},{"style":566},[208524],{"type":431,"value":972},{"type":426,"tag":553,"props":208526,"children":208527},{"style":684},[208528],{"type":431,"value":1723},{"type":426,"tag":553,"props":208530,"children":208531},{"style":566},[208532],{"type":431,"value":982},{"type":426,"tag":553,"props":208534,"children":208535},{"style":572},[208536],{"type":431,"value":1527},{"type":426,"tag":553,"props":208538,"children":208539},{"style":684},[208540],{"type":431,"value":1737},{"type":426,"tag":553,"props":208542,"children":208543},{"class":555,"line":1302},[208544,208548,208552,208556,208560,208564,208568],{"type":426,"tag":553,"props":208545,"children":208546},{"style":1684},[208547],{"type":431,"value":1746},{"type":426,"tag":553,"props":208549,"children":208550},{"style":795},[208551],{"type":431,"value":957},{"type":426,"tag":553,"props":208553,"children":208554},{"style":684},[208555],{"type":431,"value":972},{"type":426,"tag":553,"props":208557,"children":208558},{"style":572},[208559],{"type":431,"value":45266},{"type":426,"tag":553,"props":208561,"children":208562},{"style":684},[208563],{"type":431,"value":21204},{"type":426,"tag":553,"props":208565,"children":208566},{"style":572},[208567],{"type":431,"value":45275},{"type":426,"tag":553,"props":208569,"children":208570},{"style":684},[208571],{"type":431,"value":1784},{"type":426,"tag":553,"props":208573,"children":208574},{"class":555,"line":1374},[208575],{"type":426,"tag":553,"props":208576,"children":208577},{"style":684},[208578],{"type":431,"value":1642},{"type":426,"tag":553,"props":208580,"children":208581},{"class":555,"line":1414},[208582],{"type":426,"tag":553,"props":208583,"children":208584},{"style":684},[208585],{"type":431,"value":917},{"type":426,"tag":553,"props":208587,"children":208588},{"class":555,"line":1479},[208589,208593],{"type":426,"tag":553,"props":208590,"children":208591},{"style":795},[208592],{"type":431,"value":1659},{"type":426,"tag":553,"props":208594,"children":208595},{"style":684},[208596],{"type":431,"value":9193},{"type":426,"tag":553,"props":208598,"children":208599},{"class":555,"line":1517},[208600],{"type":426,"tag":553,"props":208601,"children":208602},{"emptyLinePlaceholder":831},[208603],{"type":431,"value":834},{"type":426,"tag":553,"props":208605,"children":208606},{"class":555,"line":1560},[208607],{"type":426,"tag":553,"props":208608,"children":208609},{"style":1975},[208610],{"type":431,"value":208611},"# Called when WooCommerce fires the 'order completed' webhook\n",{"type":426,"tag":553,"props":208613,"children":208614},{"class":555,"line":1598},[208615,208620,208624,208628,208632,208636,208641,208645,208650],{"type":426,"tag":553,"props":208616,"children":208617},{"style":684},[208618],{"type":431,"value":208619},"send_order_confirmation(",{"type":426,"tag":553,"props":208621,"children":208622},{"style":572},[208623],{"type":431,"value":7286},{"type":426,"tag":553,"props":208625,"children":208626},{"style":684},[208627],{"type":431,"value":1907},{"type":426,"tag":553,"props":208629,"children":208630},{"style":572},[208631],{"type":431,"value":113432},{"type":426,"tag":553,"props":208633,"children":208634},{"style":684},[208635],{"type":431,"value":1907},{"type":426,"tag":553,"props":208637,"children":208638},{"style":572},[208639],{"type":431,"value":208640},"\"49.99\"",{"type":426,"tag":553,"props":208642,"children":208643},{"style":684},[208644],{"type":431,"value":1907},{"type":426,"tag":553,"props":208646,"children":208647},{"style":572},[208648],{"type":431,"value":208649},"\"April 8, 2026\"",{"type":426,"tag":553,"props":208651,"children":208652},{"style":684},[208653],{"type":431,"value":3262},{"type":426,"tag":515,"props":208655,"children":208657},{"id":208656},"method-3-woocommerce-plugin-for-wordpress-stores",[208658],{"type":431,"value":208659},"Method 3: WooCommerce Plugin (For WordPress Stores)",{"type":426,"tag":6331,"props":208661,"children":208662},{},[208663,208674,208683,208688,208699],{"type":426,"tag":458,"props":208664,"children":208665},{},[208666,208668],{"type":431,"value":208667},"Download the ",{"type":426,"tag":3819,"props":208669,"children":208671},{"href":131923,"rel":208670},[3823],[208672],{"type":431,"value":208673},"Rapiwa WooCommerce plugin from GitHub",{"type":426,"tag":458,"props":208675,"children":208676},{},[208677,208679],{"type":431,"value":208678},"Install it in WordPress: ",{"type":426,"tag":446,"props":208680,"children":208681},{},[208682],{"type":431,"value":132060},{"type":426,"tag":458,"props":208684,"children":208685},{},[208686],{"type":431,"value":208687},"Activate the plugin",{"type":426,"tag":458,"props":208689,"children":208690},{},[208691,208692,208697],{"type":431,"value":47846},{"type":426,"tag":446,"props":208693,"children":208694},{},[208695],{"type":431,"value":208696},"WooCommerce → Rapiwa Settings",{"type":431,"value":208698}," and enter your API key",{"type":426,"tag":458,"props":208700,"children":208701},{},[208702],{"type":431,"value":155888},{"type":426,"tag":427,"props":208704,"children":208705},{},[208706],{"type":431,"value":208707},"Done. Every future WooCommerce order automatically sends a WhatsApp notification to the customer.",{"type":426,"tag":434,"props":208709,"children":208711},{"id":208710},"how-to-measure-whatsapp-automation-roi",[208712],{"type":431,"value":208713},"How to Measure WhatsApp Automation ROI",{"type":426,"tag":427,"props":208715,"children":208716},{},[208717],{"type":431,"value":208718},"Track these metrics to measure the impact of your WhatsApp automation:",{"type":426,"tag":454,"props":208720,"children":208721},{},[208722,208732,208742,208751,208761,208771],{"type":426,"tag":458,"props":208723,"children":208724},{},[208725,208730],{"type":426,"tag":446,"props":208726,"children":208727},{},[208728],{"type":431,"value":208729},"Message delivery rate",{"type":431,"value":208731}," — What % of messages are successfully delivered?",{"type":426,"tag":458,"props":208733,"children":208734},{},[208735,208740],{"type":426,"tag":446,"props":208736,"children":208737},{},[208738],{"type":431,"value":208739},"Read rate",{"type":431,"value":208741}," — How quickly are messages opened? (WhatsApp shows blue ticks)",{"type":426,"tag":458,"props":208743,"children":208744},{},[208745,208749],{"type":426,"tag":446,"props":208746,"children":208747},{},[208748],{"type":431,"value":30702},{"type":431,"value":208750}," — What % of recipients reply?",{"type":426,"tag":458,"props":208752,"children":208753},{},[208754,208759],{"type":426,"tag":446,"props":208755,"children":208756},{},[208757],{"type":431,"value":208758},"Support ticket reduction",{"type":431,"value":208760}," — How many fewer \"where is my order?\" emails after adding order notifications?",{"type":426,"tag":458,"props":208762,"children":208763},{},[208764,208769],{"type":426,"tag":446,"props":208765,"children":208766},{},[208767],{"type":431,"value":208768},"Cart recovery rate",{"type":431,"value":208770}," — What % of abandoned carts are recovered by WhatsApp vs email?",{"type":426,"tag":458,"props":208772,"children":208773},{},[208774,208779],{"type":426,"tag":446,"props":208775,"children":208776},{},[208777],{"type":431,"value":208778},"Payment collection time",{"type":431,"value":208780}," — Average days to payment before and after adding WhatsApp invoice delivery",{"type":426,"tag":427,"props":208782,"children":208783},{},[208784],{"type":431,"value":208785},"Most businesses see measurable ROI within the first month of WhatsApp automation — especially in cart recovery and support ticket reduction.",{"type":426,"tag":434,"props":208787,"children":208788},{"id":4109},[208789],{"type":431,"value":4112},{"type":426,"tag":427,"props":208791,"children":208792},{},[208793,208798],{"type":426,"tag":446,"props":208794,"children":208795},{},[208796],{"type":431,"value":208797},"What is WhatsApp automation for business?",{"type":431,"value":208799},"\nWhatsApp automation is using a WhatsApp API to send messages automatically based on business events — like order placements, appointment bookings, or payment due dates — without manual intervention. It is set up once and runs continuously.",{"type":426,"tag":427,"props":208801,"children":208802},{},[208803,208808],{"type":426,"tag":446,"props":208804,"children":208805},{},[208806],{"type":431,"value":208807},"How much does WhatsApp automation cost?",{"type":431,"value":208809},"\nWith Rapiwa, the API costs $5\u002Fmonth with no per-message fees. You can automate unlimited messages for a flat $5\u002Fmonth. Additional costs depend on your automation tool: n8n has a free tier, Make.com has a free tier, and Zapier has paid plans from $19.99\u002Fmonth.",{"type":426,"tag":427,"props":208811,"children":208812},{},[208813,208818],{"type":426,"tag":446,"props":208814,"children":208815},{},[208816],{"type":431,"value":208817},"Do I need coding experience to automate WhatsApp?",{"type":431,"value":208819},"\nNo. Using n8n or Make.com with Rapiwa's ready-made templates, you can set up full WhatsApp automation without writing any code. For custom integrations, basic API knowledge (HTTP requests) is sufficient.",{"type":426,"tag":427,"props":208821,"children":208822},{},[208823,208828,208830,208834],{"type":426,"tag":446,"props":208824,"children":208825},{},[208826],{"type":431,"value":208827},"Is WhatsApp automation allowed?",{"type":431,"value":208829},"\nWhatsApp's Terms of Service restrict unsolicited bulk messaging. Legitimate business automation — order notifications, appointment reminders, invoice delivery — with user consent is widely used by businesses globally without issue. See our guide: ",{"type":426,"tag":3819,"props":208831,"children":208832},{"href":406},[208833],{"type":431,"value":204342},{"type":431,"value":6789},{"type":426,"tag":427,"props":208836,"children":208837},{},[208838,208843],{"type":426,"tag":446,"props":208839,"children":208840},{},[208841],{"type":431,"value":208842},"What is the best tool for WhatsApp automation?",{"type":431,"value":208844},"\nRapiwa API ($5\u002Fmonth) combined with n8n (free tier available) gives you the most powerful and affordable WhatsApp automation stack. Use Rapiwa's 10 pre-built n8n templates for WooCommerce, Shopify, and AI chatbot automations.",{"type":426,"tag":427,"props":208846,"children":208847},{},[208848,208853],{"type":426,"tag":446,"props":208849,"children":208850},{},[208851],{"type":431,"value":208852},"Can I automate WhatsApp for Shopify as well as WooCommerce?",{"type":431,"value":208854},"\nYes. Rapiwa has dedicated n8n templates for both platforms: WooCommerce order notifications, invoices, review requests, cross-sell offers, and Shopify cancellation alerts, discount codes, and upsell messages.",{"type":426,"tag":4164,"props":208856,"children":208857},{},[208858],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":208860},[208861,208862,208863,208875,208880,208881],{"id":207396,"depth":588,"text":207399},{"id":207445,"depth":588,"text":207448},{"id":207613,"depth":588,"text":207616,"children":208864},[208865,208866,208867,208868,208869,208870,208871,208872,208873,208874],{"id":207619,"depth":606,"text":207622},{"id":152871,"depth":606,"text":152874},{"id":152894,"depth":606,"text":152897},{"id":207759,"depth":606,"text":207762},{"id":207815,"depth":606,"text":207818},{"id":207869,"depth":606,"text":207872},{"id":207918,"depth":606,"text":207921},{"id":207961,"depth":606,"text":207964},{"id":208017,"depth":606,"text":208020},{"id":208086,"depth":606,"text":208089},{"id":208119,"depth":588,"text":208122,"children":208876},[208877,208878,208879],{"id":208125,"depth":606,"text":208128},{"id":208191,"depth":606,"text":208194},{"id":208656,"depth":606,"text":208659},{"id":208710,"depth":588,"text":208713},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-automation-for-businesses-complete-beginners-guide.md","blog\u002Fwhatsapp-automation-for-businesses-complete-beginners-guide.md","blog\u002Fwhatsapp-automation-for-businesses-complete-beginners-guide",{"loc":378},{"_path":382,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":383,"description":384,"date":208887,"author":30617,"category":212,"_slug":208888,"image":208889,"body":208890,"_type":4187,"_id":210003,"_source":4189,"_file":210004,"_stem":210005,"_extension":4192,"sitemap":210006},"2025-12-03","best-wasenderapi-alternative-for-developers-2026","\u002Fimages\u002Fblog\u002Fbest-wasenderapi-alternative-for-developers-2026.svg",{"type":423,"children":208891,"toc":209989},[208892,208904,208910,208915,208964,208970,209217,209223,209233,209239,209288,209294,209354,209360,209365,209373,209445,209453,209524,209554,209560,209565,209573,209591,209599,209627,209636,209642,209647,209654,209672,209679,209702,209711,209717,209722,209729,209747,209754,209781,209790,209796,209906,209910,209920,209955,209965,209975,209985],{"type":426,"tag":427,"props":208893,"children":208894},{},[208895,208897,208902],{"type":431,"value":208896},"The best WasenderAPI alternative for developers in 2026 is ",{"type":426,"tag":3819,"props":208898,"children":208900},{"href":3821,"rel":208899},[3823],[208901],{"type":431,"value":127310},{"type":431,"value":208903}," — it costs $5\u002Fmonth (17% cheaper than WasenderAPI's $6\u002Fmonth), holds a 5.0\u002F5 Sourceforge rating (vs WasenderAPI's 4.5\u002F5), includes a ready-to-install WooCommerce plugin, and has 10 official n8n workflow templates. All with no per-message fees and a 3-day free trial.",{"type":426,"tag":434,"props":208905,"children":208907},{"id":208906},"why-developers-are-looking-for-wasenderapi-alternatives",[208908],{"type":431,"value":208909},"Why Developers Are Looking for WasenderAPI Alternatives",{"type":426,"tag":427,"props":208911,"children":208912},{},[208913],{"type":431,"value":208914},"WasenderAPI is a solid platform — but developers switch for several reasons:",{"type":426,"tag":6331,"props":208916,"children":208917},{},[208918,208927,208936,208945,208954],{"type":426,"tag":458,"props":208919,"children":208920},{},[208921,208925],{"type":426,"tag":446,"props":208922,"children":208923},{},[208924],{"type":431,"value":103028},{"type":431,"value":208926}," — At $6\u002Fmonth, it is more expensive than alternatives like Rapiwa at $5\u002Fmonth",{"type":426,"tag":458,"props":208928,"children":208929},{},[208930,208934],{"type":426,"tag":446,"props":208931,"children":208932},{},[208933],{"type":431,"value":149513},{"type":431,"value":208935}," — WasenderAPI does not have a dedicated WordPress\u002FWooCommerce plugin; Rapiwa does",{"type":426,"tag":458,"props":208937,"children":208938},{},[208939,208943],{"type":426,"tag":446,"props":208940,"children":208941},{},[208942],{"type":431,"value":47003},{"type":431,"value":208944}," — Rapiwa has 10 pre-built n8n templates; WasenderAPI requires building from scratch",{"type":426,"tag":458,"props":208946,"children":208947},{},[208948,208952],{"type":426,"tag":446,"props":208949,"children":208950},{},[208951],{"type":431,"value":160013},{"type":431,"value":208953}," — Rapiwa holds a higher verified Sourceforge rating (5.0 vs 4.5)",{"type":426,"tag":458,"props":208955,"children":208956},{},[208957,208962],{"type":426,"tag":446,"props":208958,"children":208959},{},[208960],{"type":431,"value":208961},"Pricing transparency",{"type":431,"value":208963}," — Some developers find WasenderAPI's tier structure ($6\u002F$15\u002F$30\u002F$45) less predictable than Rapiwa's simpler pricing",{"type":426,"tag":434,"props":208965,"children":208967},{"id":208966},"top-wasenderapi-alternatives-compared",[208968],{"type":431,"value":208969},"Top WasenderAPI Alternatives Compared",{"type":426,"tag":10600,"props":208971,"children":208972},{},[208973,209009],{"type":426,"tag":10604,"props":208974,"children":208975},{},[208976],{"type":426,"tag":10608,"props":208977,"children":208978},{},[208979,208983,208987,208992,208997,209001,209005],{"type":426,"tag":10612,"props":208980,"children":208981},{},[208982],{"type":431,"value":147033},{"type":426,"tag":10612,"props":208984,"children":208985},{},[208986],{"type":431,"value":195067},{"type":426,"tag":10612,"props":208988,"children":208989},{},[208990],{"type":431,"value":208991},"Per-msg Fee",{"type":426,"tag":10612,"props":208993,"children":208994},{},[208995],{"type":431,"value":208996},"Sourceforge",{"type":426,"tag":10612,"props":208998,"children":208999},{},[209000],{"type":431,"value":150071},{"type":426,"tag":10612,"props":209002,"children":209003},{},[209004],{"type":431,"value":163714},{"type":426,"tag":10612,"props":209006,"children":209007},{},[209008],{"type":431,"value":195081},{"type":426,"tag":10623,"props":209010,"children":209011},{},[209012,209058,209090,209122,209154,209186],{"type":426,"tag":10608,"props":209013,"children":209014},{},[209015,209022,209029,209033,209040,209047,209054],{"type":426,"tag":10630,"props":209016,"children":209017},{},[209018],{"type":426,"tag":446,"props":209019,"children":209020},{},[209021],{"type":431,"value":127310},{"type":426,"tag":10630,"props":209023,"children":209024},{},[209025],{"type":426,"tag":446,"props":209026,"children":209027},{},[209028],{"type":431,"value":155606},{"type":426,"tag":10630,"props":209030,"children":209031},{},[209032],{"type":431,"value":1840},{"type":426,"tag":10630,"props":209034,"children":209035},{},[209036],{"type":426,"tag":446,"props":209037,"children":209038},{},[209039],{"type":431,"value":10805},{"type":426,"tag":10630,"props":209041,"children":209042},{},[209043],{"type":426,"tag":446,"props":209044,"children":209045},{},[209046],{"type":431,"value":103087},{"type":426,"tag":10630,"props":209048,"children":209049},{},[209050],{"type":426,"tag":446,"props":209051,"children":209052},{},[209053],{"type":431,"value":11479},{"type":426,"tag":10630,"props":209055,"children":209056},{},[209057],{"type":431,"value":148394},{"type":426,"tag":10608,"props":209059,"children":209060},{},[209061,209065,209069,209073,209077,209081,209086],{"type":426,"tag":10630,"props":209062,"children":209063},{},[209064],{"type":431,"value":147163},{"type":426,"tag":10630,"props":209066,"children":209067},{},[209068],{"type":431,"value":155627},{"type":426,"tag":10630,"props":209070,"children":209071},{},[209072],{"type":431,"value":1840},{"type":426,"tag":10630,"props":209074,"children":209075},{},[209076],{"type":431,"value":148371},{"type":426,"tag":10630,"props":209078,"children":209079},{},[209080],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209082,"children":209083},{},[209084],{"type":431,"value":209085},"Node (custom)",{"type":426,"tag":10630,"props":209087,"children":209088},{},[209089],{"type":431,"value":148394},{"type":426,"tag":10608,"props":209091,"children":209092},{},[209093,209097,209102,209106,209110,209114,209118],{"type":426,"tag":10630,"props":209094,"children":209095},{},[209096],{"type":431,"value":155635},{"type":426,"tag":10630,"props":209098,"children":209099},{},[209100],{"type":431,"value":209101},"$19\u002Fmo (hosted)",{"type":426,"tag":10630,"props":209103,"children":209104},{},[209105],{"type":431,"value":1840},{"type":426,"tag":10630,"props":209107,"children":209108},{},[209109],{"type":431,"value":157981},{"type":426,"tag":10630,"props":209111,"children":209112},{},[209113],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209115,"children":209116},{},[209117],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209119,"children":209120},{},[209121],{"type":431,"value":78140},{"type":426,"tag":10608,"props":209123,"children":209124},{},[209125,209129,209134,209138,209142,209146,209150],{"type":426,"tag":10630,"props":209126,"children":209127},{},[209128],{"type":431,"value":155656},{"type":426,"tag":10630,"props":209130,"children":209131},{},[209132],{"type":431,"value":209133},"Free (self-host)",{"type":426,"tag":10630,"props":209135,"children":209136},{},[209137],{"type":431,"value":1840},{"type":426,"tag":10630,"props":209139,"children":209140},{},[209141],{"type":431,"value":157981},{"type":426,"tag":10630,"props":209143,"children":209144},{},[209145],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209147,"children":209148},{},[209149],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209151,"children":209152},{},[209153],{"type":431,"value":157981},{"type":426,"tag":10608,"props":209155,"children":209156},{},[209157,209161,209166,209170,209174,209178,209182],{"type":426,"tag":10630,"props":209158,"children":209159},{},[209160],{"type":431,"value":147074},{"type":426,"tag":10630,"props":209162,"children":209163},{},[209164],{"type":431,"value":209165},"~$0.005\u002Fmsg",{"type":426,"tag":10630,"props":209167,"children":209168},{},[209169],{"type":431,"value":103087},{"type":426,"tag":10630,"props":209171,"children":209172},{},[209173],{"type":431,"value":157981},{"type":426,"tag":10630,"props":209175,"children":209176},{},[209177],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209179,"children":209180},{},[209181],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209183,"children":209184},{},[209185],{"type":431,"value":195263},{"type":426,"tag":10608,"props":209187,"children":209188},{},[209189,209193,209197,209201,209205,209209,209213],{"type":426,"tag":10630,"props":209190,"children":209191},{},[209192],{"type":431,"value":147230},{"type":426,"tag":10630,"props":209194,"children":209195},{},[209196],{"type":431,"value":156969},{"type":426,"tag":10630,"props":209198,"children":209199},{},[209200],{"type":431,"value":1840},{"type":426,"tag":10630,"props":209202,"children":209203},{},[209204],{"type":431,"value":157981},{"type":426,"tag":10630,"props":209206,"children":209207},{},[209208],{"type":431,"value":78140},{"type":426,"tag":10630,"props":209210,"children":209211},{},[209212],{"type":431,"value":78130},{"type":426,"tag":10630,"props":209214,"children":209215},{},[209216],{"type":431,"value":195293},{"type":426,"tag":434,"props":209218,"children":209220},{"id":209219},"_1-alternative-rapiwa-best-overall",[209221],{"type":431,"value":209222},"#1 Alternative: Rapiwa (Best Overall)",{"type":426,"tag":427,"props":209224,"children":209225},{},[209226,209231],{"type":426,"tag":446,"props":209227,"children":209228},{},[209229],{"type":431,"value":209230},"Why it wins",{"type":431,"value":209232},": Rapiwa is the most affordable managed WhatsApp API in the market, with the highest Sourceforge rating and the best out-of-the-box integrations for WooCommerce and n8n users.",{"type":426,"tag":515,"props":209234,"children":209236},{"id":209235},"what-rapiwa-offers",[209237],{"type":431,"value":209238},"What Rapiwa Offers",{"type":426,"tag":454,"props":209240,"children":209241},{},[209242,209247,209252,209257,209262,209267,209279,209284],{"type":426,"tag":458,"props":209243,"children":209244},{},[209245],{"type":431,"value":209246},"REST API that works with cURL, Python, Node.js, PHP, Java, C#",{"type":426,"tag":458,"props":209248,"children":209249},{},[209250],{"type":431,"value":209251},"All WhatsApp message types: text, images, documents, voice, video, location, contacts",{"type":426,"tag":458,"props":209253,"children":209254},{},[209255],{"type":431,"value":209256},"Webhook support for real-time incoming message processing",{"type":426,"tag":458,"props":209258,"children":209259},{},[209260],{"type":431,"value":209261},"Number verification API",{"type":426,"tag":458,"props":209263,"children":209264},{},[209265],{"type":431,"value":209266},"Bulk messaging support",{"type":426,"tag":458,"props":209268,"children":209269},{},[209270,209272,209278],{"type":431,"value":209271},"WooCommerce plugin (available now — ",{"type":426,"tag":3819,"props":209273,"children":209275},{"href":131923,"rel":209274},[3823],[209276],{"type":431,"value":209277},"download from GitHub",{"type":431,"value":5736},{"type":426,"tag":458,"props":209280,"children":209281},{},[209282],{"type":431,"value":209283},"10 official n8n workflow templates including WooCommerce invoices, Shopify notifications, and AI customer support bots",{"type":426,"tag":458,"props":209285,"children":209286},{},[209287],{"type":431,"value":175037},{"type":426,"tag":515,"props":209289,"children":209291},{"id":209290},"rapiwa-pricing-vs-wasenderapi",[209292],{"type":431,"value":209293},"Rapiwa Pricing vs WasenderAPI",{"type":426,"tag":10600,"props":209295,"children":209296},{},[209297,209315],{"type":426,"tag":10604,"props":209298,"children":209299},{},[209300],{"type":426,"tag":10608,"props":209301,"children":209302},{},[209303,209307,209311],{"type":426,"tag":10612,"props":209304,"children":209305},{},[209306],{"type":431,"value":161320},{"type":426,"tag":10612,"props":209308,"children":209309},{},[209310],{"type":431,"value":127310},{"type":426,"tag":10612,"props":209312,"children":209313},{},[209314],{"type":431,"value":147163},{"type":426,"tag":10623,"props":209316,"children":209317},{},[209318,209337],{"type":426,"tag":10608,"props":209319,"children":209320},{},[209321,209326,209333],{"type":426,"tag":10630,"props":209322,"children":209323},{},[209324],{"type":431,"value":209325},"Entry (1 number)",{"type":426,"tag":10630,"props":209327,"children":209328},{},[209329],{"type":426,"tag":446,"props":209330,"children":209331},{},[209332],{"type":431,"value":148332},{"type":426,"tag":10630,"props":209334,"children":209335},{},[209336],{"type":431,"value":148324},{"type":426,"tag":10608,"props":209338,"children":209339},{},[209340,209345,209349],{"type":426,"tag":10630,"props":209341,"children":209342},{},[209343],{"type":431,"value":209344},"Saving vs WasenderAPI",{"type":426,"tag":10630,"props":209346,"children":209347},{},[209348],{"type":431,"value":157981},{"type":426,"tag":10630,"props":209350,"children":209351},{},[209352],{"type":431,"value":209353},"You pay $12 more\u002Fyear",{"type":426,"tag":515,"props":209355,"children":209357},{"id":209356},"sample-code-switching-from-wasenderapi-to-rapiwa",[209358],{"type":431,"value":209359},"Sample Code: Switching from WasenderAPI to Rapiwa",{"type":426,"tag":427,"props":209361,"children":209362},{},[209363],{"type":431,"value":209364},"If you are currently using WasenderAPI, switching to Rapiwa requires only two changes: the endpoint URL and the field names in your payload.",{"type":426,"tag":427,"props":209366,"children":209367},{},[209368],{"type":426,"tag":446,"props":209369,"children":209370},{},[209371],{"type":431,"value":209372},"WasenderAPI (current code):",{"type":426,"tag":542,"props":209374,"children":209376},{"className":546,"code":209375,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fwasenderapi.com\u002Fapi\u002Fsend-message \\\n  -H \"Authorization: Bearer WASENDER_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"to\": \"8801234567890\", \"text\": \"Hello!\"}'\n",[209377],{"type":426,"tag":549,"props":209378,"children":209379},{"__ignoreMap":417},[209380,209403,209418,209433],{"type":426,"tag":553,"props":209381,"children":209382},{"class":555,"line":556},[209383,209387,209391,209395,209399],{"type":426,"tag":553,"props":209384,"children":209385},{"style":560},[209386],{"type":431,"value":563},{"type":426,"tag":553,"props":209388,"children":209389},{"style":566},[209390],{"type":431,"value":569},{"type":426,"tag":553,"props":209392,"children":209393},{"style":572},[209394],{"type":431,"value":575},{"type":426,"tag":553,"props":209396,"children":209397},{"style":572},[209398],{"type":431,"value":148696},{"type":426,"tag":553,"props":209400,"children":209401},{"style":566},[209402],{"type":431,"value":585},{"type":426,"tag":553,"props":209404,"children":209405},{"class":555,"line":588},[209406,209410,209414],{"type":426,"tag":553,"props":209407,"children":209408},{"style":566},[209409],{"type":431,"value":594},{"type":426,"tag":553,"props":209411,"children":209412},{"style":572},[209413],{"type":431,"value":148712},{"type":426,"tag":553,"props":209415,"children":209416},{"style":566},[209417],{"type":431,"value":585},{"type":426,"tag":553,"props":209419,"children":209420},{"class":555,"line":606},[209421,209425,209429],{"type":426,"tag":553,"props":209422,"children":209423},{"style":566},[209424],{"type":431,"value":594},{"type":426,"tag":553,"props":209426,"children":209427},{"style":572},[209428],{"type":431,"value":616},{"type":426,"tag":553,"props":209430,"children":209431},{"style":566},[209432],{"type":431,"value":585},{"type":426,"tag":553,"props":209434,"children":209435},{"class":555,"line":623},[209436,209440],{"type":426,"tag":553,"props":209437,"children":209438},{"style":566},[209439],{"type":431,"value":629},{"type":426,"tag":553,"props":209441,"children":209442},{"style":572},[209443],{"type":431,"value":209444}," '{\"to\": \"8801234567890\", \"text\": \"Hello!\"}'\n",{"type":426,"tag":427,"props":209446,"children":209447},{},[209448],{"type":426,"tag":446,"props":209449,"children":209450},{},[209451],{"type":431,"value":209452},"Rapiwa (after switching):",{"type":426,"tag":542,"props":209454,"children":209456},{"className":546,"code":209455,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer RAPIWA_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello!\"}'\n",[209457],{"type":426,"tag":549,"props":209458,"children":209459},{"__ignoreMap":417},[209460,209483,209498,209513],{"type":426,"tag":553,"props":209461,"children":209462},{"class":555,"line":556},[209463,209467,209471,209475,209479],{"type":426,"tag":553,"props":209464,"children":209465},{"style":560},[209466],{"type":431,"value":563},{"type":426,"tag":553,"props":209468,"children":209469},{"style":566},[209470],{"type":431,"value":569},{"type":426,"tag":553,"props":209472,"children":209473},{"style":572},[209474],{"type":431,"value":575},{"type":426,"tag":553,"props":209476,"children":209477},{"style":572},[209478],{"type":431,"value":580},{"type":426,"tag":553,"props":209480,"children":209481},{"style":566},[209482],{"type":431,"value":585},{"type":426,"tag":553,"props":209484,"children":209485},{"class":555,"line":588},[209486,209490,209494],{"type":426,"tag":553,"props":209487,"children":209488},{"style":566},[209489],{"type":431,"value":594},{"type":426,"tag":553,"props":209491,"children":209492},{"style":572},[209493],{"type":431,"value":148793},{"type":426,"tag":553,"props":209495,"children":209496},{"style":566},[209497],{"type":431,"value":585},{"type":426,"tag":553,"props":209499,"children":209500},{"class":555,"line":606},[209501,209505,209509],{"type":426,"tag":553,"props":209502,"children":209503},{"style":566},[209504],{"type":431,"value":594},{"type":426,"tag":553,"props":209506,"children":209507},{"style":572},[209508],{"type":431,"value":616},{"type":426,"tag":553,"props":209510,"children":209511},{"style":566},[209512],{"type":431,"value":585},{"type":426,"tag":553,"props":209514,"children":209515},{"class":555,"line":623},[209516,209520],{"type":426,"tag":553,"props":209517,"children":209518},{"style":566},[209519],{"type":431,"value":629},{"type":426,"tag":553,"props":209521,"children":209522},{"style":572},[209523],{"type":431,"value":163281},{"type":426,"tag":427,"props":209525,"children":209526},{},[209527,209529,209534,209535,209540,209541,209546,209547,209552],{"type":431,"value":209528},"Changes made: ",{"type":426,"tag":549,"props":209530,"children":209532},{"className":209531},[],[209533],{"type":431,"value":148844},{"type":431,"value":5710},{"type":426,"tag":549,"props":209536,"children":209538},{"className":209537},[],[209539],{"type":431,"value":39195},{"type":431,"value":1907},{"type":426,"tag":549,"props":209542,"children":209544},{"className":209543},[],[209545],{"type":431,"value":431},{"type":431,"value":5710},{"type":426,"tag":549,"props":209548,"children":209550},{"className":209549},[],[209551],{"type":431,"value":2734},{"type":431,"value":209553},", new endpoint URL, new API key. That is the entire migration for basic text messaging.",{"type":426,"tag":434,"props":209555,"children":209557},{"id":209556},"_2-alternative-waha-self-hosted-whatsapp-http-api",[209558],{"type":431,"value":209559},"#2 Alternative: WAHA (Self-Hosted WhatsApp HTTP API)",{"type":426,"tag":427,"props":209561,"children":209562},{},[209563],{"type":431,"value":209564},"WAHA is an open-source WhatsApp API built on Baileys\u002Fwhatsapp-web.js. It is free to self-host but requires technical expertise to deploy and maintain.",{"type":426,"tag":427,"props":209566,"children":209567},{},[209568],{"type":426,"tag":446,"props":209569,"children":209570},{},[209571],{"type":431,"value":209572},"Pros:",{"type":426,"tag":454,"props":209574,"children":209575},{},[209576,209581,209586],{"type":426,"tag":458,"props":209577,"children":209578},{},[209579],{"type":431,"value":209580},"Free if you self-host",{"type":426,"tag":458,"props":209582,"children":209583},{},[209584],{"type":431,"value":209585},"Open source — full transparency",{"type":426,"tag":458,"props":209587,"children":209588},{},[209589],{"type":431,"value":209590},"No monthly subscription fee",{"type":426,"tag":427,"props":209592,"children":209593},{},[209594],{"type":426,"tag":446,"props":209595,"children":209596},{},[209597],{"type":431,"value":209598},"Cons:",{"type":426,"tag":454,"props":209600,"children":209601},{},[209602,209607,209612,209617,209622],{"type":426,"tag":458,"props":209603,"children":209604},{},[209605],{"type":431,"value":209606},"Requires a VPS ($15–35\u002Fmonth for stable operation)",{"type":426,"tag":458,"props":209608,"children":209609},{},[209610],{"type":431,"value":209611},"You maintain the server, updates, and uptime",{"type":426,"tag":458,"props":209613,"children":209614},{},[209615],{"type":431,"value":209616},"No support team",{"type":426,"tag":458,"props":209618,"children":209619},{},[209620],{"type":431,"value":209621},"Complex setup for non-technical users",{"type":426,"tag":458,"props":209623,"children":209624},{},[209625],{"type":431,"value":209626},"Hosted WAHA starts at $19\u002Fmonth",{"type":426,"tag":427,"props":209628,"children":209629},{},[209630,209634],{"type":426,"tag":446,"props":209631,"children":209632},{},[209633],{"type":431,"value":46969},{"type":431,"value":209635},": Developers who prefer self-hosted infrastructure and have DevOps experience.",{"type":426,"tag":434,"props":209637,"children":209639},{"id":209638},"_3-alternative-evolution-api-free-self-hosted",[209640],{"type":431,"value":209641},"#3 Alternative: Evolution API (Free Self-Hosted)",{"type":426,"tag":427,"props":209643,"children":209644},{},[209645],{"type":431,"value":209646},"Evolution API is another open-source WhatsApp API. It is free but comes with significant maintenance overhead.",{"type":426,"tag":427,"props":209648,"children":209649},{},[209650],{"type":426,"tag":446,"props":209651,"children":209652},{},[209653],{"type":431,"value":209572},{"type":426,"tag":454,"props":209655,"children":209656},{},[209657,209662,209667],{"type":426,"tag":458,"props":209658,"children":209659},{},[209660],{"type":431,"value":209661},"Free to use",{"type":426,"tag":458,"props":209663,"children":209664},{},[209665],{"type":431,"value":209666},"Active open-source community",{"type":426,"tag":458,"props":209668,"children":209669},{},[209670],{"type":431,"value":209671},"Supports advanced features",{"type":426,"tag":427,"props":209673,"children":209674},{},[209675],{"type":426,"tag":446,"props":209676,"children":209677},{},[209678],{"type":431,"value":209598},{"type":426,"tag":454,"props":209680,"children":209681},{},[209682,209687,209692,209697],{"type":426,"tag":458,"props":209683,"children":209684},{},[209685],{"type":431,"value":209686},"High maintenance burden — frequent WhatsApp protocol updates break it",{"type":426,"tag":458,"props":209688,"children":209689},{},[209690],{"type":431,"value":209691},"Requires 4GB+ RAM VPS ($15–35\u002Fmonth)",{"type":426,"tag":458,"props":209693,"children":209694},{},[209695],{"type":431,"value":209696},"Estimated real cost: $40–90\u002Fmonth when accounting for server and admin time",{"type":426,"tag":458,"props":209698,"children":209699},{},[209700],{"type":431,"value":209701},"Not suitable for production without dedicated DevOps",{"type":426,"tag":427,"props":209703,"children":209704},{},[209705,209709],{"type":426,"tag":446,"props":209706,"children":209707},{},[209708],{"type":431,"value":46969},{"type":431,"value":209710},": Developers comfortable managing Linux servers who want zero monthly API cost and don't mind maintenance.",{"type":426,"tag":434,"props":209712,"children":209714},{"id":209713},"_4-alternative-twilio-whatsapp-api",[209715],{"type":431,"value":209716},"#4 Alternative: Twilio WhatsApp API",{"type":426,"tag":427,"props":209718,"children":209719},{},[209720],{"type":431,"value":209721},"Twilio is the enterprise standard for communications APIs. Its WhatsApp API is the official Meta Business API.",{"type":426,"tag":427,"props":209723,"children":209724},{},[209725],{"type":426,"tag":446,"props":209726,"children":209727},{},[209728],{"type":431,"value":209572},{"type":426,"tag":454,"props":209730,"children":209731},{},[209732,209737,209742],{"type":426,"tag":458,"props":209733,"children":209734},{},[209735],{"type":431,"value":209736},"Official Meta partnership",{"type":426,"tag":458,"props":209738,"children":209739},{},[209740],{"type":431,"value":209741},"Enterprise SLA and support",{"type":426,"tag":458,"props":209743,"children":209744},{},[209745],{"type":431,"value":209746},"Excellent reliability and uptime",{"type":426,"tag":427,"props":209748,"children":209749},{},[209750],{"type":426,"tag":446,"props":209751,"children":209752},{},[209753],{"type":431,"value":209598},{"type":426,"tag":454,"props":209755,"children":209756},{},[209757,209762,209766,209771,209776],{"type":426,"tag":458,"props":209758,"children":209759},{},[209760],{"type":431,"value":209761},"Requires Meta WhatsApp Business API approval (days to weeks)",{"type":426,"tag":458,"props":209763,"children":209764},{},[209765],{"type":431,"value":160758},{"type":426,"tag":458,"props":209767,"children":209768},{},[209769],{"type":431,"value":209770},"Per-conversation pricing ($0.025–$0.080 per session)",{"type":426,"tag":458,"props":209772,"children":209773},{},[209774],{"type":431,"value":209775},"Much more expensive at scale",{"type":426,"tag":458,"props":209777,"children":209778},{},[209779],{"type":431,"value":209780},"24-hour messaging window restriction",{"type":426,"tag":427,"props":209782,"children":209783},{},[209784,209788],{"type":426,"tag":446,"props":209785,"children":209786},{},[209787],{"type":431,"value":46969},{"type":431,"value":209789},": Large enterprises that need the Meta green badge and full ToS compliance, with budget for per-message costs.",{"type":426,"tag":434,"props":209791,"children":209793},{"id":209792},"choosing-the-right-wasenderapi-alternative",[209794],{"type":431,"value":209795},"Choosing the Right WasenderAPI Alternative",{"type":426,"tag":10600,"props":209797,"children":209798},{},[209799,209815],{"type":426,"tag":10604,"props":209800,"children":209801},{},[209802],{"type":426,"tag":10608,"props":209803,"children":209804},{},[209805,209810],{"type":426,"tag":10612,"props":209806,"children":209807},{},[209808],{"type":431,"value":209809},"Your Situation",{"type":426,"tag":10612,"props":209811,"children":209812},{},[209813],{"type":431,"value":209814},"Best Alternative",{"type":426,"tag":10623,"props":209816,"children":209817},{},[209818,209835,209852,209872,209888],{"type":426,"tag":10608,"props":209819,"children":209820},{},[209821,209826],{"type":426,"tag":10630,"props":209822,"children":209823},{},[209824],{"type":431,"value":209825},"You want cheaper pricing and WooCommerce integration",{"type":426,"tag":10630,"props":209827,"children":209828},{},[209829,209833],{"type":426,"tag":446,"props":209830,"children":209831},{},[209832],{"type":431,"value":127310},{"type":431,"value":209834}," ($5\u002Fmo)",{"type":426,"tag":10608,"props":209836,"children":209837},{},[209838,209843],{"type":426,"tag":10630,"props":209839,"children":209840},{},[209841],{"type":431,"value":209842},"You use n8n and want pre-built automation templates",{"type":426,"tag":10630,"props":209844,"children":209845},{},[209846,209850],{"type":426,"tag":446,"props":209847,"children":209848},{},[209849],{"type":431,"value":127310},{"type":431,"value":209851}," (10 templates)",{"type":426,"tag":10608,"props":209853,"children":209854},{},[209855,209860],{"type":426,"tag":10630,"props":209856,"children":209857},{},[209858],{"type":431,"value":209859},"You prefer self-hosting and have DevOps skills",{"type":426,"tag":10630,"props":209861,"children":209862},{},[209863,209867,209868],{"type":426,"tag":446,"props":209864,"children":209865},{},[209866],{"type":431,"value":155635},{"type":431,"value":77103},{"type":426,"tag":446,"props":209869,"children":209870},{},[209871],{"type":431,"value":155656},{"type":426,"tag":10608,"props":209873,"children":209874},{},[209875,209880],{"type":426,"tag":10630,"props":209876,"children":209877},{},[209878],{"type":431,"value":209879},"You need enterprise compliance and Meta green badge",{"type":426,"tag":10630,"props":209881,"children":209882},{},[209883],{"type":426,"tag":446,"props":209884,"children":209885},{},[209886],{"type":431,"value":209887},"Twilio \u002F Meta Cloud API",{"type":426,"tag":10608,"props":209889,"children":209890},{},[209891,209896],{"type":426,"tag":10630,"props":209892,"children":209893},{},[209894],{"type":431,"value":209895},"You have 3+ numbers and need multi-session management",{"type":426,"tag":10630,"props":209897,"children":209898},{},[209899,209904],{"type":426,"tag":446,"props":209900,"children":209901},{},[209902],{"type":431,"value":209903},"Rapiwa Professional",{"type":431,"value":209905}," plan",{"type":426,"tag":434,"props":209907,"children":209908},{"id":4109},[209909],{"type":431,"value":4112},{"type":426,"tag":427,"props":209911,"children":209912},{},[209913,209918],{"type":426,"tag":446,"props":209914,"children":209915},{},[209916],{"type":431,"value":209917},"What is the cheapest WasenderAPI alternative?",{"type":431,"value":209919},"\nRapiwa at $5\u002Fmonth is the cheapest managed WasenderAPI alternative. For completely free alternatives, WAHA and Evolution API are self-hosted options, but they require a VPS ($15–35\u002Fmonth) and ongoing maintenance.",{"type":426,"tag":427,"props":209921,"children":209922},{},[209923,209928,209930,209935,209936,209941,209942,209947,209948,209953],{"type":426,"tag":446,"props":209924,"children":209925},{},[209926],{"type":431,"value":209927},"Is it easy to switch from WasenderAPI to Rapiwa?",{"type":431,"value":209929},"\nYes. The API structure is nearly identical. Update your endpoint URL and two field names (",{"type":426,"tag":549,"props":209931,"children":209933},{"className":209932},[],[209934],{"type":431,"value":148844},{"type":431,"value":149652},{"type":426,"tag":549,"props":209937,"children":209939},{"className":209938},[],[209940],{"type":431,"value":39195},{"type":431,"value":1907},{"type":426,"tag":549,"props":209943,"children":209945},{"className":209944},[],[209946],{"type":431,"value":431},{"type":431,"value":149652},{"type":426,"tag":549,"props":209949,"children":209951},{"className":209950},[],[209952],{"type":431,"value":2734},{"type":431,"value":209954},") and you are done. The switch typically takes under 30 minutes.",{"type":426,"tag":427,"props":209956,"children":209957},{},[209958,209963],{"type":426,"tag":446,"props":209959,"children":209960},{},[209961],{"type":431,"value":209962},"Does Rapiwa have the same features as WasenderAPI?",{"type":431,"value":209964},"\nBoth support all WhatsApp message types, webhooks, and unlimited messaging. WasenderAPI has a slight edge on production-ready SDKs (Node.js, Python, Laravel published now). Rapiwa has the edge on WooCommerce integration, n8n templates, price, and Sourceforge rating.",{"type":426,"tag":427,"props":209966,"children":209967},{},[209968,209973],{"type":426,"tag":446,"props":209969,"children":209970},{},[209971],{"type":431,"value":209972},"Can I use Rapiwa for the same use cases as WasenderAPI?",{"type":431,"value":209974},"\nYes. Customer support bots, order notifications, bulk messaging, CRM integration, Shopify automation — all the same use cases work identically with Rapiwa.",{"type":426,"tag":427,"props":209976,"children":209977},{},[209978,209983],{"type":426,"tag":446,"props":209979,"children":209980},{},[209981],{"type":431,"value":209982},"What is WasenderAPI's refund policy?",{"type":431,"value":209984},"\nCheck wasenderapi.com directly for their current billing terms. Rapiwa offers a 3-day free trial and has a clear refund policy at rapiwa.com\u002Frefund-policy.",{"type":426,"tag":4164,"props":209986,"children":209987},{},[209988],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":209990},[209991,209992,209993,209998,209999,210000,210001,210002],{"id":208906,"depth":588,"text":208909},{"id":208966,"depth":588,"text":208969},{"id":209219,"depth":588,"text":209222,"children":209994},[209995,209996,209997],{"id":209235,"depth":606,"text":209238},{"id":209290,"depth":606,"text":209293},{"id":209356,"depth":606,"text":209359},{"id":209556,"depth":588,"text":209559},{"id":209638,"depth":588,"text":209641},{"id":209713,"depth":588,"text":209716},{"id":209792,"depth":588,"text":209795},{"id":4109,"depth":588,"text":4112},"content:blog:best-wasenderapi-alternative-for-developers-2026.md","blog\u002Fbest-wasenderapi-alternative-for-developers-2026.md","blog\u002Fbest-wasenderapi-alternative-for-developers-2026",{"loc":382},{"_path":386,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":387,"description":388,"date":210008,"author":36566,"category":22,"_slug":210009,"image":210010,"body":210011,"_type":4187,"_id":211883,"_source":4189,"_file":211884,"_stem":211885,"_extension":4192,"sitemap":211886},"2025-12-02","how-to-set-up-rapiwa-in-under-5-minutes","\u002Fimages\u002Fblog\u002Fhow-to-set-up-rapiwa-in-under-5-minutes.svg",{"type":423,"children":210012,"toc":211867},[210013,210024,210028,210045,210051,210086,210091,210095,210100,210147,210155,210192,210203,210215,210219,210258,210263,210269,210281,210374,210390,210441,210446,210521,210526,210532,210538,210656,210662,210793,210799,211006,211012,211017,211053,211058,211172,211180,211619,211625,211641,211657,211665,211694,211711,211717,211722,211787,211791,211801,211811,211820,211830,211840,211863],{"type":426,"tag":427,"props":210014,"children":210015},{},[210016,210018],{"type":431,"value":210017},"You can set up Rapiwa and send your first WhatsApp message in under 5 minutes. Sign up at rapiwa.com, scan a QR code to connect your WhatsApp number, copy your API key, and send a POST request to the Rapiwa endpoint. No Meta approval, no templates, no complex configuration. ",{"type":426,"tag":3819,"props":210019,"children":210021},{"href":3821,"rel":210020},[3823],[210022],{"type":431,"value":210023},"Start your free 3-day trial →",{"type":426,"tag":434,"props":210025,"children":210026},{"id":145158},[210027],{"type":431,"value":145161},{"type":426,"tag":454,"props":210029,"children":210030},{},[210031,210036,210040],{"type":426,"tag":458,"props":210032,"children":210033},{},[210034],{"type":431,"value":210035},"A WhatsApp account (personal or Business) on your phone",{"type":426,"tag":458,"props":210037,"children":210038},{},[210039],{"type":431,"value":46995},{"type":426,"tag":458,"props":210041,"children":210042},{},[210043],{"type":431,"value":210044},"Any HTTP client, terminal, or programming environment",{"type":426,"tag":434,"props":210046,"children":210048},{"id":210047},"step-1-create-your-rapiwa-account-1-minute",[210049],{"type":431,"value":210050},"Step 1: Create Your Rapiwa Account (1 minute)",{"type":426,"tag":6331,"props":210052,"children":210053},{},[210054,210063,210077,210081],{"type":426,"tag":458,"props":210055,"children":210056},{},[210057,210058],{"type":431,"value":47846},{"type":426,"tag":3819,"props":210059,"children":210061},{"href":3821,"rel":210060},[3823],[210062],{"type":431,"value":3826},{"type":426,"tag":458,"props":210064,"children":210065},{},[210066,210067,210071,210072],{"type":431,"value":47857},{"type":426,"tag":446,"props":210068,"children":210069},{},[210070],{"type":431,"value":176837},{"type":431,"value":77103},{"type":426,"tag":446,"props":210073,"children":210074},{},[210075],{"type":431,"value":210076},"Get Started",{"type":426,"tag":458,"props":210078,"children":210079},{},[210080],{"type":431,"value":176842},{"type":426,"tag":458,"props":210082,"children":210083},{},[210084],{"type":431,"value":210085},"Verify your email address",{"type":426,"tag":427,"props":210087,"children":210088},{},[210089],{"type":431,"value":210090},"Your account is live immediately — no waiting, no approval queue, no credit card required.",{"type":426,"tag":434,"props":210092,"children":210093},{"id":182842},[210094],{"type":431,"value":182845},{"type":426,"tag":427,"props":210096,"children":210097},{},[210098],{"type":431,"value":210099},"This step links your existing WhatsApp number to the Rapiwa API:",{"type":426,"tag":6331,"props":210101,"children":210102},{},[210103,210113,210128,210142],{"type":426,"tag":458,"props":210104,"children":210105},{},[210106,210108],{"type":431,"value":210107},"Log in to your Rapiwa dashboard at ",{"type":426,"tag":3819,"props":210109,"children":210111},{"href":10643,"rel":210110},[3823],[210112],{"type":431,"value":71426},{"type":426,"tag":458,"props":210114,"children":210115},{},[210116,210117,210121,210122,210126],{"type":431,"value":85750},{"type":426,"tag":446,"props":210118,"children":210119},{},[210120],{"type":431,"value":176880},{"type":431,"value":114029},{"type":426,"tag":446,"props":210123,"children":210124},{},[210125],{"type":431,"value":176886},{"type":431,"value":210127},") in the left sidebar",{"type":426,"tag":458,"props":210129,"children":210130},{},[210131,210132,210136,210137,210141],{"type":431,"value":47857},{"type":426,"tag":446,"props":210133,"children":210134},{},[210135],{"type":431,"value":176896},{"type":431,"value":114029},{"type":426,"tag":446,"props":210138,"children":210139},{},[210140],{"type":431,"value":176902},{"type":431,"value":5736},{"type":426,"tag":458,"props":210143,"children":210144},{},[210145],{"type":431,"value":210146},"A QR code will appear on your screen",{"type":426,"tag":427,"props":210148,"children":210149},{},[210150],{"type":426,"tag":446,"props":210151,"children":210152},{},[210153],{"type":431,"value":210154},"On your phone:",{"type":426,"tag":6331,"props":210156,"children":210157},{},[210158,210162,210172,210180,210188],{"type":426,"tag":458,"props":210159,"children":210160},{},[210161],{"type":431,"value":176944},{"type":426,"tag":458,"props":210163,"children":210164},{},[210165,210166,210170],{"type":431,"value":176949},{"type":426,"tag":446,"props":210167,"children":210168},{},[210169],{"type":431,"value":176954},{"type":431,"value":210171}," (iPhone) or the three-dot menu (Android)",{"type":426,"tag":458,"props":210173,"children":210174},{},[210175,210176],{"type":431,"value":176949},{"type":426,"tag":446,"props":210177,"children":210178},{},[210179],{"type":431,"value":176965},{"type":426,"tag":458,"props":210181,"children":210182},{},[210183,210184],{"type":431,"value":176949},{"type":426,"tag":446,"props":210185,"children":210186},{},[210187],{"type":431,"value":176974},{"type":426,"tag":458,"props":210189,"children":210190},{},[210191],{"type":431,"value":144216},{"type":426,"tag":427,"props":210193,"children":210194},{},[210195,210197,210201],{"type":431,"value":210196},"Your WhatsApp number is now connected. You will see it listed as ",{"type":426,"tag":446,"props":210198,"children":210199},{},[210200],{"type":431,"value":177105},{"type":431,"value":210202}," in the dashboard.",{"type":426,"tag":41290,"props":210204,"children":210205},{},[210206],{"type":426,"tag":427,"props":210207,"children":210208},{},[210209,210213],{"type":426,"tag":446,"props":210210,"children":210211},{},[210212],{"type":431,"value":41300},{"type":431,"value":210214},": Your phone does not need to stay on or connected to WiFi after the initial scan. Rapiwa maintains the WhatsApp session from its own servers.",{"type":426,"tag":434,"props":210216,"children":210217},{"id":182896},[210218],{"type":431,"value":182899},{"type":426,"tag":6331,"props":210220,"children":210221},{},[210222,210233,210247],{"type":426,"tag":458,"props":210223,"children":210224},{},[210225,210227,210232],{"type":431,"value":210226},"In your Rapiwa dashboard, go to ",{"type":426,"tag":446,"props":210228,"children":210229},{},[210230],{"type":431,"value":210231},"API Keys",{"type":431,"value":199157},{"type":426,"tag":458,"props":210234,"children":210235},{},[210236,210237,210241,210242],{"type":431,"value":47857},{"type":426,"tag":446,"props":210238,"children":210239},{},[210240],{"type":431,"value":182920},{"type":431,"value":77103},{"type":426,"tag":446,"props":210243,"children":210244},{},[210245],{"type":431,"value":210246},"Create New Key",{"type":426,"tag":458,"props":210248,"children":210249},{},[210250,210252],{"type":431,"value":210251},"Copy the key — it looks like: ",{"type":426,"tag":549,"props":210253,"children":210255},{"className":210254},[],[210256],{"type":431,"value":210257},"rk_live_abc123def456ghi789...",{"type":426,"tag":427,"props":210259,"children":210260},{},[210261],{"type":431,"value":210262},"Keep this key secure. Do not commit it to public repositories. Use environment variables in production code.",{"type":426,"tag":434,"props":210264,"children":210266},{"id":210265},"step-4-send-your-first-message-1-minute",[210267],{"type":431,"value":210268},"Step 4: Send Your First Message (1 minute)",{"type":426,"tag":427,"props":210270,"children":210271},{},[210272,210274,210279],{"type":431,"value":210273},"Open a terminal and run this cURL command (replace ",{"type":426,"tag":549,"props":210275,"children":210277},{"className":210276},[],[210278],{"type":431,"value":62505},{"type":431,"value":210280}," and the phone number):",{"type":426,"tag":542,"props":210282,"children":210284},{"className":546,"code":210283,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello! My Rapiwa API is working!\"\n  }'\n",[210285],{"type":426,"tag":549,"props":210286,"children":210287},{"__ignoreMap":417},[210288,210311,210326,210341,210352,210359,210367],{"type":426,"tag":553,"props":210289,"children":210290},{"class":555,"line":556},[210291,210295,210299,210303,210307],{"type":426,"tag":553,"props":210292,"children":210293},{"style":560},[210294],{"type":431,"value":563},{"type":426,"tag":553,"props":210296,"children":210297},{"style":566},[210298],{"type":431,"value":569},{"type":426,"tag":553,"props":210300,"children":210301},{"style":572},[210302],{"type":431,"value":575},{"type":426,"tag":553,"props":210304,"children":210305},{"style":572},[210306],{"type":431,"value":580},{"type":426,"tag":553,"props":210308,"children":210309},{"style":566},[210310],{"type":431,"value":585},{"type":426,"tag":553,"props":210312,"children":210313},{"class":555,"line":588},[210314,210318,210322],{"type":426,"tag":553,"props":210315,"children":210316},{"style":566},[210317],{"type":431,"value":594},{"type":426,"tag":553,"props":210319,"children":210320},{"style":572},[210321],{"type":431,"value":599},{"type":426,"tag":553,"props":210323,"children":210324},{"style":566},[210325],{"type":431,"value":585},{"type":426,"tag":553,"props":210327,"children":210328},{"class":555,"line":606},[210329,210333,210337],{"type":426,"tag":553,"props":210330,"children":210331},{"style":566},[210332],{"type":431,"value":594},{"type":426,"tag":553,"props":210334,"children":210335},{"style":572},[210336],{"type":431,"value":616},{"type":426,"tag":553,"props":210338,"children":210339},{"style":566},[210340],{"type":431,"value":585},{"type":426,"tag":553,"props":210342,"children":210343},{"class":555,"line":623},[210344,210348],{"type":426,"tag":553,"props":210345,"children":210346},{"style":566},[210347],{"type":431,"value":629},{"type":426,"tag":553,"props":210349,"children":210350},{"style":572},[210351],{"type":431,"value":634},{"type":426,"tag":553,"props":210353,"children":210354},{"class":555,"line":637},[210355],{"type":426,"tag":553,"props":210356,"children":210357},{"style":572},[210358],{"type":431,"value":643},{"type":426,"tag":553,"props":210360,"children":210361},{"class":555,"line":646},[210362],{"type":426,"tag":553,"props":210363,"children":210364},{"style":572},[210365],{"type":431,"value":210366},"    \"message\": \"Hello! My Rapiwa API is working!\"\n",{"type":426,"tag":553,"props":210368,"children":210369},{"class":555,"line":655},[210370],{"type":426,"tag":553,"props":210371,"children":210372},{"style":572},[210373],{"type":431,"value":661},{"type":426,"tag":427,"props":210375,"children":210376},{},[210377,210381,210383,210388],{"type":426,"tag":446,"props":210378,"children":210379},{},[210380],{"type":431,"value":139328},{"type":431,"value":210382},": Use international format without the ",{"type":426,"tag":549,"props":210384,"children":210386},{"className":210385},[],[210387],{"type":431,"value":2033},{"type":431,"value":210389}," sign:",{"type":426,"tag":454,"props":210391,"children":210392},{},[210393,210405,210417,210429],{"type":426,"tag":458,"props":210394,"children":210395},{},[210396,210398,210403],{"type":431,"value":210397},"Bangladesh: ",{"type":426,"tag":549,"props":210399,"children":210401},{"className":210400},[],[210402],{"type":431,"value":7237},{"type":431,"value":210404}," (88 = country code)",{"type":426,"tag":458,"props":210406,"children":210407},{},[210408,210410,210415],{"type":431,"value":210409},"USA: ",{"type":426,"tag":549,"props":210411,"children":210413},{"className":210412},[],[210414],{"type":431,"value":174854},{"type":431,"value":210416}," (1 = country code)",{"type":426,"tag":458,"props":210418,"children":210419},{},[210420,210422,210427],{"type":431,"value":210421},"UK: ",{"type":426,"tag":549,"props":210423,"children":210425},{"className":210424},[],[210426],{"type":431,"value":127028},{"type":431,"value":210428}," (44 = country code)",{"type":426,"tag":458,"props":210430,"children":210431},{},[210432,210434,210439],{"type":431,"value":210433},"India: ",{"type":426,"tag":549,"props":210435,"children":210437},{"className":210436},[],[210438],{"type":431,"value":6787},{"type":431,"value":210440}," (91 = country code)",{"type":426,"tag":427,"props":210442,"children":210443},{},[210444],{"type":431,"value":210445},"If the setup worked, you will receive this response:",{"type":426,"tag":542,"props":210447,"children":210449},{"className":674,"code":210448,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123xyz\",\n  \"timestamp\": \"2026-04-05T10:00:00Z\"\n}\n",[210450],{"type":426,"tag":549,"props":210451,"children":210452},{"__ignoreMap":417},[210453,210460,210479,210498,210514],{"type":426,"tag":553,"props":210454,"children":210455},{"class":555,"line":556},[210456],{"type":426,"tag":553,"props":210457,"children":210458},{"style":684},[210459],{"type":431,"value":687},{"type":426,"tag":553,"props":210461,"children":210462},{"class":555,"line":588},[210463,210467,210471,210475],{"type":426,"tag":553,"props":210464,"children":210465},{"style":566},[210466],{"type":431,"value":695},{"type":426,"tag":553,"props":210468,"children":210469},{"style":684},[210470],{"type":431,"value":700},{"type":426,"tag":553,"props":210472,"children":210473},{"style":572},[210474],{"type":431,"value":705},{"type":426,"tag":553,"props":210476,"children":210477},{"style":684},[210478],{"type":431,"value":710},{"type":426,"tag":553,"props":210480,"children":210481},{"class":555,"line":606},[210482,210486,210490,210494],{"type":426,"tag":553,"props":210483,"children":210484},{"style":566},[210485],{"type":431,"value":718},{"type":426,"tag":553,"props":210487,"children":210488},{"style":684},[210489],{"type":431,"value":700},{"type":426,"tag":553,"props":210491,"children":210492},{"style":572},[210493],{"type":431,"value":144623},{"type":426,"tag":553,"props":210495,"children":210496},{"style":684},[210497],{"type":431,"value":710},{"type":426,"tag":553,"props":210499,"children":210500},{"class":555,"line":623},[210501,210505,210509],{"type":426,"tag":553,"props":210502,"children":210503},{"style":566},[210504],{"type":431,"value":739},{"type":426,"tag":553,"props":210506,"children":210507},{"style":684},[210508],{"type":431,"value":700},{"type":426,"tag":553,"props":210510,"children":210511},{"style":572},[210512],{"type":431,"value":210513},"\"2026-04-05T10:00:00Z\"\n",{"type":426,"tag":553,"props":210515,"children":210516},{"class":555,"line":637},[210517],{"type":426,"tag":553,"props":210518,"children":210519},{"style":684},[210520],{"type":431,"value":756},{"type":426,"tag":427,"props":210522,"children":210523},{},[210524],{"type":431,"value":210525},"Check your WhatsApp — the message should arrive within a few seconds.",{"type":426,"tag":434,"props":210527,"children":210529},{"id":210528},"quick-start-in-your-language",[210530],{"type":431,"value":210531},"Quick Start in Your Language",{"type":426,"tag":515,"props":210533,"children":210535},{"id":210534},"python-3-lines",[210536],{"type":431,"value":210537},"Python (3 lines)",{"type":426,"tag":542,"props":210539,"children":210541},{"className":785,"code":210540,"language":784,"meta":417,"style":417},"import requests\n\nrequests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n    json={\"number\": \"8801234567890\", \"message\": \"Hello from Python!\"})\n",[210542],{"type":426,"tag":549,"props":210543,"children":210544},{"__ignoreMap":417},[210545,210556,210563,210578,210609],{"type":426,"tag":553,"props":210546,"children":210547},{"class":555,"line":556},[210548,210552],{"type":426,"tag":553,"props":210549,"children":210550},{"style":795},[210551],{"type":431,"value":798},{"type":426,"tag":553,"props":210553,"children":210554},{"style":684},[210555],{"type":431,"value":803},{"type":426,"tag":553,"props":210557,"children":210558},{"class":555,"line":588},[210559],{"type":426,"tag":553,"props":210560,"children":210561},{"emptyLinePlaceholder":831},[210562],{"type":431,"value":834},{"type":426,"tag":553,"props":210564,"children":210565},{"class":555,"line":606},[210566,210570,210574],{"type":426,"tag":553,"props":210567,"children":210568},{"style":684},[210569],{"type":431,"value":140701},{"type":426,"tag":553,"props":210571,"children":210572},{"style":572},[210573],{"type":431,"value":60449},{"type":426,"tag":553,"props":210575,"children":210576},{"style":684},[210577],{"type":431,"value":710},{"type":426,"tag":553,"props":210579,"children":210580},{"class":555,"line":623},[210581,210585,210589,210593,210597,210601,210605],{"type":426,"tag":553,"props":210582,"children":210583},{"style":1684},[210584],{"type":431,"value":139200},{"type":426,"tag":553,"props":210586,"children":210587},{"style":795},[210588],{"type":431,"value":957},{"type":426,"tag":553,"props":210590,"children":210591},{"style":684},[210592],{"type":431,"value":972},{"type":426,"tag":553,"props":210594,"children":210595},{"style":572},[210596],{"type":431,"value":45214},{"type":426,"tag":553,"props":210598,"children":210599},{"style":684},[210600],{"type":431,"value":700},{"type":426,"tag":553,"props":210602,"children":210603},{"style":572},[210604],{"type":431,"value":140737},{"type":426,"tag":553,"props":210606,"children":210607},{"style":684},[210608],{"type":431,"value":1737},{"type":426,"tag":553,"props":210610,"children":210611},{"class":555,"line":637},[210612,210616,210620,210624,210628,210632,210636,210640,210644,210648,210652],{"type":426,"tag":553,"props":210613,"children":210614},{"style":1684},[210615],{"type":431,"value":139245},{"type":426,"tag":553,"props":210617,"children":210618},{"style":795},[210619],{"type":431,"value":957},{"type":426,"tag":553,"props":210621,"children":210622},{"style":684},[210623],{"type":431,"value":972},{"type":426,"tag":553,"props":210625,"children":210626},{"style":572},[210627],{"type":431,"value":45266},{"type":426,"tag":553,"props":210629,"children":210630},{"style":684},[210631],{"type":431,"value":700},{"type":426,"tag":553,"props":210633,"children":210634},{"style":572},[210635],{"type":431,"value":7286},{"type":426,"tag":553,"props":210637,"children":210638},{"style":684},[210639],{"type":431,"value":1907},{"type":426,"tag":553,"props":210641,"children":210642},{"style":572},[210643],{"type":431,"value":45275},{"type":426,"tag":553,"props":210645,"children":210646},{"style":684},[210647],{"type":431,"value":700},{"type":426,"tag":553,"props":210649,"children":210650},{"style":572},[210651],{"type":431,"value":139282},{"type":426,"tag":553,"props":210653,"children":210654},{"style":684},[210655],{"type":431,"value":8144},{"type":426,"tag":515,"props":210657,"children":210659},{"id":210658},"nodejs-4-lines",[210660],{"type":431,"value":210661},"Node.js (4 lines)",{"type":426,"tag":542,"props":210663,"children":210665},{"className":52113,"code":210664,"language":52115,"meta":417,"style":417},"await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n  method: \"POST\",\n  headers: { \"Authorization\": \"Bearer YOUR_API_KEY\", \"Content-Type\": \"application\u002Fjson\" },\n  body: JSON.stringify({ number: \"8801234567890\", message: \"Hello from Node.js!\" })\n});\n",[210666],{"type":426,"tag":549,"props":210667,"children":210668},{"__ignoreMap":417},[210669,210692,210707,210746,210786],{"type":426,"tag":553,"props":210670,"children":210671},{"class":555,"line":556},[210672,210676,210680,210684,210688],{"type":426,"tag":553,"props":210673,"children":210674},{"style":795},[210675],{"type":431,"value":79424},{"type":426,"tag":553,"props":210677,"children":210678},{"style":560},[210679],{"type":431,"value":52226},{"type":426,"tag":553,"props":210681,"children":210682},{"style":684},[210683],{"type":431,"value":3275},{"type":426,"tag":553,"props":210685,"children":210686},{"style":572},[210687],{"type":431,"value":60449},{"type":426,"tag":553,"props":210689,"children":210690},{"style":684},[210691],{"type":431,"value":53088},{"type":426,"tag":553,"props":210693,"children":210694},{"class":555,"line":588},[210695,210699,210703],{"type":426,"tag":553,"props":210696,"children":210697},{"style":684},[210698],{"type":431,"value":55814},{"type":426,"tag":553,"props":210700,"children":210701},{"style":572},[210702],{"type":431,"value":60428},{"type":426,"tag":553,"props":210704,"children":210705},{"style":684},[210706],{"type":431,"value":710},{"type":426,"tag":553,"props":210708,"children":210709},{"class":555,"line":606},[210710,210714,210718,210722,210726,210730,210734,210738,210742],{"type":426,"tag":553,"props":210711,"children":210712},{"style":684},[210713],{"type":431,"value":135263},{"type":426,"tag":553,"props":210715,"children":210716},{"style":572},[210717],{"type":431,"value":45214},{"type":426,"tag":553,"props":210719,"children":210720},{"style":684},[210721],{"type":431,"value":700},{"type":426,"tag":553,"props":210723,"children":210724},{"style":572},[210725],{"type":431,"value":140737},{"type":426,"tag":553,"props":210727,"children":210728},{"style":684},[210729],{"type":431,"value":1907},{"type":426,"tag":553,"props":210731,"children":210732},{"style":572},[210733],{"type":431,"value":67578},{"type":426,"tag":553,"props":210735,"children":210736},{"style":684},[210737],{"type":431,"value":700},{"type":426,"tag":553,"props":210739,"children":210740},{"style":572},[210741],{"type":431,"value":67587},{"type":426,"tag":553,"props":210743,"children":210744},{"style":684},[210745],{"type":431,"value":136779},{"type":426,"tag":553,"props":210747,"children":210748},{"class":555,"line":623},[210749,210753,210757,210761,210765,210769,210773,210777,210782],{"type":426,"tag":553,"props":210750,"children":210751},{"style":684},[210752],{"type":431,"value":55891},{"type":426,"tag":553,"props":210754,"children":210755},{"style":566},[210756],{"type":431,"value":53178},{"type":426,"tag":553,"props":210758,"children":210759},{"style":684},[210760],{"type":431,"value":6789},{"type":426,"tag":553,"props":210762,"children":210763},{"style":560},[210764],{"type":431,"value":53187},{"type":426,"tag":553,"props":210766,"children":210767},{"style":684},[210768],{"type":431,"value":148098},{"type":426,"tag":553,"props":210770,"children":210771},{"style":572},[210772],{"type":431,"value":7286},{"type":426,"tag":553,"props":210774,"children":210775},{"style":684},[210776],{"type":431,"value":8713},{"type":426,"tag":553,"props":210778,"children":210779},{"style":572},[210780],{"type":431,"value":210781},"\"Hello from Node.js!\"",{"type":426,"tag":553,"props":210783,"children":210784},{"style":684},[210785],{"type":431,"value":148116},{"type":426,"tag":553,"props":210787,"children":210788},{"class":555,"line":637},[210789],{"type":426,"tag":553,"props":210790,"children":210791},{"style":684},[210792],{"type":431,"value":55916},{"type":426,"tag":515,"props":210794,"children":210796},{"id":210795},"php-5-lines",[210797],{"type":431,"value":210798},"PHP (5 lines)",{"type":426,"tag":542,"props":210800,"children":210802},{"className":79948,"code":210801,"language":79950,"meta":417,"style":417},"\u003C?php\n$ch = curl_init(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\");\ncurl_setopt_array($ch, [\n    CURLOPT_POST => true,\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_HTTPHEADER => [\"Authorization: Bearer YOUR_API_KEY\", \"Content-Type: application\u002Fjson\"],\n    CURLOPT_POSTFIELDS => json_encode([\"number\" => \"8801234567890\", \"message\" => \"Hello from PHP!\"])\n]);\necho curl_exec($ch);\n",[210803],{"type":426,"tag":549,"props":210804,"children":210805},{"__ignoreMap":417},[210806,210817,210845,210857,210877,210897,210931,210984,210991],{"type":426,"tag":553,"props":210807,"children":210808},{"class":555,"line":556},[210809,210813],{"type":426,"tag":553,"props":210810,"children":210811},{"style":795},[210812],{"type":431,"value":86379},{"type":426,"tag":553,"props":210814,"children":210815},{"style":566},[210816],{"type":431,"value":86384},{"type":426,"tag":553,"props":210818,"children":210819},{"class":555,"line":588},[210820,210825,210829,210833,210837,210841],{"type":426,"tag":553,"props":210821,"children":210822},{"style":684},[210823],{"type":431,"value":210824},"$ch ",{"type":426,"tag":553,"props":210826,"children":210827},{"style":795},[210828],{"type":431,"value":957},{"type":426,"tag":553,"props":210830,"children":210831},{"style":566},[210832],{"type":431,"value":80049},{"type":426,"tag":553,"props":210834,"children":210835},{"style":684},[210836],{"type":431,"value":3275},{"type":426,"tag":553,"props":210838,"children":210839},{"style":572},[210840],{"type":431,"value":60449},{"type":426,"tag":553,"props":210842,"children":210843},{"style":684},[210844],{"type":431,"value":11379},{"type":426,"tag":553,"props":210846,"children":210847},{"class":555,"line":606},[210848,210853],{"type":426,"tag":553,"props":210849,"children":210850},{"style":566},[210851],{"type":431,"value":210852},"curl_setopt_array",{"type":426,"tag":553,"props":210854,"children":210855},{"style":684},[210856],{"type":431,"value":80075},{"type":426,"tag":553,"props":210858,"children":210859},{"class":555,"line":623},[210860,210865,210869,210873],{"type":426,"tag":553,"props":210861,"children":210862},{"style":566},[210863],{"type":431,"value":210864},"    CURLOPT_POST",{"type":426,"tag":553,"props":210866,"children":210867},{"style":795},[210868],{"type":431,"value":53709},{"type":426,"tag":553,"props":210870,"children":210871},{"style":566},[210872],{"type":431,"value":80092},{"type":426,"tag":553,"props":210874,"children":210875},{"style":684},[210876],{"type":431,"value":710},{"type":426,"tag":553,"props":210878,"children":210879},{"class":555,"line":637},[210880,210885,210889,210893],{"type":426,"tag":553,"props":210881,"children":210882},{"style":566},[210883],{"type":431,"value":210884},"    CURLOPT_RETURNTRANSFER",{"type":426,"tag":553,"props":210886,"children":210887},{"style":795},[210888],{"type":431,"value":53709},{"type":426,"tag":553,"props":210890,"children":210891},{"style":566},[210892],{"type":431,"value":80092},{"type":426,"tag":553,"props":210894,"children":210895},{"style":684},[210896],{"type":431,"value":710},{"type":426,"tag":553,"props":210898,"children":210899},{"class":555,"line":646},[210900,210905,210909,210913,210918,210922,210927],{"type":426,"tag":553,"props":210901,"children":210902},{"style":566},[210903],{"type":431,"value":210904},"    CURLOPT_HTTPHEADER",{"type":426,"tag":553,"props":210906,"children":210907},{"style":795},[210908],{"type":431,"value":53709},{"type":426,"tag":553,"props":210910,"children":210911},{"style":684},[210912],{"type":431,"value":1897},{"type":426,"tag":553,"props":210914,"children":210915},{"style":572},[210916],{"type":431,"value":210917},"\"Authorization: Bearer YOUR_API_KEY\"",{"type":426,"tag":553,"props":210919,"children":210920},{"style":684},[210921],{"type":431,"value":1907},{"type":426,"tag":553,"props":210923,"children":210924},{"style":572},[210925],{"type":431,"value":210926},"\"Content-Type: application\u002Fjson\"",{"type":426,"tag":553,"props":210928,"children":210929},{"style":684},[210930],{"type":431,"value":12804},{"type":426,"tag":553,"props":210932,"children":210933},{"class":555,"line":655},[210934,210939,210943,210947,210951,210955,210959,210963,210967,210971,210975,210980],{"type":426,"tag":553,"props":210935,"children":210936},{"style":566},[210937],{"type":431,"value":210938},"    CURLOPT_POSTFIELDS",{"type":426,"tag":553,"props":210940,"children":210941},{"style":795},[210942],{"type":431,"value":53709},{"type":426,"tag":553,"props":210944,"children":210945},{"style":566},[210946],{"type":431,"value":80178},{"type":426,"tag":553,"props":210948,"children":210949},{"style":684},[210950],{"type":431,"value":74656},{"type":426,"tag":553,"props":210952,"children":210953},{"style":572},[210954],{"type":431,"value":45266},{"type":426,"tag":553,"props":210956,"children":210957},{"style":795},[210958],{"type":431,"value":53709},{"type":426,"tag":553,"props":210960,"children":210961},{"style":572},[210962],{"type":431,"value":171085},{"type":426,"tag":553,"props":210964,"children":210965},{"style":684},[210966],{"type":431,"value":1907},{"type":426,"tag":553,"props":210968,"children":210969},{"style":572},[210970],{"type":431,"value":45275},{"type":426,"tag":553,"props":210972,"children":210973},{"style":795},[210974],{"type":431,"value":53709},{"type":426,"tag":553,"props":210976,"children":210977},{"style":572},[210978],{"type":431,"value":210979}," \"Hello from PHP!\"",{"type":426,"tag":553,"props":210981,"children":210982},{"style":684},[210983],{"type":431,"value":8061},{"type":426,"tag":553,"props":210985,"children":210986},{"class":555,"line":1036},[210987],{"type":426,"tag":553,"props":210988,"children":210989},{"style":684},[210990],{"type":431,"value":95072},{"type":426,"tag":553,"props":210992,"children":210993},{"class":555,"line":1054},[210994,210998,211002],{"type":426,"tag":553,"props":210995,"children":210996},{"style":566},[210997],{"type":431,"value":88705},{"type":426,"tag":553,"props":210999,"children":211000},{"style":566},[211001],{"type":431,"value":86701},{"type":426,"tag":553,"props":211003,"children":211004},{"style":684},[211005],{"type":431,"value":80315},{"type":426,"tag":434,"props":211007,"children":211009},{"id":211008},"step-5-set-up-your-webhook-optional-for-receiving-messages",[211010],{"type":431,"value":211011},"Step 5: Set Up Your Webhook (Optional — for receiving messages)",{"type":426,"tag":427,"props":211013,"children":211014},{},[211015],{"type":431,"value":211016},"To receive incoming WhatsApp messages in your application:",{"type":426,"tag":6331,"props":211018,"children":211019},{},[211020,211033,211045],{"type":426,"tag":458,"props":211021,"children":211022},{},[211023,211024,211028,211029],{"type":431,"value":210226},{"type":426,"tag":446,"props":211025,"children":211026},{},[211027],{"type":431,"value":102926},{"type":431,"value":5710},{"type":426,"tag":446,"props":211030,"children":211031},{},[211032],{"type":431,"value":85764},{"type":426,"tag":458,"props":211034,"children":211035},{},[211036,211038,211044],{"type":431,"value":211037},"Enter your server URL (e.g. ",{"type":426,"tag":549,"props":211039,"children":211041},{"className":211040},[],[211042],{"type":431,"value":211043},"https:\u002F\u002Fyourdomain.com\u002Fwebhook\u002Fwhatsapp",{"type":431,"value":5736},{"type":426,"tag":458,"props":211046,"children":211047},{},[211048,211049],{"type":431,"value":47857},{"type":426,"tag":446,"props":211050,"children":211051},{},[211052],{"type":431,"value":66022},{"type":426,"tag":427,"props":211054,"children":211055},{},[211056],{"type":431,"value":211057},"Now when anyone sends a message to your WhatsApp number, Rapiwa will POST the message data to your URL:",{"type":426,"tag":542,"props":211059,"children":211061},{"className":674,"code":211060,"language":673,"meta":417,"style":417},"{\n  \"event\": \"message.received\",\n  \"from\": \"8801234567890\",\n  \"message\": \"Hi, I need help with my order\",\n  \"timestamp\": \"2026-04-05T10:05:00Z\",\n  \"messageId\": \"incoming_abc123\"\n}\n",[211062],{"type":426,"tag":549,"props":211063,"children":211064},{"__ignoreMap":417},[211065,211072,211091,211110,211129,211149,211165],{"type":426,"tag":553,"props":211066,"children":211067},{"class":555,"line":556},[211068],{"type":426,"tag":553,"props":211069,"children":211070},{"style":684},[211071],{"type":431,"value":687},{"type":426,"tag":553,"props":211073,"children":211074},{"class":555,"line":588},[211075,211079,211083,211087],{"type":426,"tag":553,"props":211076,"children":211077},{"style":566},[211078],{"type":431,"value":81627},{"type":426,"tag":553,"props":211080,"children":211081},{"style":684},[211082],{"type":431,"value":700},{"type":426,"tag":553,"props":211084,"children":211085},{"style":572},[211086],{"type":431,"value":81636},{"type":426,"tag":553,"props":211088,"children":211089},{"style":684},[211090],{"type":431,"value":710},{"type":426,"tag":553,"props":211092,"children":211093},{"class":555,"line":606},[211094,211098,211102,211106],{"type":426,"tag":553,"props":211095,"children":211096},{"style":566},[211097],{"type":431,"value":146564},{"type":426,"tag":553,"props":211099,"children":211100},{"style":684},[211101],{"type":431,"value":700},{"type":426,"tag":553,"props":211103,"children":211104},{"style":572},[211105],{"type":431,"value":7286},{"type":426,"tag":553,"props":211107,"children":211108},{"style":684},[211109],{"type":431,"value":710},{"type":426,"tag":553,"props":211111,"children":211112},{"class":555,"line":623},[211113,211117,211121,211125],{"type":426,"tag":553,"props":211114,"children":211115},{"style":566},[211116],{"type":431,"value":7298},{"type":426,"tag":553,"props":211118,"children":211119},{"style":684},[211120],{"type":431,"value":700},{"type":426,"tag":553,"props":211122,"children":211123},{"style":572},[211124],{"type":431,"value":146613},{"type":426,"tag":553,"props":211126,"children":211127},{"style":684},[211128],{"type":431,"value":710},{"type":426,"tag":553,"props":211130,"children":211131},{"class":555,"line":637},[211132,211136,211140,211145],{"type":426,"tag":553,"props":211133,"children":211134},{"style":566},[211135],{"type":431,"value":739},{"type":426,"tag":553,"props":211137,"children":211138},{"style":684},[211139],{"type":431,"value":700},{"type":426,"tag":553,"props":211141,"children":211142},{"style":572},[211143],{"type":431,"value":211144},"\"2026-04-05T10:05:00Z\"",{"type":426,"tag":553,"props":211146,"children":211147},{"style":684},[211148],{"type":431,"value":710},{"type":426,"tag":553,"props":211150,"children":211151},{"class":555,"line":646},[211152,211156,211160],{"type":426,"tag":553,"props":211153,"children":211154},{"style":566},[211155],{"type":431,"value":718},{"type":426,"tag":553,"props":211157,"children":211158},{"style":684},[211159],{"type":431,"value":700},{"type":426,"tag":553,"props":211161,"children":211162},{"style":572},[211163],{"type":431,"value":211164},"\"incoming_abc123\"\n",{"type":426,"tag":553,"props":211166,"children":211167},{"class":555,"line":655},[211168],{"type":426,"tag":553,"props":211169,"children":211170},{"style":684},[211171],{"type":431,"value":756},{"type":426,"tag":427,"props":211173,"children":211174},{},[211175],{"type":426,"tag":446,"props":211176,"children":211177},{},[211178],{"type":431,"value":211179},"Simple webhook handler in Python (Flask):",{"type":426,"tag":542,"props":211181,"children":211183},{"className":785,"code":211182,"language":784,"meta":417,"style":417},"from flask import Flask, request, jsonify\nimport requests\n\napp = Flask(__name__)\nAPI_KEY = \"YOUR_API_KEY\"\n\n@app.route(\"\u002Fwebhook\u002Fwhatsapp\", methods=[\"POST\"])\ndef whatsapp_webhook():\n    data = request.json\n    sender = data[\"from\"]\n    message = data[\"message\"]\n    \n    # Auto-reply\n    reply = f\"Thanks for your message! We received: '{message}'\"\n    requests.post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n        json={\"number\": sender, \"message\": reply}\n    )\n    \n    return jsonify({\"status\": \"ok\"})\n\nif __name__ == \"__main__\":\n    app.run(port=5000)\n",[211184],{"type":426,"tag":549,"props":211185,"children":211186},{"__ignoreMap":417},[211187,211206,211217,211224,211247,211262,211269,211308,211323,211338,211361,211384,211391,211399,211436,211451,211494,211525,211532,211539,211566,211573,211596],{"type":426,"tag":553,"props":211188,"children":211189},{"class":555,"line":556},[211190,211194,211198,211202],{"type":426,"tag":553,"props":211191,"children":211192},{"style":795},[211193],{"type":431,"value":811},{"type":426,"tag":553,"props":211195,"children":211196},{"style":684},[211197],{"type":431,"value":13265},{"type":426,"tag":553,"props":211199,"children":211200},{"style":795},[211201],{"type":431,"value":798},{"type":426,"tag":553,"props":211203,"children":211204},{"style":684},[211205],{"type":431,"value":19220},{"type":426,"tag":553,"props":211207,"children":211208},{"class":555,"line":588},[211209,211213],{"type":426,"tag":553,"props":211210,"children":211211},{"style":795},[211212],{"type":431,"value":798},{"type":426,"tag":553,"props":211214,"children":211215},{"style":684},[211216],{"type":431,"value":803},{"type":426,"tag":553,"props":211218,"children":211219},{"class":555,"line":606},[211220],{"type":426,"tag":553,"props":211221,"children":211222},{"emptyLinePlaceholder":831},[211223],{"type":431,"value":834},{"type":426,"tag":553,"props":211225,"children":211226},{"class":555,"line":623},[211227,211231,211235,211239,211243],{"type":426,"tag":553,"props":211228,"children":211229},{"style":684},[211230],{"type":431,"value":13301},{"type":426,"tag":553,"props":211232,"children":211233},{"style":795},[211234],{"type":431,"value":957},{"type":426,"tag":553,"props":211236,"children":211237},{"style":684},[211238],{"type":431,"value":13310},{"type":426,"tag":553,"props":211240,"children":211241},{"style":566},[211242],{"type":431,"value":13315},{"type":426,"tag":553,"props":211244,"children":211245},{"style":684},[211246],{"type":431,"value":3262},{"type":426,"tag":553,"props":211248,"children":211249},{"class":555,"line":637},[211250,211254,211258],{"type":426,"tag":553,"props":211251,"children":211252},{"style":566},[211253],{"type":431,"value":133819},{"type":426,"tag":553,"props":211255,"children":211256},{"style":795},[211257],{"type":431,"value":8739},{"type":426,"tag":553,"props":211259,"children":211260},{"style":572},[211261],{"type":431,"value":40863},{"type":426,"tag":553,"props":211263,"children":211264},{"class":555,"line":646},[211265],{"type":426,"tag":553,"props":211266,"children":211267},{"emptyLinePlaceholder":831},[211268],{"type":431,"value":834},{"type":426,"tag":553,"props":211270,"children":211271},{"class":555,"line":655},[211272,211276,211280,211284,211288,211292,211296,211300,211304],{"type":426,"tag":553,"props":211273,"children":211274},{"style":560},[211275],{"type":431,"value":8024},{"type":426,"tag":553,"props":211277,"children":211278},{"style":684},[211279],{"type":431,"value":3275},{"type":426,"tag":553,"props":211281,"children":211282},{"style":572},[211283],{"type":431,"value":128591},{"type":426,"tag":553,"props":211285,"children":211286},{"style":684},[211287],{"type":431,"value":1907},{"type":426,"tag":553,"props":211289,"children":211290},{"style":1684},[211291],{"type":431,"value":8042},{"type":426,"tag":553,"props":211293,"children":211294},{"style":795},[211295],{"type":431,"value":957},{"type":426,"tag":553,"props":211297,"children":211298},{"style":684},[211299],{"type":431,"value":8051},{"type":426,"tag":553,"props":211301,"children":211302},{"style":572},[211303],{"type":431,"value":60428},{"type":426,"tag":553,"props":211305,"children":211306},{"style":684},[211307],{"type":431,"value":8061},{"type":426,"tag":553,"props":211309,"children":211310},{"class":555,"line":1036},[211311,211315,211319],{"type":426,"tag":553,"props":211312,"children":211313},{"style":795},[211314],{"type":431,"value":842},{"type":426,"tag":553,"props":211316,"children":211317},{"style":560},[211318],{"type":431,"value":128627},{"type":426,"tag":553,"props":211320,"children":211321},{"style":684},[211322],{"type":431,"value":6433},{"type":426,"tag":553,"props":211324,"children":211325},{"class":555,"line":1054},[211326,211330,211334],{"type":426,"tag":553,"props":211327,"children":211328},{"style":684},[211329],{"type":431,"value":13733},{"type":426,"tag":553,"props":211331,"children":211332},{"style":795},[211333],{"type":431,"value":957},{"type":426,"tag":553,"props":211335,"children":211336},{"style":684},[211337],{"type":431,"value":98209},{"type":426,"tag":553,"props":211339,"children":211340},{"class":555,"line":1080},[211341,211345,211349,211353,211357],{"type":426,"tag":553,"props":211342,"children":211343},{"style":684},[211344],{"type":431,"value":197380},{"type":426,"tag":553,"props":211346,"children":211347},{"style":795},[211348],{"type":431,"value":957},{"type":426,"tag":553,"props":211350,"children":211351},{"style":684},[211352],{"type":431,"value":20293},{"type":426,"tag":553,"props":211354,"children":211355},{"style":572},[211356],{"type":431,"value":76544},{"type":426,"tag":553,"props":211358,"children":211359},{"style":684},[211360],{"type":431,"value":16523},{"type":426,"tag":553,"props":211362,"children":211363},{"class":555,"line":1097},[211364,211368,211372,211376,211380],{"type":426,"tag":553,"props":211365,"children":211366},{"style":684},[211367],{"type":431,"value":1198},{"type":426,"tag":553,"props":211369,"children":211370},{"style":795},[211371],{"type":431,"value":957},{"type":426,"tag":553,"props":211373,"children":211374},{"style":684},[211375],{"type":431,"value":20293},{"type":426,"tag":553,"props":211377,"children":211378},{"style":572},[211379],{"type":431,"value":45275},{"type":426,"tag":553,"props":211381,"children":211382},{"style":684},[211383],{"type":431,"value":16523},{"type":426,"tag":553,"props":211385,"children":211386},{"class":555,"line":1114},[211387],{"type":426,"tag":553,"props":211388,"children":211389},{"style":684},[211390],{"type":431,"value":917},{"type":426,"tag":553,"props":211392,"children":211393},{"class":555,"line":1127},[211394],{"type":426,"tag":553,"props":211395,"children":211396},{"style":1975},[211397],{"type":431,"value":211398},"    # Auto-reply\n",{"type":426,"tag":553,"props":211400,"children":211401},{"class":555,"line":1167},[211402,211406,211410,211414,211419,211423,211427,211431],{"type":426,"tag":553,"props":211403,"children":211404},{"style":684},[211405],{"type":431,"value":83998},{"type":426,"tag":553,"props":211407,"children":211408},{"style":795},[211409],{"type":431,"value":957},{"type":426,"tag":553,"props":211411,"children":211412},{"style":795},[211413],{"type":431,"value":962},{"type":426,"tag":553,"props":211415,"children":211416},{"style":572},[211417],{"type":431,"value":211418},"\"Thanks for your message! We received: '",{"type":426,"tag":553,"props":211420,"children":211421},{"style":566},[211422],{"type":431,"value":972},{"type":426,"tag":553,"props":211424,"children":211425},{"style":684},[211426],{"type":431,"value":2734},{"type":426,"tag":553,"props":211428,"children":211429},{"style":566},[211430],{"type":431,"value":982},{"type":426,"tag":553,"props":211432,"children":211433},{"style":572},[211434],{"type":431,"value":211435},"'\"\n",{"type":426,"tag":553,"props":211437,"children":211438},{"class":555,"line":1184},[211439,211443,211447],{"type":426,"tag":553,"props":211440,"children":211441},{"style":684},[211442],{"type":431,"value":129222},{"type":426,"tag":553,"props":211444,"children":211445},{"style":572},[211446],{"type":431,"value":60449},{"type":426,"tag":553,"props":211448,"children":211449},{"style":684},[211450],{"type":431,"value":710},{"type":426,"tag":553,"props":211452,"children":211453},{"class":555,"line":1192},[211454,211458,211462,211466,211470,211474,211478,211482,211486,211490],{"type":426,"tag":553,"props":211455,"children":211456},{"style":1684},[211457],{"type":431,"value":1687},{"type":426,"tag":553,"props":211459,"children":211460},{"style":795},[211461],{"type":431,"value":957},{"type":426,"tag":553,"props":211463,"children":211464},{"style":684},[211465],{"type":431,"value":972},{"type":426,"tag":553,"props":211467,"children":211468},{"style":572},[211469],{"type":431,"value":45214},{"type":426,"tag":553,"props":211471,"children":211472},{"style":684},[211473],{"type":431,"value":700},{"type":426,"tag":553,"props":211475,"children":211476},{"style":795},[211477],{"type":431,"value":1709},{"type":426,"tag":553,"props":211479,"children":211480},{"style":572},[211481],{"type":431,"value":12608},{"type":426,"tag":553,"props":211483,"children":211484},{"style":566},[211485],{"type":431,"value":139229},{"type":426,"tag":553,"props":211487,"children":211488},{"style":572},[211489],{"type":431,"value":1527},{"type":426,"tag":553,"props":211491,"children":211492},{"style":684},[211493],{"type":431,"value":1737},{"type":426,"tag":553,"props":211495,"children":211496},{"class":555,"line":1210},[211497,211501,211505,211509,211513,211517,211521],{"type":426,"tag":553,"props":211498,"children":211499},{"style":1684},[211500],{"type":431,"value":1746},{"type":426,"tag":553,"props":211502,"children":211503},{"style":795},[211504],{"type":431,"value":957},{"type":426,"tag":553,"props":211506,"children":211507},{"style":684},[211508],{"type":431,"value":972},{"type":426,"tag":553,"props":211510,"children":211511},{"style":572},[211512],{"type":431,"value":45266},{"type":426,"tag":553,"props":211514,"children":211515},{"style":684},[211516],{"type":431,"value":197683},{"type":426,"tag":553,"props":211518,"children":211519},{"style":572},[211520],{"type":431,"value":45275},{"type":426,"tag":553,"props":211522,"children":211523},{"style":684},[211524],{"type":431,"value":34864},{"type":426,"tag":553,"props":211526,"children":211527},{"class":555,"line":1253},[211528],{"type":426,"tag":553,"props":211529,"children":211530},{"style":684},[211531],{"type":431,"value":1642},{"type":426,"tag":553,"props":211533,"children":211534},{"class":555,"line":1302},[211535],{"type":426,"tag":553,"props":211536,"children":211537},{"style":684},[211538],{"type":431,"value":917},{"type":426,"tag":553,"props":211540,"children":211541},{"class":555,"line":1374},[211542,211546,211550,211554,211558,211562],{"type":426,"tag":553,"props":211543,"children":211544},{"style":795},[211545],{"type":431,"value":1659},{"type":426,"tag":553,"props":211547,"children":211548},{"style":684},[211549],{"type":431,"value":8126},{"type":426,"tag":553,"props":211551,"children":211552},{"style":572},[211553],{"type":431,"value":68957},{"type":426,"tag":553,"props":211555,"children":211556},{"style":684},[211557],{"type":431,"value":700},{"type":426,"tag":553,"props":211559,"children":211560},{"style":572},[211561],{"type":431,"value":128689},{"type":426,"tag":553,"props":211563,"children":211564},{"style":684},[211565],{"type":431,"value":8144},{"type":426,"tag":553,"props":211567,"children":211568},{"class":555,"line":1414},[211569],{"type":426,"tag":553,"props":211570,"children":211571},{"emptyLinePlaceholder":831},[211572],{"type":431,"value":834},{"type":426,"tag":553,"props":211574,"children":211575},{"class":555,"line":1479},[211576,211580,211584,211588,211592],{"type":426,"tag":553,"props":211577,"children":211578},{"style":795},[211579],{"type":431,"value":7510},{"type":426,"tag":553,"props":211581,"children":211582},{"style":566},[211583],{"type":431,"value":51734},{"type":426,"tag":553,"props":211585,"children":211586},{"style":795},[211587],{"type":431,"value":51739},{"type":426,"tag":553,"props":211589,"children":211590},{"style":572},[211591],{"type":431,"value":58919},{"type":426,"tag":553,"props":211593,"children":211594},{"style":684},[211595],{"type":431,"value":909},{"type":426,"tag":553,"props":211597,"children":211598},{"class":555,"line":1517},[211599,211603,211607,211611,211615],{"type":426,"tag":553,"props":211600,"children":211601},{"style":684},[211602],{"type":431,"value":65922},{"type":426,"tag":553,"props":211604,"children":211605},{"style":1684},[211606],{"type":431,"value":65945},{"type":426,"tag":553,"props":211608,"children":211609},{"style":795},[211610],{"type":431,"value":957},{"type":426,"tag":553,"props":211612,"children":211613},{"style":566},[211614],{"type":431,"value":27258},{"type":426,"tag":553,"props":211616,"children":211617},{"style":684},[211618],{"type":431,"value":3262},{"type":426,"tag":434,"props":211620,"children":211622},{"id":211621},"common-setup-issues",[211623],{"type":431,"value":211624},"Common Setup Issues",{"type":426,"tag":427,"props":211626,"children":211627},{},[211628,211633,211635,211639],{"type":426,"tag":446,"props":211629,"children":211630},{},[211631],{"type":431,"value":211632},"QR code expired?",{"type":431,"value":211634},"\nQR codes refresh every 60 seconds. If it expired before you scanned, click ",{"type":426,"tag":446,"props":211636,"children":211637},{},[211638],{"type":431,"value":176920},{"type":431,"value":211640}," in the dashboard and scan the new code immediately.",{"type":426,"tag":427,"props":211642,"children":211643},{},[211644,211649,211651,211655],{"type":426,"tag":446,"props":211645,"children":211646},{},[211647],{"type":431,"value":211648},"\"Session disconnected\" error?",{"type":431,"value":211650},"\nThis occasionally happens after the initial connection. Go to Dashboard → Devices, click the three-dot menu on your device, and select ",{"type":426,"tag":446,"props":211652,"children":211653},{},[211654],{"type":431,"value":177413},{"type":431,"value":211656},". A new QR code will appear — scan it again.",{"type":426,"tag":427,"props":211658,"children":211659},{},[211660],{"type":426,"tag":446,"props":211661,"children":211662},{},[211663],{"type":431,"value":211664},"Message not delivered?",{"type":426,"tag":454,"props":211666,"children":211667},{},[211668,211680,211685],{"type":426,"tag":458,"props":211669,"children":211670},{},[211671,211673,211678],{"type":431,"value":211672},"Check the phone number format (international format, no ",{"type":426,"tag":549,"props":211674,"children":211676},{"className":211675},[],[211677],{"type":431,"value":2033},{"type":431,"value":211679},", no spaces)",{"type":426,"tag":458,"props":211681,"children":211682},{},[211683],{"type":431,"value":211684},"Verify the recipient has an active WhatsApp account",{"type":426,"tag":458,"props":211686,"children":211687},{},[211688,211690],{"type":431,"value":211689},"Confirm your API key is correct and the device shows as ",{"type":426,"tag":446,"props":211691,"children":211692},{},[211693],{"type":431,"value":177105},{"type":426,"tag":427,"props":211695,"children":211696},{},[211697,211702,211704,211709],{"type":426,"tag":446,"props":211698,"children":211699},{},[211700],{"type":431,"value":211701},"401 Unauthorized?",{"type":431,"value":211703},"\nYour API key is wrong or missing from the ",{"type":426,"tag":549,"props":211705,"children":211707},{"className":211706},[],[211708],{"type":431,"value":48106},{"type":431,"value":211710}," header. Copy the key directly from Dashboard → API Keys and ensure there are no extra spaces.",{"type":426,"tag":434,"props":211712,"children":211714},{"id":211713},"what-to-build-next",[211715],{"type":431,"value":211716},"What to Build Next",{"type":426,"tag":427,"props":211718,"children":211719},{},[211720],{"type":431,"value":211721},"Now that Rapiwa is set up, here are the most popular next steps:",{"type":426,"tag":454,"props":211723,"children":211724},{},[211725,211741,211759,211772],{"type":426,"tag":458,"props":211726,"children":211727},{},[211728,211732,211734,211739],{"type":426,"tag":446,"props":211729,"children":211730},{},[211731],{"type":431,"value":149513},{"type":431,"value":211733}," — Install the ",{"type":426,"tag":3819,"props":211735,"children":211737},{"href":131923,"rel":211736},[3823],[211738],{"type":431,"value":46985},{"type":431,"value":211740}," for automatic order notifications",{"type":426,"tag":458,"props":211742,"children":211743},{},[211744,211749,211751,211757],{"type":426,"tag":446,"props":211745,"children":211746},{},[211747],{"type":431,"value":211748},"n8n workflows",{"type":431,"value":211750}," — Import any of the ",{"type":426,"tag":3819,"props":211752,"children":211754},{"href":145202,"rel":211753},[3823],[211755],{"type":431,"value":211756},"10 ready-made n8n templates",{"type":431,"value":211758}," for WooCommerce, Shopify, and AI chatbot automations",{"type":426,"tag":458,"props":211760,"children":211761},{},[211762,211766,211768],{"type":426,"tag":446,"props":211763,"children":211764},{},[211765],{"type":431,"value":189437},{"type":431,"value":211767}," — See our guide: ",{"type":426,"tag":3819,"props":211769,"children":211770},{"href":370},[211771],{"type":431,"value":371},{"type":426,"tag":458,"props":211773,"children":211774},{},[211775,211780,211782],{"type":426,"tag":446,"props":211776,"children":211777},{},[211778],{"type":431,"value":211779},"Chatbot",{"type":431,"value":211781}," — See: ",{"type":426,"tag":3819,"props":211783,"children":211784},{"href":390},[211785],{"type":431,"value":211786},"How to Build a WhatsApp Chatbot with Rapiwa API",{"type":426,"tag":434,"props":211788,"children":211789},{"id":4109},[211790],{"type":431,"value":4112},{"type":426,"tag":427,"props":211792,"children":211793},{},[211794,211799],{"type":426,"tag":446,"props":211795,"children":211796},{},[211797],{"type":431,"value":211798},"Is there a free trial for Rapiwa?",{"type":431,"value":211800},"\nYes. Rapiwa offers a 3-day free trial with full API access — no credit card required. After the trial, plans start at $5\u002Fmonth.",{"type":426,"tag":427,"props":211802,"children":211803},{},[211804,211809],{"type":426,"tag":446,"props":211805,"children":211806},{},[211807],{"type":431,"value":211808},"Can I connect multiple WhatsApp numbers?",{"type":431,"value":211810},"\nYes. Higher-tier Rapiwa plans support multiple WhatsApp numbers. The Starter plan includes one connected number.",{"type":426,"tag":427,"props":211812,"children":211813},{},[211814,211819],{"type":426,"tag":446,"props":211815,"children":211816},{},[211817],{"type":431,"value":211818},"Do I need a WhatsApp Business account?",{"type":431,"value":184244},{"type":426,"tag":427,"props":211821,"children":211822},{},[211823,211828],{"type":426,"tag":446,"props":211824,"children":211825},{},[211826],{"type":431,"value":211827},"Does my phone need to stay on after setup?",{"type":431,"value":211829},"\nNo. After the initial QR code scan, Rapiwa maintains the WhatsApp session on its own servers. Your phone can be off or disconnected.",{"type":426,"tag":427,"props":211831,"children":211832},{},[211833,211838],{"type":426,"tag":446,"props":211834,"children":211835},{},[211836],{"type":431,"value":211837},"How long does the setup take?",{"type":431,"value":211839},"\nUnder 5 minutes for a basic setup (account creation + number connection + first message). Adding webhooks for incoming messages takes an additional 2–3 minutes.",{"type":426,"tag":427,"props":211841,"children":211842},{},[211843,211848,211850,211855,211857,211862],{"type":426,"tag":446,"props":211844,"children":211845},{},[211846],{"type":431,"value":211847},"What is the Rapiwa API endpoint?",{"type":431,"value":211849},"\nThe send-message endpoint is ",{"type":426,"tag":549,"props":211851,"children":211853},{"className":211852},[],[211854],{"type":431,"value":7216},{"type":431,"value":211856},". Full API documentation is available at ",{"type":426,"tag":3819,"props":211858,"children":211860},{"href":189231,"rel":211859},[3823],[211861],{"type":431,"value":189235},{"type":431,"value":6789},{"type":426,"tag":4164,"props":211864,"children":211865},{},[211866],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":211868},[211869,211870,211871,211872,211873,211874,211879,211880,211881,211882],{"id":145158,"depth":588,"text":145161},{"id":210047,"depth":588,"text":210050},{"id":182842,"depth":588,"text":182845},{"id":182896,"depth":588,"text":182899},{"id":210265,"depth":588,"text":210268},{"id":210528,"depth":588,"text":210531,"children":211875},[211876,211877,211878],{"id":210534,"depth":606,"text":210537},{"id":210658,"depth":606,"text":210661},{"id":210795,"depth":606,"text":210798},{"id":211008,"depth":588,"text":211011},{"id":211621,"depth":588,"text":211624},{"id":211713,"depth":588,"text":211716},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-set-up-rapiwa-in-under-5-minutes.md","blog\u002Fhow-to-set-up-rapiwa-in-under-5-minutes.md","blog\u002Fhow-to-set-up-rapiwa-in-under-5-minutes",{"loc":386},{"_path":390,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":391,"description":392,"date":211888,"author":4196,"category":17,"_slug":211889,"image":211890,"body":211891,"_type":4187,"_id":212899,"_source":4189,"_file":212900,"_stem":212901,"_extension":4192,"sitemap":212902},"2025-11-30","whatsapp-unofficial-api-vs-official-meta-api-key-differences","\u002Fimages\u002Fblog\u002Fwhatsapp-unofficial-api-vs-official-meta-api-key-differences.svg",{"type":423,"children":211892,"toc":212885},[211893,211905,211911,212104,212110,212121,212125,212183,212189,212200,212204,212263,212273,212279,212285,212352,212364,212370,212439,212450,212456,212461,212516,212522,212527,212607,212613,212618,212636,212646,212674,212679,212685,212788,212800,212804,212814,212824,212834,212849,212859,212881],{"type":426,"tag":427,"props":211894,"children":211895},{},[211896,211898,211903],{"type":431,"value":211897},"An unofficial WhatsApp API connects to WhatsApp via the WhatsApp Web protocol — no Meta approval needed, no templates, no per-conversation fees. The official Meta Cloud API requires business verification, uses pre-approved templates, and charges per conversation. For developers and small businesses, unofficial APIs like ",{"type":426,"tag":3819,"props":211899,"children":211901},{"href":3821,"rel":211900},[3823],[211902],{"type":431,"value":127310},{"type":431,"value":211904}," ($5\u002Fmonth) are faster to deploy and significantly cheaper at scale.",{"type":426,"tag":434,"props":211906,"children":211908},{"id":211907},"quick-comparison-official-vs-unofficial-whatsapp-api",[211909],{"type":431,"value":211910},"Quick Comparison: Official vs Unofficial WhatsApp API",{"type":426,"tag":10600,"props":211912,"children":211913},{},[211914,211933],{"type":426,"tag":10604,"props":211915,"children":211916},{},[211917],{"type":426,"tag":10608,"props":211918,"children":211919},{},[211920,211924,211928],{"type":426,"tag":10612,"props":211921,"children":211922},{},[211923],{"type":431,"value":16096},{"type":426,"tag":10612,"props":211925,"children":211926},{},[211927],{"type":431,"value":161090},{"type":426,"tag":10612,"props":211929,"children":211930},{},[211931],{"type":431,"value":211932},"Unofficial API (Rapiwa)",{"type":426,"tag":10623,"props":211934,"children":211935},{},[211936,211954,211969,211985,212001,212019,212037,212053,212071,212088],{"type":426,"tag":10608,"props":211937,"children":211938},{},[211939,211944,211949],{"type":426,"tag":10630,"props":211940,"children":211941},{},[211942],{"type":431,"value":211943},"Approval required",{"type":426,"tag":10630,"props":211945,"children":211946},{},[211947],{"type":431,"value":211948},"Yes — weeks to approve",{"type":426,"tag":10630,"props":211950,"children":211951},{},[211952],{"type":431,"value":211953},"No — live in minutes",{"type":426,"tag":10608,"props":211955,"children":211956},{},[211957,211961,211965],{"type":426,"tag":10630,"props":211958,"children":211959},{},[211960],{"type":431,"value":150841},{"type":426,"tag":10630,"props":211962,"children":211963},{},[211964],{"type":431,"value":157190},{"type":426,"tag":10630,"props":211966,"children":211967},{},[211968],{"type":431,"value":147147},{"type":426,"tag":10608,"props":211970,"children":211971},{},[211972,211976,211981],{"type":426,"tag":10630,"props":211973,"children":211974},{},[211975],{"type":431,"value":184567},{"type":426,"tag":10630,"props":211977,"children":211978},{},[211979],{"type":431,"value":211980},"Yes — restricts outbound",{"type":426,"tag":10630,"props":211982,"children":211983},{},[211984],{"type":431,"value":153599},{"type":426,"tag":10608,"props":211986,"children":211987},{},[211988,211992,211997],{"type":426,"tag":10630,"props":211989,"children":211990},{},[211991],{"type":431,"value":157149},{"type":426,"tag":10630,"props":211993,"children":211994},{},[211995],{"type":431,"value":211996},"Yes ($0.005–$0.08\u002Fconversation)",{"type":426,"tag":10630,"props":211998,"children":211999},{},[212000],{"type":431,"value":1840},{"type":426,"tag":10608,"props":212002,"children":212003},{},[212004,212008,212012],{"type":426,"tag":10630,"props":212005,"children":212006},{},[212007],{"type":431,"value":157862},{"type":426,"tag":10630,"props":212009,"children":212010},{},[212011],{"type":431,"value":161846},{"type":426,"tag":10630,"props":212013,"children":212014},{},[212015],{"type":426,"tag":446,"props":212016,"children":212017},{},[212018],{"type":431,"value":153761},{"type":426,"tag":10608,"props":212020,"children":212021},{},[212022,212027,212032],{"type":426,"tag":10630,"props":212023,"children":212024},{},[212025],{"type":431,"value":212026},"Number type",{"type":426,"tag":10630,"props":212028,"children":212029},{},[212030],{"type":431,"value":212031},"Dedicated business number",{"type":426,"tag":10630,"props":212033,"children":212034},{},[212035],{"type":431,"value":212036},"Any WhatsApp number",{"type":426,"tag":10608,"props":212038,"children":212039},{},[212040,212045,212049],{"type":426,"tag":10630,"props":212041,"children":212042},{},[212043],{"type":431,"value":212044},"QR code setup",{"type":426,"tag":10630,"props":212046,"children":212047},{},[212048],{"type":431,"value":78130},{"type":426,"tag":10630,"props":212050,"children":212051},{},[212052],{"type":431,"value":103087},{"type":426,"tag":10608,"props":212054,"children":212055},{},[212056,212061,212066],{"type":426,"tag":10630,"props":212057,"children":212058},{},[212059],{"type":431,"value":212060},"Meta ToS compliance",{"type":426,"tag":10630,"props":212062,"children":212063},{},[212064],{"type":431,"value":212065},"Fully compliant",{"type":426,"tag":10630,"props":212067,"children":212068},{},[212069],{"type":431,"value":212070},"Unofficial \u002F grey area",{"type":426,"tag":10608,"props":212072,"children":212073},{},[212074,212079,212083],{"type":426,"tag":10630,"props":212075,"children":212076},{},[212077],{"type":431,"value":212078},"Risk of account ban",{"type":426,"tag":10630,"props":212080,"children":212081},{},[212082],{"type":431,"value":66426},{"type":426,"tag":10630,"props":212084,"children":212085},{},[212086],{"type":431,"value":212087},"Low with good practices",{"type":426,"tag":10608,"props":212089,"children":212090},{},[212091,212095,212099],{"type":426,"tag":10630,"props":212092,"children":212093},{},[212094],{"type":431,"value":150917},{"type":426,"tag":10630,"props":212096,"children":212097},{},[212098],{"type":431,"value":161960},{"type":426,"tag":10630,"props":212100,"children":212101},{},[212102],{"type":431,"value":212103},"Under 5 minutes",{"type":426,"tag":434,"props":212105,"children":212107},{"id":212106},"what-is-the-official-whatsapp-business-api",[212108],{"type":431,"value":212109},"What Is the Official WhatsApp Business API?",{"type":426,"tag":427,"props":212111,"children":212112},{},[212113,212115,212119],{"type":431,"value":212114},"The official WhatsApp Business API, now called the ",{"type":426,"tag":446,"props":212116,"children":212117},{},[212118],{"type":431,"value":149871},{"type":431,"value":212120},", is Meta's enterprise messaging solution. It gives businesses a verified, green-tick WhatsApp Business profile with the highest level of platform compliance.",{"type":426,"tag":427,"props":212122,"children":212123},{},[212124],{"type":431,"value":165537},{"type":426,"tag":454,"props":212126,"children":212127},{},[212128,212137,212146,212155,212165,212174],{"type":426,"tag":458,"props":212129,"children":212130},{},[212131,212135],{"type":426,"tag":446,"props":212132,"children":212133},{},[212134],{"type":431,"value":184533},{"type":431,"value":212136},": You must submit your business details to Meta for review. This process takes 1–14 days.",{"type":426,"tag":458,"props":212138,"children":212139},{},[212140,212144],{"type":426,"tag":446,"props":212141,"children":212142},{},[212143],{"type":431,"value":150841},{"type":431,"value":212145},": All outbound messages to customers who haven't messaged you first must use pre-approved templates. Templates are reviewed by Meta and can be rejected.",{"type":426,"tag":458,"props":212147,"children":212148},{},[212149,212153],{"type":426,"tag":446,"props":212150,"children":212151},{},[212152],{"type":431,"value":153587},{"type":431,"value":212154},": If a customer messages you, you have 24 hours to respond freely. After that, you must use a template again.",{"type":426,"tag":458,"props":212156,"children":212157},{},[212158,212163],{"type":426,"tag":446,"props":212159,"children":212160},{},[212161],{"type":431,"value":212162},"Conversation-based pricing",{"type":431,"value":212164},": Meta charges per 24-hour conversation session, not per message. Rates vary by country and conversation category (marketing, utility, authentication).",{"type":426,"tag":458,"props":212166,"children":212167},{},[212168,212172],{"type":426,"tag":446,"props":212169,"children":212170},{},[212171],{"type":431,"value":184626},{"type":431,"value":212173},": You need a new phone number dedicated to the API — you cannot use a number already active on WhatsApp.",{"type":426,"tag":458,"props":212175,"children":212176},{},[212177,212181],{"type":426,"tag":446,"props":212178,"children":212179},{},[212180],{"type":431,"value":46969},{"type":431,"value":212182},": Large enterprises with dedicated compliance teams, global brands needing the green verification badge.",{"type":426,"tag":434,"props":212184,"children":212186},{"id":212185},"what-is-an-unofficial-whatsapp-api",[212187],{"type":431,"value":212188},"What Is an Unofficial WhatsApp API?",{"type":426,"tag":427,"props":212190,"children":212191},{},[212192,212194,212198],{"type":431,"value":212193},"An unofficial WhatsApp API connects to WhatsApp's messaging infrastructure using the ",{"type":426,"tag":446,"props":212195,"children":212196},{},[212197],{"type":431,"value":186545},{"type":431,"value":212199}," — the same mechanism as web.whatsapp.com. You scan a QR code to link your existing WhatsApp number, then send and receive messages through a REST API.",{"type":426,"tag":427,"props":212201,"children":212202},{},[212203],{"type":431,"value":165537},{"type":426,"tag":454,"props":212205,"children":212206},{},[212207,212217,212226,212235,212245,212254],{"type":426,"tag":458,"props":212208,"children":212209},{},[212210,212215],{"type":426,"tag":446,"props":212211,"children":212212},{},[212213],{"type":431,"value":212214},"No Meta approval",{"type":431,"value":212216}," — works with any existing WhatsApp number",{"type":426,"tag":458,"props":212218,"children":212219},{},[212220,212224],{"type":426,"tag":446,"props":212221,"children":212222},{},[212223],{"type":431,"value":182766},{"type":431,"value":212225}," — send any message, any time, to any WhatsApp user",{"type":426,"tag":458,"props":212227,"children":212228},{},[212229,212233],{"type":426,"tag":446,"props":212230,"children":212231},{},[212232],{"type":431,"value":182776},{"type":431,"value":212234}," — send follow-ups or proactive messages whenever needed",{"type":426,"tag":458,"props":212236,"children":212237},{},[212238,212243],{"type":426,"tag":446,"props":212239,"children":212240},{},[212241],{"type":431,"value":212242},"Flat monthly pricing",{"type":431,"value":212244}," — Rapiwa costs $5\u002Fmonth regardless of message volume",{"type":426,"tag":458,"props":212246,"children":212247},{},[212248,212252],{"type":426,"tag":446,"props":212249,"children":212250},{},[212251],{"type":431,"value":182756},{"type":431,"value":212253}," — personal or WhatsApp Business numbers both work",{"type":426,"tag":458,"props":212255,"children":212256},{},[212257,212261],{"type":426,"tag":446,"props":212258,"children":212259},{},[212260],{"type":431,"value":212044},{"type":431,"value":212262}," — connect in under 5 minutes",{"type":426,"tag":427,"props":212264,"children":212265},{},[212266,212271],{"type":426,"tag":446,"props":212267,"children":212268},{},[212269],{"type":431,"value":212270},"How it connects:",{"type":431,"value":212272}," When you scan the QR code, the unofficial API logs your WhatsApp session the same way WhatsApp Web does. The API maintains this session on its servers, so you don't need your phone on or connected. Your WhatsApp number acts as the sender for all outgoing messages.",{"type":426,"tag":434,"props":212274,"children":212276},{"id":212275},"pricing-official-vs-unofficial",[212277],{"type":431,"value":212278},"Pricing: Official vs Unofficial",{"type":426,"tag":515,"props":212280,"children":212282},{"id":212281},"official-meta-api-pricing-sample-varies-by-country",[212283],{"type":431,"value":212284},"Official Meta API Pricing (Sample — varies by country)",{"type":426,"tag":10600,"props":212286,"children":212287},{},[212288,212303],{"type":426,"tag":10604,"props":212289,"children":212290},{},[212291],{"type":426,"tag":10608,"props":212292,"children":212293},{},[212294,212298],{"type":426,"tag":10612,"props":212295,"children":212296},{},[212297],{"type":431,"value":195632},{"type":426,"tag":10612,"props":212299,"children":212300},{},[212301],{"type":431,"value":212302},"Cost per 24h session",{"type":426,"tag":10623,"props":212304,"children":212305},{},[212306,212318,212330,212341],{"type":426,"tag":10608,"props":212307,"children":212308},{},[212309,212313],{"type":426,"tag":10630,"props":212310,"children":212311},{},[212312],{"type":431,"value":195653},{"type":426,"tag":10630,"props":212314,"children":212315},{},[212316],{"type":431,"value":212317},"~$0.025–$0.080",{"type":426,"tag":10608,"props":212319,"children":212320},{},[212321,212325],{"type":426,"tag":10630,"props":212322,"children":212323},{},[212324],{"type":431,"value":195671},{"type":426,"tag":10630,"props":212326,"children":212327},{},[212328],{"type":431,"value":212329},"~$0.005–$0.020",{"type":426,"tag":10608,"props":212331,"children":212332},{},[212333,212337],{"type":426,"tag":10630,"props":212334,"children":212335},{},[212336],{"type":431,"value":86289},{"type":426,"tag":10630,"props":212338,"children":212339},{},[212340],{"type":431,"value":212329},{"type":426,"tag":10608,"props":212342,"children":212343},{},[212344,212348],{"type":426,"tag":10630,"props":212345,"children":212346},{},[212347],{"type":431,"value":162107},{"type":426,"tag":10630,"props":212349,"children":212350},{},[212351],{"type":431,"value":80750},{"type":426,"tag":427,"props":212353,"children":212354},{},[212355,212357,212362],{"type":431,"value":212356},"For a business sending 10,000 marketing messages per month, that's roughly ",{"type":426,"tag":446,"props":212358,"children":212359},{},[212360],{"type":431,"value":212361},"$250–$800\u002Fmonth",{"type":431,"value":212363}," in conversation fees alone, before platform costs.",{"type":426,"tag":515,"props":212365,"children":212367},{"id":212366},"unofficial-api-pricing-rapiwa",[212368],{"type":431,"value":212369},"Unofficial API Pricing (Rapiwa)",{"type":426,"tag":10600,"props":212371,"children":212372},{},[212373,212391],{"type":426,"tag":10604,"props":212374,"children":212375},{},[212376],{"type":426,"tag":10608,"props":212377,"children":212378},{},[212379,212383,212387],{"type":426,"tag":10612,"props":212380,"children":212381},{},[212382],{"type":431,"value":161320},{"type":426,"tag":10612,"props":212384,"children":212385},{},[212386],{"type":431,"value":103028},{"type":426,"tag":10612,"props":212388,"children":212389},{},[212390],{"type":431,"value":195362},{"type":426,"tag":10623,"props":212392,"children":212393},{},[212394,212409,212424],{"type":426,"tag":10608,"props":212395,"children":212396},{},[212397,212401,212405],{"type":426,"tag":10630,"props":212398,"children":212399},{},[212400],{"type":431,"value":195373},{"type":426,"tag":10630,"props":212402,"children":212403},{},[212404],{"type":431,"value":148332},{"type":426,"tag":10630,"props":212406,"children":212407},{},[212408],{"type":431,"value":160174},{"type":426,"tag":10608,"props":212410,"children":212411},{},[212412,212416,212420],{"type":426,"tag":10630,"props":212413,"children":212414},{},[212415],{"type":431,"value":195396},{"type":426,"tag":10630,"props":212417,"children":212418},{},[212419],{"type":431,"value":150420},{"type":426,"tag":10630,"props":212421,"children":212422},{},[212423],{"type":431,"value":160174},{"type":426,"tag":10608,"props":212425,"children":212426},{},[212427,212431,212435],{"type":426,"tag":10630,"props":212428,"children":212429},{},[212430],{"type":431,"value":18722},{"type":426,"tag":10630,"props":212432,"children":212433},{},[212434],{"type":431,"value":150420},{"type":426,"tag":10630,"props":212436,"children":212437},{},[212438],{"type":431,"value":160174},{"type":426,"tag":427,"props":212440,"children":212441},{},[212442,212444,212448],{"type":431,"value":212443},"For the same 10,000 messages, Rapiwa costs ",{"type":426,"tag":446,"props":212445,"children":212446},{},[212447],{"type":431,"value":151867},{"type":431,"value":212449}," — no per-message or per-conversation charges.",{"type":426,"tag":434,"props":212451,"children":212453},{"id":212452},"when-to-use-the-official-meta-api",[212454],{"type":431,"value":212455},"When to Use the Official Meta API",{"type":426,"tag":427,"props":212457,"children":212458},{},[212459],{"type":431,"value":212460},"Choose the official Meta Cloud API when:",{"type":426,"tag":454,"props":212462,"children":212463},{},[212464,212476,212488,212499,212504],{"type":426,"tag":458,"props":212465,"children":212466},{},[212467,212469,212474],{"type":431,"value":212468},"Your business requires Meta's ",{"type":426,"tag":446,"props":212470,"children":212471},{},[212472],{"type":431,"value":212473},"green verification badge",{"type":431,"value":212475}," (trust signal for large consumer brands)",{"type":426,"tag":458,"props":212477,"children":212478},{},[212479,212481,212486],{"type":431,"value":212480},"You operate at ",{"type":426,"tag":446,"props":212482,"children":212483},{},[212484],{"type":431,"value":212485},"enterprise scale",{"type":431,"value":212487}," with dedicated compliance and legal teams",{"type":426,"tag":458,"props":212489,"children":212490},{},[212491,212492,212497],{"type":431,"value":149472},{"type":426,"tag":446,"props":212493,"children":212494},{},[212495],{"type":431,"value":212496},"guaranteed SLA uptime",{"type":431,"value":212498}," and direct Meta support",{"type":426,"tag":458,"props":212500,"children":212501},{},[212502],{"type":431,"value":212503},"You serve markets where unofficial API usage carries regulatory risk",{"type":426,"tag":458,"props":212505,"children":212506},{},[212507,212509,212514],{"type":431,"value":212508},"Your use case involves ",{"type":426,"tag":446,"props":212510,"children":212511},{},[212512],{"type":431,"value":212513},"financial services, healthcare, or government",{"type":431,"value":212515}," sectors where compliance is critical",{"type":426,"tag":434,"props":212517,"children":212519},{"id":212518},"when-to-use-an-unofficial-api-rapiwa",[212520],{"type":431,"value":212521},"When to Use an Unofficial API (Rapiwa)",{"type":426,"tag":427,"props":212523,"children":212524},{},[212525],{"type":431,"value":212526},"Choose an unofficial API like Rapiwa when:",{"type":426,"tag":454,"props":212528,"children":212529},{},[212530,212542,212553,212562,212574,212586,212597],{"type":426,"tag":458,"props":212531,"children":212532},{},[212533,212535,212540],{"type":431,"value":212534},"You need to ",{"type":426,"tag":446,"props":212536,"children":212537},{},[212538],{"type":431,"value":212539},"start immediately",{"type":431,"value":212541}," — no approval queue, live in minutes",{"type":426,"tag":458,"props":212543,"children":212544},{},[212545,212546,212551],{"type":431,"value":161491},{"type":426,"tag":446,"props":212547,"children":212548},{},[212549],{"type":431,"value":212550},"flat-rate pricing",{"type":431,"value":212552}," without per-message costs",{"type":426,"tag":458,"props":212554,"children":212555},{},[212556,212557],{"type":431,"value":161537},{"type":426,"tag":446,"props":212558,"children":212559},{},[212560],{"type":431,"value":212561},"side project, MVP, or proof of concept",{"type":426,"tag":458,"props":212563,"children":212564},{},[212565,212567,212572],{"type":431,"value":212566},"You run an ",{"type":426,"tag":446,"props":212568,"children":212569},{},[212570],{"type":431,"value":212571},"agency or SaaS",{"type":431,"value":212573}," where clients need WhatsApp automation without enterprise contracts",{"type":426,"tag":458,"props":212575,"children":212576},{},[212577,212579,212584],{"type":431,"value":212578},"You need to send ",{"type":426,"tag":446,"props":212580,"children":212581},{},[212582],{"type":431,"value":212583},"proactive messages",{"type":431,"value":212585}," without the 24-hour window restriction",{"type":426,"tag":458,"props":212587,"children":212588},{},[212589,212590,212595],{"type":431,"value":161479},{"type":426,"tag":446,"props":212591,"children":212592},{},[212593],{"type":431,"value":212594},"WooCommerce or Shopify store owner",{"type":431,"value":212596}," needing order notifications — the Rapiwa WooCommerce plugin handles this with zero code",{"type":426,"tag":458,"props":212598,"children":212599},{},[212600,212601,212605],{"type":431,"value":149520},{"type":426,"tag":446,"props":212602,"children":212603},{},[212604],{"type":431,"value":47653},{"type":431,"value":212606}," for automation — Rapiwa has 10 ready-made n8n templates",{"type":426,"tag":434,"props":212608,"children":212610},{"id":212609},"the-grey-area-is-an-unofficial-api-against-whatsapps-terms",[212611],{"type":431,"value":212612},"The Grey Area: Is an Unofficial API Against WhatsApp's Terms?",{"type":426,"tag":427,"props":212614,"children":212615},{},[212616],{"type":431,"value":212617},"This is the most common question. Here is the honest answer:",{"type":426,"tag":427,"props":212619,"children":212620},{},[212621,212623,212628,212629,212634],{"type":431,"value":212622},"WhatsApp's Terms of Service prohibit ",{"type":426,"tag":446,"props":212624,"children":212625},{},[212626],{"type":431,"value":212627},"automated messaging",{"type":431,"value":48630},{"type":426,"tag":446,"props":212630,"children":212631},{},[212632],{"type":431,"value":212633},"reverse engineering",{"type":431,"value":212635}," of the WhatsApp client. Unofficial APIs technically violate these terms. Meta may restrict or ban numbers that are detected to be running through unofficial APIs, particularly if they engage in spam or policy-violating behaviour.",{"type":426,"tag":427,"props":212637,"children":212638},{},[212639,212644],{"type":426,"tag":446,"props":212640,"children":212641},{},[212642],{"type":431,"value":212643},"In practice",{"type":431,"value":212645},", unofficial WhatsApp APIs have been widely used by thousands of businesses for years with minimal issues when used responsibly. The risk of account restriction is low when you:",{"type":426,"tag":454,"props":212647,"children":212648},{},[212649,212654,212659,212664,212669],{"type":426,"tag":458,"props":212650,"children":212651},{},[212652],{"type":431,"value":212653},"Send only legitimate business communications",{"type":426,"tag":458,"props":212655,"children":212656},{},[212657],{"type":431,"value":212658},"Do not send unsolicited bulk messages",{"type":426,"tag":458,"props":212660,"children":212661},{},[212662],{"type":431,"value":212663},"Maintain a high response rate and engagement",{"type":426,"tag":458,"props":212665,"children":212666},{},[212667],{"type":431,"value":212668},"Follow warm-up best practices for new numbers",{"type":426,"tag":458,"props":212670,"children":212671},{},[212672],{"type":431,"value":212673},"Do not exceed reasonable sending volumes",{"type":426,"tag":427,"props":212675,"children":212676},{},[212677],{"type":431,"value":212678},"For legitimate business use — customer notifications, appointment reminders, order alerts — the risk profile is very low. For businesses that need zero risk of account restriction, the official Meta API is the correct choice.",{"type":426,"tag":434,"props":212680,"children":212682},{"id":212681},"how-to-connect-an-unofficial-whatsapp-api-in-5-minutes",[212683],{"type":431,"value":212684},"How to Connect an Unofficial WhatsApp API in 5 Minutes",{"type":426,"tag":542,"props":212686,"children":212688},{"className":546,"code":212687,"language":545,"meta":417,"style":417},"# 1. Get your API key from rapiwa.com\n# 2. Scan QR code in dashboard with your WhatsApp app\n# 3. Send your first message:\n\ncurl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"number\": \"8801234567890\", \"message\": \"Hello! API connected successfully.\"}'\n",[212689],{"type":426,"tag":549,"props":212690,"children":212691},{"__ignoreMap":417},[212692,212700,212708,212716,212723,212746,212761,212776],{"type":426,"tag":553,"props":212693,"children":212694},{"class":555,"line":556},[212695],{"type":426,"tag":553,"props":212696,"children":212697},{"style":1975},[212698],{"type":431,"value":212699},"# 1. Get your API key from rapiwa.com\n",{"type":426,"tag":553,"props":212701,"children":212702},{"class":555,"line":588},[212703],{"type":426,"tag":553,"props":212704,"children":212705},{"style":1975},[212706],{"type":431,"value":212707},"# 2. Scan QR code in dashboard with your WhatsApp app\n",{"type":426,"tag":553,"props":212709,"children":212710},{"class":555,"line":606},[212711],{"type":426,"tag":553,"props":212712,"children":212713},{"style":1975},[212714],{"type":431,"value":212715},"# 3. Send your first message:\n",{"type":426,"tag":553,"props":212717,"children":212718},{"class":555,"line":623},[212719],{"type":426,"tag":553,"props":212720,"children":212721},{"emptyLinePlaceholder":831},[212722],{"type":431,"value":834},{"type":426,"tag":553,"props":212724,"children":212725},{"class":555,"line":637},[212726,212730,212734,212738,212742],{"type":426,"tag":553,"props":212727,"children":212728},{"style":560},[212729],{"type":431,"value":563},{"type":426,"tag":553,"props":212731,"children":212732},{"style":566},[212733],{"type":431,"value":569},{"type":426,"tag":553,"props":212735,"children":212736},{"style":572},[212737],{"type":431,"value":575},{"type":426,"tag":553,"props":212739,"children":212740},{"style":572},[212741],{"type":431,"value":580},{"type":426,"tag":553,"props":212743,"children":212744},{"style":566},[212745],{"type":431,"value":585},{"type":426,"tag":553,"props":212747,"children":212748},{"class":555,"line":646},[212749,212753,212757],{"type":426,"tag":553,"props":212750,"children":212751},{"style":566},[212752],{"type":431,"value":594},{"type":426,"tag":553,"props":212754,"children":212755},{"style":572},[212756],{"type":431,"value":599},{"type":426,"tag":553,"props":212758,"children":212759},{"style":566},[212760],{"type":431,"value":585},{"type":426,"tag":553,"props":212762,"children":212763},{"class":555,"line":655},[212764,212768,212772],{"type":426,"tag":553,"props":212765,"children":212766},{"style":566},[212767],{"type":431,"value":594},{"type":426,"tag":553,"props":212769,"children":212770},{"style":572},[212771],{"type":431,"value":616},{"type":426,"tag":553,"props":212773,"children":212774},{"style":566},[212775],{"type":431,"value":585},{"type":426,"tag":553,"props":212777,"children":212778},{"class":555,"line":1036},[212779,212783],{"type":426,"tag":553,"props":212780,"children":212781},{"style":566},[212782],{"type":431,"value":629},{"type":426,"tag":553,"props":212784,"children":212785},{"style":572},[212786],{"type":431,"value":212787}," '{\"number\": \"8801234567890\", \"message\": \"Hello! API connected successfully.\"}'\n",{"type":426,"tag":427,"props":212789,"children":212790},{},[212791,212793,212798],{"type":431,"value":212792},"The official Meta API equivalent setup takes approximately ",{"type":426,"tag":446,"props":212794,"children":212795},{},[212796],{"type":431,"value":212797},"5–14 business days",{"type":431,"value":212799}," of back-and-forth with Meta support, business verification, and template approval.",{"type":426,"tag":434,"props":212801,"children":212802},{"id":4109},[212803],{"type":431,"value":4112},{"type":426,"tag":427,"props":212805,"children":212806},{},[212807,212812],{"type":426,"tag":446,"props":212808,"children":212809},{},[212810],{"type":431,"value":212811},"Is an unofficial WhatsApp API illegal?",{"type":431,"value":212813},"\nNo — it is not illegal. It violates WhatsApp's Terms of Service (a contractual agreement), not any law. The consequence of violating ToS is account restriction by WhatsApp, not legal prosecution. Many businesses worldwide use unofficial APIs for legitimate communication without issues.",{"type":426,"tag":427,"props":212815,"children":212816},{},[212817,212822],{"type":426,"tag":446,"props":212818,"children":212819},{},[212820],{"type":431,"value":212821},"Can WhatsApp detect if I'm using an unofficial API?",{"type":431,"value":212823},"\nWhatsApp can detect automated messaging patterns (very high volume, mechanical timing, no incoming messages). They are less likely to flag accounts sending legitimate business notifications with normal volume and engagement patterns.",{"type":426,"tag":427,"props":212825,"children":212826},{},[212827,212832],{"type":426,"tag":446,"props":212828,"children":212829},{},[212830],{"type":431,"value":212831},"Can I use my existing phone number with an unofficial API?",{"type":431,"value":212833},"\nYes. Unofficial APIs like Rapiwa connect via QR code to your existing personal or business WhatsApp number. Official Meta API requires a dedicated new number not already active on WhatsApp.",{"type":426,"tag":427,"props":212835,"children":212836},{},[212837,212842,212844,212848],{"type":426,"tag":446,"props":212838,"children":212839},{},[212840],{"type":431,"value":212841},"What happens if my number gets banned?",{"type":431,"value":212843},"\nIf WhatsApp restricts your number, you would need to use a new number. This is the primary risk with unofficial APIs. Minimise risk by following the compliance practices in our guide: ",{"type":426,"tag":3819,"props":212845,"children":212846},{"href":406},[212847],{"type":431,"value":204342},{"type":431,"value":6789},{"type":426,"tag":427,"props":212850,"children":212851},{},[212852,212857],{"type":426,"tag":446,"props":212853,"children":212854},{},[212855],{"type":431,"value":212856},"Can I upgrade from an unofficial API to the official Meta API later?",{"type":431,"value":212858},"\nYes. The Meta Cloud API uses different endpoints and authentication, so you would need to rewrite your integration. However, your messaging logic and workflows remain the same — only the API layer changes.",{"type":426,"tag":427,"props":212860,"children":212861},{},[212862,212867,212872,212874,212879],{"type":426,"tag":446,"props":212863,"children":212864},{},[212865],{"type":431,"value":212866},"Which unofficial WhatsApp API is the cheapest?",{"type":426,"tag":3819,"props":212868,"children":212870},{"href":3821,"rel":212869},[3823],[212871],{"type":431,"value":127310},{"type":431,"value":212873}," starts at $5\u002Fmonth and holds a 5.0\u002F5 Sourceforge rating — the cheapest and highest-rated unofficial WhatsApp API available. See our ",{"type":426,"tag":3819,"props":212875,"children":212876},{"href":398},[212877],{"type":431,"value":212878},"full comparison of WhatsApp API providers",{"type":431,"value":212880}," for more options.",{"type":426,"tag":4164,"props":212882,"children":212883},{},[212884],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":212886},[212887,212888,212889,212890,212894,212895,212896,212897,212898],{"id":211907,"depth":588,"text":211910},{"id":212106,"depth":588,"text":212109},{"id":212185,"depth":588,"text":212188},{"id":212275,"depth":588,"text":212278,"children":212891},[212892,212893],{"id":212281,"depth":606,"text":212284},{"id":212366,"depth":606,"text":212369},{"id":212452,"depth":588,"text":212455},{"id":212518,"depth":588,"text":212521},{"id":212609,"depth":588,"text":212612},{"id":212681,"depth":588,"text":212684},{"id":4109,"depth":588,"text":4112},"content:blog:whatsapp-unofficial-api-vs-official-meta-api-key-differences.md","blog\u002Fwhatsapp-unofficial-api-vs-official-meta-api-key-differences.md","blog\u002Fwhatsapp-unofficial-api-vs-official-meta-api-key-differences",{"loc":390},{"_path":394,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":395,"description":396,"date":212904,"author":4196,"category":22,"_slug":212905,"image":212906,"body":212907,"_type":4187,"_id":217316,"_source":4189,"_file":217317,"_stem":217318,"_extension":4192,"sitemap":217319},"2025-11-29","how-to-send-whatsapp-messages-programmatically-developers-guide","\u002Fimages\u002Fblog\u002Fhow-to-send-whatsapp-messages-programmatically-developers-guide.svg",{"type":423,"children":212908,"toc":217294},[212909,212921,212927,212970,212974,212979,213024,213029,213035,213040,213119,213127,213218,213222,213228,213321,213329,213404,213408,213701,213706,213727,213733,214112,214130,214152,214158,214559,214564,214585,214589,215139,215144,215739,215745,215751,215852,215858,215959,215965,215970,216033,216126,216132,216137,216262,216270,216629,216635,216640,217114,217118,217201,217205,217240,217250,217260,217270,217280,217290],{"type":426,"tag":427,"props":212910,"children":212911},{},[212912,212914,212919],{"type":431,"value":212913},"You can send WhatsApp messages programmatically by making an HTTP POST request to a WhatsApp API like ",{"type":426,"tag":3819,"props":212915,"children":212917},{"href":3821,"rel":212916},[3823],[212918],{"type":431,"value":127310},{"type":431,"value":212920},". Send your API key, recipient phone number, and message body — the API delivers the message to any WhatsApp user worldwide. Rapiwa costs $5\u002Fmonth with no per-message fees and works with every major programming language.",{"type":426,"tag":434,"props":212922,"children":212924},{"id":212923},"what-you-need-before-you-start",[212925],{"type":431,"value":212926},"What You Need Before You Start",{"type":426,"tag":454,"props":212928,"children":212929},{},[212930,212941,212946,212951],{"type":426,"tag":458,"props":212931,"children":212932},{},[212933,212935],{"type":431,"value":212934},"A Rapiwa account — ",{"type":426,"tag":3819,"props":212936,"children":212938},{"href":3821,"rel":212937},[3823],[212939],{"type":431,"value":212940},"free 3-day trial, no credit card",{"type":426,"tag":458,"props":212942,"children":212943},{},[212944],{"type":431,"value":212945},"Your Rapiwa API key (Dashboard → API Keys → Generate Key)",{"type":426,"tag":458,"props":212947,"children":212948},{},[212949],{"type":431,"value":212950},"Your WhatsApp number connected via QR code",{"type":426,"tag":458,"props":212952,"children":212953},{},[212954,212956,212961,212963,212968],{"type":431,"value":212955},"The recipient phone number in international format (e.g. ",{"type":426,"tag":549,"props":212957,"children":212959},{"className":212958},[],[212960],{"type":431,"value":7237},{"type":431,"value":212962}," — country code + number, no ",{"type":426,"tag":549,"props":212964,"children":212966},{"className":212965},[],[212967],{"type":431,"value":2033},{"type":431,"value":212969}," or spaces)",{"type":426,"tag":434,"props":212971,"children":212972},{"id":144177},[212973],{"type":431,"value":144180},{"type":426,"tag":427,"props":212975,"children":212976},{},[212977],{"type":431,"value":212978},"Before sending any messages, connect your WhatsApp number:",{"type":426,"tag":6331,"props":212980,"children":212981},{},[212982,212991,213000,213008,213013],{"type":426,"tag":458,"props":212983,"children":212984},{},[212985,212986],{"type":431,"value":3817},{"type":426,"tag":3819,"props":212987,"children":212989},{"href":3821,"rel":212988},[3823],[212990],{"type":431,"value":3826},{"type":426,"tag":458,"props":212992,"children":212993},{},[212994,212995],{"type":431,"value":47846},{"type":426,"tag":446,"props":212996,"children":212997},{},[212998],{"type":431,"value":212999},"Dashboard → Devices → Add New Device",{"type":426,"tag":458,"props":213001,"children":213002},{},[213003,213004],{"type":431,"value":144206},{"type":426,"tag":446,"props":213005,"children":213006},{},[213007],{"type":431,"value":144211},{"type":426,"tag":458,"props":213009,"children":213010},{},[213011],{"type":431,"value":213012},"Scan the QR code shown in the Rapiwa dashboard",{"type":426,"tag":458,"props":213014,"children":213015},{},[213016,213018,213022],{"type":431,"value":213017},"Your number is now connected. Go to ",{"type":426,"tag":446,"props":213019,"children":213020},{},[213021],{"type":431,"value":182911},{"type":431,"value":213023}," and copy your API key",{"type":426,"tag":427,"props":213025,"children":213026},{},[213027],{"type":431,"value":213028},"Your number is now a programmable API endpoint. Every message you send through the API will appear to come from your normal WhatsApp number.",{"type":426,"tag":434,"props":213030,"children":213032},{"id":213031},"step-2-understand-the-api-request-structure",[213033],{"type":431,"value":213034},"Step 2: Understand the API Request Structure",{"type":426,"tag":427,"props":213036,"children":213037},{},[213038],{"type":431,"value":213039},"All Rapiwa API calls follow this pattern:",{"type":426,"tag":454,"props":213041,"children":213042},{},[213043,213056,213069,213084,213097],{"type":426,"tag":458,"props":213044,"children":213045},{},[213046,213050,213051],{"type":426,"tag":446,"props":213047,"children":213048},{},[213049],{"type":431,"value":46964},{"type":431,"value":700},{"type":426,"tag":549,"props":213052,"children":213054},{"className":213053},[],[213055],{"type":431,"value":67603},{"type":426,"tag":458,"props":213057,"children":213058},{},[213059,213063,213064],{"type":426,"tag":446,"props":213060,"children":213061},{},[213062],{"type":431,"value":174673},{"type":431,"value":700},{"type":426,"tag":549,"props":213065,"children":213067},{"className":213066},[],[213068],{"type":431,"value":48098},{"type":426,"tag":458,"props":213070,"children":213071},{},[213072,213076,213077,213082],{"type":426,"tag":446,"props":213073,"children":213074},{},[213075],{"type":431,"value":86289},{"type":431,"value":700},{"type":426,"tag":549,"props":213078,"children":213080},{"className":213079},[],[213081],{"type":431,"value":10711},{"type":431,"value":213083}," header",{"type":426,"tag":458,"props":213085,"children":213086},{},[213087,213091,213092],{"type":426,"tag":446,"props":213088,"children":213089},{},[213090],{"type":431,"value":77651},{"type":431,"value":700},{"type":426,"tag":549,"props":213093,"children":213095},{"className":213094},[],[213096],{"type":431,"value":77658},{"type":426,"tag":458,"props":213098,"children":213099},{},[213100,213104,213106,213111,213112,213117],{"type":426,"tag":446,"props":213101,"children":213102},{},[213103],{"type":431,"value":48121},{"type":431,"value":213105},": JSON with ",{"type":426,"tag":549,"props":213107,"children":213109},{"className":213108},[],[213110],{"type":431,"value":39195},{"type":431,"value":48630},{"type":426,"tag":549,"props":213113,"children":213115},{"className":213114},[],[213116],{"type":431,"value":2734},{"type":431,"value":213118}," fields",{"type":426,"tag":427,"props":213120,"children":213121},{},[213122],{"type":426,"tag":446,"props":213123,"children":213124},{},[213125],{"type":431,"value":213126},"Required body fields:",{"type":426,"tag":10600,"props":213128,"children":213129},{},[213130,213153],{"type":426,"tag":10604,"props":213131,"children":213132},{},[213133],{"type":426,"tag":10608,"props":213134,"children":213135},{},[213136,213140,213144,213149],{"type":426,"tag":10612,"props":213137,"children":213138},{},[213139],{"type":431,"value":48468},{"type":426,"tag":10612,"props":213141,"children":213142},{},[213143],{"type":431,"value":147038},{"type":426,"tag":10612,"props":213145,"children":213146},{},[213147],{"type":431,"value":213148},"Description",{"type":426,"tag":10612,"props":213150,"children":213151},{},[213152],{"type":431,"value":124816},{"type":426,"tag":10623,"props":213154,"children":213155},{},[213156,213190],{"type":426,"tag":10608,"props":213157,"children":213158},{},[213159,213167,213171,213182],{"type":426,"tag":10630,"props":213160,"children":213161},{},[213162],{"type":426,"tag":549,"props":213163,"children":213165},{"className":213164},[],[213166],{"type":431,"value":39195},{"type":426,"tag":10630,"props":213168,"children":213169},{},[213170],{"type":431,"value":71939},{"type":426,"tag":10630,"props":213172,"children":213173},{},[213174,213176,213181],{"type":431,"value":213175},"Recipient's phone in international format (no ",{"type":426,"tag":549,"props":213177,"children":213179},{"className":213178},[],[213180],{"type":431,"value":2033},{"type":431,"value":5736},{"type":426,"tag":10630,"props":213183,"children":213184},{},[213185],{"type":426,"tag":549,"props":213186,"children":213188},{"className":213187},[],[213189],{"type":431,"value":7286},{"type":426,"tag":10608,"props":213191,"children":213192},{},[213193,213201,213205,213210],{"type":426,"tag":10630,"props":213194,"children":213195},{},[213196],{"type":426,"tag":549,"props":213197,"children":213199},{"className":213198},[],[213200],{"type":431,"value":2734},{"type":426,"tag":10630,"props":213202,"children":213203},{},[213204],{"type":431,"value":71939},{"type":426,"tag":10630,"props":213206,"children":213207},{},[213208],{"type":431,"value":213209},"The text message to send",{"type":426,"tag":10630,"props":213211,"children":213212},{},[213213],{"type":426,"tag":549,"props":213214,"children":213216},{"className":213215},[],[213217],{"type":431,"value":135014},{"type":426,"tag":434,"props":213219,"children":213220},{"id":44959},[213221],{"type":431,"value":44962},{"type":426,"tag":515,"props":213223,"children":213225},{"id":213224},"curl-universal-works-in-any-terminal",[213226],{"type":431,"value":213227},"cURL (Universal — works in any terminal)",{"type":426,"tag":542,"props":213229,"children":213231},{"className":546,"code":213230,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello from Rapiwa! This is my first programmatic WhatsApp message.\"\n  }'\n",[213232],{"type":426,"tag":549,"props":213233,"children":213234},{"__ignoreMap":417},[213235,213258,213273,213288,213299,213306,213314],{"type":426,"tag":553,"props":213236,"children":213237},{"class":555,"line":556},[213238,213242,213246,213250,213254],{"type":426,"tag":553,"props":213239,"children":213240},{"style":560},[213241],{"type":431,"value":563},{"type":426,"tag":553,"props":213243,"children":213244},{"style":566},[213245],{"type":431,"value":569},{"type":426,"tag":553,"props":213247,"children":213248},{"style":572},[213249],{"type":431,"value":575},{"type":426,"tag":553,"props":213251,"children":213252},{"style":572},[213253],{"type":431,"value":580},{"type":426,"tag":553,"props":213255,"children":213256},{"style":566},[213257],{"type":431,"value":585},{"type":426,"tag":553,"props":213259,"children":213260},{"class":555,"line":588},[213261,213265,213269],{"type":426,"tag":553,"props":213262,"children":213263},{"style":566},[213264],{"type":431,"value":594},{"type":426,"tag":553,"props":213266,"children":213267},{"style":572},[213268],{"type":431,"value":599},{"type":426,"tag":553,"props":213270,"children":213271},{"style":566},[213272],{"type":431,"value":585},{"type":426,"tag":553,"props":213274,"children":213275},{"class":555,"line":606},[213276,213280,213284],{"type":426,"tag":553,"props":213277,"children":213278},{"style":566},[213279],{"type":431,"value":594},{"type":426,"tag":553,"props":213281,"children":213282},{"style":572},[213283],{"type":431,"value":616},{"type":426,"tag":553,"props":213285,"children":213286},{"style":566},[213287],{"type":431,"value":585},{"type":426,"tag":553,"props":213289,"children":213290},{"class":555,"line":623},[213291,213295],{"type":426,"tag":553,"props":213292,"children":213293},{"style":566},[213294],{"type":431,"value":629},{"type":426,"tag":553,"props":213296,"children":213297},{"style":572},[213298],{"type":431,"value":634},{"type":426,"tag":553,"props":213300,"children":213301},{"class":555,"line":637},[213302],{"type":426,"tag":553,"props":213303,"children":213304},{"style":572},[213305],{"type":431,"value":643},{"type":426,"tag":553,"props":213307,"children":213308},{"class":555,"line":646},[213309],{"type":426,"tag":553,"props":213310,"children":213311},{"style":572},[213312],{"type":431,"value":213313},"    \"message\": \"Hello from Rapiwa! This is my first programmatic WhatsApp message.\"\n",{"type":426,"tag":553,"props":213315,"children":213316},{"class":555,"line":655},[213317],{"type":426,"tag":553,"props":213318,"children":213319},{"style":572},[213320],{"type":431,"value":661},{"type":426,"tag":427,"props":213322,"children":213323},{},[213324],{"type":426,"tag":446,"props":213325,"children":213326},{},[213327],{"type":431,"value":213328},"Success response:",{"type":426,"tag":542,"props":213330,"children":213332},{"className":674,"code":213331,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123xyz\",\n  \"timestamp\": \"2026-04-03T10:00:00Z\"\n}\n",[213333],{"type":426,"tag":549,"props":213334,"children":213335},{"__ignoreMap":417},[213336,213343,213362,213381,213397],{"type":426,"tag":553,"props":213337,"children":213338},{"class":555,"line":556},[213339],{"type":426,"tag":553,"props":213340,"children":213341},{"style":684},[213342],{"type":431,"value":687},{"type":426,"tag":553,"props":213344,"children":213345},{"class":555,"line":588},[213346,213350,213354,213358],{"type":426,"tag":553,"props":213347,"children":213348},{"style":566},[213349],{"type":431,"value":695},{"type":426,"tag":553,"props":213351,"children":213352},{"style":684},[213353],{"type":431,"value":700},{"type":426,"tag":553,"props":213355,"children":213356},{"style":572},[213357],{"type":431,"value":705},{"type":426,"tag":553,"props":213359,"children":213360},{"style":684},[213361],{"type":431,"value":710},{"type":426,"tag":553,"props":213363,"children":213364},{"class":555,"line":606},[213365,213369,213373,213377],{"type":426,"tag":553,"props":213366,"children":213367},{"style":566},[213368],{"type":431,"value":718},{"type":426,"tag":553,"props":213370,"children":213371},{"style":684},[213372],{"type":431,"value":700},{"type":426,"tag":553,"props":213374,"children":213375},{"style":572},[213376],{"type":431,"value":144623},{"type":426,"tag":553,"props":213378,"children":213379},{"style":684},[213380],{"type":431,"value":710},{"type":426,"tag":553,"props":213382,"children":213383},{"class":555,"line":623},[213384,213388,213392],{"type":426,"tag":553,"props":213385,"children":213386},{"style":566},[213387],{"type":431,"value":739},{"type":426,"tag":553,"props":213389,"children":213390},{"style":684},[213391],{"type":431,"value":700},{"type":426,"tag":553,"props":213393,"children":213394},{"style":572},[213395],{"type":431,"value":213396},"\"2026-04-03T10:00:00Z\"\n",{"type":426,"tag":553,"props":213398,"children":213399},{"class":555,"line":637},[213400],{"type":426,"tag":553,"props":213401,"children":213402},{"style":684},[213403],{"type":431,"value":756},{"type":426,"tag":515,"props":213405,"children":213406},{"id":784},[213407],{"type":431,"value":78773},{"type":426,"tag":542,"props":213409,"children":213411},{"className":785,"code":213410,"language":784,"meta":417,"style":417},"import requests\n\napi_key = \"YOUR_API_KEY\"\n\ndef send_whatsapp(phone_number, message):\n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\n            \"Authorization\": f\"Bearer {api_key}\",\n            \"Content-Type\": \"application\u002Fjson\"\n        },\n        json={\n            \"number\": phone_number,\n            \"message\": message\n        }\n    )\n    return response.json()\n\n# Send a message\nresult = send_whatsapp(\"8801234567890\", \"Hello from Python!\")\nprint(result)\n# Output: {'status': 'success', 'messageId': 'msg_abc123xyz', 'timestamp': '...'}\n",[213412],{"type":426,"tag":549,"props":213413,"children":213414},{"__ignoreMap":417},[213415,213426,213433,213448,213455,213470,213485,213496,213511,213550,213565,213572,213587,213599,213610,213617,213624,213635,213642,213650,213682,213693],{"type":426,"tag":553,"props":213416,"children":213417},{"class":555,"line":556},[213418,213422],{"type":426,"tag":553,"props":213419,"children":213420},{"style":795},[213421],{"type":431,"value":798},{"type":426,"tag":553,"props":213423,"children":213424},{"style":684},[213425],{"type":431,"value":803},{"type":426,"tag":553,"props":213427,"children":213428},{"class":555,"line":588},[213429],{"type":426,"tag":553,"props":213430,"children":213431},{"emptyLinePlaceholder":831},[213432],{"type":431,"value":834},{"type":426,"tag":553,"props":213434,"children":213435},{"class":555,"line":606},[213436,213440,213444],{"type":426,"tag":553,"props":213437,"children":213438},{"style":684},[213439],{"type":431,"value":169837},{"type":426,"tag":553,"props":213441,"children":213442},{"style":795},[213443],{"type":431,"value":957},{"type":426,"tag":553,"props":213445,"children":213446},{"style":572},[213447],{"type":431,"value":40863},{"type":426,"tag":553,"props":213449,"children":213450},{"class":555,"line":623},[213451],{"type":426,"tag":553,"props":213452,"children":213453},{"emptyLinePlaceholder":831},[213454],{"type":431,"value":834},{"type":426,"tag":553,"props":213456,"children":213457},{"class":555,"line":637},[213458,213462,213466],{"type":426,"tag":553,"props":213459,"children":213460},{"style":795},[213461],{"type":431,"value":842},{"type":426,"tag":553,"props":213463,"children":213464},{"style":560},[213465],{"type":431,"value":20746},{"type":426,"tag":553,"props":213467,"children":213468},{"style":684},[213469],{"type":431,"value":174465},{"type":426,"tag":553,"props":213471,"children":213472},{"class":555,"line":646},[213473,213477,213481],{"type":426,"tag":553,"props":213474,"children":213475},{"style":684},[213476],{"type":431,"value":8117},{"type":426,"tag":553,"props":213478,"children":213479},{"style":795},[213480],{"type":431,"value":957},{"type":426,"tag":553,"props":213482,"children":213483},{"style":684},[213484],{"type":431,"value":1664},{"type":426,"tag":553,"props":213486,"children":213487},{"class":555,"line":655},[213488,213492],{"type":426,"tag":553,"props":213489,"children":213490},{"style":572},[213491],{"type":431,"value":47296},{"type":426,"tag":553,"props":213493,"children":213494},{"style":684},[213495],{"type":431,"value":710},{"type":426,"tag":553,"props":213497,"children":213498},{"class":555,"line":1036},[213499,213503,213507],{"type":426,"tag":553,"props":213500,"children":213501},{"style":1684},[213502],{"type":431,"value":1687},{"type":426,"tag":553,"props":213504,"children":213505},{"style":795},[213506],{"type":431,"value":957},{"type":426,"tag":553,"props":213508,"children":213509},{"style":684},[213510],{"type":431,"value":687},{"type":426,"tag":553,"props":213512,"children":213513},{"class":555,"line":1054},[213514,213518,213522,213526,213530,213534,213538,213542,213546],{"type":426,"tag":553,"props":213515,"children":213516},{"style":572},[213517],{"type":431,"value":139511},{"type":426,"tag":553,"props":213519,"children":213520},{"style":684},[213521],{"type":431,"value":700},{"type":426,"tag":553,"props":213523,"children":213524},{"style":795},[213525],{"type":431,"value":1709},{"type":426,"tag":553,"props":213527,"children":213528},{"style":572},[213529],{"type":431,"value":12608},{"type":426,"tag":553,"props":213531,"children":213532},{"style":566},[213533],{"type":431,"value":972},{"type":426,"tag":553,"props":213535,"children":213536},{"style":684},[213537],{"type":431,"value":1723},{"type":426,"tag":553,"props":213539,"children":213540},{"style":566},[213541],{"type":431,"value":982},{"type":426,"tag":553,"props":213543,"children":213544},{"style":572},[213545],{"type":431,"value":1527},{"type":426,"tag":553,"props":213547,"children":213548},{"style":684},[213549],{"type":431,"value":710},{"type":426,"tag":553,"props":213551,"children":213552},{"class":555,"line":1080},[213553,213557,213561],{"type":426,"tag":553,"props":213554,"children":213555},{"style":572},[213556],{"type":431,"value":139551},{"type":426,"tag":553,"props":213558,"children":213559},{"style":684},[213560],{"type":431,"value":700},{"type":426,"tag":553,"props":213562,"children":213563},{"style":572},[213564],{"type":431,"value":113079},{"type":426,"tag":553,"props":213566,"children":213567},{"class":555,"line":1097},[213568],{"type":426,"tag":553,"props":213569,"children":213570},{"style":684},[213571],{"type":431,"value":32445},{"type":426,"tag":553,"props":213573,"children":213574},{"class":555,"line":1114},[213575,213579,213583],{"type":426,"tag":553,"props":213576,"children":213577},{"style":1684},[213578],{"type":431,"value":1746},{"type":426,"tag":553,"props":213580,"children":213581},{"style":795},[213582],{"type":431,"value":957},{"type":426,"tag":553,"props":213584,"children":213585},{"style":684},[213586],{"type":431,"value":687},{"type":426,"tag":553,"props":213588,"children":213589},{"class":555,"line":1127},[213590,213594],{"type":426,"tag":553,"props":213591,"children":213592},{"style":572},[213593],{"type":431,"value":179334},{"type":426,"tag":553,"props":213595,"children":213596},{"style":684},[213597],{"type":431,"value":213598},": phone_number,\n",{"type":426,"tag":553,"props":213600,"children":213601},{"class":555,"line":1167},[213602,213606],{"type":426,"tag":553,"props":213603,"children":213604},{"style":572},[213605],{"type":431,"value":179346},{"type":426,"tag":553,"props":213607,"children":213608},{"style":684},[213609],{"type":431,"value":204994},{"type":426,"tag":553,"props":213611,"children":213612},{"class":555,"line":1184},[213613],{"type":426,"tag":553,"props":213614,"children":213615},{"style":684},[213616],{"type":431,"value":15075},{"type":426,"tag":553,"props":213618,"children":213619},{"class":555,"line":1192},[213620],{"type":426,"tag":553,"props":213621,"children":213622},{"style":684},[213623],{"type":431,"value":1642},{"type":426,"tag":553,"props":213625,"children":213626},{"class":555,"line":1210},[213627,213631],{"type":426,"tag":553,"props":213628,"children":213629},{"style":795},[213630],{"type":431,"value":1659},{"type":426,"tag":553,"props":213632,"children":213633},{"style":684},[213634],{"type":431,"value":9193},{"type":426,"tag":553,"props":213636,"children":213637},{"class":555,"line":1253},[213638],{"type":426,"tag":553,"props":213639,"children":213640},{"emptyLinePlaceholder":831},[213641],{"type":431,"value":834},{"type":426,"tag":553,"props":213643,"children":213644},{"class":555,"line":1302},[213645],{"type":426,"tag":553,"props":213646,"children":213647},{"style":1975},[213648],{"type":431,"value":213649},"# Send a message\n",{"type":426,"tag":553,"props":213651,"children":213652},{"class":555,"line":1374},[213653,213657,213661,213666,213670,213674,213678],{"type":426,"tag":553,"props":213654,"children":213655},{"style":684},[213656],{"type":431,"value":3146},{"type":426,"tag":553,"props":213658,"children":213659},{"style":795},[213660],{"type":431,"value":957},{"type":426,"tag":553,"props":213662,"children":213663},{"style":684},[213664],{"type":431,"value":213665}," send_whatsapp(",{"type":426,"tag":553,"props":213667,"children":213668},{"style":572},[213669],{"type":431,"value":7286},{"type":426,"tag":553,"props":213671,"children":213672},{"style":684},[213673],{"type":431,"value":1907},{"type":426,"tag":553,"props":213675,"children":213676},{"style":572},[213677],{"type":431,"value":139282},{"type":426,"tag":553,"props":213679,"children":213680},{"style":684},[213681],{"type":431,"value":3262},{"type":426,"tag":553,"props":213683,"children":213684},{"class":555,"line":1414},[213685,213689],{"type":426,"tag":553,"props":213686,"children":213687},{"style":566},[213688],{"type":431,"value":3270},{"type":426,"tag":553,"props":213690,"children":213691},{"style":684},[213692],{"type":431,"value":79174},{"type":426,"tag":553,"props":213694,"children":213695},{"class":555,"line":1479},[213696],{"type":426,"tag":553,"props":213697,"children":213698},{"style":1975},[213699],{"type":431,"value":213700},"# Output: {'status': 'success', 'messageId': 'msg_abc123xyz', 'timestamp': '...'}\n",{"type":426,"tag":427,"props":213702,"children":213703},{},[213704],{"type":431,"value":213705},"Install the requests library if you haven't already:",{"type":426,"tag":542,"props":213707,"children":213708},{"className":546,"code":139070,"language":545,"meta":417,"style":417},[213709],{"type":426,"tag":549,"props":213710,"children":213711},{"__ignoreMap":417},[213712],{"type":426,"tag":553,"props":213713,"children":213714},{"class":555,"line":556},[213715,213719,213723],{"type":426,"tag":553,"props":213716,"children":213717},{"style":560},[213718],{"type":431,"value":48871},{"type":426,"tag":553,"props":213720,"children":213721},{"style":572},[213722],{"type":431,"value":48876},{"type":426,"tag":553,"props":213724,"children":213725},{"style":572},[213726],{"type":431,"value":803},{"type":426,"tag":515,"props":213728,"children":213730},{"id":213729},"nodejs-es-modules-async-await",[213731],{"type":431,"value":213732},"Node.js (ES Modules \u002F async-await)",{"type":426,"tag":542,"props":213734,"children":213736},{"className":52113,"code":213735,"language":52115,"meta":417,"style":417},"const API_KEY = \"YOUR_API_KEY\";\n\nasync function sendWhatsApp(phoneNumber, message) {\n  const response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n    method: \"POST\",\n    headers: {\n      \"Authorization\": `Bearer ${API_KEY}`,\n      \"Content-Type\": \"application\u002Fjson\"\n    },\n    body: JSON.stringify({ number: phoneNumber, message: message })\n  });\n  \n  const data = await response.json();\n  return data;\n}\n\n\u002F\u002F Usage\nsendWhatsApp(\"8801234567890\", \"Hello from Node.js!\")\n  .then(result => console.log(result))\n  .catch(err => console.error(err));\n",[213737],{"type":426,"tag":549,"props":213738,"children":213739},{"__ignoreMap":417},[213740,213763,213770,213805,213840,213855,213862,213889,213904,213911,213934,213941,213948,213979,213990,213997,214004,214011,214039,214075],{"type":426,"tag":553,"props":213741,"children":213742},{"class":555,"line":556},[213743,213747,213751,213755,213759],{"type":426,"tag":553,"props":213744,"children":213745},{"style":795},[213746],{"type":431,"value":52135},{"type":426,"tag":553,"props":213748,"children":213749},{"style":566},[213750],{"type":431,"value":133722},{"type":426,"tag":553,"props":213752,"children":213753},{"style":795},[213754],{"type":431,"value":8739},{"type":426,"tag":553,"props":213756,"children":213757},{"style":572},[213758],{"type":431,"value":170073},{"type":426,"tag":553,"props":213760,"children":213761},{"style":684},[213762],{"type":431,"value":52321},{"type":426,"tag":553,"props":213764,"children":213765},{"class":555,"line":588},[213766],{"type":426,"tag":553,"props":213767,"children":213768},{"emptyLinePlaceholder":831},[213769],{"type":431,"value":834},{"type":426,"tag":553,"props":213771,"children":213772},{"class":555,"line":606},[213773,213777,213781,213785,213789,213793,213797,213801],{"type":426,"tag":553,"props":213774,"children":213775},{"style":795},[213776],{"type":431,"value":52361},{"type":426,"tag":553,"props":213778,"children":213779},{"style":795},[213780],{"type":431,"value":52366},{"type":426,"tag":553,"props":213782,"children":213783},{"style":560},[213784],{"type":431,"value":86403},{"type":426,"tag":553,"props":213786,"children":213787},{"style":684},[213788],{"type":431,"value":3275},{"type":426,"tag":553,"props":213790,"children":213791},{"style":1684},[213792],{"type":431,"value":122944},{"type":426,"tag":553,"props":213794,"children":213795},{"style":684},[213796],{"type":431,"value":1907},{"type":426,"tag":553,"props":213798,"children":213799},{"style":1684},[213800],{"type":431,"value":2734},{"type":426,"tag":553,"props":213802,"children":213803},{"style":684},[213804],{"type":431,"value":52385},{"type":426,"tag":553,"props":213806,"children":213807},{"class":555,"line":623},[213808,213812,213816,213820,213824,213828,213832,213836],{"type":426,"tag":553,"props":213809,"children":213810},{"style":795},[213811],{"type":431,"value":52540},{"type":426,"tag":553,"props":213813,"children":213814},{"style":566},[213815],{"type":431,"value":53061},{"type":426,"tag":553,"props":213817,"children":213818},{"style":795},[213819],{"type":431,"value":8739},{"type":426,"tag":553,"props":213821,"children":213822},{"style":795},[213823],{"type":431,"value":53070},{"type":426,"tag":553,"props":213825,"children":213826},{"style":560},[213827],{"type":431,"value":52226},{"type":426,"tag":553,"props":213829,"children":213830},{"style":684},[213831],{"type":431,"value":3275},{"type":426,"tag":553,"props":213833,"children":213834},{"style":572},[213835],{"type":431,"value":60449},{"type":426,"tag":553,"props":213837,"children":213838},{"style":684},[213839],{"type":431,"value":53088},{"type":426,"tag":553,"props":213841,"children":213842},{"class":555,"line":637},[213843,213847,213851],{"type":426,"tag":553,"props":213844,"children":213845},{"style":684},[213846],{"type":431,"value":53096},{"type":426,"tag":553,"props":213848,"children":213849},{"style":572},[213850],{"type":431,"value":60428},{"type":426,"tag":553,"props":213852,"children":213853},{"style":684},[213854],{"type":431,"value":710},{"type":426,"tag":553,"props":213856,"children":213857},{"class":555,"line":646},[213858],{"type":426,"tag":553,"props":213859,"children":213860},{"style":684},[213861],{"type":431,"value":53112},{"type":426,"tag":553,"props":213863,"children":213864},{"class":555,"line":655},[213865,213869,213873,213877,213881,213885],{"type":426,"tag":553,"props":213866,"children":213867},{"style":572},[213868],{"type":431,"value":131200},{"type":426,"tag":553,"props":213870,"children":213871},{"style":684},[213872],{"type":431,"value":700},{"type":426,"tag":553,"props":213874,"children":213875},{"style":572},[213876],{"type":431,"value":53129},{"type":426,"tag":553,"props":213878,"children":213879},{"style":566},[213880],{"type":431,"value":133819},{"type":426,"tag":553,"props":213882,"children":213883},{"style":572},[213884],{"type":431,"value":52718},{"type":426,"tag":553,"props":213886,"children":213887},{"style":684},[213888],{"type":431,"value":710},{"type":426,"tag":553,"props":213890,"children":213891},{"class":555,"line":1036},[213892,213896,213900],{"type":426,"tag":553,"props":213893,"children":213894},{"style":572},[213895],{"type":431,"value":131228},{"type":426,"tag":553,"props":213897,"children":213898},{"style":684},[213899],{"type":431,"value":700},{"type":426,"tag":553,"props":213901,"children":213902},{"style":572},[213903],{"type":431,"value":113079},{"type":426,"tag":553,"props":213905,"children":213906},{"class":555,"line":1054},[213907],{"type":426,"tag":553,"props":213908,"children":213909},{"style":684},[213910],{"type":431,"value":17203},{"type":426,"tag":553,"props":213912,"children":213913},{"class":555,"line":1080},[213914,213918,213922,213926,213930],{"type":426,"tag":553,"props":213915,"children":213916},{"style":684},[213917],{"type":431,"value":53173},{"type":426,"tag":553,"props":213919,"children":213920},{"style":566},[213921],{"type":431,"value":53178},{"type":426,"tag":553,"props":213923,"children":213924},{"style":684},[213925],{"type":431,"value":6789},{"type":426,"tag":553,"props":213927,"children":213928},{"style":560},[213929],{"type":431,"value":53187},{"type":426,"tag":553,"props":213931,"children":213932},{"style":684},[213933],{"type":431,"value":205600},{"type":426,"tag":553,"props":213935,"children":213936},{"class":555,"line":1097},[213937],{"type":426,"tag":553,"props":213938,"children":213939},{"style":684},[213940],{"type":431,"value":52480},{"type":426,"tag":553,"props":213942,"children":213943},{"class":555,"line":1114},[213944],{"type":426,"tag":553,"props":213945,"children":213946},{"style":684},[213947],{"type":431,"value":52575},{"type":426,"tag":553,"props":213949,"children":213950},{"class":555,"line":1127},[213951,213955,213959,213963,213967,213971,213975],{"type":426,"tag":553,"props":213952,"children":213953},{"style":795},[213954],{"type":431,"value":52540},{"type":426,"tag":553,"props":213956,"children":213957},{"style":566},[213958],{"type":431,"value":75817},{"type":426,"tag":553,"props":213960,"children":213961},{"style":795},[213962],{"type":431,"value":8739},{"type":426,"tag":553,"props":213964,"children":213965},{"style":795},[213966],{"type":431,"value":53070},{"type":426,"tag":553,"props":213968,"children":213969},{"style":684},[213970],{"type":431,"value":53218},{"type":426,"tag":553,"props":213972,"children":213973},{"style":560},[213974],{"type":431,"value":673},{"type":426,"tag":553,"props":213976,"children":213977},{"style":684},[213978],{"type":431,"value":53227},{"type":426,"tag":553,"props":213980,"children":213981},{"class":555,"line":1167},[213982,213986],{"type":426,"tag":553,"props":213983,"children":213984},{"style":795},[213985],{"type":431,"value":52393},{"type":426,"tag":553,"props":213987,"children":213988},{"style":684},[213989],{"type":431,"value":84894},{"type":426,"tag":553,"props":213991,"children":213992},{"class":555,"line":1184},[213993],{"type":426,"tag":553,"props":213994,"children":213995},{"style":684},[213996],{"type":431,"value":756},{"type":426,"tag":553,"props":213998,"children":213999},{"class":555,"line":1192},[214000],{"type":426,"tag":553,"props":214001,"children":214002},{"emptyLinePlaceholder":831},[214003],{"type":431,"value":834},{"type":426,"tag":553,"props":214005,"children":214006},{"class":555,"line":1210},[214007],{"type":426,"tag":553,"props":214008,"children":214009},{"style":1975},[214010],{"type":431,"value":53575},{"type":426,"tag":553,"props":214012,"children":214013},{"class":555,"line":1253},[214014,214019,214023,214027,214031,214035],{"type":426,"tag":553,"props":214015,"children":214016},{"style":560},[214017],{"type":431,"value":214018},"sendWhatsApp",{"type":426,"tag":553,"props":214020,"children":214021},{"style":684},[214022],{"type":431,"value":3275},{"type":426,"tag":553,"props":214024,"children":214025},{"style":572},[214026],{"type":431,"value":7286},{"type":426,"tag":553,"props":214028,"children":214029},{"style":684},[214030],{"type":431,"value":1907},{"type":426,"tag":553,"props":214032,"children":214033},{"style":572},[214034],{"type":431,"value":210781},{"type":426,"tag":553,"props":214036,"children":214037},{"style":684},[214038],{"type":431,"value":3262},{"type":426,"tag":553,"props":214040,"children":214041},{"class":555,"line":1302},[214042,214046,214050,214054,214058,214062,214066,214070],{"type":426,"tag":553,"props":214043,"children":214044},{"style":684},[214045],{"type":431,"value":123448},{"type":426,"tag":553,"props":214047,"children":214048},{"style":560},[214049],{"type":431,"value":53695},{"type":426,"tag":553,"props":214051,"children":214052},{"style":684},[214053],{"type":431,"value":3275},{"type":426,"tag":553,"props":214055,"children":214056},{"style":1684},[214057],{"type":431,"value":53704},{"type":426,"tag":553,"props":214059,"children":214060},{"style":795},[214061],{"type":431,"value":53709},{"type":426,"tag":553,"props":214063,"children":214064},{"style":684},[214065],{"type":431,"value":53714},{"type":426,"tag":553,"props":214067,"children":214068},{"style":560},[214069],{"type":431,"value":53719},{"type":426,"tag":553,"props":214071,"children":214072},{"style":684},[214073],{"type":431,"value":214074},"(result))\n",{"type":426,"tag":553,"props":214076,"children":214077},{"class":555,"line":1374},[214078,214082,214086,214090,214095,214099,214103,214107],{"type":426,"tag":553,"props":214079,"children":214080},{"style":684},[214081],{"type":431,"value":123448},{"type":426,"tag":553,"props":214083,"children":214084},{"style":560},[214085],{"type":431,"value":61750},{"type":426,"tag":553,"props":214087,"children":214088},{"style":684},[214089],{"type":431,"value":3275},{"type":426,"tag":553,"props":214091,"children":214092},{"style":1684},[214093],{"type":431,"value":214094},"err",{"type":426,"tag":553,"props":214096,"children":214097},{"style":795},[214098],{"type":431,"value":53709},{"type":426,"tag":553,"props":214100,"children":214101},{"style":684},[214102],{"type":431,"value":53714},{"type":426,"tag":553,"props":214104,"children":214105},{"style":560},[214106],{"type":431,"value":70759},{"type":426,"tag":553,"props":214108,"children":214109},{"style":684},[214110],{"type":431,"value":214111},"(err));\n",{"type":426,"tag":427,"props":214113,"children":214114},{},[214115,214117,214122,214124,214129],{"type":431,"value":214116},"Node.js 18+ includes ",{"type":426,"tag":549,"props":214118,"children":214120},{"className":214119},[],[214121],{"type":431,"value":106098},{"type":431,"value":214123}," natively. For older versions, install ",{"type":426,"tag":549,"props":214125,"children":214127},{"className":214126},[],[214128],{"type":431,"value":138949},{"type":431,"value":19071},{"type":426,"tag":542,"props":214131,"children":214133},{"className":546,"code":214132,"language":545,"meta":417,"style":417},"npm install node-fetch\n",[214134],{"type":426,"tag":549,"props":214135,"children":214136},{"__ignoreMap":417},[214137],{"type":426,"tag":553,"props":214138,"children":214139},{"class":555,"line":556},[214140,214144,214148],{"type":426,"tag":553,"props":214141,"children":214142},{"style":560},[214143],{"type":431,"value":52091},{"type":426,"tag":553,"props":214145,"children":214146},{"style":572},[214147],{"type":431,"value":48876},{"type":426,"tag":553,"props":214149,"children":214150},{"style":572},[214151],{"type":431,"value":198470},{"type":426,"tag":515,"props":214153,"children":214155},{"id":214154},"php-with-guzzlehttp",[214156],{"type":431,"value":214157},"PHP (with GuzzleHTTP)",{"type":426,"tag":542,"props":214159,"children":214161},{"className":79948,"code":214160,"language":79950,"meta":417,"style":417},"\u003C?php\nrequire 'vendor\u002Fautoload.php';\n\nuse GuzzleHttp\\Client;\n\n$apiKey = 'YOUR_API_KEY';\n$client = new Client();\n\nfunction sendWhatsApp($phoneNumber, $message, $apiKey) {\n    global $client;\n    $response = $client->post('https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message', [\n        'headers' => [\n            'Authorization' => 'Bearer ' . $apiKey,\n            'Content-Type'  => 'application\u002Fjson'\n        ],\n        'json' => [\n            'number'  => $phoneNumber,\n            'message' => $message\n        ]\n    ]);\n    return json_decode($response->getBody(), true);\n}\n\n$result = sendWhatsApp('8801234567890', 'Hello from PHP!', $apiKey);\nprint_r($result);\n\u002F\u002F Array ( [status] => success [messageId] => msg_abc123xyz )\n",[214162],{"type":426,"tag":549,"props":214163,"children":214164},{"__ignoreMap":417},[214165,214176,214191,214198,214213,214220,214239,214262,214269,214285,214298,214333,214348,214372,214387,214394,214409,214424,214439,214446,214453,214488,214495,214502,214539,214551],{"type":426,"tag":553,"props":214166,"children":214167},{"class":555,"line":556},[214168,214172],{"type":426,"tag":553,"props":214169,"children":214170},{"style":795},[214171],{"type":431,"value":86379},{"type":426,"tag":553,"props":214173,"children":214174},{"style":566},[214175],{"type":431,"value":86384},{"type":426,"tag":553,"props":214177,"children":214178},{"class":555,"line":588},[214179,214183,214187],{"type":426,"tag":553,"props":214180,"children":214181},{"style":795},[214182],{"type":431,"value":87452},{"type":426,"tag":553,"props":214184,"children":214185},{"style":572},[214186],{"type":431,"value":87457},{"type":426,"tag":553,"props":214188,"children":214189},{"style":684},[214190],{"type":431,"value":52321},{"type":426,"tag":553,"props":214192,"children":214193},{"class":555,"line":606},[214194],{"type":426,"tag":553,"props":214195,"children":214196},{"emptyLinePlaceholder":831},[214197],{"type":431,"value":834},{"type":426,"tag":553,"props":214199,"children":214200},{"class":555,"line":623},[214201,214205,214209],{"type":426,"tag":553,"props":214202,"children":214203},{"style":795},[214204],{"type":431,"value":84570},{"type":426,"tag":553,"props":214206,"children":214207},{"style":566},[214208],{"type":431,"value":87480},{"type":426,"tag":553,"props":214210,"children":214211},{"style":684},[214212],{"type":431,"value":52321},{"type":426,"tag":553,"props":214214,"children":214215},{"class":555,"line":637},[214216],{"type":426,"tag":553,"props":214217,"children":214218},{"emptyLinePlaceholder":831},[214219],{"type":431,"value":834},{"type":426,"tag":553,"props":214221,"children":214222},{"class":555,"line":646},[214223,214227,214231,214235],{"type":426,"tag":553,"props":214224,"children":214225},{"style":684},[214226],{"type":431,"value":87085},{"type":426,"tag":553,"props":214228,"children":214229},{"style":795},[214230],{"type":431,"value":957},{"type":426,"tag":553,"props":214232,"children":214233},{"style":572},[214234],{"type":431,"value":52316},{"type":426,"tag":553,"props":214236,"children":214237},{"style":684},[214238],{"type":431,"value":52321},{"type":426,"tag":553,"props":214240,"children":214241},{"class":555,"line":655},[214242,214246,214250,214254,214258],{"type":426,"tag":553,"props":214243,"children":214244},{"style":684},[214245],{"type":431,"value":170970},{"type":426,"tag":553,"props":214247,"children":214248},{"style":795},[214249],{"type":431,"value":957},{"type":426,"tag":553,"props":214251,"children":214252},{"style":795},[214253],{"type":431,"value":52275},{"type":426,"tag":553,"props":214255,"children":214256},{"style":566},[214257],{"type":431,"value":87553},{"type":426,"tag":553,"props":214259,"children":214260},{"style":684},[214261],{"type":431,"value":53227},{"type":426,"tag":553,"props":214263,"children":214264},{"class":555,"line":1036},[214265],{"type":426,"tag":553,"props":214266,"children":214267},{"emptyLinePlaceholder":831},[214268],{"type":431,"value":834},{"type":426,"tag":553,"props":214270,"children":214271},{"class":555,"line":1054},[214272,214276,214280],{"type":426,"tag":553,"props":214273,"children":214274},{"style":795},[214275],{"type":431,"value":79962},{"type":426,"tag":553,"props":214277,"children":214278},{"style":560},[214279],{"type":431,"value":86403},{"type":426,"tag":553,"props":214281,"children":214282},{"style":684},[214283],{"type":431,"value":214284},"($phoneNumber, $message, $apiKey) {\n",{"type":426,"tag":553,"props":214286,"children":214287},{"class":555,"line":1080},[214288,214293],{"type":426,"tag":553,"props":214289,"children":214290},{"style":795},[214291],{"type":431,"value":214292},"    global",{"type":426,"tag":553,"props":214294,"children":214295},{"style":684},[214296],{"type":431,"value":214297}," $client;\n",{"type":426,"tag":553,"props":214299,"children":214300},{"class":555,"line":1097},[214301,214305,214309,214313,214317,214321,214325,214329],{"type":426,"tag":553,"props":214302,"children":214303},{"style":684},[214304],{"type":431,"value":86692},{"type":426,"tag":553,"props":214306,"children":214307},{"style":795},[214308],{"type":431,"value":957},{"type":426,"tag":553,"props":214310,"children":214311},{"style":684},[214312],{"type":431,"value":171003},{"type":426,"tag":553,"props":214314,"children":214315},{"style":795},[214316],{"type":431,"value":70711},{"type":426,"tag":553,"props":214318,"children":214319},{"style":560},[214320],{"type":431,"value":70594},{"type":426,"tag":553,"props":214322,"children":214323},{"style":684},[214324],{"type":431,"value":3275},{"type":426,"tag":553,"props":214326,"children":214327},{"style":572},[214328],{"type":431,"value":55802},{"type":426,"tag":553,"props":214330,"children":214331},{"style":684},[214332],{"type":431,"value":87886},{"type":426,"tag":553,"props":214334,"children":214335},{"class":555,"line":1114},[214336,214340,214344],{"type":426,"tag":553,"props":214337,"children":214338},{"style":572},[214339],{"type":431,"value":89873},{"type":426,"tag":553,"props":214341,"children":214342},{"style":795},[214343],{"type":431,"value":53709},{"type":426,"tag":553,"props":214345,"children":214346},{"style":684},[214347],{"type":431,"value":80133},{"type":426,"tag":553,"props":214349,"children":214350},{"class":555,"line":1127},[214351,214355,214359,214363,214367],{"type":426,"tag":553,"props":214352,"children":214353},{"style":572},[214354],{"type":431,"value":89889},{"type":426,"tag":553,"props":214356,"children":214357},{"style":795},[214358],{"type":431,"value":53709},{"type":426,"tag":553,"props":214360,"children":214361},{"style":572},[214362],{"type":431,"value":89898},{"type":426,"tag":553,"props":214364,"children":214365},{"style":795},[214366],{"type":431,"value":87022},{"type":426,"tag":553,"props":214368,"children":214369},{"style":684},[214370],{"type":431,"value":214371}," $apiKey,\n",{"type":426,"tag":553,"props":214373,"children":214374},{"class":555,"line":1167},[214375,214379,214383],{"type":426,"tag":553,"props":214376,"children":214377},{"style":572},[214378],{"type":431,"value":89927},{"type":426,"tag":553,"props":214380,"children":214381},{"style":795},[214382],{"type":431,"value":86642},{"type":426,"tag":553,"props":214384,"children":214385},{"style":572},[214386],{"type":431,"value":156659},{"type":426,"tag":553,"props":214388,"children":214389},{"class":555,"line":1184},[214390],{"type":426,"tag":553,"props":214391,"children":214392},{"style":684},[214393],{"type":431,"value":80161},{"type":426,"tag":553,"props":214395,"children":214396},{"class":555,"line":1192},[214397,214401,214405],{"type":426,"tag":553,"props":214398,"children":214399},{"style":572},[214400],{"type":431,"value":198912},{"type":426,"tag":553,"props":214402,"children":214403},{"style":795},[214404],{"type":431,"value":53709},{"type":426,"tag":553,"props":214406,"children":214407},{"style":684},[214408],{"type":431,"value":80133},{"type":426,"tag":553,"props":214410,"children":214411},{"class":555,"line":1210},[214412,214416,214420],{"type":426,"tag":553,"props":214413,"children":214414},{"style":572},[214415],{"type":431,"value":15045},{"type":426,"tag":553,"props":214417,"children":214418},{"style":795},[214419],{"type":431,"value":86642},{"type":426,"tag":553,"props":214421,"children":214422},{"style":684},[214423],{"type":431,"value":124080},{"type":426,"tag":553,"props":214425,"children":214426},{"class":555,"line":1253},[214427,214431,214435],{"type":426,"tag":553,"props":214428,"children":214429},{"style":572},[214430],{"type":431,"value":15058},{"type":426,"tag":553,"props":214432,"children":214433},{"style":795},[214434],{"type":431,"value":53709},{"type":426,"tag":553,"props":214436,"children":214437},{"style":684},[214438],{"type":431,"value":94569},{"type":426,"tag":553,"props":214440,"children":214441},{"class":555,"line":1302},[214442],{"type":426,"tag":553,"props":214443,"children":214444},{"style":684},[214445],{"type":431,"value":17195},{"type":426,"tag":553,"props":214447,"children":214448},{"class":555,"line":1374},[214449],{"type":426,"tag":553,"props":214450,"children":214451},{"style":684},[214452],{"type":431,"value":80263},{"type":426,"tag":553,"props":214454,"children":214455},{"class":555,"line":1414},[214456,214460,214464,214468,214472,214476,214480,214484],{"type":426,"tag":553,"props":214457,"children":214458},{"style":795},[214459],{"type":431,"value":1659},{"type":426,"tag":553,"props":214461,"children":214462},{"style":566},[214463],{"type":431,"value":80280},{"type":426,"tag":553,"props":214465,"children":214466},{"style":684},[214467],{"type":431,"value":87958},{"type":426,"tag":553,"props":214469,"children":214470},{"style":795},[214471],{"type":431,"value":70711},{"type":426,"tag":553,"props":214473,"children":214474},{"style":560},[214475],{"type":431,"value":61498},{"type":426,"tag":553,"props":214477,"children":214478},{"style":684},[214479],{"type":431,"value":87985},{"type":426,"tag":553,"props":214481,"children":214482},{"style":566},[214483],{"type":431,"value":48523},{"type":426,"tag":553,"props":214485,"children":214486},{"style":684},[214487],{"type":431,"value":11379},{"type":426,"tag":553,"props":214489,"children":214490},{"class":555,"line":1479},[214491],{"type":426,"tag":553,"props":214492,"children":214493},{"style":684},[214494],{"type":431,"value":756},{"type":426,"tag":553,"props":214496,"children":214497},{"class":555,"line":1517},[214498],{"type":426,"tag":553,"props":214499,"children":214500},{"emptyLinePlaceholder":831},[214501],{"type":431,"value":834},{"type":426,"tag":553,"props":214503,"children":214504},{"class":555,"line":1560},[214505,214509,214513,214517,214521,214525,214529,214534],{"type":426,"tag":553,"props":214506,"children":214507},{"style":684},[214508],{"type":431,"value":88627},{"type":426,"tag":553,"props":214510,"children":214511},{"style":795},[214512],{"type":431,"value":957},{"type":426,"tag":553,"props":214514,"children":214515},{"style":560},[214516],{"type":431,"value":86403},{"type":426,"tag":553,"props":214518,"children":214519},{"style":684},[214520],{"type":431,"value":3275},{"type":426,"tag":553,"props":214522,"children":214523},{"style":572},[214524],{"type":431,"value":10197},{"type":426,"tag":553,"props":214526,"children":214527},{"style":684},[214528],{"type":431,"value":1907},{"type":426,"tag":553,"props":214530,"children":214531},{"style":572},[214532],{"type":431,"value":214533},"'Hello from PHP!'",{"type":426,"tag":553,"props":214535,"children":214536},{"style":684},[214537],{"type":431,"value":214538},", $apiKey);\n",{"type":426,"tag":553,"props":214540,"children":214541},{"class":555,"line":1598},[214542,214546],{"type":426,"tag":553,"props":214543,"children":214544},{"style":566},[214545],{"type":431,"value":170889},{"type":426,"tag":553,"props":214547,"children":214548},{"style":684},[214549],{"type":431,"value":214550},"($result);\n",{"type":426,"tag":553,"props":214552,"children":214553},{"class":555,"line":1636},[214554],{"type":426,"tag":553,"props":214555,"children":214556},{"style":1975},[214557],{"type":431,"value":214558},"\u002F\u002F Array ( [status] => success [messageId] => msg_abc123xyz )\n",{"type":426,"tag":427,"props":214560,"children":214561},{},[214562],{"type":431,"value":214563},"Install Guzzle:",{"type":426,"tag":542,"props":214565,"children":214566},{"className":546,"code":87398,"language":545,"meta":417,"style":417},[214567],{"type":426,"tag":549,"props":214568,"children":214569},{"__ignoreMap":417},[214570],{"type":426,"tag":553,"props":214571,"children":214572},{"class":555,"line":556},[214573,214577,214581],{"type":426,"tag":553,"props":214574,"children":214575},{"style":560},[214576],{"type":431,"value":87410},{"type":426,"tag":553,"props":214578,"children":214579},{"style":572},[214580],{"type":431,"value":52149},{"type":426,"tag":553,"props":214582,"children":214583},{"style":572},[214584],{"type":431,"value":87419},{"type":426,"tag":515,"props":214586,"children":214587},{"id":60807},[214588],{"type":431,"value":171157},{"type":426,"tag":542,"props":214590,"children":214592},{"className":60808,"code":214591,"language":60807,"meta":417,"style":417},"import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\nimport java.net.http.HttpRequest.BodyPublishers;\n\npublic class RapiwaExample {\n    private static final String API_KEY = \"YOUR_API_KEY\";\n    private static final String ENDPOINT = \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\";\n\n    public static void main(String[] args) throws Exception {\n        String jsonBody = \"\"\"\n            {\n                \"number\": \"8801234567890\",\n                \"message\": \"Hello from Java!\"\n            }\n        \"\"\";\n\n        HttpClient client = HttpClient.newHttpClient();\n        HttpRequest request = HttpRequest.newBuilder()\n            .uri(URI.create(ENDPOINT))\n            .header(\"Authorization\", \"Bearer \" + API_KEY)\n            .header(\"Content-Type\", \"application\u002Fjson\")\n            .POST(BodyPublishers.ofString(jsonBody))\n            .build();\n\n        HttpResponse\u003CString> response = client.send(request, HttpResponse.BodyHandlers.ofString());\n        System.out.println(\"Response: \" + response.body());\n        \u002F\u002F Response: {\"status\":\"success\",\"messageId\":\"msg_abc123xyz\"}\n    }\n}\n",[214593],{"type":426,"tag":549,"props":214594,"children":214595},{"__ignoreMap":417},[214596,214607,214618,214629,214640,214651,214658,214678,214709,214741,214748,214795,214811,214818,214826,214834,214841,214852,214859,214883,214906,214930,214966,214997,215020,215035,215042,215081,215117,215125,215132],{"type":426,"tag":553,"props":214597,"children":214598},{"class":555,"line":556},[214599,214603],{"type":426,"tag":553,"props":214600,"children":214601},{"style":795},[214602],{"type":431,"value":798},{"type":426,"tag":553,"props":214604,"children":214605},{"style":684},[214606],{"type":431,"value":66789},{"type":426,"tag":553,"props":214608,"children":214609},{"class":555,"line":588},[214610,214614],{"type":426,"tag":553,"props":214611,"children":214612},{"style":795},[214613],{"type":431,"value":798},{"type":426,"tag":553,"props":214615,"children":214616},{"style":684},[214617],{"type":431,"value":66801},{"type":426,"tag":553,"props":214619,"children":214620},{"class":555,"line":606},[214621,214625],{"type":426,"tag":553,"props":214622,"children":214623},{"style":795},[214624],{"type":431,"value":798},{"type":426,"tag":553,"props":214626,"children":214627},{"style":684},[214628],{"type":431,"value":66813},{"type":426,"tag":553,"props":214630,"children":214631},{"class":555,"line":623},[214632,214636],{"type":426,"tag":553,"props":214633,"children":214634},{"style":795},[214635],{"type":431,"value":798},{"type":426,"tag":553,"props":214637,"children":214638},{"style":684},[214639],{"type":431,"value":66825},{"type":426,"tag":553,"props":214641,"children":214642},{"class":555,"line":637},[214643,214647],{"type":426,"tag":553,"props":214644,"children":214645},{"style":795},[214646],{"type":431,"value":798},{"type":426,"tag":553,"props":214648,"children":214649},{"style":684},[214650],{"type":431,"value":171220},{"type":426,"tag":553,"props":214652,"children":214653},{"class":555,"line":646},[214654],{"type":426,"tag":553,"props":214655,"children":214656},{"emptyLinePlaceholder":831},[214657],{"type":431,"value":834},{"type":426,"tag":553,"props":214659,"children":214660},{"class":555,"line":655},[214661,214665,214669,214674],{"type":426,"tag":553,"props":214662,"children":214663},{"style":795},[214664],{"type":431,"value":60828},{"type":426,"tag":553,"props":214666,"children":214667},{"style":795},[214668],{"type":431,"value":60833},{"type":426,"tag":553,"props":214670,"children":214671},{"style":560},[214672],{"type":431,"value":214673}," RapiwaExample",{"type":426,"tag":553,"props":214675,"children":214676},{"style":684},[214677],{"type":431,"value":5458},{"type":426,"tag":553,"props":214679,"children":214680},{"class":555,"line":1036},[214681,214685,214689,214693,214697,214701,214705],{"type":426,"tag":553,"props":214682,"children":214683},{"style":795},[214684],{"type":431,"value":60857},{"type":426,"tag":553,"props":214686,"children":214687},{"style":795},[214688],{"type":431,"value":60862},{"type":426,"tag":553,"props":214690,"children":214691},{"style":795},[214692],{"type":431,"value":60867},{"type":426,"tag":553,"props":214694,"children":214695},{"style":684},[214696],{"type":431,"value":60905},{"type":426,"tag":553,"props":214698,"children":214699},{"style":795},[214700],{"type":431,"value":957},{"type":426,"tag":553,"props":214702,"children":214703},{"style":572},[214704],{"type":431,"value":170073},{"type":426,"tag":553,"props":214706,"children":214707},{"style":684},[214708],{"type":431,"value":52321},{"type":426,"tag":553,"props":214710,"children":214711},{"class":555,"line":1054},[214712,214716,214720,214724,214729,214733,214737],{"type":426,"tag":553,"props":214713,"children":214714},{"style":795},[214715],{"type":431,"value":60857},{"type":426,"tag":553,"props":214717,"children":214718},{"style":795},[214719],{"type":431,"value":60862},{"type":426,"tag":553,"props":214721,"children":214722},{"style":795},[214723],{"type":431,"value":60867},{"type":426,"tag":553,"props":214725,"children":214726},{"style":684},[214727],{"type":431,"value":214728}," String ENDPOINT ",{"type":426,"tag":553,"props":214730,"children":214731},{"style":795},[214732],{"type":431,"value":957},{"type":426,"tag":553,"props":214734,"children":214735},{"style":572},[214736],{"type":431,"value":66899},{"type":426,"tag":553,"props":214738,"children":214739},{"style":684},[214740],{"type":431,"value":52321},{"type":426,"tag":553,"props":214742,"children":214743},{"class":555,"line":1080},[214744],{"type":426,"tag":553,"props":214745,"children":214746},{"emptyLinePlaceholder":831},[214747],{"type":431,"value":834},{"type":426,"tag":553,"props":214749,"children":214750},{"class":555,"line":1097},[214751,214755,214759,214763,214767,214771,214775,214779,214783,214787,214791],{"type":426,"tag":553,"props":214752,"children":214753},{"style":795},[214754],{"type":431,"value":61004},{"type":426,"tag":553,"props":214756,"children":214757},{"style":795},[214758],{"type":431,"value":60862},{"type":426,"tag":553,"props":214760,"children":214761},{"style":795},[214762],{"type":431,"value":61013},{"type":426,"tag":553,"props":214764,"children":214765},{"style":560},[214766],{"type":431,"value":68282},{"type":426,"tag":553,"props":214768,"children":214769},{"style":684},[214770],{"type":431,"value":3275},{"type":426,"tag":553,"props":214772,"children":214773},{"style":795},[214774],{"type":431,"value":61237},{"type":426,"tag":553,"props":214776,"children":214777},{"style":684},[214778],{"type":431,"value":68295},{"type":426,"tag":553,"props":214780,"children":214781},{"style":1684},[214782],{"type":431,"value":68300},{"type":426,"tag":553,"props":214784,"children":214785},{"style":684},[214786],{"type":431,"value":2987},{"type":426,"tag":553,"props":214788,"children":214789},{"style":795},[214790],{"type":431,"value":67213},{"type":426,"tag":553,"props":214792,"children":214793},{"style":684},[214794],{"type":431,"value":67218},{"type":426,"tag":553,"props":214796,"children":214797},{"class":555,"line":1114},[214798,214802,214806],{"type":426,"tag":553,"props":214799,"children":214800},{"style":684},[214801],{"type":431,"value":67226},{"type":426,"tag":553,"props":214803,"children":214804},{"style":795},[214805],{"type":431,"value":957},{"type":426,"tag":553,"props":214807,"children":214808},{"style":572},[214809],{"type":431,"value":214810}," \"\"\"\n",{"type":426,"tag":553,"props":214812,"children":214813},{"class":555,"line":1127},[214814],{"type":426,"tag":553,"props":214815,"children":214816},{"style":572},[214817],{"type":431,"value":21084},{"type":426,"tag":553,"props":214819,"children":214820},{"class":555,"line":1167},[214821],{"type":426,"tag":553,"props":214822,"children":214823},{"style":572},[214824],{"type":431,"value":214825},"                \"number\": \"8801234567890\",\n",{"type":426,"tag":553,"props":214827,"children":214828},{"class":555,"line":1184},[214829],{"type":426,"tag":553,"props":214830,"children":214831},{"style":572},[214832],{"type":431,"value":214833},"                \"message\": \"Hello from Java!\"\n",{"type":426,"tag":553,"props":214835,"children":214836},{"class":555,"line":1192},[214837],{"type":426,"tag":553,"props":214838,"children":214839},{"style":572},[214840],{"type":431,"value":21329},{"type":426,"tag":553,"props":214842,"children":214843},{"class":555,"line":1210},[214844,214848],{"type":426,"tag":553,"props":214845,"children":214846},{"style":572},[214847],{"type":431,"value":2166},{"type":426,"tag":553,"props":214849,"children":214850},{"style":684},[214851],{"type":431,"value":52321},{"type":426,"tag":553,"props":214853,"children":214854},{"class":555,"line":1253},[214855],{"type":426,"tag":553,"props":214856,"children":214857},{"emptyLinePlaceholder":831},[214858],{"type":431,"value":834},{"type":426,"tag":553,"props":214860,"children":214861},{"class":555,"line":1302},[214862,214867,214871,214875,214879],{"type":426,"tag":553,"props":214863,"children":214864},{"style":684},[214865],{"type":431,"value":214866},"        HttpClient client ",{"type":426,"tag":553,"props":214868,"children":214869},{"style":795},[214870],{"type":431,"value":957},{"type":426,"tag":553,"props":214872,"children":214873},{"style":684},[214874],{"type":431,"value":67008},{"type":426,"tag":553,"props":214876,"children":214877},{"style":560},[214878],{"type":431,"value":69154},{"type":426,"tag":553,"props":214880,"children":214881},{"style":684},[214882],{"type":431,"value":53227},{"type":426,"tag":553,"props":214884,"children":214885},{"class":555,"line":1374},[214886,214890,214894,214898,214902],{"type":426,"tag":553,"props":214887,"children":214888},{"style":684},[214889],{"type":431,"value":67443},{"type":426,"tag":553,"props":214891,"children":214892},{"style":795},[214893],{"type":431,"value":957},{"type":426,"tag":553,"props":214895,"children":214896},{"style":684},[214897],{"type":431,"value":67452},{"type":426,"tag":553,"props":214899,"children":214900},{"style":560},[214901],{"type":431,"value":67013},{"type":426,"tag":553,"props":214903,"children":214904},{"style":684},[214905],{"type":431,"value":11683},{"type":426,"tag":553,"props":214907,"children":214908},{"class":555,"line":1414},[214909,214913,214917,214921,214925],{"type":426,"tag":553,"props":214910,"children":214911},{"style":684},[214912],{"type":431,"value":93947},{"type":426,"tag":553,"props":214914,"children":214915},{"style":560},[214916],{"type":431,"value":67472},{"type":426,"tag":553,"props":214918,"children":214919},{"style":684},[214920],{"type":431,"value":67477},{"type":426,"tag":553,"props":214922,"children":214923},{"style":560},[214924],{"type":431,"value":67482},{"type":426,"tag":553,"props":214926,"children":214927},{"style":684},[214928],{"type":431,"value":214929},"(ENDPOINT))\n",{"type":426,"tag":553,"props":214931,"children":214932},{"class":555,"line":1479},[214933,214937,214941,214945,214949,214953,214957,214961],{"type":426,"tag":553,"props":214934,"children":214935},{"style":684},[214936],{"type":431,"value":93947},{"type":426,"tag":553,"props":214938,"children":214939},{"style":560},[214940],{"type":431,"value":67532},{"type":426,"tag":553,"props":214942,"children":214943},{"style":684},[214944],{"type":431,"value":3275},{"type":426,"tag":553,"props":214946,"children":214947},{"style":572},[214948],{"type":431,"value":45214},{"type":426,"tag":553,"props":214950,"children":214951},{"style":684},[214952],{"type":431,"value":1907},{"type":426,"tag":553,"props":214954,"children":214955},{"style":572},[214956],{"type":431,"value":67549},{"type":426,"tag":553,"props":214958,"children":214959},{"style":795},[214960],{"type":431,"value":61140},{"type":426,"tag":553,"props":214962,"children":214963},{"style":684},[214964],{"type":431,"value":214965}," API_KEY)\n",{"type":426,"tag":553,"props":214967,"children":214968},{"class":555,"line":1517},[214969,214973,214977,214981,214985,214989,214993],{"type":426,"tag":553,"props":214970,"children":214971},{"style":684},[214972],{"type":431,"value":93947},{"type":426,"tag":553,"props":214974,"children":214975},{"style":560},[214976],{"type":431,"value":67532},{"type":426,"tag":553,"props":214978,"children":214979},{"style":684},[214980],{"type":431,"value":3275},{"type":426,"tag":553,"props":214982,"children":214983},{"style":572},[214984],{"type":431,"value":67578},{"type":426,"tag":553,"props":214986,"children":214987},{"style":684},[214988],{"type":431,"value":1907},{"type":426,"tag":553,"props":214990,"children":214991},{"style":572},[214992],{"type":431,"value":67587},{"type":426,"tag":553,"props":214994,"children":214995},{"style":684},[214996],{"type":431,"value":3262},{"type":426,"tag":553,"props":214998,"children":214999},{"class":555,"line":1560},[215000,215004,215008,215012,215016],{"type":426,"tag":553,"props":215001,"children":215002},{"style":684},[215003],{"type":431,"value":93947},{"type":426,"tag":553,"props":215005,"children":215006},{"style":560},[215007],{"type":431,"value":67603},{"type":426,"tag":553,"props":215009,"children":215010},{"style":684},[215011],{"type":431,"value":171541},{"type":426,"tag":553,"props":215013,"children":215014},{"style":560},[215015],{"type":431,"value":67613},{"type":426,"tag":553,"props":215017,"children":215018},{"style":684},[215019],{"type":431,"value":67618},{"type":426,"tag":553,"props":215021,"children":215022},{"class":555,"line":1598},[215023,215027,215031],{"type":426,"tag":553,"props":215024,"children":215025},{"style":684},[215026],{"type":431,"value":93947},{"type":426,"tag":553,"props":215028,"children":215029},{"style":560},[215030],{"type":431,"value":67064},{"type":426,"tag":553,"props":215032,"children":215033},{"style":684},[215034],{"type":431,"value":53227},{"type":426,"tag":553,"props":215036,"children":215037},{"class":555,"line":1636},[215038],{"type":426,"tag":553,"props":215039,"children":215040},{"emptyLinePlaceholder":831},[215041],{"type":431,"value":834},{"type":426,"tag":553,"props":215043,"children":215044},{"class":555,"line":1645},[215045,215049,215053,215057,215061,215065,215069,215073,215077],{"type":426,"tag":553,"props":215046,"children":215047},{"style":684},[215048],{"type":431,"value":67648},{"type":426,"tag":553,"props":215050,"children":215051},{"style":795},[215052],{"type":431,"value":61237},{"type":426,"tag":553,"props":215054,"children":215055},{"style":684},[215056],{"type":431,"value":67657},{"type":426,"tag":553,"props":215058,"children":215059},{"style":795},[215060],{"type":431,"value":957},{"type":426,"tag":553,"props":215062,"children":215063},{"style":684},[215064],{"type":431,"value":68373},{"type":426,"tag":553,"props":215066,"children":215067},{"style":560},[215068],{"type":431,"value":52593},{"type":426,"tag":553,"props":215070,"children":215071},{"style":684},[215072],{"type":431,"value":171619},{"type":426,"tag":553,"props":215074,"children":215075},{"style":560},[215076],{"type":431,"value":67613},{"type":426,"tag":553,"props":215078,"children":215079},{"style":684},[215080],{"type":431,"value":61503},{"type":426,"tag":553,"props":215082,"children":215083},{"class":555,"line":1653},[215084,215088,215092,215096,215101,215105,215109,215113],{"type":426,"tag":553,"props":215085,"children":215086},{"style":684},[215087],{"type":431,"value":68424},{"type":426,"tag":553,"props":215089,"children":215090},{"style":560},[215091],{"type":431,"value":68204},{"type":426,"tag":553,"props":215093,"children":215094},{"style":684},[215095],{"type":431,"value":3275},{"type":426,"tag":553,"props":215097,"children":215098},{"style":572},[215099],{"type":431,"value":215100},"\"Response: \"",{"type":426,"tag":553,"props":215102,"children":215103},{"style":795},[215104],{"type":431,"value":61140},{"type":426,"tag":553,"props":215106,"children":215107},{"style":684},[215108],{"type":431,"value":53218},{"type":426,"tag":553,"props":215110,"children":215111},{"style":560},[215112],{"type":431,"value":67859},{"type":426,"tag":553,"props":215114,"children":215115},{"style":684},[215116],{"type":431,"value":61503},{"type":426,"tag":553,"props":215118,"children":215119},{"class":555,"line":1667},[215120],{"type":426,"tag":553,"props":215121,"children":215122},{"style":1975},[215123],{"type":431,"value":215124},"        \u002F\u002F Response: {\"status\":\"success\",\"messageId\":\"msg_abc123xyz\"}\n",{"type":426,"tag":553,"props":215126,"children":215127},{"class":555,"line":1680},[215128],{"type":426,"tag":553,"props":215129,"children":215130},{"style":684},[215131],{"type":431,"value":5546},{"type":426,"tag":553,"props":215133,"children":215134},{"class":555,"line":1740},[215135],{"type":426,"tag":553,"props":215136,"children":215137},{"style":684},[215138],{"type":431,"value":756},{"type":426,"tag":515,"props":215140,"children":215142},{"id":215141},"c",[215143],{"type":431,"value":189093},{"type":426,"tag":542,"props":215145,"children":215147},{"className":71712,"code":215146,"language":71711,"meta":417,"style":417},"using System;\nusing System.Net.Http;\nusing System.Text;\nusing System.Text.Json;\nusing System.Threading.Tasks;\n\nclass RapiwaExample\n{\n    private static readonly string ApiKey = \"YOUR_API_KEY\";\n    private static readonly string Endpoint = \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\";\n\n    static async Task Main()\n    {\n        using var client = new HttpClient();\n        client.DefaultRequestHeaders.Add(\"Authorization\", $\"Bearer {ApiKey}\");\n\n        var payload = new { number = \"8801234567890\", message = \"Hello from C#!\" };\n        var json = JsonSerializer.Serialize(payload);\n        var content = new StringContent(json, Encoding.UTF8, \"application\u002Fjson\");\n\n        var response = await client.PostAsync(Endpoint, content);\n        var responseBody = await response.Content.ReadAsStringAsync();\n        Console.WriteLine($\"Response: {responseBody}\");\n        \u002F\u002F Response: {\"status\":\"success\",\"messageId\":\"msg_abc123xyz\"}\n    }\n}\n",[215148],{"type":426,"tag":549,"props":215149,"children":215150},{"__ignoreMap":417},[215151,215166,215197,215220,215251,215282,215289,215301,215308,215344,215380,215387,215412,215419,215451,215493,215500,215547,215577,215613,215620,215652,215684,215718,215725,215732],{"type":426,"tag":553,"props":215152,"children":215153},{"class":555,"line":556},[215154,215158,215162],{"type":426,"tag":553,"props":215155,"children":215156},{"style":795},[215157],{"type":431,"value":71724},{"type":426,"tag":553,"props":215159,"children":215160},{"style":560},[215161],{"type":431,"value":71729},{"type":426,"tag":553,"props":215163,"children":215164},{"style":684},[215165],{"type":431,"value":52321},{"type":426,"tag":553,"props":215167,"children":215168},{"class":555,"line":588},[215169,215173,215177,215181,215185,215189,215193],{"type":426,"tag":553,"props":215170,"children":215171},{"style":795},[215172],{"type":431,"value":71724},{"type":426,"tag":553,"props":215174,"children":215175},{"style":560},[215176],{"type":431,"value":71729},{"type":426,"tag":553,"props":215178,"children":215179},{"style":684},[215180],{"type":431,"value":6789},{"type":426,"tag":553,"props":215182,"children":215183},{"style":560},[215184],{"type":431,"value":71738},{"type":426,"tag":553,"props":215186,"children":215187},{"style":684},[215188],{"type":431,"value":6789},{"type":426,"tag":553,"props":215190,"children":215191},{"style":560},[215192],{"type":431,"value":71747},{"type":426,"tag":553,"props":215194,"children":215195},{"style":684},[215196],{"type":431,"value":52321},{"type":426,"tag":553,"props":215198,"children":215199},{"class":555,"line":606},[215200,215204,215208,215212,215216],{"type":426,"tag":553,"props":215201,"children":215202},{"style":795},[215203],{"type":431,"value":71724},{"type":426,"tag":553,"props":215205,"children":215206},{"style":560},[215207],{"type":431,"value":71729},{"type":426,"tag":553,"props":215209,"children":215210},{"style":684},[215211],{"type":431,"value":6789},{"type":426,"tag":553,"props":215213,"children":215214},{"style":560},[215215],{"type":431,"value":71811},{"type":426,"tag":553,"props":215217,"children":215218},{"style":684},[215219],{"type":431,"value":52321},{"type":426,"tag":553,"props":215221,"children":215222},{"class":555,"line":623},[215223,215227,215231,215235,215239,215243,215247],{"type":426,"tag":553,"props":215224,"children":215225},{"style":795},[215226],{"type":431,"value":71724},{"type":426,"tag":553,"props":215228,"children":215229},{"style":560},[215230],{"type":431,"value":71729},{"type":426,"tag":553,"props":215232,"children":215233},{"style":684},[215234],{"type":431,"value":6789},{"type":426,"tag":553,"props":215236,"children":215237},{"style":560},[215238],{"type":431,"value":71811},{"type":426,"tag":553,"props":215240,"children":215241},{"style":684},[215242],{"type":431,"value":6789},{"type":426,"tag":553,"props":215244,"children":215245},{"style":560},[215246],{"type":431,"value":71787},{"type":426,"tag":553,"props":215248,"children":215249},{"style":684},[215250],{"type":431,"value":52321},{"type":426,"tag":553,"props":215252,"children":215253},{"class":555,"line":637},[215254,215258,215262,215266,215270,215274,215278],{"type":426,"tag":553,"props":215255,"children":215256},{"style":795},[215257],{"type":431,"value":71724},{"type":426,"tag":553,"props":215259,"children":215260},{"style":560},[215261],{"type":431,"value":71729},{"type":426,"tag":553,"props":215263,"children":215264},{"style":684},[215265],{"type":431,"value":6789},{"type":426,"tag":553,"props":215267,"children":215268},{"style":560},[215269],{"type":431,"value":71852},{"type":426,"tag":553,"props":215271,"children":215272},{"style":684},[215273],{"type":431,"value":6789},{"type":426,"tag":553,"props":215275,"children":215276},{"style":560},[215277],{"type":431,"value":71861},{"type":426,"tag":553,"props":215279,"children":215280},{"style":684},[215281],{"type":431,"value":52321},{"type":426,"tag":553,"props":215283,"children":215284},{"class":555,"line":646},[215285],{"type":426,"tag":553,"props":215286,"children":215287},{"emptyLinePlaceholder":831},[215288],{"type":431,"value":834},{"type":426,"tag":553,"props":215290,"children":215291},{"class":555,"line":655},[215292,215296],{"type":426,"tag":553,"props":215293,"children":215294},{"style":795},[215295],{"type":431,"value":11909},{"type":426,"tag":553,"props":215297,"children":215298},{"style":560},[215299],{"type":431,"value":215300}," RapiwaExample\n",{"type":426,"tag":553,"props":215302,"children":215303},{"class":555,"line":1036},[215304],{"type":426,"tag":553,"props":215305,"children":215306},{"style":684},[215307],{"type":431,"value":687},{"type":426,"tag":553,"props":215309,"children":215310},{"class":555,"line":1054},[215311,215315,215319,215323,215327,215332,215336,215340],{"type":426,"tag":553,"props":215312,"children":215313},{"style":795},[215314],{"type":431,"value":60857},{"type":426,"tag":553,"props":215316,"children":215317},{"style":795},[215318],{"type":431,"value":60862},{"type":426,"tag":553,"props":215320,"children":215321},{"style":795},[215322],{"type":431,"value":73249},{"type":426,"tag":553,"props":215324,"children":215325},{"style":795},[215326],{"type":431,"value":76053},{"type":426,"tag":553,"props":215328,"children":215329},{"style":560},[215330],{"type":431,"value":215331}," ApiKey",{"type":426,"tag":553,"props":215333,"children":215334},{"style":795},[215335],{"type":431,"value":8739},{"type":426,"tag":553,"props":215337,"children":215338},{"style":572},[215339],{"type":431,"value":170073},{"type":426,"tag":553,"props":215341,"children":215342},{"style":684},[215343],{"type":431,"value":52321},{"type":426,"tag":553,"props":215345,"children":215346},{"class":555,"line":1080},[215347,215351,215355,215359,215363,215368,215372,215376],{"type":426,"tag":553,"props":215348,"children":215349},{"style":795},[215350],{"type":431,"value":60857},{"type":426,"tag":553,"props":215352,"children":215353},{"style":795},[215354],{"type":431,"value":60862},{"type":426,"tag":553,"props":215356,"children":215357},{"style":795},[215358],{"type":431,"value":73249},{"type":426,"tag":553,"props":215360,"children":215361},{"style":795},[215362],{"type":431,"value":76053},{"type":426,"tag":553,"props":215364,"children":215365},{"style":560},[215366],{"type":431,"value":215367}," Endpoint",{"type":426,"tag":553,"props":215369,"children":215370},{"style":795},[215371],{"type":431,"value":8739},{"type":426,"tag":553,"props":215373,"children":215374},{"style":572},[215375],{"type":431,"value":66899},{"type":426,"tag":553,"props":215377,"children":215378},{"style":684},[215379],{"type":431,"value":52321},{"type":426,"tag":553,"props":215381,"children":215382},{"class":555,"line":1097},[215383],{"type":426,"tag":553,"props":215384,"children":215385},{"emptyLinePlaceholder":831},[215386],{"type":431,"value":834},{"type":426,"tag":553,"props":215388,"children":215389},{"class":555,"line":1114},[215390,215395,215399,215403,215408],{"type":426,"tag":553,"props":215391,"children":215392},{"style":795},[215393],{"type":431,"value":215394},"    static",{"type":426,"tag":553,"props":215396,"children":215397},{"style":795},[215398],{"type":431,"value":72192},{"type":426,"tag":553,"props":215400,"children":215401},{"style":560},[215402],{"type":431,"value":62641},{"type":426,"tag":553,"props":215404,"children":215405},{"style":560},[215406],{"type":431,"value":215407}," Main",{"type":426,"tag":553,"props":215409,"children":215410},{"style":684},[215411],{"type":431,"value":11683},{"type":426,"tag":553,"props":215413,"children":215414},{"class":555,"line":1127},[215415],{"type":426,"tag":553,"props":215416,"children":215417},{"style":684},[215418],{"type":431,"value":73368},{"type":426,"tag":553,"props":215420,"children":215421},{"class":555,"line":1167},[215422,215427,215431,215435,215439,215443,215447],{"type":426,"tag":553,"props":215423,"children":215424},{"style":795},[215425],{"type":431,"value":215426},"        using",{"type":426,"tag":553,"props":215428,"children":215429},{"style":795},[215430],{"type":431,"value":72283},{"type":426,"tag":553,"props":215432,"children":215433},{"style":560},[215434],{"type":431,"value":138686},{"type":426,"tag":553,"props":215436,"children":215437},{"style":795},[215438],{"type":431,"value":8739},{"type":426,"tag":553,"props":215440,"children":215441},{"style":795},[215442],{"type":431,"value":52275},{"type":426,"tag":553,"props":215444,"children":215445},{"style":560},[215446],{"type":431,"value":72301},{"type":426,"tag":553,"props":215448,"children":215449},{"style":684},[215450],{"type":431,"value":53227},{"type":426,"tag":553,"props":215452,"children":215453},{"class":555,"line":1184},[215454,215459,215463,215467,215471,215475,215480,215485,215489],{"type":426,"tag":553,"props":215455,"children":215456},{"style":684},[215457],{"type":431,"value":215458},"        client.DefaultRequestHeaders.",{"type":426,"tag":553,"props":215460,"children":215461},{"style":560},[215462],{"type":431,"value":75377},{"type":426,"tag":553,"props":215464,"children":215465},{"style":684},[215466],{"type":431,"value":3275},{"type":426,"tag":553,"props":215468,"children":215469},{"style":572},[215470],{"type":431,"value":45214},{"type":426,"tag":553,"props":215472,"children":215473},{"style":684},[215474],{"type":431,"value":1907},{"type":426,"tag":553,"props":215476,"children":215477},{"style":572},[215478],{"type":431,"value":215479},"$\"Bearer {",{"type":426,"tag":553,"props":215481,"children":215482},{"style":684},[215483],{"type":431,"value":215484},"ApiKey",{"type":426,"tag":553,"props":215486,"children":215487},{"style":572},[215488],{"type":431,"value":67316},{"type":426,"tag":553,"props":215490,"children":215491},{"style":684},[215492],{"type":431,"value":11379},{"type":426,"tag":553,"props":215494,"children":215495},{"class":555,"line":1192},[215496],{"type":426,"tag":553,"props":215497,"children":215498},{"emptyLinePlaceholder":831},[215499],{"type":431,"value":834},{"type":426,"tag":553,"props":215501,"children":215502},{"class":555,"line":1210},[215503,215507,215511,215515,215519,215523,215527,215531,215535,215539,215543],{"type":426,"tag":553,"props":215504,"children":215505},{"style":795},[215506],{"type":431,"value":69253},{"type":426,"tag":553,"props":215508,"children":215509},{"style":560},[215510],{"type":431,"value":75724},{"type":426,"tag":553,"props":215512,"children":215513},{"style":795},[215514],{"type":431,"value":8739},{"type":426,"tag":553,"props":215516,"children":215517},{"style":795},[215518],{"type":431,"value":52275},{"type":426,"tag":553,"props":215520,"children":215521},{"style":684},[215522],{"type":431,"value":171889},{"type":426,"tag":553,"props":215524,"children":215525},{"style":795},[215526],{"type":431,"value":957},{"type":426,"tag":553,"props":215528,"children":215529},{"style":572},[215530],{"type":431,"value":171085},{"type":426,"tag":553,"props":215532,"children":215533},{"style":684},[215534],{"type":431,"value":171902},{"type":426,"tag":553,"props":215536,"children":215537},{"style":795},[215538],{"type":431,"value":957},{"type":426,"tag":553,"props":215540,"children":215541},{"style":572},[215542],{"type":431,"value":171911},{"type":426,"tag":553,"props":215544,"children":215545},{"style":684},[215546],{"type":431,"value":171916},{"type":426,"tag":553,"props":215548,"children":215549},{"class":555,"line":1253},[215550,215554,215559,215563,215568,215572],{"type":426,"tag":553,"props":215551,"children":215552},{"style":795},[215553],{"type":431,"value":69253},{"type":426,"tag":553,"props":215555,"children":215556},{"style":560},[215557],{"type":431,"value":215558}," json",{"type":426,"tag":553,"props":215560,"children":215561},{"style":795},[215562],{"type":431,"value":8739},{"type":426,"tag":553,"props":215564,"children":215565},{"style":684},[215566],{"type":431,"value":215567}," JsonSerializer.",{"type":426,"tag":553,"props":215569,"children":215570},{"style":560},[215571],{"type":431,"value":171951},{"type":426,"tag":553,"props":215573,"children":215574},{"style":684},[215575],{"type":431,"value":215576},"(payload);\n",{"type":426,"tag":553,"props":215578,"children":215579},{"class":555,"line":1302},[215580,215584,215588,215592,215596,215600,215605,215609],{"type":426,"tag":553,"props":215581,"children":215582},{"style":795},[215583],{"type":431,"value":69253},{"type":426,"tag":553,"props":215585,"children":215586},{"style":560},[215587],{"type":431,"value":171928},{"type":426,"tag":553,"props":215589,"children":215590},{"style":795},[215591],{"type":431,"value":8739},{"type":426,"tag":553,"props":215593,"children":215594},{"style":795},[215595],{"type":431,"value":52275},{"type":426,"tag":553,"props":215597,"children":215598},{"style":560},[215599],{"type":431,"value":171941},{"type":426,"tag":553,"props":215601,"children":215602},{"style":684},[215603],{"type":431,"value":215604},"(json, Encoding.UTF8, ",{"type":426,"tag":553,"props":215606,"children":215607},{"style":572},[215608],{"type":431,"value":67587},{"type":426,"tag":553,"props":215610,"children":215611},{"style":684},[215612],{"type":431,"value":11379},{"type":426,"tag":553,"props":215614,"children":215615},{"class":555,"line":1374},[215616],{"type":426,"tag":553,"props":215617,"children":215618},{"emptyLinePlaceholder":831},[215619],{"type":431,"value":834},{"type":426,"tag":553,"props":215621,"children":215622},{"class":555,"line":1414},[215623,215627,215631,215635,215639,215643,215647],{"type":426,"tag":553,"props":215624,"children":215625},{"style":795},[215626],{"type":431,"value":69253},{"type":426,"tag":553,"props":215628,"children":215629},{"style":560},[215630],{"type":431,"value":53061},{"type":426,"tag":553,"props":215632,"children":215633},{"style":795},[215634],{"type":431,"value":8739},{"type":426,"tag":553,"props":215636,"children":215637},{"style":795},[215638],{"type":431,"value":53070},{"type":426,"tag":553,"props":215640,"children":215641},{"style":684},[215642],{"type":431,"value":68373},{"type":426,"tag":553,"props":215644,"children":215645},{"style":560},[215646],{"type":431,"value":171999},{"type":426,"tag":553,"props":215648,"children":215649},{"style":684},[215650],{"type":431,"value":215651},"(Endpoint, content);\n",{"type":426,"tag":553,"props":215653,"children":215654},{"class":555,"line":1479},[215655,215659,215664,215668,215672,215676,215680],{"type":426,"tag":553,"props":215656,"children":215657},{"style":795},[215658],{"type":431,"value":69253},{"type":426,"tag":553,"props":215660,"children":215661},{"style":560},[215662],{"type":431,"value":215663}," responseBody",{"type":426,"tag":553,"props":215665,"children":215666},{"style":795},[215667],{"type":431,"value":8739},{"type":426,"tag":553,"props":215669,"children":215670},{"style":795},[215671],{"type":431,"value":53070},{"type":426,"tag":553,"props":215673,"children":215674},{"style":684},[215675],{"type":431,"value":72513},{"type":426,"tag":553,"props":215677,"children":215678},{"style":560},[215679],{"type":431,"value":172040},{"type":426,"tag":553,"props":215681,"children":215682},{"style":684},[215683],{"type":431,"value":53227},{"type":426,"tag":553,"props":215685,"children":215686},{"class":555,"line":1517},[215687,215692,215696,215700,215705,215710,215714],{"type":426,"tag":553,"props":215688,"children":215689},{"style":684},[215690],{"type":431,"value":215691},"        Console.",{"type":426,"tag":553,"props":215693,"children":215694},{"style":560},[215695],{"type":431,"value":72698},{"type":426,"tag":553,"props":215697,"children":215698},{"style":684},[215699],{"type":431,"value":3275},{"type":426,"tag":553,"props":215701,"children":215702},{"style":572},[215703],{"type":431,"value":215704},"$\"Response: {",{"type":426,"tag":553,"props":215706,"children":215707},{"style":684},[215708],{"type":431,"value":215709},"responseBody",{"type":426,"tag":553,"props":215711,"children":215712},{"style":572},[215713],{"type":431,"value":67316},{"type":426,"tag":553,"props":215715,"children":215716},{"style":684},[215717],{"type":431,"value":11379},{"type":426,"tag":553,"props":215719,"children":215720},{"class":555,"line":1560},[215721],{"type":426,"tag":553,"props":215722,"children":215723},{"style":1975},[215724],{"type":431,"value":215124},{"type":426,"tag":553,"props":215726,"children":215727},{"class":555,"line":1598},[215728],{"type":426,"tag":553,"props":215729,"children":215730},{"style":684},[215731],{"type":431,"value":5546},{"type":426,"tag":553,"props":215733,"children":215734},{"class":555,"line":1636},[215735],{"type":426,"tag":553,"props":215736,"children":215737},{"style":684},[215738],{"type":431,"value":756},{"type":426,"tag":434,"props":215740,"children":215742},{"id":215741},"step-4-send-different-message-types",[215743],{"type":431,"value":215744},"Step 4: Send Different Message Types",{"type":426,"tag":515,"props":215746,"children":215748},{"id":215747},"send-an-image",[215749],{"type":431,"value":215750},"Send an Image",{"type":426,"tag":542,"props":215752,"children":215754},{"className":546,"code":215753,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"image\": \"https:\u002F\u002Fyourdomain.com\u002Fimages\u002Fproduct.jpg\",\n    \"caption\": \"Here is your product image!\"\n  }'\n",[215755],{"type":426,"tag":549,"props":215756,"children":215757},{"__ignoreMap":417},[215758,215781,215796,215811,215822,215829,215837,215845],{"type":426,"tag":553,"props":215759,"children":215760},{"class":555,"line":556},[215761,215765,215769,215773,215777],{"type":426,"tag":553,"props":215762,"children":215763},{"style":560},[215764],{"type":431,"value":563},{"type":426,"tag":553,"props":215766,"children":215767},{"style":566},[215768],{"type":431,"value":569},{"type":426,"tag":553,"props":215770,"children":215771},{"style":572},[215772],{"type":431,"value":575},{"type":426,"tag":553,"props":215774,"children":215775},{"style":572},[215776],{"type":431,"value":580},{"type":426,"tag":553,"props":215778,"children":215779},{"style":566},[215780],{"type":431,"value":585},{"type":426,"tag":553,"props":215782,"children":215783},{"class":555,"line":588},[215784,215788,215792],{"type":426,"tag":553,"props":215785,"children":215786},{"style":566},[215787],{"type":431,"value":594},{"type":426,"tag":553,"props":215789,"children":215790},{"style":572},[215791],{"type":431,"value":599},{"type":426,"tag":553,"props":215793,"children":215794},{"style":566},[215795],{"type":431,"value":585},{"type":426,"tag":553,"props":215797,"children":215798},{"class":555,"line":606},[215799,215803,215807],{"type":426,"tag":553,"props":215800,"children":215801},{"style":566},[215802],{"type":431,"value":594},{"type":426,"tag":553,"props":215804,"children":215805},{"style":572},[215806],{"type":431,"value":616},{"type":426,"tag":553,"props":215808,"children":215809},{"style":566},[215810],{"type":431,"value":585},{"type":426,"tag":553,"props":215812,"children":215813},{"class":555,"line":623},[215814,215818],{"type":426,"tag":553,"props":215815,"children":215816},{"style":566},[215817],{"type":431,"value":629},{"type":426,"tag":553,"props":215819,"children":215820},{"style":572},[215821],{"type":431,"value":634},{"type":426,"tag":553,"props":215823,"children":215824},{"class":555,"line":637},[215825],{"type":426,"tag":553,"props":215826,"children":215827},{"style":572},[215828],{"type":431,"value":643},{"type":426,"tag":553,"props":215830,"children":215831},{"class":555,"line":646},[215832],{"type":426,"tag":553,"props":215833,"children":215834},{"style":572},[215835],{"type":431,"value":215836},"    \"image\": \"https:\u002F\u002Fyourdomain.com\u002Fimages\u002Fproduct.jpg\",\n",{"type":426,"tag":553,"props":215838,"children":215839},{"class":555,"line":655},[215840],{"type":426,"tag":553,"props":215841,"children":215842},{"style":572},[215843],{"type":431,"value":215844},"    \"caption\": \"Here is your product image!\"\n",{"type":426,"tag":553,"props":215846,"children":215847},{"class":555,"line":1036},[215848],{"type":426,"tag":553,"props":215849,"children":215850},{"style":572},[215851],{"type":431,"value":661},{"type":426,"tag":515,"props":215853,"children":215855},{"id":215854},"send-a-document-pdf",[215856],{"type":431,"value":215857},"Send a Document (PDF)",{"type":426,"tag":542,"props":215859,"children":215861},{"className":546,"code":215860,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"document\": \"https:\u002F\u002Fyourdomain.com\u002Finvoice.pdf\",\n    \"filename\": \"Invoice_1234.pdf\"\n  }'\n",[215862],{"type":426,"tag":549,"props":215863,"children":215864},{"__ignoreMap":417},[215865,215888,215903,215918,215929,215936,215944,215952],{"type":426,"tag":553,"props":215866,"children":215867},{"class":555,"line":556},[215868,215872,215876,215880,215884],{"type":426,"tag":553,"props":215869,"children":215870},{"style":560},[215871],{"type":431,"value":563},{"type":426,"tag":553,"props":215873,"children":215874},{"style":566},[215875],{"type":431,"value":569},{"type":426,"tag":553,"props":215877,"children":215878},{"style":572},[215879],{"type":431,"value":575},{"type":426,"tag":553,"props":215881,"children":215882},{"style":572},[215883],{"type":431,"value":580},{"type":426,"tag":553,"props":215885,"children":215886},{"style":566},[215887],{"type":431,"value":585},{"type":426,"tag":553,"props":215889,"children":215890},{"class":555,"line":588},[215891,215895,215899],{"type":426,"tag":553,"props":215892,"children":215893},{"style":566},[215894],{"type":431,"value":594},{"type":426,"tag":553,"props":215896,"children":215897},{"style":572},[215898],{"type":431,"value":599},{"type":426,"tag":553,"props":215900,"children":215901},{"style":566},[215902],{"type":431,"value":585},{"type":426,"tag":553,"props":215904,"children":215905},{"class":555,"line":606},[215906,215910,215914],{"type":426,"tag":553,"props":215907,"children":215908},{"style":566},[215909],{"type":431,"value":594},{"type":426,"tag":553,"props":215911,"children":215912},{"style":572},[215913],{"type":431,"value":616},{"type":426,"tag":553,"props":215915,"children":215916},{"style":566},[215917],{"type":431,"value":585},{"type":426,"tag":553,"props":215919,"children":215920},{"class":555,"line":623},[215921,215925],{"type":426,"tag":553,"props":215922,"children":215923},{"style":566},[215924],{"type":431,"value":629},{"type":426,"tag":553,"props":215926,"children":215927},{"style":572},[215928],{"type":431,"value":634},{"type":426,"tag":553,"props":215930,"children":215931},{"class":555,"line":637},[215932],{"type":426,"tag":553,"props":215933,"children":215934},{"style":572},[215935],{"type":431,"value":643},{"type":426,"tag":553,"props":215937,"children":215938},{"class":555,"line":646},[215939],{"type":426,"tag":553,"props":215940,"children":215941},{"style":572},[215942],{"type":431,"value":215943},"    \"document\": \"https:\u002F\u002Fyourdomain.com\u002Finvoice.pdf\",\n",{"type":426,"tag":553,"props":215945,"children":215946},{"class":555,"line":655},[215947],{"type":426,"tag":553,"props":215948,"children":215949},{"style":572},[215950],{"type":431,"value":215951},"    \"filename\": \"Invoice_1234.pdf\"\n",{"type":426,"tag":553,"props":215953,"children":215954},{"class":555,"line":1036},[215955],{"type":426,"tag":553,"props":215956,"children":215957},{"style":572},[215958],{"type":431,"value":661},{"type":426,"tag":515,"props":215960,"children":215962},{"id":215961},"send-with-text-formatting",[215963],{"type":431,"value":215964},"Send with Text Formatting",{"type":426,"tag":427,"props":215966,"children":215967},{},[215968],{"type":431,"value":215969},"WhatsApp supports markdown-style formatting in message text:",{"type":426,"tag":454,"props":215971,"children":215972},{},[215973,215988,216003,216017],{"type":426,"tag":458,"props":215974,"children":215975},{},[215976,215982,215983],{"type":426,"tag":549,"props":215977,"children":215979},{"className":215978},[],[215980],{"type":431,"value":215981},"*bold text*",{"type":431,"value":5710},{"type":426,"tag":446,"props":215984,"children":215985},{},[215986],{"type":431,"value":215987},"bold",{"type":426,"tag":458,"props":215989,"children":215990},{},[215991,215997,215998],{"type":426,"tag":549,"props":215992,"children":215994},{"className":215993},[],[215995],{"type":431,"value":215996},"_italic text_",{"type":431,"value":5710},{"type":426,"tag":47617,"props":215999,"children":216000},{},[216001],{"type":431,"value":216002},"italic",{"type":426,"tag":458,"props":216004,"children":216005},{},[216006,216011,216012],{"type":426,"tag":549,"props":216007,"children":216009},{"className":216008},[],[216010],{"type":431,"value":7693},{"type":431,"value":5710},{"type":426,"tag":148231,"props":216013,"children":216014},{},[216015],{"type":431,"value":216016},"strikethrough",{"type":426,"tag":458,"props":216018,"children":216019},{},[216020,216026,216027],{"type":426,"tag":549,"props":216021,"children":216023},{"className":216022},[],[216024],{"type":431,"value":216025},"`monospace`",{"type":431,"value":5710},{"type":426,"tag":549,"props":216028,"children":216030},{"className":216029},[],[216031],{"type":431,"value":216032},"monospace",{"type":426,"tag":542,"props":216034,"children":216036},{"className":546,"code":216035,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"*Order Confirmed!*\\n\\nOrder ID: _#12345_\\nTotal: *$49.99*\\n\\nThank you for your purchase!\"\n  }'\n",[216037],{"type":426,"tag":549,"props":216038,"children":216039},{"__ignoreMap":417},[216040,216063,216078,216093,216104,216111,216119],{"type":426,"tag":553,"props":216041,"children":216042},{"class":555,"line":556},[216043,216047,216051,216055,216059],{"type":426,"tag":553,"props":216044,"children":216045},{"style":560},[216046],{"type":431,"value":563},{"type":426,"tag":553,"props":216048,"children":216049},{"style":566},[216050],{"type":431,"value":569},{"type":426,"tag":553,"props":216052,"children":216053},{"style":572},[216054],{"type":431,"value":575},{"type":426,"tag":553,"props":216056,"children":216057},{"style":572},[216058],{"type":431,"value":580},{"type":426,"tag":553,"props":216060,"children":216061},{"style":566},[216062],{"type":431,"value":585},{"type":426,"tag":553,"props":216064,"children":216065},{"class":555,"line":588},[216066,216070,216074],{"type":426,"tag":553,"props":216067,"children":216068},{"style":566},[216069],{"type":431,"value":594},{"type":426,"tag":553,"props":216071,"children":216072},{"style":572},[216073],{"type":431,"value":599},{"type":426,"tag":553,"props":216075,"children":216076},{"style":566},[216077],{"type":431,"value":585},{"type":426,"tag":553,"props":216079,"children":216080},{"class":555,"line":606},[216081,216085,216089],{"type":426,"tag":553,"props":216082,"children":216083},{"style":566},[216084],{"type":431,"value":594},{"type":426,"tag":553,"props":216086,"children":216087},{"style":572},[216088],{"type":431,"value":616},{"type":426,"tag":553,"props":216090,"children":216091},{"style":566},[216092],{"type":431,"value":585},{"type":426,"tag":553,"props":216094,"children":216095},{"class":555,"line":623},[216096,216100],{"type":426,"tag":553,"props":216097,"children":216098},{"style":566},[216099],{"type":431,"value":629},{"type":426,"tag":553,"props":216101,"children":216102},{"style":572},[216103],{"type":431,"value":634},{"type":426,"tag":553,"props":216105,"children":216106},{"class":555,"line":637},[216107],{"type":426,"tag":553,"props":216108,"children":216109},{"style":572},[216110],{"type":431,"value":643},{"type":426,"tag":553,"props":216112,"children":216113},{"class":555,"line":646},[216114],{"type":426,"tag":553,"props":216115,"children":216116},{"style":572},[216117],{"type":431,"value":216118},"    \"message\": \"*Order Confirmed!*\\n\\nOrder ID: _#12345_\\nTotal: *$49.99*\\n\\nThank you for your purchase!\"\n",{"type":426,"tag":553,"props":216120,"children":216121},{"class":555,"line":655},[216122],{"type":426,"tag":553,"props":216123,"children":216124},{"style":572},[216125],{"type":431,"value":661},{"type":426,"tag":434,"props":216127,"children":216129},{"id":216128},"step-5-handle-errors",[216130],{"type":431,"value":216131},"Step 5: Handle Errors",{"type":426,"tag":427,"props":216133,"children":216134},{},[216135],{"type":431,"value":216136},"Always check the API response status. Common errors:",{"type":426,"tag":10600,"props":216138,"children":216139},{},[216140,216160],{"type":426,"tag":10604,"props":216141,"children":216142},{},[216143],{"type":426,"tag":10608,"props":216144,"children":216145},{},[216146,216151,216156],{"type":426,"tag":10612,"props":216147,"children":216148},{},[216149],{"type":431,"value":216150},"HTTP Status",{"type":426,"tag":10612,"props":216152,"children":216153},{},[216154],{"type":431,"value":216155},"Error",{"type":426,"tag":10612,"props":216157,"children":216158},{},[216159],{"type":431,"value":177406},{"type":426,"tag":10623,"props":216161,"children":216162},{},[216163,216184,216218,216240],{"type":426,"tag":10608,"props":216164,"children":216165},{},[216166,216174,216179],{"type":426,"tag":10630,"props":216167,"children":216168},{},[216169],{"type":426,"tag":549,"props":216170,"children":216172},{"className":216171},[],[216173],{"type":431,"value":10329},{"type":426,"tag":10630,"props":216175,"children":216176},{},[216177],{"type":431,"value":216178},"Unauthorized",{"type":426,"tag":10630,"props":216180,"children":216181},{},[216182],{"type":431,"value":216183},"API key is missing or expired. Regenerate in Dashboard → API Keys.",{"type":426,"tag":10608,"props":216185,"children":216186},{},[216187,216195,216200],{"type":426,"tag":10630,"props":216188,"children":216189},{},[216190],{"type":426,"tag":549,"props":216191,"children":216193},{"className":216192},[],[216194],{"type":431,"value":52455},{"type":426,"tag":10630,"props":216196,"children":216197},{},[216198],{"type":431,"value":216199},"Bad Request",{"type":426,"tag":10630,"props":216201,"children":216202},{},[216203,216205,216210,216211,216217],{"type":431,"value":216204},"Phone number format is wrong. Use ",{"type":426,"tag":549,"props":216206,"children":216208},{"className":216207},[],[216209],{"type":431,"value":7237},{"type":431,"value":125041},{"type":426,"tag":549,"props":216212,"children":216214},{"className":216213},[],[216215],{"type":431,"value":216216},"+880 123 456 7890",{"type":431,"value":6789},{"type":426,"tag":10608,"props":216219,"children":216220},{},[216221,216230,216235],{"type":426,"tag":10630,"props":216222,"children":216223},{},[216224],{"type":426,"tag":549,"props":216225,"children":216227},{"className":216226},[],[216228],{"type":431,"value":216229},"429",{"type":426,"tag":10630,"props":216231,"children":216232},{},[216233],{"type":431,"value":216234},"Too Many Requests",{"type":426,"tag":10630,"props":216236,"children":216237},{},[216238],{"type":431,"value":216239},"You hit the rate limit. Add a 1-second delay between messages in bulk sends.",{"type":426,"tag":10608,"props":216241,"children":216242},{},[216243,216252,216257],{"type":426,"tag":10630,"props":216244,"children":216245},{},[216246],{"type":426,"tag":549,"props":216247,"children":216249},{"className":216248},[],[216250],{"type":431,"value":216251},"503",{"type":426,"tag":10630,"props":216253,"children":216254},{},[216255],{"type":431,"value":216256},"Service Unavailable",{"type":426,"tag":10630,"props":216258,"children":216259},{},[216260],{"type":431,"value":216261},"Temporary outage. Retry after 30 seconds.",{"type":426,"tag":427,"props":216263,"children":216264},{},[216265],{"type":426,"tag":446,"props":216266,"children":216267},{},[216268],{"type":431,"value":216269},"Python error handling:",{"type":426,"tag":542,"props":216271,"children":216273},{"className":785,"code":216272,"language":784,"meta":417,"style":417},"import requests, time\n\ndef send_whatsapp_safe(phone, message, api_key, retries=3):\n    for attempt in range(retries):\n        response = requests.post(\n            \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n            headers={\"Authorization\": f\"Bearer {api_key}\"},\n            json={\"number\": phone, \"message\": message}\n        )\n        if response.status_code == 200:\n            return response.json()\n        elif response.status_code == 429:\n            time.sleep(2 ** attempt)  # exponential backoff\n        else:\n            print(f\"Error {response.status_code}: {response.text}\")\n            break\n    return None\n",[216274],{"type":426,"tag":549,"props":216275,"children":216276},{"__ignoreMap":417},[216277,216288,216295,216324,216348,216363,216374,216425,216456,216463,216486,216497,216520,216545,216556,216611,216618],{"type":426,"tag":553,"props":216278,"children":216279},{"class":555,"line":556},[216280,216284],{"type":426,"tag":553,"props":216281,"children":216282},{"style":795},[216283],{"type":431,"value":798},{"type":426,"tag":553,"props":216285,"children":216286},{"style":684},[216287],{"type":431,"value":206840},{"type":426,"tag":553,"props":216289,"children":216290},{"class":555,"line":588},[216291],{"type":426,"tag":553,"props":216292,"children":216293},{"emptyLinePlaceholder":831},[216294],{"type":431,"value":834},{"type":426,"tag":553,"props":216296,"children":216297},{"class":555,"line":606},[216298,216302,216307,216312,216316,216320],{"type":426,"tag":553,"props":216299,"children":216300},{"style":795},[216301],{"type":431,"value":842},{"type":426,"tag":553,"props":216303,"children":216304},{"style":560},[216305],{"type":431,"value":216306}," send_whatsapp_safe",{"type":426,"tag":553,"props":216308,"children":216309},{"style":684},[216310],{"type":431,"value":216311},"(phone, message, api_key, retries",{"type":426,"tag":553,"props":216313,"children":216314},{"style":795},[216315],{"type":431,"value":957},{"type":426,"tag":553,"props":216317,"children":216318},{"style":566},[216319],{"type":431,"value":1912},{"type":426,"tag":553,"props":216321,"children":216322},{"style":684},[216323],{"type":431,"value":8370},{"type":426,"tag":553,"props":216325,"children":216326},{"class":555,"line":623},[216327,216331,216335,216339,216343],{"type":426,"tag":553,"props":216328,"children":216329},{"style":795},[216330],{"type":431,"value":1995},{"type":426,"tag":553,"props":216332,"children":216333},{"style":684},[216334],{"type":431,"value":8800},{"type":426,"tag":553,"props":216336,"children":216337},{"style":795},[216338],{"type":431,"value":2005},{"type":426,"tag":553,"props":216340,"children":216341},{"style":566},[216342],{"type":431,"value":8809},{"type":426,"tag":553,"props":216344,"children":216345},{"style":684},[216346],{"type":431,"value":216347},"(retries):\n",{"type":426,"tag":553,"props":216349,"children":216350},{"class":555,"line":637},[216351,216355,216359],{"type":426,"tag":553,"props":216352,"children":216353},{"style":684},[216354],{"type":431,"value":12557},{"type":426,"tag":553,"props":216356,"children":216357},{"style":795},[216358],{"type":431,"value":957},{"type":426,"tag":553,"props":216360,"children":216361},{"style":684},[216362],{"type":431,"value":1664},{"type":426,"tag":553,"props":216364,"children":216365},{"class":555,"line":646},[216366,216370],{"type":426,"tag":553,"props":216367,"children":216368},{"style":572},[216369],{"type":431,"value":180637},{"type":426,"tag":553,"props":216371,"children":216372},{"style":684},[216373],{"type":431,"value":710},{"type":426,"tag":553,"props":216375,"children":216376},{"class":555,"line":655},[216377,216381,216385,216389,216393,216397,216401,216405,216409,216413,216417,216421],{"type":426,"tag":553,"props":216378,"children":216379},{"style":1684},[216380],{"type":431,"value":2864},{"type":426,"tag":553,"props":216382,"children":216383},{"style":795},[216384],{"type":431,"value":957},{"type":426,"tag":553,"props":216386,"children":216387},{"style":684},[216388],{"type":431,"value":972},{"type":426,"tag":553,"props":216390,"children":216391},{"style":572},[216392],{"type":431,"value":45214},{"type":426,"tag":553,"props":216394,"children":216395},{"style":684},[216396],{"type":431,"value":700},{"type":426,"tag":553,"props":216398,"children":216399},{"style":795},[216400],{"type":431,"value":1709},{"type":426,"tag":553,"props":216402,"children":216403},{"style":572},[216404],{"type":431,"value":12608},{"type":426,"tag":553,"props":216406,"children":216407},{"style":566},[216408],{"type":431,"value":972},{"type":426,"tag":553,"props":216410,"children":216411},{"style":684},[216412],{"type":431,"value":1723},{"type":426,"tag":553,"props":216414,"children":216415},{"style":566},[216416],{"type":431,"value":982},{"type":426,"tag":553,"props":216418,"children":216419},{"style":572},[216420],{"type":431,"value":1527},{"type":426,"tag":553,"props":216422,"children":216423},{"style":684},[216424],{"type":431,"value":1737},{"type":426,"tag":553,"props":216426,"children":216427},{"class":555,"line":1036},[216428,216432,216436,216440,216444,216448,216452],{"type":426,"tag":553,"props":216429,"children":216430},{"style":1684},[216431],{"type":431,"value":2916},{"type":426,"tag":553,"props":216433,"children":216434},{"style":795},[216435],{"type":431,"value":957},{"type":426,"tag":553,"props":216437,"children":216438},{"style":684},[216439],{"type":431,"value":972},{"type":426,"tag":553,"props":216441,"children":216442},{"style":572},[216443],{"type":431,"value":45266},{"type":426,"tag":553,"props":216445,"children":216446},{"style":684},[216447],{"type":431,"value":8931},{"type":426,"tag":553,"props":216449,"children":216450},{"style":572},[216451],{"type":431,"value":45275},{"type":426,"tag":553,"props":216453,"children":216454},{"style":684},[216455],{"type":431,"value":1784},{"type":426,"tag":553,"props":216457,"children":216458},{"class":555,"line":1054},[216459],{"type":426,"tag":553,"props":216460,"children":216461},{"style":684},[216462],{"type":431,"value":6037},{"type":426,"tag":553,"props":216464,"children":216465},{"class":555,"line":1080},[216466,216470,216474,216478,216482],{"type":426,"tag":553,"props":216467,"children":216468},{"style":795},[216469],{"type":431,"value":2972},{"type":426,"tag":553,"props":216471,"children":216472},{"style":684},[216473],{"type":431,"value":8985},{"type":426,"tag":553,"props":216475,"children":216476},{"style":795},[216477],{"type":431,"value":1069},{"type":426,"tag":553,"props":216479,"children":216480},{"style":566},[216481],{"type":431,"value":61582},{"type":426,"tag":553,"props":216483,"children":216484},{"style":684},[216485],{"type":431,"value":909},{"type":426,"tag":553,"props":216487,"children":216488},{"class":555,"line":1097},[216489,216493],{"type":426,"tag":553,"props":216490,"children":216491},{"style":795},[216492],{"type":431,"value":9188},{"type":426,"tag":553,"props":216494,"children":216495},{"style":684},[216496],{"type":431,"value":9193},{"type":426,"tag":553,"props":216498,"children":216499},{"class":555,"line":1114},[216500,216504,216508,216512,216516],{"type":426,"tag":553,"props":216501,"children":216502},{"style":795},[216503],{"type":431,"value":202634},{"type":426,"tag":553,"props":216505,"children":216506},{"style":684},[216507],{"type":431,"value":8985},{"type":426,"tag":553,"props":216509,"children":216510},{"style":795},[216511],{"type":431,"value":1069},{"type":426,"tag":553,"props":216513,"children":216514},{"style":566},[216515],{"type":431,"value":9051},{"type":426,"tag":553,"props":216517,"children":216518},{"style":684},[216519],{"type":431,"value":909},{"type":426,"tag":553,"props":216521,"children":216522},{"class":555,"line":1127},[216523,216527,216531,216535,216540],{"type":426,"tag":553,"props":216524,"children":216525},{"style":684},[216526],{"type":431,"value":9238},{"type":426,"tag":553,"props":216528,"children":216529},{"style":566},[216530],{"type":431,"value":6533},{"type":426,"tag":553,"props":216532,"children":216533},{"style":795},[216534],{"type":431,"value":9077},{"type":426,"tag":553,"props":216536,"children":216537},{"style":684},[216538],{"type":431,"value":216539}," attempt)  ",{"type":426,"tag":553,"props":216541,"children":216542},{"style":1975},[216543],{"type":431,"value":216544},"# exponential backoff\n",{"type":426,"tag":553,"props":216546,"children":216547},{"class":555,"line":1167},[216548,216552],{"type":426,"tag":553,"props":216549,"children":216550},{"style":795},[216551],{"type":431,"value":3034},{"type":426,"tag":553,"props":216553,"children":216554},{"style":684},[216555],{"type":431,"value":909},{"type":426,"tag":553,"props":216557,"children":216558},{"class":555,"line":1184},[216559,216563,216567,216571,216575,216579,216583,216587,216591,216595,216599,216603,216607],{"type":426,"tag":553,"props":216560,"children":216561},{"style":566},[216562],{"type":431,"value":191925},{"type":426,"tag":553,"props":216564,"children":216565},{"style":684},[216566],{"type":431,"value":3275},{"type":426,"tag":553,"props":216568,"children":216569},{"style":795},[216570],{"type":431,"value":1709},{"type":426,"tag":553,"props":216572,"children":216573},{"style":572},[216574],{"type":431,"value":202803},{"type":426,"tag":553,"props":216576,"children":216577},{"style":566},[216578],{"type":431,"value":972},{"type":426,"tag":553,"props":216580,"children":216581},{"style":684},[216582],{"type":431,"value":202812},{"type":426,"tag":553,"props":216584,"children":216585},{"style":566},[216586],{"type":431,"value":982},{"type":426,"tag":553,"props":216588,"children":216589},{"style":572},[216590],{"type":431,"value":700},{"type":426,"tag":553,"props":216592,"children":216593},{"style":566},[216594],{"type":431,"value":972},{"type":426,"tag":553,"props":216596,"children":216597},{"style":684},[216598],{"type":431,"value":143274},{"type":426,"tag":553,"props":216600,"children":216601},{"style":566},[216602],{"type":431,"value":982},{"type":426,"tag":553,"props":216604,"children":216605},{"style":572},[216606],{"type":431,"value":1527},{"type":426,"tag":553,"props":216608,"children":216609},{"style":684},[216610],{"type":431,"value":3262},{"type":426,"tag":553,"props":216612,"children":216613},{"class":555,"line":1192},[216614],{"type":426,"tag":553,"props":216615,"children":216616},{"style":795},[216617],{"type":431,"value":54490},{"type":426,"tag":553,"props":216619,"children":216620},{"class":555,"line":1210},[216621,216625],{"type":426,"tag":553,"props":216622,"children":216623},{"style":795},[216624],{"type":431,"value":1659},{"type":426,"tag":553,"props":216626,"children":216627},{"style":566},[216628],{"type":431,"value":8781},{"type":426,"tag":434,"props":216630,"children":216632},{"id":216631},"step-6-send-to-multiple-recipients",[216633],{"type":431,"value":216634},"Step 6: Send to Multiple Recipients",{"type":426,"tag":427,"props":216636,"children":216637},{},[216638],{"type":431,"value":216639},"To send to multiple people, loop through your contact list with a small delay between messages to stay within rate limits:",{"type":426,"tag":542,"props":216641,"children":216643},{"className":785,"code":216642,"language":784,"meta":417,"style":417},"import requests\nimport time\n\nAPI_KEY = \"YOUR_API_KEY\"\n\ncontacts = [\n    {\"number\": \"8801111111111\", \"name\": \"Alice\"},\n    {\"number\": \"8802222222222\", \"name\": \"Bob\"},\n    {\"number\": \"8803333333333\", \"name\": \"Carol\"}\n]\n\nfor contact in contacts:\n    message = f\"Hi {contact['name']}! Your subscription has been renewed.\"\n    response = requests.post(\n        \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n        headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n        json={\"number\": contact[\"number\"], \"message\": message}\n    )\n    print(f\"Sent to {contact['name']}: {response.json()['status']}\")\n    time.sleep(1)  # 1-second delay between messages\n",[216644],{"type":426,"tag":549,"props":216645,"children":216646},{"__ignoreMap":417},[216647,216658,216669,216676,216691,216698,216713,216752,216791,216830,216837,216844,216863,216907,216922,216933,216976,217015,217022,217094],{"type":426,"tag":553,"props":216648,"children":216649},{"class":555,"line":556},[216650,216654],{"type":426,"tag":553,"props":216651,"children":216652},{"style":795},[216653],{"type":431,"value":798},{"type":426,"tag":553,"props":216655,"children":216656},{"style":684},[216657],{"type":431,"value":803},{"type":426,"tag":553,"props":216659,"children":216660},{"class":555,"line":588},[216661,216665],{"type":426,"tag":553,"props":216662,"children":216663},{"style":795},[216664],{"type":431,"value":798},{"type":426,"tag":553,"props":216666,"children":216667},{"style":684},[216668],{"type":431,"value":3081},{"type":426,"tag":553,"props":216670,"children":216671},{"class":555,"line":606},[216672],{"type":426,"tag":553,"props":216673,"children":216674},{"emptyLinePlaceholder":831},[216675],{"type":431,"value":834},{"type":426,"tag":553,"props":216677,"children":216678},{"class":555,"line":623},[216679,216683,216687],{"type":426,"tag":553,"props":216680,"children":216681},{"style":566},[216682],{"type":431,"value":133819},{"type":426,"tag":553,"props":216684,"children":216685},{"style":795},[216686],{"type":431,"value":8739},{"type":426,"tag":553,"props":216688,"children":216689},{"style":572},[216690],{"type":431,"value":40863},{"type":426,"tag":553,"props":216692,"children":216693},{"class":555,"line":637},[216694],{"type":426,"tag":553,"props":216695,"children":216696},{"emptyLinePlaceholder":831},[216697],{"type":431,"value":834},{"type":426,"tag":553,"props":216699,"children":216700},{"class":555,"line":646},[216701,216705,216709],{"type":426,"tag":553,"props":216702,"children":216703},{"style":684},[216704],{"type":431,"value":141868},{"type":426,"tag":553,"props":216706,"children":216707},{"style":795},[216708],{"type":431,"value":957},{"type":426,"tag":553,"props":216710,"children":216711},{"style":684},[216712],{"type":431,"value":80133},{"type":426,"tag":553,"props":216714,"children":216715},{"class":555,"line":655},[216716,216720,216724,216728,216732,216736,216740,216744,216748],{"type":426,"tag":553,"props":216717,"children":216718},{"style":684},[216719],{"type":431,"value":141884},{"type":426,"tag":553,"props":216721,"children":216722},{"style":572},[216723],{"type":431,"value":45266},{"type":426,"tag":553,"props":216725,"children":216726},{"style":684},[216727],{"type":431,"value":700},{"type":426,"tag":553,"props":216729,"children":216730},{"style":572},[216731],{"type":431,"value":81689},{"type":426,"tag":553,"props":216733,"children":216734},{"style":684},[216735],{"type":431,"value":1907},{"type":426,"tag":553,"props":216737,"children":216738},{"style":572},[216739],{"type":431,"value":141905},{"type":426,"tag":553,"props":216741,"children":216742},{"style":684},[216743],{"type":431,"value":700},{"type":426,"tag":553,"props":216745,"children":216746},{"style":572},[216747],{"type":431,"value":136765},{"type":426,"tag":553,"props":216749,"children":216750},{"style":684},[216751],{"type":431,"value":1737},{"type":426,"tag":553,"props":216753,"children":216754},{"class":555,"line":1036},[216755,216759,216763,216767,216771,216775,216779,216783,216787],{"type":426,"tag":553,"props":216756,"children":216757},{"style":684},[216758],{"type":431,"value":141884},{"type":426,"tag":553,"props":216760,"children":216761},{"style":572},[216762],{"type":431,"value":45266},{"type":426,"tag":553,"props":216764,"children":216765},{"style":684},[216766],{"type":431,"value":700},{"type":426,"tag":553,"props":216768,"children":216769},{"style":572},[216770],{"type":431,"value":136791},{"type":426,"tag":553,"props":216772,"children":216773},{"style":684},[216774],{"type":431,"value":1907},{"type":426,"tag":553,"props":216776,"children":216777},{"style":572},[216778],{"type":431,"value":141905},{"type":426,"tag":553,"props":216780,"children":216781},{"style":684},[216782],{"type":431,"value":700},{"type":426,"tag":553,"props":216784,"children":216785},{"style":572},[216786],{"type":431,"value":136800},{"type":426,"tag":553,"props":216788,"children":216789},{"style":684},[216790],{"type":431,"value":1737},{"type":426,"tag":553,"props":216792,"children":216793},{"class":555,"line":1054},[216794,216798,216802,216806,216810,216814,216818,216822,216826],{"type":426,"tag":553,"props":216795,"children":216796},{"style":684},[216797],{"type":431,"value":141884},{"type":426,"tag":553,"props":216799,"children":216800},{"style":572},[216801],{"type":431,"value":45266},{"type":426,"tag":553,"props":216803,"children":216804},{"style":684},[216805],{"type":431,"value":700},{"type":426,"tag":553,"props":216807,"children":216808},{"style":572},[216809],{"type":431,"value":200469},{"type":426,"tag":553,"props":216811,"children":216812},{"style":684},[216813],{"type":431,"value":1907},{"type":426,"tag":553,"props":216815,"children":216816},{"style":572},[216817],{"type":431,"value":141905},{"type":426,"tag":553,"props":216819,"children":216820},{"style":684},[216821],{"type":431,"value":700},{"type":426,"tag":553,"props":216823,"children":216824},{"style":572},[216825],{"type":431,"value":200486},{"type":426,"tag":553,"props":216827,"children":216828},{"style":684},[216829],{"type":431,"value":756},{"type":426,"tag":553,"props":216831,"children":216832},{"class":555,"line":1080},[216833],{"type":426,"tag":553,"props":216834,"children":216835},{"style":684},[216836],{"type":431,"value":16523},{"type":426,"tag":553,"props":216838,"children":216839},{"class":555,"line":1097},[216840],{"type":426,"tag":553,"props":216841,"children":216842},{"emptyLinePlaceholder":831},[216843],{"type":431,"value":834},{"type":426,"tag":553,"props":216845,"children":216846},{"class":555,"line":1114},[216847,216851,216855,216859],{"type":426,"tag":553,"props":216848,"children":216849},{"style":795},[216850],{"type":431,"value":7491},{"type":426,"tag":553,"props":216852,"children":216853},{"style":684},[216854],{"type":431,"value":18000},{"type":426,"tag":553,"props":216856,"children":216857},{"style":795},[216858],{"type":431,"value":2005},{"type":426,"tag":553,"props":216860,"children":216861},{"style":684},[216862],{"type":431,"value":18009},{"type":426,"tag":553,"props":216864,"children":216865},{"class":555,"line":1127},[216866,216870,216874,216878,216882,216886,216890,216894,216898,216902],{"type":426,"tag":553,"props":216867,"children":216868},{"style":684},[216869],{"type":431,"value":1198},{"type":426,"tag":553,"props":216871,"children":216872},{"style":795},[216873],{"type":431,"value":957},{"type":426,"tag":553,"props":216875,"children":216876},{"style":795},[216877],{"type":431,"value":962},{"type":426,"tag":553,"props":216879,"children":216880},{"style":572},[216881],{"type":431,"value":4625},{"type":426,"tag":553,"props":216883,"children":216884},{"style":566},[216885],{"type":431,"value":972},{"type":426,"tag":553,"props":216887,"children":216888},{"style":684},[216889],{"type":431,"value":141479},{"type":426,"tag":553,"props":216891,"children":216892},{"style":572},[216893],{"type":431,"value":1277},{"type":426,"tag":553,"props":216895,"children":216896},{"style":684},[216897],{"type":431,"value":1240},{"type":426,"tag":553,"props":216899,"children":216900},{"style":566},[216901],{"type":431,"value":982},{"type":426,"tag":553,"props":216903,"children":216904},{"style":572},[216905],{"type":431,"value":216906},"! Your subscription has been renewed.\"\n",{"type":426,"tag":553,"props":216908,"children":216909},{"class":555,"line":1167},[216910,216914,216918],{"type":426,"tag":553,"props":216911,"children":216912},{"style":684},[216913],{"type":431,"value":8117},{"type":426,"tag":553,"props":216915,"children":216916},{"style":795},[216917],{"type":431,"value":957},{"type":426,"tag":553,"props":216919,"children":216920},{"style":684},[216921],{"type":431,"value":1664},{"type":426,"tag":553,"props":216923,"children":216924},{"class":555,"line":1184},[216925,216929],{"type":426,"tag":553,"props":216926,"children":216927},{"style":572},[216928],{"type":431,"value":47296},{"type":426,"tag":553,"props":216930,"children":216931},{"style":684},[216932],{"type":431,"value":710},{"type":426,"tag":553,"props":216934,"children":216935},{"class":555,"line":1192},[216936,216940,216944,216948,216952,216956,216960,216964,216968,216972],{"type":426,"tag":553,"props":216937,"children":216938},{"style":1684},[216939],{"type":431,"value":1687},{"type":426,"tag":553,"props":216941,"children":216942},{"style":795},[216943],{"type":431,"value":957},{"type":426,"tag":553,"props":216945,"children":216946},{"style":684},[216947],{"type":431,"value":972},{"type":426,"tag":553,"props":216949,"children":216950},{"style":572},[216951],{"type":431,"value":45214},{"type":426,"tag":553,"props":216953,"children":216954},{"style":684},[216955],{"type":431,"value":700},{"type":426,"tag":553,"props":216957,"children":216958},{"style":795},[216959],{"type":431,"value":1709},{"type":426,"tag":553,"props":216961,"children":216962},{"style":572},[216963],{"type":431,"value":12608},{"type":426,"tag":553,"props":216965,"children":216966},{"style":566},[216967],{"type":431,"value":139229},{"type":426,"tag":553,"props":216969,"children":216970},{"style":572},[216971],{"type":431,"value":1527},{"type":426,"tag":553,"props":216973,"children":216974},{"style":684},[216975],{"type":431,"value":1737},{"type":426,"tag":553,"props":216977,"children":216978},{"class":555,"line":1210},[216979,216983,216987,216991,216995,216999,217003,217007,217011],{"type":426,"tag":553,"props":216980,"children":216981},{"style":1684},[216982],{"type":431,"value":1746},{"type":426,"tag":553,"props":216984,"children":216985},{"style":795},[216986],{"type":431,"value":957},{"type":426,"tag":553,"props":216988,"children":216989},{"style":684},[216990],{"type":431,"value":972},{"type":426,"tag":553,"props":216992,"children":216993},{"style":572},[216994],{"type":431,"value":45266},{"type":426,"tag":553,"props":216996,"children":216997},{"style":684},[216998],{"type":431,"value":18086},{"type":426,"tag":553,"props":217000,"children":217001},{"style":572},[217002],{"type":431,"value":45266},{"type":426,"tag":553,"props":217004,"children":217005},{"style":684},[217006],{"type":431,"value":1774},{"type":426,"tag":553,"props":217008,"children":217009},{"style":572},[217010],{"type":431,"value":45275},{"type":426,"tag":553,"props":217012,"children":217013},{"style":684},[217014],{"type":431,"value":1784},{"type":426,"tag":553,"props":217016,"children":217017},{"class":555,"line":1253},[217018],{"type":426,"tag":553,"props":217019,"children":217020},{"style":684},[217021],{"type":431,"value":1642},{"type":426,"tag":553,"props":217023,"children":217024},{"class":555,"line":1302},[217025,217029,217033,217037,217041,217045,217049,217053,217057,217061,217065,217069,217074,217078,217082,217086,217090],{"type":426,"tag":553,"props":217026,"children":217027},{"style":566},[217028],{"type":431,"value":51971},{"type":426,"tag":553,"props":217030,"children":217031},{"style":684},[217032],{"type":431,"value":3275},{"type":426,"tag":553,"props":217034,"children":217035},{"style":795},[217036],{"type":431,"value":1709},{"type":426,"tag":553,"props":217038,"children":217039},{"style":572},[217040],{"type":431,"value":180966},{"type":426,"tag":553,"props":217042,"children":217043},{"style":566},[217044],{"type":431,"value":972},{"type":426,"tag":553,"props":217046,"children":217047},{"style":684},[217048],{"type":431,"value":141479},{"type":426,"tag":553,"props":217050,"children":217051},{"style":572},[217052],{"type":431,"value":1277},{"type":426,"tag":553,"props":217054,"children":217055},{"style":684},[217056],{"type":431,"value":1240},{"type":426,"tag":553,"props":217058,"children":217059},{"style":566},[217060],{"type":431,"value":982},{"type":426,"tag":553,"props":217062,"children":217063},{"style":572},[217064],{"type":431,"value":700},{"type":426,"tag":553,"props":217066,"children":217067},{"style":566},[217068],{"type":431,"value":972},{"type":426,"tag":553,"props":217070,"children":217071},{"style":684},[217072],{"type":431,"value":217073},"response.json()[",{"type":426,"tag":553,"props":217075,"children":217076},{"style":572},[217077],{"type":431,"value":2982},{"type":426,"tag":553,"props":217079,"children":217080},{"style":684},[217081],{"type":431,"value":1240},{"type":426,"tag":553,"props":217083,"children":217084},{"style":566},[217085],{"type":431,"value":982},{"type":426,"tag":553,"props":217087,"children":217088},{"style":572},[217089],{"type":431,"value":1527},{"type":426,"tag":553,"props":217091,"children":217092},{"style":684},[217093],{"type":431,"value":3262},{"type":426,"tag":553,"props":217095,"children":217096},{"class":555,"line":1374},[217097,217101,217105,217109],{"type":426,"tag":553,"props":217098,"children":217099},{"style":684},[217100],{"type":431,"value":43150},{"type":426,"tag":553,"props":217102,"children":217103},{"style":566},[217104],{"type":431,"value":1921},{"type":426,"tag":553,"props":217106,"children":217107},{"style":684},[217108],{"type":431,"value":3099},{"type":426,"tag":553,"props":217110,"children":217111},{"style":1975},[217112],{"type":431,"value":217113},"# 1-second delay between messages\n",{"type":426,"tag":434,"props":217115,"children":217116},{"id":73429},[217117],{"type":431,"value":125071},{"type":426,"tag":454,"props":217119,"children":217120},{},[217121,217134,217149,217176,217186],{"type":426,"tag":458,"props":217122,"children":217123},{},[217124,217128,217129],{"type":426,"tag":446,"props":217125,"children":217126},{},[217127],{"type":431,"value":174673},{"type":431,"value":700},{"type":426,"tag":549,"props":217130,"children":217132},{"className":217131},[],[217133],{"type":431,"value":7216},{"type":426,"tag":458,"props":217135,"children":217136},{},[217137,217142,217143,217148],{"type":426,"tag":446,"props":217138,"children":217139},{},[217140],{"type":431,"value":217141},"Auth",{"type":431,"value":700},{"type":426,"tag":549,"props":217144,"children":217146},{"className":217145},[],[217147],{"type":431,"value":10711},{"type":431,"value":213083},{"type":426,"tag":458,"props":217150,"children":217151},{},[217152,217156,217157,217162,217163,217168,217170,217175],{"type":426,"tag":446,"props":217153,"children":217154},{},[217155],{"type":431,"value":86300},{"type":431,"value":700},{"type":426,"tag":549,"props":217158,"children":217160},{"className":217159},[],[217161],{"type":431,"value":39195},{"type":431,"value":174744},{"type":426,"tag":549,"props":217164,"children":217166},{"className":217165},[],[217167],{"type":431,"value":2033},{"type":431,"value":217169},") and ",{"type":426,"tag":549,"props":217171,"children":217173},{"className":217172},[],[217174],{"type":431,"value":2734},{"type":431,"value":86315},{"type":426,"tag":458,"props":217177,"children":217178},{},[217179,217184],{"type":426,"tag":446,"props":217180,"children":217181},{},[217182],{"type":431,"value":217183},"Works with",{"type":431,"value":217185},": cURL, Python, Node.js, PHP, Java, C#, and any HTTP client",{"type":426,"tag":458,"props":217187,"children":217188},{},[217189,217193,217195],{"type":426,"tag":446,"props":217190,"children":217191},{},[217192],{"type":431,"value":505},{"type":431,"value":217194},": $5\u002Fmonth, no per-message fees — ",{"type":426,"tag":3819,"props":217196,"children":217198},{"href":3821,"rel":217197},[3823],[217199],{"type":431,"value":217200},"start free at rapiwa.com",{"type":426,"tag":434,"props":217202,"children":217203},{"id":4109},[217204],{"type":431,"value":4112},{"type":426,"tag":427,"props":217206,"children":217207},{},[217208,217213,217214,217219,217221,217226,217227,217232,217233,217238],{"type":426,"tag":446,"props":217209,"children":217210},{},[217211],{"type":431,"value":217212},"What phone number format does Rapiwa accept?",{"type":431,"value":125155},{"type":426,"tag":549,"props":217215,"children":217217},{"className":217216},[],[217218],{"type":431,"value":2033},{"type":431,"value":217220}," sign or spaces. Bangladesh: ",{"type":426,"tag":549,"props":217222,"children":217224},{"className":217223},[],[217225],{"type":431,"value":7237},{"type":431,"value":71579},{"type":426,"tag":549,"props":217228,"children":217230},{"className":217229},[],[217231],{"type":431,"value":174854},{"type":431,"value":71572},{"type":426,"tag":549,"props":217234,"children":217236},{"className":217235},[],[217237],{"type":431,"value":127028},{"type":431,"value":217239},". The format is country code followed directly by the local number.",{"type":426,"tag":427,"props":217241,"children":217242},{},[217243,217248],{"type":426,"tag":446,"props":217244,"children":217245},{},[217246],{"type":431,"value":217247},"Can I send WhatsApp messages to someone who hasn't saved my number?",{"type":431,"value":217249},"\nYes. WhatsApp API messages are delivered to any valid WhatsApp number, whether or not the recipient has saved your number in their contacts.",{"type":426,"tag":427,"props":217251,"children":217252},{},[217253,217258],{"type":426,"tag":446,"props":217254,"children":217255},{},[217256],{"type":431,"value":217257},"How many messages can I send per day?",{"type":431,"value":217259},"\nRapiwa has no daily message cap. All plans support unlimited messages. To avoid WhatsApp flagging your number, keep your sending rate reasonable — a 1-second delay between messages and avoiding unsolicited bulk sends is recommended.",{"type":426,"tag":427,"props":217261,"children":217262},{},[217263,217268],{"type":426,"tag":446,"props":217264,"children":217265},{},[217266],{"type":431,"value":217267},"Can I send WhatsApp messages from a server (no phone attached)?",{"type":431,"value":217269},"\nYes. Once you connect your WhatsApp number via QR code in the Rapiwa dashboard, your phone can be off or on a different network. The API handles the WhatsApp connection from Rapiwa's infrastructure.",{"type":426,"tag":427,"props":217271,"children":217272},{},[217273,217278],{"type":426,"tag":446,"props":217274,"children":217275},{},[217276],{"type":431,"value":217277},"Does Rapiwa work with WhatsApp Business accounts?",{"type":431,"value":217279},"\nYes. Rapiwa works with both regular WhatsApp personal numbers and WhatsApp Business numbers.",{"type":426,"tag":427,"props":217281,"children":217282},{},[217283,217288],{"type":426,"tag":446,"props":217284,"children":217285},{},[217286],{"type":431,"value":217287},"How do I test without sending to real users?",{"type":431,"value":217289},"\nUse your own phone number as the test recipient. Send to yourself first to verify the message format and delivery before sending to customers.",{"type":426,"tag":4164,"props":217291,"children":217292},{},[217293],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":217295},[217296,217297,217298,217299,217307,217312,217313,217314,217315],{"id":212923,"depth":588,"text":212926},{"id":144177,"depth":588,"text":144180},{"id":213031,"depth":588,"text":213034},{"id":44959,"depth":588,"text":44962,"children":217300},[217301,217302,217303,217304,217305,217306],{"id":213224,"depth":606,"text":213227},{"id":784,"depth":606,"text":78773},{"id":213729,"depth":606,"text":213732},{"id":214154,"depth":606,"text":214157},{"id":60807,"depth":606,"text":171157},{"id":215141,"depth":606,"text":189093},{"id":215741,"depth":588,"text":215744,"children":217308},[217309,217310,217311],{"id":215747,"depth":606,"text":215750},{"id":215854,"depth":606,"text":215857},{"id":215961,"depth":606,"text":215964},{"id":216128,"depth":588,"text":216131},{"id":216631,"depth":588,"text":216634},{"id":73429,"depth":588,"text":125071},{"id":4109,"depth":588,"text":4112},"content:blog:how-to-send-whatsapp-messages-programmatically-developers-guide.md","blog\u002Fhow-to-send-whatsapp-messages-programmatically-developers-guide.md","blog\u002Fhow-to-send-whatsapp-messages-programmatically-developers-guide",{"loc":394},{"_path":398,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":399,"description":400,"date":217321,"author":18999,"category":17,"_slug":217322,"image":217323,"body":217324,"_type":4187,"_id":218888,"_source":4189,"_file":218889,"_stem":218890,"_extension":4192,"sitemap":218891},"2025-11-28","what-is-a-whatsapp-api-complete-developer-guide-2026","\u002Fimages\u002Fblog\u002Fwhat-is-a-whatsapp-api-complete-developer-guide-2026.svg",{"type":423,"children":217325,"toc":218868},[217326,217338,217344,217349,217354,217377,217382,217388,217393,217457,217463,217556,217563,217638,217643,217649,217655,217666,217694,217700,217709,217737,217742,217748,217754,217759,217906,217912,217943,217949,217954,217960,218041,218047,218052,218100,218105,218111,218234,218239,218245,218250,218257,218404,218412,218609,218617,218801,218805,218815,218825,218835,218845,218854,218864],{"type":426,"tag":427,"props":217327,"children":217328},{},[217329,217331,217336],{"type":431,"value":217330},"A WhatsApp API is an interface that lets developers send and receive WhatsApp messages programmatically from their own applications, without using the WhatsApp mobile app. Using an API like ",{"type":426,"tag":3819,"props":217332,"children":217334},{"href":3821,"rel":217333},[3823],[217335],{"type":431,"value":127310},{"type":431,"value":217337},", you can send messages, images, documents, and automated alerts from any programming language via HTTP requests — starting at $5\u002Fmonth with no per-message fees.",{"type":426,"tag":434,"props":217339,"children":217341},{"id":217340},"what-is-a-whatsapp-api",[217342],{"type":431,"value":217343},"What Is a WhatsApp API?",{"type":426,"tag":427,"props":217345,"children":217346},{},[217347],{"type":431,"value":217348},"A WhatsApp API (Application Programming Interface) is a web service that connects your software to WhatsApp's messaging infrastructure. Instead of a human typing on a phone, your code sends an HTTP request to an API endpoint, which delivers the message through WhatsApp.",{"type":426,"tag":427,"props":217350,"children":217351},{},[217352],{"type":431,"value":217353},"This enables businesses and developers to:",{"type":426,"tag":454,"props":217355,"children":217356},{},[217357,217362,217367,217372],{"type":426,"tag":458,"props":217358,"children":217359},{},[217360],{"type":431,"value":217361},"Send automated order confirmations, shipping alerts, and invoices",{"type":426,"tag":458,"props":217363,"children":217364},{},[217365],{"type":431,"value":217366},"Build chatbots that reply to customer inquiries 24\u002F7",{"type":426,"tag":458,"props":217368,"children":217369},{},[217370],{"type":431,"value":217371},"Integrate WhatsApp notifications into CRM systems, e-commerce platforms, and SaaS products",{"type":426,"tag":458,"props":217373,"children":217374},{},[217375],{"type":431,"value":217376},"Send bulk messages to thousands of contacts without manual effort",{"type":426,"tag":427,"props":217378,"children":217379},{},[217380],{"type":431,"value":217381},"The API abstracts all the complexity of connecting to WhatsApp so you can focus on your application logic.",{"type":426,"tag":434,"props":217383,"children":217385},{"id":217384},"how-does-a-whatsapp-api-work",[217386],{"type":431,"value":217387},"How Does a WhatsApp API Work?",{"type":426,"tag":427,"props":217389,"children":217390},{},[217391],{"type":431,"value":217392},"At its core, a WhatsApp API works like any REST API:",{"type":426,"tag":6331,"props":217394,"children":217395},{},[217396,217412,217422,217432,217448],{"type":426,"tag":458,"props":217397,"children":217398},{},[217399,217403,217405,217410],{"type":426,"tag":446,"props":217400,"children":217401},{},[217402],{"type":431,"value":86289},{"type":431,"value":217404}," — You get an API key when you sign up. Include it in every request as a Bearer token in the ",{"type":426,"tag":549,"props":217406,"children":217408},{"className":217407},[],[217409],{"type":431,"value":48106},{"type":431,"value":217411}," header.",{"type":426,"tag":458,"props":217413,"children":217414},{},[217415,217420],{"type":426,"tag":446,"props":217416,"children":217417},{},[217418],{"type":431,"value":217419},"Send a request",{"type":431,"value":217421}," — Your code sends an HTTP POST request to the API endpoint with the recipient's phone number and your message content.",{"type":426,"tag":458,"props":217423,"children":217424},{},[217425,217430],{"type":426,"tag":446,"props":217426,"children":217427},{},[217428],{"type":431,"value":217429},"Delivery",{"type":431,"value":217431}," — The API server connects to WhatsApp and delivers the message to the recipient's app.",{"type":426,"tag":458,"props":217433,"children":217434},{},[217435,217439,217441,217446],{"type":426,"tag":446,"props":217436,"children":217437},{},[217438],{"type":431,"value":92134},{"type":431,"value":217440}," — The API returns a JSON response confirming delivery, with a ",{"type":426,"tag":549,"props":217442,"children":217444},{"className":217443},[],[217445],{"type":431,"value":8253},{"type":431,"value":217447}," you can use to track status.",{"type":426,"tag":458,"props":217449,"children":217450},{},[217451,217455],{"type":426,"tag":446,"props":217452,"children":217453},{},[217454],{"type":431,"value":102926},{"type":431,"value":217456}," — For incoming messages, you configure a webhook URL. The API POSTs new messages to your URL in real time.",{"type":426,"tag":515,"props":217458,"children":217460},{"id":217459},"basic-example-sending-a-message-via-rapiwa-api",[217461],{"type":431,"value":217462},"Basic Example: Sending a Message via Rapiwa API",{"type":426,"tag":542,"props":217464,"children":217466},{"className":546,"code":217465,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello! Your order #1234 has been shipped.\"\n  }'\n",[217467],{"type":426,"tag":549,"props":217468,"children":217469},{"__ignoreMap":417},[217470,217493,217508,217523,217534,217541,217549],{"type":426,"tag":553,"props":217471,"children":217472},{"class":555,"line":556},[217473,217477,217481,217485,217489],{"type":426,"tag":553,"props":217474,"children":217475},{"style":560},[217476],{"type":431,"value":563},{"type":426,"tag":553,"props":217478,"children":217479},{"style":566},[217480],{"type":431,"value":569},{"type":426,"tag":553,"props":217482,"children":217483},{"style":572},[217484],{"type":431,"value":575},{"type":426,"tag":553,"props":217486,"children":217487},{"style":572},[217488],{"type":431,"value":580},{"type":426,"tag":553,"props":217490,"children":217491},{"style":566},[217492],{"type":431,"value":585},{"type":426,"tag":553,"props":217494,"children":217495},{"class":555,"line":588},[217496,217500,217504],{"type":426,"tag":553,"props":217497,"children":217498},{"style":566},[217499],{"type":431,"value":594},{"type":426,"tag":553,"props":217501,"children":217502},{"style":572},[217503],{"type":431,"value":599},{"type":426,"tag":553,"props":217505,"children":217506},{"style":566},[217507],{"type":431,"value":585},{"type":426,"tag":553,"props":217509,"children":217510},{"class":555,"line":606},[217511,217515,217519],{"type":426,"tag":553,"props":217512,"children":217513},{"style":566},[217514],{"type":431,"value":594},{"type":426,"tag":553,"props":217516,"children":217517},{"style":572},[217518],{"type":431,"value":616},{"type":426,"tag":553,"props":217520,"children":217521},{"style":566},[217522],{"type":431,"value":585},{"type":426,"tag":553,"props":217524,"children":217525},{"class":555,"line":623},[217526,217530],{"type":426,"tag":553,"props":217527,"children":217528},{"style":566},[217529],{"type":431,"value":629},{"type":426,"tag":553,"props":217531,"children":217532},{"style":572},[217533],{"type":431,"value":634},{"type":426,"tag":553,"props":217535,"children":217536},{"class":555,"line":637},[217537],{"type":426,"tag":553,"props":217538,"children":217539},{"style":572},[217540],{"type":431,"value":643},{"type":426,"tag":553,"props":217542,"children":217543},{"class":555,"line":646},[217544],{"type":426,"tag":553,"props":217545,"children":217546},{"style":572},[217547],{"type":431,"value":217548},"    \"message\": \"Hello! Your order #1234 has been shipped.\"\n",{"type":426,"tag":553,"props":217550,"children":217551},{"class":555,"line":655},[217552],{"type":426,"tag":553,"props":217553,"children":217554},{"style":572},[217555],{"type":431,"value":661},{"type":426,"tag":427,"props":217557,"children":217558},{},[217559],{"type":426,"tag":446,"props":217560,"children":217561},{},[217562],{"type":431,"value":166334},{"type":426,"tag":542,"props":217564,"children":217566},{"className":674,"code":217565,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123\",\n  \"timestamp\": \"2026-04-02T09:00:00Z\"\n}\n",[217567],{"type":426,"tag":549,"props":217568,"children":217569},{"__ignoreMap":417},[217570,217577,217596,217615,217631],{"type":426,"tag":553,"props":217571,"children":217572},{"class":555,"line":556},[217573],{"type":426,"tag":553,"props":217574,"children":217575},{"style":684},[217576],{"type":431,"value":687},{"type":426,"tag":553,"props":217578,"children":217579},{"class":555,"line":588},[217580,217584,217588,217592],{"type":426,"tag":553,"props":217581,"children":217582},{"style":566},[217583],{"type":431,"value":695},{"type":426,"tag":553,"props":217585,"children":217586},{"style":684},[217587],{"type":431,"value":700},{"type":426,"tag":553,"props":217589,"children":217590},{"style":572},[217591],{"type":431,"value":705},{"type":426,"tag":553,"props":217593,"children":217594},{"style":684},[217595],{"type":431,"value":710},{"type":426,"tag":553,"props":217597,"children":217598},{"class":555,"line":606},[217599,217603,217607,217611],{"type":426,"tag":553,"props":217600,"children":217601},{"style":566},[217602],{"type":431,"value":718},{"type":426,"tag":553,"props":217604,"children":217605},{"style":684},[217606],{"type":431,"value":700},{"type":426,"tag":553,"props":217608,"children":217609},{"style":572},[217610],{"type":431,"value":7376},{"type":426,"tag":553,"props":217612,"children":217613},{"style":684},[217614],{"type":431,"value":710},{"type":426,"tag":553,"props":217616,"children":217617},{"class":555,"line":623},[217618,217622,217626],{"type":426,"tag":553,"props":217619,"children":217620},{"style":566},[217621],{"type":431,"value":739},{"type":426,"tag":553,"props":217623,"children":217624},{"style":684},[217625],{"type":431,"value":700},{"type":426,"tag":553,"props":217627,"children":217628},{"style":572},[217629],{"type":431,"value":217630},"\"2026-04-02T09:00:00Z\"\n",{"type":426,"tag":553,"props":217632,"children":217633},{"class":555,"line":637},[217634],{"type":426,"tag":553,"props":217635,"children":217636},{"style":684},[217637],{"type":431,"value":756},{"type":426,"tag":427,"props":217639,"children":217640},{},[217641],{"type":431,"value":217642},"That is all it takes to send a WhatsApp message from any application.",{"type":426,"tag":434,"props":217644,"children":217646},{"id":217645},"what-are-the-two-types-of-whatsapp-apis",[217647],{"type":431,"value":217648},"What Are the Two Types of WhatsApp APIs?",{"type":426,"tag":515,"props":217650,"children":217652},{"id":217651},"_1-official-whatsapp-business-api-meta-cloud-api",[217653],{"type":431,"value":217654},"1. Official WhatsApp Business API (Meta Cloud API)",{"type":426,"tag":427,"props":217656,"children":217657},{},[217658,217659,217664],{"type":431,"value":86346},{"type":426,"tag":446,"props":217660,"children":217661},{},[217662],{"type":431,"value":217663},"official API",{"type":431,"value":217665}," is operated by Meta (WhatsApp's parent company). Key characteristics:",{"type":426,"tag":454,"props":217667,"children":217668},{},[217669,217674,217679,217684,217689],{"type":426,"tag":458,"props":217670,"children":217671},{},[217672],{"type":431,"value":217673},"Requires business verification and approval from Meta",{"type":426,"tag":458,"props":217675,"children":217676},{},[217677],{"type":431,"value":217678},"Uses pre-approved message templates for outbound messaging",{"type":426,"tag":458,"props":217680,"children":217681},{},[217682],{"type":431,"value":217683},"Charges per conversation (pricing varies by country and message type)",{"type":426,"tag":458,"props":217685,"children":217686},{},[217687],{"type":431,"value":217688},"Has a 24-hour messaging window — you can only reply freely within 24 hours of the customer's last message",{"type":426,"tag":458,"props":217690,"children":217691},{},[217692],{"type":431,"value":217693},"Designed for large enterprises with dedicated WhatsApp Business numbers",{"type":426,"tag":515,"props":217695,"children":217697},{"id":217696},"_2-unofficial-whatsapp-api",[217698],{"type":431,"value":217699},"2. Unofficial WhatsApp API",{"type":426,"tag":427,"props":217701,"children":217702},{},[217703,217707],{"type":426,"tag":446,"props":217704,"children":217705},{},[217706],{"type":431,"value":160705},{"type":431,"value":217708}," (like Rapiwa) connect to WhatsApp via the WhatsApp Web protocol — the same technology your browser uses when you open web.whatsapp.com. Key characteristics:",{"type":426,"tag":454,"props":217710,"children":217711},{},[217712,217717,217722,217727,217732],{"type":426,"tag":458,"props":217713,"children":217714},{},[217715],{"type":431,"value":217716},"No Meta approval required — connect any personal or business number via QR code scan",{"type":426,"tag":458,"props":217718,"children":217719},{},[217720],{"type":431,"value":217721},"No message templates required — send any message at any time",{"type":426,"tag":458,"props":217723,"children":217724},{},[217725],{"type":431,"value":217726},"No 24-hour window restriction",{"type":426,"tag":458,"props":217728,"children":217729},{},[217730],{"type":431,"value":217731},"No per-message fees — flat monthly pricing",{"type":426,"tag":458,"props":217733,"children":217734},{},[217735],{"type":431,"value":217736},"Ready in minutes instead of weeks",{"type":426,"tag":427,"props":217738,"children":217739},{},[217740],{"type":431,"value":217741},"Rapiwa is an unofficial WhatsApp API starting at $5\u002Fmonth that connects your number via QR code and exposes the full WhatsApp feature set via a clean REST API.",{"type":426,"tag":434,"props":217743,"children":217745},{"id":217744},"what-can-you-do-with-a-whatsapp-api",[217746],{"type":431,"value":217747},"What Can You Do with a WhatsApp API?",{"type":426,"tag":515,"props":217749,"children":217751},{"id":217750},"send-all-message-types",[217752],{"type":431,"value":217753},"Send All Message Types",{"type":426,"tag":427,"props":217755,"children":217756},{},[217757],{"type":431,"value":217758},"A fully-featured WhatsApp API supports everything WhatsApp supports:",{"type":426,"tag":10600,"props":217760,"children":217761},{},[217762,217781],{"type":426,"tag":10604,"props":217763,"children":217764},{},[217765],{"type":426,"tag":10608,"props":217766,"children":217767},{},[217768,217773,217777],{"type":426,"tag":10612,"props":217769,"children":217770},{},[217771],{"type":431,"value":217772},"Message Type",{"type":426,"tag":10612,"props":217774,"children":217775},{},[217776],{"type":431,"value":213148},{"type":426,"tag":10612,"props":217778,"children":217779},{},[217780],{"type":431,"value":155960},{"type":426,"tag":10623,"props":217782,"children":217783},{},[217784,217801,217818,217835,217853,217871,217889],{"type":426,"tag":10608,"props":217785,"children":217786},{},[217787,217791,217796],{"type":426,"tag":10630,"props":217788,"children":217789},{},[217790],{"type":431,"value":71811},{"type":426,"tag":10630,"props":217792,"children":217793},{},[217794],{"type":431,"value":217795},"Formatted text with bold, italic",{"type":426,"tag":10630,"props":217797,"children":217798},{},[217799],{"type":431,"value":217800},"Notifications, alerts",{"type":426,"tag":10608,"props":217802,"children":217803},{},[217804,217808,217813],{"type":426,"tag":10630,"props":217805,"children":217806},{},[217807],{"type":431,"value":78436},{"type":426,"tag":10630,"props":217809,"children":217810},{},[217811],{"type":431,"value":217812},"JPEG, PNG files",{"type":426,"tag":10630,"props":217814,"children":217815},{},[217816],{"type":431,"value":217817},"Product images, receipts",{"type":426,"tag":10608,"props":217819,"children":217820},{},[217821,217825,217830],{"type":426,"tag":10630,"props":217822,"children":217823},{},[217824],{"type":431,"value":78500},{"type":426,"tag":10630,"props":217826,"children":217827},{},[217828],{"type":431,"value":217829},"MP4 files",{"type":426,"tag":10630,"props":217831,"children":217832},{},[217833],{"type":431,"value":217834},"Tutorial clips, promos",{"type":426,"tag":10608,"props":217836,"children":217837},{},[217838,217843,217848],{"type":426,"tag":10630,"props":217839,"children":217840},{},[217841],{"type":431,"value":217842},"Document",{"type":426,"tag":10630,"props":217844,"children":217845},{},[217846],{"type":431,"value":217847},"PDF, DOCX, XLSX",{"type":426,"tag":10630,"props":217849,"children":217850},{},[217851],{"type":431,"value":217852},"Invoices, contracts",{"type":426,"tag":10608,"props":217854,"children":217855},{},[217856,217861,217866],{"type":426,"tag":10630,"props":217857,"children":217858},{},[217859],{"type":431,"value":217860},"Voice",{"type":426,"tag":10630,"props":217862,"children":217863},{},[217864],{"type":431,"value":217865},"MP3 audio",{"type":426,"tag":10630,"props":217867,"children":217868},{},[217869],{"type":431,"value":217870},"Voice updates",{"type":426,"tag":10608,"props":217872,"children":217873},{},[217874,217879,217884],{"type":426,"tag":10630,"props":217875,"children":217876},{},[217877],{"type":431,"value":217878},"Location",{"type":426,"tag":10630,"props":217880,"children":217881},{},[217882],{"type":431,"value":217883},"GPS coordinates",{"type":426,"tag":10630,"props":217885,"children":217886},{},[217887],{"type":431,"value":217888},"Store directions",{"type":426,"tag":10608,"props":217890,"children":217891},{},[217892,217896,217901],{"type":426,"tag":10630,"props":217893,"children":217894},{},[217895],{"type":431,"value":148354},{"type":426,"tag":10630,"props":217897,"children":217898},{},[217899],{"type":431,"value":217900},"vCard format",{"type":426,"tag":10630,"props":217902,"children":217903},{},[217904],{"type":431,"value":217905},"Contact sharing",{"type":426,"tag":515,"props":217907,"children":217909},{"id":217908},"message-to-any-destination",[217910],{"type":431,"value":217911},"Message to Any Destination",{"type":426,"tag":454,"props":217913,"children":217914},{},[217915,217925,217934],{"type":426,"tag":458,"props":217916,"children":217917},{},[217918,217923],{"type":426,"tag":446,"props":217919,"children":217920},{},[217921],{"type":431,"value":217922},"Individual chats",{"type":431,"value":217924}," — one-to-one messages to any WhatsApp user",{"type":426,"tag":458,"props":217926,"children":217927},{},[217928,217932],{"type":426,"tag":446,"props":217929,"children":217930},{},[217931],{"type":431,"value":167187},{"type":431,"value":217933}," — send to existing WhatsApp groups your number is a member of",{"type":426,"tag":458,"props":217935,"children":217936},{},[217937,217941],{"type":426,"tag":446,"props":217938,"children":217939},{},[217940],{"type":431,"value":188720},{"type":431,"value":217942}," — broadcast to WhatsApp Channel subscribers",{"type":426,"tag":515,"props":217944,"children":217946},{"id":217945},"receive-incoming-messages-via-webhook",[217947],{"type":431,"value":217948},"Receive Incoming Messages via Webhook",{"type":426,"tag":427,"props":217950,"children":217951},{},[217952],{"type":431,"value":217953},"Configure a webhook URL and the API notifies your server every time someone replies. This is how chatbots are built — your webhook receives the message, your code processes it, and sends a reply back through the API.",{"type":426,"tag":434,"props":217955,"children":217957},{"id":217956},"what-are-the-best-whatsapp-api-use-cases",[217958],{"type":431,"value":217959},"What Are the Best WhatsApp API Use Cases?",{"type":426,"tag":6331,"props":217961,"children":217962},{},[217963,217973,217982,217992,218002,218012,218021,218031],{"type":426,"tag":458,"props":217964,"children":217965},{},[217966,217971],{"type":426,"tag":446,"props":217967,"children":217968},{},[217969],{"type":431,"value":217970},"E-commerce notifications",{"type":431,"value":217972}," — Order confirmed, shipped, delivered, invoice attached",{"type":426,"tag":458,"props":217974,"children":217975},{},[217976,217980],{"type":426,"tag":446,"props":217977,"children":217978},{},[217979],{"type":431,"value":104630},{"type":431,"value":217981}," — Healthcare, beauty, legal, and service businesses",{"type":426,"tag":458,"props":217983,"children":217984},{},[217985,217990],{"type":426,"tag":446,"props":217986,"children":217987},{},[217988],{"type":431,"value":217989},"OTP and verification",{"type":431,"value":217991}," — Send 6-digit codes for 2FA instead of SMS",{"type":426,"tag":458,"props":217993,"children":217994},{},[217995,218000],{"type":426,"tag":446,"props":217996,"children":217997},{},[217998],{"type":431,"value":217999},"Customer support bots",{"type":431,"value":218001}," — GPT-powered bots that handle FAQs 24\u002F7",{"type":426,"tag":458,"props":218003,"children":218004},{},[218005,218010],{"type":426,"tag":446,"props":218006,"children":218007},{},[218008],{"type":431,"value":218009},"Lead nurturing",{"type":431,"value":218011}," — Follow-up sequences for new leads from your website",{"type":426,"tag":458,"props":218013,"children":218014},{},[218015,218019],{"type":426,"tag":446,"props":218016,"children":218017},{},[218018],{"type":431,"value":104640},{"type":431,"value":218020}," — Reduce late invoices with automated WhatsApp reminders",{"type":426,"tag":458,"props":218022,"children":218023},{},[218024,218029],{"type":426,"tag":446,"props":218025,"children":218026},{},[218027],{"type":431,"value":218028},"Event notifications",{"type":431,"value":218030}," — Confirm registrations, send QR tickets, send schedule updates",{"type":426,"tag":458,"props":218032,"children":218033},{},[218034,218039],{"type":426,"tag":446,"props":218035,"children":218036},{},[218037],{"type":431,"value":218038},"Internal alerts",{"type":431,"value":218040}," — Send critical system alerts to your team's WhatsApp",{"type":426,"tag":434,"props":218042,"children":218044},{"id":218043},"how-do-i-get-started-with-a-whatsapp-api",[218045],{"type":431,"value":218046},"How Do I Get Started with a WhatsApp API?",{"type":426,"tag":427,"props":218048,"children":218049},{},[218050],{"type":431,"value":218051},"Getting started with Rapiwa takes under 5 minutes:",{"type":426,"tag":6331,"props":218053,"children":218054},{},[218055,218071,218081,218090],{"type":426,"tag":458,"props":218056,"children":218057},{},[218058,218063,218064,218069],{"type":426,"tag":446,"props":218059,"children":218060},{},[218061],{"type":431,"value":218062},"Sign up",{"type":431,"value":179410},{"type":426,"tag":3819,"props":218065,"children":218067},{"href":3821,"rel":218066},[3823],[218068],{"type":431,"value":3826},{"type":431,"value":218070}," — 3-day free trial, no credit card",{"type":426,"tag":458,"props":218072,"children":218073},{},[218074,218079],{"type":426,"tag":446,"props":218075,"children":218076},{},[218077],{"type":431,"value":218078},"Connect your number",{"type":431,"value":218080}," — Scan the QR code in the dashboard with your WhatsApp app",{"type":426,"tag":458,"props":218082,"children":218083},{},[218084,218088],{"type":426,"tag":446,"props":218085,"children":218086},{},[218087],{"type":431,"value":132031},{"type":431,"value":218089}," — Dashboard → API Keys → Generate Key",{"type":426,"tag":458,"props":218091,"children":218092},{},[218093,218098],{"type":426,"tag":446,"props":218094,"children":218095},{},[218096],{"type":431,"value":218097},"Send your first message",{"type":431,"value":218099}," — Use the cURL example above or your preferred language",{"type":426,"tag":427,"props":218101,"children":218102},{},[218103],{"type":431,"value":218104},"No servers to configure, no Meta approval, no templates to create. Your WhatsApp number is an API endpoint in minutes.",{"type":426,"tag":434,"props":218106,"children":218108},{"id":218107},"whatsapp-api-vs-sms-api-key-differences",[218109],{"type":431,"value":218110},"WhatsApp API vs SMS API: Key Differences",{"type":426,"tag":10600,"props":218112,"children":218113},{},[218114,218132],{"type":426,"tag":10604,"props":218115,"children":218116},{},[218117],{"type":426,"tag":10608,"props":218118,"children":218119},{},[218120,218124,218128],{"type":426,"tag":10612,"props":218121,"children":218122},{},[218123],{"type":431,"value":16096},{"type":426,"tag":10612,"props":218125,"children":218126},{},[218127],{"type":431,"value":17},{"type":426,"tag":10612,"props":218129,"children":218130},{},[218131],{"type":431,"value":189637},{"type":426,"tag":10623,"props":218133,"children":218134},{},[218135,218152,218168,218184,218200,218217],{"type":426,"tag":10608,"props":218136,"children":218137},{},[218138,218142,218147],{"type":426,"tag":10630,"props":218139,"children":218140},{},[218141],{"type":431,"value":30666},{"type":426,"tag":10630,"props":218143,"children":218144},{},[218145],{"type":431,"value":218146},"~98%",{"type":426,"tag":10630,"props":218148,"children":218149},{},[218150],{"type":431,"value":218151},"~20%",{"type":426,"tag":10608,"props":218153,"children":218154},{},[218155,218159,218164],{"type":426,"tag":10630,"props":218156,"children":218157},{},[218158],{"type":431,"value":152588},{"type":426,"tag":10630,"props":218160,"children":218161},{},[218162],{"type":431,"value":218163},"Yes (images, PDFs, voice)",{"type":426,"tag":10630,"props":218165,"children":218166},{},[218167],{"type":431,"value":189718},{"type":426,"tag":10608,"props":218169,"children":218170},{},[218171,218175,218180],{"type":426,"tag":10630,"props":218172,"children":218173},{},[218174],{"type":431,"value":152610},{"type":426,"tag":10630,"props":218176,"children":218177},{},[218178],{"type":431,"value":218179},"Yes (blue ticks)",{"type":426,"tag":10630,"props":218181,"children":218182},{},[218183],{"type":431,"value":78130},{"type":426,"tag":10608,"props":218185,"children":218186},{},[218187,218192,218196],{"type":426,"tag":10630,"props":218188,"children":218189},{},[218190],{"type":431,"value":218191},"Two-way chat",{"type":426,"tag":10630,"props":218193,"children":218194},{},[218195],{"type":431,"value":103087},{"type":426,"tag":10630,"props":218197,"children":218198},{},[218199],{"type":431,"value":78140},{"type":426,"tag":10608,"props":218201,"children":218202},{},[218203,218207,218212],{"type":426,"tag":10630,"props":218204,"children":218205},{},[218206],{"type":431,"value":103028},{"type":426,"tag":10630,"props":218208,"children":218209},{},[218210],{"type":431,"value":218211},"Flat monthly",{"type":426,"tag":10630,"props":218213,"children":218214},{},[218215],{"type":431,"value":218216},"Per-message ($0.01–$0.10)",{"type":426,"tag":10608,"props":218218,"children":218219},{},[218220,218224,218229],{"type":426,"tag":10630,"props":218221,"children":218222},{},[218223],{"type":431,"value":217429},{"type":426,"tag":10630,"props":218225,"children":218226},{},[218227],{"type":431,"value":218228},"Requires internet",{"type":426,"tag":10630,"props":218230,"children":218231},{},[218232],{"type":431,"value":218233},"Works on all phones",{"type":426,"tag":427,"props":218235,"children":218236},{},[218237],{"type":431,"value":218238},"WhatsApp is the better choice for customer communication in regions where it is the dominant messaging platform (South Asia, Southeast Asia, Latin America, Europe, Middle East, Africa).",{"type":426,"tag":434,"props":218240,"children":218242},{"id":218241},"which-programming-languages-support-whatsapp-api",[218243],{"type":431,"value":218244},"Which Programming Languages Support WhatsApp API?",{"type":426,"tag":427,"props":218246,"children":218247},{},[218248],{"type":431,"value":218249},"Any language that can make HTTP requests works with a WhatsApp API. Rapiwa works with:",{"type":426,"tag":427,"props":218251,"children":218252},{},[218253],{"type":426,"tag":446,"props":218254,"children":218255},{},[218256],{"type":431,"value":185740},{"type":426,"tag":542,"props":218258,"children":218260},{"className":785,"code":218259,"language":784,"meta":417,"style":417},"import requests\n\nresponse = requests.post(\n    \"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\",\n    headers={\"Authorization\": \"Bearer YOUR_API_KEY\"},\n    json={\"number\": \"8801234567890\", \"message\": \"Hello from Python!\"}\n)\nprint(response.json())\n",[218261],{"type":426,"tag":549,"props":218262,"children":218263},{"__ignoreMap":417},[218264,218275,218282,218297,218308,218339,218386,218393],{"type":426,"tag":553,"props":218265,"children":218266},{"class":555,"line":556},[218267,218271],{"type":426,"tag":553,"props":218268,"children":218269},{"style":795},[218270],{"type":431,"value":798},{"type":426,"tag":553,"props":218272,"children":218273},{"style":684},[218274],{"type":431,"value":803},{"type":426,"tag":553,"props":218276,"children":218277},{"class":555,"line":588},[218278],{"type":426,"tag":553,"props":218279,"children":218280},{"emptyLinePlaceholder":831},[218281],{"type":431,"value":834},{"type":426,"tag":553,"props":218283,"children":218284},{"class":555,"line":606},[218285,218289,218293],{"type":426,"tag":553,"props":218286,"children":218287},{"style":684},[218288],{"type":431,"value":139172},{"type":426,"tag":553,"props":218290,"children":218291},{"style":795},[218292],{"type":431,"value":957},{"type":426,"tag":553,"props":218294,"children":218295},{"style":684},[218296],{"type":431,"value":1664},{"type":426,"tag":553,"props":218298,"children":218299},{"class":555,"line":623},[218300,218304],{"type":426,"tag":553,"props":218301,"children":218302},{"style":572},[218303],{"type":431,"value":139188},{"type":426,"tag":553,"props":218305,"children":218306},{"style":684},[218307],{"type":431,"value":710},{"type":426,"tag":553,"props":218309,"children":218310},{"class":555,"line":637},[218311,218315,218319,218323,218327,218331,218335],{"type":426,"tag":553,"props":218312,"children":218313},{"style":1684},[218314],{"type":431,"value":139200},{"type":426,"tag":553,"props":218316,"children":218317},{"style":795},[218318],{"type":431,"value":957},{"type":426,"tag":553,"props":218320,"children":218321},{"style":684},[218322],{"type":431,"value":972},{"type":426,"tag":553,"props":218324,"children":218325},{"style":572},[218326],{"type":431,"value":45214},{"type":426,"tag":553,"props":218328,"children":218329},{"style":684},[218330],{"type":431,"value":700},{"type":426,"tag":553,"props":218332,"children":218333},{"style":572},[218334],{"type":431,"value":140737},{"type":426,"tag":553,"props":218336,"children":218337},{"style":684},[218338],{"type":431,"value":1737},{"type":426,"tag":553,"props":218340,"children":218341},{"class":555,"line":646},[218342,218346,218350,218354,218358,218362,218366,218370,218374,218378,218382],{"type":426,"tag":553,"props":218343,"children":218344},{"style":1684},[218345],{"type":431,"value":139245},{"type":426,"tag":553,"props":218347,"children":218348},{"style":795},[218349],{"type":431,"value":957},{"type":426,"tag":553,"props":218351,"children":218352},{"style":684},[218353],{"type":431,"value":972},{"type":426,"tag":553,"props":218355,"children":218356},{"style":572},[218357],{"type":431,"value":45266},{"type":426,"tag":553,"props":218359,"children":218360},{"style":684},[218361],{"type":431,"value":700},{"type":426,"tag":553,"props":218363,"children":218364},{"style":572},[218365],{"type":431,"value":7286},{"type":426,"tag":553,"props":218367,"children":218368},{"style":684},[218369],{"type":431,"value":1907},{"type":426,"tag":553,"props":218371,"children":218372},{"style":572},[218373],{"type":431,"value":45275},{"type":426,"tag":553,"props":218375,"children":218376},{"style":684},[218377],{"type":431,"value":700},{"type":426,"tag":553,"props":218379,"children":218380},{"style":572},[218381],{"type":431,"value":139282},{"type":426,"tag":553,"props":218383,"children":218384},{"style":684},[218385],{"type":431,"value":756},{"type":426,"tag":553,"props":218387,"children":218388},{"class":555,"line":655},[218389],{"type":426,"tag":553,"props":218390,"children":218391},{"style":684},[218392],{"type":431,"value":3262},{"type":426,"tag":553,"props":218394,"children":218395},{"class":555,"line":1036},[218396,218400],{"type":426,"tag":553,"props":218397,"children":218398},{"style":566},[218399],{"type":431,"value":3270},{"type":426,"tag":553,"props":218401,"children":218402},{"style":684},[218403],{"type":431,"value":139312},{"type":426,"tag":427,"props":218405,"children":218406},{},[218407],{"type":426,"tag":446,"props":218408,"children":218409},{},[218410],{"type":431,"value":218411},"Node.js:",{"type":426,"tag":542,"props":218413,"children":218415},{"className":52113,"code":218414,"language":52115,"meta":417,"style":417},"const response = await fetch(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer YOUR_API_KEY\",\n    \"Content-Type\": \"application\u002Fjson\"\n  },\n  body: JSON.stringify({ number: \"8801234567890\", message: \"Hello from Node.js!\" })\n});\nconst data = await response.json();\nconsole.log(data);\n",[218416],{"type":426,"tag":549,"props":218417,"children":218418},{"__ignoreMap":417},[218419,218454,218469,218476,218495,218510,218517,218556,218563,218594],{"type":426,"tag":553,"props":218420,"children":218421},{"class":555,"line":556},[218422,218426,218430,218434,218438,218442,218446,218450],{"type":426,"tag":553,"props":218423,"children":218424},{"style":795},[218425],{"type":431,"value":52135},{"type":426,"tag":553,"props":218427,"children":218428},{"style":566},[218429],{"type":431,"value":53061},{"type":426,"tag":553,"props":218431,"children":218432},{"style":795},[218433],{"type":431,"value":8739},{"type":426,"tag":553,"props":218435,"children":218436},{"style":795},[218437],{"type":431,"value":53070},{"type":426,"tag":553,"props":218439,"children":218440},{"style":560},[218441],{"type":431,"value":52226},{"type":426,"tag":553,"props":218443,"children":218444},{"style":684},[218445],{"type":431,"value":3275},{"type":426,"tag":553,"props":218447,"children":218448},{"style":572},[218449],{"type":431,"value":60449},{"type":426,"tag":553,"props":218451,"children":218452},{"style":684},[218453],{"type":431,"value":53088},{"type":426,"tag":553,"props":218455,"children":218456},{"class":555,"line":588},[218457,218461,218465],{"type":426,"tag":553,"props":218458,"children":218459},{"style":684},[218460],{"type":431,"value":55814},{"type":426,"tag":553,"props":218462,"children":218463},{"style":572},[218464],{"type":431,"value":60428},{"type":426,"tag":553,"props":218466,"children":218467},{"style":684},[218468],{"type":431,"value":710},{"type":426,"tag":553,"props":218470,"children":218471},{"class":555,"line":606},[218472],{"type":426,"tag":553,"props":218473,"children":218474},{"style":684},[218475],{"type":431,"value":55830},{"type":426,"tag":553,"props":218477,"children":218478},{"class":555,"line":623},[218479,218483,218487,218491],{"type":426,"tag":553,"props":218480,"children":218481},{"style":572},[218482],{"type":431,"value":60473},{"type":426,"tag":553,"props":218484,"children":218485},{"style":684},[218486],{"type":431,"value":700},{"type":426,"tag":553,"props":218488,"children":218489},{"style":572},[218490],{"type":431,"value":140737},{"type":426,"tag":553,"props":218492,"children":218493},{"style":684},[218494],{"type":431,"value":710},{"type":426,"tag":553,"props":218496,"children":218497},{"class":555,"line":637},[218498,218502,218506],{"type":426,"tag":553,"props":218499,"children":218500},{"style":572},[218501],{"type":431,"value":133835},{"type":426,"tag":553,"props":218503,"children":218504},{"style":684},[218505],{"type":431,"value":700},{"type":426,"tag":553,"props":218507,"children":218508},{"style":572},[218509],{"type":431,"value":113079},{"type":426,"tag":553,"props":218511,"children":218512},{"class":555,"line":646},[218513],{"type":426,"tag":553,"props":218514,"children":218515},{"style":684},[218516],{"type":431,"value":55883},{"type":426,"tag":553,"props":218518,"children":218519},{"class":555,"line":655},[218520,218524,218528,218532,218536,218540,218544,218548,218552],{"type":426,"tag":553,"props":218521,"children":218522},{"style":684},[218523],{"type":431,"value":55891},{"type":426,"tag":553,"props":218525,"children":218526},{"style":566},[218527],{"type":431,"value":53178},{"type":426,"tag":553,"props":218529,"children":218530},{"style":684},[218531],{"type":431,"value":6789},{"type":426,"tag":553,"props":218533,"children":218534},{"style":560},[218535],{"type":431,"value":53187},{"type":426,"tag":553,"props":218537,"children":218538},{"style":684},[218539],{"type":431,"value":148098},{"type":426,"tag":553,"props":218541,"children":218542},{"style":572},[218543],{"type":431,"value":7286},{"type":426,"tag":553,"props":218545,"children":218546},{"style":684},[218547],{"type":431,"value":8713},{"type":426,"tag":553,"props":218549,"children":218550},{"style":572},[218551],{"type":431,"value":210781},{"type":426,"tag":553,"props":218553,"children":218554},{"style":684},[218555],{"type":431,"value":148116},{"type":426,"tag":553,"props":218557,"children":218558},{"class":555,"line":1036},[218559],{"type":426,"tag":553,"props":218560,"children":218561},{"style":684},[218562],{"type":431,"value":55916},{"type":426,"tag":553,"props":218564,"children":218565},{"class":555,"line":1054},[218566,218570,218574,218578,218582,218586,218590],{"type":426,"tag":553,"props":218567,"children":218568},{"style":795},[218569],{"type":431,"value":52135},{"type":426,"tag":553,"props":218571,"children":218572},{"style":566},[218573],{"type":431,"value":75817},{"type":426,"tag":553,"props":218575,"children":218576},{"style":795},[218577],{"type":431,"value":8739},{"type":426,"tag":553,"props":218579,"children":218580},{"style":795},[218581],{"type":431,"value":53070},{"type":426,"tag":553,"props":218583,"children":218584},{"style":684},[218585],{"type":431,"value":53218},{"type":426,"tag":553,"props":218587,"children":218588},{"style":560},[218589],{"type":431,"value":673},{"type":426,"tag":553,"props":218591,"children":218592},{"style":684},[218593],{"type":431,"value":53227},{"type":426,"tag":553,"props":218595,"children":218596},{"class":555,"line":1080},[218597,218601,218605],{"type":426,"tag":553,"props":218598,"children":218599},{"style":684},[218600],{"type":431,"value":121455},{"type":426,"tag":553,"props":218602,"children":218603},{"style":560},[218604],{"type":431,"value":53719},{"type":426,"tag":553,"props":218606,"children":218607},{"style":684},[218608],{"type":431,"value":133970},{"type":426,"tag":427,"props":218610,"children":218611},{},[218612],{"type":426,"tag":446,"props":218613,"children":218614},{},[218615],{"type":431,"value":218616},"PHP:",{"type":426,"tag":542,"props":218618,"children":218620},{"className":79948,"code":218619,"language":79950,"meta":417,"style":417},"\u003C?php\n$client = new GuzzleHttp\\Client();\n$response = $client->post(\"https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message\", [\n    \"headers\" => [\"Authorization\" => \"Bearer YOUR_API_KEY\"],\n    \"json\" => [\"number\" => \"8801234567890\", \"message\" => \"Hello from PHP!\"]\n]);\necho $response->getBody();\n",[218621],{"type":426,"tag":549,"props":218622,"children":218623},{"__ignoreMap":417},[218624,218635,218658,218693,218724,218771,218778],{"type":426,"tag":553,"props":218625,"children":218626},{"class":555,"line":556},[218627,218631],{"type":426,"tag":553,"props":218628,"children":218629},{"style":795},[218630],{"type":431,"value":86379},{"type":426,"tag":553,"props":218632,"children":218633},{"style":566},[218634],{"type":431,"value":86384},{"type":426,"tag":553,"props":218636,"children":218637},{"class":555,"line":588},[218638,218642,218646,218650,218654],{"type":426,"tag":553,"props":218639,"children":218640},{"style":684},[218641],{"type":431,"value":170970},{"type":426,"tag":553,"props":218643,"children":218644},{"style":795},[218645],{"type":431,"value":957},{"type":426,"tag":553,"props":218647,"children":218648},{"style":795},[218649],{"type":431,"value":52275},{"type":426,"tag":553,"props":218651,"children":218652},{"style":566},[218653],{"type":431,"value":87480},{"type":426,"tag":553,"props":218655,"children":218656},{"style":684},[218657],{"type":431,"value":53227},{"type":426,"tag":553,"props":218659,"children":218660},{"class":555,"line":606},[218661,218665,218669,218673,218677,218681,218685,218689],{"type":426,"tag":553,"props":218662,"children":218663},{"style":684},[218664],{"type":431,"value":170994},{"type":426,"tag":553,"props":218666,"children":218667},{"style":795},[218668],{"type":431,"value":957},{"type":426,"tag":553,"props":218670,"children":218671},{"style":684},[218672],{"type":431,"value":171003},{"type":426,"tag":553,"props":218674,"children":218675},{"style":795},[218676],{"type":431,"value":70711},{"type":426,"tag":553,"props":218678,"children":218679},{"style":560},[218680],{"type":431,"value":70594},{"type":426,"tag":553,"props":218682,"children":218683},{"style":684},[218684],{"type":431,"value":3275},{"type":426,"tag":553,"props":218686,"children":218687},{"style":572},[218688],{"type":431,"value":60449},{"type":426,"tag":553,"props":218690,"children":218691},{"style":684},[218692],{"type":431,"value":87886},{"type":426,"tag":553,"props":218694,"children":218695},{"class":555,"line":623},[218696,218700,218704,218708,218712,218716,218720],{"type":426,"tag":553,"props":218697,"children":218698},{"style":572},[218699],{"type":431,"value":171031},{"type":426,"tag":553,"props":218701,"children":218702},{"style":795},[218703],{"type":431,"value":53709},{"type":426,"tag":553,"props":218705,"children":218706},{"style":684},[218707],{"type":431,"value":1897},{"type":426,"tag":553,"props":218709,"children":218710},{"style":572},[218711],{"type":431,"value":45214},{"type":426,"tag":553,"props":218713,"children":218714},{"style":795},[218715],{"type":431,"value":53709},{"type":426,"tag":553,"props":218717,"children":218718},{"style":572},[218719],{"type":431,"value":171052},{"type":426,"tag":553,"props":218721,"children":218722},{"style":684},[218723],{"type":431,"value":12804},{"type":426,"tag":553,"props":218725,"children":218726},{"class":555,"line":637},[218727,218731,218735,218739,218743,218747,218751,218755,218759,218763,218767],{"type":426,"tag":553,"props":218728,"children":218729},{"style":572},[218730],{"type":431,"value":171064},{"type":426,"tag":553,"props":218732,"children":218733},{"style":795},[218734],{"type":431,"value":53709},{"type":426,"tag":553,"props":218736,"children":218737},{"style":684},[218738],{"type":431,"value":1897},{"type":426,"tag":553,"props":218740,"children":218741},{"style":572},[218742],{"type":431,"value":45266},{"type":426,"tag":553,"props":218744,"children":218745},{"style":795},[218746],{"type":431,"value":53709},{"type":426,"tag":553,"props":218748,"children":218749},{"style":572},[218750],{"type":431,"value":171085},{"type":426,"tag":553,"props":218752,"children":218753},{"style":684},[218754],{"type":431,"value":1907},{"type":426,"tag":553,"props":218756,"children":218757},{"style":572},[218758],{"type":431,"value":45275},{"type":426,"tag":553,"props":218760,"children":218761},{"style":795},[218762],{"type":431,"value":53709},{"type":426,"tag":553,"props":218764,"children":218765},{"style":572},[218766],{"type":431,"value":210979},{"type":426,"tag":553,"props":218768,"children":218769},{"style":684},[218770],{"type":431,"value":16523},{"type":426,"tag":553,"props":218772,"children":218773},{"class":555,"line":646},[218774],{"type":426,"tag":553,"props":218775,"children":218776},{"style":684},[218777],{"type":431,"value":95072},{"type":426,"tag":553,"props":218779,"children":218780},{"class":555,"line":655},[218781,218785,218789,218793,218797],{"type":426,"tag":553,"props":218782,"children":218783},{"style":566},[218784],{"type":431,"value":88705},{"type":426,"tag":553,"props":218786,"children":218787},{"style":684},[218788],{"type":431,"value":90064},{"type":426,"tag":553,"props":218790,"children":218791},{"style":795},[218792],{"type":431,"value":70711},{"type":426,"tag":553,"props":218794,"children":218795},{"style":560},[218796],{"type":431,"value":61498},{"type":426,"tag":553,"props":218798,"children":218799},{"style":684},[218800],{"type":431,"value":53227},{"type":426,"tag":434,"props":218802,"children":218803},{"id":4109},[218804],{"type":431,"value":4112},{"type":426,"tag":427,"props":218806,"children":218807},{},[218808,218813],{"type":426,"tag":446,"props":218809,"children":218810},{},[218811],{"type":431,"value":218812},"What is a WhatsApp API used for?",{"type":431,"value":218814},"\nA WhatsApp API is used to send and receive WhatsApp messages programmatically from business applications, e-commerce stores, CRM systems, and automation tools. Common uses include order notifications, appointment reminders, OTP verification, chatbots, and bulk marketing messages.",{"type":426,"tag":427,"props":218816,"children":218817},{},[218818,218823],{"type":426,"tag":446,"props":218819,"children":218820},{},[218821],{"type":431,"value":218822},"Do I need Meta approval to use a WhatsApp API?",{"type":431,"value":218824},"\nFor the official Meta Cloud API, yes — you need business verification which can take days or weeks. For unofficial APIs like Rapiwa, no approval is needed. You connect your existing WhatsApp number via QR code and start sending in minutes.",{"type":426,"tag":427,"props":218826,"children":218827},{},[218828,218833],{"type":426,"tag":446,"props":218829,"children":218830},{},[218831],{"type":431,"value":218832},"Is a WhatsApp API legal to use?",{"type":431,"value":218834},"\nUnofficial WhatsApp APIs operate in a grey area — they use WhatsApp Web's protocol rather than Meta's official API. Meta's Terms of Service prohibit automated messaging on non-Business API accounts. Use unofficial APIs for legitimate business communication, follow WhatsApp's messaging policies, and avoid spam to minimise the risk of account restrictions.",{"type":426,"tag":427,"props":218836,"children":218837},{},[218838,218843],{"type":426,"tag":446,"props":218839,"children":218840},{},[218841],{"type":431,"value":218842},"How much does a WhatsApp API cost?",{"type":431,"value":218844},"\nOfficial Meta API costs vary by conversation type and country ($0.005–$0.08 per conversation). Unofficial APIs like Rapiwa charge a flat $5\u002Fmonth with no per-message fees, making them significantly cheaper for high-volume use cases.",{"type":426,"tag":427,"props":218846,"children":218847},{},[218848,218852],{"type":426,"tag":446,"props":218849,"children":218850},{},[218851],{"type":431,"value":160916},{"type":431,"value":218853},"\nFor developers prioritising cost and ease of setup, Rapiwa ($5\u002Fmonth, 5.0\u002F5 Sourceforge) is the market's most affordable option. It works with all major languages, includes a WooCommerce plugin, and has 10 ready-made n8n workflow templates.",{"type":426,"tag":427,"props":218855,"children":218856},{},[218857,218862],{"type":426,"tag":446,"props":218858,"children":218859},{},[218860],{"type":431,"value":218861},"Can I receive WhatsApp messages through an API?",{"type":431,"value":218863},"\nYes. Configure a webhook URL in your API dashboard. Every time a WhatsApp message arrives on your connected number, the API sends an HTTP POST to your webhook with the message content, sender number, and timestamp.",{"type":426,"tag":4164,"props":218865,"children":218866},{},[218867],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":218869},[218870,218871,218874,218878,218883,218884,218885,218886,218887],{"id":217340,"depth":588,"text":217343},{"id":217384,"depth":588,"text":217387,"children":218872},[218873],{"id":217459,"depth":606,"text":217462},{"id":217645,"depth":588,"text":217648,"children":218875},[218876,218877],{"id":217651,"depth":606,"text":217654},{"id":217696,"depth":606,"text":217699},{"id":217744,"depth":588,"text":217747,"children":218879},[218880,218881,218882],{"id":217750,"depth":606,"text":217753},{"id":217908,"depth":606,"text":217911},{"id":217945,"depth":606,"text":217948},{"id":217956,"depth":588,"text":217959},{"id":218043,"depth":588,"text":218046},{"id":218107,"depth":588,"text":218110},{"id":218241,"depth":588,"text":218244},{"id":4109,"depth":588,"text":4112},"content:blog:what-is-a-whatsapp-api-complete-developer-guide-2026.md","blog\u002Fwhat-is-a-whatsapp-api-complete-developer-guide-2026.md","blog\u002Fwhat-is-a-whatsapp-api-complete-developer-guide-2026",{"loc":398},{"_path":402,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":403,"description":404,"date":218893,"author":54670,"category":212,"_slug":218894,"image":218895,"body":218896,"_type":4187,"_id":220074,"_source":4189,"_file":220075,"_stem":220076,"_extension":4192,"sitemap":220077},"2025-11-27","rapiwa-vs-wasenderapi-which-whatsapp-api-is-cheaper-in-2026","\u002Fimages\u002Fblog\u002Frapiwa-vs-wasenderapi-which-whatsapp-api-is-cheaper-in-2026.svg",{"type":423,"children":218897,"toc":220053},[218898,218922,218928,219153,219159,219164,219173,219179,219184,219188,219194,219267,219272,219276,219381,219386,219392,219398,219403,219443,219449,219466,219471,219477,219482,219487,219491,219496,219502,219596,219603,219678,219684,219778,219809,219815,219867,219871,219904,219908,219920,219925,219930,219939,219943,219952,219962,219998,220030,220040,220049],{"type":426,"tag":427,"props":218899,"children":218900},{},[218901,218903,218907,218909,218914,218916,218920],{"type":431,"value":218902},"Rapiwa and WasenderAPI are both unofficial WhatsApp REST APIs built for developers. Rapiwa starts at ",{"type":426,"tag":446,"props":218904,"children":218905},{},[218906],{"type":431,"value":148332},{"type":431,"value":218908}," with a ",{"type":426,"tag":446,"props":218910,"children":218911},{},[218912],{"type":431,"value":218913},"5.0\u002F5 Sourceforge rating",{"type":431,"value":218915},". WasenderAPI starts at ",{"type":426,"tag":446,"props":218917,"children":218918},{},[218919],{"type":431,"value":148324},{"type":431,"value":218921}," with a 4.5\u002F5 rating. For developers and small businesses focused on cost, Rapiwa is 17% cheaper at the entry level with a higher verified trust score. Both offer unlimited messaging with no per-message fees.",{"type":426,"tag":434,"props":218923,"children":218925},{"id":218924},"quick-comparison-rapiwa-vs-wasenderapi",[218926],{"type":431,"value":218927},"Quick Comparison: Rapiwa vs WasenderAPI",{"type":426,"tag":10600,"props":218929,"children":218930},{},[218931,218949],{"type":426,"tag":10604,"props":218932,"children":218933},{},[218934],{"type":426,"tag":10608,"props":218935,"children":218936},{},[218937,218941,218945],{"type":426,"tag":10612,"props":218938,"children":218939},{},[218940],{"type":431,"value":16096},{"type":426,"tag":10612,"props":218942,"children":218943},{},[218944],{"type":431,"value":127310},{"type":426,"tag":10612,"props":218946,"children":218947},{},[218948],{"type":431,"value":147163},{"type":426,"tag":10623,"props":218950,"children":218951},{},[218952,218970,218985,219001,219016,219034,219050,219066,219082,219102,219121,219136],{"type":426,"tag":10608,"props":218953,"children":218954},{},[218955,218959,218966],{"type":426,"tag":10630,"props":218956,"children":218957},{},[218958],{"type":431,"value":150782},{"type":426,"tag":10630,"props":218960,"children":218961},{},[218962],{"type":426,"tag":446,"props":218963,"children":218964},{},[218965],{"type":431,"value":148332},{"type":426,"tag":10630,"props":218967,"children":218968},{},[218969],{"type":431,"value":148324},{"type":426,"tag":10608,"props":218971,"children":218972},{},[218973,218977,218981],{"type":426,"tag":10630,"props":218974,"children":218975},{},[218976],{"type":431,"value":157149},{"type":426,"tag":10630,"props":218978,"children":218979},{},[218980],{"type":431,"value":1840},{"type":426,"tag":10630,"props":218982,"children":218983},{},[218984],{"type":431,"value":1840},{"type":426,"tag":10608,"props":218986,"children":218987},{},[218988,218993,218997],{"type":426,"tag":10630,"props":218989,"children":218990},{},[218991],{"type":431,"value":218992},"WhatsApp numbers (starter)",{"type":426,"tag":10630,"props":218994,"children":218995},{},[218996],{"type":431,"value":1921},{"type":426,"tag":10630,"props":218998,"children":218999},{},[219000],{"type":431,"value":1921},{"type":426,"tag":10608,"props":219002,"children":219003},{},[219004,219008,219012],{"type":426,"tag":10630,"props":219005,"children":219006},{},[219007],{"type":431,"value":10787},{"type":426,"tag":10630,"props":219009,"children":219010},{},[219011],{"type":431,"value":148394},{"type":426,"tag":10630,"props":219013,"children":219014},{},[219015],{"type":431,"value":148394},{"type":426,"tag":10608,"props":219017,"children":219018},{},[219019,219023,219030],{"type":426,"tag":10630,"props":219020,"children":219021},{},[219022],{"type":431,"value":10800},{"type":426,"tag":10630,"props":219024,"children":219025},{},[219026],{"type":426,"tag":446,"props":219027,"children":219028},{},[219029],{"type":431,"value":10805},{"type":426,"tag":10630,"props":219031,"children":219032},{},[219033],{"type":431,"value":148371},{"type":426,"tag":10608,"props":219035,"children":219036},{},[219037,219041,219045],{"type":426,"tag":10630,"props":219038,"children":219039},{},[219040],{"type":431,"value":148414},{"type":426,"tag":10630,"props":219042,"children":219043},{},[219044],{"type":431,"value":148427},{"type":426,"tag":10630,"props":219046,"children":219047},{},[219048],{"type":431,"value":219049},"Yes (npm)",{"type":426,"tag":10608,"props":219051,"children":219052},{},[219053,219057,219061],{"type":426,"tag":10630,"props":219054,"children":219055},{},[219056],{"type":431,"value":148439},{"type":426,"tag":10630,"props":219058,"children":219059},{},[219060],{"type":431,"value":148427},{"type":426,"tag":10630,"props":219062,"children":219063},{},[219064],{"type":431,"value":219065},"Yes (PyPI)",{"type":426,"tag":10608,"props":219067,"children":219068},{},[219069,219073,219077],{"type":426,"tag":10630,"props":219070,"children":219071},{},[219072],{"type":431,"value":148462},{"type":426,"tag":10630,"props":219074,"children":219075},{},[219076],{"type":431,"value":148427},{"type":426,"tag":10630,"props":219078,"children":219079},{},[219080],{"type":431,"value":219081},"Yes (Packagist)",{"type":426,"tag":10608,"props":219083,"children":219084},{},[219085,219089,219097],{"type":426,"tag":10630,"props":219086,"children":219087},{},[219088],{"type":431,"value":150071},{"type":426,"tag":10630,"props":219090,"children":219091},{},[219092],{"type":426,"tag":446,"props":219093,"children":219094},{},[219095],{"type":431,"value":219096},"Yes (live)",{"type":426,"tag":10630,"props":219098,"children":219099},{},[219100],{"type":431,"value":219101},"Not highlighted",{"type":426,"tag":10608,"props":219103,"children":219104},{},[219105,219109,219116],{"type":426,"tag":10630,"props":219106,"children":219107},{},[219108],{"type":431,"value":189485},{"type":426,"tag":10630,"props":219110,"children":219111},{},[219112],{"type":426,"tag":446,"props":219113,"children":219114},{},[219115],{"type":431,"value":187464},{"type":426,"tag":10630,"props":219117,"children":219118},{},[219119],{"type":431,"value":219120},"Yes (node)",{"type":426,"tag":10608,"props":219122,"children":219123},{},[219124,219128,219132],{"type":426,"tag":10630,"props":219125,"children":219126},{},[219127],{"type":431,"value":148557},{"type":426,"tag":10630,"props":219129,"children":219130},{},[219131],{"type":431,"value":186153},{"type":426,"tag":10630,"props":219133,"children":219134},{},[219135],{"type":431,"value":103087},{"type":426,"tag":10608,"props":219137,"children":219138},{},[219139,219144,219149],{"type":426,"tag":10630,"props":219140,"children":219141},{},[219142],{"type":431,"value":219143},"Supported languages",{"type":426,"tag":10630,"props":219145,"children":219146},{},[219147],{"type":431,"value":219148},"cURL, PHP, JS, Python, C#, Java",{"type":426,"tag":10630,"props":219150,"children":219151},{},[219152],{"type":431,"value":219148},{"type":426,"tag":434,"props":219154,"children":219156},{"id":219155},"what-is-rapiwa",[219157],{"type":431,"value":219158},"What Is Rapiwa?",{"type":426,"tag":427,"props":219160,"children":219161},{},[219162],{"type":431,"value":219163},"Rapiwa is a low-cost unofficial WhatsApp Messaging REST API built for developers, agencies, and automation-focused businesses. It lets you send text messages, images, documents, voice, and location data via a simple POST request — no Meta approval needed. Rapiwa starts at $5\u002Fmonth with no per-message fees and holds a verified 5.0\u002F5 rating on Sourceforge. It includes a ready-to-use WooCommerce plugin and 10 official n8n workflow templates.",{"type":426,"tag":427,"props":219165,"children":219166},{},[219167],{"type":426,"tag":3819,"props":219168,"children":219170},{"href":3821,"rel":219169},[3823],[219171],{"type":431,"value":219172},"Start a free 3-day trial at rapiwa.com →",{"type":426,"tag":434,"props":219174,"children":219176},{"id":219175},"what-is-wasenderapi",[219177],{"type":431,"value":219178},"What Is WasenderAPI?",{"type":426,"tag":427,"props":219180,"children":219181},{},[219182],{"type":431,"value":219183},"WasenderAPI (wasenderapi.com) is another unofficial WhatsApp REST API targeting developers and businesses. It starts at $6\u002Fmonth for one connected number and scales to $45\u002Fmonth for 10 numbers. It has production-ready SDKs for Node.js, Python, and Laravel, and recently added an MCP Server integration for AI agent tools. Its Sourceforge rating is 4.5\u002F5.",{"type":426,"tag":434,"props":219185,"children":219186},{"id":165754},[219187],{"type":431,"value":165757},{"type":426,"tag":515,"props":219189,"children":219191},{"id":219190},"rapiwa-pricing",[219192],{"type":431,"value":219193},"Rapiwa Pricing",{"type":426,"tag":10600,"props":219195,"children":219196},{},[219197,219215],{"type":426,"tag":10604,"props":219198,"children":219199},{},[219200],{"type":426,"tag":10608,"props":219201,"children":219202},{},[219203,219207,219211],{"type":426,"tag":10612,"props":219204,"children":219205},{},[219206],{"type":431,"value":161320},{"type":426,"tag":10612,"props":219208,"children":219209},{},[219210],{"type":431,"value":103028},{"type":426,"tag":10612,"props":219212,"children":219213},{},[219214],{"type":431,"value":195357},{"type":426,"tag":10623,"props":219216,"children":219217},{},[219218,219236,219252],{"type":426,"tag":10608,"props":219219,"children":219220},{},[219221,219225,219232],{"type":426,"tag":10630,"props":219222,"children":219223},{},[219224],{"type":431,"value":195373},{"type":426,"tag":10630,"props":219226,"children":219227},{},[219228],{"type":426,"tag":446,"props":219229,"children":219230},{},[219231],{"type":431,"value":148332},{"type":426,"tag":10630,"props":219233,"children":219234},{},[219235],{"type":431,"value":1921},{"type":426,"tag":10608,"props":219237,"children":219238},{},[219239,219243,219248],{"type":426,"tag":10630,"props":219240,"children":219241},{},[219242],{"type":431,"value":195396},{"type":426,"tag":10630,"props":219244,"children":219245},{},[219246],{"type":431,"value":219247},"Contact sales",{"type":426,"tag":10630,"props":219249,"children":219250},{},[219251],{"type":431,"value":195406},{"type":426,"tag":10608,"props":219253,"children":219254},{},[219255,219259,219263],{"type":426,"tag":10630,"props":219256,"children":219257},{},[219258],{"type":431,"value":18722},{"type":426,"tag":10630,"props":219260,"children":219261},{},[219262],{"type":431,"value":219247},{"type":426,"tag":10630,"props":219264,"children":219265},{},[219266],{"type":431,"value":195426},{"type":426,"tag":427,"props":219268,"children":219269},{},[219270],{"type":431,"value":219271},"Rapiwa's entry plan is the most affordable in the unofficial WhatsApp API market. All plans include unlimited messages with no daily cap and no per-message fees.",{"type":426,"tag":515,"props":219273,"children":219274},{"id":185471},[219275],{"type":431,"value":185474},{"type":426,"tag":10600,"props":219277,"children":219278},{},[219279,219302],{"type":426,"tag":10604,"props":219280,"children":219281},{},[219282],{"type":426,"tag":10608,"props":219283,"children":219284},{},[219285,219289,219293,219297],{"type":426,"tag":10612,"props":219286,"children":219287},{},[219288],{"type":431,"value":161320},{"type":426,"tag":10612,"props":219290,"children":219291},{},[219292],{"type":431,"value":103028},{"type":426,"tag":10612,"props":219294,"children":219295},{},[219296],{"type":431,"value":195357},{"type":426,"tag":10612,"props":219298,"children":219299},{},[219300],{"type":431,"value":219301},"Per-session cost",{"type":426,"tag":10623,"props":219303,"children":219304},{},[219305,219324,219343,219362],{"type":426,"tag":10608,"props":219306,"children":219307},{},[219308,219312,219316,219320],{"type":426,"tag":10630,"props":219309,"children":219310},{},[219311],{"type":431,"value":156960},{"type":426,"tag":10630,"props":219313,"children":219314},{},[219315],{"type":431,"value":148324},{"type":426,"tag":10630,"props":219317,"children":219318},{},[219319],{"type":431,"value":1921},{"type":426,"tag":10630,"props":219321,"children":219322},{},[219323],{"type":431,"value":176007},{"type":426,"tag":10608,"props":219325,"children":219326},{},[219327,219331,219335,219339],{"type":426,"tag":10630,"props":219328,"children":219329},{},[219330],{"type":431,"value":161357},{"type":426,"tag":10630,"props":219332,"children":219333},{},[219334],{"type":431,"value":148349},{"type":426,"tag":10630,"props":219336,"children":219337},{},[219338],{"type":431,"value":1912},{"type":426,"tag":10630,"props":219340,"children":219341},{},[219342],{"type":431,"value":176032},{"type":426,"tag":10608,"props":219344,"children":219345},{},[219346,219350,219354,219358],{"type":426,"tag":10630,"props":219347,"children":219348},{},[219349],{"type":431,"value":176040},{"type":426,"tag":10630,"props":219351,"children":219352},{},[219353],{"type":431,"value":176045},{"type":426,"tag":10630,"props":219355,"children":219356},{},[219357],{"type":431,"value":121040},{"type":426,"tag":10630,"props":219359,"children":219360},{},[219361],{"type":431,"value":176032},{"type":426,"tag":10608,"props":219363,"children":219364},{},[219365,219369,219373,219377],{"type":426,"tag":10630,"props":219366,"children":219367},{},[219368],{"type":431,"value":161374},{"type":426,"tag":10630,"props":219370,"children":219371},{},[219372],{"type":431,"value":176070},{"type":426,"tag":10630,"props":219374,"children":219375},{},[219376],{"type":431,"value":11479},{"type":426,"tag":10630,"props":219378,"children":219379},{},[219380],{"type":431,"value":176084},{"type":426,"tag":427,"props":219382,"children":219383},{},[219384],{"type":431,"value":219385},"WasenderAPI charges $6\u002Fmonth for a single number versus Rapiwa's $5\u002Fmonth — a difference that compounds significantly over time, especially for agencies managing multiple client accounts on the Starter tier.",{"type":426,"tag":434,"props":219387,"children":219389},{"id":219388},"features-comparison",[219390],{"type":431,"value":219391},"Features Comparison",{"type":426,"tag":515,"props":219393,"children":219395},{"id":219394},"supported-message-types",[219396],{"type":431,"value":219397},"Supported Message Types",{"type":426,"tag":427,"props":219399,"children":219400},{},[219401],{"type":431,"value":219402},"Both Rapiwa and WasenderAPI support the full range of WhatsApp message formats:",{"type":426,"tag":454,"props":219404,"children":219405},{},[219406,219411,219416,219421,219425,219429,219434,219438],{"type":426,"tag":458,"props":219407,"children":219408},{},[219409],{"type":431,"value":219410},"Text (with bold, italic, strikethrough formatting)",{"type":426,"tag":458,"props":219412,"children":219413},{},[219414],{"type":431,"value":219415},"Images and Videos",{"type":426,"tag":458,"props":219417,"children":219418},{},[219419],{"type":431,"value":219420},"Documents and PDFs",{"type":426,"tag":458,"props":219422,"children":219423},{},[219424],{"type":431,"value":189327},{"type":426,"tag":458,"props":219426,"children":219427},{},[219428],{"type":431,"value":189343},{"type":426,"tag":458,"props":219430,"children":219431},{},[219432],{"type":431,"value":219433},"Contact cards",{"type":426,"tag":458,"props":219435,"children":219436},{},[219437],{"type":431,"value":184749},{"type":426,"tag":458,"props":219439,"children":219440},{},[219441],{"type":431,"value":219442},"Channel broadcasts",{"type":426,"tag":515,"props":219444,"children":219446},{"id":219445},"n8n-integration",[219447],{"type":431,"value":219448},"n8n Integration",{"type":426,"tag":427,"props":219450,"children":219451},{},[219452,219453,219458,219460,219465],{"type":431,"value":149364},{"type":426,"tag":446,"props":219454,"children":219455},{},[219456],{"type":431,"value":219457},"10 published workflow templates",{"type":431,"value":219459}," on the official n8n marketplace, covering WooCommerce invoices, order updates, Shopify cancellations, AI customer support bots, and Google Calendar reminders. These are ready to import with one click and have been installed over ",{"type":426,"tag":446,"props":219461,"children":219462},{},[219463],{"type":431,"value":219464},"3,000 times combined",{"type":431,"value":6789},{"type":426,"tag":427,"props":219467,"children":219468},{},[219469],{"type":431,"value":219470},"WasenderAPI has an official n8n node (npm package) which allows custom workflow building but requires manual configuration.",{"type":426,"tag":515,"props":219472,"children":219474},{"id":219473},"sdk-availability",[219475],{"type":431,"value":219476},"SDK Availability",{"type":426,"tag":427,"props":219478,"children":219479},{},[219480],{"type":431,"value":219481},"WasenderAPI currently has the edge on production-ready SDKs — Node.js, Python, and Laravel are all published and maintained. Rapiwa's SDKs are on the roadmap.",{"type":426,"tag":427,"props":219483,"children":219484},{},[219485],{"type":431,"value":219486},"For developers comfortable with raw HTTP requests (cURL, fetch, requests), both platforms work identically — the API structure is the same standard Bearer-token REST pattern.",{"type":426,"tag":515,"props":219488,"children":219489},{"id":149389},[219490],{"type":431,"value":149392},{"type":426,"tag":427,"props":219492,"children":219493},{},[219494],{"type":431,"value":219495},"Rapiwa has a dedicated, downloadable WordPress\u002FWooCommerce plugin available on GitHub right now. This is a significant advantage for the large WooCommerce developer community — install the plugin, enter your API key, and WhatsApp order notifications work out of the box without custom code.",{"type":426,"tag":434,"props":219497,"children":219499},{"id":219498},"code-example-sending-a-message-with-rapiwa",[219500],{"type":431,"value":219501},"Code Example: Sending a Message with Rapiwa",{"type":426,"tag":542,"props":219503,"children":219505},{"className":546,"code":219504,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fapp.rapiwa.com\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_RAPIWA_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"number\": \"8801234567890\",\n    \"message\": \"Hello from Rapiwa! Your order has been confirmed.\"\n  }'\n",[219506],{"type":426,"tag":549,"props":219507,"children":219508},{"__ignoreMap":417},[219509,219532,219548,219563,219574,219581,219589],{"type":426,"tag":553,"props":219510,"children":219511},{"class":555,"line":556},[219512,219516,219520,219524,219528],{"type":426,"tag":553,"props":219513,"children":219514},{"style":560},[219515],{"type":431,"value":563},{"type":426,"tag":553,"props":219517,"children":219518},{"style":566},[219519],{"type":431,"value":569},{"type":426,"tag":553,"props":219521,"children":219522},{"style":572},[219523],{"type":431,"value":575},{"type":426,"tag":553,"props":219525,"children":219526},{"style":572},[219527],{"type":431,"value":580},{"type":426,"tag":553,"props":219529,"children":219530},{"style":566},[219531],{"type":431,"value":585},{"type":426,"tag":553,"props":219533,"children":219534},{"class":555,"line":588},[219535,219539,219544],{"type":426,"tag":553,"props":219536,"children":219537},{"style":566},[219538],{"type":431,"value":594},{"type":426,"tag":553,"props":219540,"children":219541},{"style":572},[219542],{"type":431,"value":219543}," \"Authorization: Bearer YOUR_RAPIWA_API_KEY\"",{"type":426,"tag":553,"props":219545,"children":219546},{"style":566},[219547],{"type":431,"value":585},{"type":426,"tag":553,"props":219549,"children":219550},{"class":555,"line":606},[219551,219555,219559],{"type":426,"tag":553,"props":219552,"children":219553},{"style":566},[219554],{"type":431,"value":594},{"type":426,"tag":553,"props":219556,"children":219557},{"style":572},[219558],{"type":431,"value":616},{"type":426,"tag":553,"props":219560,"children":219561},{"style":566},[219562],{"type":431,"value":585},{"type":426,"tag":553,"props":219564,"children":219565},{"class":555,"line":623},[219566,219570],{"type":426,"tag":553,"props":219567,"children":219568},{"style":566},[219569],{"type":431,"value":629},{"type":426,"tag":553,"props":219571,"children":219572},{"style":572},[219573],{"type":431,"value":634},{"type":426,"tag":553,"props":219575,"children":219576},{"class":555,"line":637},[219577],{"type":426,"tag":553,"props":219578,"children":219579},{"style":572},[219580],{"type":431,"value":643},{"type":426,"tag":553,"props":219582,"children":219583},{"class":555,"line":646},[219584],{"type":426,"tag":553,"props":219585,"children":219586},{"style":572},[219587],{"type":431,"value":219588},"    \"message\": \"Hello from Rapiwa! Your order has been confirmed.\"\n",{"type":426,"tag":553,"props":219590,"children":219591},{"class":555,"line":655},[219592],{"type":426,"tag":553,"props":219593,"children":219594},{"style":572},[219595],{"type":431,"value":661},{"type":426,"tag":427,"props":219597,"children":219598},{},[219599],{"type":426,"tag":446,"props":219600,"children":219601},{},[219602],{"type":431,"value":669},{"type":426,"tag":542,"props":219604,"children":219606},{"className":674,"code":219605,"language":673,"meta":417,"style":417},"{\n  \"status\": \"success\",\n  \"messageId\": \"msg_abc123xyz\",\n  \"timestamp\": \"2026-04-01T10:00:00Z\"\n}\n",[219607],{"type":426,"tag":549,"props":219608,"children":219609},{"__ignoreMap":417},[219610,219617,219636,219655,219671],{"type":426,"tag":553,"props":219611,"children":219612},{"class":555,"line":556},[219613],{"type":426,"tag":553,"props":219614,"children":219615},{"style":684},[219616],{"type":431,"value":687},{"type":426,"tag":553,"props":219618,"children":219619},{"class":555,"line":588},[219620,219624,219628,219632],{"type":426,"tag":553,"props":219621,"children":219622},{"style":566},[219623],{"type":431,"value":695},{"type":426,"tag":553,"props":219625,"children":219626},{"style":684},[219627],{"type":431,"value":700},{"type":426,"tag":553,"props":219629,"children":219630},{"style":572},[219631],{"type":431,"value":705},{"type":426,"tag":553,"props":219633,"children":219634},{"style":684},[219635],{"type":431,"value":710},{"type":426,"tag":553,"props":219637,"children":219638},{"class":555,"line":606},[219639,219643,219647,219651],{"type":426,"tag":553,"props":219640,"children":219641},{"style":566},[219642],{"type":431,"value":718},{"type":426,"tag":553,"props":219644,"children":219645},{"style":684},[219646],{"type":431,"value":700},{"type":426,"tag":553,"props":219648,"children":219649},{"style":572},[219650],{"type":431,"value":144623},{"type":426,"tag":553,"props":219652,"children":219653},{"style":684},[219654],{"type":431,"value":710},{"type":426,"tag":553,"props":219656,"children":219657},{"class":555,"line":623},[219658,219662,219666],{"type":426,"tag":553,"props":219659,"children":219660},{"style":566},[219661],{"type":431,"value":739},{"type":426,"tag":553,"props":219663,"children":219664},{"style":684},[219665],{"type":431,"value":700},{"type":426,"tag":553,"props":219667,"children":219668},{"style":572},[219669],{"type":431,"value":219670},"\"2026-04-01T10:00:00Z\"\n",{"type":426,"tag":553,"props":219672,"children":219673},{"class":555,"line":637},[219674],{"type":426,"tag":553,"props":219675,"children":219676},{"style":684},[219677],{"type":431,"value":756},{"type":426,"tag":434,"props":219679,"children":219681},{"id":219680},"code-example-sending-a-message-with-wasenderapi",[219682],{"type":431,"value":219683},"Code Example: Sending a Message with WasenderAPI",{"type":426,"tag":542,"props":219685,"children":219687},{"className":546,"code":219686,"language":545,"meta":417,"style":417},"curl -X POST https:\u002F\u002Fwasenderapi.com\u002Fapi\u002Fsend-message \\\n  -H \"Authorization: Bearer YOUR_WASENDER_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"to\": \"8801234567890\",\n    \"text\": \"Hello from WasenderAPI!\"\n  }'\n",[219688],{"type":426,"tag":549,"props":219689,"children":219690},{"__ignoreMap":417},[219691,219714,219730,219745,219756,219763,219771],{"type":426,"tag":553,"props":219692,"children":219693},{"class":555,"line":556},[219694,219698,219702,219706,219710],{"type":426,"tag":553,"props":219695,"children":219696},{"style":560},[219697],{"type":431,"value":563},{"type":426,"tag":553,"props":219699,"children":219700},{"style":566},[219701],{"type":431,"value":569},{"type":426,"tag":553,"props":219703,"children":219704},{"style":572},[219705],{"type":431,"value":575},{"type":426,"tag":553,"props":219707,"children":219708},{"style":572},[219709],{"type":431,"value":148696},{"type":426,"tag":553,"props":219711,"children":219712},{"style":566},[219713],{"type":431,"value":585},{"type":426,"tag":553,"props":219715,"children":219716},{"class":555,"line":588},[219717,219721,219726],{"type":426,"tag":553,"props":219718,"children":219719},{"style":566},[219720],{"type":431,"value":594},{"type":426,"tag":553,"props":219722,"children":219723},{"style":572},[219724],{"type":431,"value":219725}," \"Authorization: Bearer YOUR_WASENDER_API_KEY\"",{"type":426,"tag":553,"props":219727,"children":219728},{"style":566},[219729],{"type":431,"value":585},{"type":426,"tag":553,"props":219731,"children":219732},{"class":555,"line":606},[219733,219737,219741],{"type":426,"tag":553,"props":219734,"children":219735},{"style":566},[219736],{"type":431,"value":594},{"type":426,"tag":553,"props":219738,"children":219739},{"style":572},[219740],{"type":431,"value":616},{"type":426,"tag":553,"props":219742,"children":219743},{"style":566},[219744],{"type":431,"value":585},{"type":426,"tag":553,"props":219746,"children":219747},{"class":555,"line":623},[219748,219752],{"type":426,"tag":553,"props":219749,"children":219750},{"style":566},[219751],{"type":431,"value":629},{"type":426,"tag":553,"props":219753,"children":219754},{"style":572},[219755],{"type":431,"value":634},{"type":426,"tag":553,"props":219757,"children":219758},{"class":555,"line":637},[219759],{"type":426,"tag":553,"props":219760,"children":219761},{"style":572},[219762],{"type":431,"value":154026},{"type":426,"tag":553,"props":219764,"children":219765},{"class":555,"line":646},[219766],{"type":426,"tag":553,"props":219767,"children":219768},{"style":572},[219769],{"type":431,"value":219770},"    \"text\": \"Hello from WasenderAPI!\"\n",{"type":426,"tag":553,"props":219772,"children":219773},{"class":555,"line":655},[219774],{"type":426,"tag":553,"props":219775,"children":219776},{"style":572},[219777],{"type":431,"value":661},{"type":426,"tag":427,"props":219779,"children":219780},{},[219781,219783,219788,219789,219794,219796,219801,219802,219807],{"type":431,"value":219782},"Note the differences: Rapiwa uses ",{"type":426,"tag":549,"props":219784,"children":219786},{"className":219785},[],[219787],{"type":431,"value":39195},{"type":431,"value":48630},{"type":426,"tag":549,"props":219790,"children":219792},{"className":219791},[],[219793],{"type":431,"value":2734},{"type":431,"value":219795}," as field names; WasenderAPI uses ",{"type":426,"tag":549,"props":219797,"children":219799},{"className":219798},[],[219800],{"type":431,"value":148844},{"type":431,"value":48630},{"type":426,"tag":549,"props":219803,"children":219805},{"className":219804},[],[219806],{"type":431,"value":431},{"type":431,"value":219808},". Both use Bearer token authentication. If you are switching between the two, update your payload keys accordingly.",{"type":426,"tag":434,"props":219810,"children":219812},{"id":219811},"who-should-use-rapiwa",[219813],{"type":431,"value":219814},"Who Should Use Rapiwa?",{"type":426,"tag":454,"props":219816,"children":219817},{},[219818,219828,219837,219847,219857],{"type":426,"tag":458,"props":219819,"children":219820},{},[219821,219826],{"type":426,"tag":446,"props":219822,"children":219823},{},[219824],{"type":431,"value":219825},"Developers and freelancers",{"type":431,"value":219827}," building WhatsApp automation on a tight budget — $5\u002Fmonth is the cheapest entry point in the market",{"type":426,"tag":458,"props":219829,"children":219830},{},[219831,219835],{"type":426,"tag":446,"props":219832,"children":219833},{},[219834],{"type":431,"value":46990},{"type":431,"value":219836}," who want plug-and-play WhatsApp order notifications without writing code",{"type":426,"tag":458,"props":219838,"children":219839},{},[219840,219845],{"type":426,"tag":446,"props":219841,"children":219842},{},[219843],{"type":431,"value":219844},"n8n users",{"type":431,"value":219846}," who want pre-built, tested workflow templates they can import and run immediately",{"type":426,"tag":458,"props":219848,"children":219849},{},[219850,219855],{"type":426,"tag":446,"props":219851,"children":219852},{},[219853],{"type":431,"value":219854},"Agencies and SaaS builders",{"type":431,"value":219856}," who want a high Sourceforge rating to show clients as a trust signal (5.0\u002F5 vs 4.5\u002F5)",{"type":426,"tag":458,"props":219858,"children":219859},{},[219860,219865],{"type":426,"tag":446,"props":219861,"children":219862},{},[219863],{"type":431,"value":219864},"Developers in any language",{"type":431,"value":219866}," — the REST API works identically across cURL, PHP, Python, Node.js, Java, and C#",{"type":426,"tag":434,"props":219868,"children":219869},{"id":186222},[219870],{"type":431,"value":186225},{"type":426,"tag":454,"props":219872,"children":219873},{},[219874,219884,219894],{"type":426,"tag":458,"props":219875,"children":219876},{},[219877,219882],{"type":426,"tag":446,"props":219878,"children":219879},{},[219880],{"type":431,"value":219881},"Teams who need production-ready SDKs right now",{"type":431,"value":219883}," — WasenderAPI's Node.js and Python SDKs are polished and well-documented",{"type":426,"tag":458,"props":219885,"children":219886},{},[219887,219892],{"type":426,"tag":446,"props":219888,"children":219889},{},[219890],{"type":431,"value":219891},"Developers building AI agent tools",{"type":431,"value":219893}," — their MCP Server integration is specifically designed for this use case",{"type":426,"tag":458,"props":219895,"children":219896},{},[219897,219902],{"type":426,"tag":446,"props":219898,"children":219899},{},[219900],{"type":431,"value":219901},"Larger teams scaling to 3+ WhatsApp numbers",{"type":431,"value":219903}," — WasenderAPI's Pro plan ($15\u002F3 numbers = $5\u002Fnumber) is competitive at scale",{"type":426,"tag":434,"props":219905,"children":219906},{"id":186343},[219907],{"type":431,"value":186346},{"type":426,"tag":427,"props":219909,"children":219910},{},[219911,219913,219918],{"type":431,"value":219912},"For most individual developers and small businesses, ",{"type":426,"tag":446,"props":219914,"children":219915},{},[219916],{"type":431,"value":219917},"Rapiwa is the better starting point",{"type":431,"value":219919}," — it is cheaper ($5 vs $6), has a higher trust rating (5.0\u002F5 vs 4.5\u002F5), and has the only plug-and-play WooCommerce plugin in the category. The 10 ready-made n8n templates mean you can automate WooCommerce, Shopify, and AI chatbot workflows without writing a single line of code.",{"type":426,"tag":427,"props":219921,"children":219922},{},[219923],{"type":431,"value":219924},"WasenderAPI is the stronger choice if your team specifically needs production SDK packages today (Node.js, Python, Laravel) or is building AI agent integrations with MCP.",{"type":426,"tag":427,"props":219926,"children":219927},{},[219928],{"type":431,"value":219929},"Both offer 3-day free trials with no credit card required — you can test either platform before committing.",{"type":426,"tag":427,"props":219931,"children":219932},{},[219933],{"type":426,"tag":3819,"props":219934,"children":219936},{"href":3821,"rel":219935},[3823],[219937],{"type":431,"value":219938},"Start your free Rapiwa trial →",{"type":426,"tag":434,"props":219940,"children":219941},{"id":4109},[219942],{"type":431,"value":4112},{"type":426,"tag":427,"props":219944,"children":219945},{},[219946,219950],{"type":426,"tag":446,"props":219947,"children":219948},{},[219949],{"type":431,"value":196249},{"type":431,"value":219951},"\nYes. Rapiwa starts at $5\u002Fmonth for one WhatsApp number. WasenderAPI starts at $6\u002Fmonth for one number. Rapiwa is 17% cheaper at the entry level, and both have no per-message fees.",{"type":426,"tag":427,"props":219953,"children":219954},{},[219955,219960],{"type":426,"tag":446,"props":219956,"children":219957},{},[219958],{"type":431,"value":219959},"Which has a better rating — Rapiwa or WasenderAPI?",{"type":431,"value":219961},"\nRapiwa holds a 5.0\u002F5 rating on Sourceforge. WasenderAPI holds a 4.5\u002F5 rating. Both ratings are verified by real user reviews on a third-party platform.",{"type":426,"tag":427,"props":219963,"children":219964},{},[219965,219970,219972,219977,219978,219983,219985,219990,219991,219996],{"type":426,"tag":446,"props":219966,"children":219967},{},[219968],{"type":431,"value":219969},"Can I switch from WasenderAPI to Rapiwa?",{"type":431,"value":219971},"\nYes. Both use the same REST API pattern with Bearer token authentication. The main differences are the field names in the request body (",{"type":426,"tag":549,"props":219973,"children":219975},{"className":219974},[],[219976],{"type":431,"value":39195},{"type":431,"value":18503},{"type":426,"tag":549,"props":219979,"children":219981},{"className":219980},[],[219982],{"type":431,"value":2734},{"type":431,"value":219984}," for Rapiwa vs ",{"type":426,"tag":549,"props":219986,"children":219988},{"className":219987},[],[219989],{"type":431,"value":148844},{"type":431,"value":18503},{"type":426,"tag":549,"props":219992,"children":219994},{"className":219993},[],[219995],{"type":431,"value":431},{"type":431,"value":219997}," for WasenderAPI). Update those two field names in your code and point to the Rapiwa endpoint.",{"type":426,"tag":427,"props":219999,"children":220000},{},[220001,220006,220008,220014,220016,220021,220023,220028],{"type":426,"tag":446,"props":220002,"children":220003},{},[220004],{"type":431,"value":220005},"Does Rapiwa have a Node.js SDK like WasenderAPI?",{"type":431,"value":220007},"\nRapiwa's Node.js, Python, and PHP SDKs are on the roadmap. Currently, you can use Rapiwa with ",{"type":426,"tag":549,"props":220009,"children":220011},{"className":220010},[],[220012],{"type":431,"value":220013},"fetch()",{"type":431,"value":220015}," in Node.js, ",{"type":426,"tag":549,"props":220017,"children":220019},{"className":220018},[],[220020],{"type":431,"value":139054},{"type":431,"value":220022}," in Python, or ",{"type":426,"tag":549,"props":220024,"children":220026},{"className":220025},[],[220027],{"type":431,"value":189070},{"type":431,"value":220029}," in PHP using the standard REST API — all with 3–5 lines of code.",{"type":426,"tag":427,"props":220031,"children":220032},{},[220033,220038],{"type":426,"tag":446,"props":220034,"children":220035},{},[220036],{"type":431,"value":220037},"Do both Rapiwa and WasenderAPI require Meta approval?",{"type":431,"value":220039},"\nNo. Both are unofficial WhatsApp APIs that connect via QR code scanning. Neither requires Meta\u002FWhatsApp Business API approval, making them significantly faster to deploy than the official Meta Cloud API.",{"type":426,"tag":427,"props":220041,"children":220042},{},[220043,220047],{"type":426,"tag":446,"props":220044,"children":220045},{},[220046],{"type":431,"value":160936},{"type":431,"value":220048},"\nRapiwa is the clear winner for WooCommerce — it has a dedicated, downloadable WordPress\u002FWooCommerce plugin and 6 ready-made n8n workflow templates for WooCommerce order notifications, invoices, cross-sell offers, and review requests.",{"type":426,"tag":4164,"props":220050,"children":220051},{},[220052],{"type":431,"value":4168},{"title":417,"searchDepth":588,"depth":588,"links":220054},[220055,220056,220057,220058,220062,220068,220069,220070,220071,220072,220073],{"id":218924,"depth":588,"text":218927},{"id":219155,"depth":588,"text":219158},{"id":219175,"depth":588,"text":219178},{"id":165754,"depth":588,"text":165757,"children":220059},[220060,220061],{"id":219190,"depth":606,"text":219193},{"id":185471,"depth":606,"text":185474},{"id":219388,"depth":588,"text":219391,"children":220063},[220064,220065,220066,220067],{"id":219394,"depth":606,"text":219397},{"id":219445,"depth":606,"text":219448},{"id":219473,"depth":606,"text":219476},{"id":149389,"depth":606,"text":149392},{"id":219498,"depth":588,"text":219501},{"id":219680,"depth":588,"text":219683},{"id":219811,"depth":588,"text":219814},{"id":186222,"depth":588,"text":186225},{"id":186343,"depth":588,"text":186346},{"id":4109,"depth":588,"text":4112},"content:blog:rapiwa-vs-wasenderapi-which-whatsapp-api-is-cheaper-in-2026.md","blog\u002Frapiwa-vs-wasenderapi-which-whatsapp-api-is-cheaper-in-2026.md","blog\u002Frapiwa-vs-wasenderapi-which-whatsapp-api-is-cheaper-in-2026",{"loc":402},{"_path":406,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":407,"description":408,"date":220079,"author":4196,"category":17,"image":220080,"_slug":220081,"body":220082,"_type":4187,"_id":220414,"_source":4189,"_file":220415,"_stem":220416,"_extension":4192,"sitemap":220417},"2025-11-25","\u002Fimages\u002Fblog\u002Fhow-to-keep-your-whatsapp-number-safe-with-rapiwa-compliance-tips-from-rapiwa.svg","how-to-keep-your-whatsapp-number-safe-with-rapiwa-compliance-tips-from-rapiwa",{"type":423,"children":220083,"toc":220402},[220084,220089,220095,220100,220118,220123,220129,220134,220147,220153,220158,220171,220176,220182,220187,220205,220210,220216,220221,220234,220239,220245,220250,220268,220274,220279,220297,220303,220308,220321,220326,220332,220337,220355,220361,220366,220384,220389],{"type":426,"tag":427,"props":220085,"children":220086},{},[220087],{"type":431,"value":220088},"WhatsApp is one of the most powerful tools for business communication — but misuse can put your account at risk. If you're using Rapiwa to send messages through a WhatsApp API, it's critical to follow compliance best practices to prevent account flagging or blocking. Below, we break down the key strategies to help you maintain a healthy messaging flow and build trust with your customers.",{"type":426,"tag":434,"props":220090,"children":220092},{"id":220091},"_1-warm-up-your-number-gradually",[220093],{"type":431,"value":220094},"1. Warm-Up Your Number Gradually",{"type":426,"tag":427,"props":220096,"children":220097},{},[220098],{"type":431,"value":220099},"When you start with a new WhatsApp number, treat it like a \"new employee\" — don't throw it into high-volume messaging right away. New numbers are more likely to be flagged by WhatsApp. To avoid this:",{"type":426,"tag":454,"props":220101,"children":220102},{},[220103,220108,220113],{"type":426,"tag":458,"props":220104,"children":220105},{},[220106],{"type":431,"value":220107},"Send and receive real messages (text, media) with real users for a few days.",{"type":426,"tag":458,"props":220109,"children":220110},{},[220111],{"type":431,"value":220112},"Wait at least a day after registering before linking the number to your API.",{"type":426,"tag":458,"props":220114,"children":220115},{},[220116],{"type":431,"value":220117},"Avoid jumping into mass broadcasts early on.",{"type":426,"tag":427,"props":220119,"children":220120},{},[220121],{"type":431,"value":220122},"This helps build a positive \"reputation\" for the number and makes your usage patterns look more organic.",{"type":426,"tag":434,"props":220124,"children":220126},{"id":220125},"_2-ask-for-explicit-consent-opt-in",[220127],{"type":431,"value":220128},"2. Ask for Explicit Consent (Opt-In)",{"type":426,"tag":427,"props":220130,"children":220131},{},[220132],{"type":431,"value":220133},"Getting explicit user permission is crucial. Here's how to do it well:",{"type":426,"tag":454,"props":220135,"children":220136},{},[220137,220142],{"type":426,"tag":458,"props":220138,"children":220139},{},[220140],{"type":431,"value":220141},"Encourage users to message you first — for example, via a \"Contact us on WhatsApp\" button on your site.",{"type":426,"tag":458,"props":220143,"children":220144},{},[220145],{"type":431,"value":220146},"When you send your first message, start with a question or something conversational. This drives engagement, lowers spam risk, and improves your response rate.",{"type":426,"tag":434,"props":220148,"children":220150},{"id":220149},"_3-make-opt-out-easy",[220151],{"type":431,"value":220152},"3. Make Opt-Out Easy",{"type":426,"tag":427,"props":220154,"children":220155},{},[220156],{"type":431,"value":220157},"Always give a clear, simple way for users to stop receiving messages:",{"type":426,"tag":454,"props":220159,"children":220160},{},[220161,220166],{"type":426,"tag":458,"props":220162,"children":220163},{},[220164],{"type":431,"value":220165},"Use straightforward language like: \"Reply 'STOP' to unsubscribe.\"",{"type":426,"tag":458,"props":220167,"children":220168},{},[220169],{"type":431,"value":220170},"Remove users from your list promptly when they opt-out.",{"type":426,"tag":427,"props":220172,"children":220173},{},[220174],{"type":431,"value":220175},"This not only builds trust, but reduces the chance of a user reporting you for spam.",{"type":426,"tag":434,"props":220177,"children":220179},{"id":220178},"_4-avoid-spammy-or-bulk-messaging",[220180],{"type":431,"value":220181},"4. Avoid Spammy or Bulk Messaging",{"type":426,"tag":427,"props":220183,"children":220184},{},[220185],{"type":431,"value":220186},"Sending too many unsolicited or repetitive messages is a big red flag. Rapiwa users should:",{"type":426,"tag":454,"props":220188,"children":220189},{},[220190,220195,220200],{"type":426,"tag":458,"props":220191,"children":220192},{},[220193],{"type":431,"value":220194},"Not send unsolicited bulk messages.",{"type":426,"tag":458,"props":220196,"children":220197},{},[220198],{"type":431,"value":220199},"Ramp up their send volume slowly.",{"type":426,"tag":458,"props":220201,"children":220202},{},[220203],{"type":431,"value":220204},"Follow a safe rate guideline: no more than two messages per minute, for up to six hours a day, and not every single day (suggested limit: 3 consecutive days).",{"type":426,"tag":427,"props":220206,"children":220207},{},[220208],{"type":431,"value":220209},"This helps you stay under WhatsApp's radar and reduces risk.",{"type":426,"tag":434,"props":220211,"children":220213},{"id":220212},"_5-maintain-high-engagement-rates",[220214],{"type":431,"value":220215},"5. Maintain High Engagement Rates",{"type":426,"tag":427,"props":220217,"children":220218},{},[220219],{"type":431,"value":220220},"WhatsApp tracks how users respond to your messages. Low engagement (few replies) can hurt your \"quality rating.\" Rapiwa users should aim for:",{"type":426,"tag":454,"props":220222,"children":220223},{},[220224,220229],{"type":426,"tag":458,"props":220225,"children":220226},{},[220227],{"type":431,"value":220228},"At least 30% response rate per 100 messages.",{"type":426,"tag":458,"props":220230,"children":220231},{},[220232],{"type":431,"value":220233},"Two-way conversation, not just monologues.",{"type":426,"tag":427,"props":220235,"children":220236},{},[220237],{"type":431,"value":220238},"When customers reply, it signals to WhatsApp that your messages are expected and welcomed.",{"type":426,"tag":434,"props":220240,"children":220242},{"id":220241},"_6-personalize-your-messages",[220243],{"type":431,"value":220244},"6. Personalize Your Messages",{"type":426,"tag":427,"props":220246,"children":220247},{},[220248],{"type":431,"value":220249},"Generic, broadcast-style messaging is more likely to annoy users — and get you flagged. Instead:",{"type":426,"tag":454,"props":220251,"children":220252},{},[220253,220258,220263],{"type":426,"tag":458,"props":220254,"children":220255},{},[220256],{"type":431,"value":220257},"Use personalization (e.g., address people by name).",{"type":426,"tag":458,"props":220259,"children":220260},{},[220261],{"type":431,"value":220262},"Change up your message templates to match different segments or contexts.",{"type":426,"tag":458,"props":220264,"children":220265},{},[220266],{"type":431,"value":220267},"Make sure the content feels relevant to each recipient.",{"type":426,"tag":434,"props":220269,"children":220271},{"id":220270},"_7-be-careful-with-links",[220272],{"type":431,"value":220273},"7. Be Careful with Links",{"type":426,"tag":427,"props":220275,"children":220276},{},[220277],{"type":431,"value":220278},"Including links can be useful — but they must be handled wisely:",{"type":426,"tag":454,"props":220280,"children":220281},{},[220282,220287,220292],{"type":426,"tag":458,"props":220283,"children":220284},{},[220285],{"type":431,"value":220286},"Avoid placing links in the very first message you send to a user.",{"type":426,"tag":458,"props":220288,"children":220289},{},[220290],{"type":431,"value":220291},"Use secure (HTTPS) links.",{"type":426,"tag":458,"props":220293,"children":220294},{},[220295],{"type":431,"value":220296},"If you shorten URLs, use a trusted shortening service to avoid looking spammy.",{"type":426,"tag":434,"props":220298,"children":220300},{"id":220299},"_8-use-a-complete-and-trustworthy-profile",[220301],{"type":431,"value":220302},"8. Use a Complete and Trustworthy Profile",{"type":426,"tag":427,"props":220304,"children":220305},{},[220306],{"type":431,"value":220307},"A fully filled-out WhatsApp profile builds legitimacy:",{"type":426,"tag":454,"props":220309,"children":220310},{},[220311,220316],{"type":426,"tag":458,"props":220312,"children":220313},{},[220314],{"type":431,"value":220315},"Add a profile picture (logo or brand image).",{"type":426,"tag":458,"props":220317,"children":220318},{},[220319],{"type":431,"value":220320},"Write a helpful, honest description so recipients know who they're talking to.",{"type":426,"tag":427,"props":220322,"children":220323},{},[220324],{"type":431,"value":220325},"This makes your account look less \"bot-like\" and more like a real business.",{"type":426,"tag":434,"props":220327,"children":220329},{"id":220328},"_9-mimic-human-behavior",[220330],{"type":431,"value":220331},"9. Mimic Human Behavior",{"type":426,"tag":427,"props":220333,"children":220334},{},[220335],{"type":431,"value":220336},"WhatsApp favors \"real conversation,\" so your message-sending behavior should too:",{"type":426,"tag":454,"props":220338,"children":220339},{},[220340,220345,220350],{"type":426,"tag":458,"props":220341,"children":220342},{},[220343],{"type":431,"value":220344},"Randomize the time between messages so it's not too mechanical.",{"type":426,"tag":458,"props":220346,"children":220347},{},[220348],{"type":431,"value":220349},"Always reply to users when they message you. Two-way interaction is crucial.",{"type":426,"tag":458,"props":220351,"children":220352},{},[220353],{"type":431,"value":220354},"Avoid sending at unnatural speeds or in unnatural bursts.",{"type":426,"tag":434,"props":220356,"children":220358},{"id":220357},"why-these-guidelines-matter-for-rapiwa-users",[220359],{"type":431,"value":220360},"Why These Guidelines Matter for Rapiwa Users",{"type":426,"tag":427,"props":220362,"children":220363},{},[220364],{"type":431,"value":220365},"Using Rapiwa to send WhatsApp messages via an API gives you a lot of power. But with that power comes responsibility. If your WhatsApp number gets flagged or blocked:",{"type":426,"tag":454,"props":220367,"children":220368},{},[220369,220374,220379],{"type":426,"tag":458,"props":220370,"children":220371},{},[220372],{"type":431,"value":220373},"Your campaigns can be disrupted.",{"type":426,"tag":458,"props":220375,"children":220376},{},[220377],{"type":431,"value":220378},"Your customers may lose trust.",{"type":426,"tag":458,"props":220380,"children":220381},{},[220382],{"type":431,"value":220383},"You might even lose access to your WhatsApp session.",{"type":426,"tag":427,"props":220385,"children":220386},{},[220387],{"type":431,"value":220388},"By following these compliance points, you not only protect your number — you also build better relationships with your users. You're more likely to maintain a high-quality sender reputation, reduce the risk of being marked as spam, and ultimately run more effective WhatsApp messaging campaigns.",{"type":426,"tag":427,"props":220390,"children":220391},{},[220392],{"type":426,"tag":3819,"props":220393,"children":220396},{"href":220394,"rel":220395},"https:\u002F\u002Fapp.rapiwa.com\u002Flogin",[3823],[220397],{"type":426,"tag":446,"props":220398,"children":220399},{},[220400],{"type":431,"value":220401},"Get Started Now →",{"title":417,"searchDepth":588,"depth":588,"links":220403},[220404,220405,220406,220407,220408,220409,220410,220411,220412,220413],{"id":220091,"depth":588,"text":220094},{"id":220125,"depth":588,"text":220128},{"id":220149,"depth":588,"text":220152},{"id":220178,"depth":588,"text":220181},{"id":220212,"depth":588,"text":220215},{"id":220241,"depth":588,"text":220244},{"id":220270,"depth":588,"text":220273},{"id":220299,"depth":588,"text":220302},{"id":220328,"depth":588,"text":220331},{"id":220357,"depth":588,"text":220360},"content:blog:how-to-keep-your-whatsapp-number-safe-with-rapiwa-compliance-tips-from-rapiwa.md","blog\u002Fhow-to-keep-your-whatsapp-number-safe-with-rapiwa-compliance-tips-from-rapiwa.md","blog\u002Fhow-to-keep-your-whatsapp-number-safe-with-rapiwa-compliance-tips-from-rapiwa",{"loc":406},{"_path":410,"_dir":415,"_draft":416,"_partial":416,"_locale":417,"title":411,"description":412,"date":220419,"author":10935,"category":17,"image":220420,"_slug":220421,"body":220422,"_type":4187,"_id":220818,"_source":4189,"_file":220819,"_stem":220820,"_extension":4192,"sitemap":220821},"2025-11-24","\u002Fimages\u002Fblog\u002Fintroduction-to-rapiwa-and-whatsapp-automation.svg","introduction-to-rapiwa-and-whatsapp-automation",{"type":423,"children":220423,"toc":220795},[220424,220429,220434,220442,220447,220452,220456,220467,220472,220505,220510,220516,220521,220527,220540,220546,220551,220557,220562,220568,220573,220579,220584,220590,220595,220601,220606,220638,220644,220650,220655,220661,220666,220672,220677,220683,220688,220694,220699,220705,220710,220716,220721,220727,220758,220764,220774,220779,220784],{"type":426,"tag":427,"props":220425,"children":220426},{},[220427],{"type":431,"value":220428},"In today's fast-moving digital world, businesses rely heavily on real-time communication. WhatsApp has become one of the most powerful tools for customer engagement, automated notifications, and seamless business communication.",{"type":426,"tag":427,"props":220430,"children":220431},{},[220432],{"type":431,"value":220433},"But to fully unlock WhatsApp's potential, companies need a fast, secure, and affordable API solution.",{"type":426,"tag":427,"props":220435,"children":220436},{},[220437],{"type":426,"tag":446,"props":220438,"children":220439},{},[220440],{"type":431,"value":220441},"Rapiwa is built precisely for this.",{"type":426,"tag":427,"props":220443,"children":220444},{},[220445],{"type":431,"value":220446},"It is a low-cost, developer-friendly WhatsApp messaging API developed to help businesses automate messaging, integrate WhatsApp with their systems, and build workflows without complexity.",{"type":426,"tag":427,"props":220448,"children":220449},{},[220450],{"type":431,"value":220451},"Whether you are a developer, agency, SaaS owner, or automation expert, Rapiwa empowers you to connect WhatsApp with CRM, websites, eCommerce, N8N, Node.js, and any custom platform with ease.",{"type":426,"tag":434,"props":220453,"children":220454},{"id":219155},[220455],{"type":431,"value":219158},{"type":426,"tag":427,"props":220457,"children":220458},{},[220459,220465],{"type":426,"tag":3819,"props":220460,"children":220463},{"href":220461,"rel":220462},"https:\u002F\u002Frapiwa.com\u002F",[3823],[220464],{"type":431,"value":127310},{"type":431,"value":220466}," is a lightweight WhatsApp Messaging API designed primarily for developers and automation-focused businesses. It enables you to send messages, verify phone numbers, create chat workflows, and integrate WhatsApp into any software or platform.",{"type":426,"tag":427,"props":220468,"children":220469},{},[220470],{"type":431,"value":220471},"With Rapiwa, you can:",{"type":426,"tag":454,"props":220473,"children":220474},{},[220475,220480,220485,220490,220495,220500],{"type":426,"tag":458,"props":220476,"children":220477},{},[220478],{"type":431,"value":220479},"Connect WhatsApp with your systems and CRM",{"type":426,"tag":458,"props":220481,"children":220482},{},[220483],{"type":431,"value":220484},"Integrate with any applications",{"type":426,"tag":458,"props":220486,"children":220487},{},[220488],{"type":431,"value":220489},"Automate customer messages, OTPs, alerts, and notifications",{"type":426,"tag":458,"props":220491,"children":220492},{},[220493],{"type":431,"value":220494},"Use WhatsApp for business communication at the lowest possible cost",{"type":426,"tag":458,"props":220496,"children":220497},{},[220498],{"type":431,"value":220499},"Add personal or business numbers and start messaging instantly",{"type":426,"tag":458,"props":220501,"children":220502},{},[220503],{"type":431,"value":220504},"Use ready-made automation workflows for platforms like N8N",{"type":426,"tag":427,"props":220506,"children":220507},{},[220508],{"type":431,"value":220509},"Rapiwa is built on speed, security, and simplicity, reducing the time and cost required to build WhatsApp automation.",{"type":426,"tag":434,"props":220511,"children":220513},{"id":220512},"why-use-rapiwa",[220514],{"type":431,"value":220515},"Why Use Rapiwa?",{"type":426,"tag":427,"props":220517,"children":220518},{},[220519],{"type":431,"value":220520},"Businesses and developers choose Rapiwa because it delivers exactly what they need, without the usual complexity and high cost.",{"type":426,"tag":515,"props":220522,"children":220524},{"id":220523},"_1-low-pricing-in-a-competitive-market",[220525],{"type":431,"value":220526},"1. Low Pricing in a Competitive Market",{"type":426,"tag":427,"props":220528,"children":220529},{},[220530,220532,220538],{"type":431,"value":220531},"WhatsApp APIs are often expensive — but Rapiwa starts at ",{"type":426,"tag":3819,"props":220533,"children":220535},{"href":220534},"\u002Fpricing",[220536],{"type":431,"value":220537},"just $5",{"type":431,"value":220539},", making it one of the most affordable options available.",{"type":426,"tag":515,"props":220541,"children":220543},{"id":220542},"_2-strong-security",[220544],{"type":431,"value":220545},"2. Strong Security",{"type":426,"tag":427,"props":220547,"children":220548},{},[220549],{"type":431,"value":220550},"All data is fully encrypted. Rapiwa ensures secure communication and protects customer information to the highest standards.",{"type":426,"tag":515,"props":220552,"children":220554},{"id":220553},"_3-fast-reliable-delivery",[220555],{"type":431,"value":220556},"3. Fast & Reliable Delivery",{"type":426,"tag":427,"props":220558,"children":220559},{},[220560],{"type":431,"value":220561},"Built for speed, Rapiwa ensures quick message delivery and stable performance, even during peak loads.",{"type":426,"tag":515,"props":220563,"children":220565},{"id":220564},"_4-developer-friendly",[220566],{"type":431,"value":220567},"4. Developer-Friendly",{"type":426,"tag":427,"props":220569,"children":220570},{},[220571],{"type":431,"value":220572},"A simple API structure, SDK packages, and clear documentation make integration extremely easy — even for beginners.",{"type":426,"tag":515,"props":220574,"children":220576},{"id":220575},"_5-easy-setup",[220577],{"type":431,"value":220578},"5. Easy Setup",{"type":426,"tag":427,"props":220580,"children":220581},{},[220582],{"type":431,"value":220583},"Connect your number and start messaging in minutes. No heavy configuration required.",{"type":426,"tag":515,"props":220585,"children":220587},{"id":220586},"_6-full-automation-support",[220588],{"type":431,"value":220589},"6. Full Automation Support",{"type":426,"tag":427,"props":220591,"children":220592},{},[220593],{"type":431,"value":220594},"Ready-made workflows for N8N and other automation tools help businesses build processes without coding from scratch.",{"type":426,"tag":515,"props":220596,"children":220598},{"id":220597},"_7-works-with-all-platforms",[220599],{"type":431,"value":220600},"7. Works with All Platforms",{"type":426,"tag":427,"props":220602,"children":220603},{},[220604],{"type":431,"value":220605},"Rapiwa integrates with:",{"type":426,"tag":454,"props":220607,"children":220608},{},[220609,220614,220618,220623,220628,220633],{"type":426,"tag":458,"props":220610,"children":220611},{},[220612],{"type":431,"value":220613},"WordPress & WooCommerce",{"type":426,"tag":458,"props":220615,"children":220616},{},[220617],{"type":431,"value":79188},{"type":426,"tag":458,"props":220619,"children":220620},{},[220621],{"type":431,"value":220622},"N8N",{"type":426,"tag":458,"props":220624,"children":220625},{},[220626],{"type":431,"value":220627},"Custom applications",{"type":426,"tag":458,"props":220629,"children":220630},{},[220631],{"type":431,"value":220632},"SaaS platforms",{"type":426,"tag":458,"props":220634,"children":220635},{},[220636],{"type":431,"value":220637},"ERP, CRM & internal systems",{"type":426,"tag":434,"props":220639,"children":220641},{"id":220640},"main-features-of-rapiwa",[220642],{"type":431,"value":220643},"Main Features of Rapiwa",{"type":426,"tag":515,"props":220645,"children":220647},{"id":220646},"_1-messaging-api",[220648],{"type":431,"value":220649},"1. Messaging API",{"type":426,"tag":427,"props":220651,"children":220652},{},[220653],{"type":431,"value":220654},"Send individual, automated, or system-generated WhatsApp messages instantly.",{"type":426,"tag":515,"props":220656,"children":220658},{"id":220657},"_2-whatsapp-number-verification",[220659],{"type":431,"value":220660},"2. WhatsApp Number Verification",{"type":426,"tag":427,"props":220662,"children":220663},{},[220664],{"type":431,"value":220665},"Check if a number is valid and active before sending messages — saves cost and reduces failures.",{"type":426,"tag":515,"props":220667,"children":220669},{"id":220668},"_3-webhook-support",[220670],{"type":431,"value":220671},"3. Webhook Support",{"type":426,"tag":427,"props":220673,"children":220674},{},[220675],{"type":431,"value":220676},"Receive real-time WhatsApp events, incoming messages, delivery updates, and automation triggers.",{"type":426,"tag":515,"props":220678,"children":220680},{"id":220679},"_4-bulk-messaging",[220681],{"type":431,"value":220682},"4. Bulk Messaging",{"type":426,"tag":427,"props":220684,"children":220685},{},[220686],{"type":431,"value":220687},"Send marketing broadcasts, alerts, reminders, customer notifications, and promotional messages at scale.",{"type":426,"tag":515,"props":220689,"children":220691},{"id":220690},"_5-sdk-plugin-support",[220692],{"type":431,"value":220693},"5. SDK & Plugin Support",{"type":426,"tag":427,"props":220695,"children":220696},{},[220697],{"type":431,"value":220698},"Rapiwa offers SDK packages and official integrations for NPM (Node.js), WordPress WooCommerce Plugin, and N8N workflows.",{"type":426,"tag":515,"props":220700,"children":220702},{"id":220701},"_6-automation-workflows",[220703],{"type":431,"value":220704},"6. Automation Workflows",{"type":426,"tag":427,"props":220706,"children":220707},{},[220708],{"type":431,"value":220709},"Pre-built templates for lead follow-up, order notifications, CRM integrations, WhatsApp verification, bot messaging, and AI chatbot flows.",{"type":426,"tag":515,"props":220711,"children":220713},{"id":220712},"_7-personal-business-number-support",[220714],{"type":431,"value":220715},"7. Personal & Business Number Support",{"type":426,"tag":427,"props":220717,"children":220718},{},[220719],{"type":431,"value":220720},"Use either your personal WhatsApp or a Business number. Rapiwa works with both.",{"type":426,"tag":434,"props":220722,"children":220724},{"id":220723},"resources-essential-assets-to-launch-instantly",[220725],{"type":431,"value":220726},"Resources – Essential Assets to Launch Instantly",{"type":426,"tag":454,"props":220728,"children":220729},{},[220730,220742,220753],{"type":426,"tag":458,"props":220731,"children":220732},{},[220733,220740],{"type":426,"tag":3819,"props":220734,"children":220737},{"href":220735,"rel":220736},"https:\u002F\u002Fdocs.rapiwa.com\u002F",[3823],[220738],{"type":431,"value":220739},"Official Documentation",{"type":431,"value":220741}," – Complete API guides for smooth integration.",{"type":426,"tag":458,"props":220743,"children":220744},{},[220745,220751],{"type":426,"tag":3819,"props":220746,"children":220748},{"href":145202,"rel":220747},[3823],[220749],{"type":431,"value":220750},"N8N Workflow Templates",{"type":431,"value":220752}," – Pre-built automations to speed up development.",{"type":426,"tag":458,"props":220754,"children":220755},{},[220756],{"type":431,"value":220757},"WordPress & WooCommerce Plugin – Enable automated WhatsApp messaging instantly.",{"type":426,"tag":434,"props":220759,"children":220761},{"id":220760},"final-summary",[220762],{"type":431,"value":220763},"Final Summary",{"type":426,"tag":427,"props":220765,"children":220766},{},[220767,220772],{"type":426,"tag":3819,"props":220768,"children":220770},{"href":220461,"rel":220769},[3823],[220771],{"type":431,"value":127310},{"type":431,"value":220773}," simplifies WhatsApp automation for developers and businesses.",{"type":426,"tag":427,"props":220775,"children":220776},{},[220777],{"type":431,"value":220778},"It's affordable, secure, and easy to integrate with almost any system. With messaging, number verification, webhooks, bulk sending, and workflow automation, Rapiwa is the ideal solution for modern communication needs.",{"type":426,"tag":427,"props":220780,"children":220781},{},[220782],{"type":431,"value":220783},"Whether you're running an eCommerce site, an agency, a SaaS platform, or a custom system — Rapiwa gives you the power to scale your communication effortlessly.",{"type":426,"tag":427,"props":220785,"children":220786},{},[220787],{"type":426,"tag":3819,"props":220788,"children":220790},{"href":220394,"rel":220789},[3823],[220791],{"type":426,"tag":446,"props":220792,"children":220793},{},[220794],{"type":431,"value":220401},{"title":417,"searchDepth":588,"depth":588,"links":220796},[220797,220798,220807,220816,220817],{"id":219155,"depth":588,"text":219158},{"id":220512,"depth":588,"text":220515,"children":220799},[220800,220801,220802,220803,220804,220805,220806],{"id":220523,"depth":606,"text":220526},{"id":220542,"depth":606,"text":220545},{"id":220553,"depth":606,"text":220556},{"id":220564,"depth":606,"text":220567},{"id":220575,"depth":606,"text":220578},{"id":220586,"depth":606,"text":220589},{"id":220597,"depth":606,"text":220600},{"id":220640,"depth":588,"text":220643,"children":220808},[220809,220810,220811,220812,220813,220814,220815],{"id":220646,"depth":606,"text":220649},{"id":220657,"depth":606,"text":220660},{"id":220668,"depth":606,"text":220671},{"id":220679,"depth":606,"text":220682},{"id":220690,"depth":606,"text":220693},{"id":220701,"depth":606,"text":220704},{"id":220712,"depth":606,"text":220715},{"id":220723,"depth":588,"text":220726},{"id":220760,"depth":588,"text":220763},"content:blog:introduction-to-rapiwa-and-whatsapp-automation.md","blog\u002Fintroduction-to-rapiwa-and-whatsapp-automation.md","blog\u002Fintroduction-to-rapiwa-and-whatsapp-automation",{"loc":410},1775050927292]