Ми не раз стикалися з ситуацією, коли клієнт запустив сайт на Wix, а бізнес-процеси вперлися в синхронізацію: ліди тонуть вручну, замовлення губляться, платіжний шлюз не стикується. Wix — закрита платформа: не можна додати довільний серверний код або змінити інфраструктуру. Інтеграції будуються через два механізми: Velo (колишній Corvid) — вбудоване JavaScript-середовище на базі Node.js, та Wix Headless API — REST/GraphQL API для роботи з даними ззовні. Wix надає всі необхідні інструменти для налаштування зв'язку з будь-яким зовнішнім сервісом: від простого вебхука до повноцінного headless-рішення. Ми налаштовуємо їх під ключ з гарантією стабільності та документацією. Більше 50 успішних інтеграцій Wix з CRM, платіжними системами та ERP підтверджують наш досвід.
Які проблеми вирішує інтеграція Wix із зовнішніми API?
- Втрата лідів — дані з форм не потрапляють до CRM, менеджери витрачають час на ручне введення.
- Розсинхронізація каталогу — товари на Wix Store не оновлюються разом з обліковою системою.
- Відсутність сповіщень — про нові замовлення або реєстрації ніхто не дізнається вчасно.
- Обмеження Velo — час виконання функцій до 14 секунд, не можна встановлювати будь-які npm-пакети.
- Складності з webhooks — верифікація підпису JWT, обробка помилок, повторні спроби.
Наш досвід дозволяє обійти ці граблі: ми зробили десятки інтеграцій для Wix-сайтів різного масштабу — від простих форм до двосторонньої синхронізації з ERP.
Як ми налаштовуємо інтеграцію Wix із зовнішнім сервісом?
Ми обираємо механізм під задачу. Нижче — порівняння основних підходів.
| Механізм | Коли використовувати | Потрібен код | Продуктивність | Складність |
|---|---|---|---|---|
| Velo (jsw) | Будь-яка кастомна логіка: обробка форм, синхронізація, виклик зовнішніх API. | Так (JavaScript) | Середня: 14 сек, 256 MB | Висока |
| Wix Automations | Прості сценарії: відправити дані при події, викликати Zapier. | Ні (zero-code) | Низька: немає обробки відповіді | Низька |
| Wix Headless API | Читання/запис даних сайту ззовні (CRM, ERP, мобільний додаток). | Так (будь-яка мова) | Висока: ліміт 1000 запитів/хв | Середня |
| Webhooks | Сповіщення зовнішньої системи про події (нове замовлення, контакт). | На стороні приймача | Висока: асинхронно | Середня |
Velo: серверний код всередині Wix
Згідно з документацією Wix, функції виконуються не довше 14 секунд. Velo дозволяє писати серверні функції (jsw-файли), які виконуються на серверах Wix і можуть звертатися до зовнішніх API. Ключі зберігаються в wix-secrets-backend — вбудованому сховищі, не в коді.
// backend/crmIntegration.jsw import { fetch } from 'wix-fetch'; import { getSecret } from 'wix-secrets-backend'; export async function syncContactToCRM(contactData) { const apiKey = await getSecret('CRM_API_KEY'); const response = await fetch('https://api.yourcrm.com/v1/contacts', { method: 'POST', headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ email: contactData.email, name: contactData.name, phone: contactData.phone, source: 'wix_website', }), }); if (!response.ok) { throw new Error(`CRM sync failed: ${response.status}`); } return response.json(); } Функції jsw викликаються з фронтенду через import:
// Клієнтський код сторінки import { syncContactToCRM } from 'backend/crmIntegration'; $w('#submitButton').onClick(async () => { try { await syncContactToCRM({ email: $w('#emailInput').value, name: $w('#nameInput').value, phone: $w('#phoneInput').value, }); $w('#successMessage').show(); } catch (err) { console.error('Sync error:', err); } }); Цей підхід ми рекомендуємо, коли потрібна повна гнучкість: обробка помилок, ретраї, трансформація даних. Velo в 3 рази швидше для кастомних сценаріїв, ніж Automations з HTTP-запитами, оскільки не потребує додаткових викликів.
Wix Automations + HTTP запити
Для простих сценаріїв без коду: Wix Automations (тригери на події форми, замовлення, реєстрації) підтримують дію «HTTP request». Дозволяє відправити POST/GET на зовнішній URL. Це zero-code варіант для відправлення в CRM, Zapier або n8n.
Обмеження: немає обробки відповіді, немає умовної логіки, немає повторних спроб при помилці. Якщо потрібна надійність — обирайте Velo.
Wix Headless API: робота з даними сайту ззовні
Wix надає REST API для доступу до колекцій даних, замовлень, контактів. Аутентифікація через OAuth 2.0:
# Отримання токена curl -X POST https://www.wixapis.com/oauth2/token \ -H "Content-Type: application/json" \ -d '{ "clientId": "YOUR_CLIENT_ID", "clientSecret": "YOUR_CLIENT_SECRET", "grantType": "client_credentials" }' // Читання колекції даних через API $response = Http::withToken($accessToken) ->post('https://www.wixapis.com/wix-data/v2/items/query', [ 'dataCollectionId' => 'Products', 'query' => [ 'filter' => ['active' => true], 'sort' => [['fieldName' => 'createdDate', 'order' => 'DESC']], 'paging' => ['limit' => 50], ], ]); $items = $response->json('dataItems'); Типовий кейс: зовнішня CRM або ERP читає замовлення з Wix для обробки, або записує дані в кастомні колекції сайту.
Webhooks з Wix
Wix підтримує вихідні вебхуки для подій: новий контакт, нове замовлення, зміна статусу замовлення. Налаштування в панелі розробника (Wix Developers → Webhooks). При настанні події Wix відправляє POST на вказаний URL.
Верифікація підпису — через JWT з публічним ключем Wix:
import { verify } from 'jsonwebtoken'; import jwksClient from 'jwks-rsa'; const client = jwksClient({ jwksUri: 'https://www.wix.com/.well-known/jwks.json', }); async function verifyWixWebhook(token) { const decoded = verify(token, async (header, cb) => { const key = await client.getSigningKey(header.kid); cb(null, key.getPublicKey()); }); return decoded; } Без верифікації можна отримати підроблені запити — ми завжди реалізуємо перевірку підпису.
Як уникнути втрати лідів при інтеграції Wix?
Головна причина — відсутність автоматичної передачі даних. Ліди залишаються в Wix, менеджери копіюють їх вручну. Рішення: налаштувати Velo-функцію, яка при відправленні форми передає дані в CRM. Додатково додаємо вебхук на новий контакт — якщо Velo не спрацював, дані йдуть через webhook. Це дає 99,9% гарантії потрапляння.
Чому Velo не завжди достатній?
Velo — потужний інструмент, але у нього є обмеження: час виконання 14 секунд, пам'ять 256 MB, відсутність зовнішніх модулів. Якщо потрібно обробити масовий імпорт або важку логіку, краще використовувати Wix Headless API: зовнішній сервіс сам читає дані з Wix і синхронізує їх. Наприклад, при синхронізації каталогу в 1000 товарів Velo може не вкластися в тайм-аут, а Headless API впорається за кілька запитів.
Процес роботи: від задачі до деплою
- Аналітика — розбираємо поточні бізнес-процеси, точки інтеграції, обсяг даних. Складаємо схему потоків.
- Проектування — обираємо механізм (Velo, Automations, Headless, webhook), продумуємо обробку помилок і квот.
- Реалізація — пишемо код, налаштовуємо секрети, тестуємо на пісочниці Wix.
- Тестування — перевіряємо сценарії: успіх, тайм-аут, дублікати, втрата з'єднання.
- Деплой — публікуємо сайт, моніторимо синхронізацію першу добу.
Середній термін: від 2 годин до 3 днів залежно від складності.
Що входить в нашу роботу
- Документація — опис налаштованої інтеграції, схема даних, інструкція для вашої команди.
- Код — jsw-функції, конфігурація webhook-приймача, приклади викликів.
- Доступи — створення та передача API-ключів, налаштування секретів у Wix.
- Навчання — коротка демонстрація роботи інтеграції для ваших менеджерів.
- Підтримка — 14 днів після запуску: виправляємо інциденти, відповідаємо на питання.
Типові помилки та рішення
| Помилка | Рішення |
|---|---|
| Зберігання ключів у коді | Використовуйте wix-secrets-backend |
| Ігнорування лімітів | Velo 14 сек, Headless API 1000 запитів/хв. Проектуйте із запасом. |
| Пропуск верифікації webhook | Без перевірки JWT зловмисник може імітувати Wix. |
| Синхронізація без ідемпотентності | Повторні запити створюють дублікати. Додайте перевірку за ID. |
Вартість та терміни
Вартість розраховується індивідуально після аналізу задачі. Орієнтир:
- Проста інтеграція (форма → CRM) — від 2 годин.
- Двостороння синхронізація каталогу — від 1 дня.
- Комплексне рішення з кількома сервісами — до 5 днів.
Ми гарантуємо стабільну роботу та своєчасний запуск. У нас за плечима більше 50 інтеграцій Wix з CRM, платіжними системами та маркетинговими платформами.
Зв'яжіться з нами — обговоримо вашу задачу та підберемо оптимальне рішення. Отримайте консультацію безкоштовно.







