Medal Social SDK هو عميل TypeScript خفيف ومحدد النوع مصمم لتبسيط التفاعلات مع Medal Social API. بدلاً من إنشاء طلبات HTTP يدويًا ومعالجة رؤوس المصادقة، يمكن للمطورين استخدام واجهة قوية وقائمة على الأساليب لدمج ميزات CRM والوسائط الاجتماعية في تطبيقاتهم.
لماذا نستخدم SDK؟
التكامل مباشرة مع REST APIs يمكن أن يكون معرضًا للأخطاء، ويتطلب كودًا نمطيًا لعمليات الجلب، ومعالجة الأخطاء، وتعريفات الأنواع. يحل Medal Social SDK هذه التحديات من خلال توفير:
- أمان نوع كامل: مكتوب بلغة TypeScript، يوفر الإكمال التلقائي والتحقق في وقت الترجمة لجميع بيانات الطلب.مصادقة مبسطة: يدعم مصادقة Basic (Client ID/Secret) وBearer token مباشرة.أساليب مريحة: أساليب مخصصة للإجراءات الشائعة مثل إنشاء العملاء المحتملين والملاحظات والأحداث.
التثبيت والإعداد
ابدأ بتثبيت الحزمة عبر مدير الحزم المفضل لديك:
pnpm add @medalsocial/sdkقم بتهيئة العميل ببيانات الاعتماد الخاصة بك. يمكنك استخدام متغيرات البيئة للحفاظ على الأسرار بشكل آمن.
import MedalSocialClient from '@medalsocial/sdk';
const client = new MedalSocialClient({
auth: {
kind: 'basic',
clientId: process.env.MEDAL_CLIENT_ID!,
clientSecret: process.env.MEDAL_CLIENT_SECRET!
},
// Alternatively use a bearer token
// auth: { kind: 'bearer', token: process.env.MEDAL_API_TOKEN! },
});الميزات الرئيسية وحالات الاستخدام
1. توليد العملاء المحتملين
التقط الاهتمام من موقع التسويق الخاص بك أو صفحات الهبوط مباشرة إلى نظام CRM الخاص بك. تقبل طريقة createLead مصفوفة، مما يسمح بالإنشاء الجماعي.
await client.createLead([
{
name: 'Alex Example',
email: 'lead.test@example.com',
company: 'Tech Corp',
source: 'website-landing-page',
},
]);2. سياق العميل (الملاحظات)
عزز ملفات المستخدمين بالسياق باستخدام createNote. هذا مثالي لفرق المبيعات التي تحتاج إلى تسجيل التفاعلات أو فرق الدعم التي تسجل تفاصيل المستخدم.
await client.createNote({
name: 'Test Testnes',
email: 'test@medalsocial.com',
company: 'Medal Social Test company',
content: 'Customer is interested in the enterprise plan. Follow up next week.',
metadata: { Budget: '$100,000', Urgency: 'High' },
});3. إدارة الأحداث
سجل المستخدمين بسلاسة للندوات عبر الإنترنت أو إطلاق المنتجات أو المؤتمرات باستخدام createEventSignup. يربط تفاصيل الاتصال ببيانات الحدث المحددة.
await client.createEventSignup({
contact: {
name: 'Test Testnes',
email: 'test@medalsocial.com',
company: 'Medal Social Test company',
},
event: {
externalId: 'launch-2025',
name: 'Product Launch 2025',
description: 'Unveiling our latest tools',
time: '2025-06-15T14:00:00Z',
location: 'Online Stream',
},
});4. الامتثال والخصوصية
أدِر موافقة المستخدم واضمن الامتثال لـ GDPR/CCPA عن طريق تسجيل تفضيلات ملفات الارتباط عبر createCookieConsent.
await client.createCookieConsent({
domain: 'example.com',
consentStatus: 'partial',
consentTimestamp: new Date().toISOString(),
ipAddress: '192.168.1.1',
userAgent: 'Mozilla/5.0...',
cookiePreferences: {
necessary: { allowed: true },
marketing: { allowed: false },
analytics: { allowed: true }
},
});