Automatizimet
`automations.list`, `get`, `create`, `update`, `publish`, `pause`, `resume`, `archive`, `duplicate`, `delete`, `sendTest`, `stats`, `listVersions`, `restoreVersion`, `listStarters`, `listEnrollments`, `getEnrollment`, `enroll` dhe `exitEnrollment`, me `events.send`, `sendBatch` dhe `listNames`.
Çdo metodë
const automation = await openemail.automations.create({ name: 'Welcome series', starter: 'welcome-series', settings: { timezone: 'Europe/London' },}) const saved = await openemail.automations.update(automation.id, { definition: { ...automation.definition, trigger: { kind: 'event', eventName: 'trial.started', filters: [] } }, expectedUpdatedAt: automation.updatedAt,}) if (saved.problems.some((problem) => problem.blocking)) throw new Error(saved.problems[0]?.message) await openemail.automations.sendTest(saved.id, { stepKey: saved.definition.entry ?? '' })const live = await openemail.automations.publish(saved.id) const sent = await openemail.events.send( { name: 'trial.started', email: '[email protected]', properties: { plan: 'starter' }, createContact: true }, { idempotencyKey: 'trial:[email protected]' },) for await (const enrollment of openemail.automations.iterateEnrollments(live.id, { status: 'active' })) { if (enrollment.heldFor) console.log(enrollment.contact.email, enrollment.heldFor)} const stats = await openemail.automations.stats(live.id)const history = await openemail.contacts.listEvents('[email protected]', { name: 'trial.started' }) await openemail.automations.pause(live.id)await openemail.automations.resume(live.id) console.log(sent.enrolled, stats.totals.entered, history.items.length)Një automatizim mban një definition skice dhe versionin published që ekzekutohet. update ndryshon skicën dhe cilësimet, dhe publish e ngrin skicën si versionin e radhës dhe e aktivizon automatizimin. problems thotë çfarë ende e pengon një skicë të publikohet, dhe expectedUpdatedAt refuzon me 409 version_conflict një ruajtje që do të mbishkruante atë të dikujt tjetër.
Leximi kërkon automations:read dhe ndryshimi kërkon automations:write. publish, resume dhe sendTest kërkojnë edhe emails:send. events.send dhe events.sendBatch kërkojnë contacts:write, dhe contacts.listEvents kërkon contacts:read. delete i kërkon një tokeni qasjeje OAuth një kod verifikimi, ndërsa një çelësi API kurrë.
events.sendBatch merr deri në 100 ngjarje dhe nuk hedh kurrë gabim për një ngjarje të keqe: përgjigjja liston accepted dhe failed, secila me index të ngjarjes në vargun që dërguat.