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_payload filter and catcode_keycrm_order_sent action 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_id meta
- 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. / Інтерфейс плагіна повністю перекладено українською.