Подключить KeyCRM к OpenCart можно двумя принципиально разными способами. Первое — штатное подключение для передачи новых заказов в CRM. Второй – расширенная двусторонняя интеграция, когда магазин и KeyCRM обмениваются также товарами, категориями, ценами, остатками, клиентами и статусами. Правильная настройка начинается не с кнопки «Установить», а с четкого перечня данных и направлений обмена.
Сначала определите объем интеграции
Официальный коннектор keyCRM для OpenCart рассчитан в первую очередь на получение заказов с сайта. Этого достаточно, если менеджерам нужно видеть в CRM покупателя, состав заказа, оплату и доставку, а каталог и склад ведутся в OpenCart.
Если KeyCRM должна стать главной системой учета, требуется более широкий сценарий: двусторонние статусы, товары и опции, цены, остатки, категории, клиенты, защита от дублей, CRON и обработка исходных webhook событий. Именно этот сценарий закрывает расширенный модуль интеграции KeyCRM с OpenCart от Build Zone.
| Потребность | Базовое подключение | Расширенная интеграция |
|---|---|---|
| Новые заказы OpenCart → KeyCRM | Да | Да |
| Статусы в обе стороны | Не основной сценарий | Да, с маппингом |
| Товары, категории, клиенты | Нет | Импорт и экспорт |
| Цены, опции и остатки | Требуется отдельная API-реализация | Да |
| CRON, webhook, ручной запуск | Ограничено | Предусмотрено модулем |
Что подготовить к подключению
- Рабочая резервная копия файлов и базы данных OpenCart.
- Тестовая копия магазина или согласованное короткое окно для проверки.
- Активный аккаунт KeyCRM и доступ администратора к разделу настроек.
- API-ключ KeyCRM; его нельзя отправлять в открытом чате или хранить в публичном репозитории.
- Список соответствий статусов, способов оплаты и доставки.
- Уникальные артикулы SKU для каждого товара и каждой настройки, если планируется обмен каталогом или остатками.
- SSL сертификат и доступ к CRON на хостинге.
Совместимость важно проверить до установки. Текущий расширенный сборник Build Zone v1.3.2 предназначен для OpenCart и ocStore 3.x. Она не изменяет файлы ядра, не нуждается в ionCube и не зависит от доступности сервера разработчика.
Подключение KeyCRM к OpenCart шаг за шагом
1. Создайте источник в KeyCRM
В настройках KeyCRM откройте раздел источников, добавьте OpenCart и укажите название магазина, его HTTPS-адрес, валюту и ответственного менеджера. Отдельный источник для каждого магазина упрощает аналитику и не позволяет смешивать одинаковые номера заказов.
2. Создайте API-ключ
API-ключ требуется для авторизованных запросов между системами. Он передается как Bearer token и должен храниться только в защищенных настройках модуля. После ротации ключа его нужно заменить в OpenCart, в противном случае API будет соответствовать ошибке авторизации. Способ создания ключа и актуальные лимиты описаны в базе знаний keyCRM.
3. Установите модуль в OpenCart
Для OpenCart 3 архив формата .ocmod.zip загружается через «Расширение → Установка расширений». После установки обновите модификаторы, предоставите права группе администратора и активируйте модуль. Если магазин сильно модифицирован, сначала проверьте процесс на тестовой копии.
4. Укажите доступы и направления обмена
Подключите источник и ключ API, после чего включите только необходимые операции. Например, заказ можно отправлять из OpenCart в KeyCRM сразу, остатки получать с CRM по расписанию, а полный импорт товаров запускать вручную. Такое деление уменьшает риск случайно перезаписать правильные данные.
5. Настройте CRON и webhook
CRON подходит для регулярного импорта и экспорта больших наборов товаров, категорий, клиентов и остатков. Исходные webhook-ы KeyCRM нужны для быстрой реакции на изменение заказа, статуса или склада. Webhook сообщает о событии, а подробные данные при необходимости модуль дочитывает через API.
6. Запустите тест, а не полную синхронизацию
Создайте один тестовый товар, клиента и заказ. Проверьте поля в обеих системах и измените статус и остаток. Только после успешного прохождения сценария запускайте массовый обмен.
Мапинг статусов, оплат, доставок и SKU
Названия и идентификаторы сущностей в системах не совпадают автоматически. Статус "В обработке" в OpenCart может соответствовать этапу "Новое" в KeyCRM; «Банковская карта» – конкретному способу оплаты; одна доставка – нескольким службам или тарифам. Мапинг фиксирует эти соответствия и делает обмен предсказуемым.
Для товаров главным ключом обычно является SKU. Каждый вариант – например, отдельный размер или цвет – должен иметь собственный уникальный артикул. Если два варианта имеют одинаковый SKU или пустой артикул, система не сможет однозначно определить, какой остаток обновить.
Как проверить, что интеграция работает
- Оформите тестовый заказ в качестве обычного покупателя.
- Сверьте имя, телефон, email, товары, опции, суммы, доставку и оплату в KeyCRM.
- Повторите событие и убедитесь, что дубликат не был создан.
- Измените статус каждой системы и проверьте заданные направления.
- Обновите цену и остаток тестового SKU.
- Временно выключите CRON или введите невалидный ключ в тестовой среде для просмотра понятной записи в журнале.
- После возврата доступа повторите неудачную операцию и проверьте возобновление обмена.
Типичные ошибки интеграции
| Симптом | Что проверить |
|---|---|
| KeyCRM не получает заказ | API ключ, источник, активность модуля, журнал событий и права доступа. |
| Ошибка 401 | Ключ недействителен, отозван или передается без авторизации. |
| Ошибка 429 | Превышен предел API; Уменьшите частоту запросов и используйте очередь. |
| Остаток не обновляется | SKU товара/опции, направление синхронизации, склад, резерв и CRON. |
| Появляются дубликаты | Связь по источнику UUID/ID и обработке одного события. |
Официальный или расширенный модуль
Для простой передачи новых заказов начните со штатного коннектора KeyCRM. Если требуется работа с каталогом, двусторонними статусами, клиентами, ценами, остатками, опциями, категориями, CRON и webhook-событиями, используйте расширенное решение. Подробный разбор есть в материале "Официальный модуль KeyCRM или расширенная интеграция".
Нужно ли подключение без риска для магазина?
Проверю совместимость OpenCart/ocStore 3.x, установлю модуль, настрою маппинг, CRON и webhook и проведу контрольные сценарии.