Связаться
  • WordPress
  • CRM и интеграции
  • v0.2.0

OneBox Sync — синхронизация заказов для WooCommerce

Бесплатный плагин интеграции WooCommerce с OneBox OS: после checkout в CRM создаётся процесс-заказ с клиентом, адресом доставки и товарами.

Совместимость
WordPress 6.2+, WooCommerce 6.0+
PHP
7.4 и новее
Обновлено
13 августа 2026

Что умеет модуль

Функция Free
Процесс-заказ в OneBox OS создаётся после каждого checkout ✔
Передаются клиент, телефон, адрес доставки и список товаров ✔
Поддержка классического чекаута и Checkout Blocks ✔
Триггер-статусы на выбор ✔
Дедупликация процессов ✔
Очередь повторных попыток при сбоях ✔
Журнал обменов и метабокс в заказе ✔
Совместимость с HPOS ✔
Бесплатный ✔

Как это выглядит

Настройки OneBox Sync в WooCommerce
Страница настроек: домен вашего OneBox, API-логин и API-пароль сотрудника, триггерные статусы отправки и необязательная маршрутизация — ID бизнес-процесса, этапа и источника. Кнопка «Проверить соединение» сразу показывает, валидны ли доступы, а вкладка «Журнал» — последние события синхронизации.
Метабокс OneBox в заказе WooCommerce
В каждом заказе — метабокс OneBox: статус синхронизации, ID процесса в CRM и кнопка «Отправить повторно». Повторная отправка обновляет тот же процесс — товары обновляются, а не дублируются.
Журнал синхронизации OneBox Sync
Вкладка «Журнал» — последние попытки синхронизации: дата, заказ, событие (create / update / adopted / no_response), номер попытки, код HTTP и ответ OneBox. Видно и успешные отправки, и причину, почему что-то не ушло.

Технические требования

  • WordPress 6.2+ (протестировано до 7.0)
  • WooCommerce 6.0 или новее
  • PHP 7.4+
  • OneBox OS с компонентом «API v2» (1b.app → Приложения → API-сервисы) и REST API логином/паролем сотрудника (Пользователи и сотрудники → карточка сотрудника)

История версий

v0.2.0 Текущая 13 августа 2026

Починена кнопка «Отправить повторно» в метабоксе.

v0.1.0 июль 2026

Первый публичный релиз: отправка заказов в OneBox OS через API v2 (token/get + order/set), двойная дедупликация (externalid + мета), привязка товаров к каталогу, маршрутизация по…

Полное описание модуля

OneBox Sync для WooCommerce — плагин, который после каждого checkout автоматически создаёт в OneBox OS процесс-заказ с клиентом, телефоном, адресом доставки и списком товаров. Менеджер открывает готовую заявку в CRM вместо того, чтобы переносить данные из заказа WooCommerce руками — и ни один ордер не теряется между сайтом и OneBox.

Как это работает — шаг за шагом

  1. Покупатель оформляет заказ — плагин поддерживает и классический чекаут, и Checkout Blocks.
  2. Плагин авторизуется в OneBox: получает токен через POST /api/v2/token/get/ (токен кешируется и обновляется автоматически) и отправляет заказ через POST /api/v2/order/set/ на домен вашего OneBox.
  3. Клиент и товары маппятся на CRM: clientname/clientemail/clientphone/clientaddress плюс массив products с привязкой к каталогу OneBox — каталожные товары находятся по артикулу (SKU) или создаются автоматически. Доставка — отдельной строкой, поэтому сумма процесса сходится с суммой заказа.
  4. OneBox возвращает ID процесса — он сохраняется в мете _cc_onebox_order_id; дополнительно передаётся externalid wc-{id}, поэтому дубли исключены дважды.
  5. Если OneBox недоступен — WP-Cron повторяет отправку: до 3 попыток — повтор через 5 мин, затем через 30 мин. Оплаченные онлайн заказы получают в комментарии процесса пометку «✅ Оплачено онлайн» (COD и офлайн-методы не помечаются).

Что под капотом

  • Двойная дедупликация: externalid wc-{id} даёт upsert на стороне OneBox, а сохранённый ID процесса в мете заказа блокирует повторное создание со стороны плагина.
  • Лок на уровне БД — если хук чекаута, смена статуса и колбэк платёжки прилетают на один заказ одновременно, в OneBox уйдёт ровно один запрос на создание (проверено 24 параллельными запросами на 3 заказа).
  • Попытка без ответа не дублирует сделку — если OneBox не ответил (таймаут), заказ помечается, а перед повтором плагин спрашивает CRM по externalid (POST /order/get/) и подхватывает уже созданный процесс.
  • API-пароль зашифрован в БД — libsodium с HMAC-фолбеком; токен доступа кешируется и обновляется автоматически.
  • Нормализация телефона до E.164 (+380…) — номера в CRM приходят в едином формате.
  • HPOS-совместимость (custom order tables) — работа с заказами исключительно через WC_Order CRUD.
  • Расширяемость: фильтр cc_onebox_order_payload позволяет изменить данные перед отправкой, хук cc_onebox_order_sent — выполнить свой код после успешной синхронизации.

Как установить

  1. Установите в OneBox компонент «API v2» (1b.app → Приложения → API-сервисы) и задайте сотруднику логин и пароль в карточке (Пользователи и сотрудники → Логин, пароль, права доступа).
  2. Загрузите catcode-order-sync-with-onebox-for-woocommerce-0.2.0.zip через Плагины → Добавить новый → Загрузить плагин и активируйте.
  3. Откройте WooCommerce → OneBox Sync и укажите домен вашего OneBox, API-логин и API-пароль.
  4. Нажмите «Проверить соединение» — плагин получит токен и список бизнес-процессов.
  5. При необходимости укажите ID бизнес-процесса, этапа и источника (пустые поля = первый бизнес-процесс автоматически) и сохраните.
  6. Сделайте тестовый заказ — в OneBox появится процесс-заказ.

Вопросы
о модуле

Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.

@catcode_support Настройка, совместимость, активация
Откуда взять API-логин и пароль?

Кабинет OneBox OS → приложение «Пользователи и сотрудники» → карточка сотрудника → REST API пароль. Логин — логин этого сотрудника. Плагин сам обменивает их на токен через /api/v2/token/get/.

Создаются ли дубли при повторной смене статуса?

Нет. Плагин передаёт externalid wc-{id} — OneBox сам обновляет найденный процесс — и дополнительно сверяет сохранённый OneBox ID в мете заказа.

Что делает кнопка «Отправить повторно»?

Если заказ ещё не в OneBox — создаёт процесс. Если уже отправлен — обновляет тот же процесс актуальными данными: товары обновляются, а не дублируются.

Трогает ли плагин checkout или тему?

Нет. Вся работа происходит на сервере через хуки заказов — фронтенд, тема и страница оформления не меняются.

Что будет, если у товара нет совпадения в каталоге OneBox?

Плагин передаёт товары с привязкой к каталогу (productinfo: название, артикул, externalid) — товар находится по артикулу или создаётся в каталоге автоматически.

Что будет, если OneBox совсем не ответит?

Заказ помечается как «попытка без ответа», и перед повтором плагин спрашивает OneBox, нет ли там уже процесса с таким externalid. Если есть — подхватывает его ID и пишет заметку в заказе; второй процесс не создаётся.

Что будет после удаления плагина?

Процессы в OneBox и сами заказы останутся. Плагин убирает свою таблицу журнала, настройки и остаточные локи, а служебную мету с ID процесса оставляет намеренно — именно она не даёт повторно отправить старые заказы после переустановки.

Не тот вариант, что искали?

Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль