Ga direct naar de documentatie
SDK

Domeinen

`domains.list`, `get` en `update`.

Elke methode

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

Ontvangen en verzenden zijn twee onafhankelijke feiten en worden als twee objecten teruggegeven. receiving.verified betekent dat de MX van het domein zijn mail hierheen brengt en dat de eigendomsuitdaging gepubliceerd is. sending rapporteert de uitgaande ondertekeningscontrole: status is verified, pending, failed, no_identity of unknown, en canSend zegt of een verzending vanaf het domein op dit moment geaccepteerd zou worden. Een negatief oordeel ouder dan een dag wordt als onbekend behandeld en niet als een weigering, dus vertak op canSend in plaats van op status.

update stelt het aangepaste trackingdomein van het domein in, controleert het opnieuw of verwijdert het — een subdomein zoals links.acme.com — en levert dezelfde DomainDetailResource op als get. tracking rapporteert het bij elke leesactie. Tot een controle slaagt is tracking.status gelijk aan pending en blijven getrackte links en de open-pixel de standaardhost van OpenEmail gebruiken. Zodra er een slaagt is het active en gebruikt nieuwe mail van het domein het trackingdomein voor beide.

get somt ook de adressen op het domein op. addresses.list() is de verwante aanroep: elk adres dat DEZE SLEUTEL in een From-header mag zetten, wat smaller is.

Parameters: domains.get

domainIdstringverplicht
De id uit `domains.list`, een UUID die is aangemaakt toen het domein werd toegevoegd, niet de hostnaam, dus `get('example.com')` vindt niets. De opzoeking is niet alleen op de id maar ook op de eigen connection van de sleutel afgebakend, dus het domein van een andere workspace is een 404 en geen 403.

Parameters: domains.update

idstringverplicht
Dezelfde domein-id die `get` accepteert. `domains:write` is de scope die hiervoor nodig is.
patch.trackingHoststring | nullverplicht
Een subdomein van het domein, maximaal 512 tekens, zoals `links.acme.com`. Het wordt getrimd en naar kleine letters omgezet, en een voorloop-`https://` of `http://`, een pad en een afsluitende punt worden verwijderd. Een nieuwe waarde wordt in dezelfde aanroep gevalideerd, opgeslagen en gecontroleerd. De waarde die het domein al heeft laat de controle opnieuw draaien, tenzij de laatste minder dan 30 seconden geleden was. `null` of een lege string verwijdert het trackingdomein.

Een geweigerde host gooit een OpenEmailApiError die trackingHost noemt in param: 422 invalid_tracking_host voor een naam die niet gebruikt kan worden, zoals een buiten het domein, 409 domain_not_verified voor een nieuwe host terwijl receiving.verified onwaar is en het _openemail-challenge TXT-record van het domein nog niet gepubliceerd is, en 409 tracking_host_in_use voor een naam die een ander domein al gebruikt, of wanneer het trackingdomein door een andere OpenEmail-server wordt beheerd. Een sleutel die tot specifieke adressen beperkt is krijgt 422 capability_unsupported, omdat een trackingdomein voor elk adres op het domein geldt.

Antwoord: DomainDetailResource

