Belgelere geç
Python

Kitleler

`audiences.list`, `get`, `create`, `update`, `delete`, `empty`, `growth`, `list_contacts`, `add_contact`, `add_contacts`, `import_contacts`, `remove_contact` ve `remove_contacts`.

Her yöntem

audiences.py
from openemail import openemail audiences = openemail.audiences.list_all()everyone = next((audience for audience in audiences if audience['builtin'] == 'default'), None) created = openemail.audiences.create({    'name': 'Product updates',    'description': 'Customers who asked to hear about releases',})audience_id = created['id'] openemail.contacts.create({'email': '[email protected]', 'name': 'Grace Hopper'})openemail.audiences.add_contact(audience_id, {'email': '[email protected]'}) bulk = openemail.audiences.add_contacts(audience_id, {    'emails': ['[email protected]', '[email protected]'],}) imported = openemail.audiences.import_contacts(audience_id, {    'contacts': [{'email': '[email protected]', 'name': 'Katherine Johnson'}],}) members = openemail.audiences.list_all_contacts(    audience_id,    q='grace',    sort='added-newest',    limit=200,) growth = openemail.audiences.growth(audience_ids=[audience_id], days=30) openemail.audiences.update(audience_id, {'name': 'Release notes'})openemail.audiences.remove_contact(audience_id, '[email protected]')openemail.audiences.remove_contacts(audience_id, {'emails': ['[email protected]']})openemail.audiences.empty(audience_id)openemail.audiences.delete(audience_id) print(everyone['contactCount'] if everyone else None, bulk['missing'], imported['created'])print(len(members), growth['totals']['added'])

Kitle, bu çalışma alanındaki kişilerden oluşan adlandırılmış bir listedir. Her kişi var olduğu andan itibaren yerleşik varsayılan kitlenin içindedir ve o satırı adlandıran şey builtin alanıdır; geri kalanları oluşturmak, doldurmak ve silmek size kalmıştır. Herkesin değiştirebildiği ada göre değil, builtin alanına göre dallanın.

Bir ya da daha fazla kitleye Broadcasts sayfasındaki openemail.broadcasts.send ile gönderin. Bir kişiyi kitleye koymak kişiye değil kitleye yazmaktır, bu yüzden denetlenen tek kapsam audiences:write'tır. İstisna import_contacts'tır: kişi oluşturduğu için contacts:write de gerekir.

add_contact, halihazırda kişi olan bir adresi alır, olmayanı 422 contact_not_found ile reddeder. Önce openemail.contacts.create ile kaydedin. Birini iki kez eklemek, özgün addedAt değerini taşıyan mevcut üyelik kaydıyla yanıtlanır; dolayısıyla çağrıyı yeniden denemek güvenlidir.

Varsayılan kitle diğerleri gibi yeniden adlandırılabilir ve açıklanabilir, ama silinemez ve içi boşaltılamaz. İkisi de 409 audience_immutable ile reddedilir. Kişinin gitmesini istiyorsanız kişiyi silin.

Yanıt: AudienceResource

list bunlardan bir sayfa döndürür: items, hasMore ve nextCursor içeren bir sözlük; varsayılan kitle en başta, geri kalanlar en yeniden eskiye. list_all ve iterate her sayfayı gezer. get, create ve update her biri bir tane döndürür. list_contacts ise bunun yerine bir AudienceContactResource sayfası döndürür: üyelik kayıtları değil, her birinin katıldığı tarihle birlikte kişilerin kendileri; yanında list_all_contacts ve iterate_contacts bulunur.

idstr
Kalıcı tanıtıcı: `aud_` ve ardından 24 onaltılık karakter. Adlar benzersiz değildir, bu yüzden saklanan yapılandırmaya girmesi gereken değer budur.
namestr
Yazarken kırpılır, 1 ila 120 karakter. İki kitle aynı adı taşıyabilir, çünkü bir kitleye id'siyle erişilir.
descriptionstr | None
Listeyi sonradan okuyacak kişi için serbest metin. Kimse yazmadıysa `None` olur; `update` çağrısında açıkça `None` göndermek bu alanı temizler.
builtinAudienceBuiltin | str | None
Çalışma alanı başına tam olarak bir satırda `default` olur; bu, her kişiyi barındıran kitledir. Birinin oluşturduğu her kitlede `None`'dır. Tür, literal'in yanında `str` ile açık bırakılır; böylece sonradan eklenen yerleşik bir değer, bu türe göre yazılmış kodu bozmaz.
contactCountint
Kitledeki kişi sayısı; önbelleğe alınmak yerine okuma anında sayılır. Bir `contacts.create` çağrısının iki yanındaki iki okuma bir fark gösterir.
lastContactAtstr | None
ISO-8601 UTC; bu kitleye en son katılan kişinin ne zaman katıldığı. Kitle boş olduğu sürece `None` olur.
createdAtstr
ISO-8601 UTC; kitlenin ne zaman oluşturulduğu. Varsayılan kitleden sonraki liste sırasını belirler.
updatedAtstr
ISO-8601 UTC; yeniden adlandırma veya açıklama değişikliğinde güncellenir. Üyelik değişiklikleri bu alana dokunmaz.

