दस्तावेज़ पर जाएँ
Python

Python SDK

OpenEmail API के लिए आधिकारिक Python क्लाइंट। सिंक और एसिंक, पूरी तरह टाइप किया हुआ, और हर endpoint के लिए एक मेथड।

यह क्या है

पूरे API पर एक पैकेज (भेजना, टेम्पलेट, ट्रैकिंग, थ्रेड, ड्राफ़्ट, लेबल, संपर्क, ऑडियंस, साइन-अप फ़ॉर्म, broadcasts, डोमेन, नियम, webhooks, कैलेंडर, सेटिंग्स, भूमिकाएँ, सदस्य, रोक सूचियाँ, फ़ाइलें और डिस्पोज़ेबल इनबॉक्स), हर अनुरोध और रिस्पॉन्स के लिए एक TypedDict, दो त्रुटि क्लास, ऐसी दोबारा कोशिशें जो किसी send को दोहरा नहीं सकतीं, और एक webhook हस्ताक्षर जाँचक के साथ। यह Python 3.10 और नए वर्शन पर चलता है और सिर्फ़ httpx, anyio और typing-extensions पर निर्भर है। इसमें वर्कस्पेस API कुंजी या OAuth एक्सेस टोकन होता है, इसलिए इसकी जगह सर्वर पर या आपकी अपनी मशीन पर चलने वाले टूल में है, और डिस्पोज़ेबल इनबॉक्स ही एकमात्र हिस्सा है जिसे किसी क्रेडेंशियल की ज़रूरत नहीं।

pip install openemail
send_email.py
import os from openemail import init, openemail init(os.environ['OPENEMAIL_API_KEY']) openemail.emails.send({    'from': 'Acme Billing <[email protected]>',    'to': '[email protected]',    'subject': 'Your September invoice',    'html': '<p>Invoice attached.</p>',})

सिंक और एसिंक

OpenEmail सिंक्रोनस है, और AsyncOpenEmail उसका एसिंक्रोनस जुड़वाँ है, उन्हीं विकल्पों और उन्हीं मेथड के साथ, जिनमें से हर एक को await किया जाता है। यह asyncio और trio पर चलता है, और पेजों में बँटा iterate एक async for बन जाता है।

send_email_async.py
import asyncio from openemail import AsyncOpenEmail  async def main() -> None:    async with AsyncOpenEmail() as client:        email = await client.emails.send({            'from': 'Acme Billing <[email protected]>',            'to': '[email protected]',            'subject': 'Your September invoice',            'html': '<p>Invoice attached.</p>',        })         async for thread in client.threads.iterate(folder='inbox'):            print(thread['id'])         print(email['id'], email['status'])  asyncio.run(main())

साझा openemail क्लाइंट सिंक्रोनस है, इसलिए एक AsyncOpenEmail ख़ुद बनाइए, एक ही बार, और उसे aclose() या async with ब्लॉक से बंद कीजिए।

आगे कहाँ जाएँ

यह वही API लपेटता है जो बाकी हर क्लाइंट लपेटता है

यहाँ सब कुछ वही सतह है जिसका ब्योरा API संदर्भ देता है, इसलिए कोई endpoint क्या करता है यह वहाँ पढ़ें और उसे कैसे बुलाना है यह यहाँ। हर दर्ज की गई क्रिया के लिए एक मेथड है, और पैकेज की parity जाँच इसे साबित करने के लिए OpenAPI दस्तावेज़ पढ़ती है।

हर TypeScript मेथड का उसी नाम से, snake_case में, एक Python जुड़वाँ है, और parity जाँच हर जोड़ी को एक जैसे आर्ग्युमेंट के साथ चलाती है और तब तक फेल होती है जब तक दोनों एक ही अनुरोध न भेजें, एक ही तरह retry न करें और एक ही मान न लौटाएँ।