فرمها
`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`.
همهٔ متدها
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 ثبتنامِ در انتظار تأییدی را نشان میدهد که آخرین پیوندش منقضی شده است.
مرجع
forms.list()مرجع کاملforms.list_all()مرجع کاملforms.iterate()مرجع کاملforms.get()مرجع کاملforms.create()مرجع کاملforms.update()مرجع کاملforms.delete()مرجع کاملforms.publish()مرجع کاملforms.pause()مرجع کاملforms.resume()مرجع کاملforms.duplicate()مرجع کاملforms.analytics()مرجع کاملforms.list_starters()مرجع کاملforms.get_starter()مرجع کاملforms.list_submissions()مرجع کاملforms.list_all_submissions()مرجع کاملforms.iterate_submissions()مرجع کاملforms.get_submission()مرجع کاملforms.delete_submission()مرجع کاملforms.delete_submissions()مرجع کاملforms.approve_submission()مرجع کاملforms.resend_confirmation()مرجع کاملforms.subscribe()مرجع کامل