Domeinen
`domains.list`, `get` en `update`.
Elke methode
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.