टाइप्ड SDK
API, टाइप्ड मेथड के रूप में।
@openemail/sdk, OpenEmail API के लिए बिना किसी डिपेंडेंसी वाला TypeScript क्लाइंट है, जिसे हर बिल्ड पर 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
स्टेटस पढ़ें
रिज़ॉल्व हुआ सेंड भी क़तार में, निर्धारित या विफल हो सकता है, इसलिए उसे पहुँचा हुआ मानने से पहले status पढ़ें।
अभी की स्थिति
जानने लायक़
- रिलीज़ ऑटोमेशन
- पब्लिश करना हाथ से होता है, इसलिए कोई वर्ज़न npm पर तब पहुँचता है जब कोई उसे चलाता है, न कि जब बदलाव आता है।
- दूसरी भाषाएँ
- सिर्फ़ TypeScript। अभी Python, Go या Ruby क्लाइंट नहीं है।
सवाल
अक्सर पूछे जाते हैं
आगे पढ़ें
इनके साथ अच्छा चलता है
शुरू करें
आपका डोमेन,
आपका मेल।
किसी डोमेन को OpenEmail की ओर पॉइंट करें और उसका मेल उसी के इर्द-गिर्द बने मेलबॉक्स में पढ़ें। मुफ़्त प्लान में एक डोमेन शामिल है।