Audiencat
`audiences.list`, `get`, `create`, `update`, `delete`, `empty`, `growth`, `list_contacts`, `add_contact`, `add_contacts`, `import_contacts`, `remove_contact` dhe `remove_contacts`.
Çdo metodë
audiences = client.audiences.list_alleveryone = audiences.find { |audience| audience[:builtin] == "default" } list = client.audiences.create( name: "Product updates", description: "Customers who asked to hear about releases") client.contacts.create(email: "[email protected]", name: "Grace Hopper")client.audiences.add_contact(list[:id], email: "[email protected]") bulk = client.audiences.add_contacts(list[:id], emails: ["[email protected]", "[email protected]"]) imported = client.audiences.import_contacts( list[:id], contacts: [{email: "[email protected]", name: "Katherine Johnson"}]) members = client.audiences.list_all_contacts(list[:id], q: "grace", sort: "added-newest", limit: 200) growth = client.audiences.growth(audience_ids: [list[:id]], days: 30) client.audiences.update(list[:id], name: "Release notes")client.audiences.remove_contact(list[:id], "[email protected]")client.audiences.remove_contacts(list[:id], emails: ["[email protected]"])client.audiences.empty(list[:id])client.audiences.delete(list[:id]) puts everyone[:contactCount] if everyoneputs bulk[:missing], imported[:created], members.size, growth.dig(:totals, :added)Një audiencë është një listë kontaktesh me emër në këtë hapësirë pune. Çdo kontakt është në audiencën e parazgjedhur të integruar që nga çasti kur ekziston, dhe builtin është ajo që e emërton atë rresht. Të tjerat janë tuajat për t’i krijuar, mbushur dhe fshirë. Degëzoni sipas builtin dhe jo sipas emrit, të cilin mund ta ndryshojë kushdo.
Një thirrje mbi një audiencë merr id-në e saj si argumentin e parë, dhe remove_contact merr adresën si të dytin. Çdo gjë tjetër është fjalë kyçe e Ruby-t, dhe trupi i një kërkese mund të jepet edhe si një Hash i vetëm. Opsionet e growth dhe list_contacts janë në snake_case (audience_ids:, offset_minutes:), ndërsa fushat e një trupi ruajnë emrat e API-së (emails:, contacts:). Një përgjigje është një Hash me çelësa Symbol në camelCase të API-së, ndaj audience[:contactCount] lexon numrin.
Dërgoni te një ose më shumë audienca me client.broadcasts.send, që trajtohet te faqja e transmetimeve. Futja e një kontakti në një audiencë është një shkrim te audienca dhe jo te kontakti, ndaj audiences:write është e vetmja fushë që kontrollohet. import_contacts është përjashtimi. Ai krijon kontakte, ndaj kërkon edhe contacts:write.
add_contact merr një adresë që është tashmë kontakt dhe refuzon një që nuk është, me 422 contact_not_found, të ngritur si OpenEmail::ValidationError. Ruajeni fillimisht me client.contacts.create. Shtimi i dikujt dy herë përgjigjet me anëtarësimin që ekziston tashmë, me addedAt e tij origjinal, ndaj thirrja është e sigurt për t’u riprovuar, dhe gem-i e riprovon pas një dështimi të rrjetit.
Audienca e parazgjedhur mund të riemërtohet dhe të marrë përshkrim si çdo tjetër, por nuk mund të fshihet dhe nuk mund të hollohet. Të dyja refuzohen me 409 audience_immutable, të ngritur si OpenEmail::ConflictError me conflict? true. Fshini kontaktin kur doni që të largohet vetë kontakti.
Përgjigjja: një audiencë
list kthen një faqe me to si një OpenEmail::Page, me items, has_more? dhe next_cursor, me audiencën e parazgjedhur të parën dhe të tjerat nga më e reja. Një faqe mban 25, veç nëse limit: kërkon deri në 100. list_all i kthen të gjitha faqet në një Array të vetëm, dhe iterate ia jep audiencat një nga një një blloku, ose kthen një Enumerator kur nuk ka bllok. get, create dhe update kthejnë secili një audiencë. list_contacts kthen në vend të kësaj një faqe kontaktesh, vetë kontaktet me datën kur hyri secili dhe jo regjistra anëtarësimi, me list_all_contacts dhe iterate_contacts pranë saj.
idString- Identifikuesi i qëndrueshëm, `aud_` i ndjekur nga 24 karaktere hex. Emrat nuk janë unikë, prandaj ky është ai që i përket konfigurimit të ruajtur.
nameString- I pastruar nga hapësirat në shkrim, 1 deri 120 karaktere. Dy audienca mund të ndajnë një emër, sepse një audiencë adresohet me id-në e saj.
descriptionString or nil- Tekst i lirë për këdo që e lexon listën më vonë. Është nil kur askush nuk shkroi gjë, dhe `description: nil` te `update` e pastron.
builtinString or nil- `default` te saktësisht një rresht për hapësirë pune, audienca që mban çdo kontakt, dhe nil te çdo audiencë që e krijoi dikush. Krahasojeni me `"default"` në vend që të kontrolloni nëse është nil, që një audiencë e integruar e shtuar më vonë të mos ngatërrohet me audiencën e parazgjedhur.
contactCountInteger- Sa kontakte ka në audiencë, të numëruara në çastin e leximit dhe jo të ruajtura në cache. Dy lexime në të dyja anët e një `contacts.create` ndryshojnë me një.
lastContactAtString or nil- ISO 8601 UTC, kur hyri në këtë audiencë kontakti që hyri më së fundi. Është nil sa kohë që audienca është bosh.
createdAtString- ISO 8601 UTC, kur u krijua audienca. Përcakton renditjen e listës pas asaj të parazgjedhur.
updatedAtString- ISO 8601 UTC, rifreskohet nga një riemërtim ose një ndryshim i përshkrimit. Ndryshimet e anëtarësimit nuk e prekin.
Parametrat: audiences.list_contacts
limitInteger- Sa kontakte për faqe, një numër i plotë nga 1 deri në 200, me 50 si parazgjedhje.
cursorString- `next_cursor` nga faqja e mëparshme, i dërguar me të njëjtat `q:`, `source:`, `sort:` dhe `statuses:`. Një cursor që emërton një kontakt që nuk është në këtë audiencë jep një 400 `invalid_cursor`, të ngritur si `OpenEmail::InvalidRequestError`.
qString- Kërkon në emër dhe në adresë, deri në 200 karaktere. Kur asgjë nuk përputhet saktësisht në faqen e parë, kthehen në vend të kësaj shkrime të afërta, dhe faqet që vijojnë vazhdojnë të kërkojnë në të njëjtën mënyrë.
sourceString- `manual` për kontaktet që dikush i ruajti qëllimisht, `auto` për ato që regjistroi kompozuesi i aplikacionit. Lëreni jashtë për të gjithë në audiencë.
sortString- `last-heard-newest` (parazgjedhja) dhe `last-heard-oldest` renditin sipas `lastSeenAt`, dhe kontaktet të cilave nuk u është dërguar kurrë postë dalin të fundit te e para dhe të parat te e dyta. `added-newest` dhe `added-oldest` renditin sipas kohës kur hyri secili kontakt në këtë audiencë, dhe `name` nuk dallon shkronjat e mëdha a të vogla dhe e rendit një kontakt pa emër sipas adresës së tij.
statusesArray<String>- `["subscribed"]` mban anëtarët që nuk janë çregjistruar dhe `["unsubscribed"]` ata që janë çregjistruar. Lëreni jashtë, jepni një Array bosh ose emërtoni të dyja, për të gjithë në audiencë. `OpenEmail::AUDIENCE_MEMBER_STATUSES` mban vlerat, dhe gem-i i dërgon të bashkuara me presje si parametrin e query-t `status`.
Përgjigjja: një kontakt në një audiencë
list_contacts kthen një OpenEmail::Page me Hash-e kontaktesh, dhe list_all_contacts e iterate_contacts përshkojnë çdo faqe me të njëjtat fjalë kyçe. Çdo rresht është një kontakt në formën që kthen contacts.list, fushat e së cilës përshkruhen te faqja e kontakteve, me dy fusha të tjera. Përshkimi i çdo faqeje është mënyra për të eksportuar një audiencë.
addedAtString- ISO 8601 UTC, kur hyri kontakti në këtë audiencë. Heqja e një kontakti dhe shtimi i tij sërish e nis nga e para.
unsubscribedAtString or nil- ISO 8601 UTC, kur kontakti u çregjistrua nga një transmetim i dërguar te kjo audiencë, ose nil sa kohë që është i regjistruar. Një kontakt i çregjistruar mbetet në audiencë, dhe transmetimet drejt saj e anashkalojnë. Heqja e tij dhe shtimi sërish e bën përsëri të regjistruar.
Shtimi dhe heqja në masë
add_contacts dhe remove_contacts marrin emails:, një Array me 1 deri në 200 adresa, dhe ndryshojnë një audiencë me një kërkesë. add_contacts nuk krijon kurrë kontakt. Një adresë që nuk është kontakt kthehet te missing, dhe import_contacts është thirrja që i krijon. Të dyja janë të sigurta për t’u përsëritur, ndaj gem-i i riprovon pas një dështimi të rrjetit, dhe një riprovim i raporton të njëjtët njerëz si të kryer tashmë në vend që të dështojë.
Shtimi te audienca e parazgjedhur përgjigjet me added: 0, sepse çdo kontakt është tashmë aty, dhe remove_contacts mbi të refuzohet me 409 audience_immutable. Heqja e dikujt nga një audiencë e lë atë në librin e adresave, në audiencën e parazgjedhur dhe në audiencat e tjera të tij.
audienceIdString- Audienca që ndryshoi thirrja, në të dy rezultatet.
addedInteger- Te rezultati i `add_contacts`: anëtarësimet e reja që bëri kjo thirrje.
unchangedInteger- Te rezultati i `add_contacts`: kontaktet që ishin tashmë në audiencë. Për to nuk u shkrua asgjë.
removedInteger- Te rezultati i `remove_contacts`: anëtarësimet që hoqi kjo thirrje.
notInAudienceArray<String>- Te rezultati i `remove_contacts`: kontaktet që nuk ishin në audiencë, ndaj atyre nuk u ndodhi asgjë.
missingArray<String>- Te të dyja: adresat që nuk janë kontakte në këtë hapësirë pune, me shkronja të vogla dhe pa përsëritje.
Importimi
import_contacts është importi CSV te faqja e audiencës. Merr contacts:, një Array me 1 deri në 500 Hash-e, secili me një email dhe një name opsional. Çdo adresë e formuar mirë bëhet kontakt nëse ende nuk është, dhe secila përfundon në audiencë. Dërgojeni një listë më të gjatë në disa thirrje. Kërkon audiences:write dhe contacts:write, dhe një çelës që i mungon njëra prej tyre refuzohet me 403 insufficient_scope, ku scope_missing? është true te gabimi.
Një adresë që është tashmë kontakt ripërdoret dhe e ruan emrin e saj, dhe një name këtu plotëson vetëm një emër që ishte bosh. Një kontakt i ri ruhet si manual dhe hyn edhe në audiencën e parazgjedhur, dhe një adresë që ishte fshirë nga libri i adresave rikthehet. Ridërgimi i të njëjtave rreshta nuk krijon asgjë dy herë, ndaj gem-i e riprovon thirrjen pas një dështimi të rrjetit.
audienceIdString- Audienca ku shkuan rreshtat.
createdInteger- Kontaktet e reja që ruajti kjo thirrje.
addedInteger- Anëtarësimet e reja në këtë audiencë, duke numëruar kontaktet që ekzistonin tashmë dhe ende nuk ishin në të.
skippedInteger- Rreshtat që nuk u importuan sepse adresa ishte e formuar keq.
invalidArray<String>- Adresat e formuara keq, saktësisht siç u dërguan.
Zbrazja
empty(id) i nxjerr të gjithë kontaktet nga një audiencë me një kërkesë dhe kthen audiencën ashtu siç është tani, me contactCount në 0, plus removed, numrin e anëtarësimeve të hequra. Audienca ruan id-në, emrin dhe përshkrimin e saj, dhe çdo kontakt mbetet në librin e adresave dhe në audiencat e tjera të tij.
Nuk mund të zhbëhet dhe asgjë nuk regjistron se kush ishte në listë, ndaj përshkoni fillimisht list_all_contacts nëse mund ta doni sërish. Audienca e parazgjedhur nuk mund të zbrazet, dhe thirrja refuzohet me 409 audience_immutable. Gem-i nuk e riprovon empty pas një dështimi të rrjetit, sepse një thirrje e dytë ka sukses me removed: 0. Nëse një përgjigje humbi, lexojeni audiencën me get.
Rritja
growth lexon sa kontakte hynë në secilën audiencë gjatë një dritareje që mbaron tani, dhe sa u çregjistruan brenda saj, sipas ditës, orës ose minutës. Është grafiku te faqja e audiencave. Merr fjalë kyçe, kërkon audiences:read dhe kthen një Hash të vetëm.
growth = client.audiences.growth( audience_ids: ["aud_9f2c4b7e1a0d63d84c5f2e7b"], days: 90, grain: "day", offset_minutes: Time.now.utc_offset / 60) puts "#{growth.dig(:totals, :added)} joins since #{growth[:since]}" growth[:series].each do |series| puts "#{series[:name]}: #{series[:before]} before the window, #{series[:total]} now"endNjë audiencë regjistron kur hyri dikush dhe kurrë kur doli, prandaj çdo shifër numëron njerëzit që janë ende sot në listë, sipas datës kur hynë, dhe një vijë nuk bie kurrë. Një kontakt që hyri dhe më vonë doli nuk është në asnjë nga shifrat.
Parametrat
audience_idsArray<String>- Deri në 50 id audiencash, të dërguara të bashkuara me presje. Lëreni jashtë, ose jepni një Array bosh, për të gjitha audiencat. Një id që nuk është audiencë në këtë hapësirë pune jep një 404 `audience_not_found`, dhe më shumë se 50 jep një 422.
daysInteger- Sa larg pas shtrihet dritarja, nga 1 deri në 1095. Është 30 kur nuk jepet as `days:`, as `minutes:`.
minutesInteger- Dritarja në minuta, nga 1 deri në 1576800, për një dritare më të shkurtër se një ditë. Ka përparësi ndaj `days:` kur jepen të dyja.
grainString- Madhësia e çdo ndarjeje: `day` (parazgjedhja), `hour` ose `minute`.
offset_minutesInteger- Zhvendosja e shikuesit nga UTC në minuta, nga -840 deri në 840, që intervalet e ditëve dhe orëve të nisin te kufiri i tyre lokal. 0 si parazgjedhje. `Time.now.utc_offset / 60` është zhvendosja e makinës ku ekzekutohet kodi.
Përgjigje
sinceString- ISO 8601 UTC, fillimi i intervalit të parë.
untilString- ISO 8601 UTC, çasti i leximit.
totalsHash- `contacts` numëron çdo person një herë, në sado lista të jetë, dhe `memberships` mbledh listat, ndaj një person numërohet një herë për çdo listë të lexuar që e mban. `added` mbledh hyrjet në dritare, `lists` është sa audienca u lexuan, dhe `busiest` është intervali me më shumë hyrje, ose nil. `subscribed` numëron çdo person që është ende i regjistruar në të paktën njërën nga audiencat e lexuara, dhe `unsubscribed` mbledh çregjistrimet brenda dritares.
seriesArray<Hash>- Një element për çdo audiencë, nga më e madhja dhe pastaj sipas emrit: `id`, `name`, `builtin`, `total` anëtarë tani, `subscribed` (ata që janë ende të regjistruar), `before` (ata që hynë para `since`), `added` (ata që hynë brenda dritares), `unsubscribed` (ata që u çregjistruan brenda saj) dhe `buckets`, nga më i vjetri, secili një Hash me `bucket`, `added` dhe `unsubscribed`. Këtu `builtin` është `true` te audienca e parazgjedhur dhe `false` te të tjerat, jo String-u që mbart Hash-i i një audience. Listohen vetëm intervalet me një hyrje ose një çregjistrim, me çelës `YYYY-MM-DD`, `YYYY-MM-DDTHH` ose `YYYY-MM-DDTHH:MM` në kohën lokale të zhvendosjes.