Kalo te dokumentacioni
PHP

Formularët

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

Çdo metodë

forms.php
use OpenEmail\Constants\FormStarterSlugs;use OpenEmail\Constants\FormSubmissionStatuses; $form = $client->forms->create([    'name' => 'Newsletter sign-up',    'starter' => FormStarterSlugs::NEWSLETTER,    'settings' => ['audienceIds' => ['aud_4c1b8e2a7d9f05c36b4e8a71']],    'publish' => true,]); echo $form['url'], ' ', $form['subscribeUrl'], PHP_EOL; $saved = $client->forms->update($form['id'], [    'settings' => ['doubleOptIn' => true, 'senderAddress' => '[email protected]'],    'expectedUpdatedAt' => $form['updatedAt'],]); $signup = $client->forms->subscribe($form['id'], [    'email' => '[email protected]',    'first_name' => 'Ann',    'consent' => true,]); foreach ($client->forms->iterateSubmissions($form['id'], status: FormSubmissionStatuses::PENDING) as $submission) {    if ($submission['expired']) {        $client->forms->resendConfirmation($form['id'], $submission['id']);    }} $stats = $client->forms->analytics($form['id'], days: 30);$starters = $client->forms->listStarters(); $client->forms->pause($form['id']);$client->forms->resume($form['id']);$copy = $client->forms->duplicate($form['id']);$client->forms->delete($copy['id']); echo $saved['senderIssue'] ?? 'ready to send', ' ', $signup['outcome'], ' ', $stats['totals']['conversion'] ?? 'no views yet', ' ', count($starters), PHP_EOL;

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 një 409 version_conflict, të hedhur si ConflictException, një ruajtje që do të mbishkruante ruajtjen e dikujt tjetër.

Fushat e një formulari janë çelësat e një array-i të vetëm me emrat camelCase të API-së (expectedUpdatedAt, doubleOptIn), ndërsa filtrat dhe opsionet janë argumente me emër (status: te listSubmissions, offsetMinutes: te analytics). Një formular kthehet si array me çelësa në camelCase, ndaj $form['subscribeUrl'] lexon adresën që pranon regjistrimet.

design ndërton një formular të ri si draft nga një përshkrim i shkruar, siç bën Krijo me AI në faqen Formularët, dhe redesign zbaton udhëzime të shkruara në draftin e një formulari, siç bën Pyet AI-në në ndërtuesin e formularëve. Secili shpenzon një veprim AI dhe shkruan vetëm draftin, ndaj vizitorët nuk shohin asgjë të re deri në publish.

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, dhe po ashtu çdo thirrje që e bën formularin të dërgojë postë: aktivizimi i doubleOptIn, vendosja e senderAddress ose e emailit të konfirmimit, ose publikimi apo rinisja e një formulari me konfirmim të dyfishtë. delete i kërkon një token-i aksesi OAuth një kod verifikimi, kurse një çelësi API kurrë. Derisa token-i të ketë një të tillë, delete hedh një PermissionException me isStepUpRequired() true.

subscribe e regjistron dikë ashtu siç bën faqja e formularit dhe nuk dërgon kredenciale, edhe nga një klient që i ka, ndaj apiKey: shpërfillet. Përgjigjet janë argumenti i tij i dytë, një array i vetëm me çelësat e fushave të formularit. 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. Përtej kufirit, thirrja hedh një RateLimitException. Jepni faqen ku ishte formulari si oe_source, lëreni jashtë oe_started, dhe dërgojeni oe_website bosh ose mos e dërgoni fare.

Një 422 nga subscribe është invalid_form_submission, i hedhur si ValidationException, dhe fields i përjashtimit liston çdo përgjigje që mungon ose nuk është e vlefshme si një array me key dhe error, me arsye si required, email dhe option. OpenEmail\Constants\FormFieldErrors i emërton të gjitha arsyet. Paketa ekzekutohet në një server. Një shfletues i poston vetë përgjigjet te subscribeUrl i formularit, si trup JSON ose me një header Accept: application/json, dhe merr JSON prapa nga çdo origjinë. Pa asnjërën prej tyre merr një ridrejtim 303 te faqja e hostuar.

Përgjigjja: një formular

list kthen një OpenEmail\Result\Page me formularë, nga më i riu, pa document dhe settings. listAll i kthen të gjithë formularët në një array të vetëm, dhe iterate kthen një Generator që i përshkon të gjitha faqet një formular në një kohë. get, create, update, publish, pause, resume dhe duplicate kthejnë gjithë formularin si array, i cili shton document, publishedDocument, settings, audiences, senderIssue dhe senderProblem.

idstring
Identifikuesi i qëndrueshëm, `frm_` i ndjekur nga 24 karaktere hex.
statusstring
`draft` deri në publikimin e parë, pastaj `live` sa kohë që pranon regjistrime dhe `paused` sa kohë që nuk pranon. Një formular nuk kthehet kurrë te `draft`. `OpenEmail\Constants\FormStatuses` i emërton të tria.
urlstring
Faqja e strehuar e formularit të publikuar, për ta ndarë si lidhje.
subscribeUrlstring
Ku i poston përgjigjet një formular i thjeshtë HTML ose një skript në shfletues.
documentarray
Skica: `fields` sipas radhës, tekstet `copy` përreth tyre dhe `style`.
publishedDocumentarray or null
Çfarë shohin vizitorët tani, ose null deri në publikimin e parë.
settingsarray
Ku shkojnë regjistrimet dhe çfarë ndodh pas një regjistrimi: `audienceIds`, `doubleOptIn`, `senderAddress`, emaili i konfirmimit, `successAction`, `redirectUrl` dhe `notifyAddresses`.
hasUnpublishedChangesbool
True kur skica ndryshon nga ajo që shohin vizitorët. Gjithmonë false para publikimit të parë.
senderIssuestring or null
Pse një formular me konfirmim të dyfishtë nuk mund t’i dërgojë tani emailet e konfirmimit: `missing`, `not_sendable` ose `not_allowed`. Është null kur mundet. `OpenEmail\Constants\FormSenderIssues` i emërton të tria.
statsarray
`views`, `submissions`, `added`, `pending` dhe `lastSubmittedAt`, të numëruara në çastin e leximit.

Parashtrimet

listSubmissions faqos 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ë çdo faqe. OpenEmail\Constants\FormSubmissionStatuses i emërton dy statuset. Çdo parashtrim është një array që i mban përgjigjet ashtu siç u dërguan, bashkë me etiketat, ndaj lexohet ende saktë pasi ndryshon formulari.

resendConfirmation kthen parashtrimin me confirmationSent. Është false kur nuk doli 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 më e fundit e të cilit ka skaduar.