SDK
Planifikimi dhe anulimi
`scheduledAt`, `emails.reschedule` dhe `emails.cancel`.
Dërgimi më vonë
await openemail.emails.send({ ...message, scheduledAt: 'PT1H' })await openemail.emails.send({ ...message, scheduledAt: new Date('2027-01-01T09:00:00Z') })await openemail.emails.send({ ...message, scheduledAt: '2027-01-01T09:00:00.000Z' })Një Date, një çast ISO-8601, ose një kohëzgjatje si PT1H / P2D. Deri në një vit larg, kurrë në të shkuarën.
Zhvendosja dhe ndalimi
const queued = await openemail.emails.send({ ...message, scheduledAt: 'PT1H' }) await openemail.emails.reschedule(queued.id, new Date(Date.now() + 86_400_000))await openemail.emails.cancel(queued.id)Vetëm mesazhet queued dhe scheduled mund të ndalen; çdo gjë më tej është një conflict_error, sepse një pjesë e tij është tashmë në kutinë postare të dikujt. Anulimi i një mesazhi tashmë të anuluar ka sukses dhe nuk ndryshon asgjë.
Një dritare anulimi në vend të saj
await openemail.emails.send({ ...message, cancellableForSeconds: 30 })Një mesazh i planifikuar është tashmë i anulueshëm derisa të niset, pra të dyja nuk mund të kombinohen dhe serveri e refuzon. Përdoreni këtë për një dritare anulimi te një mesazh i menjëhershëm.
Parametrat: planifikimi
scheduledAtDate | string- Kur të dërgohet, te `emails.send`: një `Date`, një çast ISO-8601, ose një kohëzgjatje si `PT1H` ose `P2D`, të cilën klienti e kthen në string për rrjetin. Të paktën një sekondë në të ardhmen dhe më së shumti 365 ditë larg, me secilin kufi një `validation_error` mbi `scheduledAt`, kurse gjuha e natyrshme nuk pranohet, sepse interpretimi i gabuar i "të martën tjetër" e dërgon mesazhin në një kohë që nuk mund të merret mbrapsht.
cancellableForSecondsnumber- Një dritare anulimi te një dërgim i MENJËHERSHËM: një integer nga 0 deri në 900, me parazgjedhje 0. Çdo vlerë mbi 0 refuzohet së bashku me `scheduledAt`, i cili është tashmë i anulueshëm derisa të niset, dhe një mesazh i mbajtur kështu rri te `queued` dhe jo te `scheduled`. Është i njëjti mekanizëm shtyrjeje me një vonesë të shkurtër.
idstringe detyrueshme- Id-ja `msg_…`, dhe argumenti i parë si te `emails.cancel` ashtu edhe te `emails.reschedule`. Të dyjave u duhet `emails:send` dhe jo një scope i tyrin, dhe të dyja zgjidhen brenda hapësirës së punës së vetë çelësit, kështu që një id që i përket një tjetre është një `not_found_error` pikërisht si një id që nuk ka ekzistuar kurrë.
reschedule.scheduledAtDate | stringe detyrueshme- Koha e re, si argumenti i dytë i `emails.reschedule`, e interpretuar me të njëjtat rregulla dhe përballë të njëjtës dritare njëvjeçare, dhe e vetmja gjë që do të ndryshojë `PATCH /emails/{id}` në thelb. Një kohëzgjatje është relative ndaj çastit kur e lexon SERVERI, pra një riplanifikim i riprovuar bie pak më vonë nga sa do të binte i pari: më vonë, kurrë më herët.
Përgjigjja: EmailResource
object'email'- Gjithmonë `email`. Të dyja thirrjet përgjigjen me të gjithë mesazhin dhe jo me një konfirmim, kështu që nuk duhet të merret asgjë përsëri për të parë se ç'ndryshoi; `emails.send` kthen të njëjtën formë plus `replayed`.
idstring- Identifikuesi `msg_…`. I qëndrueshëm për gjithë jetën e mesazhit dhe id-ja që merr çdo thirrje tjetër mbi të.
statusEmailStatus- `cancelled` pas një anulimi dhe `scheduled` pas një riplanifikimi, përfshirë një mesazh që ishte vetëm `queued` pas një dritareje anulimi, të cilin një riplanifikim e kthen në një planifikim të vërtetë. Vetëm mesazhet `queued` dhe `scheduled` mund të zhvendosen ose të ndalen; çdo gjë më tej është një `conflict_error` me kodin `email_not_cancellable`, sepse një pjesë e tij është tashmë në kutinë postare të dikujt.
scheduledAtstring | null- Çasti ISO kur mesazhi duhet të niset. I caktuar si për një dritare anulimi ashtu edhe për një dërgim me `scheduledAt`, meqë të dyja janë një mekanizëm i vetëm, dhe null te një dërgim i thjeshtë i menjëhershëm.
cancellableUntilstring | null- Kur anulimi pushon së funksionuari, që është i njëjti çast si `scheduledAt` në të dyja rrugët e shtyra. Null te një dërgim i menjëhershëm, i cili ka shkuar tashmë kur kthehet thirrja.
sentAtstring | null- Kur u nis vërtet mesazhi. Null ndërsa pret, dhe null përgjithmonë te një i anuluar.
messageIdstring | null- Message-ID sipas RFC 5322, null derisa të ekzistojë MIME-i, pra gjithmonë null te një mesazh mbi të cilin këto dy thirrje mund të veprojnë. Jo diçka me të cilën t'i drejtoheni API-së, dhe as ajo me të cilën kthehet një bounce i mëvonshëm: shërbimi dërgues e rishkruan header-in në dalje.
threadIdstring | null- Thread-i të cilit i përket ky mesazh, marrë nga kërkesa dhe i rishkruar me atë që raporton transporti sapo dërgon. Null kur nuk është përgjigje.
transportEmailTransport | (string & {}) | null- Si u nisën bajtet, dhe null deri te nisja, pra null te çdo mesazh që mund të kthejë një anulim ose një riplanifikim. Një dërgim në mënyrën test regjistron `test`, dhe bashkimi mbetet i hapur, kështu që një transport që kjo SDK nuk e emërton ende nuk është një ndryshim prishës.
attemptsnumber- Sa herë e ka marrë nisja këtë rresht në dorë. Rritet nga marrja në dorë dhe jo nga një dërgim i suksesshëm, dhe është 0 për çdo gjë që pret ende.
lastErrorstring | null- Dështimi i fundit i regjistruar për mesazhin, null përderisa nuk ka dështuar asgjë. Një dërgim i shtyrë, puna e të cilit nuk mund të vihej në radhë, shkruhet këtu si `Could not schedule: …` dhe kalon te `failed`, që është e vetmja mënyrë se si një mesazh i planifikuar pushon së qeni i anulueshëm pa e kërkuar askush.
fromstring- Adresa me të cilën mesazhi u autorizua të dilte, e ruajtur e thjeshtë dhe me shkronja të vogla. Jo gjithmonë adresa që u kërkua (një çelës i ngushtuar që nuk emërton asnjë `from` zgjidhet te adresa e parë që mund të përdorë), dhe çdo emër shfaqjeje hiqet këtu, sepse filtri `from` i `emails.list` krahason mbi barazi.