Ir a la documentación
Python

Formularios

`forms.list`, `get`, `create`, `update`, `delete`, `publish`, `pause`, `resume`, `duplicate`, `analytics`, `list_starters`, `get_starter`, `list_submissions`, `get_submission`, `delete_submission`, `delete_submissions`, `approve_submission`, `resend_confirmation` y `subscribe`.

Todos los métodos

forms.py
from openemail import openemail form = openemail.forms.create({    'name': 'Newsletter sign-up',    'starter': 'newsletter',    'settings': {'audienceIds': ['aud_4c1b8e2a7d9f05c36b4e8a71']},    'publish': True,}) print(form['url'], form['subscribeUrl']) saved = openemail.forms.update(form['id'], {    'settings': {'doubleOptIn': True, 'senderAddress': '[email protected]'},    'expectedUpdatedAt': form['updatedAt'],}) signup = openemail.forms.subscribe(form['id'], {    'email': '[email protected]',    'first_name': 'Ann',    'consent': True,}) for submission in openemail.forms.iterate_submissions(form['id'], status='pending'):    if submission['expired']:        openemail.forms.resend_confirmation(form['id'], submission['id']) stats = openemail.forms.analytics(form['id'], days=30)starters = openemail.forms.list_starters() openemail.forms.pause(form['id'])openemail.forms.resume(form['id'])copy = openemail.forms.duplicate(form['id'])openemail.forms.delete(copy['id']) print(saved['senderIssue'], signup['outcome'], stats['totals']['conversion'], len(starters))

Un formulario guarda un borrador document y el publishedDocument que ven los visitantes. update cambia el borrador y los ajustes, y publish activa el borrador. Los ajustes surten efecto al instante, esté publicado o no, y expectedUpdatedAt rechaza con 409 version_conflict un guardado que sobrescribiría el de otra persona.

Leer requiere forms:read y cambiar requiere forms:write. approve_submission también requiere contacts:write, porque añade un contacto. resend_confirmation también requiere emails:send, igual que una llamada que haga que el formulario envíe correo: activar doubleOptIn, configurar senderAddress o el correo de confirmación, o publicar o reanudar un formulario con doble opt-in. delete pide un código de verificación a un token de acceso OAuth, y a una clave de API nunca.

subscribe suscribe a alguien como lo hace la página del formulario y no envía ninguna credencial, ni siquiera desde un cliente que tenga una. Todas las suscripciones desde una misma red comparten un límite de 40 cada diez minutos, así que un servidor que reenvía suscripciones de muchas personas lo alcanza enseguida: en su lugar, añade a las personas que ya conoces con audiences.import_contacts. Pasa la página en la que estaba el formulario como oe_source, omite oe_started y envía oe_website vacío o no lo envíes.

Un 422 de subscribe es invalid_form_submission, y el fields del error lista cada respuesta que falta o no es válida como {'key': ..., 'error': ...}, con motivos como required, email y option. El cliente es para servidores. En un navegador, envía las respuestas con fetch al subscribeUrl del formulario, como cuerpo JSON o con una cabecera Accept: application/json, y responde con JSON a cualquier origen. Sin ninguna de las dos cosas, responde con una redirección 303 a la página alojada.

Respuesta: FormDetailResource

list devuelve una página de FormResource, del más reciente al más antiguo, sin document ni settings, y list_all e iterate recorren todas las páginas. get, create, update, publish, pause, resume y duplicate devuelven un FormDetailResource, que añade document, publishedDocument, settings, audiences, senderIssue y senderProblem.

idstr
El identificador duradero, `frm_` seguido de 24 caracteres hexadecimales.
statusLiteral['draft', 'live', 'paused']
`draft` hasta la primera publicación, luego `live` mientras acepta suscripciones y `paused` mientras no las acepta. Un formulario nunca vuelve a `draft`.
urlstr
La página alojada del formulario publicado, para compartirla como enlace.
subscribeUrlstr
Adónde envían las respuestas un formulario HTML simple o `fetch`.
documentFormDocument
El borrador: los `fields` en orden, los textos de `copy` que los rodean y el `style`.
publishedDocumentFormDocument | None
Lo que ven ahora los visitantes. `None` hasta la primera publicación.
settingsFormSettings
Adónde van las suscripciones y qué pasa después de cada una: `audienceIds`, `doubleOptIn`, `senderAddress`, el correo de confirmación, `successAction`, `redirectUrl` y `notifyAddresses`.
hasUnpublishedChangesbool
`True` cuando el borrador difiere de lo que ven los visitantes. Siempre `False` antes de la primera publicación.
senderIssueLiteral['missing', 'not_sendable', 'not_allowed'] | None
Por qué un formulario con doble opt-in no puede enviar sus correos de confirmación ahora mismo, o `None` cuando puede.
statsFormStats
`views`, `submissions`, `added`, `pending` y `lastSubmittedAt`, contados en el momento de la lectura.

Envíos

list_submissions devuelve páginas del más reciente al más antiguo, con q para buscar en las direcciones de correo y status para pending o added, y list_all_submissions e iterate_submissions recorren todas las páginas. Cada FormSubmissionResource guarda las respuestas tal como se enviaron, etiquetas incluidas, así que se sigue leyendo bien después de que cambie el formulario.

resend_confirmation devuelve el envío con confirmationSent. Es False cuando no salió nada: una dirección recibe una confirmación por formulario cada diez minutos y cinco al día en todo el espacio de trabajo, y un envío ya añadido no recibe ninguna. expired marca una suscripción pendiente cuyo último enlace ha caducado.

Referencia