Yenilikler değişiklik günlüğü, müşterilerinize nelerin değiştiğini anlatır: Yeni, İyileştirildi veya Düzeltildi etiketli kısa, tarihli kayıtlar. Bunlar herkese açık bir sayfada, bir Atom akışında, okunmamış sayısıyla web widget’ında ve siz isterseniz abonelerinize e-postayla görünür. Bir gelen kutusuna aittir; bu yüzden müşteri bildirdiği hatanın düzeldiğini, soracağı yerde görür.
Her gelen kutusunun en fazla bir değişiklik günlüğü olur. Herkese açık sayfalar, zorunlu JavaScript olmadan, Yuva sunucunuz tarafından düz HTML olarak üretilir. Burada hiçbir şey kendiliğinden e-posta göndermez: bir kaydı e-postayla göndermek, her zamanki gibi gözden geçirip gönderdiğiniz bir bülten taslağı oluşturur.
1. Değişiklik günlüğü oluşturun
Panelde: kenar çubuğunda Yenilikler (kısayol g w), sonra gelen kutusunda Değişiklik günlüğü oluştur.
Değişiklik günlüklerini sahipler ve yöneticiler oluşturur ve değiştirir; kayıtları kimin yayınlayabileceği
için bkz. Taslaklar ve yayınlama.
| Ayar (API alanı) | Anlamı |
|---|---|
Ad (name) |
En fazla 100 karakter. |
Açıklama (description) |
En fazla 1.000 karakter, ana sayfada adın altında gösterilir. |
Adres (slug) |
3 ile 48 karakter: a-z, 0-9 ve araya giren tireler. Sunucuda benzersiz; bazı sözcükler ayrılmıştır. |
Diller (locales), ana dil (default_locale) |
Kayıtların yazıldığı ve yayınlandığı en fazla 20 dil; ana dil bunlardan biridir. |
Analitik (analytics_property_id) |
Değişiklik günlüğüyle birlikte saklanır. |
Temsilciler yayınlayabilir (agents_may_publish) |
Varsayılan olarak kapalı. Bkz. Taslaklar ve yayınlama. |
Yayında (published) |
Varsayılan olarak kapalı. Yayınlanmamış bir değişiklik günlüğü ve tüm kayıtları ekibiniz dışında herkese 404 verir; widget’ta Yenilikler görünmez. |
Sayfaların logosu ve vurgu rengi gelen kutusunun markasıdır. Adresi değiştirirseniz eskisi 90 gün boyunca değişiklik günlüğüne ayrılmış kalır ve altındaki herkese açık adresler yenisine yönlendirir.
API ile: inbox_id, name ve slug ile POST /v1/changelogs, sonra {"published": true} ile
PATCH /v1/changelogs/{changelogId}. GET /v1/changelogs/{changelogId}/preview, değişiklik günlüğü
yayında olmasa bile bir sayfayı ziyaretçilerin göreceği gibi döndürür; panel bunu taslaklar dahil Önizleme
ile gösterir (düzenleyicide kısayol v). DELETE, değişiklik günlüğünü kayıtları ve çevirileriyle siler;
kayıtlarından yapılmış bültenler kalır.
2. Kayıt yazın ve çevirin
Bir kaydın bir ila üç etiketi, isteğe bağlı bir görseli ve dil başına bir çevirisi vardır. Yenilikler’i açın, Yeni kayıt’ı seçin, etiketleri belirleyin ve ana dilde bir başlık ile Markdown metin yazın.
| Alan | Sınır |
|---|---|
Etiketler (labels) |
new, improved ve fixed değerlerinden bir ila üçü. |
Başlık (title) |
3 ile 200 karakter. |
Metin (body) |
Markdown, en fazla 50.000 karakter. Başlıklar, listeler, tablolar, kod, bağlantılar ve görseller; ham HTML kaldırılır. |
Adres (slug) |
Bir çevirinin web adresinin parçası; başlıktan üretilir, düzenlenebilir. URL’deki yanlış bir slug doğrusuna yönlendirir. |
Görsel (image_id) |
Çalışma alanınızın e-posta görsellerinden biri. |
Metindeki görseller yalnızca çalışma alanınıza yüklediyseniz kalır: düzenleyiciden yükleyin veya
POST /v1/changelogs/{changelogId}/images kullanın (e-posta görselleriyle aynı türler, boyutlar ve yeniden
kodlama). Hiçbir kaydın, taslağın veya tasarımın kullanmadığı görsel, yüklemeden bir hafta sonra silinir.
Çevirmek için düzenleyicide bir dil seçin: ana dildeki metin çevirinin yanında kalır, eksik veya güncelliğini yitirmiş çeviriler işaretlenir. Yuva sizin yerinize çeviri yapmaz. Yayındaki bir kayıt ana dildeki çevirisini her zaman korur.
Bir çalışma alanının en fazla YUVA_CHANGELOG_MAX_ENTRIES kaydı olabilir
(Yapılandırma); bunun ötesinde kayıt oluşturmak 422 hosted_limit verir.
API ile, /v1/changelogs/{changelogId} altında: POST /entries ilk çevirisiyle bir kayıt yazar;
GET /entries state (draft, scheduled, published veya changed), label ve locale ile süzer;
PATCH /entries/{entryId} etiketleri ve görseli değiştirir; /entries/{entryId}/translations/{locale}
üzerindeki PUT ve DELETE bir çeviriyi yazar ve kaldırır.
Taslaklar ve yayınlama
Bir çevirinin çalışma taslağı vardır ve yayınlandığında donmuş bir yayın kopyası olur. Kaydetmek yalnızca taslağı değiştirir; herkese açık sayfa siz yayınlayınca değişir.
- Kaydetme. Her kayıt, düzenleyicinin yüklediği
base_versiondeğerini taşır. Arada başkası kaydettiyse kayıt409 version_conflictile reddedilir ve yanıt çeviriyi şu anki haliyle içerir; böylece kimse başkasının çalışmasının üzerine yazmaz. Açık olan diğer düzenleyicilere kaydın değiştiği bildirilir. - Yayınlama. Yayınla, taslağı olan her çeviriyi dondurur, işler ve kaydı web’e koyar
(
POST .../entries/{entryId}/publish). Ana dilde metin gerekir (409 no_default_translation). İlk yayın gösterilen tarihi belirler; yeniden yayınlamak onu korur. Sonradan eklenen veya değiştirilen bir çeviri, istektelocaleile tek başına yayınlanır. Yayından kaldır (POST .../unpublish) kaydı web’den ve widget’tan alır, tarihini koruyan bir taslağa döndürür. - Kim yayınlayabilir. Gelen kutusuna erişimi olan temsilciler kayıt ve çeviri yazar. Sahipler ve
yöneticiler ayrıca yayınlar, zamanlar, yayından kaldırır, yayındaki bir kaydın etiketlerini veya görselini
değiştirir, yayındaki kayıtları siler ve değişiklik günlüğünün ayarlarını değiştirir. Gelen kutusuna
erişimi olan temsilcilerin de yayınlayabilmesi için Temsilciler yayınlayabilir’i (
agents_may_publish) açın. Yetkisi olmayan temsilciler Taslağı gönder’i kullanır ve bir sahip veya yönetici yayınlar. - Anahtarlar. Bir API anahtarı yalnızca
changelog:publishyetkisiyle yayınlar; örneğin kaydını gönderen bir sürüm hattı. Onsuz anahtar taslak yazar. - Asistanlar asla yayınlamaz. OAuth ve MCP token’ları
taslak yazar; ancak ayarlar ne olursa olsun bir değişiklik günlüğü oluşturamaz veya değiştiremez,
yayınlayamaz, zamanlayamaz, yayından kaldıramaz ya da yayındaki bir kaydı silemez
(
403 member_session_required).
Zamanlama
Bir kaydı, seçtiğiniz bir zamanda, saat diliminizde ve en fazla 365 gün sonrasına yayına girecek şekilde
zamanlayın (publish_at ile POST .../entries/{entryId}/schedule). Bir değişiklik günlüğünde en fazla 50
zamanlanmış kayıt olur (409 too_many_scheduled). Yeniden zamanlamak saati taşır; Zamanlamayı kaldır
(POST .../unschedule) kaydı taslağa döndürür.
Sunucu kaydı o saatte, onu zamanlayan kişi veya anahtar yapacakmış gibi kendisi yayınlar. Zamanlanmış bir kayıt
olduğu gibi yayına girer; bu yüzden onu yalnızca yayınlama yetkisi olanlar değiştirebilir, çevirilerini
kaydedebilir veya silebilir (403 entry_scheduled).
Zaman geldiğinde yetki yoksa hiçbir şey yayına girmez: kayıt, panelin gösterdiği schedule_failed ile
taslağa döner.
schedule_failed.reason |
Anlamı |
|---|---|
lost_right |
Kaydı zamanlayan üye artık yayınlayamıyor veya yok. |
key_revoked |
Kaydı zamanlayan API anahtarı iptal edildi. |
key_scope_lost |
Anahtar artık changelog:publish yetkisine sahip değil veya gelen kutusunu göremiyor. |
no_default_translation |
Ana dildeki metin kaldırıldı. |
Nedeni giderin ve yeniden zamanlayın; bir sonraki zamanlama veya yayın hatayı temizler.
3. Herkese açık sayfalar ve akış
Yayındaki bir değişiklik günlüğü <Yuva adresiniz>/changelog/{slug} adresindedir ve ana diline yönlendirir.
Tarayıcı diline göre yönlendirme yoktur.
| Adres | Gösterir |
|---|---|
/changelog/{slug}/{locale}/ |
Kayıtlar yeniden eskiye, sayfada 20; ?label= ile new, improved veya fixed süzer, ?before= sayfalar. |
/changelog/{slug}/{locale}/entries/{number}-{slug} |
Tek bir kayıt. Yanlış slug doğrusuna yönlendirir. |
/changelog/{slug}/{locale}/feed.atom |
O dildeki en yeni 50 kayıt, her kaydın metni ve etiketleriyle bir Atom akışı olarak. |
/changelog/{slug}/sitemap.xml |
Yayındaki sayfalar. |
Bir sayfa yalnızca adresindeki dilde yayınlanmış çevirisi olan kayıtları listeler. Taslak, zamanlanmış ve
yayından kaldırılmış kayıtlar, bilinmeyen diller ve yayınlanmamış değişiklik günlükleri düz bir 404 verir.
Sayfalar kanonik ve hreflang bağlantıları, kaydın görselini içeren Open Graph etiketleri ve arama
motorları için yapılandırılmış veri taşır. Bir dakika önbelleğe alınır ve adres başına dakikada 120 istekle
sınırlıdır.
4. Widget içinde
Gelen kutusunun bir kaydı olan yayınlanmış bir değişiklik günlüğü olduğunda Ana ekran, ziyaretçinin açmadığı kayıtların sayısını “9+” a kadar gösteren bir Yenilikler kutucuğu gösterir. Uygulama panelin içinde açılır: kayıtlar yeniden eskiye etiketleri, tarihi, görseli ve metniyle, bir de herkese açık sayfaya bağlantıyla. Değişiklik günlüğünde varsa ziyaretçinin dilini, yoksa ana dili kullanır.
- Okunmamış. Ziyaretçinin açtığı en yeni tarih yalnızca tarayıcısında, kanal başına tutulur; Yuva bu konuda hiçbir şey saklamaz ve anonim ziyaretçiler de bunu alır. İşaret yoksa 30 günden eski kayıtlar okunmuş sayılır. Uygulamayı açmak gösterilen her şeyi okunmuş yapar.
- Başlatıcı rozeti. Sohbet kanalında Güncellemeleri duyur’u (
announce_updates) açın; başlatıcı, ziyaretçinin okunmamış mesajı yokken okunmamış kayıt sayısını gösterir. Mesajlar rozeti her zaman alır. Varsayılan olarak kapalıdır; Ana ekran kutucuğu sayıyı her durumda gösterir. - Canlı. Bir yayın açık widget’lara anında ulaşır.
Kodda: openApp("whats-new") uygulamayı, openApp("whats-new", { entry: "<id>" }) tek bir kaydı açar. Kendi
ekranınızı kurmak için istemcide whatsNew({ locale, cursor, limit }) ve whatsNewEntry(id) vardır; React
sitelerinde useyuva/react içinde useWhatsNew({ locale }) bulunur; bkz. SDK README.
Bunların arkasındaki uç noktalar GET /client/v1/channels/{channel_key}/whats-new ve
.../whats-new/{entryId}: oturum yok, kişi oluşturulmaz, adres başına dakikada 120 okuma, bir dakika
önbelleğe alınabilir. Yayınlanmış değişiklik günlüğü yoksa 404 whats_new_off verirler.
5. Bir kaydı abonelere e-postayla gönderin
Yayındaki bir kayıtta sahipler ve yöneticiler Bunu abonelere e-postayla gönder’i seçer: gelen kutusunun en
fazla 10 listesini, gönderim kanalını ve dili seçin. Yuva, product-update
tasarımından bir bülten taslağı oluşturur: başlık, etiketler ve tarih, metin, çalışma
alanınızın görselleri, üstte kaydın görseli ve kaydın herkese açık sayfasına bir düğme. Bir e-posta
tasarımının taşıyamadığı tablo veya kod bloğu, kayda bağlanan bir satıra dönüşür. Panel taslağı açar; kayıt,
bültenlerini ve durumlarını listeler.
Bununla hiçbir şey zamanlanmaz veya gönderilmez. Gözden geçirme, test gönderimleri, onay, abonelikten çıkma
bağlantıları, izin, hız ve gönderim her bültenle aynıdır. API ile:
locale, list_ids ve isteğe bağlı channel_id ile
POST /v1/changelogs/{changelogId}/entries/{entryId}/broadcast; broadcasts:write ve lists:read
yetkilerini ister ve yayınlanmamış bir kayıt için 409 not_published verir. Asistanlar bir kaydı asla
e-postayla göndermez.
Olaylar ve webhook’lar
Yayınlama (bir zamanlama tetiklendiğinde ve yayındaki bir çeviri değiştirildiğinde de), yayından kaldırma ve
yayındaki bir kaydı silme, gelen kutusunu gören üyeler için bir olay saklar ve webhook’lara
changelog.entry.published, changelog.entry.unpublished ve changelog.entry.deleted olarak gönderilebilir.
Başvuru
Yetkiler
Yetkileri adlandırmadan oluşturulan API anahtarları changelog:read ve changelog:write taşır;
changelog:publish adlandırılmalıdır. Bunlar var olmadan önce oluşturulmuş anahtarlara yetki eklenmez. Bkz.
Headless.
| Yetki | İzin verir |
|---|---|
changelog:read |
Değişiklik günlüklerini, taslaklı kayıtları okuma ve önizleme. |
changelog:write |
Kayıt ve çeviri yazma, görsel yükleme. |
changelog:publish |
Değişiklik günlüğü oluşturma, değiştirme ve silme; yayındaki kayıtları yayınlama, zamanlama, yayından kaldırma ve silme. OAuth istemcilerine asla sunulmaz. |
Gelen kutularıyla sınırlı bir anahtar yalnızca o gelen kutularının değişiklik günlüklerini görür; diğerleri
404 verir.
Sınırlar
| Öğe | Sınır |
|---|---|
| Çalışma alanı başına kayıt | YUVA_CHANGELOG_MAX_ENTRIES (Yapılandırma). |
| Değişiklik günlüğü başına zamanlanmış kayıt | 50. |
| Değişiklik günlüğü başına dil | 20. |
| E-postayla gönderilen kayıt başına liste | 10. |
| Herkese açık sayfalar ve akışlar | Adres başına dakikada 120 istek. |
| Önizleme | Çağıran başına dakikada 60 işleme. |
Kapatın
YUVA_WHATS_NEW=off özelliği kaldırır: uç noktaları ve herkese açık sayfaları 404 verir ve widget’ta
Yenilikler görünmez.