{"id":277353,"date":"2026-01-27T00:48:57","date_gmt":"2026-01-27T00:48:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ucp-adapter-for-woocommerce\/"},"modified":"2026-01-29T15:09:00","modified_gmt":"2026-01-29T15:09:00","slug":"ucp-adapter-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/it.wordpress.org\/plugins\/ucp-adapter-for-woocommerce\/","author":14367685,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"1.0.3","tested":"6.9.4","requires":"6.9","requires_php":"8.0","requires_plugins":null,"header_name":"UCP Adapter For WooCommerce","header_author":"Dhiraj Patra","header_description":"Universal Commerce Platform REST API adapter providing Session, Update, and Complete endpoints for e-commerce integration","assets_banners_color":"010001","last_updated":"2026-01-29 15:09:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/ucp-adapter-for-woocommerce","header_author_uri":"https:\/\/github.com\/dhirajpatra","rating":5,"author_block_rating":0,"active_installs":10,"downloads":280,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"dhirajpatra","date":"2026-01-27 00:48:30"},"1.0.2":{"tag":"1.0.2","author":"dhirajpatra","date":"2026-01-28 11:07:01"},"1.0.3":{"tag":"1.0.3","author":"dhirajpatra","date":"2026-01-29 15:09:00"}},"upgrade_notice":{"1.0.0":"<p>Initial release of UCP Adapter For WooCommerce.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3447436,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3447436,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3447436,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3447436,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3447436,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3447436,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3447436,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3447436,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3448771,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Settings page with API key management","2":"Active sessions dashboard","3":"REST API endpoint documentation","4":"Session status monitoring"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1556,701,597,2299,254710],"plugin_category":[45],"plugin_contributors":[252828],"plugin_business_model":[],"class_list":["post-277353","plugin","type-plugin","status-publish","hentry","plugin_tags-api","plugin_tags-commerce","plugin_tags-integration","plugin_tags-rest","plugin_tags-ucp","plugin_category-ecommerce","plugin_contributors-dhirajpatra","plugin_committers-dhirajpatra"],"banners":{"banner":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/banner-772x250.png?rev=3447436","banner_2x":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/banner-1544x500.png?rev=3447436","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/icon.svg?rev=3447436","icon":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/icon.svg?rev=3447436","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/screenshot-1.png?rev=3447436","caption":"Settings page with API key management"},{"src":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/screenshot-2.png?rev=3447436","caption":"Active sessions dashboard"},{"src":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/screenshot-3.png?rev=3447436","caption":"REST API endpoint documentation"},{"src":"https:\/\/ps.w.org\/ucp-adapter-for-woocommerce\/assets\/screenshot-4.png?rev=3448771","caption":"Session status monitoring"}],"raw_content":"<!--section=description-->\n<p>UCP Adapter For WooCommerce is a powerful WordPress plugin that provides REST API endpoints for Universal Commerce Platform (UCP) integration. It enables seamless communication between your WordPress site and external commerce platforms through secure, standardized API endpoints.<\/p>\n\n<p>Thank you for using our plugin! This add-on connects your WordPress site to the powerful world of WordPress's Agentic Commerce, allowing you to create automated shopping assistants for your users.<\/p>\n\n<h3>\ud83d\ude80 Core Features<\/h3>\n\n<p>Our plugin leverages WordPress's MCP (Model Context Protocol) servers plugin and the open <strong>Universal Commerce Protocol (UCP)<\/strong> standard to enable secure, intelligent commerce actions. Here\u2019s what you can build:<\/p>\n\n<ul>\n<li><strong>Smart Product Discovery:<\/strong> Enable agents to search products across WordPress merchants, apply filters, and display interactive product cards directly within a chat interface on your site.<\/li>\n<li><strong>Seamless Checkout:<\/strong> Allow agents to create checkout sessions, collect buyer information, attach payment details, and complete purchases on behalf of users.<\/li>\n<li><strong>Order Tracking:<\/strong> After a purchase, agents can track order status, fulfillment updates, and post-purchase events like refunds or returns.<\/li>\n<\/ul>\n\n<h3>\ud83d\udd17 How It Works<\/h3>\n\n<p>The plugin acts as a <strong>Platform<\/strong> within the UCP framework, facilitating secure communication between your users (buyers), WordPress <strong>Merchants<\/strong>, and payment or credential providers. It implements these key UCP capabilities:<\/p>\n\n<ol>\n<li><strong>Discovery \u2192 Checkout:<\/strong> An agent can help a user find a product and instantly retrieve the necessary details to start a checkout session.<\/li>\n<li><strong>Checkout Completion:<\/strong> The agent can securely submit the checkout. If further user action is needed, it can gracefully open a web checkout page.<\/li>\n<li><strong>Post-Purchase:<\/strong> The agent provides ongoing value by fetching real-time updates on order delivery and status changes.<\/li>\n<\/ol>\n\n<h3>\ud83d\udca1 Use Case Example<\/h3>\n\n<p>Imagine a user in your site's chat asking, \"Find me a red coffee mug under $20.\" The plugin-powered agent can:\n*   Query the WordPress Catalog across multiple stores.\n*   Return filtered, interactive results.\n*   Guide the user through selecting a variant, adding it to cart, and checking out\u2014all without leaving your WordPress environment.\n*   Get this client https:\/\/github.com\/dhirajpatra\/adk-agent-gcp\/tree\/main\/ai-agents-adk\/ucp_recommendation_system to connect your site with AI agent.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Session Management<\/strong>: Create and manage user sessions with automatic expiration<\/li>\n<li><strong>REST API Endpoints<\/strong>: Three core endpoints (Session, Update, Complete) for UCP communication<\/li>\n<li><strong>Security First<\/strong>: API key authentication, rate limiting, and IP whitelisting<\/li>\n<li><strong>Developer Friendly<\/strong>: Clean, extensible code following WordPress coding standards<\/li>\n<li><strong>Extensible<\/strong>: Hooks and filters throughout for custom implementations<\/li>\n<li><strong>Admin Interface<\/strong>: Easy-to-use settings and session monitoring dashboard<\/li>\n<li><strong>Database Storage<\/strong>: Efficient session storage with automatic cleanup<\/li>\n<\/ul>\n\n<h4>REST API Endpoints<\/h4>\n\n<ol>\n<li><strong>POST \/wp-json\/ucp\/v1\/session<\/strong> - Create a new session<\/li>\n<li><strong>PUT \/wp-json\/ucp\/v1\/update\/{session_id}<\/strong> - Update session data<\/li>\n<li><strong>POST \/wp-json\/ucp\/v1\/complete\/{session_id}<\/strong> - Complete a session<\/li>\n<li><strong>GET \/wp-json\/ucp\/v1\/status\/{session_id}<\/strong> - Check session status<\/li>\n<li><strong>GET \/wp-json\/ucp\/v1\/sessions<\/strong> - List all sessions<\/li>\n<li><strong>GET \/wp-json\/ucp\/v1\/product\/search<\/strong> - Search for products<\/li>\n<\/ol>\n\n<h4>Use Cases<\/h4>\n\n<ul>\n<li>E-commerce platform integration<\/li>\n<li>Third-party checkout systems<\/li>\n<li>Payment gateway connections<\/li>\n<li>Order management systems<\/li>\n<li>Multi-platform commerce solutions<\/li>\n<\/ul>\n\n<h4>Developer Resources<\/h4>\n\n<p>Build custom UCP adapters for platforms like:\n* Custom e-commerce solutions\n* Membership plugins\n* Digital product handlers\n* MemberPress<\/p>\n\n<h3>API Documentation<\/h3>\n\n<h4>Create Session<\/h4>\n\n<p><strong>Endpoint<\/strong>: <code>POST \/wp-json\/ucp\/v1\/session<\/code><\/p>\n\n<p><strong>Headers<\/strong>:\n    <code>Content-Type: application\/json\nX-UCP-API-Key: your-api-key<\/code><\/p>\n\n<p><strong>Body<\/strong>:\n    <code>json\n{\n  \"platform\": \"woocommerce\",\n  \"user_data\": {\n    \"user_id\": 123,\n    \"email\": \"user@gmail.com\"\n  }\n}<\/code><\/p>\n\n<p><strong>Response<\/strong>:\n    <code>json\n{\n  \"success\": true,\n  \"session_id\": \"ucp_abc123...\",\n  \"expires_at\": 1234567890,\n  \"message\": \"Session created successfully.\"\n}<\/code><\/p>\n\n<h4>Update Session<\/h4>\n\n<p><strong>Endpoint<\/strong>: <code>PUT \/wp-json\/ucp\/v1\/update\/{session_id}<\/code><\/p>\n\n<p><strong>Body<\/strong>:\n    <code>json\n{\n  \"action\": \"add_item\",\n  \"data\": {\n    \"product_id\": 456,\n    \"quantity\": 2\n  }\n}<\/code><\/p>\n\n<h4>Complete Session<\/h4>\n\n<p><strong>Endpoint<\/strong>: <code>POST \/wp-json\/ucp\/v1\/complete\/{session_id}<\/code><\/p>\n\n<p><strong>Body<\/strong>:\n    <code>json\n{\n  \"status\": \"completed\",\n  \"metadata\": {\n    \"order_id\": 789\n  }\n}<\/code><\/p>\n\n<h4>List Sessions<\/h4>\n\n<p><strong>Endpoint<\/strong>: <code>GET \/wp-json\/ucp\/v1\/sessions<\/code><\/p>\n\n<p><strong>Parameters<\/strong>:\n* <code>page<\/code>: Page number (optional, default 1)\n* <code>limit<\/code>: Results per page (optional, default 10)<\/p>\n\n<p><strong>Response<\/strong>:\n    <code>json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"session_id\": \"ucp_abc123...\",\n      \"status\": \"active\",\n      \"created_at\": \"2024-01-01 12:00:00\",\n      \"expires\": 1234567890\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"limit\": 10,\n    \"total\": 5\n  }\n}<\/code><\/p>\n\n<h4>Product Search<\/h4>\n\n<p><strong>Endpoint<\/strong>: <code>GET \/wp-json\/ucp\/v1\/product\/search<\/code><\/p>\n\n<p><strong>Parameters<\/strong>:\n* <code>search<\/code>: Search query (required)\n* <code>page<\/code>: Page number (optional, default 1)\n* <code>limit<\/code>: Results per page (optional, default 10)<\/p>\n\n<p><strong>Response<\/strong>:\n    <code>json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 123,\n      \"name\": \"T-Shirt\",\n      \"price\": \"20.00\",\n      \"image\": \"https:\/\/example.com\/image.jpg\",\n      \"permalink\": \"https:\/\/example.com\/product\/t-shirt\"\n    }\n  ],\n  \"meta\": {\n    \"page\": 1,\n    \"limit\": 10,\n    \"search\": \"shirt\",\n    \"count\": 1\n  }\n}<\/code><\/p>\n\n<h4>Actions Available<\/h4>\n\n<ul>\n<li><code>add_item<\/code> - Add an item to the session<\/li>\n<li><code>update_item<\/code> - Update an existing item<\/li>\n<li><code>remove_item<\/code> - Remove an item from the session<\/li>\n<li><code>set_data<\/code> - Set custom session data<\/li>\n<li>Custom actions via filters<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>UCP Adapter For WooCommerce stores session data temporarily in your WordPress database. This data is automatically cleaned up based on your configured retention settings. The plugin does not send any data to external services.<\/p>\n\n<p>Session data may include:\n* User identifiers\n* Platform information\n* Custom data provided via API calls<\/p>\n\n<p>It is your responsibility to ensure compliance with privacy regulations (GDPR, CCPA, etc.) when using this plugin.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Developed with WordPress coding standards and best practices in mind.<\/p>\n\n<h3>Support<\/h3>\n\n<p>Support Forum: https:\/\/wordpress.org\/support\/plugin\/ucp-adapter-for-woocommerce<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Log in to your WordPress admin panel<\/li>\n<li>Navigate to Plugins &gt; Add New<\/li>\n<li>Search for \"UCP Adapter For WooCommerce\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Log in to your WordPress admin panel<\/li>\n<li>Navigate to Plugins &gt; Add New &gt; Upload Plugin<\/li>\n<li>Choose the downloaded zip file and click \"Install Now\"<\/li>\n<li>Activate the plugin through the 'Plugins' menu<\/li>\n<\/ol>\n\n<h4>Configuration<\/h4>\n\n<ol>\n<li>Navigate to UCP Adapter in the admin menu<\/li>\n<li>Copy your API key from the Settings page<\/li>\n<li>Configure session timeout and rate limiting as needed<\/li>\n<li>Use the API key in your UCP requests<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20get%20an%20api%20key%3F\"><h3>How do I get an API key?<\/h3><\/dt>\n<dd><p>An API key is automatically generated when you activate the plugin. You can find it in the UCP Adapter &gt; Settings page. You can also regenerate it at any time.<\/p><\/dd>\n<dt id=\"how%20do%20i%20authenticate%20api%20requests%3F\"><h3>How do I authenticate API requests?<\/h3><\/dt>\n<dd><p>Include your API key in the request header:\n    X-UCP-API-Key: your-api-key-here<\/p>\n\n<p>Or as a query parameter:\n    ?api_key=your-api-key-here<\/p><\/dd>\n<dt id=\"what%20happens%20to%20expired%20sessions%3F\"><h3>What happens to expired sessions?<\/h3><\/dt>\n<dd><p>Expired sessions are automatically cleaned up on an hourly basis. Completed sessions are kept for 7 days before being removed.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20session%20timeout%3F\"><h3>Can I customize the session timeout?<\/h3><\/dt>\n<dd><p>Yes, you can configure the session timeout in the Settings page. The default is 3600 seconds (1 hour).<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20compatible%20with%20woocommerce%3F\"><h3>Is this plugin compatible with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes! This plugin is designed to provide the necessary API endpoints for Universal Commerce Platform (UCP) integration with WooCommerce. You can also build additional custom functionality using the provided hooks and filters.<\/p><\/dd>\n<dt id=\"how%20do%20i%20extend%20the%20plugin%3F\"><h3>How do I extend the plugin?<\/h3><\/dt>\n<dd><p>The plugin provides numerous hooks and filters:<\/p>\n\n<ul>\n<li><code>ucp_adapter_init<\/code> - Runs after plugin initialization<\/li>\n<li><code>ucp_session_created<\/code> - Fires when a session is created<\/li>\n<li><code>ucp_session_updated<\/code> - Fires when a session is updated<\/li>\n<li><code>ucp_session_completed<\/code> - Fires when a session is completed<\/li>\n<li><code>ucp_before_session_complete<\/code> - Filter data before completion<\/li>\n<li><code>ucp_update_action_{action}<\/code> - Handle custom update actions<\/li>\n<\/ul><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><p>For support questions, please use the WordPress.org support forums. For bugs and feature requests, visit our GitHub repository.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added product search REST API endpoint.<\/li>\n<li>Added sessions list REST API endpoint.<\/li>\n<li>Added 'requires plugins' header.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Session management system<\/li>\n<li>Three core REST API endpoints (Session, Update, Complete)<\/li>\n<li>API key authentication<\/li>\n<li>Rate limiting functionality<\/li>\n<li>IP whitelisting support<\/li>\n<li>Admin dashboard with settings<\/li>\n<li>Session monitoring interface<\/li>\n<li>Automatic session cleanup<\/li>\n<li>Comprehensive documentation<\/li>\n<\/ul>","raw_excerpt":"Universal Commerce Platform REST API adapter providing Session, Update, and Complete endpoints for seamless e-commerce integration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/277353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=277353"}],"author":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dhirajpatra"}],"wp:attachment":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=277353"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=277353"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=277353"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=277353"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=277353"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=277353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}