إنشاء نموذج
ينشئ مسودة من `document`، أو من `starter`، أو من نموذج بريد إلكتروني بحقل واحد إن لم ترسل أيًّا منهما، ويعيد النموذج كاملًا. أرسل `publish: true` لنشره في الاستدعاء نفسه.
ينفّذ الاستدعاء الحقيقي على مساحة عملك.
POST /forms
ينشئ مسودة من document، أو من starter، أو من نموذج بريد إلكتروني بحقل واحد إن لم ترسل أيًّا منهما، ويعيد النموذج كاملًا. أرسل publish: true لنشره في الاستدعاء نفسه.
مثال
يتطلب forms:write، وemails:send أيضًا حين يفعّل التأكيد المزدوج أو يحدد مُرسِلًا أو يضبط رسالة التأكيد.
curl -X POST "$OE/forms" -H "$AUTH" -H 'content-type: application/json' -d '{ "name": "Newsletter sign-up", "starter": "newsletter", "settings": { "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"], "doubleOptIn": true, "senderAddress": "[email protected]" }, "publish": true}'{ "object": "form", "id": "frm_3b9d2e7a1c4f80d56e2a9b14", "name": "Newsletter sign-up", "description": null, "status": "live", "url": "https://openemail.uk/form/frm_3b9d2e7a1c4f80d56e2a9b14", "subscribeUrl": "https://api.openemail.uk/subscribe/frm_3b9d2e7a1c4f80d56e2a9b14", "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"], "doubleOptIn": true, "hasUnpublishedChanges": true, "document": { "fields": [ { "id": "fld_k2m8q4w9z1x7", "type": "email", "key": "email", "label": "Email", "placeholder": "[email protected]", "help": null, "required": true, "defaultValue": null, "options": [], "mapsTo": "email", "width": "full", "minLength": null, "maxLength": null, "min": null, "max": null } ], "copy": { "title": "Join our list", "description": "News from us, about once a month.", "submitLabel": "Subscribe", "successTitle": "You are on the list", "successMessage": "Thanks for signing up.", "pendingTitle": "Check your inbox", "pendingMessage": "Open the email we sent and confirm to finish.", "closedTitle": "This form is closed", "closedMessage": "It is not taking new sign-ups right now.", "footer": null }, "style": { "accent": "#18181b", "background": "#f4f4f5", "surface": "#ffffff", "text": "#18181b", "font": "system", "radius": "md", "width": "normal", "layout": "card", "align": "left", "logoUrl": null } }, "publishedDocument": { "fields": ["…"], "copy": { "title": "Join the list" }, "style": { "accent": "#18181b" } }, "settings": { "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"], "doubleOptIn": true, "senderAddress": "[email protected]", "confirmSubject": "Please confirm your subscription", "confirmMessage": "Confirm your email address to start getting our messages.", "confirmButton": "Confirm my subscription", "successAction": "message", "redirectUrl": null, "notifyAddresses": ["[email protected]"] }, "audiences": [{ "id": "aud_4c1b8e2a7d9f05c36b4e8a71", "name": "Newsletter", "builtin": false }], "senderIssue": null, "senderProblem": null, "stats": { "views": 1840, "submissions": 212, "added": 198, "pending": 14, "lastSubmittedAt": "2026-09-30T16:42:11.000Z" }, "publishedAt": "2026-09-12T08:00:00.000Z", "createdAt": "2026-09-10T14:20:00.000Z", "updatedAt": "2026-09-12T08:00:00.000Z"}يقبل settings أي مجموعة جزئية من الإعدادات، وتحتفظ البقية بقيمها الافتراضية.
يجب أن يكون كل جمهور في settings.audienceIds، وفي أي حقل audiences، جمهورًا تستطيع الوصول إليه في مساحة العمل هذه، وإلا فالاستجابة 404 audience_not_found.
يحتاج النموذج ذو التأكيد المزدوج إلى settings.senderAddress، وهو عنوان يحق لك الإرسال باسمه. والمُرسِل الذي لا يستطيع الإرسال يُرفض بـ 422 form_sender_refused.
عندما تكون قيمة publish هي true ويتعذّر نشر النموذج، لا يُنشأ شيء.
تتسع مساحة العمل افتراضيًا لـ 100 نموذج. ويُرفض التالي بـ 422 workspace_limit_reached.