SDK
Bản nháp
`drafts.list`, `listAll`, `iterate`, `get`, `create`, `update` và `delete`.
Mọi phương thức
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 giữ nguyên id của bản nháp, nên giá trị trả về luôn là giá trị bạn đã truyền. Một id không tồn tại trả về 404 chứ không tạo bản nháp mới.
list phân trang giống threads.list: pageToken của API được trả về dưới dạng nextCursor và truyền vào dưới dạng cursor, còn listAll và iterate tự đi theo nó cho bạn.
Để gửi một bản nháp, hãy truyền id của nó cho emails.send. Bản nháp cung cấp nội dung còn lần gửi cung cấp phong bì.
await openemail.emails.send({ from: '[email protected]', to: '[email protected]', draftId: 'draft_…',})Tham số: drafts.create và drafts.update (DraftInput)
tostring[]- Địa chỉ người nhận dưới dạng chuỗi thuần, không phải các dạng `RecipientInput` mà `emails.send` chấp nhận, vì endpoint này nối mảng thành danh sách phân tách bằng dấu phẩy mà driver cần. Khi tạo, mảng bị bỏ trống được lưu là rỗng; khi cập nhật, trường bị bỏ trống giữ nguyên danh sách người nhận đã lưu, vì handler đọc bản nháp trước rồi hợp nhất.
ccstring[]- Địa chỉ Cc, cùng dạng chuỗi thuần như `to`. Rỗng nếu bỏ trống khi tạo, và giữ nguyên nếu bỏ trống khi cập nhật.
bccstring[]- Địa chỉ Bcc, cùng dạng chuỗi thuần như `to`. Rỗng nếu bỏ trống khi tạo, và giữ nguyên nếu bỏ trống khi cập nhật.
subjectstring- Subject của bản nháp, tối đa 998 ký tự, giới hạn độ dài dòng của RFC 5322. Khi tạo, mặc định là chuỗi rỗng, nên bản nháp luôn có subject.
htmlstring- Phần thân bản nháp dưới dạng markup, tối đa 1.000.000 ký tự. Đây là phần thân được ưu tiên: `html` và `text` cùng đi vào một trường nội dung duy nhất của driver, nên nếu gửi cả hai thì trường này được lưu.
textstring- Phần thân văn bản thuần, tối đa 1.000.000 ký tự, chỉ được dùng khi không có `html`. Bản nháp lưu một phần thân chứ không phải hai phần, nên văn bản cung cấp ở đây sẽ được trả về trong `html` khi đọc bản nháp.
fromstring- Địa chỉ người gửi lưu trên bản nháp. Khi cập nhật mà bỏ trống, giá trị được giữ từ bản nháp đã lưu. Driver dựng lại toàn bộ thư từ những gì được truyền vào, nên một bản cập nhật một phần làm mất trường này sẽ âm thầm đổi người gửi đã chọn.
threadIdstring- Gắn bản nháp vào một luồng có sẵn để nó được lưu như một thư trả lời. Giống `from`, giá trị được giữ khi cập nhật mà bỏ trống, vì dựng lại thư mà thiếu nó sẽ tách thư trả lời khỏi luồng.
Phản hồi: DraftResource (drafts.get)
object'draft'- Luôn là `draft`.
idstring- Id của bản nháp. Các thao tác ghi trả về một `SavedDraftResource` chứ không phải toàn bộ bản nháp, nên hãy đọc id từ kết quả thay vì dùng lại id bạn đã gửi.
tostring[]- Địa chỉ người nhận đúng như bản nháp đã lưu. Là mảng rỗng, không bao giờ null, khi bản nháp không có người nhận.
ccstring[]- Địa chỉ Cc đúng như đã lưu. Là mảng rỗng, không bao giờ null, khi bản nháp không có.
bccstring[]- Địa chỉ Bcc đúng như đã lưu. Là mảng rỗng, không bao giờ null, khi bản nháp không có.
subjectstring- Subject đã lưu, hoặc chuỗi rỗng khi bản nháp không có. Trường này không bao giờ null, nên hãy kiểm tra độ dài thay vì kiểm tra sự tồn tại.
htmlstring- Phần thân đã lưu, hoặc chuỗi rỗng khi bản nháp không có. Không có trường text riêng ở chiều trả về: bản nháp chỉ lưu bằng `text` sẽ được trả về ở đây.