SDK
Concepten
`drafts.list`, `listAll`, `iterate`, `get`, `create`, `update` en `delete`.
Elke methode
const page = await openemail.drafts.list({ query: 'invoice', limit: 25 })const draft = await openemail.drafts.get('draft_…') const created = await openemail.drafts.create({ to: ['[email protected]'], cc: [], bcc: [], subject: 'Your September invoice', html: '<p>Draft body.</p>', from: '[email protected]', threadId: 'thread_…',}) const updated = await openemail.drafts.update(created.id!, { subject: 'Revised' })await openemail.drafts.delete(updated.id!)update behoudt de id van het concept, dus de waarde die het teruggeeft is altijd degene die je meegaf. Een onbekende id is een 404 en geen nieuw concept.
list pagineert zoals threads.list dat doet: de pageToken van de API komt terug als nextCursor en gaat erin als cursor, en listAll en iterate volgen die voor je.
Om een concept te versturen geef je de id ervan door aan emails.send. Het concept levert de inhoud en de verzending levert de envelop.
await openemail.emails.send({ from: '[email protected]', to: '[email protected]', draftId: 'draft_…',})Parameters: drafts.create en drafts.update (DraftInput)
tostring[]- Ontvangeradressen als gewone strings, niet de `RecipientInput`-vormen die `emails.send` accepteert, omdat dit endpoint de array samenvoegt tot de door komma's gescheiden lijst die de driver wil. Bij create wordt een weggelaten array leeg opgeslagen; bij update laat een weggelaten veld de opgeslagen ontvangers ongemoeid, aangezien de handler het concept eerst leest en samenvoegt.
ccstring[]- Cc-adressen, in dezelfde vorm van gewone strings als `to`. Leeg bij create wanneer weggelaten, en onaangeroerd bij update wanneer weggelaten.
bccstring[]- Bcc-adressen, in dezelfde vorm van gewone strings als `to`. Leeg bij create wanneer weggelaten, en onaangeroerd bij update wanneer weggelaten.
subjectstring- Het onderwerp van het concept, maximaal 998 tekens, de regellimiet uit RFC 5322. Bij create is de standaard een lege string, dus een concept heeft er altijd een.
htmlstring- De body van het concept als markup, maximaal 1.000.000 tekens. Dit is de body die wint: `html` en `text` voeden het ene berichtveld van de driver, dus beide meesturen slaat deze op.
textstring- Een platte-tekstbody, maximaal 1.000.000 tekens, alleen gebruikt wanneer `html` ontbreekt. Het concept slaat één body op in plaats van twee delen, dus tekst die hier wordt aangeleverd komt terug op `html` wanneer het concept gelezen wordt.
fromstring- Het afzenderadres dat op het concept opgeslagen moet worden. Bij update wordt het uit het opgeslagen concept meegenomen wanneer het weggelaten is. De driver bouwt het hele bericht opnieuw op uit wat hij aangereikt krijgt, dus een gedeeltelijke patch die het liet vallen zou stilletjes de gekozen afzender wijzigen.
threadIdstring- Hang het concept aan een bestaande thread zodat het als antwoord wordt opgeslagen. Net als `from` wordt het bij update meegenomen wanneer het weggelaten is, omdat het bericht opnieuw opbouwen zonder deze waarde het antwoord van zijn thread zou losmaken.
Antwoord: DraftResource (drafts.get)
object'draft'- Altijd `draft`.
idstring- De id van het concept. Schrijfacties antwoorden met een `SavedDraftResource` in plaats van met een heel concept, dus lees de id van het resultaat af in plaats van die te hergebruiken die je stuurde.
tostring[]- De ontvangeradressen zoals het concept ze heeft opgeslagen. Een lege array, nooit null, wanneer het concept er geen heeft.
ccstring[]- Cc-adressen zoals opgeslagen. Een lege array, nooit null, wanneer het concept er geen heeft.
bccstring[]- Bcc-adressen zoals opgeslagen. Een lege array, nooit null, wanneer het concept er geen heeft.
subjectstring- Het opgeslagen onderwerp, of een lege string waar het concept er geen heeft. Dit veld is nooit null, dus controleer de lengte in plaats van de aanwezigheid.
htmlstring- De opgeslagen body, of een lege string waar het concept er geen heeft. Er is op de uitgaande weg geen apart tekstveld: een concept dat met alleen `text` is opgeslagen wordt hier teruggegeven.