Підключити 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 | Ключ недійсний, відкликаний або передається без Bearer-авторизації. |
| Помилка 429 | Перевищено ліміт API; зменште частоту запитів і використайте чергу. |
| Залишок не оновлюється | SKU товару/опції, напрямок синхронізації, склад, резерв і CRON. |
| З'являються дублікати | Зв'язок за UUID/ID джерела та повторну обробку однієї події. |
Офіційний чи розширений модуль
Для простого передавання нових замовлень почніть зі штатного конектора KeyCRM. Якщо потрібна робота з каталогом, двосторонніми статусами, клієнтами, цінами, залишками, опціями, категоріями, CRON і webhook-подіями, використовуйте розширене рішення. Детальний розбір є у матеріалі «Офіційний модуль KeyCRM чи розширена інтеграція».
Потрібне підключення без ризику для магазину?
Перевірю сумісність OpenCart/ocStore 3.x, встановлю модуль, налаштую мапінг, CRON і webhook та проведу контрольні сценарії.