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