Parametreler: audiences.list_contacts

limitint
Sayfa başına kaç kişi: 1 ile 200 arasında bir tam sayı, varsayılanı 50.
cursorstr
Önceki sayfanın `nextCursor` değeri; aynı `q`, `source` ve `sort` ile gönderilir. Bu kitlede olmayan bir kişiyi gösteren imleç 400 `invalid_cursor` verir.
qstr
Adı ve adresi arar, en fazla 200 karakter. İlk sayfada hiçbir şey tam eşleşmezse bunun yerine yakın yazımlar döner ve sonraki sayfalar da aynı şekilde eşleşmeye devam eder.
sourceContactSource
Birinin bilerek kaydettiği kişiler için `'manual'`, uygulamanın e-posta düzenleyicisinin kaydettikleri için `'auto'`. Kitledeki herkes için bu parametreyi vermeyin.
sortAudienceMemberSort
`'last-heard-newest'` (varsayılan) ve `'last-heard-oldest'`, `lastSeenAt` değerine göre sıralar; hiç posta gönderilmemiş kişiler ilkinde sona, ikincisinde başa gelir. `'added-newest'` ve `'added-oldest'` her kişinin bu kitleye katıldığı zamana göre sıralar; `'name'` ise büyük-küçük harf ayırmaz ve adı olmayan bir kişiyi adresine göre sıralar.
statusesSequence[AudienceMemberStatus]
`['subscribed']` aboneliğini bırakmamış üyeleri, `['unsubscribed']` bırakmış olanları tutar. Kitledeki herkes için boş bırakın ya da ikisini birden verin. Değerler `AUDIENCE_MEMBER_STATUSES` içindedir.

Yanıt: AudienceContactResource

list_contacts bir Page[AudienceContactResource] döndürür; list_all_contacts ve iterate_contacts aynı seçeneklerle tüm sayfaları dolaşır. Her satır, alanları Kişiler sayfasında bulunan bir ContactResource ve iki alan daha içerir. Bir kitleyi dışa aktarmanın yolu tüm sayfaları dolaşmaktır.

addedAtstr
ISO-8601 UTC, kişinin bu kitleye katıldığı zaman. Bir kişiyi çıkarıp yeniden eklemek bu değeri sıfırdan başlatır.
unsubscribedAtstr | None
ISO-8601 UTC, kişinin bu kitleye gönderilen bir toplu gönderimden abonelikten çıktığı zaman ya da abone olduğu sürece `None`. Abonelikten çıkmış bir kişi kitlede kalır ve kitleye yapılan toplu gönderimler onu atlar. Onu çıkarıp yeniden eklemek onu yeniden abone yapar.

Toplu ekleme ve çıkarma

add_contacts ve remove_contacts, 1 ile 200 arası adres içeren {'emails': [...]} alır ve tek istekte bir kitleyi değiştirir. add_contacts hiçbir zaman kişi oluşturmaz: kişi olmayan bir adres missing içinde geri döner, onları oluşturan çağrı ise import_contacts metodudur. İkisi de güvenle yinelenebilir; bu yüzden bir zaman aşımından sonraki yeniden deneme başarısız olmak yerine aynı kişileri zaten işlenmiş olarak bildirir.

Varsayılan kitleye ekleme 'added': 0 döndürür, çünkü her kişi zaten içindedir; ona uygulanan remove_contacts ise 409 audience_immutable ile reddedilir. Birini bir kitleden çıkarmak onu adres defterinde, varsayılan kitlede ve diğer kitlelerinde bırakır.

audienceIdstr
Çağrının değiştirdiği kitle, iki sonuçta da.
addedint
`AudienceBatchAddResource` içinde: bu çağrının oluşturduğu yeni üyelikler.
unchangedint
`AudienceBatchAddResource` içinde: zaten kitlede olan kişiler. Onlar için hiçbir şey yazılmadı.
removedint
`AudienceBatchRemoveResource` içinde: bu çağrının kaldırdığı üyelikler.
notInAudiencelist[str]
`AudienceBatchRemoveResource` içinde: kitlede olmayan kişiler; bu yüzden onlara hiçbir şey olmadı.
missinglist[str]
İkisinde de: bu çalışma alanında kişi olmayan adresler, küçük harfle ve tekrarsız.

İçe aktarma

