Belgelere geç
Python

Python SDK

OpenEmail API için resmi Python istemcisi. Senkron ve asenkron, baştan sona tipli ve her uç nokta için bir metot.

Nedir

Tüm API'yi kapsayan tek paket (gönderim, şablonlar, izleme, konuşmalar, taslaklar, etiketler, kişiler, kitleler, kayıt formları, toplu gönderimler, alan adları, kurallar, webhook'lar, takvim, ayarlar, roller, üyeler, engellemeler, dosyalar ve tek kullanımlık gelen kutuları); her istek ve yanıt için bir TypedDict, iki hata sınıfı, bir gönderimi yineleyemeyen yeniden denemeler ve bir webhook imza doğrulayıcısıyla. Python 3.10 ve daha yenisinde çalışır ve yalnızca httpx, anyio ve typing-extensions paketlerine bağlıdır. Bir çalışma alanı API anahtarı ya da bir OAuth erişim tokenı taşıdığı için yeri bir sunucu ya da kendi makinenizde çalışan bir araçtır; kimlik bilgisi gerektirmeyen tek bölüm tek kullanımlık gelen kutularıdır.

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>',})

Senkron ve asenkron

OpenEmail senkrondur; AsyncOpenEmail ise aynı seçeneklere ve aynı metotlara sahip, her biri await ile çağrılan asenkron ikizidir. asyncio ve trio üzerinde çalışır ve sayfalanan bir iterate bir async for hâline gelir.

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())

Paylaşılan openemail istemcisi senkrondur; bu yüzden bir AsyncOpenEmail istemcisini bir kez kendiniz oluşturun ve onu aclose() ya da bir async with bloğuyla kapatın.

Nereye gitmeli

Diğer tüm istemcilerle aynı API'yi sarmalar

Buradaki her şey, API başvurusunun belgelediği yüzeyin aynısıdır; o yüzden bir uç noktanın ne yaptığı için onu, nasıl çağrılacağı için burayı okuyun. Belgelenen her işlem için bir yöntem vardır ve paketin eşlik denetimi bunu kanıtlamak için OpenAPI belgesini okur.

Her TypeScript metodunun aynı adla, snake_case biçiminde bir Python ikizi vardır; eşlik denetimi her çifti aynı argümanlarla çalıştırır ve aynı isteği göndermedikleri, aynı şekilde yeniden denemedikleri ve aynı değeri döndürmedikleri sürece başarısız olur.