描述
CoCart: Headless API for developers
With CoCart, you get the best REST-API to decouple your WooCommerce store. Fast, secure, customizable, easy.
A flexible REST API purpose-built for developers, designed to save hours of development so you can spend time building modern, cutting-edge and scalable stores away from WordPress.
Why our API makes sense
CoCart chose to support WooCommerce because it provides a more efficient way to decouple WooCommerce via the REST API. Our intuitive API handles management, calculations, and processing, delivering optimal performance across any configuration.
🔧 Built to Solve Real Headless Challenges
If your finding it hard to decouple WooCommerce from WordPress due to hitting roadblocks. CoCart core can help by providing all the essential features you need to start building a headless eCommerce experience. Here’s why:
- ✅ Source of Truth – Built on WooCommerce’s Data Stores API and mirrors most WooCommerce hooks, ensuring broad compatibility from the start.
- 🔐 Simple, Secure Sessions – Lightweight session keys. No cookies. Database-based session management built for headless.
- 🔑 Easy Authentication – Log in with email, username, or phone. No admin API keys required.
- JWT supported via official add-on.
- 🌍 CORS-Controlled – Solve cross-domain issues with first-party CORS control.
- 🛒 Real-Time Cart Management – Validate items, validate coupons, calculate totals — all in one API call.
- 🔍 Efficient Product Search – Search by name, SKU, or ID — with or without authentication. Filter the results your customers query.
- 🧩 Extendable Callbacks – Add your own logic with custom callbacks. No new endpoints needed.
- 🛠️ Works with Woo Checkout – Prefer WooCommerce’s checkout? Load any cart session into it easily.
- 💸 Name Your Price – Support donation-based pricing with built-in flexibility.
- 📦 Bulk Cart Requests – Combine multiple API calls into one for better performance.
★★★★★
An excellent plugin, which makes building a headless WooCommerce experience a breeze. Easy to use, nearly zero setup time. – Harald Schneider
💼 Upgrade to CoCart Plus
For more performance, and enterprise-level control — upgrade to CoCart Plus.
Unlock features like:
-
🎫 Coupon Management
Reward customers and boost conversions. -
🚢 Shipping Options & Rate Calculation
Let customers choose from your available shipping methods. -
💰 Cart Fees
Add custom fees for any purpose (handling, rush, etc.). -
🥪 Advanced Batch API
Handle multiple cart actions in a single request. -
🕒 Rate Limiting
Prevent abuse and maintain high performance with granular API control. -
📊 Cart Insights
Monitor all cart sessions, including those nearing expiration or already expired.
🔓 Ready to Go Fully Headless?
Join thousands of developers and agencies building with CoCart — the REST API that takes WooCommerce further.
👉 Upgrade to CoCart Plus and build the future of commerce today.
★★★★★
This plugin saved me tons of work and it is working amazingly! The plugin author provides fast and high-quality support. Well done! @codenroll
💜 Need Support?
We aim to provide regular support for the CoCart plugin via our Discord community server. Please understand that we do prioritize support for our paying customers.
🧰 Developer Tools
- CoCart Beta Tester allows you to easily update to pre-release versions of CoCart for testing and development purposes.
- CoCart VSCode extension for Visual Studio Code adds snippets and autocompletion of functions, classes, and hooks.
- CoCart Product Support Boilerplate provides a basic boilerplate for supporting different product types to add to the cart with validation including adding your own parameters.
- CoCart Cart Callback Example provides you an example of registering a callback that can be triggered when updating the cart.
📢 Testimonials – Developers just love it
★★★★★
Thanks for doing such great work with this! Works exactly as expected and CoCart seems to have a nice community around it. The founder seems really devoted and that’s one of the key things for a plugin like this to live on and get the right updates in the future. We just got ourselves the lifetime subscription. – Mighty Group Agency
★★★★★
This plugin works great out of the box for adding products to the cart via API. The code is solid and functionality is as expected, thanks Sebastien! – Scott Bolinger, Creator of Holler Box
See the wall of love for more testimonials.
👍 Add-ons to further enhance CoCart
We also have add-ons that extend CoCart to enhance your development and your customers shopping experience.
- CoCart – CORS enables support for CORS to allow CoCart to work across multiple domains.
- CoCart – Rate Limiting enables the rate limiting feature for CoCart Plus or higher.
- CoCart – JWT Authentication allows you to authenticate via a simple JWT Token.
- CoCart – Cart Enhanced enhances the data returned for the cart and the items added to it.
- and more add-ons in development.
These add-ons work with the core of CoCart already, and these add-ons of course come with support too.
⌨️ Join our growing community
On Discord, we have a community of developers, WordPress agencies, and shop owners building the fastest and best headless WooCommerce stores with CoCart.
Come and join our community
Built with developers in mind
If you’re interested to jump in the project, there are opportunities for developers at all levels to get involved. Contribute to CoCart on the GitHub repository and join the party. 🎉
🐞 Bug reports
Bug reports for CoCart are welcomed in the CoCart repository on GitHub. Please note that GitHub is not a support forum, and that issues that aren’t properly qualified as bugs will be closed.
More information
- The official CoCart API plugin website.
- CoCart API Reference
- Subscribe to updates
- Like, Follow and Star on Facebook, Twitter, Instagram and GitHub
💯 Credits
This plugin is developed and maintained by Sébastien Dumont.
Founder of CoCart Headless, LLC.
Contributors & Developers
You can help translate “CoCart” into your language.
INTERESTED IN DEVELOPMENT?
Browse the code on GitHub, or follow the CoCart development blog for the latest development updates. You can also follow @cocartapi on Twitter to stay up to date about everything happening with CoCart.
Please share your experience
We’d love to hear what you have to say. Share your experience and help others discover CoCart. It helps to keep the plugin going strong, and is greatly appreciated.
安装
Minimum Requirements
- WordPress v6.3
- WooCommerce v7.0
- PHP v7.4
Recommended Requirements
- WordPress v6.3 or higher.
- WooCommerce v9.0 or higher.
- PHP v8.0 or higher.
Automatic installation
Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install of CoCart, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.
In the search field type “CoCart” and click Search Plugins. Once you’ve found the plugin you can view details about it such as the point release, rating, and description. Most importantly of course, you can install it by simply clicking “Install Now”.
Manual installation
The manual installation method involves downloading the plugin and uploading it to your web server via your favorite FTP application. The WordPress codex contains instructions on how to do this here.
Upgrading
It is recommended that anytime you want to update CoCart that you get familiar with what’s changed in the release.
CoCart publishes release notes via the changelog.
CoCart uses Semver practices. The summary of Semver versioning is as follows:
- MAJOR version when you make incompatible API changes.
- MINOR version when you add functionality in a backwards compatible manner.
- PATCH version when you make backwards compatible bug fixes.
You can read more about the details of Semver at semver.org
常见问题
-
What does CoCart do?
-
CoCart provides a REST API that is ready to decouple WooCommerce away from WordPress.
-
Who should use CoCart?
-
Pretty much everyone who wants a faster eCommerce store to improve their business. WooCommerce runs multiple requests for multiple steps. We avoid the hassle of needing multiple requests for these steps and process them all together.
CoCart is perfect for eCommerce owners and developers who want to create an eCommerce app for mobile or a custom frontend shopping experience completely using the REST API.
-
Are there any limitations?
-
CoCart is designed with developers in mind allowing for complete control to customize or add support for a plugin to work with CoCart. CoCart does its best to work out of the box but if there is a compatibility issue with a plugin that you would like to work with CoCart. We would be happy to hear about it.
-
What is the source of truth?
-
CoCart sources the WooCommerce’s Data Stores API and repeats most WooCommerce hooks to provide a wider array of support for most WooCommerce extensions out of the box.
-
Does CoCart work for multi-site network?
-
Yes. Just install CoCart and activate it on the sites you want to use CoCart.
-
Can I have WordPress running on one domain and my headless eCommerce on another domain?
-
Absolutely. That is what CoCart is mainly developed for. You just need to enable CORS. You can do that easily with the CORS add-on or you can manually enable it via the filters available in the documentation.
-
Will CoCart interfere with other plugins?
-
The majority of plugins are not REST API specific so it shouldn’t. However, while we allow the source of truth for compatibility, there may be a WooCommerce extension that returns data via an action hook that the REST API cannot understand during a specific action and may fail the response.
If that does happen, simply report the situation with as much detail as possible on our GitHub repository and we will try our best to find a solution.
-
How do I set up CoCart?
-
You will first need WooCommerce installed and set up to your configurations. Then install CoCart, activate and you’re ready to start using the REST API following the API Reference provided.
Please check the requirements listed in the installation section.
-
Why use CoCart and not WooCommerce’s Store API?
-
WooCommerce’s Store API is designed for the Gutenberg blocks which only requires a fixed format and is used on native storefronts. A lot of valuable information and abilities that developers require to help them are also unavailable.
CoCart’s API is designed for decoupling away from WordPress with ease while the Store API is not. CoCart is a plug-and-play solution that just works out of the box. Also, improvements are always made to CoCart to ensure you get the best decoupled experience.
-
Do I need to have coding skills to use CoCart?
-
As this plugin provides a REST API built for developers, you will need to have some coding knowledge to use it.
-
Where can I find documentation for CoCart?
-
You can find the documentation here.
-
Can I change the formatting of values, add and change details to the responses?
-
You certainly can. There are over 200+ filters available to customize to your needs.
-
Why does CoCart use a custom session handler and table in the database?
-
If you’re familiar with WooCommerce, you may be wondering why using a custom session handler at all instead of the WooCommerce default session handler? A number of reasons but the ones that really matter are.
- The default session handler only supports cookies.
- The default session handler only saves changes at the end of the request in the
shutdown
hook. - The default session handler has no support for concurrent requests.
- The default session handler does not support guest customers.
- The default session handler does not store additional data that may be required to help you.
- The default session handler does not allow support for POS capability.
- More consistent with modern web.
-
Is “WooCommerce Shipping and Tax” plugin supported?
-
No. “WooCommerce Shipping and Tax” ignores any custom REST APIs from allowing the ability to calculate the taxes from TaxJar except for WooCommerce Blocks and JetPack. We don’t recommend it. However, TaxJar for WooCommerce plugin is supported.
-
Is “TaxJar for WooCommerce” plugin supported?
-
If you have “TaxJar for WooCommerce” v3.2.5 or above and CoCart v3.0 or above installed… then yes, it is supported.
-
Can I use any modern stack?
-
Yes, you can use your preferred tools and favorite modern technologies like Astro, NextJS, React, Vue, Ember and more giving you endless flexibility and customization.
-
Where can I report bugs?
-
Report bugs on the CoCart GitHub repository. You can also notify us via the Discord community server in the #bug-report channel – be sure to search the forum to confirm that the error has not already been reported.
-
CoCart is awesome! Can I contribute?
-
Yes, you can! Join in on our GitHub repository and follow the development blog to stay up-to-date with everything happening in the project.
-
Is CoCart translatable?
-
Yes! CoCart is deployed with full translation and localization support via the ‘cart-rest-api-for-woocommerce’ text-domain.
-
Where can I get help or talk other users about CoCart core?
-
If you get stuck, you can ask for help in the CoCart support forum or join the CoCart Community on Discord where you will find like minded developers who help each other out. If you are in need of priority support, it will be provided by purchasing CoCart Plus or a higher tier.
-
Where can I find out more about the additional features?
-
Find out all relevant features and pricing information over on the official site.
-
My question is not listed here. Where can I find more answers?
-
Check out Frequently Asked Questions for more.
评价
贡献者及开发者
「Headless WooCommerce Made Easy with CoCart」是开源软件。 以下人员对此插件做出了贡献。
贡献者更新日志
📢 Only bug and security updates will be provided here on WordPress dot ORG. Any new major updates starting with v5.0 will be provided directly from us.
v4.6.0 – 26th June, 2025
This release is a compatibility release for the next WooCommerce release.
What’s new?
- WordPress dot ORG: Added a Playground blueprint.
Changes
- Plugin: Branding for CoCart has been updated.
- Plugin: Styling for CoCart pages have been improved and more consistent on all pages by reducing conflicts with WordPress and WooCommerce styling.
Improvements
- REST API: Basic authentication is detected much better.
- REST API: Authentication failures now has debug logs.
- WordPress Dashboard: Semantic markup overhaul for better screen reader interpretation.
- WordPress Dashboard: Setup wizard and Support pages have been updated.
Compatibility
- Tested with WooCommerce v10.0
v4.5.0 – 31st May, 2025
This release will most likely be the last update released on the WordPress plugin directory with anything NEW added.
What’s New?
- REST API: Products can now be filtered to return only products by brand names.
Bug Fix
- REST API: Added missing option for allowing to order products by random. Solves issue #516
Plugin Details
- Plugin: Updated links for documentation.
- WordPress Dashboard: Updated link for upgrade page.
- WordPress Dashboard: Plugin action links are added after now, not before.
Compatibility
- Tested with WooCommerce v9.9
v4.4.0 – 16th May, 2025
This release focuses on supporting such tools like ManageWP, MainWP, Blogvault etc.
Changes
- WordPress Dashboard: Database updates now run automatically if needed. Resolves issue #511
- WordPress Dashboard: Sessions now transfer automatically for new installs.
- Session: Cart session expiration’s are now matching the default expiration WooCommerce set for better compatibility and abandoned cart support.
- Session: Cart session expiration for logged in users renew daily and expire in a week. This is to keep carts persistent for logged in users.
Note: The session expiration’s can still be filtered back to the previous values but that would mean it would match the expiration for logged in users.
Third Party Support
- Plugin: LiteSpeed Cache will now exclude CoCart from being cached. Commit
Developers
- Filter
cocart_cart_expiring
added parameteris_user_logged_in()
to allow the expiration for logged in users to be filtered. - Filter
cocart_cart_expiration
added parameteris_user_logged_in()
to allow the expiration for logged in users to be filtered.
Internal
Deprecations
- Filter
cocart_log_entry_name
no longer used. - Filter
cocart_log_entry_version
no longer used. - Filter
cocart_log_entry_source
no longer used. - Filter
cocart_setup_wizard_store_save_next_step_override
no longer used.
v4.3.30 – 27th April, 2025
Bug Fix
- WordPress Dashboard: Fix plugin update warning for core plugin. Solves issue #506
Improvement
- REST API: Variation attribute data is now sanitized. Labels are converted to names (e.g. Size to pa_size), and values are cleaned.
Compatibility
- Tested with WordPress v6.8
v4.3.29 – 10th April, 2025
Bug Fix
- REST API: Package details would not return but showed fine in shipping meta.
Improvements
- REST API: Optimized fetching the cart in all Cart API endpoints.
- REST API: Shipping now fully respects the shipping settings.
Dev note: Meaning if you have requested that the customer provides the shipping address first before shipping is calculated, then no shipping methods will return until it’s provided.
Compatibility
- Tested with WooCommerce v9.8
v4.3.28 – 6th April, 2025
Bug Fix
- REST API: Fixed unidentified item key when adding grouped products.
v4.3.27 – 3rd April, 2025
Bug Fix
- REST API: Undone a change to fix any WooCommerce cookies from setting with the Cart API. Related to fixing persistent cart back in November last year.
v4.3.26 – 1st April, 2025
Bug Fix
- REST API: Fixed critical error when adding an item and asking to return the item details. Solves issue #509
Improvements
- REST API: Corrected and added missing schema information for Cart API v1.
- WordPress Dashboard: Tweaked plugin screen modal for listing untested plugins.
Requirement change
- WordPress 6.3 is the new minimum version required.
v4.3.25 – 17th March, 2025
Bug Fixes
- Plugin: Failed to activate fully when network activated due to how admin notices where set. – Bug Report
- WordPress Dashboard: Plugin suggestions was not letting you press the “Install Now” button.
v4.3.24 – 10th March, 2025
Bug Fix
- Fixed a few typo’s in the session handler.
Improvements
- WordPress Dashboard: Improved detection of a suggested plugin hosted on WordPress dot ORG and from a third party.
- WP-CLI: Update command now asks for confirmation before proceeding.
v4.3.23 – 3rd March, 2025
Bug Fixes
- Authentication: Changed access for setting an authentication error from protected to public. Allowing other authenticators to not fail when an error does occur.
- WP-CLI: When updating the plugin, we don’t need to include the install class again.
Improvements
- Database: Simply modified the structure for columns that were
BIGINT UNSIGNED
tobigint(20) unsigned
. - Session handler: Guest carts will now have a prefix
t_
before the cart key provided. This matches with WooCommerce session handler where it maybe used by 3rd party plugins or web host configurations to identify if the session is for a guest user.
Dev note: This affects only new guest sessions.
Compatibility
- Tested with WooCommerce v9.7
v4.3.22 – 26th February, 2025
Corrections
- REST API: Schema corrections for cart endpoint.
- REST API: Schema corrections for items endpoint to match cart schema.
For Developers
- Moved filter
cocart_get_customer_{field}
after value instead of using it only when there is no value returned for a customers field. Replace{field}
with the section prefix followed by the field name. e.g.billing_country
Developer note: This allows you to then alter values such as the billing country. See example.
add_filter( 'cocart_get_customer_billing_country', function( $value ) {
if ( WC()->countries->country_exists( $value ) ) {
return WC()->countries->get_countries()[ $value ];
}
return $value;
}, 10, 1);
- Introduced new filter
cocart_get_after_customer_{field-type}_fields
that allows you to change the customer fields after they returned. Replace{field-type}
with eitherbilling
orshipping
for the fields to alter.
v4.3.21 – 20th February, 2025
Improvement
- REST API: Added
no-store
as part of theCache-Control
header for guest users.
v4.3.20 – 8th February, 2025
Bug Fix
- REST API: Fixed product reviews not returning.
v4.3.19 – 6th February, 2025
Bug Fix
- REST API: Fixed setting a customers shipping address line 1 and 2.
v4.3.18 – 22nd January, 2025
General
- Updated link to Next Changelog for coming future major release. (v5.0)
- Improved SASS to CSS conversion.
Compatibility
- Tested with WooCommerce v9.6
v4.3.17 – 14th January, 2025
Bug Fix
- REST API: Stock status was incorrectly queried for Products API and now checks available stock statuses before filtering.
Improvements
- REST API: Version of CoCart only returns in the returned headers when debug is enabled now.
- REST API:
WP_DEBUG
is made sure it is defined before returning extras for developers in the store response.
Compatibility
- Tested with WooCommerce v9.5