TropaTT CRM E-Commerce Gateway
TropaTT CRM connector for WooCommerce / WordPress: HMAC-signed order ingestion, reactive status sync and stock synchronisation.
by Anton Barinov · github.com/anton-barinov/tropatt-woocommerce · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/anton-barinov/tropatt-woocommerce/archive/refs/heads/main.zipОфициальный плагин TropaTT CRM для WooCommerce / WordPress
Модуль интеграции для интернет-магазинов на WordPress + WooCommerce. Обеспечивает прямую двустороннюю синхронизацию заказов, контактных данных и статусов с TropaTT CRM (crm.ecommerce-gateway).
Возможности
- Двусторонняя реактивная синхронизация статусов заказов через REST API с защитой от эхо-петель (
Tropatt_Client::$suppress_echo). - Передача деталей заказов: товары, артикулы (SKU), количество, цены в минорных единицах, налоги, скидки, способы и стоимость доставки.
- Полная криптографическая защита HMAC-SHA256 в соответствии со спецификацией протокола Ingestion API.
- Заказы из Cart/Checkout-блоков тоже уезжают в CRM: блочный чекаут работает через Store API и не вызывает старый хук
woocommerce_checkout_order_processed— плагин подписан наwoocommerce_store_api_checkout_order_processed(WC 7.2+), а повторная отправка того же заказа в одном запросе подавлена. - Входящий статус проверяется перед применением: неизвестный статус (например, CRM-код
in_progress) больше не пишется в заказ — WooCommerce не умеет его отображать и сваливает заказ вpending, при этом CRM считала доставку успешной. Теперь шлюз отвечает422 TROPATT_UNKNOWN_STATUSс перечнем известных статусов, а заказ не трогается. - Асинхронная доставка через Action Scheduler: заказ уходит из фоновой задачи, а не в запросе оформления, поэтому медленный или недоступный CRM не тормозит чекаут; при отсутствии Action Scheduler включается синхронный fallback.
- Совместимость с HPOS (High-Performance Order Storage) и Cart/Checkout Blocks: плагин объявляет совместимость через
FeaturesUtil::declare_compatibility, поэтому WooCommerce не блокирует включение HPOS на сайте. - Работа с кэшем: REST-эндпоинт приёма статусов отдаёт
Cache-Control: no-store,DONOTCACHEPAGEи заголовки для WP Rocket / LiteSpeed Cache / W3 Total Cache, чтобы кэш не «съедал» смену статуса. - Мультивалютность: суммы берутся в валюте заказа, включая режимы WOOCS и WPML/WCML (
_woocs_order_currency,_wcml_order_currency). - Кастомные поля чекаута: публичные метаданные заказа и поля сторонних плагинов чекаута (Checkout Field Editor и др.) передаются в CRM в
custom_fields. - Защита от повторов: повторная подписанная посылка в окне толерантности отклоняется (HTTP 409).
- REST-маршрут приёма статусов —
/wp-json/tropatt/v1/status(старый/webhookсохранён как алиас). - Встроенная кнопка быстрой проверки соединения (Ping-тест) в админке WooCommerce.
Установка
- Загрузите архив
tropatt-woocommerce.zipчерез меню Плагины -> Добавить новый -> Загрузить плагин. - Активируйте плагин TropaTT CRM E-Commerce Gateway.
- Перейдите в WooCommerce -> Настройки -> вкладка TropaTT CRM.
- Введите URL шлюза, публичный ключ витрины (
stk_...) и секретный ключ, полученные в TropaTT CRM. - Скопируйте сгенерированный URL входящих вебхуков в карточку витрины в CRM и сохраните настройки.
Сборка архива
bash build.sh
Скрипт собирает dist/tropatt-woocommerce.zip (плагин упаковывается в каталог tropatt-ecommerce/, как требует установщик WordPress) и проверяет целостность архива.
Лицензия
AGPL-3.0, та же лицензия, что и у проекта TropaTT (см. LICENSE).
TropaTT CRM connector for WooCommerce / WordPress (EN)
A plugin for two-way order and status synchronisation between WooCommerce and the TropaTT self-hosted CRM (module crm.ecommerce-gateway), with HMAC-SHA256 signed requests and echo-loop protection.
Install
- Run
bash build.sh(or downloadtropatt-woocommerce.zipfrom the releases page). - In WordPress go to Plugins → Add New → Upload Plugin, choose the archive and activate TropaTT CRM E-Commerce Gateway.
- Open WooCommerce → Settings → TropaTT CRM, fill in the gateway URL, the store public key (
stk_...) and the secret, then run the connection test and save.
Build
bash build.sh
License
AGPL-3.0, the same licence as the TropaTT project (see LICENSE).