الانتقال إلى المحتوى الرئيسي
عميل Node.js الرسمي لواجهة برمجة تطبيقات Nateq. مبني على TypeScript، ويدعم كلاً من ESM و CommonJS، وبدون أي اعتماديات وقت التشغيل.

npm

@nateq/sdk

GitHub

الكود المصدري والمشكلات

المتطلبات

Node.js الإصدار 18 أو أحدث.

التثبيت

البدء السريع

أنشئ مفتاح API بنطاق emails:send، ثم ضعه في بيئتك:

المصادقة

تقرأ الحزمة NATEQ_API_KEY افتراضياً. مرّره صراحةً لتحميله من مدير أسرار، أو للتعامل مع أكثر من مؤسسة:
يتم التحقق من المفتاح محلياً قبل أي طلب، لذا يفشل المفتاح الخاطئ فوراً بدلاً من إرساله عبر الشبكة.
يحمل العميل مفتاح API الخاص بك، لذا لا تعرضه أبداً. تقوم console.log و JSON.stringify و util.inspect بإخفائه — لكن لا تُبطل ذلك بطباعة المفتاح مباشرةً.

إرسال البريد الإلكتروني

تُنجَز send() بمجرد قبول الواجهة للرسالة. أما التسليم فيحدث بعد ذلك — الوعد المُنجَز يعني أن Nateq تحمّلت مسؤولية الرسالة، لا أنها وصلت.
قدّم htmlBody أو plainTextBody أو كليهما. احذف fromEmail و emailAddressId لاستخدام عنوان مؤسستك الافتراضي المُوثَّق.

قراءة البريد الإلكتروني

اعرض قائمة الرسائل المُرسلة، الأحدث أولاً:
القيمة الافتراضية لـ limit هي 50 والحد الأقصى 100.

الأخطاء

كل خطأ يرث من NateqError، لذا تكفي كتلة catch واحدة:
راجع الأخطاء لرموز الواجهة الأساسية.

إعادة المحاولة والإرسال المُكرر

تُعاد عمليات القراءة (get و list) تلقائياً عند انتهاء المهلة أو أخطاء 5xx أو فشل الاتصال، مع تراجع تدريجي يحترم Retry-After. أما send() فلا. لا تملك الواجهة مفتاح تكرار (idempotency key)، لذا فإن عملية إرسال تفشل بعد وصولها إلى الخادم قد تكون قد أُرسلت فعلاً. إعادتها قد تُرسل رسالتين إلى عميلك، والحزمة لن تتخذ هذا القرار نيابةً عنك. الاستثناء هو 429، الذي تُطلقه الواجهة قبل إرسال أي شيء — لذا تُعاد المحاولة، لأن التكرار مستحيل. إذا أطلقت send() خطأ NateqTimeoutError أو NateqServerError، فالنتيجة غير معروفة فعلاً. تحقق منها قبل إعادة المحاولة:

الإعدادات

يجب أن يكون baseUrl عبر https، إلا إذا كان يشير إلى localhost للتطوير المحلي.

الاستخدام مع أُطر العمل

أنشئ العميل مرة واحدة وأعد استخدامه. فهو عديم الحالة وآمن للمشاركة.
الإرسال داخل الطلب يربط زمن استجابتك بزمن استجابتنا. لأي شيء غير حرج، أرسل من مهمة في الخلفية أو من طابور بدلاً من ذلك.