---
title: "Ръководство за интеграция с Shopify | Tajo"
description: "Как Tajo свързва Shopify магазин с Brevo: синхронизацията чрез webhooks на приложението за Shopify, правилата за синхронизация, които агент изгражда и човек одобрява, и MCP инструментите за Shopify."
url: https://tajo.io/bg/docs/ecommerce-platforms/shopify/
markdown: https://tajo.io/bg/docs/ecommerce-platforms/shopify.md
lang: bg-BG
author: "Set Noa"
author_url: https://tajo.io/bg/set-noa/
robots: noindex
---

Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

# Ръководство за интеграция с Shopify

[Set Noa](https://tajo.io/bg/set-noa/)

Tajo свързва Shopify с Brevo на две места. Приложението Tajo за Shopify превръща webhooks на Shopify в записи в Brevo в момента на пристигането им. Правилата за синхронизация, които агент изгражда и човек одобрява, прехвърлят записи в Brevo по график. Тази страница описва и двете, а след това инструментите за Shopify, които Tajo предоставя през MCP.

## Предварителни изисквания

Преди да започнете интеграцията, уверете се, че разполагате със:

- **Shopify магазин** на който и да е план (Basic, Shopify, Advanced или Plus)
- **Акаунт в Tajo** (Tajo е в ранен достъп)
- **Акаунт в Brevo**, дестинацията на синхронизацията
- **Администраторски достъп** до Вашия Shopify магазин

## Стъпка 1: Свържете Вашия Shopify магазин

Tajo е в ранен достъп. Приложението за Shopify не е публикувано в Shopify App Store и няма връзка за самостоятелно инсталиране. [Свържете се с екипа](https://tajo.io/bg/contact), за да го настроите. Когато работното Ви пространство в Tajo е готово:

1. В Tajo отворете **Connections**.
2. Въведете домейна myshopify.com на Вашия магазин и изберете **Connect Shopify**. Shopify показва обхватите, които Tajo изисква, и Ви връща в Tajo, когато ги одобрите.
3. Вижте за какво служи всеки обхват и какво Tajo записва обратно в Shopify в [обяснение на разрешенията на Shopify](https://tajo.io/bg/resources/help/integrations/shopify-permissions-explained/).

## Стъпка 2: Какво изпраща приложението Tajo за Shopify към Brevo

Приложението проверява всеки webhook на Shopify, съхранява го, поставя го в опашка и веднага го обработва. Темите за клиенти и продукти първо изчакват около четири секунди. Няма прозорец за пакетна обработка. Неуспешна задача се опитва отново с нарастващо забавяне.

### Теми на webhooks

Приложението Tajo за Shopify се абонира за тези теми на Shopify webhooks:

| Теми на webhooks | Цел |
| --- | --- |
| `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` | Жизнен цикъл на приложението |

Задължителните webhooks на Shopify за поверителност (заявка за клиентски данни, изтриване на клиентски данни, изтриване на данни на магазина) също се обработват. Приложението не се абонира за `carts/*`. Изоставените колички идват от темите `checkouts/*`.

Какво пристига в Brevo:

| Събитие в Shopify | В Brevo |
| --- | --- |
| Създаден или обновен клиент | Контактът се създава или обновява с име, имейл и маркетингово съгласие. При платените планове приложението добавя тагове, брой поръчки, похарчена сума и последна поръчка. |
| Изтрит клиент | Абонаментът на контакта се прекратява, контактът не се изтрива |
| Създадена, обновена, платена, изпълнена или отменена поръчка | Поръчката през API за поръчки на Brevo и събитията `order_paid`, `order_completed` и `order_cancelled` |
| Създадено възстановяване на сума | Събитието `order_refunded`. Ако провеждате програма за лоялност на Brevo чрез Tajo, точките се отнемат пропорционално. |
| Платена поръчка при програма за лоялност на Brevo | Точки, начислени според Вашата ставка точки за долар |
| Създадено или обновено плащане с имейл и артикули | Събитията `cart_updated` и `cart_abandoned`. Вашата автоматизация в Brevo решава кога да изпрати съобщение. |
| Създаден, обновен или изтрит продукт или колекция | Продуктовият каталог и категориите в Brevo |
| Обновено ниво на наличност | Наличността на продукта в каталога на Brevo. Когато даден вариант премине от 0 към повече от 0, всеки купувач, който е поискал известие, получава събитие `back_in_stock`, веднъж при всяко зареждане. |

Приложението не добавя бутон „Notify me“ към Вашата тема. Заявката за известие при наличност трябва да идва от Вашия онлайн магазин, например от бутон, който добавите.

### Съществуващи данни

При инсталиране приложението импортира съществуващите Ви клиенти като контакти в Brevo. Пълна историческа синхронизация се стартира от страницата за синхронизация на приложението. При платените планове тя импортира също продукти, колекции, компании и поръчки.

## Стъпка 3: Изградете правило за синхронизация с агента

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

1. В Tajo отворете **Agents** и поискайте синхронизацията от **Brevo Integration Architect** с обикновени думи. Например: „Изпращай клиентите от Shopify, които са приели имейл маркетинг, в Brevo като контакти.“
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**.

Редактирането на публикувано правило го връща в чернова. То отново минава през преглед и одобрение, преди да се изпълни пак.

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

Това е шаблонът **Shopify customers -> Brevo contacts**, както Tajo го дефинира:

```ts
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 извлича двете стойности от `email_marketing_consent.state` на Shopify или от по-стария флаг `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 обхвата и прави кратък списък от записи в Shopify, например откази от съгласие и тагове за лоялност. [Обяснение на разрешенията на Shopify](https://tajo.io/bg/resources/help/integrations/shopify-permissions-explained/) изброява всеки обхват и всеки запис заедно с това, което го задейства.

Агентите и MCP хостовете достъпват магазина чрез конектора за Shopify:

| Четене | Записване |
| --- | --- |
| Данни за магазина, клиенти (списък и търсене), поръчки, продукти, метаполета на клиенти, нива на наличност, статус на масов експорт | Метаполета и тагове на клиенти, както и стартиране на масов експорт. Всеки запис се подготвя като предложение и се изпълнява едва след като бъде одобрен. |

Конекторът декларира и корекция на наличността. Тя изисква обхвата `write_inventory`, който приложението Tajo за Shopify не изисква.

## Стъпка 4: Използвайте инструментите за Shopify през MCP

Tajo предоставя конектора за Shopify като MCP сървър на `https://alto.tajo.io/mcp/connectors/shopify`. Добавете го към Claude Code:

```bash
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` | Изпълнява одобрено предложение |

## Отстраняване на проблеми

- Контактите не се появяват в Brevo: вижте [липсващи контакти в Brevo](https://tajo.io/bg/resources/help/troubleshooting/contacts-missing-in-brevo/).
- Правило, което не се изпълнява или е спряло само: вижте [данните не се синхронизират](https://tajo.io/bg/resources/help/troubleshooting/data-not-syncing/).

## Следващи стъпки

- [Разбиране на синхронизацията на данни](https://tajo.io/bg/resources/help/getting-started/understanding-data-sync/), как работят правилата за синхронизация
- [Обяснение на разрешенията на Shopify](https://tajo.io/bg/resources/help/integrations/shopify-permissions-explained/), всеки обхват и всеки запис
- [Shopify + Brevo](https://tajo.io/bg/docs/integrations/shopify-brevo), ръководството за интеграцията
- [Свържете се с екипа](https://tajo.io/bg/contact), за да го настроите
