Description
The plugin connects WooCommerce to KeyCRM via its Open API (openapi.keycrm.app). Every new store order is automatically created in KeyCRM with the buyer, products, shipping and payment.
KeyCRM is a third-party product; this plugin is an independent integration and is not affiliated with or endorsed by KeyCRM.
Features
- Send the order right after checkout (classic checkout and Checkout Blocks) or when it enters one of the selected statuses
- Deduplication:
source_uuid = wc-{id}plus the KeyCRM ID stored in order meta — no duplicates - Payment status pass-through: a paid order is created with a «paid» payment record (optional)
- Automatic retries on failure: 3 attempts with 5 min / 30 min / 2 h delays (WP-Cron)
- Metabox on the order screen: sync status, KeyCRM ID, «Resend» button (already-sent orders are partially updated via PUT)
- «Test connection» button on the settings page
- Log of recent sync events («Journal» tab)
- API key is encrypted in the database (libsodium with an HMAC fallback)
- Buyer phone normalization to E.164 (+380…)
- Order source: explicit Source ID or a source name (KeyCRM creates it automatically)
- HPOS compatible (custom order tables), works exclusively through WC_Order CRUD
catcode_keycrm_order_payloadfilter andcatcode_keycrm_order_sentaction for third-party integrations
Requirements
- WooCommerce 7.0 or newer
- PHP 7.4+
- KeyCRM API key (KeyCRM cabinet Settings API)
How it works
- A customer places an order in your store
- The plugin builds the payload (buyer, products, shipping, payment) and sends POST /order to KeyCRM
- KeyCRM returns the order ID, which is stored in the
_catcode_keycrm_order_idmeta - If KeyCRM is unavailable, the attempt is retried automatically (up to 3 times)
- The manager sees the status and ID in the order metabox and in the journal
The plugin interface is fully translated into Ukrainian. / Інтерфейс плагіна повністю перекладено українською.
External services
This plugin connects to the KeyCRM Open API (https://openapi.keycrm.app/v1), a third-party CRM service. The connection is the whole purpose of the plugin: it creates and updates your WooCommerce orders inside your own KeyCRM account.
What is sent and when:
POST /order— when a customer places an order, or when the order enters one of the statuses you selected as a trigger. Retried up to 3 times if KeyCRM is unavailable.PUT /order/{id}— when you press «Resend» in the order metabox for an order that already exists in KeyCRM.GET /order?limit=1— only when you press «Test connection» on the settings page.
Every request carries your KeyCRM API key in the Authorization header. The order data sent is: the WooCommerce order ID (as source_uuid, e.g. wc-123), the order source name, the customer note, the line items (name, SKU, price, quantity), the shipping method, shipping cost, delivery city and address, the payment method title, the order total and whether it is paid, and the buyer’s full name, email address and phone number as entered at checkout.
No data is sent to any other service, and nothing about your visitors, site or administrators is sent beyond the order data listed above. Nothing is sent until you enter your KeyCRM API key: without a key the plugin makes no external requests.
This service is provided by KeyCRM: terms of use, privacy policy.
Screenshots


Installation
- Upload the plugin folder to
/wp-content/plugins/catcode-order-sync-with-keycrm-for-woocommerce/ - Activate it in the «Plugins» menu
- Go to WooCommerce KeyCRM Sync and enter your API key
- Click «Test connection» and save the settings
FAQ
-
Where do I get the API key?
-
KeyCRM cabinet Settings API. The key is stored encrypted in the database.
-
Are duplicates created when the status changes again?
-
No. The plugin stores the KeyCRM ID in the order meta and passes
source_uuid, and KeyCRM also deduplicates on its side. -
If the order is not in KeyCRM yet, it creates it. If it has already been sent, it partially updates it (PUT /order/{id}) with fresh data.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“CatCode Order Sync with KeyCRM for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “CatCode Order Sync with KeyCRM for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.1.3
- All source strings are now English, as expected for a plugin hosted on WordPress.org.
- Added a complete bundled Ukrainian translation (uk.po/uk.mo), so the Ukrainian interface is unchanged for Ukrainian sites.
0.1.2
- Added the «External services» section to the readme documenting the KeyCRM Open API connection, the data sent and links to the KeyCRM terms of use and privacy policy.
- Fixed the Plugin URI, which pointed to a page that returned a 404.
0.1.1
- Renamed the plugin to «CatCode Order Sync with KeyCRM for WooCommerce» (new slug and text domain).
- Admin styles are now enqueued via wp_add_inline_style on a registered handle instead of raw output.
- All options, order meta, hooks, transients and the cron event consolidated under the catcode_keycrm_ prefix.
0.1.0
- First release: order export, retries, metabox, journal, connection test.
