---
title: "موصل Shopify"
description: "دليل التكامل الكامل لـ Shopify لمزامنة العملاء والطلبات والمنتجات وأحداث سلة الشراء مع Brevo."
url: https://tajo.io/ar/docs/connectors/ecommerce/shopify/
markdown: https://tajo.io/ar/docs/connectors/ecommerce/shopify.md
lang: ar-SA
robots: noindex
---

اطلب الوصول المبكر

أدخل اسمك الأول وعنوان بريدك الإلكتروني للعمل. سنرسل إليك رابطًا لتأكيد طلب الوصول إلى Tajo.

# موصل Shopify

حالة الموصل: قيد التطوير قيد البناء. لم يتم التحقق منه بعد.

| حقل المصدر | حقل الوجهة | قيمة نموذجية |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

اربط متجر Shopify الخاص بك بـ Brevo لمزامنة كاملة لبيانات العملاء، واستعادة السلال المهجورة، والحملات التسويقية الآلية.

## نظرة عامة

| الخاصية | القيمة |
| --- | --- |
| **المنصة** | Shopify |
| **الفئة** | التجارة الإلكترونية |
| **تعقيد الإعداد** | سهل |
| **تكامل رسمي** | لا |
| **البيانات المتزامنة** | العملاء، الطلبات، المنتجات، السلال، الأحداث |
| **المهارات المتاحة** | 12 |

## الميزات

- **مزامنة العملاء في الوقت الفعلي** - تُزامن بيانات العملاء فورًا إلى جهات اتصال Brevo
- **تتبع الطلبات** - أحداث الطلبات لتدفقات ما بعد الشراء
- **مزامنة كتالوج المنتجات** - منتجات متاحة للتوصيات
- **هجر سلة الشراء** - تتبع واستعادة السلال المهجورة
- **سلوك التصفح** - تتبع مشاهدة الصفحات واهتمام المنتجات
- **دعم متعدد المتاجر** - اربط متاجر Shopify متعددة

## المتطلبات المسبقة

قبل أن تبدأ، تأكد من توفر ما يلي:

1. متجر Shopify مع صلاحيات مسؤول
2. حساب Brevo مع وصول API
3. حساب Tajo

## التثبيت

### الخيار 1: Shopify App Store (موصى به)

