Kontaktet, audiencat dhe transmetimet
Çdo komandë për librin e adresave, audiencat, transmetimet dhe listën e ndalimeve, me shembuj praktikë.
Si lidhen me njëra-tjetrën
Katër hapësira emrash mbulojnë njerëzit të cilëve u shkruani. Kontaktet janë libri i adresave i hapësirës së punës, audiencat janë lista kontaktesh me emër, një transmetim dërgon një mesazh te të gjithë në disa audienca, dhe lista e ndalimeve mban adresat te të cilat hapësira e punës nuk do të dërgojë. Çdo komandë thërret një metodë të SDK-së, ndaj faqet e SDK-së i përshkruajnë të njëjtat thirrje më në thellësi.
- Një kontakt nuk ka id. Adresa e tij është çelësi që merr çdo komandë
contacts, e shkurtuar nga hapësirat dhe me shkronja të vogla, ndaj[email protected]dhe[email protected]janë një kontakt i vetëm. Një audiencë ka një idaud_, një transmetim një idbrd_, dhe një ndalim id-në që shtypsuppressions list. - Çdo kontakt ndodhet në audiencën e parazgjedhur për sa kohë ekziston. Ajo audiencë nuk mund të fshihet, zbrazet ose hollohet, dhe
builtinnë të ështëdefault. - Libri i adresave i përket hapësirës së punës, ndaj çdo anëtar dhe çdo çelës lexon dhe shkruan të njëjtin libër.
- Çdo hapësirë emrash i përgjigjet edhe njëjësit të vet, si te
openemail contact get, dhe pseudonimet e zakonshme funksionojnë:ls,show,new,editdherm. Tesuppressions, foljet e së cilës janëadddheremove,newçon teadddhermteremove.
openemail <namespace> <verb> --help tregon çdo flamur me llojin e tij, fushëveprimet, endpoint-in dhe çfarë kthen komanda. Shtoni --json për të njëjtën faqe si të dhëna.
Kontaktet
Libri i adresave i hapësirës së punës: njerëzit të cilëve u ka shkruar një anëtar nga kompozuesi i aplikacionit, plus kushdo i ruajtur me dorë. Posta që mbërrin nuk shton askënd, as një dërgim përmes API-t ose CLI-së.
| Komanda | Çfarë bën |
|---|---|
| openemail contacts list | Një faqe e kontakteve të ruajtura, ata që u është dërguar postë më së fundi të parët. --source mban kontaktet manual ose auto, dhe --q kërkon në emra dhe adresa |
| openemail contacts get <email> | Një kontakt, me çdo audiencë në të cilën ndodhet |
| openemail contacts create --email <value> | Ruani një kontakt të ri, me --name, --notes dhe --audience-ids. Një adresë që është tashmë në libër refuzohet me 409 contact_exists |
| openemail contacts update <email> | Ndryshoni --name ose --notes, ku null pastron njërën prej tyre. Vetë adresa nuk mund të ndryshojë |
| openemail contacts delete <email> | Fshini kontaktin me shënimet, foton dhe anëtarësimet e tij, dhe fshiheni adresën që kompozuesi të mos e regjistrojë sërish |
| openemail contacts set-audiences <email> --audience-ids <a,b> | Bëjini audiencat në të cilat ndodhet kontakti saktësisht këtë listë. Audienca e parazgjedhur mbahet gjithmonë |
| openemail contacts list-people | Të gjithë në faqen Kontaktet: kontaktet e ruajtura dhe, me threads:read, çdo adresë e parë në postë, me numrin e bisedave. --sort, --q, --email dhe --blocked e ngushtojnë |
| openemail contacts save <email> | Ruani një adresë, mbani një të regjistruar nga një dërgim, ose rikthoni një të fshirë. Kurrë gabim, cilado qoftë gjendja e adresës |
| openemail contacts delete-many <emails...> | Fshini dhe fshihni nga 1 deri në 200 adresa me një thirrje |
| openemail contacts set-photo <email> <data> | Ngarkoni foton nga një skedar, ose nga stdin me -: PNG, JPEG, WebP ose GIF deri në 5 MB |
| openemail contacts remove-photo <email> | Hiqni foton dhe fshini imazhin e ruajtur |
| openemail contacts block <email> | Vendoseni adresën në listën e bllokimit të hapësirës së punës, që posta prej saj të refuzohet. Një etiketë plus hiqet |
| openemail contacts unblock <email> | Hiqni çdo rregull të listës së bllokimit që e bllokon adresën, përfshirë një rregull për gjithë domenin |
| openemail contacts list-threads <email> | Bisedat ku adresa shkroi ose iu shkrua, në çdo dosje. --q kërkon brenda tyre |
| openemail contacts activity <email> | Posta e marrë nga adresa dhe e dërguar te ajo gjatë një dritareje kohore, 90 ditë përveç nëse --minutes thotë ndryshe, me bisedat që presin përgjigje dhe kohën mesatare të përgjigjes në secilin drejtim |
Audiencat
Lista kontaktesh me emër, deri në 100 në një hapësirë pune. Një adresë duhet të jetë kontakt para se të hyjë në një të tillë, përveçse përmes import-contacts, që i ruan adresat e reja ndërsa ecën.
| Komanda | Çfarë bën |
|---|---|
| openemail audiences list | Një faqe e audiencave, e parazgjedhura e para dhe të tjerat më të rejat të parat, secila me contactCount e saj |
| openemail audiences growth | Si u rritën audiencat gjatë një dritareje kohore, 30 ditë përveç nëse --days ose --minutes thotë ndryshe: hyrjet dhe çregjistrimet për çdo interval, dhe totalet |
| openemail audiences get <id> | Një audiencë, me një contactCount të freskët |
| openemail audiences create --name <value> | Krijoni një audiencë bosh, me një --description opsionale. Emrat nuk janë unikë |
| openemail audiences update <id> | Ndryshoni --name ose --description. Anëtarësia nuk preket |
| openemail audiences delete <id> | Fshini audiencën dhe mbani kontaktet e saj. Audienca e parazgjedhur nuk mund të fshihet |
| openemail audiences empty <id> | Nxirrni çdo kontakt dhe mbani audiencën, me id-në, emrin dhe përshkrimin e saj |
| openemail audiences list-contacts <id> | Një faqe e kontakteve në audiencë, me kohën kur hyri secili dhe nëse u çregjistrua. --sort, --q, --source dhe --statuses e ngushtojnë |
| openemail audiences add-contact <id> --email <value> | Vendosni një kontakt ekzistues në audiencë. Shtimi i dikujt që është tashmë aty nuk ndryshon asgjë |
| openemail audiences remove-contact <id> <email> | Nxirrni një kontakt. Një kontakt që nuk është në audiencë jep 404 |
| openemail audiences add-contacts <id> --emails <a,b> | Vendosni deri në 200 kontakte ekzistuese, dhe raportoni te missing adresat që nuk janë kontakte |
| openemail audiences remove-contacts <id> --emails <a,b> | Nxirrni deri në 200 kontakte, dhe raportoni ata që nuk ishin në të |
| openemail audiences import-contacts <id> --contacts <json|@file|-> | Importoni deri në 500 rreshta { email, name }, duke ruajtur adresat që nuk janë ende kontakte |
Transmetimet
Një mesazh për të gjithë në deri në 10 audienca, i dërguar si kopje më vete për çdo person, me fushat e bashkimit të plotësuara dhe një lidhje çregjistrimi. Çdo kopje është një email i zakonshëm me id-në e vet msg_, ngjarjet dhe webhook-ët e vet.
| Komanda | Çfarë bën |
|---|---|
| openemail broadcasts preview --audience-ids <a,b> | Numëroni kë do të arrinte një transmetim te këto audienca, dhe kë do të anashkalonte si të çregjistruar ose të ndaluar. Nuk dërgon asgjë |
| openemail broadcasts send --audience-ids <a,b> --from <value> | Dërgoni me --subject dhe --html ose --text, ose me një --template të ruajtur, tani ose në --scheduled-at |
| openemail broadcasts list | Një faqe transmetimesh, më të rejat të parat, me numra të drejtpërdrejtë. --audience-id mban ato që u dërguan te ajo audiencë |
| openemail broadcasts get <id> | Një transmetim, me statusin dhe numrat e drejtpërdrejtë: komanda për ta kontrolluar vazhdimisht ndërsa dërgon |
| openemail broadcasts stats <id> | Totalet e të dorëzuarave, të kthyerave, të hapurave, të klikuarave dhe të çregjistruarave, dhe një seri për çdo interval --grain, një orë përveç nëse thoni ndryshe |
| openemail broadcasts list-recipients <id> | Te kush shkoi çdo kopje dhe çfarë ndodhi me të. --filter mban një grup, si bounced ose not_opened |
| openemail broadcasts get-recipient <id> <email-id> | Kopja e një personi, me subjektin, HTML-në dhe tekstin saktësisht siç i mori |
| openemail broadcasts cancel <id> | Ndaloni një transmetim që është i planifikuar, në radhë ose ende duke u dërguar. Kopjet që janë nisur nuk mund të tërhiqen |
Ndalimet
Adresat te të cilat kjo hapësirë pune nuk do të dërgojë: kthimet e forta dhe ankesat, të regjistruara ndërsa ndodhin, dhe çdo adresë që shtoni me dorë. Një dërgim te njëra prej tyre refuzohet për atë marrës para se të niset ndonjë gjë.
| Komanda | Çfarë bën |
|---|---|
| openemail suppressions list | Një faqe e listës, më të rejat të parat. --reason mban bounce, complaint ose manual, dhe --q kërkon |
| openemail suppressions get <id> | Një rresht: adresa, arsyeja, detaji që mbarti kthimi ose ankesa, dhe nëse mund të hiqet |
| openemail suppressions add --email <value> | Ndaloni dërgimin te një adresë. Shtimi i një adrese që është tashmë aty kthen rreshtin që ajo ka |
| openemail suppressions remove <id> | Lejoni sërish postën te adresa. Një kthim i fortë nuk mund të hiqet |
Ndalimet dhe lista e bllokimit janë lista të ndryshme. suppressions add ndal postën që del drejt një adrese, dhe contacts block refuzon postën që vjen prej saj.
Fushëveprimet
Shumica e komandave kanë nevojë për fushëveprimin e leximit ose të shkrimit të hapësirës së tyre të emrave. Disa kanë nevojë për një tjetër, sepse lexojnë ose ndryshojnë diçka tjetër:
| Fushëveprimi | Komandat |
|---|---|
| contacts:read | contacts list, get dhe list-people |
| contacts:write | contacts create, update, delete, save, delete-many, set-photo dhe remove-photo, si edhe audiences import-contacts krahas audiences:write |
| audiences:read | audiences list, growth, get dhe list-contacts, si edhe broadcasts preview, ndaj një çelës që nuk mund të dërgojë mund ta tregojë përsëri numrin |
| audiences:write | Çdo komandë tjetër audiences, dhe contacts set-audiences. contacts create --audience-ids ka nevojë për të krahas contacts:write |
| threads:read | contacts list-threads dhe activity, si edhe adresat e para në postë te list-people |
| settings:read | suppressions list dhe get |
| settings:write | suppressions add dhe remove, si edhe contacts block dhe unblock |
| emails:read | broadcasts list, get, stats, list-recipients dhe get-recipient |
| emails:send | broadcasts send, që ka nevojë edhe për audiences:read, dhe broadcasts cancel |
- Një çelës i kufizuar në adresa ose domene të caktuara lexon dhe shkruan të njëjtin libër adresash si çdo çelës tjetër. Sheh vetëm transmetimet e dërguara nga një adresë ose domen që mban, merr vetëm kontaktet e ruajtura nga
list-people, dhe refuzohet me 422capability_unsupportedngacontacts list-threads,activity,blockdheunblock, si edhe ngasuppressions adddheremove. - Një hyrje me shfletues nga një anëtar që arrin vetëm disa adresa refuzohet me 422
capability_unsupportednë çdo komandëcontacts,audiencesdhebroadcasts.suppressions addrefuzon një hyrje me shfletues nga kushdo përveç pronarit të hapësirës së punës.
Shembuj praktikë
Ndërtoni një audiencë nga një skedar, pastaj numëroni kë do të arrinte një transmetim te ajo. import-contacts ruan adresat që nuk janë ende kontakte, dhe ekzekutimi sërish nuk krijon dhe nuk shton asgjë dy herë.
[ { "email": "[email protected]", "name": "Ada Lovelace" }, { "email": "[email protected]", "name": "Grace Hopper" }, { "email": "[email protected]" }]AUDIENCE=$(openemail audiences create --name 'Product updates' --json | jq -r .id)openemail audiences import-contacts "$AUDIENCE" --contacts @contacts.jsonopenemail broadcasts preview --audience-ids "$AUDIENCE"Kontrolloni një transmetim me --dry-run, që shtyp kërkesën dhe nuk dërgon asgjë, pastaj dërgojeni. Transmetimi krijohet menjëherë dhe dërgohet në sfond, ndaj kontrolloni vazhdimisht me get për ta ndjekur. Ky trup nuk e vendos {{unsubscribeUrl}}, ndaj çdo kopje merr një fund faqeje çregjistrimi me një rresht.
{ "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"], "from": "Acme <[email protected]>", "subject": "{{firstName|Hello}}, the September release is out", "html": "<p>Hi {{firstName|there}},</p><p>Here is what changed this month.</p>", "scheduledAt": "2026-10-01T09:00:00Z"}openemail broadcasts send --data @broadcast.json --dry-runBROADCAST=$(openemail broadcasts send --data @broadcast.json --yes --json | jq -r .id)openemail broadcasts get "$BROADCAST"openemail broadcasts stats "$BROADCAST" --grain dayShihni kë nuk arriti një transmetim. --ndjson shtyp një marrës për rresht, dhe --all --json një dokument me çdo faqe.
openemail broadcasts list-recipients brd_5a8c1e3f7b2d94a06c8e1f3b --filter bounced --ndjson | jq -r .emailopenemail broadcasts list-recipients brd_5a8c1e3f7b2d94a06c8e1f3b --filter not_opened --all --json | jq ".items | length"openemail suppressions list --reason bounce --all --max 50Kopjoni anëtarët e regjistruar të një audience në një tjetër. jq e kthen rrjedhën në trupin që merr add-contacts, dhe --data - e lexon nga stdin. --max 200 e mban te 200 adresat që pranon një thirrje.
openemail audiences list-contacts aud_9f2c4b7e1a0d63d84c5f2e7b --statuses subscribed --max 200 --ndjson \ | jq -s '{ emails: map(.email) }' \ | openemail audiences add-contacts aud_1c4e7a9b2d0f36e85a7c1b4d --data -Fshini çdo kontakt që kompozuesi regjistroi në një domen. delete-many merr deri në 200 adresa për thirrje, ndaj xargs -n 200 ndan një listë më të gjatë. Kontrolloni fillimisht grupet me --dry-run, sepse nuk ka zhbërje.
openemail contacts list --source auto --all --ndjson \ | jq -r 'select(.email | endswith("@old-vendor.example")) | .email' > leaving.txtxargs -n 200 openemail contacts delete-many --dry-run < leaving.txtxargs -n 200 openemail contacts delete-many --yes < leaving.txtNdaloni dërgimin te një adresë, lejojeni sërish një tjetër, dhe bllokoni një dërgues. removable tregon cilat rreshta do të pranojë suppressions remove.
openemail suppressions add --email [email protected]openemail suppressions list --q [email protected] --json | jq -r '.items[] | select(.removable) | .id'openemail suppressions remove 7b1e2c3d-4f5a-4b6c-8d7e-9f0a1b2c3d4e --yesopenemail contacts block [email protected]Konfirmimet dhe kodet e verifikimit
Këto komanda kërkojnë konfirmim në terminal para se të ekzekutohen:
| Hapësira e emrave | Kërkon konfirmim |
|---|---|
| contacts | delete, delete-many, remove-photo dhe unblock |
| audiences | delete, empty, remove-contact dhe remove-contacts |
| broadcasts | send dhe cancel |
| suppressions | remove |
--yeskonfirmon për ju. Pa mbikëqyrje, me--jsonose--no-input, në CI ose pa terminal, një komandë që do të pyeste ndalet meRefusing to run unattended. Pass --yes to confirm.dhe kodin e daljes2.--dry-runshtyp kërkesën që do të dërgonte komanda dhe del me kodin0, pa pyetur dhe pa ndryshuar asgjë.- Me një hyrje me shfletues,
audiences deletekërkon fillimisht një kod verifikimi, si aplikacioni web.--yesnuk e kapërcen kurrë, dhe pa mbikëqyrje komanda ndalet me kodin e daljes4. Ekzekutoni më parëopenemail verify, ose përdorni një çelës API, të cilit nuk i kërkohet kurrë. audiences emptynuk kërkon kurrë kod verifikimi, ndaj kontrolloni id-në para se të jepni--yes.
Ndarja në faqe
Çdo komandë që liston lexon një faqe. Kur mbeten të tjera, jepini --cursor kursorin që shtypi, me të njëjtët filtra, ose lexojini të gjitha:
--alllexon çdo faqe dhe i transmeton elementet: një tabelë në terminal, dhe një objekt JSON për rresht kur dalja dërgohet në pipe ose me--ndjson.--max <n>ndalet pas aq elementeve dhe nënkupton--all.--jsonshtyp një dokument të vetëm{ items, hasMore, nextCursor }, përfshirë me--all.- Një kursor i keqformuar ose i vjetëruar jep 400
invalid_cursor. Filloni sërish pa të.
| Komanda | Madhësia e faqes |
|---|---|
| openemail contacts list | 1 deri në 200, 50 përveç nëse --limit thotë ndryshe |
| openemail contacts list-people | 1 deri në 100, 25 përveç nëse --limit thotë ndryshe |
| openemail contacts list-threads | 1 deri në 100, 25 përveç nëse --limit thotë ndryshe |
| openemail audiences list | 1 deri në 100, 25 përveç nëse --limit thotë ndryshe |
| openemail audiences list-contacts | 1 deri në 200, 50 përveç nëse --limit thotë ndryshe |
| openemail broadcasts list | 1 deri në 100, 25 përveç nëse --limit thotë ndryshe |
| openemail broadcasts list-recipients | 1 deri në 200, 50 përveç nëse --limit thotë ndryshe |
| openemail suppressions list | 1 deri në 100, 25 përveç nëse --limit thotë ndryshe |
Mirë të dihet
contacts createe refuzon një adresë që është tashmë në libër me 409contact_exists, ndaj një riprovim nuk e mbishkruan kurrë një emër që dikush e ka redaktuar.contacts savenuk refuzon kurrë: e ruan, e mban ose e rikthen adresën, cilado qoftë gjendja e saj.contacts deletepranon edhe një adresë që është parë vetëm në postë, gjë që e heq atë person ngalist-people. Posta mbetet. Nuk ka zhbërje: ruajtja sërish e adresës nis një kontakt pa emër, pa shënime dhe pa asnjë audiencë përveç asaj të parazgjedhur.- Adresa është identiteti i një kontakti, ndaj
contacts updatenuk mund ta ndryshojë. Zhvendosja e një kontakti është njëdeletedhe njëcreate. contacts set-photoe lexon imazhin nga një skedar, ose nga stdin me-. Jepni--content-type, siimage/jpeg: pa të imazhi mund të shkojë siapplication/octet-stream, të cilin serveri e refuzon me 422invalid_image.broadcasts send --scheduled-atpranon një kohë ISO 8601 si2026-10-01T09:00:00Z, ose një kohëzgjatje ISO 8601 siPT2HoseP1D, deri në 365 ditë përpara. Vonesat e shkurtra që pranonsend --at, si2h, refuzohen këtu.- Fushat e bashkimit funksionojnë te
--subject,--htmldhe--text:{{firstName}},{{lastName}},{{name}},{{email}}dhe{{unsubscribeUrl}}, secila me një vlerë rezervë pas një vije vertikale, si te{{firstName|there}}. Një trup që nuk e vendos{{unsubscribeUrl}}merr një fund faqeje çregjistrimi me një rresht. Një shabllon dërgohet ashtu siç është, ndaj vendoseni lidhjen në shabllon. - Një transmetim kontrollohet kundrejt dërgimeve mujore të planit para se të shkruhet ndonjë gjë, dhe çdo kopje numërohet si një dërgim. Një transmetim që kuota nuk e mbulon refuzohet me 429
send_quota_exceeded, dhe nuk lihet asgjë pas. - Jepini
broadcasts send--idempotency-keytuajin kur një skript mund ta ekzekutojë sërish hapin. I njëjti çelës përgjigjet me transmetimin që krijoi në vend që të dërgojë një të ri. - Një kontakt që çregjistrohet nga një transmetim mbetet në audiencë me
unsubscribedAttë caktuar, dhe transmetimet e mëvonshme te ajo audiencë e anashkalojnë.audiences list-contacts --statuses unsubscribedi liston. - Një kthim i fortë mbetet në listën e ndalimeve.
suppressions removee refuzon me 409suppression_not_removable, dheremovablenë çdo rresht e thotë këtë paraprakisht.