Olay referansı

Kaynağa göre gruplandırılmış 26 Listings API webhook olayının tümü, her biri için tam alan bilgileri ve örnek bir veri yükü.

İlişkili oldukları REST kaynağına göre gruplandırılmış 26 olay. Bu sayfadaki her olay, tek webhook URL'nize iletilir. Olay başına abonelik yoktur; bu nedenle event değerine göre işlem yapın ve ihtiyacınız olmayan olayları yok sayın.

Aşağıda ayrıca belirtilen listing.submission dışında tümü standart veri yükünü kullanır. data içindeki isteğe bağlı alanlar boş olduğunda null olarak gönderilmek yerine veri yükünden çıkarılır.

Dizin

OlayKaynakTetiklenme koşulu
listing.submissionİşletme kayıtlarıBir dizin sitesine yapılan atıf gönderimi sonuçlandığında
profile.createdKonumlarBir konum oluşturulduğunda
profile.updatedKonumlarBir konum düzenlendiğinde
profile.deletedKonumlarBir konum arşivlendiğinde
connection.location_connectedBağlı hesaplarBir Google veya Facebook işletme kaydı bağlandığında
connection.location_disconnectedBağlı hesaplarBir işletme kaydının bağlantısı kaldırıldığında
connection.reauth_requiredBağlı hesaplarKimlik bilgileri geçersiz kılındığında
connection.listing_inaccessibleBağlı hesaplarBir işletme kaydına erişim kaybedildiğinde
connection.google_verification_verifiedBağlı hesaplarGoogle doğrulaması başarılı olduğunda
connection.google_verification_failedBağlı hesaplarGoogle doğrulaması başarısız olduğunda
interaction.reviewYorumlarBir yorum geldiğinde veya değiştiğinde
interaction.responseYorumlarBir yanıt yayımlandığında veya değiştiğinde
local_post.createdGönderilerBir gönderi oluşturulduğunda
local_post.publishedGönderilerBir gönderi Google'da yayımlandığında
local_post.rejectedGönderilerGoogle bir gönderiyi reddettiğinde
local_post.deletedGönderilerBir gönderi silindiğinde
social_post.createdSocialBir sosyal medya gönderisi oluşturulduğunda
social_post.publishedSocialBir sosyal medya gönderisi hedeflenen tüm kanallarda yayımlandığında
social_post.failedSocialEn az bir kanalda yayımlama başarısız olduğunda
social_post.rejectedSocialBir onay iş akışı gönderiyi reddettiğinde
social_post.deletedSocialBir sosyal medya gönderisi arşivlendiğinde
social_connection.connectedSocialBir marka kanalı bağlandığında veya yeniden bağlandığında
social_connection.disconnectedSocialBir marka kanalı kasıtlı olarak kaldırıldığında
social_connection.archivedSocialBir marka kanalı istem dışı olarak kaybedildiğinde
review_analytics.daily_snapshotAnalizlerGünlük yorum özetleme işlemi çalıştığında
review_analytics.weekly_snapshotAnalizlerHaftalık yorum özetleme işlemi çalıştığında

İşletme kayıtları

İşletme kayıtları uç noktalarıyla, özellikle de bu olayın bildirdiği atıf başına syncStatus ve listingUrl değerlerini döndüren GET /locations/{locationId}/listings/premium ile birlikte kullanılır.

listing.submission

Tetiklenme koşulu: tek bir konum için tek bir dizin sitesine yapılan atıf gönderiminin nihai bir duruma ulaşması.

En üst düzey:

AlanTürAçıklama
eventstringHer zaman listing.submission.
dataobjectAşağıya bakın.
statusstringsuccess, incomplete veya canceled.
live_linkstringYayımdaki işletme kaydının URL'si. Yalnızca success durumunda ve yalnızca URL biliniyorsa bulunur.
error_messagestringGönderimin neden tamamlanamadığı. Yalnızca incomplete durumunda bulunur.

data içinde:

AlanTürAçıklama
business_idintegerKonumun sayısal id değeri.
v4_business_idstringLocation:<id> değerinin base64 ile kodlanmış hâli, yani genel kimlik biçimi.
location_idstringBase64 biçimindeki aynı genel kimlik; sayısal bir dize değildir.
site.idintegerDizin sitesinin id değeri.
site.namestringDizin sitesinin adı, e.g. Yelp.
site.urlstringDizin sitesinin ana sayfa URL'si.
JSON
{  "event": "listing.submission",  "data": {    "business_id": 279381,    "v4_business_id": "TG9jYXRpb246Mjc5Mzgx",    "location_id": "TG9jYXRpb246Mjc5Mzgx",    "site": {      "id": 42,      "name": "Yelp",      "url": "https://www.yelp.com"    }  },  "status": "success",  "live_link": "https://www.yelp.com/biz/acme-dental-downtown"}

Konumlar

Konum yaşam döngüsü; createLocation, updateLocation ve archiveLocations ile bire bir eşleşir. Konum kapsamındadır: location_id her zaman sayısal bir dizedir.

profile.created

Tetiklenme koşulu: yeni bir konum oluşturulması.

data alanıTürAçıklama
sourcestringOluşturan: user, api veya bulk_edit.
JSON
{  "event": "profile.created",  "timestamp": "2026-08-25T10:04:00Z",  "account_id": 11073,  "location_id": "901234",  "data": { "source": "api" }}

profile.updated

Tetiklenme koşulu: mevcut bir konumun bilgilerinin düzenlenmesi.

Her konum için 60 saniyede bir teslimatla sınırlandırılır ve teslimat bu sürenin başında yapılır. Bu süre içindeki düzenlemeler birleştirilir, ertelenmez. Bu düzenlemeler için olay hiç iletilmez. changed_fields değerini eksiksiz bir fark dökümü olarak değil, süreyi başlatan düzenlemeye ilişkin bir ipucu olarak değerlendirin.

Olay, sürenin başında iletilir; bu nedenle olay ulaştığında konumu yeniden okursanız yalnızca ilk düzenlemeyi görürsünüz. Süre sona erdiğinde, en az 60 saniye sonra ikinci bir okuma planlayın ve bu olay için yalnızca bir teslimat girişimi yapıldığından ve yeniden deneme yapılmadığından konum verilerini ayrıca düzenli aralıklarla karşılaştırıp eşitleyin. Kaçırılan bir olaydan sonra verileri güncelleme bölümüne bakın.

data alanıTürAçıklama
sourcestringuser, api veya bulk_edit.
changed_fieldsstring dizisiDeğişen konum alanlarının adları, e.g. name, phone, address1. Boş olduğunda veri yüküne dahil edilmez.
JSON
{  "event": "profile.updated",  "timestamp": "2026-08-25T10:06:12Z",  "account_id": 11073,  "location_id": "901234",  "data": {    "source": "user",    "changed_fields": ["name", "phone"]  }}

profile.deleted

Tetiklenme koşulu: bir konumun arşivlenmesi. Bu, geçici bir silme işlemidir. Kalıcı silme yoktur ve arşivleme, olay üretmeyen cancelArchiveLocations ile iptal edilebilir.

data alanıTürAçıklama
sourcestringuser, api veya bulk_edit.
JSON
{  "event": "profile.deleted",  "timestamp": "2026-08-25T10:20:44Z",  "account_id": 11073,  "location_id": "901234",  "data": { "source": "user" }}

Bağlı hesaplar

Google ve Facebook bağlantılarının yaşam döngüsü ve durumu, Bağlı hesaplar uç noktalarıyla birlikte. Konum kapsamındadır. platform her zaman google veya facebook olur; diğer sağlayıcılar bu olayları üretmez.

connected_account_id her zaman bir anahtar olarak bulunur, ancak iki Google doğrulama olayında değeri null olur.

connection.location_connected

Tetikleyici: bir Google veya Facebook işletme kaydı bir konuma bağlanır.

