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

Drafts

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

हर मेथड

usage.py
from openemail import openemail page = openemail.drafts.list(query='invoice', limit=25)draft = openemail.drafts.get('draft_…') created = openemail.drafts.create({    'to': ['[email protected]'],    'cc': [],    'bcc': [],    'subject': 'Your September invoice',    'html': '<p>Draft body.</p>',    'from': '[email protected]',    'threadId': 'thread_…',}) draft_id = created['id'] if draft_id is not None:    openemail.drafts.update(draft_id, {'subject': 'Revised'})    openemail.drafts.delete(draft_id)

update draft की id वही रखता है, इसलिए यह जो मान लौटाता है वह हमेशा वही होता है जो आपने पास किया था। अनजान id नया draft नहीं, 404 देती है।

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

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

send_draft.py
from openemail import openemail openemail.emails.send({    'from': '[email protected]',    'to': '[email protected]',    'draftId': 'draft_…',})

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

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

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

objectLiteral['draft']
हमेशा `draft`।
idstr
draft की id। लेखन पूरे draft के बजाय एक `SavedDraftResource` लौटाता है, इसलिए भेजी हुई id दोबारा इस्तेमाल करने के बजाय परिणाम से id पढ़ें।
tolist[str]
प्राप्तकर्ताओं के पते जैसे ड्राफ़्ट ने उन्हें संग्रहित किया। जब ड्राफ़्ट में कोई न हो तो ख़ाली list, कभी `None` नहीं।
cclist[str]
संग्रहित Cc पते। जब ड्राफ़्ट में कोई न हो तो ख़ाली list, कभी `None` नहीं।
bcclist[str]
संग्रहित Bcc पते। जब ड्राफ़्ट में कोई न हो तो ख़ाली list, कभी `None` नहीं।
subjectstr
संग्रहित विषय, या जहाँ ड्राफ़्ट में कोई न हो वहाँ ख़ाली string। यह फ़ील्ड कभी `None` नहीं होता, इसलिए इसके होने-न-होने के बजाय इसकी लंबाई जाँचें।
htmlstr
संग्रहित body, या जहाँ draft के पास कोई न हो वहाँ खाली स्ट्रिंग। बाहर जाते समय अलग से कोई text फ़ील्ड नहीं होता: केवल `text` के साथ सहेजा गया draft यहीं लौटाया जाता है।

संदर्भ