SDK
Plānot un atcelt
`scheduledAt`, `emails.reschedule` un `emails.cancel`.
Sūtīšana vēlāk
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' })Date, ISO-8601 brīdis vai ilgums, piemēram, PT1H / P2D. Līdz gadam uz priekšu, nekad pagātnē.
Pārvietošana un apturēšana
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)Apturēt var tikai queued un scheduled ziņojumus; viss, kas ir tālāk, ir conflict_error, jo daļa no tā jau ir kādā pastkastē. Jau atcelta ziņojuma atcelšana izdodas un neko nemaina.
Atsaukšanas logs tā vietā
await openemail.emails.send({ ...message, cancellableForSeconds: 30 })Plānotu ziņojumu jau tāpat var atcelt, līdz tas aiziet, tāpēc abus apvienot nevar, un serveris to atsaka. Izmantojiet šo atsaukšanas logam tūlītējam ziņojumam.
Parametri: plānošana
scheduledAtDate | string- Kad sūtīt, `emails.send` izsaukumā: `Date`, ISO-8601 brīdis vai ilgums, piemēram, `PT1H` vai `P2D`, ko klients tīklam pārvērš virknē. Vismaz sekundi nākotnē un ne vairāk kā 365 dienas uz priekšu, un abu robežu pārkāpums ir `validation_error` uz `scheduledAt`; dabiskā valoda netiek pieņemta, jo nepareizi saprasts „nākamajā otrdienā“ nosūta ziņojumu laikā, kuru vairs nevar atsaukt.
cancellableForSecondsnumber- Atsaukšanas logs TŪLĪTĒJAM sūtījumam: vesels skaitlis no 0 līdz 900, pēc noklusējuma 0. Jebkura vērtība virs 0 tiek atteikta līdzās `scheduledAt`, ko jau tāpat var atcelt, līdz tas aiziet, un šādi aizturēts ziņojums paliek stāvoklī `queued`, nevis `scheduled`. Tas ir tas pats atlikšanas mehānisms ar īsu aizkavi.
idstringobligāts- `msg_…` id un pirmais arguments gan `emails.cancel`, gan `emails.reschedule` izsaukumam. Abiem vajadzīgs `emails:send`, nevis savs tvērums, un abi tiek atrisināti atslēgas paša darbvietā, tāpēc id, kas pieder citai darbvietai, ir `not_found_error` tieši tāpat kā id, kāda nekad nav bijis.
reschedule.scheduledAtDate | stringobligāts- Jaunais laiks kā otrais arguments `emails.reschedule` izsaukumam, parsēts pēc tiem pašiem likumiem un pret to pašu viena gada logu, un vienīgais, ko pamatā esošais `PATCH /emails/{id}` mainīs. Ilgums ir relatīvs pret brīdi, kad to nolasa SERVERIS, tāpēc atkārtota pārplānošana nonāk nedaudz vēlāk, nekā būtu nonākusi pirmā: vēlāk, nekad agrāk.
Atbilde: EmailResource
object'email'- Vienmēr `email`. Abi izsaukumi atbild ar visu ziņojumu, nevis ar apstiprinājumu, tāpēc nekas nav jāielādē no jauna, lai redzētu, kas mainījies; `emails.send` atgriež to pašu formu plus `replayed`.
idstring- `msg_…` identifikators. Stabils visu ziņojuma mūžu, un tas ir id, ko pieņem katrs cits ar to saistīts izsaukums.
statusEmailStatus- `cancelled` pēc atcelšanas un `scheduled` pēc pārplānošanas, arī ziņojumam, kas bija tikai `queued` aiz atsaukšanas loga, ko pārplānošana pārvērš par īstu plānojumu. Pārvietot vai apturēt var tikai `queued` un `scheduled` ziņojumus; viss, kas ir tālāk, ir `conflict_error` ar kodu `email_not_cancellable`, jo daļa no tā jau ir kādā pastkastē.
scheduledAtstring | null- ISO brīdis, kad ziņojumu paredzēts nosūtīt. Iestatīts gan atsaukšanas logam, gan `scheduledAt` sūtījumam, jo abi ir viens mehānisms, un null parastam tūlītējam sūtījumam.
cancellableUntilstring | null- Kad atcelšana pārstāj darboties, kas abos atliktajos ceļos ir tas pats brīdis, kas `scheduledAt`. Null tūlītējam sūtījumam, kas izsaukuma atgriešanās brīdī jau ir aizgājis.
sentAtstring | null- Kad ziņojums patiešām aizgāja. Null, kamēr tas gaida, un uz visiem laikiem null atceltam.
messageIdstring | null- RFC 5322 Message-ID, null, kamēr MIME nepastāv, tātad vienmēr null ziņojumam, ar kuru šie divi izsaukumi var kaut ko darīt. Ar to nevar adresēt API, un tas nav arī tas, ar ko atgriežas vēlāka atteikuma vēstule: sūtīšanas pakalpojums galveni ceļā pārraksta.
threadIdstring | null- Pavediens, kuram šis ziņojums pieder, ņemts no pieprasījuma un pārrakstīts ar to, ko pēc nosūtīšanas ziņo transports. Null, kad tā nav atbilde.
transportEmailTransport | (string & {}) | null- Kā baiti aizgāja, un null līdz nosūtīšanai, tātad null katram ziņojumam, ko var atgriezt atcelšana vai pārplānošana. Testa režīma sūtījums reģistrē `test`, un savienība paliek atvērta, lai transports, ko šis SDK vēl nenosauc, nebūtu lūzumu izraisoša izmaiņa.
attemptsnumber- Cik reižu nosūtīšana ir pieteikusies uz šo rindu. To palielina pieteikšanās, nevis veiksmīgs sūtījums, un tas ir 0 visam, kas vēl gaida.
lastErrorstring | null- Pēdējā pret ziņojumu reģistrētā kļūme, null, kamēr nekas nav neizdevies. Atlikts sūtījums, kura darbu neizdevās ielikt rindā, tiek ierakstīts šeit kā `Could not schedule: …` un pārvietots uz `failed`, un tas ir vienīgais veids, kā plānots ziņojums pārstāj būt atceļams, nevienam to neprasot.
fromstring- Adrese, ar kuru ziņojums bija autorizēts iziet, glabāta kaila un mazajiem burtiem. Ne vienmēr tā adrese, kas tika prasīta (sašaurināta atslēga, kas nenosauc `from`, atrisinās uz pirmo adresi, ko tā drīkst lietot), un jebkurš redzamais vārds šeit tiek nomests, jo `emails.list` filtrs `from` salīdzina pēc vienādības.