{"id":382762,"date":"2026-10-13T17:48:51","date_gmt":"2026-10-13T17:48:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pushwi\/"},"modified":"2026-10-13T17:48:19","modified_gmt":"2026-10-13T17:48:19","slug":"pushwi","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/pushwi\/","author":23510762,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Pushwi","header_author":"Buti\u00e1 Labs","header_description":"Pushwi web push: installs the widget and sends posts as push notifications from the editor.","assets_banners_color":"174f09","last_updated":"2026-10-13 17:48:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pushwi.com","header_author_uri":"https:\/\/butialabs.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"butialabs","date":"2026-10-13 17:48:19","revision":3744595}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3744595,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3744595,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3744595,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3744595,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[307,4906,1155,77057,37677],"plugin_category":[],"plugin_contributors":[267126],"plugin_business_model":[],"class_list":["post-382762","plugin","type-plugin","status-publish","hentry","plugin_tags-engagement","plugin_tags-notifications","plugin_tags-push-notifications","plugin_tags-pwa","plugin_tags-web-push","plugin_contributors-butialabs","plugin_committers-butialabs"],"banners":{"banner":"https:\/\/ps.w.org\/pushwi\/assets\/banner-772x250.png?rev=3744595","banner_2x":"https:\/\/ps.w.org\/pushwi\/assets\/banner-1544x500.png?rev=3744595","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pushwi\/assets\/icon-128x128.png?rev=3744595","icon_2x":"https:\/\/ps.w.org\/pushwi\/assets\/icon-256x256.png?rev=3744595","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Requires a <a href=\"https:\/\/pushwi.com\">Pushwi<\/a> account.<\/p>\n\n<ul>\n<li>Loads the Pushwi widget and serves the service worker at <code>\/pushwi-sw.js<\/code>. No theme edits or files.<\/li>\n<li>Post editor box: send a notification or create a Pushwi draft on publish, or on demand for published posts.<\/li>\n<li>Target all subscribers or only those interested in the post's categories and tags.<\/li>\n<\/ul>\n\n<p>Filters: <code>pushwi_campaign_payload<\/code>, <code>pushwi_campaign_category<\/code>, <code>pushwi_segment_definition<\/code>, <code>pushwi_subscriber_tags<\/code>, <code>pushwi_tag_taxonomies<\/code>, <code>pushwi_sdk_url<\/code>, <code>pushwi_api_url<\/code>, <code>pushwi_dashboard_url<\/code>. Action: <code>pushwi_campaign_created<\/code>.<\/p>\n\n<p>Source: <a href=\"https:\/\/github.com\/butialabs\/pushwi-wp\">github.com\/butialabs\/pushwi-wp<\/a><\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses Pushwi, a web push service by Buti\u00e1 Labs.<\/p>\n\n<ul>\n<li><strong>sdk.pushwi.com<\/strong>: after you save the site public ID, every page loads <code>pushwi.js<\/code> and the service worker loads <code>pushwi-sw-core.js<\/code>. When a visitor subscribes, their push subscription, browser language, post interest tags and consent text are sent to <code>api.pushwi.com<\/code>; delivery and clicks are reported afterwards.<\/li>\n<li><strong>api.pushwi.com<\/strong>: only with a secret API key, and only when an editor sends a post or tests the connection. Sends the notification title, message, post URL, image and icon URLs, and category\/tag slugs.<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/pushwi.com\/terms\">Terms of Service<\/a> \u00b7 <a href=\"https:\/\/pushwi.com\/privacy\">Privacy Policy<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Settings \u2192 Pushwi<\/strong> and paste the site public ID (<code>pub_...<\/code>, Pushwi dashboard \u2192 Widget \u2192 Snippet).<\/li>\n<li>To send from the editor, add a secret API key (<code>sk_live_...<\/code>, Developer \u2192 API keys) and click <strong>Test connection<\/strong>.<\/li>\n<li>Add your domain to the allowed origins of your Pushwi site.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"the%20service%20worker%20returns%20the%20home%20page\"><h3>The service worker returns the home page<\/h3><\/dt>\n<dd><p>Choose any permalink structure other than \"Plain\".<\/p><\/dd>\n<dt id=\"wordpress%20is%20in%20a%20subdirectory\"><h3>WordPress is in a subdirectory<\/h3><\/dt>\n<dd><p>Copy <code>\/pushwi-sw.js<\/code> to your domain root; the settings page shows its URL.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Pushwi web push: install the widget and send posts as push notifications from the editor.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/382762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=382762"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/butialabs"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=382762"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=382762"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=382762"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=382762"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=382762"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=382762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}