Ми не раз стикалися з ситуацією, коли клієнт запустив сайт на 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, платіжними системами та маркетинговими платформами.
Зв'яжіться з нами — обговоримо вашу задачу та підберемо оптимальне рішення. Отримайте консультацію безкоштовно.







