Ugrás a dokumentációra
SDK

Domainek

`domains.list`, `get` és `update`.

Az összes metódus

usage.ts
const domains = await openemail.domains.list()const domain = await openemail.domains.get('b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f') console.log(domain.receiving.verified, domain.sending.status)for (const address of domain.addresses) console.log(address.address, address.enabled) const updated = await openemail.domains.update(domain.id, { trackingHost: 'links.acme.com' })console.log(updated.tracking.status, updated.tracking.record?.name, updated.tracking.record?.value) await openemail.domains.update(domain.id, { trackingHost: null })

A fogadás és a küldés két független tény, és két objektumként adjuk vissza őket. A receiving.verified azt jelenti, hogy a domain MX-rekordja ide hozza a leveleit, és a tulajdonosi kihívás közzé van téve. A sending a kimenő aláírás ellenőrzéséről számol be: a status értéke verified, pending, failed, no_identity vagy unknown, a canSend pedig megmondja, hogy a domainről való küldést most elfogadnánk-e. Az egy napnál régebbi negatív verdiktet ismeretlennek tekintjük, nem elutasításnak, ezért a canSend értékre ágazz el, ne a status mezőre.

Az update beállítja, újraellenőrzi vagy eltávolítja a domain saját követési domainjét – egy aldomaint, például a links.acme.com címet –, és ugyanazzal a DomainDetailResource értékkel tér vissza, mint a get. A tracking minden olvasáskor beszámol róla. Amíg egy ellenőrzés nem sikerül, a tracking.status értéke pending, és a követett linkek, valamint a megnyitási pixel továbbra is az alapértelmezett OpenEmail-hosztot használják. Amint sikerül, az érték active, és a domainről induló új levelek mindkettőhöz a követési domaint használják.

A get a domainen lévő címeket is felsorolja. A kapcsolódó hívás az addresses.list(): minden cím, amelyet EZ A KULCS From fejlécbe tehet, ami szűkebb halmaz.

Paraméterek: domains.get

domainIdstringkötelező
A `domains.list` által adott azonosító – egy UUID, amelyet a domain felvételekor hoztunk létre –, nem a hosztnév, így a `get('example.com')` semmit nem talál. A keresés az azonosító mellett a kulcs saját kapcsolatára is szűkül, ezért egy másik munkaterület domainje 404, nem 403.

Paraméterek: domains.update

idstringkötelező
Ugyanaz a domainazonosító, amelyet a `get` vár. A szükséges hatókör a `domains:write`.
patch.trackingHoststring | nullkötelező
A domain egy aldomainje, legfeljebb 512 karakter, például `links.acme.com`. Levágjuk a szóközöket és kisbetűsítjük, az esetleges `https://` vagy `http://` előtagot, az útvonalat és a záró pontot pedig eltávolítjuk. Az új értéket ugyanabban a hívásban ellenőrizzük, elmentjük és leellenőriztetjük. A domainen már meglévő érték újra lefuttatja az ellenőrzést, kivéve, ha az utolsó kevesebb mint 30 másodperce volt. A `null` vagy az üres sztring eltávolítja a követési domaint.

Az elutasított hoszt OpenEmailApiError kivételt dob, amelynek param mezője a trackingHost nevet tartalmazza: 422 invalid_tracking_host olyan névre, amely nem használható, például a domainen kívülire; 409 domain_not_verified új hosztra, amíg a receiving.verified hamis, és a domain _openemail-challenge TXT-rekordja még nincs közzétéve; 409 tracking_host_in_use olyan névre, amelyet másik domain már használ, vagy ha a követési domaint egy másik OpenEmail-kiszolgáló kezeli. Az egyedi címekre korlátozott kulcs 422 capability_unsupported hibát kap, mert a követési domain a domain összes címére vonatkozik.

Válasz: DomainDetailResource

