Подайте заявку на ранний доступ

Укажите имя и рабочий адрес электронной почты. Мы отправим ссылку для подтверждения запроса на доступ к Tajo.

Руководство по интеграции с Shopify

Tajo соединяет Shopify с Brevo в двух местах. Приложение Tajo для Shopify превращает вебхуки Shopify в записи в Brevo по мере их поступления. Правила синхронизации, которые строит агент и одобряет человек, переносят записи в Brevo по расписанию. На этой странице описано и то и другое, а затем инструменты Shopify, которые Tajo предоставляет через MCP.

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

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

  • Магазин Shopify на любом тарифе (Basic, Shopify, Advanced или Plus)
  • Аккаунт Tajo (Tajo находится в раннем доступе)
  • Аккаунт Brevo, получатель синхронизации
  • Права администратора в вашем магазине Shopify

Шаг 1: подключите магазин Shopify

Tajo находится в раннем доступе. Приложение Shopify не опубликовано в Shopify App Store, и ссылки для самостоятельной установки нет. Свяжитесь с командой, чтобы вас подключили. Когда рабочее пространство Tajo будет готово:

  1. В Tajo откройте Connections.
  2. Введите домен магазина на myshopify.com и выберите Connect Shopify. Shopify покажет scopes, которые запрашивает Tajo, и вернёт вас в Tajo, когда вы их одобрите.
  3. Для чего нужен каждый scope и что Tajo записывает обратно в Shopify, описано в статье о разрешениях Shopify.

Шаг 2: что приложение Tajo для Shopify отправляет в Brevo

Приложение проверяет каждый вебхук Shopify, сохраняет его, ставит в очередь и сразу обрабатывает. Темы клиентов и товаров сначала ждут около четырёх секунд. Пакетного окна нет. Неудачное задание повторяется с нарастающей задержкой (backoff).

Темы вебхуков

Приложение Tajo для Shopify подписывается на такие темы вебхуков Shopify:

