문서로 건너뛰기
Python

Python SDK

OpenEmail API의 공식 Python 클라이언트입니다. 동기와 비동기를 모두 지원하고, 전체에 타입이 갖춰져 있으며, 엔드포인트마다 메서드가 하나씩 있습니다.

설명

API 전체(발송, 템플릿, 추적, 스레드, 임시 보관함, 라벨, 연락처, 오디언스, 가입 양식, 브로드캐스트, 도메인, 규칙, 웹훅, 캘린더, 설정, 역할, 멤버, 차단, 파일, 일회용 받은편지함)를 하나로 묶은 패키지로, 모든 요청과 응답의 TypedDict, 두 가지 오류 클래스, 발송을 중복시킬 수 없는 재시도, 웹훅 서명 검증기를 갖추었습니다. 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 레퍼런스가 문서화하는 것과 같은 표면이므로, 엔드포인트가 무엇을 하는지는 그쪽에서, 어떻게 호출하는지는 여기서 읽으세요. 문서화된 모든 작업마다 메서드가 하나씩 있으며, 패키지의 패리티 검사가 OpenAPI 문서를 읽어 그것을 증명합니다.

모든 TypeScript 메서드에는 같은 이름을 snake_case로 바꾼 Python 짝이 있으며, 패리티 검사는 각 쌍을 같은 인자로 실행해 같은 요청을 보내고, 같은 방식으로 재시도하고, 같은 값을 반환하지 않으면 실패합니다.