حزم SDK مُحدَّدة الأنواع
واجهة API بدوال مُحدَّدة الأنواع.
حزمة @openemail/sdk عميل TypeScript بلا تبعيات لواجهة OpenEmail API، يُطابَق مع مستند OpenAPI الخاص بها في كل بناء.
باختصار
ما هي حزمة SDK؟
حزمة SDK، أي حزمة تطوير البرمجيات، تُغلِّف واجهة HTTP API بدوال لغة واحدة وأنواعها. تستدعي الدوال بدل بناء الطلبات، ويتحقق محرّرك من المُعامِلات قبل إرسال أي شيء.
0
تبعيات وقت التشغيل
30ثانية
المهلة لكل محاولة
2
إعادة المحاولة للاستدعاءات القابلة للتكرار
كيف يعمل
يُطابَق مع API في كل بناء
يقرأ فحص التكافؤ مستند OpenAPI ويُفشل البناء عند أي انحراف: دالة ناقصة، أو دالة بلا عملية، أو نطاق خاطئ.
ترقيم الصفحات دون حلقة مؤشر
تتبع الدالة iterate() المؤشر ولا تجلب كل صفحة إلا حين تبلغها حلقتك، فيوقف break الطلبات.
إعادة محاولة لا تُرسل مرتين أبدًا
تُعاد محاولة الاستدعاءات القابلة للتكرار مرتين كحدٍّ أقصى مع انتظار متزايد. ويستخدم الإرسال مفتاح منع تكرار واحدًا في كل المحاولات، فتُعيد إعادة المحاولة الرسالة الأصلية.
أرسل رسالتك الأولى
ثبّتها عبر bun add @openemail/sdk، واضبط OPENEMAIL_API_KEY على مفتاح من الإعدادات، مفاتيح API.
import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const email = await openemail.emails.send({ from: 'Acme Billing <[email protected]>', to: '[email protected]', subject: 'Your September invoice', html: '<p>Invoice attached.</p>',}) console.log(email.id, email.status)ما الذي تحصل عليه
في المنتج اليوم
Node وBun وDeno
Node 20 فما بعده، وESM أو CommonJS، ويقبل fetch خاصًّا بك.
فحص المفاتيح مبكرًا
المفتاح ذو البادئة الخاطئة يرمي خطأً عند الإنشاء، لا على هيئة 401.
عميل واحد لمساحات عمل كثيرة
مرّر apiKey في استدعاء واحد لتعمل باسم مساحة عمل أخرى.
أخطاء يمكن التفرّع عليها
يحمل الخطأ OpenEmailApiError الحقول status وcode وrequestId، إضافةً إلى isRateLimited وisNotFound.
ممارسات جيدة
لتستفيد منه إلى أقصى حد
- 01
المفتاح في متغيرات البيئة
اضبط OPENEMAIL_API_KEY ودع العميل المشترك يقرؤه، فلا يبقى أي مفتاح في الشيفرة المصدرية.
- 02
أنشئ عميلًا واحدًا
أنشئ العميل مرة واحدة في وحدة خاصة به، واستورده في المواضع الأخرى.
- 03
اقرأ الحالة
قد يكون الإرسال المكتمل لا يزال في الطابور أو مجدولًا أو فاشلًا، فاقرأ status قبل أن تعدّه مُسلَّمًا.
أين وصلنا
من المفيد معرفته
- أتمتة الإصدارات
- النشر يدوي، فتصل النسخة إلى npm حين يشغّله أحدهم، لا حين يصل التغيير.
- لغات أخرى
- لغة TypeScript فقط. لا عميل بعدُ لـ Python أو Go أو Ruby.
أسئلة
ما يُسأل عنه كثيرًا
تابع القراءة
يعمل جيدًا مع
ابدأ
نطاقك،
بريدك.
وجّه نطاقًا إلى OpenEmail واقرأ بريده في صندوق بريد مبنيّ حوله. الخطة المجانية تشمل نطاقًا واحدًا.