data alanıTürAçıklama
platformstringgoogle veya facebook.
connected_account_idstringBağlantısı kurulan bağlı hesap.
JSON
{  "event": "connection.location_connected",  "timestamp": "2026-08-25T14:32:10Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "platform": "google",    "connected_account_id": "ba03bc4b-9f8c-4d3b-8e93-9628034c63cc"  }}

connection.location_disconnected

Tetikleyici: bir Google veya Facebook işletme kaydının bir konumla bağlantısı kaldırılır.

data alanıTürAçıklama
platformstringgoogle veya facebook.
connected_account_idstringBağlantısı kaldırılan bağlı hesap.
JSON
{  "event": "connection.location_disconnected",  "timestamp": "2026-08-25T14:35:02Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "platform": "google",    "connected_account_id": "ba03bc4b-9f8c-4d3b-8e93-9628034c63cc"  }}

connection.reauth_required

Tetikleyici: bağlı hesabın kimlik bilgileri geçersiz kılınmıştır. Birisi bu bağlantıyı yeniden yetkilendirene kadar bu bağlantı üzerinden hiçbir şey eşitlenmez.

data alanıTürAçıklama
platformstringgoogle veya facebook.
connected_account_idstringYeniden kimlik doğrulaması gereken bağlı hesap.
reasonstringİnsanların anlayabileceği açıklama. Kaynak bir açıklama sağlamadığında dahil edilmez.
JSON
{  "event": "connection.reauth_required",  "timestamp": "2026-08-25T14:40:18Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "platform": "google",    "connected_account_id": "ba03bc4b-9f8c-4d3b-8e93-9628034c63cc",    "reason": "Google credentials are invalid. Please reconnect."  }}

connection.listing_inaccessible

Tetikleyici: bağlı hesap artık konumun işletme kaydına erişemiyordur. reauth_required ile arasındaki fark şudur: kimlik bilgileri hâlâ tamamen geçerli olabilir, ancak söz konusu işletme kaydına erişim kaldırılmıştır.

data alanıTürAçıklama
platformstringgoogle veya facebook.
connected_account_idstringErişimini kaybeden bağlı hesap.
reasonstringİnsanların anlayabileceği açıklama. Kaynak bir açıklama sağlamadığında dahil edilmez.
JSON
{  "event": "connection.listing_inaccessible",  "timestamp": "2026-08-25T14:42:55Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "platform": "facebook",    "connected_account_id": "cf12de77-2211-4a09-b7c1-0a6f3b2e91aa",    "reason": "No longer has access to this listing."  }}

connection.google_verification_verified

Tetikleyici: bir konumun Google Business Profile profili doğrulamadan geçer.

data alanıTürAçıklama
platformstringHer zaman google.
connected_account_idnullDoğrulama olaylarında her zaman null.
JSON
{  "event": "connection.google_verification_verified",  "timestamp": "2026-08-25T14:50:00Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "platform": "google",    "connected_account_id": null  }}

connection.google_verification_failed

Tetikleyici: bir Google Business Profile doğrulaması başarısızlıkla sona erer. Hiçbir REST çağrısı doğrulama başlatmaz; yukarıda belirtildiği gibi durumun kendisi okunabilir.

Yalnızca son durumlar olay üretir: VERIFIED, _verified olayını tetikler; SUSPENDED veya DUPLICATE (failure_type rejected) ve ERROR_WHILE_FETCHING (transient) ise bu olayı tetikler. İşlemin sürdüğünü belirten durumlar (PENDING_VERIFICATION, UNDER_REVIEW, NOT_VERIFIED, NOT_CONNECTED) hiçbir olay üretmez, dolayısıyla bir olayın olmaması herhangi bir duruma işaret etmez. Doğrulama sürerken konumu düzenli aralıklarla okuyarak googleVerificationStatus alanını kontrol edin.

data alanıTürAçıklama
platformstringHer zaman google.
connected_account_idnullDoğrulama olaylarında her zaman null.
failure_typestringAskıya alınmış veya yinelenen bir profil için rejected; Google'dan veri okunamadığında transient. Yalnızca transient için yeniden denemek anlamlıdır.
reasonstringİnsanların anlayabileceği açıklama. Kaynak bir açıklama sağlamadığında dahil edilmez.
JSON
{  "event": "connection.google_verification_failed",  "timestamp": "2026-08-25T14:52:31Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "platform": "google",    "connected_account_id": null,    "failure_type": "rejected",    "reason": "This profile is suspended."  }}

Yorumlar

Yorumlar ve yanıtlar; yanıt verme, yanıtı düzenleme ve yanıtı arşivleme dahil Yorumlar uç noktalarıyla birlikte.

Social kategorisindeki yorumlar filtrelenerek çıkarılır ve hiçbir zaman iletilmez.

interaction.review

Tetikleyici: bir yorum sisteme alınır veya değişir.

data.interaction alanıTürAçıklama
idstringEtkileşim UUID'si. Bu değişikliği değil, yorumu tanımlar: yorum her değiştiğinde aynı id yeniden gelir. Satırınızın anahtarı olarak bunu kullanın; daha sonraki bir iletimi engellemek için asla kullanmayın. Yinelemeler ve sıralama bölümüne bakın.
typestringReview.
contentstringYorumun metni. null olabilir.
ratingnumberYıldız puanı. Yıldız puanı bulunmayan kaynaklar için null olabilir.
titlestringKaynakta mevcutsa yorum başlığı.
author_namestringYorumu yazan kişinin görünen adı.
author_avatarstringYorumu yazan kişinin avatar URL'si.
datestringYorumun kaynakta yayımlandığı ISO-8601 biçimindeki tarih.
sourcestringGeldiği kaynak, e.g. google.com, facebook.com.
permalinkstringYorumun kaynaktaki bağlantısı.
categorystringEtkileşim kategorisi. Social, iletimden önce filtrelenerek çıkarılır.
interaction_statusstringEtkileşimin iş akışı durumu.
parent_idstringBir yorum için her zaman null.
interaction_request_idstringBu etkileşimin ait olduğu istek. null olabilir.
JSON
{  "event": "interaction.review",  "timestamp": "2026-08-25T09:12:44Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "interaction": {      "id": "6f8a1d20-3e11-4a55-9f7d-2b0c9e5a4471",      "type": "Review",      "content": "Friendly staff and no waiting.",      "rating": 5,      "title": null,      "author_name": "Dana R.",      "author_avatar": "https://lh3.googleusercontent.com/a/example",      "date": "2026-08-25T08:58:02Z",      "source": "google.com",      "permalink": "https://maps.google.com/example-review",      "category": "Review",      "interaction_status": "unread",      "parent_id": null,      "interaction_request_id": "3c1e9b74-88a2-4d0e-9c31-77a1f0be5d92"    }  }}

interaction.response

Tetikleyici: bir yoruma verilen yanıt yayımlanır, düzenlenir veya arşivlenir. İki fark dışında interaction.review ile aynı yapıdadır: type değeri Response olur ve parent_id, yanıt verilen yorumu gösterir.

data.interaction alanıTürAçıklama
typestringResponse.
parent_idstringYanıt verilen yorumun UUID'si.
contentstringYanıt metni.
ratingnumberBir yanıtta her zaman null.

interaction.review altında listelenen diğer tüm alanlar da aynı anlamlarıyla yer alır.

JSON
{  "event": "interaction.response",  "timestamp": "2026-08-25T09:30:07Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "interaction": {      "id": "b2d7c095-5f43-4e21-8a10-6d9c3f77e208",      "type": "Response",      "content": "Thanks Dana, see you next time!",      "rating": null,      "author_name": "Acme Dental Downtown",      "date": "2026-08-25T09:29:55Z",      "source": "google.com",      "permalink": "https://maps.google.com/example-review",      "category": "Review",      "interaction_status": "responded",      "parent_id": "6f8a1d20-3e11-4a55-9f7d-2b0c9e5a4471",      "interaction_request_id": "3c1e9b74-88a2-4d0e-9c31-77a1f0be5d92"    }  }}

Gönderiler

Gönderiler uç noktalarıyla birlikte kullanılan Google Business Profile yerel gönderileri. Konum kapsamındadır; location_id sayısal bir dizedir.

Dört olay aynı data yapısını kullanır; isteğe bağlı alanları farklıdır. Boş olan isteğe bağlı alanların hiçbiri dahil edilmez.

data alanıTürAçıklama
post_idintegerBu öğenin ait olduğu gönderinin, oluşturma uç noktalarından aldığınız id değeri.
post_item_idintegerKonuma özgü öğe. 20 konuma gönderilen bir gönderi 20 öğe oluşturur ve olaylar öğe bazındadır.
post_typestringSTANDARD, EVENT veya OFFER.
post_external_idstringGoogle'ın gönderi için kullandığı kaynak adı. Google gönderiyi kabul edene kadar bulunmaz.
published_urlstringTarayıcıda açılabilen bir URL. Genellikle bulunmaz: Google bu URL'yi tutarlı biçimde döndürmez; ilişkilendirmek için post_external_id kullanın.
rejection_reasonstringYalnızca local_post.rejected olayında.

local_post.created

Tetikleyici: bir gönderi öğesi oluşturulur ve Google'a gönderilmek üzere kuyruğa alınır. Henüz yayında değildir.

JSON
{  "event": "local_post.created",  "timestamp": "2026-08-25T11:02:00Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "post_id": 88421,    "post_item_id": 5512309,    "post_type": "STANDARD"  }}

local_post.published

Tetikleyici: Google gönderiyi kabul etti ve gönderi yayında.

JSON
{  "event": "local_post.published",  "timestamp": "2026-08-25T11:06:41Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "post_id": 88421,    "post_item_id": 5512309,    "post_type": "STANDARD",    "post_external_id": "accounts/123/locations/456/localPosts/789"  }}

local_post.rejected

Tetikleyici: Google gönderiyi reddetti veya gönderim başarısız oldu.

JSON
{  "event": "local_post.rejected",  "timestamp": "2026-08-25T11:07:15Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "post_id": 88421,    "post_item_id": 5512310,    "post_type": "OFFER",    "rejection_reason": "Rejected"  }}

local_post.deleted

Tetikleyici: gönderi öğesi silinir.

JSON
{  "event": "local_post.deleted",  "timestamp": "2026-08-25T15:40:09Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "post_id": 88421,    "post_item_id": 5512309,    "post_type": "STANDARD",    "post_external_id": "accounts/123/locations/456/localPosts/789"  }}

Social

Social uç noktalarıyla birlikte kullanılan, marka düzeyinde sosyal medya yayını ve bağlantı yaşam döngüsü. Dokuz olay: beşi gönderiler, dördü bağlantılar için.

account_id ve timestamp her zamanki gibi bulunur. data içindeki ID'ler, REST API'nin kullandığı düz UUID'lerle aynıdır ve dize olarak gönderilir.

social_post.created

Tetikleyici: bir sosyal medya gönderisi oluşturulur. Yalnızca oluşturma işleminde; mevcut bir gönderinin düzenlenmesi olayı yeniden üretmez.

data alanıTürAçıklama
post_idstringGönderinin UUID'si; create tarafından döndürülen socialPostId ile aynıdır.
social_profile_idstringGönderinin ait olduğu marka. Gönderinin markası yoksa null.
statusstringGönderinin oluşturulduğu andaki durumu.
created_byintegerGönderiyi oluşturan kullanıcı.
platform_idsinteger dizisiGönderinin hedeflediği platformların dahili ID'leri.
JSON
{  "event": "social_post.created",  "timestamp": "2026-09-28T14:02:11Z",  "account_id": 62570,  "location_id": null,  "data": {    "post_id": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345",    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "status": "scheduled",    "created_by": 40122,    "platform_ids": [1, 2, 4]  }}

social_post.published

Tetikleyici: gönderi tamamen yayına alındı. Bu olay yalnızca tam başarı durumunda üretilir: en az bir kanal gönderiyi yayımlamış ve hiçbir kanalda hata oluşmamış olmalıdır. Kısmi yayımlama durumunda bu olay üretilmez; bunun yerine social_post.failed üretilir.

data alanıTürAçıklama
post_idstringGönderinin UUID'si.
social_profile_idstringGönderinin ait olduğu marka.
statusstringGönderinin durumu.
published_onstringGönderinin yayına alındığı anın ISO-8601 biçimindeki değeri. Kaydedilmemişse null.
itemsobject dizisiKanal başına bir kayıt; alanlar aşağıdadır.
items[].platformstringPlatform adı, e.g. instagram.
items[].social_platform_idintegerDahili platform ID'si.
items[].connected_account_idstringGönderiyi yayımlayan bağlantının UUID'si.
items[].published_urlstringYayımlanan öğenin yayındaki URL'si.
items[].vendor_post_idstringPlatformun yayımlanan öğe için kullandığı ID.
items[].statusstringİlgili kanalın durumu.
JSON
{  "event": "social_post.published",  "timestamp": "2026-10-02T13:30:07Z",  "account_id": 62570,  "location_id": null,  "data": {    "post_id": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345",    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "status": "published",    "published_on": "2026-10-02T13:30:04",    "items": [      {        "platform": "instagram",        "social_platform_id": 2,        "connected_account_id": "b81d5b3c-4a90-4f6a-9c11-71e0dd2fa4a7",        "published_url": "https://www.instagram.com/p/CxYz1234abc/",        "vendor_post_id": "18029384756012345",        "status": "success"      }    ]  }}

social_post.failed

Tetikleyici: yayımlama başarısız oldu. Bu, editoryal ret durumundan farklı bir iletim hatasıdır. Son yeniden denemede tetiklenir; bu nedenle gönderi için hâlâ deneme hakkı varsa üretilmez.

items yalnızca hata oluşan kanalları içerir; bu nedenle iki platformda yayımlanan ve üçüncüsünde başarısız olan bir gönderi bu olayda tek öğeyle yer alır.

data alanıTürAçıklama
post_idstringGönderinin UUID'si.
social_profile_idstringGönderinin ait olduğu marka.
statusstringGönderinin durumu.
itemsobject dizisiBaşarısız kanal başına bir kayıt; alanlar aşağıdadır.
items[].platformstringPlatform adı.
items[].social_platform_idintegerDahili platform ID'si.
items[].statusstringİlgili kanalın durumu.
items[].reasonstring300 karaktere kısaltılmış kısa neden açıklaması. null olabilir.
items[].vendor_errorstringPlatformun hatasından türetilen, uzunluğu sınırlı ve kullanıcıya güvenle gösterilebilecek bir mesaj. Asla platformdan gelen ham veri yükü değildir. null olabilir.
JSON
{  "event": "social_post.failed",  "timestamp": "2026-10-02T13:34:55Z",  "account_id": 62570,  "location_id": null,  "data": {    "post_id": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345",    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "status": "failed",    "items": [      {        "platform": "linkedin",        "social_platform_id": 4,        "status": "error",        "reason": "Authorization expired",        "vendor_error": "The access token is no longer valid."      }    ]  }}

social_post.rejected

Tetikleyici: bir onay iş akışı gönderiyi reddetti. Bu, iletimle değil editoryal değerlendirmeyle ilgilidir: gönderi hiçbir platforma ulaşmamıştır.

data alanıTürAçıklama
post_idstringGönderinin UUID'si.
social_profile_idstringGönderinin ait olduğu marka.
statusstringGönderinin durumu.
rejection_reasonstringDeğerlendiren kişinin yorumu. Yorum bırakmamışsa null.
JSON
{  "event": "social_post.rejected",  "timestamp": "2026-09-29T09:11:03Z",  "account_id": 62570,  "location_id": null,  "data": {    "post_id": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70",    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "status": "rejected",    "rejection_reason": "Please use the updated product name."  }}

social_post.deleted

Tetikleyici: gönderi, POST /social/posts/cancel yoluyla veya zamanlanmış arşivleme taraması sırasında arşivlendi. Yalnızca gerçek bir durum geçişinde tetiklenir; bu nedenle zaten arşivlenmiş bir gönderiyi yeniden arşivlemek hiçbir olay üretmez.

data alanıTürAçıklama
post_idstringGönderinin UUID'si.
social_profile_idstringGönderinin ait olduğu marka.
statusstringGönderinin durumu.
archived_atstringGönderinin arşivlendiği anın ISO-8601 biçimindeki değeri. Kaydedilmemişse null.
JSON
{  "event": "social_post.deleted",  "timestamp": "2026-09-30T16:20:41Z",  "account_id": 62570,  "location_id": null,  "data": {    "post_id": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70",    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "status": "archived",    "archived_at": "2026-09-30T16:20:39"  }}

social_connection.connected

Tetikleyici: bir marka kanalı, ilk kez bağlanarak veya arşivlenmiş bir bağlantı yeniden kurularak etkin hale geldi. is_reconnect bu iki durumu ayırt eder.

data alanıTürAçıklama
social_profile_idstringKanalın bağlı olduğu marka.
connected_account_idstringBağlantının UUID'si; bağlantı listesi tarafından döndürülen id.
platformstringPlatform adı, e.g. instagram.
display_namestringKanalın görünen adı. null olabilir.
is_reconnectbooleanİlk bağlantıda false, daha önce arşivlenmiş bir kanal yeniden etkin olduğunda true.
listing_connected_account_idstringYalnızca kanal aynı zamanda bir Listings bağlı hesabıyla ilişkilendirilmişse bulunur. Aksi halde dahil edilmez.
JSON
{  "event": "social_connection.connected",  "timestamp": "2026-09-27T11:05:22Z",  "account_id": 62570,  "location_id": null,  "data": {    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "connected_account_id": "b81d5b3c-4a90-4f6a-9c11-71e0dd2fa4a7",    "platform": "instagram",    "display_name": "Jenny Home",    "is_reconnect": false  }}

social_connection.disconnected

Tetikleyici: kanal bir disconnect çağrısıyla bilerek kaldırıldı. Yalnızca kanal gerçekten arşivlendiğinde üretilir; bu nedenle başarısız olan bir bağlantı kesme işlemi yanlış bir olay üretmez.

data alanıTürAçıklama
social_profile_idstringKanalın bağlı olduğu marka.
connected_account_idstringBağlantının UUID'si.
platformstringPlatform adı.
display_namestringKanalın görünen adı. null olabilir.
JSON
{  "event": "social_connection.disconnected",  "timestamp": "2026-10-04T08:47:10Z",  "account_id": 62570,  "location_id": null,  "data": {    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "connected_account_id": "b81d5b3c-4a90-4f6a-9c11-71e0dd2fa4a7",    "platform": "instagram",    "display_name": "Jenny Home"  }}

social_connection.archived

Tetikleyici: kanal istem dışı olarak kaybedildi; platform token'ı geçersiz kıldı veya bir uzlaştırma kontrolünde kanalın artık erişilebilir olmadığı belirlendi. Bunu kimse talep etmemiştir; bu olayı disconnected olayından ayıran da budur.

data alanıTürAçıklama
social_profile_idstringKanalın bağlı olduğu marka.
connected_account_idstringBağlantının UUID'si.
platformstringPlatform adı.
display_namestringKanalın görünen adı. null olabilir.
reasonstringKanalın neden kaybedildiği. null olabilir.
JSON
{  "event": "social_connection.archived",  "timestamp": "2026-10-06T02:15:33Z",  "account_id": 62570,  "location_id": null,  "data": {    "social_profile_id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",    "connected_account_id": "2d4e6f80-1c33-4b7a-8e05-9a1b2c3d4e5f",    "platform": "facebook",    "display_name": "Jenny Home & Co.",    "reason": "Access token has been invalidated by the platform."  }}

Yorum analitiği

Zamanlanmış yorum özetleri, her dönem için konum başına bir olay.

Her iki olay da aynı data yapısını kullanır:

data alanıTürAçıklama
periodstringDönem başlangıcı, YYYY-MM-DD.
granularitystringdaily veya weekly.
total_reviewsintegerKonumun tüm zamanlardaki toplam yorum sayısı.
new_reviews_in_periodintegerBu dönem içinde alınan yorumlar.
average_ratingnumberBu dönemin 4 ondalık basamakla gösterilen ortalama puanı. Yorum yoksa 0.0.
previous_average_ratingnumberÖnceki dönemin ortalama puanı. Önceki döneme ait veri yoksa 0.0.

Dönem içinde etkinlik olmayan bir konum hiçbir şey göndermez, ancak anlık görüntüsü hiç ulaşmamış bir konumdan da hiçbir şey alınmaz. Anlık görüntünün eksikliği birden fazla anlama gelebilir ve bu olay grubunda soruna işaret etmeyen açıklama en düşük olasılığa sahiptir. Bu durum şunlardan birini ifade edebilir: etkinlik olmaması; başarısız olan veya zaman aşımına uğrayan bir teslimat (tek bir deneme yapılır ve yeniden denenmez); hesabın webhook kullanma hakkı olmaması, yapılandırılmış bir URL'sinin bulunmaması, doğrulanmamış veya engellenmiş olması nedeniyle teslimatın engellenmesi; ya da burada en olası neden olarak, dakika başına sınır nedeniyle kısa sürede gelen olayların bir bölümünün rate_limited olarak elenmesi.

Sırf anlık görüntü gelmediği için asla sıfır kaydetmeyin. Aynı dönem için GET /locations/{locationId}/review-analytics-overview ile karşılaştırarak doğrulayın ve bu okuma da başarısız olursa dönemi sıfır yerine veri alınamadı olarak bildirin.

review_analytics.daily_snapshot

Tetikleyici: günlük özetleme işi, konum başına günde bir kez.

JSON
{  "event": "review_analytics.daily_snapshot",  "timestamp": "2026-08-25T02:00:00Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "period": "2026-08-24",    "granularity": "daily",    "total_reviews": 1240,    "new_reviews_in_period": 3,    "average_rating": 4.6667,    "previous_average_rating": 5.0  }}

review_analytics.weekly_snapshot

Tetikleyici: haftalık özetleme işi, konum başına haftada bir kez. period, özetlenen haftanın ilk günüdür.

JSON
{  "event": "review_analytics.weekly_snapshot",  "timestamp": "2026-08-24T02:00:00Z",  "account_id": 11073,  "location_id": "279381",  "data": {    "period": "2026-08-17",    "granularity": "weekly",    "total_reviews": 1237,    "new_reviews_in_period": 18,    "average_rating": 4.6123,    "previous_average_rating": 4.5901  }}

Alabileceğiniz ancak uygulamanızı dayandırmamanız gereken olaylar

Platform başka olay grupları da üretir: yorum kampanyaları, sıralamalar, sosyal medya gönderilerinin öne çıkarılması, sosyal medya reklam hesabı durum değişiklikleri, yapay zekâ ile üretilen gönderi fikirleri ve Google Business Profile sahipliği. Bunların Listings API'de yayımlanmış bir REST uç noktası yoktur, burada belgelenmemişlerdir ve yapıları herhangi bir uyumluluk garantisi kapsamında değildir. Tek bir URL bulunduğundan ve olay bazında abonelik olmadığından, işleyiciniz tanımadığı her event değerini yok saymalı ve yine de 200 döndürmelidir.