Domenet
`domains.list`, `list_all`, `iterate`, `get` dhe `update`.
Çdo metodë
page = client.domains.listpage.items.each { |row| puts "#{row[:domain]} #{row.dig(:sending, :canSend)}" } domain = client.domains.get("b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f")puts domain.dig(:receiving, :verified), domain.dig(:sending, :status) domain[:addresses].each do |entry| puts "#{entry[:address]} #{entry[:enabled]}"endMarrja dhe dërgimi janë dy fakte të pavarura dhe kthehen si dy Hash-e. receiving.verified do të thotë se MX-i i domenit e sjell postën e tij këtu dhe se sfida e pronësisë është publikuar. sending raporton kontrollin e nënshkrimit dalës: status është verified, pending, failed, no_identity ose unknown, dhe canSend thotë nëse një dërgim nga domeni do të pranohej tani. Një verdikt negativ më i vjetër se një ditë trajtohet si i panjohur dhe jo si refuzim, prandaj degëzoni sipas canSend, i lexuar si domain.dig(:sending, :canSend), dhe jo sipas status.
list kthen një OpenEmail::Page me domene sipas rendit alfabetik, dhe list_all i kthen të gjitha në një Array të vetëm. iterate ia jep një nga një një blloku. Pa bllok kthen një Enumerator.
domain_id = "b3e1f0a4-6c2d-4e8a-9f17-2d5c8a0b4e6f" updated = client.domains.update(domain_id, trackingHost: "links.acme.com")puts updated.dig(:tracking, :status), updated.dig(:tracking, :record, :name), updated.dig(:tracking, :record, :value) client.domains.update(domain_id, trackingHost: nil)update cakton, rikontrollon ose heq domenin e personalizuar të gjurmimit të domenit, një nëndomen si links.acme.com, dhe kthen të njëjtin Hash si get. tracking e raporton atë në çdo lexim. Derisa një kontroll të kalojë, tracking.status është pending dhe lidhjet e gjurmuara e pikseli i hapjes vazhdojnë të përdorin host-in e parazgjedhur të OpenEmail. Sapo një kontroll kalon, ai bëhet active dhe posta e re nga domeni e përdor domenin e gjurmimit për të dyja.
get liston edhe adresat në domen. addresses.list është thirrja e lidhur: adresat që ky çelës mund t’i vendosë në një header From, që është një bashkësi më e ngushtë, secila me një verdikt canSend. Kthen një OpenEmail::AddressBookPage, e cila i mban te addresses dhe jo te items, pranë domains dhe unrestricted. list_all i saj kthen një OpenEmail::AddressBook të vetëm.
app_host është një hapësirë emrash më vete, client.app_host. get, set, verify dhe delete lexojnë dhe ndryshojnë adresën e aplikacionit web të hapësirës së punës, një nëndomen si mailbox.acme.com në njërin nga këto domene ose në çdo domen tjetër që kontrollon hapësira e punës, ku njerëzit e saj hyjnë nën markën e hapësirës së punës. set kthen regjistrat DNS për t’u publikuar, te record dhe, për një domen jashtë hapësirës së punës, te ownershipRecord. delete, si dhe një set që zëvendëson një adresë, i kërkojnë një aplikacioni OAuth një kod verifikimi: derisa ta ketë, thirrja ngre një 403, step_up_required? i të cilit është true.
branding cakton atë markë. get lexon lidhjet për shenjën, logon, logon për modalitetin e errët dhe foton e hyrjes, dy fontet dhe sfondin e hyrjes. update ndryshon fontet dhe sfondin, upload_image(variant, data, content_type: nil) ngarkon njërën nga katër imazhet, dhe remove_image(variant) heq njërën. variant është mark, wordmark, wordmark-dark ose login-background, dhe OpenEmail::BRAND_IMAGE_VARIANTS i emërton. data është një String binar, një IO ose një Pathname. Një Pathname si Pathname("logo.svg"), një File ose një ngarkim i Rails e sjell llojin e vet me vete. Bajtet e tjera kërkojnë content_type:, dhe një imazh pa lloj refuzohet me një 422 invalid_image. Logoja është ajo që i jep markën adresës së aplikacionit web dhe, në një plan me pagesë, emaileve të dërguara për hapësirën e punës.
Parametrat: domains.get
idStringe detyrueshme- Id-ja nga `domains.list`, një UUID i krijuar kur u shtua domeni, jo emri i host-it, ndaj `get("example.com")` nuk gjen asgjë. Kërkimi kufizohet te hapësira e punës e vetë çelësit, si dhe te id-ja, ndaj domeni i një hapësire tjetër pune jep një 404, të ngritur si `OpenEmail::NotFoundError`, dhe jo një 403. Një id nil ose bosh ngre ArgumentError para se të dërgohet ndonjë gjë.
Parametrat: domains.update
idStringe detyrueshme- E njëjta id domeni që merr `get`. `domains:write` është scope-i që i duhet.
trackingHostString or nil- Një nëndomen i domenit, me më së shumti 512 karaktere, si `links.acme.com`. Pastrohet nga hapësirat anësore dhe kthehet në shkronja të vogla, dhe hiqen një `https://` ose `http://` në fillim, një shteg dhe një pikë në fund. Një vlerë e re validohet, ruhet dhe kontrollohet në të njëjtën thirrje. Vlera që domeni ka tashmë e nis sërish kontrollin, veç nëse i fundit ishte më pak se 30 sekonda më parë. Jepni nil ose një String bosh për të hequr domenin e gjurmimit, dhe lëreni fushën jashtë për ta lënë të paprekur.
Një host i refuzuar ngre një OpenEmail::ApiError që emërton trackingHost te param: një 422 invalid_tracking_host për një emër që nuk mund të përdoret, si një jashtë domenit, një 409 domain_not_verified për një host të ri ndërsa receiving.verified është false dhe regjistri TXT _openemail-challenge i domenit nuk është publikuar ende, dhe një 409 tracking_host_in_use për një emër që e përdor tashmë një domen tjetër, ose kur domeni i gjurmimit menaxhohet nga një server tjetër OpenEmail. 422-shi vjen si OpenEmail::ValidationError dhe çdo 409 si OpenEmail::ConflictError. Një çelës i kufizuar te adresa të caktuara merr një 422 capability_unsupported, sepse një domen gjurmimi zbatohet për çdo adresë të domenit.
Patch-i është argumente me fjalë kyçe ose një Hash i vetëm, dhe fushat e tij ruajnë emrat camelCase të API-së, ndaj tracking_host: dërgohet ashtu siç është shkruar dhe refuzohet me një 422 unknown_parameter. update merr edhe catchAll, storageHost për një domen skedarësh si files.acme.com, dhe dmarcPolicy. Çdo fushë është opsionale dhe referenca e metodave e përshkruan secilën. Gem-i e riprovon update si një lexim, sepse një përsëritje e gjen host-in të caktuar tashmë dhe, më së shumti, e kontrollon sërish.
Përgjigjja: një domen (domains.get)
objectString- Gjithmonë stringu `domain`, si te rreshtat e `list` ashtu edhe te ky.
idString- UUID-ja e domenit. E qëndrueshme gjatë gjithë jetës së rreshtit, dhe e vetmja dorezë që pranojnë thirrjet e tjera të domenit.
domainString- Hostname-i i thjeshtë, me shkronja të vogla: `example.com`. Unik në gjithë produktin, një pronar për domen, pra dy hapësira pune nuk mund ta pretendojnë të dyja.
receiving.verifiedBoolean- True sapo DNS-ja tregoi se MX-i i domenit emërton një host që e sjell mail-in e tij këtu dhe, aty ku rreshti mban një token sfide, edhe regjistrin përkatës TXT `_openemail-challenge`. MX-i vetëm nuk provon asgjë, meqë çdo domen për të cilin marrim mail publikon të njëjtët hostname, prandaj ekziston token-i, dhe prandaj ky flamur është porta që kontrollon dërgesa hyrëse para se të pranojë mail.
receiving.verifiedAtString or nil- Kur kaloi verifikimi, si String ISO 8601. Është nil sa kohë që nuk ka kaluar, dhe `verified` nxirret pikërisht nga kjo kolonë, ndaj të dyja nuk mund të mospërputhen kurrë.
receiving.catchAllBoolean- Nëse pranohet çdo local-part. Është i aktivizuar si parazgjedhje për domenet e shtuara që kur kjo u bë rregull. Kur është i çaktivizuar, pranohen vetëm adresat e emërtuara në domen dhe të tjerat refuzohen në kohën e SMTP-së, ndaj dërguesi merr një kthim dhe jo heshtje.
receiving.lastCheckedAtString or nil- Kur u pyet DNS-ja për këtë domen për herë të fundit. Është nil kur DNS-ja nuk u pyet kurrë, gjë që për dikë që sapo shtoi një domen lexohet krejt ndryshe nga një dështim. Leximi i një domeni të paverifikuar e pyet sërish DNS-në sapo kontrolli i fundit të jetë më i vjetër se 20 sekonda, ndaj pyetja periodike me `get` është një mënyrë për të pritur verifikimin, dhe `verify` kontrollon menjëherë.
receiving.errorString or nil- Pse nuk kaloi kontrolli i fundit, me fjalë mbi të cilat pronari mund të veprojë: `No MX records yet. DNS changes can take a few minutes to spread.` është një shembull tipik. Është nil sapo kontrolli kalon, dhe ruhet në vend që të nxirret, ndaj një rifreskim dhe rikontrolli i planifikuar thonë të njëjtën gjë.
sending.statusString- Gjendja e nënshkrimit dalës siç e pa kontrolli i fundit: `verified`, `pending`, `failed`, `no_identity` ose `unknown`. Lexohet nga kontrolli i ruajtur, ndaj `sending.checkedAt` tregon sa i vjetër është.
sending.canSendBoolean- Nëse një dërgim nga ky domen do të pranohej tani. Një verdikt negativ më i vjetër se një ditë trajtohet si i panjohur dhe jo si refuzim, prandaj kjo mund të jetë true ndërsa `status` është `pending`. Degëzoni mbi këtë para një dërgimi: një false do të thotë se `emails.send` nga ky domen refuzohet me një 409 `domain_not_sendable`.
sending.checkedAtString or nil- Kur u kontrollua për herë të fundit gjendja e nënshkrimit, si String ISO 8601. Është nil kur nuk është kontrolluar kurrë, gjë që lexohet krejt ndryshe nga një dështim.
sending.errorString or nil- Dështimi i fundit i nënshkrimit me fjalë, ose nil sapo kalon.
sending.noteString- Një nga pesë fjalitë, e zgjedhur sipas `sending.status`, që thotë se çfarë do të thotë ajo gjendje me fjalë mbi të cilat pronari i domenit mund të veprojë. Është tekst për t’u lexuar nga një njeri, ndaj degëzoni sipas `sending.canSend` dhe jo sipas kësaj.
trackingHash- Domeni i personalizuar i gjurmimit i domenit, si te rreshtat e `list` ashtu edhe te ky, dhe ajo që ndryshon `update`.
tracking.hostString or nil- Domeni i gjurmimit, si `links.acme.com`, ose nil kur nuk është caktuar asnjë.
tracking.statusString- `none` do të thotë se nuk është caktuar asnjë domen gjurmimi, `pending` se nuk ka kaluar kurrë një kontroll, `active` se mail-i i ri e përdor, dhe `failed` se kishte kaluar më parë dhe që atëherë ka dalë nga përdorimi. Një host aktiv del nga përdorimi pas tre kontrollesh të dështuara me radhë, ose kur kontrolli i tij i fundit i kaluar është më i vjetër se 2 orë.
tracking.activeBoolean- E vërtetë pikërisht kur `status` është `active`, domethënë kur lidhjet e gjurmuara dhe pikseli i hapjes në postën e re nga domeni e përdorin hostin.
tracking.targetString- Adresa te e cila tregon regjistri CNAME, e përgatitur vetëm për këtë domen gjurmimi. Është një String bosh sa kohë që `host` është nil, dhe sa kohë që adresa për një host të ri është ende duke u përgatitur.
tracking.recordHash or nil- Regjistri për t’u publikuar, një Hash me `type` (gjithmonë `CNAME`), `name` dhe `value`, i emërtuar sipas `host` dhe me `target` si vlerë. Është nil kur nuk ka domen gjurmimi, dhe sa kohë që adresa për një host të ri është ende duke u përgatitur, ndaj `dig(:tracking, :record, :value)` e lexon në mënyrë të sigurt.
tracking.checkedAtString or nil- Kur u kontrollua host-i për herë të fundit, si String ISO 8601. Është nil deri në kontrollin e parë.
tracking.verifiedAtString or nil- Kur kaloi për herë të fundit një kontroll, si String ISO 8601. Është nil për një host që nuk ka kaluar kurrë asnjë.
tracking.errorString or nil- Çfarë gjeti kontrolli i fundit, me fjalë mbi të cilat pronari i domenit mund të veprojë. Është nil kur kontrolli i fundit kaloi ose kur ende nuk është kryer asnjë. Një host që ka dështuar në një ose dy kontrolle është ende `active` dhe e mbart arsyen këtu.
addressesArray<Hash>- Çdo rresht adrese në domen, që është ajo që `get` shton mbi një rresht të `list`. Përfshin rreshtat që i shkroi vetë dorëzimi nën catch-all, dhe ata pushojnë së pranuari sapo çaktivizohet catch-all, ndaj Array-i nuk është një listë e asaj që do të marrë postë.
addresses[].addressString- Adresa e plotë, e rindërtuar nga local-part-i i ruajtur dhe hostname-i dhe e kthyer në shkronja të vogla, kështu që përputhet gjithmonë me `domain` më sipër në vend që të largohet prej tij.
addresses[].enabledBoolean- False e çaktivizon adresën, dhe një adresë e çaktivizuar refuzohet edhe kur catch-all është aktiv. Çdo rresht listohet gjithsesi, ndaj filtroni sipas kësaj në vend që ta lexoni Array-n si bashkësinë e adresave që funksionojnë.
createdAtString- Kur u shtua rreshti i domenit, si String ISO 8601. Nuk është koha kur u verifikua domeni: ajo është `receiving.verifiedAt`, e cila mund të jetë nil ndërsa kjo është e vendosur.