موصل Brevo
موصل Brevo
اربط حساب Brevo الخاص بك بـ Tajo لإدارة موحدة لجهات الاتصال، والمراسلة الإجرائية عبر البريد الإلكتروني و SMS و WhatsApp، وأتمتة تسويق شاملة.
نظرة عامة
| الخاصية | القيمة |
|---|---|
| المنصة | Brevo |
| الفئة | التسويق |
| تعقيد الإعداد | سهل |
| تكامل رسمي | نعم |
| البيانات المتزامنة | جهات الاتصال، الحملات، الرسائل الإجرائية، الأحداث، التجارة الإلكترونية |
| عنوان API الأساسي | https://api.brevo.com/v3 |
الميزات
- مراسلة متعددة القنوات - أرسل البريد الإلكتروني الإجرائي و SMS و WhatsApp من API موحد
- إدارة جهات الاتصال - أنشئ وحدّث وقسّم جهات الاتصال بسمات مخصصة
- حملات التسويق - أنشئ وأرسل حملات البريد الإلكتروني برمجيًا
- تتبع الأحداث - تتبع الأحداث المخصصة ونشاط الموقع عبر Brevo Tracker
- مزامنة التجارة الإلكترونية - زامن المنتجات والطلبات وبيانات السلة للحملات المخصصة
- برامج الولاء - أدر اشتراكات الولاء والنقاط وبيانات الأعضاء
- دعم Webhook - إشعارات فورية للأحداث الإجرائية والتسويقية وأحداث CRM
- المحادثات - تكامل ودجت الدردشة الحية وإدارة الرسائل برمجيًا
المتطلبات المسبقة
قبل أن تبدأ، تأكد من توفر ما يلي:
- حساب Brevo (خطة Free أو Starter أو Business أو Enterprise)
- مفتاح API تم إنشاؤه من Brevo Settings > API Keys
- حساب Tajo مع وصول API
- نطاق مرسل مُوثَّق لإرسال البريد الإلكتروني
المصادقة
يدعم Brevo طريقتي مصادقة:
مصادقة مفتاح API (موصى بها)
أدرج مفتاح API الخاص بك في رأس api-key مع كل طلب. الأفضل لعمليات التكامل المباشرة والاتصال من خادم إلى خادم.
curl -X GET "https://api.brevo.com/v3/account" \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json"مصادقة OAuth 2.0
استخدم OAuth 2.0 لعمليات التكامل الخاصة داخل مؤسسة تتطلب وصولًا مُفَوَّضًا وأذونات خاصة بالمستخدم. يوفر OAuth نظامًا قائمًا على الرمز بفترات صلاحية محددة.
توفر OAuth
OAuth متاح حاليًا فقط لعمليات التكامل الخاصة داخل مؤسسة. عمليات تكامل OAuth غير مُخصصة للتوزيع العام أو إدراج السوق.
الإعداد
الإعداد الأساسي
connectors: brevo: enabled: true api_key: "${BREVO_API_KEY}" api_version: "v3"
# Data sync options sync: contacts: true campaigns: true transactional: true events: true ecommerce: true
# List assignment lists: all_customers: 5 newsletter: 6 buyers: 7ربط الحقول
اربط حقول بياناتك بسمات جهات اتصال Brevo:
التعيينات الافتراضية
| Parameter | Type | Description |
|---|---|---|
email required | string | عنوان البريد الإلكتروني لجهة الاتصال (معرف فريد) |
FIRSTNAME optional | string | سمة الاسم الأول لجهة الاتصال |
LASTNAME optional | string | سمة اسم العائلة لجهة الاتصال |
SMS optional | string | رقم الهاتف للمراسلة عبر SMS و WhatsApp |
OPT_IN optional | boolean | حالة موافقة الاشتراك التسويقي |
ORDER_COUNT optional | integer | إجمالي عدد الطلبات الموضوعة |
TOTAL_REVENUE optional | number | إيرادات جهة الاتصال مدى الحياة |
LOYALTY_POINTS optional | integer | رصيد نقاط برنامج الولاء الحالي |
ربط السمات المخصصة
field_mapping: # Standard fields email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS
# Marketing fields opt_in: OPT_IN signup_source: SIGNUP_SOURCE preferred_language: LANGUAGE
# eCommerce metrics orders_count: ORDER_COUNT total_spent: TOTAL_REVENUE last_order_date: LAST_ORDER_DATE
# Loyalty fields loyalty_tier: VIP_TIER loyalty_points: LOYALTY_POINTSنقاط نهاية API
نقاط النهاية الأساسية
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
POST | /v3/smtp/email | إرسال بريد إلكتروني إجرائي |
POST | /v3/transactionalSMS/send | إرسال SMS إجرائي |
POST | /v3/whatsapp/sendMessage | إرسال WhatsApp إجرائي |
POST | /v3/contacts | إنشاء جهة اتصال |
PUT | /v3/contacts/{email} | تحديث جهة اتصال |
GET | /v3/contacts/{identifier} | الحصول على تفاصيل جهة الاتصال |
POST | /v3/contacts/import | استيراد جهات اتصال مجمع |
نقاط نهاية التجارة الإلكترونية
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
POST | /v3/orders/status | إنشاء أو تحديث حالة الطلب |
POST | /v3/products | إنشاء أو تحديث المنتجات |
POST | /v3/categories | إنشاء أو تحديث فئات المنتجات |
POST | /v3/events | تتبع الأحداث المخصصة |
نقاط نهاية الحملات
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
POST | /v3/emailCampaigns | إنشاء حملة بريد إلكتروني |
POST | /v3/emailCampaigns/{id}/sendNow | إرسال حملة فورًا |
GET | /v3/emailCampaigns | عرض جميع حملات البريد الإلكتروني |
GET | /v3/smtp/statistics/events | الحصول على إحصائيات أحداث البريد الإلكتروني |
الأحداث
الأحداث الإجرائية
| الحدث | المشغل | حالة الاستخدام |
|---|---|---|
delivered | تم تسليم البريد الإلكتروني إلى البريد الوارد | تأكيد التسليم |
opened | فتح المستلم البريد الإلكتروني | تتبع التفاعل |
clicked | النقر على رابط في البريد الإلكتروني | تتبع النقر |
bounced | ارتد البريد الإلكتروني | نظافة القائمة |
spam | تم تمييزه كبريد عشوائي | مراقبة الامتثال |
unsubscribed | ألغى جهة الاتصال الاشتراك | إدارة التفضيلات |
أحداث التجارة الإلكترونية
| الحدث | المشغل | حالة الاستخدام |
|---|---|---|
order_completed | تم وضع الطلب بنجاح | تدفقات ما بعد الشراء |
cart_updated | تغير محتويات السلة | تتبع السلة المهجورة |
cart_deleted | تم تنظيف السلة أو انتهت | استعادة السلة |
product_viewed | تمت زيارة صفحة المنتج | هجر التصفح |
أمثلة البرمجة
تهيئة الموصل
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Brevo accountawait tajo.connectors.connect('brevo', { apiKey: process.env.BREVO_API_KEY});إرسال بريد إلكتروني إجرائي
// Send a transactional email via Brevoawait tajo.brevo.sendTransactionalEmail({ templateId: 12, params: { ORDER_ID: '12345', ORDER_TOTAL: '$59.99', DELIVERY_DATE: '2024-02-15' }});مزامنة جهات الاتصال
// Bulk import contacts to Brevoawait tajo.connectors.sync('brevo', { type: 'full', resources: ['contacts'], options: { listIds: [5, 6], updateExisting: true, emptyContactsAttributes: false }});
// Check sync statusconst status = await tajo.connectors.status('brevo');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// contactsSynced: 25400,// campaignsSent: 142,// eventsTracked: 89320// }تتبع الأحداث المخصصة
// Track a custom event for a contactawait tajo.brevo.trackEvent({ event: 'product_purchased', eventdata: { id: 'txn_98765', data: { product_name: 'Premium Widget', price: 49.99, currency: 'USD' } }});حدود المعدل
يفرض Brevo حدود معدل عبر ثلاث فئات بناءً على خطتك:
| نقطة النهاية | Free/Starter | Professional | Enterprise |
|---|---|---|---|
POST /v3/smtp/email | 1,000 RPS | 2,000 RPS | 6,000 RPS |
POST /v3/transactionalSMS/send | 150 RPS | 200 RPS | 250 RPS |
POST /v3/events | 10 RPS | 20 RPS | 60 RPS |
/v3/contacts/* | 10 RPS | 20 RPS | 60 RPS |
| جميع نقاط النهاية الأخرى | 100 RPH | 200 RPH | 600 RPH |
استجابة حد المعدل
عند تجاوز حد المعدل، يُرجع API رمز الحالة 429 Too Many Requests. راقب رؤوس حدود المعدل في الاستجابات لتتبع استخدامك.
استكشاف الأخطاء
المشكلات الشائعة
| المشكلة | السبب | الحل |
|---|---|---|
| 401 Unauthorized | مفتاح API غير صالح | أعد توليد مفتاح API في Brevo Settings |
| لم تُنشأ جهة الاتصال | حقل البريد الإلكتروني مفقود | تأكد من توفير البريد الإلكتروني لجميع جهات الاتصال |
| لم يُسلَّم البريد الإلكتروني | نطاق المرسل غير مُوثَّق | وثّق النطاق في إعدادات Brevo Senders |
| Webhook لم يُستلم | عنوان URL غير صحيح أو خطأ خادم | تحقق من إمكانية الوصول إلى عنوان webhook والسجلات |
| SMS لم يُرسل | تنسيق هاتف غير صالح | استخدم التنسيق الدولي برمز البلد |
وضع التصحيح
فعّل تسجيلًا مفصلاً:
connectors: brevo: debug: true log_level: verbose log_webhooks: trueاختبار الاتصال
tajo connectors test brevo# ✓ API connection successful# ✓ Contacts API accessible# ✓ Transactional email ready# ✓ SMS sending configured# ✓ Webhooks registeredأفضل الممارسات
- استخدم تدوير مفتاح API - دوّر مفاتيح API دوريًا للأمان
- نفّذ التحقق من webhook - تحقق من توقيعات webhook باستخدام مصادقة اسم المستخدم/كلمة المرور
- جمّع استيراد جهات الاتصال - استخدم الاستيراد المجمع لمجموعات البيانات الكبيرة بدلاً من استدعاءات API الفردية
- راقب حدود المعدل - تحقق من رؤوس حدود المعدل لتجنب أخطاء 429
- استخدم تتبع الأحداث - نفّذ Brevo Tracker لبيانات سلوك العملاء الشاملة
- اضبط مصادقة المرسل بشكل صحيح - اضبط SPF و DKIM و DMARC لقابلية التسليم المثلى
الأمان
- مصادقة مفتاح API - وصول قائم على الرمز السري عبر رأس
api-key - OAuth 2.0 - وصول مُفَوَّض قائم على الرمز لعمليات التكامل الخاصة
- التحقق من webhook - مصادقة اسم المستخدم وكلمة المرور لاستدعاءات webhook الآمنة
- تشفير TLS - جميع اتصالات API مشفرة أثناء النقل
- قائمة IPs البيضاء - قيود IP اختيارية متاحة في خطط Enterprise