SDKهای نوعدار
API، به شکل متدهای نوعدار.
بستهی @openemail/sdk یک کلاینت TypeScript بدون وابستگی برای OpenEmail API است که در هر بیلد با سند OpenAPI آن تطبیق داده میشود.
خلاصه
SDK چیست؟
SDK، یا کیت توسعهی نرمافزار، یک HTTP API را در تابعها و نوعهای یک زبان میپیچد. بهجای ساختن درخواست، متد فراخوانی میکنید و ویرایشگرتان پیش از ارسال هر چیزی آرگومانها را بررسی میکند.
0
وابستگی زمان اجرا
30ثانیه
مهلت هر تلاش
2
تلاش دوباره برای فراخوانیهای تکرارپذیر
چطور کار میکند
در هر بیلد با API تطبیق داده میشود
بررسی همترازی سند OpenAPI را میخواند و با هر واگرایی بیلد را شکست میدهد: متدی جاافتاده، متدی بدون عملیات، یا دامنهی دسترسی نادرست.
صفحهبندی بدون حلقهی کرسر
متد iterate() کرسر را دنبال میکند و هر صفحه را فقط وقتی میگیرد که حلقهتان به آن برسد، پس یک break درخواستها را متوقف میکند.
تلاش دوبارهای که هرگز دو بار نمیفرستد
فراخوانیهای تکرارپذیر تا دو بار با فاصلهی فزاینده دوباره تلاش میشوند. ارسال در همهی تلاشها از یک کلید idempotency استفاده میکند، پس تلاش دوباره همان پیام اصلی را برمیگرداند.
اولین ایمیلتان را بفرستید
آن را با 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
یک کلاینت بسازید
کلاینت را یک بار، در ماژول خودش، بسازید و در جاهای دیگر import کنید.
- 03
وضعیت را بخوانید
ارسالی که resolve شده هنوز ممکن است در صف، زمانبندیشده یا ناموفق باشد، پس پیش از تحویلشده دانستنش status را بخوانید.
وضعیت فعلی
خوب است بدانید
- خودکارسازی انتشار
- انتشار دستی است، پس یک نسخه وقتی به npm میرسد که کسی آن را اجرا کند، نه وقتی که تغییر ثبت شود.
- زبانهای دیگر
- فقط TypeScript. هنوز کلاینتی برای Python، Go یا Ruby نیست.
پرسشها
اغلب میپرسند
ادامه دهید
با اینها خوب کار میکند
شروع
دامنهی خودتان،
ایمیل خودتان.
دامنهای را به OpenEmail متصل کنید و نامههایش را در صندوق پستیای بخوانید که گرد آن ساخته شده است. طرح رایگان یک دامنه را پوشش میدهد.