Коннектор Shopify

Коннектор Shopify

Подключите магазин Shopify к Brevo для полной синхронизации данных о клиентах, восстановления брошенных корзин и автоматических маркетинговых кампаний.

Обзор

СвойствоЗначение
ПлатформаShopify
КатегорияE-commerce
Сложность настройкиПростая
Официальная интеграцияДа
Синхронизируемые данныеКлиенты, заказы, товары, корзины, события
Доступных скиллов12

Возможности

  • Синхронизация клиентов в реальном времени, данные клиентов мгновенно синхронизируются с контактами Brevo
  • Отслеживание заказов, события заказов для постпокупочных потоков
  • Синхронизация каталога товаров, товары доступны для рекомендаций
  • Брошенные корзины, отслеживание и восстановление брошенных корзин
  • Поведение при просмотре, отслеживание просмотров страниц и интереса к товарам
  • Поддержка нескольких магазинов, подключение нескольких магазинов Shopify

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть:

  1. Магазин Shopify с правами администратора
  2. Аккаунт Brevo с доступом к API
  3. Аккаунт Tajo

Установка

Вариант 1: Shopify App Store (рекомендуется)

  1. Перейдите на страницу Tajo в Shopify App Store
  2. Нажмите “Add app”
  3. Предоставьте запрошенные разрешения
  4. Подключите аккаунт Brevo

Вариант 2: Ручная установка

Шаг 1: Создание приложения Shopify

  1. Перейдите в Shopify admin → Settings → Apps and sales channels
  2. Нажмите “Develop apps” → “Create an app”
  3. Назовите приложение “Tajo Integration”

Шаг 2: Настройка API Scope

Включите следующие scope:

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

Шаг 3: Установка приложения

Terminal window
# Использование Tajo CLI
tajo connectors install shopify \
--shop-url your-store.myshopify.com \
--api-key $SHOPIFY_API_KEY \
--api-secret $SHOPIFY_API_SECRET

Шаг 4: Настройка вебхуков

Tajo автоматически регистрирует следующие вебхуки:

ВебхукНазначение
customers/createСинхронизация нового клиента
customers/updateИзменения данных клиента
customers/deleteУдаление клиента
orders/createСобытия оформления заказа
orders/updatedИзменения статуса заказа
checkouts/createСоздание корзины
checkouts/updateОбновление корзины

Конфигурация

Базовая настройка

connectors:
shopify:
enabled: true
shop_url: "your-store.myshopify.com"
api_version: "2024-01"
# Параметры синхронизации данных
sync:
customers: true
orders: true
products: true
carts: true
inventory: false # Опционально
# Назначение листов
lists:
all_customers: 5
buyers: 6
abandoned_cart: 7

Сопоставление полей

Сопоставьте поля Shopify с атрибутами контактов Brevo:

Сопоставления по умолчанию

Parameter Type Description
email required
string

Email клиента (уникальный идентификатор)

first_name optional
string

Сопоставляется с атрибутом FIRSTNAME

last_name optional
string

Сопоставляется с атрибутом LASTNAME

phone optional
string

Сопоставляется с атрибутом SMS для WhatsApp/SMS

accepts_marketing optional
boolean

Управляет статусом подписки

orders_count optional
integer

Общее количество заказов

total_spent optional
number

Пожизненная ценность клиента

tags optional
array

Теги клиента из Shopify

Сопоставление пользовательских атрибутов

field_mapping:
# Стандартные поля
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# Метрики электронной коммерции
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
last_order_date: LAST_ORDER_DATE
# Пользовательские поля
customer_type: CUSTOMER_TYPE
preferred_language: LANGUAGE
loyalty_tier: VIP_TIER
# Вычисляемые поля
average_order_value: AOV
days_since_last_order: RECENCY

Синхронизация товаров

Синхронизируйте товары для email-рекомендаций:

sync:
products:
enabled: true
include_variants: true
include_images: true
categories_as_tags: true
# Фильтрация товаров
filter:
status: active
exclude_tags: ["hidden", "wholesale-only"]

Отслеживание запасов

Включите синхронизацию уровней запасов:

sync:
inventory:
enabled: true
low_stock_threshold: 10
out_of_stock_events: true

События

События клиентов

СобытиеТриггерСценарий использования
customer_createdРегистрация нового клиентаПриветственная серия
customer_updatedИзменение профиляСинхронизация данных
customer_tags_addedНазначены тегиОбновление сегментов

События заказов

СобытиеТриггерСценарий использования
order_placedОформление заказаПодтверждение заказа
order_fulfilledОтправка заказаУведомление об отправке
order_cancelledОтмена заказаEmail об отмене
order_refundedВозврат средствПодтверждение возврата

События корзины

