Kalo te dokumentacioni
Ruby

Formularët

`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` dhe `subscribe`.

Çdo metodë

forms.rb
form = client.forms.create(  name: "Newsletter sign-up",  starter: "newsletter",  settings: {audienceIds: ["aud_4c1b8e2a7d9f05c36b4e8a71"]},  publish: true) puts form[:url], form[:subscribeUrl] 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) client.forms.iterate_submissions(form[:id], status: "pending") do |submission|  client.forms.resend_confirmation(form[:id], submission[:id]) if submission[:expired]end stats = client.forms.analytics(form[:id], days: 30)starters = client.forms.list_starters client.forms.pause(form[:id])client.forms.resume(form[:id])copy = client.forms.duplicate(form[:id])client.forms.delete(copy[:id]) puts saved[:senderIssue], signup[:outcome], stats.dig(:totals, :conversion), starters.size

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ë ngritur si OpenEmail::ConflictError, një ruajtje që do të mbishkruante ruajtjen e dikujt tjetër.

Fushat e një formulari ruajnë emrat camelCase të API-së (expectedUpdatedAt:, doubleOptIn), të dhëna si argumente me fjalë kyçe ose si një Hash i vetëm, ndërsa filtrat dhe opsionet janë fjalë kyçe në snake_case (status: te list_submissions, offset_minutes: te analytics). Një formular kthehet si Hash me çelësa Symbol, ndaj form[:subscribeUrl] lexon adresën që pranon regjistrimet.

Leximi kërkon forms:read dhe ndryshimi kërkon forms:write. approve_submission kërkon edhe contacts:write, sepse shton një kontakt. resend_confirmation 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 ngre OpenEmail::PermissionError me step_up_required? 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 api_key: shpërfillet. Përgjigjet jepen si argumente me fjalë kyçe ose si një Hash 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.import_contacts. Përtej kufirit, thirrja ngre OpenEmail::RateLimitError. 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 ngritur si OpenEmail::ValidationError, dhe fields i gabimit liston çdo përgjigje që mungon ose nuk është e vlefshme si një Hash me key dhe error, me arsye si required, email dhe option. OpenEmail::FORM_FIELD_ERRORS i emërton të gjitha arsyet. Gem-i 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::Page me formularë, nga më i riu, pa document dhe settings, dhe list_all e iterate përshkojnë çdo faqe. get, create, update, publish, pause, resume dhe duplicate kthejnë gjithë formularin si Hash, 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::FORM_STATUSES` 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.
documentHash
Skica: `fields` sipas radhës, tekstet `copy` përreth tyre dhe `style`.
publishedDocumentHash or nil
Çfarë shohin vizitorët tani, ose nil deri në publikimin e parë.
settingsHash
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ë.
senderIssueString or nil
Pse një formular me konfirmim të dyfishtë nuk mund t’i dërgojë tani emailet e konfirmimit: `missing`, `not_sendable` ose `not_allowed`. Është nil kur mundet. `OpenEmail::FORM_SENDER_ISSUES` i emërton të tria.
statsHash
`views`, `submissions`, `added`, `pending` dhe `lastSubmittedAt`, të numëruara në çastin e leximit.

Parashtrimet

list_submissions faqos nga më i riu, me q: për të kërkuar në adresat e emailit dhe status: për pending ose added, dhe list_all_submissions e iterate_submissions përshkojnë çdo faqe. OpenEmail::FORM_SUBMISSION_STATUSES i emërton dy statuset. Çdo parashtrim është një Hash që i mban përgjigjet ashtu siç u dërguan, bashkë me etiketat, ndaj lexohet ende saktë pasi ndryshon formulari.

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