{"id":314655,"date":"2026-05-20T15:25:27","date_gmt":"2026-05-20T15:25:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/store-manager-bridge\/"},"modified":"2026-05-20T16:33:29","modified_gmt":"2026-05-20T16:33:29","slug":"opsassist-data-bridge-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/opsassist-data-bridge-for-woocommerce\/","author":23243374,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.3","stable_tag":"1.4.3","tested":"6.9.4","requires":"5.6","requires_php":"7.0","requires_plugins":null,"header_name":"OpsAssist Data Bridge for WooCommerce","header_author":"Ops Assist","header_description":"Companion plugin for the WC-Manager dashboard at wc-manager.com by Ops Assist. Exposes a small set of read-only REST endpoints that surface store data which is otherwise hidden from the standard WordPress REST API (POS outlets, registers, wallet balances). Install once and your dashboard syncs automatically.","assets_banners_color":"","last_updated":"2026-05-20 16:33:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wc-manager.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"opsassistrsa","date":"2026-05-20 15:24:47"},"1.4.0":{"tag":"1.4.0","author":"opsassistrsa","date":"2026-05-20 16:04:04"},"1.4.3":{"tag":"1.4.3","author":"opsassistrsa","date":"2026-05-20 16:33:29"}},"upgrade_notice":{"1.4.3":"<p>Recommended if your dashboard reports the plugin as &quot;not detected&quot; despite being active \u2014 adds a custom-header auth method that bypasses Basic-Auth\/security plugins which block the standard Authorization header.<\/p>","1.4.2":"<p>Important fix for &quot;plugin not detected&quot; \u2014 the endpoints now authenticate on servers that strip the Authorization header, the same way WooCommerce&#039;s own REST API does.<\/p>","1.4.1":"<p>Recommended update. Adds a safety guard so an incomplete upload can never cause a fatal error on your site.<\/p>","1.4.0":"<p>You can now remove the WordPress Application Password from your WC-Manager store connection \u2014 the plugin authenticates with your WooCommerce API key alone.<\/p>","1.3.0":"<p>Adds membership endpoints and merges the Members and Stock Take OpenPOS panels into one plugin. If you used the standalone &quot;WC-Manager: Members&quot; or &quot;WC-Manager: Stock Take&quot; plugins, deactivate them after upgrading \u2014 their functionality now lives here.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0","1.4.0","1.4.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The Members panel inside the OpenPOS terminal.","2":"The Stock Take panel inside the OpenPOS terminal."}},"plugin_section":[],"plugin_tags":[434,6601,17049,26270,3654],"plugin_category":[36,45],"plugin_contributors":[263714],"plugin_business_model":[],"class_list":["post-314655","plugin","type-plugin","status-publish","hentry","plugin_tags-dashboard","plugin_tags-inventory","plugin_tags-memberships","plugin_tags-point-of-sale","plugin_tags-reports","plugin_category-analytics","plugin_category-ecommerce","plugin_contributors-opsassistrsa","plugin_committers-opsassistrsa"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/opsassist-data-bridge-for-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>OpsAssist Data Bridge for WooCommerce is the companion plugin for the <a href=\"https:\/\/wc-manager.com\">WC-Manager dashboard<\/a> by Ops Assist. Some data your WooCommerce store holds (POS outlets, registers, digital-wallet balances, memberships) is not accessible through the standard WordPress REST API. This plugin adds a small set of authenticated, read-only endpoints that surface that data securely using your existing WordPress Application Password.<\/p>\n\n<p>It also bundles two optional panels for the OpenPOS terminal \u2014 a <strong>Members<\/strong> lookup and a <strong>Stock Take<\/strong> counter \u2014 that only load when OpenPOS is installed. On stores without OpenPOS the plugin is purely the read-only data bridge plus the Stock Take settings page.<\/p>\n\n<p>Once installed and activated, your WC-Manager dashboard auto-detects the plugin and starts syncing immediately.<\/p>\n\n<h4>REST endpoints<\/h4>\n\n<p>All endpoints require the caller to authenticate as a user with the <code>manage_woocommerce<\/code> capability.<\/p>\n\n<ul>\n<li><code>GET \/wp-json\/woo-manager\/v1\/openpos-outlets<\/code> \u2014 OpenPOS outlets (<code>_op_warehouse<\/code> posts)<\/li>\n<li><code>GET \/wp-json\/woo-manager\/v1\/openpos-registers<\/code> \u2014 OpenPOS registers (<code>_op_register<\/code> posts)<\/li>\n<li><code>GET \/wp-json\/woo-manager\/v1\/terawallet\/balances<\/code> \u2014 users with a non-zero TeraWallet balance<\/li>\n<li><code>GET \/wp-json\/woo-manager\/v1\/terawallet\/balance\/{user_id}<\/code> \u2014 a single user's TeraWallet balance<\/li>\n<li><code>GET \/wp-json\/woo-manager\/v1\/memberships\/plans<\/code> \u2014 WooCommerce Memberships plans<\/li>\n<li><code>GET \/wp-json\/woo-manager\/v1\/memberships\/user\/{user_id}<\/code> \u2014 a user's memberships<\/li>\n<\/ul>\n\n<h4>OpenPOS panels (optional)<\/h4>\n\n<ul>\n<li><strong>Members<\/strong> \u2014 cashiers can look up a customer at the register and see their active WooCommerce Memberships.<\/li>\n<li><strong>Stock Take<\/strong> \u2014 run a category-by-category stock count at the register; counts auto-save and sync to the WC-Manager web app.<\/li>\n<\/ul>\n\n<h4>External service<\/h4>\n\n<p>The Stock Take panel communicates with the WC-Manager web app at <strong>https:\/\/wc-manager.com<\/strong> to load and save stock takes for your organisation. It authenticates with a per-organisation \"plugin token\" you paste into the plugin's settings page (WooCommerce \u2192 WC-Manager Stock Take). No data is sent until you configure that token and use the Stock Take panel. WC-Manager's terms and privacy policy: <a href=\"https:\/\/wc-manager.com\/terms\">https:\/\/wc-manager.com\/terms<\/a> and <a href=\"https:\/\/wc-manager.com\/privacy\">https:\/\/wc-manager.com\/privacy<\/a>.<\/p>\n\n<p>The REST endpoints, the Members panel, and TeraWallet\/membership reads make no external requests \u2014 they only respond to authenticated requests into your own site.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>This plugin does not collect, store, or transmit personal data on its own beyond the Stock Take sync described above, which only sends the stock-count data you create to your own WC-Manager account. See <a href=\"https:\/\/wc-manager.com\/privacy\">https:\/\/wc-manager.com\/privacy<\/a>.<\/p>\n\n<h4>Note on trademarks<\/h4>\n\n<p>WooCommerce is a registered trademark of Automattic Inc. This plugin is an independent companion plugin and is not affiliated with or endorsed by Automattic. OpenPOS and TeraWallet are products of their respective owners. WC-Manager is a separate product by Ops Assist.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress plugin installer.<\/li>\n<li>Activate the plugin through the <em>Plugins<\/em> menu in WordPress.<\/li>\n<li>Sign in to your WC-Manager dashboard \u2014 the bridge is detected automatically.<\/li>\n<li>(Optional) To use the Stock Take panel, go to <em>WooCommerce \u2192 WC-Manager Stock Take<\/em> and paste your plugin connection token from WC-Manager.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20a%20wc-manager%20account%3F\"><h3>Does this plugin require a WC-Manager account?<\/h3><\/dt>\n<dd><p>The REST endpoints and the Members panel work for any authenticated user with the <code>manage_woocommerce<\/code> capability. The Stock Take panel requires a WC-Manager account, since it syncs counts with the web app.<\/p><\/dd>\n<dt id=\"will%20this%20plugin%20slow%20down%20my%20store%3F\"><h3>Will this plugin slow down my store?<\/h3><\/dt>\n<dd><p>No. The REST endpoints only run when requested, and the wallet-balances result is cached for one minute. The OpenPOS panels only load inside the OpenPOS terminal.<\/p><\/dd>\n<dt id=\"how%20do%20i%20uninstall%3F\"><h3>How do I uninstall?<\/h3><\/dt>\n<dd><p>Deactivate and delete via WordPress <em>Plugins<\/em>. The only stored option is your Stock Take plugin token; no database tables are created.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Added a custom-header authentication method (X-WC-Manager-Key \/ X-WC-Manager-Secret). Some sites run a Basic-Auth or security plugin that intercepts the standard Authorization header and rejects non-WooCommerce REST routes as a failed login. The custom headers bypass that cleanly, survive redirects, and keep credentials out of the URL\/access logs. The dashboard uses them automatically when available.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Fixed authentication on servers where the Authorization header is consumed by PHP (most Apache mod_php and many FastCGI setups). The endpoints now read the WooCommerce consumer key\/secret from PHP_AUTH_USER\/PHP_AUTH_PW and REDIRECT_HTTP_AUTHORIZATION as well, matching how WooCommerce's own REST API authenticates. This resolves the dashboard reporting the plugin as \"not detected\" even when it is active.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Hardened the plugin loader: if an upload is incomplete and an internal file is missing, the plugin now shows an admin notice and stops loading instead of triggering a fatal error. This prevents a partial update from taking a site down.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>The woo-manager\/v1 endpoints now authenticate with your existing WooCommerce REST consumer key\/secret \u2014 no WordPress Application Password needed. Store setup is just the API key plus this plugin.<\/li>\n<li>Added <code>\/ping<\/code> (authenticated handshake + companion-plugin detection), <code>\/media<\/code> (image upload), and <code>\/cashiers<\/code> (user name resolution) endpoints so the dashboard can do everything through this plugin with one credential.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Restructured into a multi-folder plugin.<\/li>\n<li>Added WooCommerce Memberships REST endpoints (<code>\/memberships\/plans<\/code>, <code>\/memberships\/user\/{id}<\/code>).<\/li>\n<li>Merged the standalone \"WC-Manager: Members\" and \"WC-Manager: Stock Take\" companion plugins into this plugin as optional OpenPOS terminal panels. They load only when OpenPOS is present.<\/li>\n<li>Added the Stock Take settings page (WooCommerce \u2192 WC-Manager Stock Take). Existing tokens from the standalone Stock Take plugin are read automatically.<\/li>\n<li>Removed the self-hosted updater from the merged plugins \u2014 updates now come through WordPress.org.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed plugin to \"OpsAssist Data Bridge for WooCommerce\".<\/li>\n<li>Function prefix renamed to <code>oadb_*<\/code>.<\/li>\n<li>No changes to the REST endpoints or response shapes.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added a one-minute cache around the wallet-balances query.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Companion plugin for the WC-Manager dashboard. Read-only REST endpoints for POS outlets, registers, wallet balances and memberships, plus optional Ope &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/314655","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=314655"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/opsassistrsa"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=314655"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=314655"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=314655"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=314655"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=314655"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=314655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}