object'domain'
Mindig a `domain` sztring, a `list` sorain és ezen is egyaránt.
idstring
A domain UUID-je. A sor élettartama alatt állandó, és az egyetlen azonosító, amelyet a többi domainhívás elfogad.
domainstring
A csupasz hosztnév, kisbetűsítve: `example.com`. Az egész terméken belül egyedi, domainenként egy tulajdonossal, így két munkaterület nem tarthat rá egyszerre igényt.
receiving.verifiedboolean
Igaz, amint a DNS megmutatta, hogy a domain MX-rekordja olyan hosztot nevez meg, amely ide hozza a leveleit, és – ahol a sor kihívástokent hordoz – a hozzá tartozó `_openemail-challenge` TXT-rekordot is. Az MX önmagában semmit nem bizonyít, hiszen minden domain, amelynek fogadunk, ugyanazokat a hosztneveket teszi közzé; ezért létezik a token, és ezért ez a jelző az a kapu, amelyet a bejövő kézbesítés a levél elfogadása előtt ellenőriz.
receiving.verifiedAtstring | null
Mikor sikerült az ellenőrzés, ISO-8601 szerint. Null, amíg nem sikerült, és a `verified` pontosan ebből az oszlopból származik, így a kettő soha nem mondhat ellent egymásnak.
receiving.catchAllboolean
Elfogadunk-e bármilyen helyi részt. Alapértelmezés szerint be van kapcsolva azoknál a domaineknél, amelyeket a szabály bevezetése óta vettek fel; ha ki van kapcsolva, csak a domainen megnevezett címeket fogadjuk el, a többit pedig SMTP-időben elutasítjuk, így a feladó visszapattanó üzenetet kap, nem csendet.
receiving.lastCheckedAtstring | null
Mikor kérdeztük utoljára a DNS-t erről a domainről. A null azt jelenti, hogy soha nem néztük meg, ami annak, aki egy perce vette fel a domaint, egészen mást jelent, mint egy sikertelen ellenőrzés. Ez a végpont a tárolt eredményt jelenti, soha nem futtat saját ellenőrzést.
receiving.errorstring | null
Miért nem sikerült az utolsó ellenőrzés, olyan szavakkal, amelyekre a tulajdonos lépni tud: a `No MX records yet. DNS changes can take a few minutes to spread.` tipikus ilyen. Null, ha sikerül, és tárolt, nem származtatott érték, hogy az újratöltés és az ütemezett újraellenőrzés ugyanazt mondja.
sending.status'verified' | 'pending' | 'failed' | 'no_identity' | 'unknown'
A kimenő aláírás állapota úgy, ahogy az utolsó ellenőrzés látta. A tárolt ellenőrzésből olvassuk ki, nem ennél a kérésnél mérjük, ezért a `sending.checkedAt` mondja meg, mennyire friss.
sending.canSendboolean
Elfogadnánk-e most egy küldést erről a domainről. Az egy napnál régebbi negatív verdiktet ismeretlennek tekintjük, nem elutasításnak, ezért ez igaz lehet akkor is, amikor a `status` értéke `pending`. Küldés előtt erre ágazz el: a hamis érték azt jelenti, hogy az `emails.send` erről a domainről 409 `domain_not_sendable` hibával elutasításra kerül.
sending.checkedAtstring | null
Mikor ellenőriztük utoljára az aláírási állapotot, ISO-8601 szerint. A null azt jelenti, hogy soha, ami egészen mást jelent, mint egy hiba.
sending.errorstring | null
Az utolsó aláírási hiba szövegesen, vagy null, ha sikerült.
sending.notestring
Öt mondat egyike, amelyet a `sending.status` választ ki, és amely olyan szavakkal mondja meg az adott állapot jelentését, amelyekre a domain tulajdonosa lépni tud. Embernek szóló szöveg. Ne erre ágazz el, hanem a `sending.canSend` mezőre.
trackingDomainTracking
A domain saját követési domainje, a `list` sorain és ezen is egyaránt, és amit az `update` módosít.
tracking.hoststring | null
A követési domain, például `links.acme.com`, vagy null, ha nincs beállítva.
tracking.status'none' | 'pending' | 'active' | 'failed'
A `none` azt jelenti, hogy nincs beállítva követési domain, a `pending` azt, hogy még soha nem ment át ellenőrzésen, az `active` azt, hogy az új levelek használják, a `failed` pedig azt, hogy korábban átment, azóta viszont kiesett a használatból. Az aktív hoszt három egymást követő sikertelen ellenőrzés után esik ki, vagy ha az utolsó sikeres ellenőrzése 2 óránál régebbi.
tracking.activeboolean
Pontosan akkor igaz, amikor a `status` értéke `active`, vagyis amikor a domainről induló új levelekben a követett linkek és a megnyitási pixel ezt a hosztot használják.
tracking.targetstring
A cím, amelyre a CNAME rekord mutat, kifejezetten ehhez a követési domainhez előkészítve. Üres sztring, amíg a `host` null, és amíg az új hoszthoz tartozó cím előkészítése tart.
tracking.record{ type: 'CNAME'; name: string; value: string } | null
A közzéteendő rekord, amelynek neve a `host`, értéke pedig a `target`. Null, ha nincs követési domain, és amíg az új hoszthoz tartozó cím előkészítése tart.
tracking.checkedAtstring | null
Mikor ellenőriztük utoljára a hosztot, ISO-8601 szerint. Null az első ellenőrzésig.
tracking.verifiedAtstring | null
Mikor sikerült utoljára egy ellenőrzés, ISO-8601 szerint. Null annál a hosztnál, amelynél soha nem sikerült.
tracking.errorstring | null
Mit talált az utolsó ellenőrzés, olyan szavakkal, amelyekre a domain tulajdonosa lépni tud. Null, ha az utolsó ellenőrzés sikerült, vagy ha még egy sem futott. Az a hoszt, amely egy vagy két ellenőrzésen elbukott, még `active`, és itt hordozza az okot.
addressesArray<{ address: string; enabled: boolean }>
A domain összes címsora, ami az, amivel a `get` többet ad egy `list` sornál. Beletartoznak azok a sorok is, amelyeket a kézbesítés maga írt a catch-all alatt, és ezek a catch-all kikapcsolásának pillanatában megszűnnek elfogadott lenni, így a tömb nem azt sorolja fel, ami fogadni fog.
addresses[].addressstring
A teljes cím, a tárolt helyi részből és a hosztnévből újraépítve és kisbetűsítve, így mindig illeszkedik a fenti `domain` értékhez, ahelyett hogy elcsúszna tőle.
addresses[].enabledboolean
A hamis érték letiltja a címet, a letiltott címet pedig akkor is elutasítjuk, ha a catch-all be van kapcsolva. Minden sor szerepel a listában, ezért erre szűrj, ahelyett hogy a tömböt a működő címek halmazaként olvasnád.
createdAtstring
Mikor vettük fel a domain sorát, ISO-8601 szerint. Nem az ellenőrzés ideje: az a `receiving.verifiedAt`, amely null lehet akkor is, amikor ennek van értéke.