پرش به مستندات
Python

فرم‌ها

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

همهٔ متدها

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

هر فرم یک document پیش‌نویس و publishedDocument را که بازدیدکنندگان می‌بینند نگه می‌دارد. update پیش‌نویس و تنظیمات را تغییر می‌دهد، و publish پیش‌نویس را فعال می‌کند. تنظیمات بی‌درنگ اعمال می‌شوند، چه فرم منتشر شده باشد چه نه، و expectedUpdatedAt ذخیره‌ای را که روی ذخیرهٔ کس دیگری بنویسد با 409 version_conflict رد می‌کند.

خواندن به forms:read و تغییر دادن به forms:write نیاز دارد. approve_submission به contacts:write هم نیاز دارد، چون یک مخاطب می‌افزاید. resend_confirmation به emails:send هم نیاز دارد، و فراخوانی‌ای که باعث شود فرم ایمیل بفرستد نیز همین‌طور: روشن کردن doubleOptIn، تنظیم senderAddress یا ایمیل تأیید، یا انتشار یا ادامهٔ یک فرم با تأیید دوگانه. delete از توکن دسترسی OAuth کد تأیید هویت می‌خواهد، و از کلید API هرگز.

subscribe کسی را همان‌گونه ثبت‌نام می‌کند که صفحهٔ فرم می‌کند و هیچ اعتبارنامه‌ای نمی‌فرستد، حتی از کلاینتی که اعتبارنامه دارد. همهٔ ثبت‌نام‌هایی که از یک شبکه می‌آیند سقف 40 بار در هر ده دقیقه را با هم شریک‌اند، پس سروری که ثبت‌نام‌های افراد زیادی را بازارسال می‌کند زود به آن می‌رسد: افرادی را که از پیش می‌شناسید به‌جای آن با audiences.import_contacts بیفزایید. صفحه‌ای را که فرم روی آن بود به‌صورت oe_source بدهید، oe_started را کنار بگذارید، و oe_website را خالی بفرستید یا اصلاً نفرستید.

یک 422 از subscribe همان invalid_form_submission است، و fields خطا هر جوابی را که جا افتاده یا معتبر نیست به‌صورت {'key': ..., 'error': ...} فهرست می‌کند، با دلیل‌هایی مانند required، email و option. این کلاینت برای سرورهاست. در مرورگر، جواب‌ها را با fetch به‌صورت بدنهٔ JSON یا با سرآیند Accept: application/json به subscribeUrl فرم ارسال کنید، که از هر مبدئی پاسخ JSON می‌دهد. بدون هیچ‌کدام از این دو، با یک هدایت 303 به صفحهٔ میزبانی‌شده پاسخ می‌دهد.

پاسخ: FormDetailResource

list یک صفحه از FormResource برمی‌گرداند، تازه‌ترین اول، بدون document و settings، و list_all و iterate همهٔ صفحه‌ها را می‌پیمایند. get، create، update، publish، pause، resume و duplicate یک FormDetailResource برمی‌گردانند که document، publishedDocument، settings، audiences، senderIssue و senderProblem را هم در بر دارد.

idstr
دستگیرهٔ ماندگار، `frm_` و پس از آن 24 نویسهٔ hex.
statusLiteral['draft', 'live', 'paused']
تا نخستین انتشار `draft`، سپس `live` تا وقتی ثبت‌نام می‌پذیرد و `paused` تا وقتی نمی‌پذیرد. فرم هرگز به `draft` برنمی‌گردد.
urlstr
صفحهٔ میزبانی‌شدهٔ فرم منتشرشده، برای اشتراک‌گذاری به‌صورت پیوند.
subscribeUrlstr
جایی که یک فرم HTML ساده، یا `fetch`، جواب‌ها را به آن ارسال می‌کند.
documentFormDocument
پیش‌نویس: `fields` به ترتیب، `copy` پیرامونشان و `style`.
publishedDocumentFormDocument | None
آنچه بازدیدکنندگان اکنون می‌بینند. تا نخستین انتشار `None` است.
settingsFormSettings
اینکه ثبت‌نام‌ها کجا می‌روند و پس از هر ثبت‌نام چه رخ می‌دهد: `audienceIds`، `doubleOptIn`، `senderAddress`، ایمیل تأیید، `successAction`، `redirectUrl` و `notifyAddresses`.
hasUnpublishedChangesbool
وقتی پیش‌نویس با آنچه بازدیدکنندگان می‌بینند فرق دارد `True` است. پیش از نخستین انتشار همیشه `False` است.
senderIssueLiteral['missing', 'not_sendable', 'not_allowed'] | None
اینکه چرا یک فرم با تأیید دوگانه اکنون نمی‌تواند ایمیل‌های تأییدش را بفرستد، یا `None` وقتی می‌تواند.
statsFormStats
`views`، `submissions`، `added`، `pending` و `lastSubmittedAt`، که در همان لحظهٔ خواندن شمرده می‌شوند.

پاسخ‌ها

list_submissions پاسخ‌ها را صفحه به صفحه، تازه‌ترین اول، برمی‌گرداند، با q برای جست‌وجو در نشانی‌های ایمیل و status برای pending یا added، و list_all_submissions و iterate_submissions همهٔ صفحه‌ها را می‌پیمایند. هر FormSubmissionResource جواب‌ها را همان‌طور که فرستاده شدند، همراه با برچسب‌ها، نگه می‌دارد، پس پس از تغییر فرم هم درست خوانده می‌شود.

resend_confirmation همان پاسخ را همراه با confirmationSent برمی‌گرداند. وقتی چیزی نرفته باشد False است: هر نشانی برای هر فرم یک پیام تأیید در هر ده دقیقه و در کل فضای کاری پنج پیام در روز می‌گیرد، و پاسخی که افزوده شده هیچ پیامی نمی‌گیرد. expired ثبت‌نامِ در انتظار تأییدی را نشان می‌دهد که آخرین پیوندش منقضی شده است.

مرجع