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ë
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.