موصل Freshdesk

اربط Freshdesk بـ Brevo من خلال Tajo لتوحيد بيانات الدعم والتسويق. زامن تذاكر دعم العملاء، وملفات جهات الاتصال، ودرجات الرضا لتشغيل اتصالات مستهدفة بناءً على تفاعلات الدعم.

نظرة عامة

الخاصيةالقيمة
المنصةFreshdesk
الفئةالدعم
تعقيد الإعدادسهل
تكامل رسميلا
البيانات المُزامَنةتذاكر، جهات اتصال، وكلاء، شركات
المهارات المتاحة6

الميزات

  • مزامنة جهات الاتصال - مزامنة ثنائية الاتجاه لجهات اتصال Freshdesk مع قوائم جهات اتصال Brevo
  • تتبع أحداث التذاكر - إعادة توجيه أحداث إنشاء التذاكر وتحديثها وحلها إلى Brevo
  • مزامنة CSAT - مزامنة درجات رضا العملاء كسمات جهات اتصال Brevo
  • مزامنة الشركات - ربط شركات Freshdesk بتقسيم جهات اتصال Brevo
  • بيانات الوكلاء - تتبع تعيينات الوكلاء لأتمتة سير العمل الداخلي
  • الحقول المخصصة - ربط حقول تذاكر وجهات اتصال Freshdesk المخصصة بسمات Brevo

المتطلبات الأساسية

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

  1. حساب Freshdesk مع صلاحيات المسؤول
  2. مفتاح Freshdesk API الخاص بك (موجود في Profile Settings)
  3. نطاق Freshdesk الخاص بك (مثلاً، yourcompany.freshdesk.com)
  4. حساب Brevo مع وصول إلى API
  5. حساب Tajo مع بيانات اعتماد API

المصادقة

مصادقة مفتاح API

يستخدم Freshdesk مصادقة مفتاح API عبر HTTP Basic Auth. يُستخدم مفتاح API كاسم مستخدم مع أي سلسلة (عادةً X) ككلمة مرور.

Terminal window
curl -u "YOUR_API_KEY:X" \
https://yourcompany.freshdesk.com/api/v2/tickets

أو باستخدام ترميز Base64 في ترويسة Authorization:

Terminal window
curl https://yourcompany.freshdesk.com/api/v2/tickets \
-H "Authorization: Basic BASE64_ENCODED_API_KEY:X" \
-H "Content-Type: application/json"

العثور على مفتاح API الخاص بك

  1. سجّل الدخول إلى حساب Freshdesk
  2. انقر على صورة ملفك الشخصي في الزاوية العلوية اليمنى
  3. انتقل إلى Profile Settings
  4. يُعرض مفتاح API الخاص بك على الجانب الأيمن

الإعداد

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

connectors:
freshdesk:
enabled: true
domain: "yourcompany.freshdesk.com"
api_key: "your-freshdesk-api-key"
# Data sync options
sync:
contacts: true
tickets: true
companies: true
satisfaction_ratings: true
# Brevo list assignment
lists:
all_support_contacts: 30
open_tickets: 31
resolved_tickets: 32

تعيين حقول جهة الاتصال

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

contact_mapping:
email: email
name: FULLNAME
phone: SMS
company_id: COMPANY
job_title: JOB_TITLE
twitter_id: TWITTER
language: LANGUAGE
time_zone: TIMEZONE
# Support metrics
total_tickets: TICKET_COUNT
open_tickets: OPEN_TICKETS
avg_csat: CSAT_SCORE
last_ticket_date: LAST_SUPPORT_DATE
# Custom fields
custom_fields.account_type: ACCOUNT_TYPE
custom_fields.subscription_tier: PLAN

تعيين أحداث التذاكر

ربط أحداث تذاكر Freshdesk بمحفزات أتمتة Brevo:

ticket_events:
ticket_created: "support_ticket_created"
ticket_updated: "support_ticket_updated"
ticket_resolved: "support_ticket_resolved"
ticket_closed: "support_ticket_closed"
ticket_reopened: "support_ticket_reopened"
satisfaction_rated: "csat_submitted"
note_added: "support_note_added"

نقاط نهاية واجهة البرمجة

الطريقةنقطة النهايةالوصف
GET/api/v2/ticketsسرد جميع التذاكر
POST/api/v2/ticketsإنشاء تذكرة
GET/api/v2/tickets/{id}الحصول على تذكرة محددة
PUT/api/v2/tickets/{id}تحديث تذكرة
DELETE/api/v2/tickets/{id}حذف تذكرة
GET/api/v2/contactsسرد جميع جهات الاتصال
POST/api/v2/contactsإنشاء جهة اتصال
PUT/api/v2/contacts/{id}تحديث جهة اتصال
GET/api/v2/companiesسرد جميع الشركات
GET/api/v2/agentsسرد جميع الوكلاء
GET/api/v2/surveys/satisfaction_ratingsسرد تقييمات CSAT
GET/api/v2/search/tickets?query=البحث في التذاكر

أمثلة على الكود

تهيئة موصل Freshdesk

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Freshdesk account
await tajo.connectors.connect('freshdesk', {
domain: 'yourcompany.freshdesk.com',
apiKey: process.env.FRESHDESK_API_KEY
});