СобытиеТриггерСценарий использования
cart_createdДобавление товаров в корзинуОтслеживание просмотров
cart_updatedИзменение корзиныОтслеживание стоимости корзины
cart_abandonedНет оформления в течение 30 минутПисьма для восстановления

Доступные скиллы

Коннектор Shopify открывает следующие скиллы:

СкиллОписание
Синхронизация клиентовСинхронизация контактов в реальном времени
События заказовОтслеживание жизненного цикла заказа
Брошенная корзинаПисьма для восстановления корзины
Приветственная серияОнбординг новых клиентов
После покупкиFollow-up по заказу
Возврат клиентовПовторное вовлечение неактивных клиентов
Брошенный просмотрFollow-up по интересу к товару
Пополнение запасовНапоминания о повторном заказе

Примеры кода

Инициализация коннектора

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Подключение магазина Shopify
await tajo.connectors.connect('shopify', {
shopUrl: 'your-store.myshopify.com',
apiKey: process.env.SHOPIFY_API_KEY,
apiSecret: process.env.SHOPIFY_API_SECRET
});

Запуск начальной синхронизации

// Полная историческая синхронизация
await tajo.connectors.sync('shopify', {
type: 'full',
resources: ['customers', 'orders', 'products'],
since: '2023-01-01'
});
// Проверка статуса синхронизации
const status = await tajo.connectors.status('shopify');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersCount: 15420,
// ordersCount: 8234,
// productsCount: 342
// }

Отслеживание событий корзины

Добавьте скрипт Tajo в тему Shopify:

<!-- Добавьте в theme.liquid перед </head> -->
{% if customer %}
<script>
window.tajoConfig = {
customerId: "{{ customer.id }}",
customerEmail: "{{ customer.email }}",
customerName: "{{ customer.first_name }}"
};
</script>
{% endif %}
<script src="https://cdn.tajo.io/shopify.js"></script>

Пользовательский обработчик вебхуков

// Ручная обработка вебхуков Shopify
app.post('/webhooks/shopify', async (req, res) => {
const hmac = req.get('X-Shopify-Hmac-SHA256');
// Проверка подписи вебхука
if (!verifyShopifyWebhook(req.body, hmac)) {
return res.status(401).send('Unauthorized');
}
const topic = req.get('X-Shopify-Topic');
// Пересылка в Tajo
await tajo.connectors.handleWebhook('shopify', {
topic,
payload: req.body
});
res.status(200).send('OK');
});

Мониторинг

Метрики дашборда

Отслеживайте подключение Shopify в дашборде Tajo:

  • Статус синхронизации: Состояние подключения в реальном времени
  • Синхронизировано клиентов: Всего контактов из Shopify
  • Отслежено заказов: Обработанные события заказов
  • Восстановление корзин: Эффективность восстановления брошенных корзин
  • Частота ошибок: Неудачные попытки синхронизации

Логи вебхуков

Просмотр статуса доставки вебхуков:

Terminal window
tajo connectors logs shopify --type webhook --last 24h

История синхронизации

Просмотр исторических операций синхронизации:

Terminal window
tajo connectors history shopify --limit 10

Устранение неполадок

Частые проблемы

Ограничения скорости API

Shopify устанавливает ограничения API: 2 запроса/секунду. Используйте пакетную синхронизацию для крупных исторических импортов.

ПроблемаПричинаРешение
Вебхук не полученПрава приложенияПереустановите приложение с правильными scope
Клиент не синхронизированОтсутствует emailShopify требует email для клиентов
Товары отсутствуютСтатус товараПроверьте, что статус товара “active”
Корзина не отслеживаетсяСкрипт не загруженПроверьте скрипт в theme.liquid

Режим отладки

connectors:
shopify:
debug: true
log_level: verbose
log_webhooks: true

Проверка подключения

Terminal window
tajo connectors test shopify
# ✓ API connection successful
# ✓ Webhooks registered
# ✓ Products accessible
# ✓ Customers readable
# ✓ Orders readable

Лучшие практики

  1. Начинайте с тестового магазина, сначала используйте магазин для разработки
  2. Запускайте начальную синхронизацию в нерабочее время, крупные синхронизации могут занимать много времени
  3. Сопоставляйте пользовательские атрибуты, не полагайтесь только на стандартные сопоставления
  4. Включайте отслеживание корзины, критично для восстановления брошенных корзин
  5. Следите за состоянием вебхуков, настройте оповещения о неудачных доставках
  6. Используйте пакетные импорты, для исторических данных свыше 10 000 записей

Безопасность

  • OAuth 2.0, безопасная аутентификация на основе токенов
  • Верификация вебхуков, валидация HMAC-подписи
  • Шифрованное хранение, API-учётные данные зашифрованы при хранении
  • Ограниченный доступ, только минимально необходимые права

Связанные ресурсы

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI-ассистент

Привет! Спрашивайте меня о документации.

Начните бесплатно с Brevo