Python
Borradores
`drafts.list`, `list_all`, `iterate`, `get`, `create`, `update` y `delete`.
Todos los métodos
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 conserva el id del borrador, así que el valor con el que responde es siempre el que pasaste. Un id desconocido es un 404 y no un borrador nuevo.
list pagina igual que threads.list: el pageToken de la API vuelve como nextCursor y se envía como cursor, y list_all e iterate lo siguen por ti.
Para enviar un borrador, pasa su id a emails.send. El borrador aporta el contenido y el envío aporta el sobre.
from openemail import openemail openemail.emails.send({ 'from': '[email protected]', 'to': '[email protected]', 'draftId': 'draft_…',})Parámetros: drafts.create y drafts.update (DraftInput)
tolist[str]- Direcciones de destinatarios como cadenas simples, no las formas `RecipientInput` que acepta `emails.send`, porque este endpoint une el array en la lista separada por comas que quiere el driver. Al crear, un array omitido se guarda vacío; al actualizar, un campo omitido deja intactos los destinatarios almacenados, ya que el manejador lee primero el borrador y fusiona.
cclist[str]- Direcciones en Cc, en la misma forma de cadena simple que `to`. Vacío al crear si se omite, e intacto al actualizar si se omite.
bcclist[str]- Direcciones en Bcc, en la misma forma de cadena simple que `to`. Vacío al crear si se omite, e intacto al actualizar si se omite.
subjectstr- El asunto del borrador, de 998 caracteres como máximo, el límite de línea de RFC 5322. Al crear, por defecto es una cadena vacía, así que un borrador siempre tiene uno.
htmlstr- El cuerpo del borrador como marcado, de 1.000.000 de caracteres como máximo. Es el cuerpo que gana: `html` y `text` alimentan el único campo de mensaje del driver, así que enviar ambos guarda este.
textstr- Un cuerpo de texto plano, de 1.000.000 de caracteres como máximo, que solo se usa cuando falta `html`. El borrador guarda un único cuerpo en lugar de dos partes, así que el texto que pongas aquí vuelve en `html` cuando se lee el borrador.
fromstr- La dirección del remitente que se guarda en el borrador. Al actualizar, se arrastra desde el borrador almacenado si se omite. El driver reconstruye el mensaje entero a partir de lo que recibe, así que un parche parcial que la descartara cambiaría en silencio el remitente elegido.
threadIdstr- Adjunta el borrador a un hilo existente para que se guarde como respuesta. Igual que `from`, se arrastra al actualizar si se omite, porque reconstruir el mensaje sin él desvincularía la respuesta de su hilo.
Respuesta: DraftResource (drafts.get)
objectLiteral['draft']- Siempre `draft`.
idstr- El id del borrador. Las escrituras responden con un `SavedDraftResource` en lugar de un borrador completo, así que lee el id del resultado en vez de reutilizar el que enviaste.
tolist[str]- Las direcciones de los destinatarios tal como las guardó el borrador. Una lista vacía, nunca `None`, cuando el borrador no tiene ninguna.
cclist[str]- Direcciones en Cc tal como están guardadas. Una lista vacía, nunca `None`, cuando el borrador no tiene ninguna.
bcclist[str]- Direcciones en Bcc tal como están guardadas. Una lista vacía, nunca `None`, cuando el borrador no tiene ninguna.
subjectstr- El asunto guardado, o una cadena vacía cuando el borrador no tiene ninguno. Este campo nunca es `None`, así que comprueba su longitud y no su presencia.
htmlstr- El cuerpo guardado, o una cadena vacía cuando el borrador no tiene ninguno. No hay un campo de texto aparte en la salida: un borrador guardado solo con `text` se devuelve aquí.