{"id":384515,"date":"2026-10-14T20:57:22","date_gmt":"2026-10-14T20:57:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/flousify-connect\/"},"modified":"2026-10-14T22:56:14","modified_gmt":"2026-10-14T22:56:14","slug":"flousify-connect","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/flousify-connect\/","author":23583850,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.2","stable_tag":"1.2.2","tested":"7.1.3","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Flousify Connect","header_author":"Flousify","header_description":"Sends WooCommerce orders and cart signals to Flousify for abandoned-cart recovery.","assets_banners_color":"566615","last_updated":"2026-10-14 22:56:14","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/flousify.net","header_plugin_uri":"","header_author_uri":"https:\/\/flousify.net","rating":0,"author_block_rating":0,"active_installs":0,"downloads":55,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.1":{"tag":"1.2.1","author":"flousify","date":"2026-10-14 20:57:06","revision":3747141},"1.2.2":{"tag":"1.2.2","author":"flousify","date":"2026-10-14 22:56:14","revision":3747302}},"upgrade_notice":{"1.2.2":"<p>Paste a one-time connect code from Flousify after installing from WordPress.org. Legacy store zips still work.<\/p>","1.2.1":"<p>Directory review fix: translations load via WordPress language packs; no functional change for merchants.<\/p>","1.2.0":"<p>New installs do not send data until you enable sending or click Connect to Flousify. Stores that already turned sending on keep their saved settings.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3747141,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3747141,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3747141,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3747141,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.1","1.2.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3747141,"resolution":"1","location":"assets","locale":"","width":1200,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3747141,"resolution":"2","location":"assets","locale":"","width":1200,"height":720}},"screenshots":{"1":"Flousify Connect settings, with the sending checkbox off until you opt in.","2":"Connection status and the last delivery result on the same screen."}},"plugin_section":[],"plugin_tags":[3047,3148,282,16281,13383],"plugin_category":[45],"plugin_contributors":[286824],"plugin_business_model":[],"class_list":["post-384515","plugin","type-plugin","status-publish","hentry","plugin_tags-cart","plugin_tags-checkout","plugin_tags-ecommerce","plugin_tags-orders","plugin_tags-recovery","plugin_category-ecommerce","plugin_contributors-flousify","plugin_committers-flousify"],"banners":{"banner":"https:\/\/ps.w.org\/flousify-connect\/assets\/banner-772x250.png?rev=3747141","banner_2x":"https:\/\/ps.w.org\/flousify-connect\/assets\/banner-1544x500.png?rev=3747141","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/flousify-connect\/assets\/icon-128x128.png?rev=3747141","icon_2x":"https:\/\/ps.w.org\/flousify-connect\/assets\/icon-256x256.png?rev=3747141","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/flousify-connect\/assets\/screenshot-1.png?rev=3747141","caption":"Flousify Connect settings, with the sending checkbox off until you opt in."},{"src":"https:\/\/ps.w.org\/flousify-connect\/assets\/screenshot-2.png?rev=3747141","caption":"Connection status and the last delivery result on the same screen."}],"raw_content":"<!--section=description-->\n<p>Flousify Connect lets a WooCommerce store send order and cart events to <a href=\"https:\/\/flousify.net\">Flousify<\/a>, so the merchant can follow up on abandoned carts.<\/p>\n\n<p>Nothing is sent when you activate the plugin. Sending stays off until you check <strong>Send order and cart data to Flousify<\/strong> or click <strong>Connect to Flousify<\/strong> on a store-specific download.<\/p>\n\n<p>The plugin does not lock features, run a trial, or phone home in the background. Every feature on the settings screen works without a paid code inside the plugin. Flousify, the service, applies its own account limits after it receives an event.<\/p>\n\n<p>Classic cart and checkout pages are supported. The storefront script is loaded only on the cart and checkout, and only while sending is enabled.<\/p>\n\n<h4>External services<\/h4>\n\n<p>This plugin connects to Flousify. See the External services section below for what is sent, when it is sent, and the terms and privacy policy.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Flousify, an abandoned-cart recovery service operated at <a href=\"https:\/\/flousify.net\">https:\/\/flousify.net<\/a>.<\/p>\n\n<p>Flousify terms of use: <a href=\"https:\/\/flousify.net\/en\/terms\">https:\/\/flousify.net\/en\/terms<\/a><\/p>\n\n<p>Flousify privacy policy: <a href=\"https:\/\/flousify.net\/en\/privacy\">https:\/\/flousify.net\/en\/privacy<\/a><\/p>\n\n<p>The service is provided by the plugin author. The plugin does not send data to any other third party.<\/p>\n\n<h4>When you click Connect to Flousify<\/h4>\n\n<p>Clicking <strong>Connect to Flousify<\/strong> sends these fields to <code>https:\/\/flousify.net\/api\/woocommerce\/plugin\/complete<\/code> (or the API URL from a legacy store zip):<\/p>\n\n<ul>\n<li>one-time connect code (pasted from Flousify, or from <code>includes\/connect-code.php<\/code> in a legacy store zip)<\/li>\n<li>site URL<\/li>\n<li>site name<\/li>\n<\/ul>\n\n<p>Flousify responds with a webhook URL, webhook secret, and tracking token. Those values are stored in the WordPress option <code>flousify_connect_settings<\/code> and sending is turned on. This request is not made on activation, and it is not repeated on later admin page loads once pairing has succeeded for that code.<\/p>\n\n<h4>When sending is enabled<\/h4>\n\n<p>Order and cart events are posted to the webhook URL you saved (the default is <code>https:\/\/flousify.net\/api\/webhooks\/woocommerce<\/code>). Each request is JSON over https and includes:<\/p>\n\n<ul>\n<li>event name (<code>order.created<\/code>, <code>order.updated<\/code>, <code>order.status_changed<\/code>, <code>cart.updated<\/code>, <code>checkout.updated<\/code>, or <code>plugin.test<\/code>)<\/li>\n<li>order id, cart id, and order status when available<\/li>\n<li>order or cart total and currency<\/li>\n<li>customer name, phone, and email<\/li>\n<li>line item name, quantity, and total<\/li>\n<li>site URL and tracking token<\/li>\n<\/ul>\n\n<p>The plugin also sends an <code>X-Flousify-Signature<\/code> header (HMAC-SHA256 of the body) and an <code>X-Flousify-Site<\/code> header. The tracking token is included only in that signed JSON body. It is not added to the webhook URL.<\/p>\n\n<p>Order and cart deliveries are queued with Action Scheduler (or WP-Cron when Action Scheduler is not available) so the checkout request does not wait on Flousify. Empty carts are not sent. The same payload is not queued again for ten minutes. The storefront cart route allows 30 updates per minute for one shopper session, or for one IP when no session exists, and it rejects a phone number that is not a plausible telephone number.<\/p>\n\n<p>Cart events are skipped when the customer has no phone number and no email. The storefront script posts those contact fields only to this site's REST route <code>flousify-connect\/v1\/cart<\/code>, which then queues the same server-side request.<\/p>\n\n<p>A test event sends the name \"Flousify Test\", the phone <code>5550100000<\/code>, and <code>test@example.com<\/code>. That test stays on the settings request so you can see the HTTP result.<\/p>\n\n<p>No data is sent while the sending checkbox is off. You can turn on a checkout notice that tells the customer their name, phone, and email are sent to Flousify. Deactivating the plugin clears queued deliveries. Uninstalling the plugin also clears those deliveries, then deletes its options, the cart id stored on orders, and its short-lived transients.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin zip through Plugins, Add New, Upload Plugin, or copy the <code>flousify-connect<\/code> folder into <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate Flousify Connect. WooCommerce must be installed and active.<\/li>\n<li>Open WooCommerce, Flousify Connect.<\/li>\n<li>Opt in with one of these paths:\n\n<ul>\n<li>WordPress.org install (recommended): in Flousify \u2192 Integrations \u2192 WordPress, click Connect to get a one-time code, paste it under WooCommerce \u2192 Flousify Connect, and click <strong>Connect to Flousify<\/strong>.<\/li>\n<li>Legacy store zip from Flousify: click <strong>Connect to Flousify<\/strong> (no code to paste). Advanced webhook fields remain available if you need them.<\/li>\n<\/ul><\/li>\n<li>Optional: click <strong>Send test event<\/strong>. The test uses the reserved address test@example.com.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20work%20without%20woocommerce%3F\"><h3>Does the plugin work without WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce is required. The plugin will not send events while WooCommerce is inactive.<\/p><\/dd>\n<dt id=\"does%20activation%20send%20data%20to%20flousify%3F\"><h3>Does activation send data to Flousify?<\/h3><\/dt>\n<dd><p>No. Activation only stores default settings with sending turned off. The plugin calls Flousify after you enable sending, click Connect to Flousify, or click Send test event.<\/p><\/dd>\n<dt id=\"what%20if%20i%20downloaded%20the%20plugin%20from%20wordpress.org%3F\"><h3>What if I downloaded the plugin from WordPress.org?<\/h3><\/dt>\n<dd><p>Use the one-time connect code shown in Flousify \u2192 Integrations \u2192 WordPress after you click Connect. Paste it on the Flousify Connect settings screen and click <strong>Connect to Flousify<\/strong>. Advanced webhook URL \/ secret \/ token fields are still available if you prefer them.<\/p><\/dd>\n<dt id=\"are%20any%20features%20locked%20until%20i%20pay%3F\"><h3>Are any features locked until I pay?<\/h3><\/dt>\n<dd><p>No. The plugin has no locked or trial mode. If a Flousify account cannot accept events, that limit is enforced by the service, not by disabling code in this plugin.<\/p><\/dd>\n<dt id=\"which%20checkout%20does%20the%20cart%20tracker%20support%3F\"><h3>Which checkout does the cart tracker support?<\/h3><\/dt>\n<dd><p>The tracker reads classic checkout fields (billing phone, email, and name). Cart and order hooks from WooCommerce run on the server. A block-only checkout that does not expose those fields still sends the cart when WooCommerce already has a phone or email on the customer.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Support pasting a one-time connect code from the Flousify dashboard (WordPress.org installs).<\/li>\n<li>Keep legacy store-zip connect-code.php pairing for older downloads.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Remove load_plugin_textdomain(); WordPress.org loads translations for the plugin slug automatically.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Prepare the plugin for the WordPress.org directory.<\/li>\n<li>Send order and cart data only after an explicit opt-in.<\/li>\n<li>Stop automatic pairing on activation and on admin page loads.<\/li>\n<li>Add manual webhook settings, uninstall cleanup, and a GPLv2-or-later license.<\/li>\n<li>Escape output, sanitize input, and require https for remote requests.<\/li>\n<li>Queue order and cart deliveries instead of blocking the shopper request.<\/li>\n<li>Skip empty carts and repeated payloads, and limit cart updates per session.<\/li>\n<li>Keep the webhook secret and tracking token out of the settings form, and keep the token out of the webhook URL.<\/li>\n<li>Suggest privacy-policy text and an optional checkout notice.<\/li>\n<li>Clear queued deliveries when the plugin is deactivated or deleted.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Send cart and checkout events only when a phone or email is present.<\/li>\n<li>Read WhatsApp, mobile, and shipping phone fields, and keep the cart id on orders.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WooCommerce connect release.<\/li>\n<\/ul>","raw_excerpt":"Sends WooCommerce orders and carts to Flousify after you opt in, for abandoned-cart recovery.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/384515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=384515"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/flousify"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=384515"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=384515"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=384515"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=384515"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=384515"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=384515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}