SDKApache-2.0 · TypeScript أولاً
منصة Medal، داخل شيفرتك.
عميل TypeScript آمن الأنواع لواجهة Medal REST API: المنشورات والبريد الإلكتروني وجهات الاتصال والصفقات والحجوزات ومكتب المساعدة وWebhooks وGDPR. يعتمد على fetch الأصلي، لذا يعمل في Node.js وBun وDeno وCloudflare Workers وفي المتصفح.
من التثبيت إلى أول طلب في خمس دقائق
bashالتثبيتnpm i @medalsocial/sdk # أو pnpm add @medalsocial/sdk
المصادقة
أنشئ مفتاح API من إعدادات مساحة العمل. تبدأ المفاتيح بـ medal_ وترتبط بمساحة عمل واحدة فقط، فلا يمكن لأي تكامل الوصول إلى بيانات غير بياناتها. مرّر المفتاح إلى new Medal(apiKey). كما تعمل رموز OAuth — أضف { workspaceId } إلى الخيارات، إلى جانب baseUrl وtimeout.
tsأول طلباتكimport { Medal } from '@medalsocial/sdk'; const apiKey = process.env.MEDAL_API_KEY; if (!apiKey) throw new Error('Set MEDAL_API_KEY to a workspace API key (medal_…)'); const medal = new Medal(apiKey); // Which channels can this workspace post to? const { data: channels } = await medal.posts.channels(); const [channel] = channels; if (!channel) throw new Error('Connect a channel in the Medal app first'); const { data: post } = await medal.posts.create({ content: 'Hello from the Medal SDK!', channel_ids: [channel.id], }); const tomorrow = new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(); await medal.posts.schedule(post.id, { scheduled_at: tomorrow }); await medal.emails.send({ template_slug: 'welcome', to: 'user@example.com', variables: { name: 'Ida' }, }); const { data: contact } = await medal.contacts.create({ email: 'ida@example.com', first_name: 'Ida', status: 'lead', });
أطلق أول تكامل لك
زامن التسجيلات من تطبيقك إلى جهات الاتصال، وجدوِل المنشورات مباشرة من خط الإنتاج الخاص بك، وأرسل بريداً تعاملياً من قالب جاهز، واربط محادثات مكتب المساعدة بأنظمتك عبر Webhooks موقّعة.
مصمّمة للإنتاج
تصل الأخطاء على شكل MedalApiError مُعرَّف الأنواع يحمل status وcode وmessage وdetails. تُعاد المحاولة تلقائياً عند 429 و5xx حتى ثلاث محاولات مع احترام Retry-After. تستخدم نقاط القوائم ترقيماً بالمؤشر (cursor). وتتضمن الحزمة عقد OpenAPI 3.1، فيمكنك توليد عملاء للغات أخرى من المرجع نفسه.