import_contacts, kitle sayfasındaki CSV içe aktarımıdır. Her biri bir email ve isteğe bağlı bir name içeren 1 ile 500 arası satırdan oluşan {'contacts': [...]} alır: düzgün biçimli her adres henüz kişi değilse kişi olur ve hepsi kitleye girer. Daha uzun bir listeyi birkaç çağrıda gönderin. audiences:write ve contacts:write gerektirir.

Zaten kişi olan bir adres yeniden kullanılır ve adını korur; buradaki name yalnızca boş olan bir adı doldurur. Yeni bir kişi manual olarak kaydedilir ve varsayılan kitleye de katılır; defterden silinmiş bir adres ise geri gelir. Aynı satırları yeniden göndermek hiçbir şeyi iki kez oluşturmaz.

audienceIdstr
Satırların girdiği kitle.
createdint
Bu çağrının kaydettiği yeni kişiler.
addedint
Bu kitledeki yeni üyelikler; zaten var olan ve henüz kitlede olmayan kişiler de sayılır.
skippedint
Adres hatalı biçimli olduğu için içe aktarılmayan satırlar.
invalidlist[str]
Hatalı biçimli adresler, tam gönderildikleri gibi.

Boşaltma

empty(id) tek istekte bir kitledeki her kişiyi çıkarır ve bir EmptiedAudienceResource döndürür: kitlenin şimdiki hâli, contactCount 0 olarak, artı kaldırılan üyelik sayısı olan removed. Kitle id'sini, adını ve açıklamasını korur; her kişi adres defterinde ve diğer kitlelerinde kalır.

Geri alınamaz ve listede kimin olduğu hiçbir yerde kaydedilmez; bu yüzden listeyi geri isteyebilecekseniz önce list_all_contacts ile dolaşın. Varsayılan kitle boşaltılamaz ve çağrı 409 audience_immutable ile reddedilir.

Büyüme

growth(), şu an biten bir zaman aralığında her kitleye gün, saat veya dakika bazında kaç kişinin katıldığını okur; bu, kitleler sayfasındaki grafiktir. audiences:read gerektirir ve bir AudienceGrowthResource döndürür.

Bir kitle birinin ne zaman katıldığını kaydeder, ne zaman ayrıldığını asla kaydetmez; bu yüzden her katılım sayısı bugün hâlâ listede olan kişileri katılım tarihlerine göre sayar ve bir çizgi hiçbir zaman düşmez. Katılıp sonra ayrılan bir kişi sayıların hiçbirinde yer almaz.

Parametreler

audience_idsSequence[str]
Virgülle birleştirilerek gönderilen en fazla 50 kitle kimliği. Tüm kitleler için bunu vermeyin. Bu çalışma alanında kitle olmayan bir kimlik 404 `audience_not_found` verir.
daysint
Aralığın geriye ne kadar uzandığı, 1 ile 1095 arası. Ne `days` ne de `minutes` verilmezse 30 olur.
minutesint
Bir günden kısa bir aralık için dakika cinsinden aralık, 1 ile 1576800 arası. İkisi birlikte verilirse `days` yerine bu geçerli olur.
grainTrackingGrain
Her dilimin boyutu: `day` (varsayılan), `hour` veya `minute`.
offset_minutesint
Görüntüleyenin dakika cinsinden UTC farkı, -840 ile 840 arası; böylece günlük ve saatlik dilimler onun yerel sınırında başlar. Varsayılanı 0.

Yanıt

sincestr
ISO-8601 UTC, ilk dilimin başlangıcı.
untilstr
ISO-8601 UTC, okumanın yapıldığı an.
totalsAudienceGrowthTotals
`contacts` her kişiyi kaç listede olursa olsun bir kez sayar, `memberships` ise listeleri toplar; böylece bir kişi, okunan ve kendisini içeren her liste için bir kez sayılır. `subscribed`, okunan listelerden en az birine hâlâ abone olan kişileri, her birini bir kez olmak üzere sayar. `added` aralıktaki katılımları, `unsubscribed` ise aralıktaki abonelikten çıkmaları toplar; `lists` kaç kitlenin okunduğunu gösterir, `busiest` ise en çok katılımın olduğu dilimdir ya da `None` olur.
serieslist[AudienceGrowthSeries]
Kitle başına bir kayıt, en büyükten başlayarak: `id`, `name`, `builtin` (varsayılan kitlede `True`), şu anki üye sayısı `total`, `subscribed` (bunlardan abonelikten çıkmamış olanlar), `before` (`since` öncesinde katılanlar), `added` (aralık içinde katılanlar), `unsubscribed` (aralık içinde abonelikten çıkanlar) ve her biri `bucket`, `added` ve `unsubscribed` içeren bir sözlük olan `buckets`. Yalnızca bir katılım ya da abonelikten çıkma olan dilimler listelenir; anahtarlar farkın yerel saatinde `YYYY-MM-DD`, `YYYY-MM-DDTHH` veya `YYYY-MM-DDTHH:MM` biçimindedir.

Referans