مزامنة جهات الاتصال مع Brevo

// جلب جهات اتصال Freshdesk ومزامنتها مع Brevo
const response = await fetch(
'https://yourcompany.freshdesk.com/api/v2/contacts?page=1&per_page=100',
{
headers: {
'Authorization': 'Basic ' + btoa(`${API_KEY}:X`),
'Content-Type': 'application/json'
}
}
);
const contacts = await response.json();
// كل جهة اتصال:
// {
// "id": 12345,
// "name": "Jane Kim",
// "email": "[email protected]",
// "phone": "+15551234567",
// "company_id": 678,
// "job_title": "Product Manager",
// "created_at": "2024-01-15T10:30:00Z"
// }

تتبع أحداث التذاكر

// إعداد webhook Freshdesk لإعادة توجيه أحداث التذاكر
// اضبطه في Freshdesk Admin > Automations > Webhook
// معالج webhook
app.post('/webhooks/freshdesk', async (req, res) => {
const { ticket, event_type } = req.body;
await tajo.connectors.handleWebhook('freshdesk', {
topic: event_type,
payload: {
ticketId: ticket.id,
subject: ticket.subject,
status: ticket.status,
priority: ticket.priority,
requesterEmail: ticket.requester.email,
createdAt: ticket.created_at
}
});
res.status(200).send('OK');
});

البحث عن التذاكر حسب العميل

// البحث عن جميع التذاكر من عميل محدد
const query = encodeURIComponent('"email:[email protected]"');
const response = await fetch(
`https://yourcompany.freshdesk.com/api/v2/search/tickets?query=${query}`,
{
headers: {
'Authorization': 'Basic ' + btoa(`${API_KEY}:X`)
}
}
);
const { results, total } = await response.json();

حدود المعدل

الخطةالحدالتفاصيل
Sprout50 طلب/دقيقةالخطة المجانية
Blossom200 طلب/دقيقةخطة Starter
Garden400 طلب/دقيقةخطة Growth
Estate700 طلب/دقيقةخطة Pro
Forest1,000 طلب/دقيقةخطة Enterprise

حدود إضافية:

الموردالحد
نقاط نهاية القائمة30 صفحة لكل استعلام
لكل صفحة100 سجل كحد أقصى
Search APIطلبان/ثانية
العمليات المجمّعة10 سجلات/طلب

ترويسات حدود المعدل

يُعيد Freshdesk معلومات حدود المعدل في ترويسات الاستجابة. راقب X-RateLimit-Remaining وطبّق التراجع عند الاقتراب من الحدود.

استكشاف الأخطاء وإصلاحها

المشكلةالسببالحل
401 Unauthorizedمفتاح API غير صالحتحقق من مفتاح API في Freshdesk Profile Settings
403 Forbiddenصلاحيات غير كافيةتأكد من أن مفتاح API ينتمي إلى حساب مسؤول
جهات الاتصال لا تتزامنحقل البريد الإلكتروني مفقودتتطلب جهات اتصال Freshdesk عنوان بريد إلكتروني
التذاكر لا تظهرنطاق خاطئتحقق من صحة عنوان URL لنطاق Freshdesk
البحث يعيد نتائج فارغةخطأ في صيغة الاستعلاماستخدم صيغة استعلام Freshdesk مع علامات تنصيص مزدوجة
429 Too Many Requestsتجاوز حد المعدلطبّق تحديد المعدل بناءً على مستوى الخطة
حقول مخصصة مفقودةالحقل غير مفعّلتأكد من تفعيل الحقول المخصصة في إدارة Freshdesk

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

  1. استخدم webhooks للمزامنة الآنية - اضبط Freshdesk Automations لتشغيل webhooks عند أحداث التذاكر
  2. زامن درجات CSAT - تتبع تقييمات رضا العملاء كسمات Brevo للتقسيم
  3. عيّن حالة التذكرة إلى القوائم - انقل جهات الاتصال تلقائيًا بين قوائم Brevo بناءً على حالة التذكرة
  4. تتبع مقاييس الدعم - زامن عدد التذاكر ومتوسط وقت الاستجابة ومعدل الحل لكل جهة اتصال
  5. استخدم Search API باعتدال - تحتوي Search API على حدود معدل أكثر صرامة؛ خزّن النتائج مؤقتًا عند الإمكان
  6. قسّم التصديرات الكبيرة - استخدم التقسيم بمعاملي page وper_page للمزامنة الأولية

الأمان

  • مصادقة مفتاح API - HTTP Basic Auth بسيط بمفتاح API
  • HTTPS فقط - تتطلب جميع اتصالات API تشفير TLS
  • قائمة IP المسموح بها - متاحة في خطط Estate وForest
  • وصول قائم على الدور - صلاحيات مفتاح API مرتبطة بدور الوكيل
  • SOC 2 Type II - Freshdesk معتمد من SOC 2 Type II
  • الامتثال لـ GDPR - يدعم طلبات تصدير البيانات وحذفها

موارد ذات صلة

Subscribe to updates

developer-docs

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

auto-detect
مساعد AI

مرحباً! اسألني أي شيء عن الوثائق.