Kalo te dokumentacioni
SDK

Formularët

`forms.list`, `get`, `create`, `update`, `delete`, `publish`, `pause`, `resume`, `duplicate`, `analytics`, `listStarters`, `getStarter`, `listSubmissions`, `getSubmission`, `deleteSubmission`, `deleteSubmissions`, `approveSubmission`, `resendConfirmation` dhe `subscribe`.

Çdo metodë

forms.ts
const form = await openemail.forms.create({  name: 'Newsletter sign-up',  starter: 'newsletter',  settings: { audienceIds: ['aud_4c1b8e2a7d9f05c36b4e8a71'] },  publish: true,}) console.log(form.url, form.subscribeUrl) const saved = await openemail.forms.update(form.id, {  settings: { doubleOptIn: true, senderAddress: '[email protected]' },  expectedUpdatedAt: form.updatedAt,}) const signup = await openemail.forms.subscribe(form.id, {  email: '[email protected]',  first_name: 'Ann',  consent: true,}) for await (const submission of openemail.forms.iterateSubmissions(form.id, { status: 'pending' })) {  if (submission.expired) await openemail.forms.resendConfirmation(form.id, submission.id)} const stats = await openemail.forms.analytics(form.id, { days: 30 })const starters = await openemail.forms.listStarters() await openemail.forms.pause(form.id)await openemail.forms.resume(form.id)const copy = await openemail.forms.duplicate(form.id)await openemail.forms.delete(copy.id) console.log(saved.senderIssue, signup.outcome, stats.totals.conversion, starters.length)

Një formular mban një skicë document dhe publishedDocument që shohin vizitorët. update ndryshon skicën dhe cilësimet, dhe publish e bën skicën aktive. Cilësimet hyjnë në fuqi menjëherë, qoftë formulari i publikuar apo jo, dhe expectedUpdatedAt refuzon me 409 version_conflict një ruajtje që do të mbishkruante ruajtjen e dikujt tjetër.

Leximi kërkon forms:read dhe ndryshimi kërkon forms:write. approveSubmission kërkon edhe contacts:write, sepse shton një kontakt. resendConfirmation kërkon edhe emails:send, ashtu si edhe një thirrje që e bën formularin të dërgojë postë: aktivizimi i doubleOptIn, caktimi i senderAddress ose i emailit të konfirmimit, ose publikimi apo rifillimi i një formulari me konfirmim të dyfishtë. delete i kërkon një tokeni aksesi OAuth një kod verifikimi, ndërsa një çelësi API kurrë.

subscribe e regjistron dikë ashtu siç bën faqja e formularit dhe nuk dërgon kredenciale, edhe nga një klient që i ka. Të gjitha regjistrimet nga një rrjet ndajnë një kufi prej 40 në çdo dhjetë minuta, ndaj një server që përcjell regjistrime për shumë njerëz e arrin shpejt: njerëzit që i njihni tashmë shtojini më mirë me audiences.importContacts. Kaloni faqen ku ishte formulari si oe_source, lini jashtë oe_started, dhe dërgojeni oe_website bosh ose mos e dërgoni fare.

Një 422 nga subscribe është invalid_form_submission, dhe fields e gabimit liston çdo përgjigje që mungon ose nuk është e vlefshme si { key, error }, me arsye si required, email dhe option. Klienti është për serverë. Në një shfletues, dërgojini përgjigjet me fetch te subscribeUrl i formularit, si trup JSON ose me një header Accept: application/json, dhe ai përgjigjet me JSON nga çdo origjinë. Pa asnjërën prej tyre, përgjigjet me një ridrejtim 303 drejt faqes së strehuar.

Përgjigje: FormDetailResource

list jep një faqe me FormResource, nga më i riu, pa document dhe settings, dhe listAll e iterate përshkojnë të gjitha faqet. get, create, update, publish, pause, resume dhe duplicate japin një FormDetailResource, që shton document, publishedDocument, settings, audiences, senderIssue dhe senderProblem.

idstring
Identifikuesi i qëndrueshëm, `frm_` i ndjekur nga 24 karaktere hex.
status'draft' | 'live' | 'paused'
`draft` deri në publikimin e parë, pastaj `live` sa kohë pranon regjistrime dhe `paused` sa kohë nuk pranon. Një formular nuk kthehet kurrë në `draft`.
urlstring
Faqja e strehuar e formularit të publikuar, për ta ndarë si lidhje.
subscribeUrlstring
Ku i dërgon përgjigjet një formular HTML i thjeshtë, ose `fetch`.
documentFormDocument
Skica: `fields` sipas radhës, tekstet `copy` përreth tyre dhe `style`.
publishedDocumentFormDocument | null
Ajo që shohin vizitorët tani. Null deri në publikimin e parë.
settingsFormSettings
Ku shkojnë regjistrimet dhe çfarë ndodh pas një regjistrimi: `audienceIds`, `doubleOptIn`, `senderAddress`, emaili i konfirmimit, `successAction`, `redirectUrl` dhe `notifyAddresses`.
hasUnpublishedChangesboolean
True kur skica ndryshon nga ajo që shohin vizitorët. Gjithmonë false para publikimit të parë.
senderIssue'missing' | 'not_sendable' | 'not_allowed' | null
Pse një formular me konfirmim të dyfishtë nuk mund t'i dërgojë tani emailet e konfirmimit, ose null kur mundet.
statsFormStats
`views`, `submissions`, `added`, `pending` dhe `lastSubmittedAt`, të numëruara në çastin e leximit.

Parashtrimet

listSubmissions kthen faqe nga më i riu, me q për të kërkuar në adresat e emailit dhe status për pending ose added, dhe listAllSubmissions e iterateSubmissions përshkojnë të gjitha faqet. Çdo FormSubmissionResource i mban përgjigjet ashtu siç u dërguan, bashkë me etiketat, ndaj lexohet ende saktë pasi ndryshon formulari.

resendConfirmation jep parashtrimin me confirmationSent. Është false kur nuk u dërgua asgjë: një adresë merr një konfirmim për formular çdo dhjetë minuta dhe pesë në ditë në gjithë hapësirën e punës, dhe një parashtrim i shtuar nuk merr asnjë. expired shënon një regjistrim në pritje, lidhja e fundit e të cilit ka skaduar.

Kutia juaj hyrëse,
sipas kushteve tuaja.

Infrastrukturë emaili për biznese, AI, agjentë dhe email personal. E ndërtuar për shkallë, privatësi dhe kontroll. Gjithçka që emaili duhej ta kishte që ditën e parë.

© 2026 OpenEmail. Të gjitha të drejtat e rezervuara.