Zhvillues
Kutisë postare nuk i intereson
kush e drejton.
Gjithçka që bën aplikacioni, e bën edhe kodi juaj: 104 veprime të dokumentuara në 68 shtigje, prapa një dokumenti OpenAPI 3.1 që mund ta lexoni pa çelës. Klienti TypeScript mbahet i përputhur me atë dokument në çdo ndërtim.
MCP nuk kërkon çelës për t'u ngjitur. Klienti e zbulon serverin e autorizimit nga pika fundore, regjistrohet vetë dhe ju sjell këtu për t'u identifikuar.
104
veprime të dokumentuara
68
shtigje nën një host
116
metoda SDK, që i mbulojnë të gjitha
20
ngjarje webhook, në tri familje
Dokumenti OpenAPI 3.1 gjendet te GET /openapi.json dhe leximi i tij nuk kërkon çelës.
Sipërfaqe
Tri dyer,
një kuti postare.
Një çelës i hapësirës së punës vendos se çfarë mund të bëjë një thirrje dhe si cilat adresa mund të dërgojë. Shfuqizimi është një përditësim, jo një fshirje, ndaj një thirrjeje të mëvonshme i thuhet se çelësi u shfuqizua.
Një çelës dërgon si deri në 25 domene të tëra dhe 50 adresa të veçanta. GET /ping lexon prapa fushëveprimet që mban dhe fushëveprimet që i la roli i tij.
Drejtojeni një klient nga pika fundore dhe identifikohuni. Nuk ka çelës për të ngjitur, sepse klienti regjistrohet vetë dhe ju sjell këtu.
Mjetet ndërtohen nga ajo që mund të bëjë thirrësi, ndaj një klient i kufizuar te leximi nuk ka brenda asnjë mjet dërgimi. Një token arrin prapëseprapë te e gjithë kutia postare.
Regjistroni një pikë fundore https dhe kutia postare dërgon atje. Dorëzimet ngrihen nga vetë kutia postare dhe jo nga një thirrje API, ndaj hartimi në aplikacion dhe dërgimi te API-ja shkaktojnë të njëjtin dorëzim.
20 ngjarje në tri familje dhe dhjetë pika fundore për çdo kuti postare.
Barazi
Klienti nuk mund të mbetet
pas API-së.
Një kontroll barazie lexon dokumentin OpenAPI në çdo ndërtim dhe dështon po pati shmangie: një metodë që tregon nga një veprim që specifikimi nuk e ka, një veprim i dokumentuar pa metodë, ose një listë fushëveprimesh që nuk pajtohet me atë që kërkon veprimi. Ai shtyp atë që vërtetoi, dhe sot kjo lexohet 116 metoda SDK mbi të gjitha 104 veprimet e dokumentuara.
Konfigurimi, kërkesa dhe thirrja janë i njëjti veprim, i shkruar në tri mënyra.
Agjentët, API dhe MCP
OpenEmail është menduar të drejtohet nga programet po aq sa nga njerëzit. Kutia postare është e njëjta në të dyja rastet.
Server MCP
Drejtoni Claude, ose çdo klient MCP, nga kutia juaj postare.
OAuth për klientët e palëve të treta
Së shpejtiRegjistrim vetëshërbimi i klientit me PKCE, që një aplikacion të mund të kërkojë qasje si duhet.
Pëlqimi dhe shfuqizimi janë këtu; fushëveprimi jo, ndaj një token arrin te e gjithë kutia juaj postare dhe jo te pjesa që kërkoi një aplikacion.
REST API
Një API HTTP e dokumentuar me çelësa që lëshohen, kufizohen në fushëveprim dhe shfuqizohen.
Nisje e shpejtë
Nga asgjë te një mesazh i dërguar.
Tri hapa.
- 1
Krijoni një çelës
Rregullimet, Çelësat API, në një kuti postare që ju përket. Zgjidhni fushëveprimet e tij dhe ngushtojini adresat si të cilat mund të dërgojë, te domene të tëra ose adresa të veçanta. Sekreti shfaqet një herë dhe ajo që ruhet është një hash njëdrejtimësh.
GET /ping përgjigjet me fushëveprimet e çelësit dhe fushëveprimet që i la roli i tij. export OPENEMAIL_API_KEY=oe_live_9f2c1a4b7e05d3862c1f0a44_kX7… curl https://api.openemail.uk/ping \ -H "Authorization: Bearer $OPENEMAIL_API_KEY" - 2
Instaloni klientin
Një klient TypeScript pa varësi, i publikuar si ESM dhe CommonJS, që e lexon çelësin nga OPENEMAIL_API_KEY. Kapërcejeni nëse parapëlqeni ta dërgoni vetë JSON-in, sepse çdo pikë fundore është thjesht HTTP.
Node 18 e lart, Workers, Deno, Bun dhe shfletuesi. bun add @openemail/sdk - 3
Dërgoni
Përgjigjja mbart id-në. GET /emails/{id} e zgjidh atë, /events ka gjurmën për çdo marrës dhe /tracking ka hapjet dhe klikimet.
Një riprovë që mbart të njëjtin Idempotency-Key kthen rezultatin e parë me Idempotency-Replayed: true. 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)
Mungon
Çfarë nuk e bën
ende për ju.
Pesë gjëra që ia vlen t'i dini para se të ndërtoni mbi këtë, jo pasi ta keni bërë.
- Pa pikë fundore ngarkimi
- Bashkëngjitjet brenda mesazhit shkojnë si base64 nën një kufi të përgjithshëm prej 5 MB. Një skedar më i madh dërgohet duke emërtuar me id-në e tij një skedar që ndodhet tashmë në hapësirën e punës, i cili udhëton si lidhje shkarkimi.
- Kthimet ndalen te kutia postare
- Një raport dorëzimi analizohet, përputhet me Message-ID, etiketohet te rrjedha dhe shtyhet si webhook email.bounced. Asgjë nuk shkruhet prapa te rreshti i dërgimit, ndaj përmes GET /emails një mesazh i kthyer lexohet prapë si i dërguar.
- Posta e hartuesit nuk është te GET /emails
- Posta e dërguar nga hartuesi i aplikacionit nuk shfaqet në atë listë, sepse hartuesi nuk shkruan përmes të njëjtës rrugë dërgimi.
- OAuth ka pëlqim, jo fushëveprim
- Një kërkesë shfaqet para se të jepet dhe Aplikacionet e lidhura e tërheqin prapa, por një token arrin te e gjithë kutia juaj postare dhe jo te pjesa që kërkoi një aplikacion.
- Pa rrjedhë pune publikimi
- Publikimi i klientit është një nisje manuale e kontrollit paraprak, e ndërtimit dhe e bun publish, ndaj një version mbërrin në npm kur dikush e nis atë, jo kur hyn ndryshimi.
Verifikimi i një dorëzimi
Çdo dorëzim është i nënshkruar,
dhe çdo riprovë mbart id-në e vet.
Nënshkrimi është një HMAC-SHA-256 mbi vulën kohore, një pikë dhe trupin e papërpunuar. Verifikojeni kundrejt bajteve ashtu si mbërritën, sepse analizimi dhe riserializimi i rirendit çelësat dhe e prish.
X-OpenEmail-Signature: t=1758240000,v1=9f0c4b2e7d1a86c3X-OpenEmail-Event: email.deliveredX-OpenEmail-Delivery: evt_4b7e05d3862c1f0a- Dritarja e ripërsëritjes
- 300 sekonda, dhe zbatimi i saj është puna e marrësit. Verifikuesi në SDK e ka si parazgjedhje.
- Idempotency-Key
- Kërkohet kundrejt një indeksi unik mbi çelësin dhe çelësin tuaj API së bashku, ndaj një riprovë pas një skadimi kohe kthen rezultatin e parë me Idempotency-Replayed: true, në vend që të dërgojë dy herë.
- Riprovat
- Pesë përpjekje: sapo ndodh ngjarja, pastaj pas 1 minute, 5, 25 dhe 2 orësh. Përsëritet vetëm një skadim kohe, një lidhje e refuzuar, 408, 425, 429 ose një 5xx.
- X-OpenEmail-Delivery
- Id-ja e ngjarjes krijohet një herë dhe çdo përpjekje e mbart, ndaj një marrës që e sheh të njëjtën id dy herë mund ta hedhë tutje të dytën, në vend që të veprojë sërish mbi të.
Për kë është
Një kuti postare e vetme.
Tri rrugë hyrjeje.
Një adresë falas te openemail.uk, me klientin pas saj.
E njëjta kuti postare përmes një API, një SDK dhe MCP.
Krijoni një çelës.
Dërgoni diçka.
Full API, MCP and SDK access në çdo plan. Free e sjell 50 AI actions a day me vete.