object'domain'
Altijd de string `domain`, zowel op `list`-rijen als op deze.
idstring
De UUID van het domein. Stabiel zolang de rij bestaat, en het enige handvat dat de andere domein-aanroepen accepteren.
domainstring
De kale hostnaam, in kleine letters: `example.com`. Uniek binnen het hele product, één eigenaar per domein, dus twee workspaces kunnen hem niet allebei claimen.
receiving.verifiedboolean
Waar zodra DNS liet zien dat de MX van het domein een host noemt die zijn mail hierheen brengt en, waar de rij een uitdagingstoken draagt, het bijbehorende `_openemail-challenge` TXT-record. MX alleen bewijst niets, aangezien elk domein waarvoor wij ontvangen dezelfde hostnamen publiceert, en daarom bestaat het token, en daarom is deze vlag de poort die inkomende bezorging controleert voordat mail geaccepteerd wordt.
receiving.verifiedAtstring | null
Wanneer de verificatie slaagde, ISO-8601. Null zolang dat niet zo is, en `verified` wordt precies uit deze kolom afgeleid, dus de twee kunnen elkaar nooit tegenspreken.
receiving.catchAllboolean
Of elk local-part geaccepteerd wordt. Standaard aan voor domeinen die zijn toegevoegd sinds dit de regel werd; met deze uit worden alleen adressen die op het domein genoemd zijn geaccepteerd en wordt de rest op SMTP-niveau geweigerd, zodat de afzender een bounce krijgt in plaats van stilte.
receiving.lastCheckedAtstring | null
Wanneer DNS voor het laatst over dit domein is bevraagd. Null betekent nooit gekeken, wat voor iemand die een minuut geleden een domein toevoegde heel anders leest dan een mislukte controle. Dit endpoint rapporteert het opgeslagen resultaat en voert nooit zelf een controle uit.
receiving.errorstring | null
Waarom de laatste controle niet slaagde, in woorden waarmee de eigenaar iets kan: `No MX records yet. DNS changes can take a few minutes to spread.` is er een typische. Null zodra hij slaagt, en opgeslagen in plaats van afgeleid, zodat een herlaadactie en de geplande hercontrole hetzelfde zeggen.
sending.status'verified' | 'pending' | 'failed' | 'no_identity' | 'unknown'
De uitgaande ondertekeningsstatus zoals de laatste controle die zag. Uit de opgeslagen controle gelezen in plaats van bij dit verzoek gepeild, dus `sending.checkedAt` zegt hoe oud die is.
sending.canSendboolean
Of een verzending vanaf dit domein op dit moment geaccepteerd zou worden. Een negatief oordeel ouder dan een dag wordt als onbekend behandeld en niet als een weigering, dus dit kan waar zijn terwijl `status` gelijk is aan `pending`. Vertak hierop vóór een verzending: onwaar betekent dat `emails.send` vanaf dit domein geweigerd wordt met een 409 `domain_not_sendable`.
sending.checkedAtstring | null
Wanneer de ondertekeningsstatus voor het laatst is gecontroleerd, ISO-8601. Null betekent nooit, wat heel anders leest dan een mislukking.
sending.errorstring | null
De laatste ondertekeningsfout in woorden, of null zodra hij slaagt.
sending.notestring
Een van vijf zinnen, gekozen op basis van `sending.status`, die zegt wat die status betekent in woorden waarmee een domeineigenaar iets kan. Proza voor een mens om te lezen. Vertak op `sending.canSend` in plaats van hierop.
trackingDomainTracking
Het aangepaste trackingdomein van het domein, zowel op `list`-rijen als op deze, en wat `update` wijzigt.
tracking.hoststring | null
Het trackingdomein, zoals `links.acme.com`, of null wanneer er geen is ingesteld.
tracking.status'none' | 'pending' | 'active' | 'failed'
`none` betekent dat er geen trackingdomein is ingesteld, `pending` dat het nooit een controle heeft doorstaan, `active` dat nieuwe mail het gebruikt, en `failed` dat het eerder slaagde en sindsdien buiten gebruik is geraakt. Een actieve host valt af na drie mislukte controles op rij, of zodra de laatst geslaagde controle meer dan 2 uur oud is.
tracking.activeboolean
Precies waar wanneer `status` gelijk is aan `active`, en dat is wanneer getrackte links en de open-pixel in nieuwe mail van het domein de host gebruiken.
tracking.targetstring
Het adres waar het CNAME-record naar wijst, uitsluitend voor dit trackingdomein voorbereid. Een lege string zolang `host` null is, en zolang het adres voor een nieuwe host nog voorbereid wordt.
tracking.record{ type: 'CNAME'; name: string; value: string } | null
Het te publiceren record, vernoemd naar `host` met `target` als waarde. Null wanneer er geen trackingdomein is, en zolang het adres voor een nieuwe host nog voorbereid wordt.
tracking.checkedAtstring | null
Wanneer de host voor het laatst is gecontroleerd, ISO-8601. Null tot de eerste controle.
tracking.verifiedAtstring | null
Wanneer een controle voor het laatst slaagde, ISO-8601. Null voor een host die er nooit een heeft doorstaan.
tracking.errorstring | null
Wat de laatste controle aantrof, in woorden waarmee de domeineigenaar iets kan. Null wanneer de laatste controle slaagde of er nog geen heeft gedraaid. Een host die een of twee controles niet heeft doorstaan is nog steeds `active` en draagt de reden hier.
addressesArray<{ address: string; enabled: boolean }>
Elke adresrij op het domein, en dat is wat `get` toevoegt ten opzichte van een `list`-rij. Het bevat ook de rijen die de bezorging zelf onder catch-all heeft geschreven, en die worden niet meer geaccepteerd zodra catch-all uit gaat, dus de array is geen lijst van wat zal ontvangen.
addresses[].addressstring
Het volledige adres, opnieuw samengesteld uit het opgeslagen local-part en de hostnaam en in kleine letters, zodat het altijd overeenkomt met het `domain` hierboven in plaats van ervan af te drijven.
addresses[].enabledboolean
False schakelt het adres uit, en een uitgeschakeld adres wordt geweigerd, zelfs met catch-all aan. Elke rij wordt hoe dan ook vermeld, dus filter hierop in plaats van de array als de verzameling werkende adressen te lezen.
createdAtstring
Wanneer de domeinrij is toegevoegd, ISO-8601. Niet wanneer hij geverifieerd werd: dat is `receiving.verifiedAt`, dat null kan zijn terwijl dit is ingevuld.