Stop receiving 50+ fields when your app needs 3. ShopMobi – API Optimizer for WooCommerce gives your store GraphQL-like flexibility over REST — plus login, password reset, and Stripe payments out of the box.
Built for developers creating mobile apps, Flutter apps, React Native apps, or any headless WooCommerce frontend.
Apply field filtering to any WooCommerce REST API response. No changes required on the server side — clients request only what they need.
Via request header (recommended for apps):
X-WC-Fields: id,name,price,images
Via query parameter:
?fields=id,name,price,images
Exclude specific fields:
X-WC-Except: meta_data,description or ?except_fields=meta_data
When both header and query parameter are provided, the header takes priority. The plugin applies filtering after WooCommerce builds the full response, so all existing WooCommerce hooks and permissions remain intact.
The plugin registers the following custom endpoints under the shopmobi/v1 namespace:
Authentication
POST /wp-json/shopmobi/v1/users/login — Login with username and passwordPOST /wp-json/shopmobi/v1/users/register — Register a new customer accountPOST /wp-json/shopmobi/v1/users/update-profile — Update first name, last name, and phone (requires login)Password Reset
POST /wp-json/shopmobi/v1/users/reset-password/generate — Send a password reset link to the user’s email (WordPress native flow)POST /wp-json/shopmobi/v1/users/reset-password/verify — Verify the reset key and set a new passwordStore Information
GET /wp-json/shopmobi/v1/general-settings — Country, currency, and active payment gateways (public)GET /wp-json/shopmobi/v1/store-location — Store address and location (requires login)GET /wp-json/shopmobi/v1/payment-gateways — Available payment gatewaysPayments
POST /wp-json/shopmobi/v1/stripe-payment — Create a Stripe PaymentIntent and EphemeralKey for mobile checkout (requires login)Variation responses are enriched automatically. Raw variation IDs in product responses are replaced with full objects including:
This plugin optionally integrates with Stripe (https://stripe.com) for payment processing. The Stripe integration is inactive until you provide API keys under WooCommerce > API Optimizer.
When the /shopmobi/v1/stripe-payment endpoint is called, payment data (amount, currency, Stripe customer ID) is sent directly to Stripe’s servers. No payment data passes through ShopMobi or any other third party.
Your Stripe API keys are stored in your WordPress database and are never shared with the plugin author.
This plugin stores data in your own WordPress database only:
stripe_cust_id user meta) — created when a user makes a Stripe payment. Stored locally and shared only with Stripe to identify returning customers.get_password_reset_key() / reset_password()). No custom data is stored in user meta by this plugin.This plugin does not track users, send analytics, or transmit any personal data to ShopMobi or any third party, except for payment data sent directly to Stripe when the Stripe endpoint is used.
For Stripe’s data handling practices, see https://stripe.com/privacy.