दस्तावेज़ पर जाएँ
SDK

ड्राफ़्ट

`drafts.list`, `listAll`, `iterate`, `get`, `create`, `update` और `delete`।

हर method

usage.ts
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 draft की id वही रखता है, इसलिए यह जो मान लौटाता है वह हमेशा वही होता है जो आपने पास किया था। अनजान id नया draft नहीं, 404 देती है।

list उसी तरह पेज करता है जैसे threads.list: API का pageToken nextCursor के रूप में वापस आता है और cursor के रूप में जाता है, और listAll तथा iterate आपके लिए उसका अनुसरण करते हैं।

draft भेजने के लिए उसकी id emails.send को पास करें। सामग्री draft देता है और लिफ़ाफ़ा send देता है।

send-draft.ts
await openemail.emails.send({  from: '[email protected]',  to: '[email protected]',  draftId: 'draft_…',})

पैरामीटर: drafts.create और drafts.update (DraftInput)

tostring[]
प्राप्तकर्ताओं के पते सादी स्ट्रिंग के रूप में, न कि उन `RecipientInput` रूपों में जिन्हें `emails.send` स्वीकार करता है, क्योंकि यह endpoint array को जोड़कर वही अल्पविराम-पृथक सूची बना देता है जो driver चाहता है। create पर छोड़ा गया array खाली सहेजा जाता है; update पर छोड़ा गया फ़ील्ड संग्रहित प्राप्तकर्ताओं को जस का तस रहने देता है, क्योंकि handler पहले draft पढ़ता है और फिर merge करता है।
ccstring[]
Cc पते, वही सादी-स्ट्रिंग रूप में जो `to` का है। छोड़ने पर create में खाली, और update में अछूते।
bccstring[]
Bcc पते, वही सादी-स्ट्रिंग रूप में जो `to` का है। छोड़ने पर create में खाली, और update में अछूते।
subjectstring
draft का विषय, अधिकतम 998 वर्ण, यानी RFC 5322 की पंक्ति-सीमा। create पर यह डिफ़ॉल्ट रूप से खाली स्ट्रिंग होता है, इसलिए हर draft के पास एक विषय रहता ही है।
htmlstring
draft का body markup के रूप में, अधिकतम 1,000,000 वर्ण। जीतता यही body है: `html` और `text` दोनों driver के एक ही संदेश-फ़ील्ड में जाते हैं, इसलिए दोनों भेजने पर यही संग्रहित होता है।
textstring
सादा-पाठ body, अधिकतम 1,000,000 वर्ण, जिसका उपयोग केवल तब होता है जब `html` न हो। draft दो हिस्सों के बजाय एक ही body रखता है, इसलिए यहाँ दिया गया text draft पढ़ते समय `html` पर वापस आता है।
fromstring
draft पर सहेजा जाने वाला भेजने वाले का पता। update पर छोड़ने पर यह संग्रहित draft से आगे बढ़ा दिया जाता है। driver पूरे संदेश को उसी से दोबारा बनाता है जो उसे सौंपा गया है, इसलिए इसे गिरा देने वाला आंशिक patch चुपचाप चुने गए प्रेषक को बदल देता।
threadIdstring
draft को किसी मौजूदा thread से जोड़ दें ताकि वह उत्तर के रूप में सहेजा जाए। `from` की तरह, update पर छोड़ने पर यह भी आगे बढ़ा दिया जाता है, क्योंकि इसके बिना संदेश दोबारा बनाने पर उत्तर अपने thread से अलग हो जाता।

प्रतिक्रिया: DraftResource (drafts.get)

object'draft'
हमेशा `draft`।
idstring
draft की id। लेखन पूरे draft के बजाय एक `SavedDraftResource` लौटाता है, इसलिए भेजी हुई id दोबारा इस्तेमाल करने के बजाय परिणाम से id पढ़ें।
tostring[]
प्राप्तकर्ताओं के पते जैसे draft ने उन्हें संग्रहित किया। जब draft के पास कोई न हो तो खाली array, कभी null नहीं।
ccstring[]
संग्रहित Cc पते। जब draft के पास कोई न हो तो खाली array, कभी null नहीं।
bccstring[]
संग्रहित Bcc पते। जब draft के पास कोई न हो तो खाली array, कभी null नहीं।
subjectstring
संग्रहित विषय, या जहाँ draft के पास कोई न हो वहाँ खाली स्ट्रिंग। यह फ़ील्ड कभी null नहीं होता, इसलिए इसके होने-न-होने के बजाय इसकी लंबाई जाँचें।
htmlstring
संग्रहित body, या जहाँ draft के पास कोई न हो वहाँ खाली स्ट्रिंग। बाहर जाते समय अलग से कोई text फ़ील्ड नहीं होता: केवल `text` के साथ सहेजा गया draft यहीं लौटाया जाता है।