Belgelere geç
Python

Formlar

`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` ve `subscribe`.

Her yöntem

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))

Bir form, taslak bir document ile ziyaretçilerin gördüğü publishedDocument değerini tutar. update taslağı ve ayarları değiştirir, publish ise taslağı yayına alır. Ayarlar, form yayımlanmış olsun ya da olmasın hemen geçerli olur; expectedUpdatedAt ise başka birinin kaydettiklerinin üzerine yazacak bir kaydetme işlemini 409 version_conflict ile reddeder.

Okumak forms:read, değiştirmek forms:write gerektirir. approve_submission bir kişi eklediği için ayrıca contacts:write gerektirir. resend_confirmation ayrıca emails:send gerektirir; formun posta göndermesine yol açan bir çağrı da öyle: doubleOptIn değerini açmak, senderAddress değerini ya da onay e-postasını ayarlamak veya çift onaylı bir formu yayımlamak ya da sürdürmek. delete bir OAuth erişim token'ından doğrulama kodu ister, bir API anahtarından ise asla istemez.

subscribe, birini formun sayfasının yaptığı gibi kaydeder ve kimlik bilgisi taşıyan bir istemciden çağrılsa bile hiçbir kimlik bilgisi göndermez. Tek bir ağdan gelen tüm kayıtlar on dakikada 40 kayıtlık aynı sınırı paylaşır; bu yüzden birçok kişi adına kayıt ileten bir sunucu bu sınıra çabucak ulaşır: zaten tanıdığınız kişileri bunun yerine audiences.import_contacts ile ekleyin. Formun bulunduğu sayfayı oe_source olarak geçirin, oe_started değerini dışarıda bırakın ve oe_website değerini boş gönderin ya da hiç göndermeyin.

subscribe çağrısından gelen bir 422, invalid_form_submission hatasıdır; hatanın fields değeri eksik ya da geçersiz her yanıtı required, email ve option gibi nedenlerle birlikte {'key': ..., 'error': ...} olarak listeler. İstemci sunucular içindir. Tarayıcıda yanıtları fetch ile, bir JSON gövdesi olarak ya da bir Accept: application/json başlığıyla formun subscribeUrl adresine gönderin; bu adres her kaynaktan gelen isteğe JSON ile yanıt verir. İkisi de olmadan barındırılan sayfaya bir 303 yönlendirmesiyle yanıt verir.

Yanıt: FormDetailResource

list, en yeniden eskiye, document ve settings olmadan tek bir FormResource sayfası döndürür; list_all ve iterate tüm sayfaları dolaşır. get, create, update, publish, pause, resume ve duplicate ise document, publishedDocument, settings, audiences, senderIssue ve senderProblem değerlerini ekleyen bir FormDetailResource döndürür.

idstr
Kalıcı tanıtıcı, `frm_` ardından 24 onaltılık karakter.
statusLiteral['draft', 'live', 'paused']
İlk yayımlamaya kadar `draft`, ardından kayıt aldığı sürece `live`, almadığı sürece `paused`. Bir form asla `draft` durumuna geri dönmez.
urlstr
Yayımlanmış formun bağlantı olarak paylaşılacak barındırılan sayfası.
subscribeUrlstr
Düz bir HTML formunun ya da `fetch` çağrısının yanıtları gönderdiği adres.
documentFormDocument
Taslak: sırasıyla `fields`, bunları çevreleyen `copy` metinleri ve `style`.
publishedDocumentFormDocument | None
Ziyaretçilerin şu anda gördüğü. İlk yayımlamaya kadar `None`.
settingsFormSettings
Kayıtların nereye gittiği ve bir kayıttan sonra ne olacağı: `audienceIds`, `doubleOptIn`, `senderAddress`, onay e-postası, `successAction`, `redirectUrl` ve `notifyAddresses`.
hasUnpublishedChangesbool
Taslak ziyaretçilerin gördüğünden farklı olduğunda `True`. İlk yayımlamadan önce her zaman `False`.
senderIssueLiteral['missing', 'not_sendable', 'not_allowed'] | None
Çift onaylı bir formun onay e-postalarını şu anda neden gönderemediği ya da gönderebiliyorsa `None`.
statsFormStats
Okuma anında sayılan `views`, `submissions`, `added`, `pending` ve `lastSubmittedAt`.

Gönderimler

list_submissions sayfaları en yeniden eskiye döndürür; e-posta adreslerinde aramak için q, pending ya da added için status alır; list_all_submissions ve iterate_submissions ise tüm sayfaları dolaşır. Her FormSubmissionResource, yanıtları etiketleri dâhil gönderildikleri hâliyle tutar; böylece form değiştikten sonra da doğru okunur.

resend_confirmation, gönderimi confirmationSent ile birlikte döndürür. Hiçbir şey gitmediyse False olur: bir adres form başına on dakikada bir ve çalışma alanı genelinde günde beş onay alır; elle eklenen bir gönderim hiç almaz. expired, en son bağlantısının süresi dolmuş bekleyen bir kaydı işaretler.

Referans