2khat connects your WooCommerce store to the 2khat platform by exposing a secure, paginated REST API for product catalog synchronization.
After registering your store with the 2khat team, install and activate this plugin to allow 2khat to fetch your published products and variations.
public_key.pem is the 2khat RSA public key used to verify API request signatures. It is not a private credential and must remain in the plugin directory.<h3>Authentication</h3>
All 2khat API requests require RSA domain signature verification.
Signing (2khat server side):
site_url(), without a www. prefix.Send it in the request header:
Authorization: Twokcs
Legacy clients may also use Authorization: Basic <base64-signature> during migration.
Example (OpenSSL CLI):
`
echo -n “example.com” | openssl dgst -sha256 -sign 2khat_private.pem | openssl base64 -A
<h3>REST API</h3>/wp-json/twokcs/v1/version`
**GET**
Returns the plugin version.
GET /wp-json/twokcs/v1/products?page=1&per_page=100
Returns paginated published products with nested variations.
GET /wp-json/twokcs/v1/categories?page=1&per_page=100
Returns paginated product categories.
GET /wp-json/twokcs/v1/attributes?page=1&per_page=100
Returns paginated product attributes.
GET /wp-json/twokcs/v1/attribute-terms?page=1&per_page=100
Returns paginated attribute terms across all attributes. Optionally filter by attribute:
GET /wp-json/twokcs/v1/attribute-terms?attribute_id=1&page=1&per_page=100
GET /wp-json/twokcs/v1/variants?product_ids=10,20
Returns compact published variants grouped by parent product ID. Each item includes product_id and a variants array with: id, on_sale, status, price, regular_price, sale_price, stock_quantity, stock_status.
GET /wp-json/twokcs/v1/variants?ids=305,306,307
Returns compact published variants for the given variation IDs in request order. Response shape: { count, results: [...] } with the same variant fields as above.
GET /wp-json/twokcs/v1/variant?id=305
Returns a single compact published variant object with the same fields as above. Returns 404 when the variation is missing or not published.
Query parameters (all catalog endpoints):
page — page number (default: 1, minimum: 1)per_page — items per page (default: 100, maximum: 200)attribute_id — (attribute-terms only) filter terms to a single attributeproduct_ids — (variants only) comma-separated parent product IDs; returns variants grouped by productids — (variants only) comma-separated variation IDs; returns a flat list in request orderid — (variant only) single variation IDdebug — include SQL query stats only when WP_DEBUG and TWOKCS_DEBUG are enabled, or when the twokcs_allow_debug filter returns true. Full query details require SAVEQUERIES enabled in wp-config.php.