Kalo te dokumentacioni
SDK

Transmetime

`broadcasts.preview`, `send`, `list`, `listAll`, `iterate`, `get` dhe `cancel`.

Çdo metodë

broadcasts.ts
const draft = {  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>',  text: 'Hi {{firstName|there}}, here is what changed this month. Unsubscribe: {{unsubscribeUrl}}',  tags: { campaign: 'release-2026-09' },} const reach = await openemail.broadcasts.preview(draft)console.log(reach.recipients, reach.unsubscribed, reach.suppressed) const broadcast = await openemail.broadcasts.send(draft) let latest = await openemail.broadcasts.get(broadcast.id)while (['scheduled', 'queued', 'sending'].includes(latest.status)) {  await new Promise((resolve) => setTimeout(resolve, 5_000))  latest = await openemail.broadcasts.get(broadcast.id)} for await (const copy of openemail.emails.iterate({ broadcastId: broadcast.id })) {  console.log(copy.id, copy.status)} const later = await openemail.broadcasts.send({ ...draft, scheduledAt: 'P1D' })await openemail.broadcasts.cancel(later.id) const history = await openemail.broadcasts.list({ audienceId: draft.audienceIds[0] })console.log(latest.status, latest.counts.sent, history.items.length)

Një transmetim dërgon një mesazh te të gjithë në një ose më shumë audienca, si kopje më vete për çdo person. Çdo kopje ka saktësisht një marrës dhe as cc as bcc, ndaj askush nuk sheh se kujt tjetër i shkoi, dhe çdo kopje është një email i zakonshëm me id-në e vet msg_, ngjarje, gjurmim dhe webhook-e. emails.list({ broadcastId }) i rendit. Kopjet nuk ruhen në dosjen Të dërguarat, sepse transmetimi është regjistrimi.

send zgjidhet menjëherë me transmetimin queued, ose scheduled kur jepni scheduledAt, dhe dërgimi vazhdon në sfond. send kërkon emails:send dhe audiences:read, preview kërkon audiences:read, list, listAll, iterate dhe get kërkojnë emails:read, dhe cancel kërkon emails:send.

Çdo send mban një Idempotency-Key, tuajin përmes options.idempotencyKey ose një që e krijon SDK-ja, ndaj një riprovim pas një dështimi rrjeti përgjigjet me transmetimin që krijoi përpjekja e parë në vend që të dërgojë dy herë. preview, get dhe cancel janë të sigurta për t’u përsëritur dhe riprovohen.

Fushat e bashkimit

subject, html dhe text plotësohen për çdo person nga kontakti i tij. {{firstName}} është fjala e parë e emrit të kontaktit, {{lastName}} pjesa tjetër, {{name}} emri i plotë, {{email}} adresa ku shkon kopja dhe {{unsubscribeUrl}} lidhja që e çregjistron.

Çdo fushë pranon një vlerë rezervë pas një vije, e përdorur kur kontakti nuk ka vlerë për të, ndaj {{firstName|there}} bëhet "there" për një kontakt të ruajtur pa emër. Vlerat maskohen në html, dhe çdo {{…}} tjetër lihet saktësisht siç është shkruar.

Jepni template në vend të html dhe text për të dërguar një shabllon të ruajtur. Të njëjtat pesë vlera i arrijnë si props, por vetëm props-et që shablloni deklaron, ndaj një shabllon që deklaron firstName e merr dhe një që nuk e deklaron nuk refuzohet kurrë për këtë. Gjithçka te template.props shkon njësoj në çdo kopje.

Çregjistrimi

Çdo kopje mban kokat e çregjistrimit me një klikim që i lejojnë një klienti poste të shfaqë butonin e vet të çregjistrimit, gjë që kërkojnë ofruesit e mëdhenj të kutive postare nga posta masive. Një trup html ose text që nuk e vendos vetë {{unsubscribeUrl}} merr një fundfaqe me një rresht me lidhjen. Një shabllon dërgohet saktësisht ashtu siç është, ndaj vendosni {{unsubscribeUrl}} në shabllon.

Çregjistrimi e shënon personin të çregjistruar në çdo audiencë ku shkoi ai transmetim, dhe AudienceContactResource.unsubscribedAt e tregon këtë te audiences.listContacts. Ai mbetet në audiencë dhe në librin e adresave, audiencat e tjera nuk preken, dhe posta që i dërgohet një mesazh në herë vazhdon të dalë. Heqja nga audienca dhe shtimi sërish e regjistron përsëri.

Kush kapërcehet

Një transmetim arrin çdo kontakt në të paktën një nga audienceIds, një herë sado prej tyre ta mbajnë. Kapërcen një kontakt që është çregjistruar nga çdo prej atyre audiencave ku ndodhet, dhe një adresë në listën e bllokimit pas një kthimi ose ankese, ose sepse dikush e shtoi aty. Një kontakt i shtuar në një nga audiencat pas send, por para se dërgimi ta arrijë, përfshihet.

preview kthen të njëjtët numra pa dërguar: recipients, unsubscribed dhe suppressed. Një send që nuk do të arrinte askënd hedh 422 no_recipients.

I gjithë dërgimi krahasohet me dërgimet mujore të planit para se të shkruhet ndonjë gjë, ndaj një transmetim që kuota nuk e mbulon hedh 429 send_quota_exceeded dhe nuk lë asgjë pas. Çdo kopje numërohet si një dërgim.

Gjendja dhe ecuria

get i lexon counts drejtpërdrejt nga kopjet, ndaj pyeteni ndërsa një transmetim dërgon. status kalon nga scheduled ose queued te sending dhe ngulet te sent pasi çdo kopje e dorëzuar ka dalë ose ka dështuar. Mbetet sending sa kohë kopjet ende presin, edhe pasi completedAt thotë se u arrit personi i fundit. failed do të thotë se i gjithë transmetimi u ndal, dhe lastError tregon pse: nga adresa from nuk mund të dërgohet më, shablloni pushoi së zgjidhuri, plani mbaroi në mes të rrugës, vetë dërgimi vazhdoi të dështonte, ose nuk u shkrua dot asnjë kopje.

cancel ndal një transmetim që është scheduled, queued ose sending. Nuk shtohet askush tjetër dhe çdo kopje që pret ende anulohet, ndërsa kopjet që kanë dalë nuk mund të tërhiqen. Pasi ka dalë çdo kopje, cancel hedh 409 broadcast_not_cancellable, dhe anulimi i një transmetimi të anuluar zgjidhet me të ashtu siç është.

Përgjigja: BroadcastResource

send, get dhe cancel zgjidhen secili me një të tillë. list zgjidhet me një faqe të tyre, { items, hasMore, nextCursor }, më i riu i pari, dhe listAll e iterate kalojnë çdo faqe. preview zgjidhet me një BroadcastPreviewResource me audienceIds, recipients, unsubscribed dhe suppressed.

idstring
Identifikuesi i qëndrueshëm, `brd_` i ndjekur nga 24 shenja heksadecimale.
statusBroadcastStatus
`scheduled`, `queued`, `sending`, `sent`, `cancelled` ose `failed`. `BROADCAST_STATUSES` emërton secilën.
modeApiKeyMode
`live` ose `test`, sipas çelësit që e krijoi. Kopjet e një transmetimi testues shënohen të dërguara dhe nuk i dorëzohen askujt.
sourceEmailSource
Ku nisi: `api` për një çelës, `oauth` për një aplikacion të lidhur, `composer` për aplikacionin, `mcp` për një asistent.
audienceIdsstring[]
Audiencat ku u dërgua, secila një herë.
fromstring
Adresa nga e cila dërgohet çdo kopje.
subjectstring
Subjekti siç është shkruar, me fushat e bashkimit. Bosh kur subjektin e jep një shabllon.
countsBroadcastCounts
`recipients` është vlerësimi i marrë te `send`. `created` numëron kopjet e shkruara, `skipped` njerëzit e kapërcyer sepse adresa e tyre ishte e bllokuar deri atëherë, dhe `failedToQueue` njerëzit kopja e të cilëve nuk u shkrua dot. `queued`, `sending`, `sent`, `failed` dhe `cancelled` numërojnë kopjet sipas gjendjes në të cilën është secila tani.
lastErrorstring | null
Pse dështoi transmetimi, ose kopja më e fundit që nuk u shkrua dot dhe pse. Null sa kohë nuk ka shkuar asgjë keq.
scheduledAtstring | null
ISO-8601 UTC, kur duhet të nisë dërgimi. Null për një transmetim të dërguar menjëherë.
startedAtstring | null
ISO-8601 UTC, kur dërgimi arriti njerëzit e parë.
completedAtstring | null
ISO-8601 UTC, kur u arrit personi i fundit. Kopjet mund të presin ende të dalin pas kësaj.
cancelledAtstring | null
ISO-8601 UTC, kur `cancel` e ndali.
createdAtstring
ISO-8601 UTC, kur u thirr `send`. Përcakton rendin e listës.
updatedAtstring
ISO-8601 UTC, përditësohet ndërsa dërgimi ecën.