Typisierte SDKs
Die API als typisierte Methoden.
@openemail/sdk ist ein TypeScript-Client ohne Abhängigkeiten für die OpenEmail-API, bei jedem Build gegen ihr OpenAPI-Dokument geprüft.
Kurz gesagt
Was ist ein SDK?
Ein SDK, ein Software Development Kit, verpackt eine HTTP-API in die Funktionen und Typen einer Sprache. Sie rufen Methoden auf, statt Anfragen zu bauen, und Ihr Editor prüft die Argumente, bevor etwas gesendet wird.
0
Laufzeitabhängigkeiten
30s
Timeout pro Versuch
2
Wiederholungen wiederholbarer Aufrufe
So funktioniert es
Bei jedem Build gegen die API geprüft
Eine Paritätsprüfung liest das OpenAPI-Dokument und lässt den Build bei Abweichungen scheitern: eine fehlende Methode, eine Methode ohne Operation oder ein falscher Geltungsbereich.
Paginierung ohne Cursor-Schleife
iterate() folgt dem Cursor und holt jede Seite erst, wenn Ihre Schleife sie erreicht, ein break stoppt also die Anfragen.
Wiederholungen, die nie doppelt senden
Wiederholbare Aufrufe bekommen bis zu zwei neue Versuche mit wachsender Wartezeit. Ein Versand behält dabei einen Idempotenzschlüssel, ein neuer Versuch liefert also die ursprüngliche Nachricht.
Ihre erste E-Mail senden
Installieren Sie es mit bun add @openemail/sdk und setzen Sie OPENEMAIL_API_KEY auf einen Schlüssel aus Einstellungen, API-Schlüssel.
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)Was Sie bekommen
Heute schon im Produkt
Node, Bun und Deno
Node 20 oder neuer, ESM oder CommonJS, und es nimmt Ihr eigenes fetch an.
Schlüssel früh geprüft
Ein Schlüssel mit falschem Präfix wirft schon beim Erstellen einen Fehler, nicht erst als 401.
Ein Client, viele Workspaces
Übergeben Sie apiKey bei einem Aufruf, um für einen anderen Workspace zu handeln.
Auswertbare Fehler
OpenEmailApiError trägt status, code und requestId, dazu isRateLimited und isNotFound.
Praxistipps
Das Beste daraus machen
- 01
Schlüssel in der Umgebung
Setzen Sie OPENEMAIL_API_KEY und lassen Sie den gemeinsamen Client ihn lesen, damit kein Schlüssel im Quellcode steht.
- 02
Einen Client bauen
Erstellen Sie den Client einmal, in einem eigenen Modul, und importieren Sie ihn überall sonst.
- 03
Den Status lesen
Ein aufgelöster Versand kann noch wartend, geplant oder fehlgeschlagen sein, prüfen Sie also status, bevor Sie ihn als zugestellt werten.
Stand der Dinge
Gut zu wissen
- Release-Automatisierung
- Das Veröffentlichen ist manuell, eine Version erreicht npm also, wenn jemand es ausführt, nicht wenn die Änderung landet.
- Andere Sprachen
- Nur TypeScript. Noch kein Client für Python, Go oder Ruby.
Fragen
Häufig gefragt
Weiterlesen
Passt gut zu
Loslegen
Ihre Domain,
Ihre Mail.
Richten Sie eine Domain auf OpenEmail aus und lesen Sie sie in einem Postfach, das dafür gebaut ist. Der kostenlose Tarif umfasst eine Domain.