تخطَّ إلى المستندات
قاعدة المعرفة

حزم SDK بأنواع محددة

عميل TypeScript أولًا، ثم البقية.

التفاصيل

  • منشور على npm وقيد الاستخدام. ‏@openemail/sdk عميل TypeScript كامل بلا اعتماديات، منشور بصيغتَي ESM وCommonJS، وفيه طريقة واحدة لكل عملية موثّقة تقدّمها API، إضافة إلى نقطتَي البيانات الوصفية غير المصادَق عليهما اللتين يحتاجهما مولّد العملاء، ومع قراءة المفتاح من OPENEMAIL_API_KEY، ومهلة 30 ثانية لكل محاولة، ومحاولتَي إعادة، وتجاوز apiKey لكل استدعاء من أجل عملية تخدم عدة مساحات عمل، وemails.iterate() لتصفّح قائمة من دون كتابة حلقة المؤشر. يعمل على Node 18 فما فوق، وWorkers، وDeno، وBun، وفي المتصفح. والمفتاح ذو البادئة الخاطئة يرمي خطأ عند الإنشاء بدل أن يردّ 401 عند أول استدعاء؛ والفحص بادئة ولا شيء أكثر، فالمفتاح سليم الشكل الذي أُبطل يظل يفشل على الشبكة.
  • يربطه بالخادم فحص تكافؤ يقرأ مستند OpenAPI عند كل بناء ويفشل إن تباعد الاثنان: طريقة تشير إلى عملية لا يملكها المواصف، أو عملية موثّقة بلا طريقة، أو قائمة نطاقات لا تطابق ما تتطلبه العملية، أو مساحة أسماء فيها طرق وليس لها مدخل في المرجع، أو طريقة لا ترسل الطلب الذي يسمّيه بيانها الخاص. ويطبع ما أثبته، وهو اليوم 116 طريقة في SDK تغطي كل العمليات الموثّقة البالغة 104. وإلى جانبه سكريبتان مولّدان يرفضان إصدار عملية غير مصنّفة أو مكتوبة بشرطة طويلة. ولهذا ليس العميل غلافًا كُتب بعد وقوع الأمر. ولا يمكنه أن يتأخر عن API بإصدار كامل.
  • الناقص هو خطوط النشر. الحزمة موجودة على npm، فـ bun add @openemail/sdk يعمل، لكن لا يوجد سير عمل للإصدار: النشر تشغيل يدوي لفحص ما قبل الإقلاع وللبناء ولـ bun publish، ما يعني أن إصدارًا يصل إلى npm عندما يتذكر أحدهم لا عندما تهبط التغييرات. أما API التي يشير إليها افتراضيًا فمفعّلة وتستجيب.
  • TypeScript هي اللغة الوحيدة، ومستند OpenAPI هو الجواب المقصود لما عداها بدل خمسة عملاء مكتوبين يدويًا يتأخرون بوتائر مختلفة. لا يوجد عميل Python أو Go أو Ruby في المستودع، ولن يوجد قبل أن يكون المستند هو ما يُولَّدون منه.