Темы вебхуковНазначение
customers/create, customers/update, customers/deleteПоддерживают контакты Brevo в актуальном состоянии
orders/create, orders/updated, orders/fulfilled, orders/cancelledСобытия заказов и метрики заказов для Brevo
orders/paid, refunds/createНачисление и списание баллов лояльности
checkouts/create, checkouts/updateВозврат брошенных оформлений заказа в Brevo
products/create, products/update, products/deleteПоддерживают каталог товаров в Brevo в актуальном состоянии
inventory_levels/updateПоддерживает остатки товаров в Brevo в актуальном состоянии
collections/create, collections/update, collections/deleteПоддерживают коллекции в актуальном состоянии
companies/*, company_contacts/*, company_locations/* (create, update, delete)Синхронизация B2B-компаний
app/uninstalled, app/scopes_update, app_subscriptions/updateЖизненный цикл приложения

Обязательные вебхуки Shopify о конфиденциальности (запрос данных клиента, удаление данных клиента, удаление данных магазина) тоже обрабатываются. Приложение не подписывается на carts/*. Брошенные корзины приходят из тем checkouts/*.

Что попадает в Brevo:

Событие ShopifyВ Brevo
Клиент создан или обновлёнКонтакт создаётся или обновляется с именем, email и согласием на маркетинг. На платных тарифах приложение добавляет теги, число заказов, сумму покупок и последний заказ.
Клиент удалёнКонтакт отписывается, а не удаляется
Заказ создан, обновлён, оплачен, выполнен или отменёнЗаказ через API заказов Brevo, а также события order_paid, order_completed и order_cancelled
Создан возвратСобытие order_refunded. Если вы ведёте программу лояльности Brevo через Tajo, баллы списываются пропорционально.
Заказ оплачен, при наличии программы лояльности BrevoБаллы начисляются по вашей ставке баллов за доллар
Оформление заказа создано или обновлено, с email и товарамиСобытия cart_updated и cart_abandoned. Когда отправлять сообщение, решает ваша автоматизация в Brevo.
Товар или коллекция созданы, обновлены или удаленыКаталог товаров и категории Brevo
Обновлён уровень запасовОстаток товара в каталоге Brevo. Когда остаток варианта меняется с 0 на больше 0, каждый покупатель, который попросил уведомить его, получает событие back_in_stock, один раз на каждое пополнение.

Приложение не добавляет кнопку «Notify me» в вашу тему. Запрос на уведомление о поступлении должен приходить с вашей витрины, например с кнопки, которую вы добавите.

Существующие данные

При установке приложение импортирует существующих клиентов как контакты Brevo. Полная историческая синхронизация запускается со страницы синхронизации в приложении. На платных тарифах она также импортирует товары, коллекции, компании и заказы.

Шаг 3: создайте правило синхронизации с помощью агента

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

  1. В Tajo откройте Agents и опишите Brevo Integration Architect нужную синхронизацию обычным языком. Например: «Отправляй в Brevo как контакты тех клиентов Shopify, которые согласились на email-маркетинг».
  2. Агент изучает коннектор Shopify. Его выборка возвращает названия и типы полей, но никогда не возвращает значения данных клиентов.
  3. Он предлагает правило с сопоставлением полей и фильтром, затем проверяет сопоставление полей на соответствие действию Brevo и выполняет пробный прогон черновика. Ни один из этих шагов не читает записи клиентов.
  4. Он сохраняет правило как черновик. Можно также начать с шаблона в разделе Connections > Syncs and mappings > New sync from template.
  5. Request publish approval запускает предварительный просмотр на данных вашего магазина. Он читает не более 10 записей, ничего не записывает в Brevo и не сдвигает курсор. Он фиксирует только счётчики: полученные записи, подходящие, сопоставленные и отклонённые фильтром, а также ошибки сопоставления. Если предварительный просмотр завершается ошибкой, запрос на одобрение не создаётся.
  6. Человек одобряет запрос на странице Approvals с письменным обоснованием. Одобрение привязано к дайджесту SHA-256 правила и истекает через 30 минут. После этого на странице правила появляется кнопка Publish approved version.

Редактирование опубликованного правила возвращает его в черновик. Прежде чем снова запуститься, оно опять проходит предварительный просмотр и одобрение.

Реальное правило

Так Tajo определяет шаблон Shopify customers -> Brevo contacts:

sourceSlug: "shopify",
sourceResource: "customers",
destinationSlug: "brevo",
destinationAction: "upsert_contact",
fieldMap: [
{ source: "email", destination: "email", transform: "toLowerCase" },
{ source: "first_name", destination: "attributes.FIRSTNAME" },
{ source: "last_name", destination: "attributes.LASTNAME" },
{ source: "phone", destination: "attributes.PHONE" },
{ source: "total_spent", destination: "attributes.TOTAL_SPENT", transform: "toNumber" },
{ source: "orders_count", destination: "attributes.ORDERS_COUNT", transform: "toNumber" },
{ source: "tajo_email_marketing_consent", destination: "attributes.OPT_IN", transform: "toBoolean" },
{ source: "tags", destination: "attributes.SHOPIFY_TAGS" },
{ source: "id", destination: "attributes.SHOPIFY_ID", transform: "toString" },
{ source: "created_at", destination: "attributes.SHOPIFY_CREATED_AT" },
{ source: "updated_at", destination: "attributes.SHOPIFY_UPDATED_AT" },
],
filterExpression:
"($json.tajo_email_marketing_consent === true) && ($json.tajo_email_suppressed === false)",

Фильтр и есть проверка согласия. Оба значения Tajo выводит из поля Shopify email_marketing_consent.state или из более старого флага accepts_marketing. Правило, которое записывает контакты в Brevo, нельзя опубликовать без этого фильтра. Другой шаблон Shopify, Shopify orders → Brevo orders, фиксирует в Brevo заказы покупателей, которые согласились на маркетинг при оформлении заказа.

Когда выполняется правило

  • Правила синхронизации контактов по умолчанию запускаются каждые 15 минут. Каждый запуск начинается с курсора правила.
  • На странице активного правила есть кнопка Test run (1 batch).
  • Активное опубликованное правило Shopify orders → Brevo orders тоже запускается каждые 15 минут. Первый запуск по расписанию начинается за несколько минут до этого момента и не отправляет более ранние заказы. Каждый следующий запуск отправляет заказы, обновлённые после предыдущего.
  • Прошлые заказы попадают в Brevo, только когда вы запускаете правило сами: кнопкой Test run (1 batch) или попросив агента Sync Operator его запустить.
  • По расписанию правило для заказов запускается, только если в нём стоит фильтр согласия покупателя на маркетинг из шаблона. Правило с отредактированным фильтром выполняется, только когда вы сами его запускаете.
  • После пяти неудачных запусков подряд правило само приостанавливается, а на его странице отображается последняя ошибка. Устраните причину и опубликуйте правило снова.

Каждый запуск отображается в истории запусков правила с числом прочитанных, записанных и ошибочных записей, а также с длительностью.

Что коннектор Shopify читает и записывает

Правила синхронизации записывают только в получатель, в данном случае в Brevo. В Shopify они никогда не записывают.

Приложение Tajo для Shopify запрашивает 12 scopes и выполняет короткий список записей в Shopify, например отзыв согласия и теги лояльности. В статье о разрешениях Shopify перечислены все scopes и все записи, а также то, что их запускает.

Агенты и MCP-хосты обращаются к магазину через коннектор Shopify:

ЧтениеЗапись
Данные магазина, клиенты (список и поиск), заказы, товары, метаполя клиентов, уровни запасов, статус массовой выгрузкиМетаполя и теги клиентов, а также запуск массовой выгрузки. Каждая запись оформляется как предложение и выполняется только после одобрения.

Коннектор также объявляет корректировку запасов. Для неё нужен scope write_inventory, который приложение Tajo для Shopify не запрашивает.

Шаг 4: используйте инструменты Shopify через MCP

Tajo предоставляет коннектор Shopify как MCP-сервер по адресу https://alto.tajo.io/mcp/connectors/shopify. Добавьте его в Claude Code:

Terminal window
claude mcp add --transport http tajo-shopify https://alto.tajo.io/mcp/connectors/shopify

Хост находит OAuth-сервер Tajo и открывает вход в Tajo. Доступ есть только у аккаунтов раннего доступа. Сервер предоставляет 12 инструментов:

ИнструментЧто он делает
preview_tajo_shopify_appИнтерактивный предварительный просмотр приложения Tajo для Shopify в виде MCP UI
get_shopДанные магазина
search_customersПоиск клиентов с синтаксисом запросов Shopify, например tag:tajo-vip или total_spent:>100
list_customersСписок клиентов с постраничной выдачей
list_ordersСписок заказов с постраничной выдачей
list_productsСписок товаров с вариантами, изображениями и запасами
get_customer_metafieldsЧтение метаполей клиента
get_inventory_levelsЧтение запасов варианта по всем локациям
poll_bulk_exportПроверка массовой выгрузки и получение ссылки на скачивание после её завершения
calculate_rewards_profileРасчёт уровня, баллов и баланса вознаграждений клиента по синхронизированным торговым данным
shopify_proposeОформление одной записи в Shopify как предложения. Ничего не отправляется.
shopify_applyВыполнение одобренного предложения

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

Дальнейшие шаги

Подайте заявку на ранний доступ

Укажите имя и рабочий адрес электронной почты. Мы отправим ссылку для подтверждения запроса на доступ к Tajo.

AI-ассистент

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

Эта страница в Markdown: shopify.md

Загрузка Markdown…
Открыть в Claude Открыть в ChatGPT