1. قم بزيارة [تطبيق Tajo في Shopify App Store](https://apps.shopify.com/tajo)
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

فعّل هذه النطاقات:

```
read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags
```

#### الخطوة 3: تثبيت التطبيق

```bash
# Using Tajo CLI
tajo connectors install shopify \
  --shop-url your-store.myshopify.com \
  --api-key $SHOPIFY_API_KEY \
  --api-secret $SHOPIFY_API_SECRET
```

#### الخطوة 4: ضبط Webhooks

يسجل Tajo هذه webhooks تلقائيًا:

| Webhook | الغرض |
| --- | --- |
| `customers/create` | مزامنة عميل جديد |
| `customers/update` | تغييرات بيانات العميل |
| `customers/delete` | إزالة العميل |
| `orders/create` | أحداث إنشاء الطلب |
| `orders/updated` | تغييرات حالة الطلب |
| `checkouts/create` | إنشاء سلة |
| `checkouts/update` | تحديث السلة |

## الإعداد

### الإعداد الأساسي

```yaml
connectors:
  shopify:
    enabled: true
    shop_url: "your-store.myshopify.com"
    api_version: "2024-01"

    # Data sync options
    sync:
      customers: true
      orders: true
      products: true
      carts: true
      inventory: false  # Optional

    # List assignment
    lists:
      all_customers: 5
      buyers: 6
      abandoned_cart: 7
```

### ربط الحقول

اربط حقول Shopify بسمات جهات اتصال Brevo:

#### التعيينات الافتراضية

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | بريد العميل الإلكتروني (معرف فريد) |
| `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 |

#### ربط السمات المخصصة

```yaml
field_mapping:
  # Standard fields
  email: email
  first_name: FIRSTNAME
  last_name: LASTNAME
  phone: SMS

  # E-commerce metrics
  orders_count: ORDER_COUNT
  total_spent: TOTAL_SPENT
  last_order_date: LAST_ORDER_DATE

  # Custom fields
  customer_type: CUSTOMER_TYPE
  preferred_language: LANGUAGE
  loyalty_tier: VIP_TIER

  # Computed fields
  average_order_value: AOV
  days_since_last_order: RECENCY
```

### مزامنة المنتجات

زامن المنتجات لتوصيات البريد الإلكتروني:

```yaml
sync:
  products:
    enabled: true
    include_variants: true
    include_images: true
    categories_as_tags: true

    # Filter products
    filter:
      status: active
      exclude_tags: ["hidden", "wholesale-only"]
```

### تتبع المخزون

فعّل مزامنة مستوى المخزون:

```yaml
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` | إلغاء الطلب | بريد إلكتروني للإلغاء |
| `order_refunded` | معالجة استرداد | تأكيد الاسترداد |

### أحداث السلة

| الحدث | المشغل | حالة الاستخدام |
| --- | --- | --- |
| `cart_created` | إضافة عناصر إلى السلة | تتبع التصفح |
| `cart_updated` | تعديل السلة | تتبع قيمة السلة |
| `cart_abandoned` | لا دفع خلال 30 دقيقة | رسائل الاستعادة |

## المهارات الممكَّنة

يُمكّن موصل Shopify هذه المهارات:

| المهارة | الوصف |
| --- | --- |
| [مزامنة العملاء](https://tajo.io/ar/docs/skills/data-sync/customer-sync) | مزامنة العملاء في الوقت الفعلي |
| أحداث الطلبات | تتبع دورة حياة الطلب |
| [السلة المهجورة](https://tajo.io/ar/docs/skills/email-marketing/abandoned-cart) | رسائل استعادة السلة |
| سلسلة الترحيب | تأهيل العملاء الجدد |
| ما بعد الشراء | متابعة الطلب |
| استعادة العملاء | إعادة تفاعل العملاء غير النشطين |
| هجر التصفح | متابعة اهتمام المنتج |
| إعادة التعبئة | تذكيرات إعادة الطلب |

## أمثلة البرمجة

### تهيئة الموصل

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Shopify store
await tajo.connectors.connect('shopify', {
  shopUrl: 'your-store.myshopify.com',
  apiKey: process.env.SHOPIFY_API_KEY,
  apiSecret: process.env.SHOPIFY_API_SECRET
});
```

### تشغيل المزامنة الأولية

```javascript
// Full historical sync
await tajo.connectors.sync('shopify', {
  type: 'full',
  resources: ['customers', 'orders', 'products'],
  since: '2023-01-01'
});

// Check sync status
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 الخاص بك:

```liquid
<!-- Add to theme.liquid before </head> -->
{% if customer %}
<script>
  window.tajoConfig = {
    customerId: "{{ customer.id }}",
    customerEmail: "{{ customer.email }}",
    customerName: "{{ customer.first_name }}"
  };
</script>
{% endif %}
<script src="https://cdn.example.com/shopify.js"></script>
```

Caution

عنوان `example.com` أعلاه عنوان مؤقت إلى أن تصبح نقطة نهاية Tajo متاحة.

### معالج Webhook مخصص

```javascript
// Handle Shopify webhooks manually
app.post('/webhooks/shopify', async (req, res) => {
  const hmac = req.get('X-Shopify-Hmac-SHA256');

  // Verify webhook signature
  if (!verifyShopifyWebhook(req.body, hmac)) {
    return res.status(401).send('Unauthorized');
  }

  const topic = req.get('X-Shopify-Topic');

  // Forward to Tajo
  await tajo.connectors.handleWebhook('shopify', {
    topic,
    payload: req.body
  });

  res.status(200).send('OK');
});
```

## المراقبة

### مقاييس لوحة التحكم

راقب اتصال Shopify الخاص بك في لوحة تحكم Tajo:

- **حالة المزامنة**: صحة الاتصال في الوقت الفعلي
- **العملاء المُزامنون**: إجمالي جهات الاتصال من Shopify
- **الطلبات المتتبعة**: أحداث الطلبات المعالجة
- **استعادة السلة**: أداء السلة المهجورة
- **معدل الأخطاء**: محاولات المزامنة الفاشلة

### سجلات Webhook

اعرض حالة تسليم webhook:

```bash
tajo connectors logs shopify --type webhook --last 24h
```

### تاريخ المزامنة

تحقق من عمليات المزامنة التاريخية:

```bash
tajo connectors history shopify --limit 10
```

## استكشاف الأخطاء

### المشكلات الشائعة

حدود معدل API

يمتلك Shopify حدود معدل API من 2 طلب/ثانية. استخدم مزامنة الدُفعات للواردات التاريخية الكبيرة.

| المشكلة | السبب | الحل |
| --- | --- | --- |
| Webhook لم يُستلم | أذونات التطبيق | أعد تثبيت التطبيق بالنطاقات الصحيحة |
| العميل لم يُزامن | بريد إلكتروني مفقود | يتطلب Shopify بريدًا إلكترونيًا للعملاء |
| منتجات مفقودة | حالة المنتج | تحقق من أن المنتج بحالة “active” |
| السلة لا تُتبع | السكربت لم يُحمَّل | تحقق من السكربت في theme.liquid |

### وضع التصحيح

فعّل تسجيلًا مفصلاً:

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

### اختبار الاتصال

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

## أفضل الممارسات

1. **ابدأ بمتجر تجريبي** - استخدم متجر تطوير أولاً
2. **شغّل المزامنة الأولية خارج ساعات العمل** - المزامنات الكبيرة قد تكون بطيئة
3. **اربط السمات المخصصة** - لا تعتمد على التعيينات الافتراضية فقط
4. **فعّل تتبع السلة** - مهم لاستعادة السلال المهجورة
5. **راقب صحة webhook** - أعدّ تنبيهات للتسليمات الفاشلة
6. **استخدم الواردات المجمعة** - للبيانات التاريخية التي تتجاوز 10,000 سجل

## الأمان

- **OAuth 2.0** - مصادقة آمنة قائمة على الرمز
- **التحقق من webhook** - التحقق من توقيع HMAC
- **التخزين المشفر** - بيانات اعتماد API مشفرة في حالة السكون
- **وصول محدد النطاق** - الحد الأدنى من الأذونات المطلوبة فقط

## موارد ذات صلة

- [موصل WooCommerce](https://tajo.io/ar/docs/connectors/ecommerce/woocommerce)
- [مهارة مزامنة العملاء](https://tajo.io/ar/docs/skills/data-sync/customer-sync)
- [مهارة السلة المهجورة](https://tajo.io/ar/docs/skills/email-marketing/abandoned-cart)
- [Brevo Contacts API](https://tajo.io/ar/docs/contact-management)
