事件參考

依資源分組列出 Listings API 的全部 26 種 webhook 事件,並提供每種事件的確切欄位與酬載範例。

26 種事件,依其對應的 REST 資源分組。本頁的每種事件都會傳送至您唯一的 webhooks URL。無法針對個別事件訂閱,因此請依 event 分流處理,並忽略您不需要的事件。

除了下方特別說明的 listing.submission,所有事件都使用標準酬載。data 內的選用欄位若為空,會省略,而不會以 null 傳送。

索引

事件資源觸發時機
listing.submission商家資訊提交至目錄網站的商家引用資訊處理完成
profile.created地點建立地點
profile.updated地點編輯地點
profile.deleted地點封存地點
connection.location_connected已連結帳號連結 Google 或 Facebook 商家資訊
connection.location_disconnected已連結帳號解除商家資訊連結
connection.reauth_required已連結帳號憑證失效
connection.listing_inaccessible已連結帳號失去商家資訊的存取權
connection.google_verification_verified已連結帳號Google 驗證成功
connection.google_verification_failed已連結帳號Google 驗證失敗
interaction.review評論收到評論或評論有變更
interaction.response評論發布回覆或回覆有變更
local_post.created貼文建立貼文
local_post.published貼文貼文在 Google 上發布
local_post.rejected貼文Google 拒絕貼文
local_post.deleted貼文刪除貼文
social_post.createdSocial建立社群貼文
social_post.publishedSocial社群貼文在所有指定頻道上發布
social_post.failedSocial至少有 1 個頻道發布失敗
social_post.rejectedSocial核准流程拒絕貼文
social_post.deletedSocial封存社群貼文
social_connection.connectedSocial連結或重新連結品牌頻道
social_connection.disconnectedSocial主動移除品牌頻道
social_connection.archivedSocial非主動失去品牌頻道連結
review_analytics.daily_snapshot分析執行每日評論彙總
review_analytics.weekly_snapshot分析執行每週評論彙總

商家資訊

與商家資訊端點搭配使用,尤其是 GET /locations/{locationId}/listings/premium,此端點會傳回本事件所通知的各筆商家引用資訊的 syncStatus 與 listingUrl。

listing.submission

觸發時機:為 1 個地點向 1 個目錄網站提交的商家引用資訊達到最終狀態。

最上層:

欄位型別說明
eventstring一律為 listing.submission。
dataobject請參閱下方。
statusstringsuccess、incomplete 或 canceled。
live_linkstring已發布商家資訊的 URL。僅在狀態為 success 且已知 URL 時提供。
error_messagestring提交作業無法完成的原因。僅在狀態為 incomplete 時提供。

data 內部:

欄位型別說明
business_idinteger地點的數值 id。
v4_business_idstringLocation:<id> 的 Base64 編碼,即全域 ID 格式。
location_idstring相同的 base64 全域 ID,而非數字字串。
site.idinteger目錄網站的 id。
site.namestring目錄網站的名稱,e.g。Yelp。
site.urlstring目錄網站的首頁 URL。
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"}

地點

地點生命週期,與 createLocation、updateLocation 和 archiveLocations 一一對應。範圍限定於個別地點:location_id 一律為數字字串。

profile.created

觸發時機:建立新地點。

data 欄位型別說明
sourcestring建立來源:user、api 或 bulk_edit。
JSON
{  "event": "profile.created",  "timestamp": "2026-08-25T10:04:00Z",  "account_id": 11073,  "location_id": "901234",  "data": { "source": "api" }}

profile.updated

觸發時機:編輯現有地點的詳細資料。

透過防彈跳處理,限制每個地點每 60 秒傳送 1 次,並在時間區間開始時傳送。區間內的編輯會合併處理,而不會延後傳送。這些編輯的事件永遠不會送達。請將 changed_fields 視為觸發該時間區間的編輯提示,而非完整的差異。

事件會在時間區間開始時送達,因此收到事件後立即讀取地點,只會看到第 1 次編輯。請安排在時間區間結束後,也就是至少 60 秒後,再次讀取,並定時核對地點資料,因為此事件只會嘗試傳送 1 次,且不會重試。請參閱遺漏事件後的復原方式。

data 欄位型別說明
sourcestringuser、api 或 bulk_edit。
changed_fieldsarray of string已變更的地點欄位名稱,e.g。name、phone、address1。為空時省略。
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

觸發時機:封存地點。這是軟刪除。不支援永久刪除,且可使用 cancelArchiveLocations 取消封存,但此操作不會發出事件。

data 欄位型別說明
sourcestringuser、api 或 bulk_edit。
JSON
{  "event": "profile.deleted",  "timestamp": "2026-08-25T10:20:44Z",  "account_id": 11073,  "location_id": "901234",  "data": { "source": "user" }}

已連結帳號

Google 和 Facebook 連線的生命週期與健康狀態,搭配已連結帳號端點使用。範圍限於個別地點。platform 一律為 google 或 facebook;其他供應商不會發出這些事件。

connected_account_id 一律會作為鍵存在,但在 2 種 Google 驗證事件中,其值為 null。

connection.location_connected

觸發條件:Google 或 Facebook 商家資訊連結至地點。

data 欄位型別說明
platformstringgoogle 或 facebook。
connected_account_idstring已建立連結的已連結帳號。
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

觸發條件:Google 或 Facebook 商家資訊與地點解除連結。

data 欄位型別說明
platformstringgoogle 或 facebook。
connected_account_idstring已解除連結的已連結帳號。
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

觸發條件:已連結帳號的憑證失效。在有人重新授權之前,此連線不會同步任何資料。

data 欄位型別說明
platformstringgoogle 或 facebook。
connected_account_idstring需要重新授權的已連結帳號。
reasonstring供人閱讀的說明。來源未提供時省略。
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

觸發條件:已連結帳號無法再存取該地點的商家資訊。這與 reauth_required 不同:憑證可能仍然完全有效,但對該筆商家資訊的存取權已遭移除。

data 欄位型別說明
platformstringgoogle 或 facebook。
connected_account_idstring失去存取權的已連結帳號。
reasonstring供人閱讀的說明。來源未提供時省略。
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

觸發條件:地點的 Google Business Profile 通過驗證。

data 欄位型別說明
platformstring一律為 google。
connected_account_idnull在驗證事件中一律為 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

觸發條件:Google Business Profile 驗證進入最終失敗狀態。沒有可啟動驗證的 REST 呼叫;如上所述,狀態本身可以讀取。

只有最終狀態會發出事件:VERIFIED 會觸發 _verified 事件,而 SUSPENDED 或 DUPLICATE(failure_type rejected)以及 ERROR_WHILE_FETCHING(transient)會觸發此事件。進行中的狀態(PENDING_VERIFICATION、UNDER_REVIEW、NOT_VERIFIED、NOT_CONNECTED)完全不會產生事件,因此不能根據未收到事件來判斷狀態。驗證進行期間,請定期讀取地點以輪詢 googleVerificationStatus。

data 欄位型別說明
platformstring一律為 google。
connected_account_idnull在驗證事件中一律為 null。
failure_typestring商家檔案遭停權或重複時為 rejected;無法讀取 Google 資料時為 transient。只有 transient 值得重試。
reasonstring供人閱讀的說明。來源未提供時省略。
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."  }}

評論

評論與回覆,搭配評論端點使用,包括回覆、編輯回覆和封存回覆。

屬於 Social 類別的評論會被篩除,絕不會傳送。

interaction.review

觸發條件:評論被擷取或發生變更。

data.interaction 欄位型別說明
idstring互動的 UUID。它識別的是評論,而非此次變更:每當評論變更時,都會再次收到相同的 id。請將它作為資料列的鍵;絕不可用它來忽略後續傳送的資料。請參閱重複傳送與順序。
typestringReview.
contentstring評論內文。可能為 null。
ratingnumber星等評分。若來源沒有星等評分,可能為 null。
titlestring評論標題,僅限來源有提供時。
author_namestring評論者的顯示名稱。
author_avatarstring評論者的頭像 URL。
datestring評論在來源發布的日期,採 ISO-8601 格式。
sourcestring評論的來源,e.g。google.com、facebook.com。
permalinkstring來源上的評論連結。
categorystring互動類別。Social 會在傳送前被篩除。
interaction_statusstring互動的工作流程狀態。
parent_idstring對於評論,一律為 null。
interaction_request_idstring此互動所屬的請求。可能為 null。
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

觸發條件:評論回覆被發布、編輯或封存。結構與 interaction.review 相同,但有 2 處差異:type 為 Response,且 parent_id 指向回覆所對應的評論。

data.interaction 欄位型別說明
typestringResponse.
parent_idstring此回覆所對應評論的 UUID。
contentstring回覆文字。
ratingnumber在回覆中一律為 null。

interaction.review 下列出的所有其他欄位皆會存在,且意義相同。

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"    }  }}

貼文

Google Business Profile 本地貼文,搭配 貼文端點使用。範圍限定於地點,location_id為數字字串。

這 4 種事件共用同一種data結構,但選用欄位不同。所有選用欄位為空時都會省略。

data欄位型別說明
post_idinteger此項目所屬貼文的 id,即建立端點傳回的 id。
post_item_idinteger各地點的個別項目。向 20 個地點發布一則貼文會產生 20 個項目,事件會依項目個別發出。
post_typestringSTANDARD、EVENT或OFFER。
post_external_idstringGoogle 為此貼文指定的資源名稱。在 Google 接受貼文之前不會提供。
published_urlstring可在瀏覽器中開啟的 URL。通常不會提供:Google 不一定會傳回此 URL;請使用post_external_id進行關聯。
rejection_reasonstring僅在local_post.rejected中提供。

local_post.created

觸發條件:貼文項目已建立,並已排入佇列,等待提交至 Google。此時尚未上線。

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

觸發條件:Google 已接受貼文,且貼文已上線。

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

觸發條件:Google 拒絕貼文,或提交貼文失敗。

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

觸發條件:貼文項目已刪除。

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端點使用。共有 9 種事件:5 種貼文事件、4 種連線事件。

account_id與timestamp會照常提供。data內的 ID 與 REST API 使用的一般 UUID 相同,並以字串傳送。

social_post.created

觸發條件:社群貼文已建立。僅在建立時發出;編輯現有貼文不會再次發出事件。

data欄位型別說明
post_idstring貼文的 UUID,與 建立傳回的socialPostId相同。
social_profile_idstring貼文所屬的品牌。若貼文未歸屬任何品牌,則為null。
statusstring貼文建立時的狀態。
created_byinteger建立貼文的使用者。
platform_idsarray of integer貼文目標平台的內部 ID。
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

觸發條件:貼文已完全上線。只有完全成功時才會發出此事件:至少有一個管道發布成功,且沒有任何管道發生錯誤。若僅部分發布成功,則不會發出此事件,而是發出 social_post.failed。

data欄位型別說明
post_idstring貼文的 UUID。
social_profile_idstring貼文所屬的品牌。
statusstring貼文的狀態。
published_onstring貼文上線的時間點,以 ISO-8601 格式表示。若未記錄,則為null。
itemsarray of object每個管道各有一筆資料;欄位如下。
items[].platformstring平台名稱,e.g。instagram。
items[].social_platform_idinteger平台的內部 ID。
items[].connected_account_idstring用於發布此貼文的連線 UUID。
items[].published_urlstring已發布項目的線上 URL。
items[].vendor_post_idstring平台為已發布項目指定的 ID。
items[].statusstring該管道的狀態。
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

觸發條件:發布失敗。這是傳送失敗,與內容審核遭拒不同。此事件會在最後一次重試時觸發,因此貼文仍有剩餘嘗試次數時不會發出。

items僅包含發生錯誤的管道,因此若一則貼文在 2 個平台發布成功、在第 3 個平台失敗,此事件只會包含 1 個項目。

data欄位型別說明
post_idstring貼文的 UUID。
social_profile_idstring貼文所屬的品牌。
statusstring貼文的狀態。
itemsarray of object每個失敗的管道各有一筆資料;欄位如下。
items[].platformstring平台名稱。
items[].social_platform_idinteger平台的內部 ID。
items[].statusstring該管道的狀態。
items[].reasonstring簡短原因,截斷至 300 個字元。可能為null。
items[].vendor_errorstring根據平台錯誤產生的訊息,長度有限,可安全地向使用者顯示。絕不會是平台的原始酬載。可能為null。
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

觸發條件:核准工作流程已拒絕貼文。這是內容審核遭拒,而非傳送失敗:貼文從未送達平台。

data欄位型別說明
post_idstring貼文的 UUID。
social_profile_idstring貼文所屬的品牌。
statusstring貼文的狀態。
rejection_reasonstring審核者的意見。若未留下意見,則為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

觸發條件:貼文已封存,無論是透過 POST /social/posts/cancel,還是由排程封存作業處理。只有狀態確實轉換時才會觸發,因此再次封存已封存的貼文不會發出任何事件。

data欄位型別說明
post_idstring貼文的 UUID。
social_profile_idstring貼文所屬的品牌。
statusstring貼文的狀態。
archived_atstring貼文封存的時間點,以 ISO-8601 格式表示。若未記錄,則為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

觸發條件:品牌管道已啟用,可能是首次連線,也可能是先前已封存的管道重新連線。is_reconnect可區分這 2 種情況。

data欄位型別說明
social_profile_idstring管道所屬的品牌。
connected_account_idstring連線的 UUID,即 連線清單傳回的id。
platformstring平台名稱,e.g。instagram。
display_namestring管道的顯示名稱。可能為null。
is_reconnectboolean首次連線時為false,先前已封存的管道恢復連線時為true。
listing_connected_account_idstring只有管道也連結至 Listings 已連線帳戶時才會提供。否則會省略。
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

觸發條件:管道已透過 中斷連線呼叫主動移除。只有管道確實已封存時才會發出此事件,因此中斷連線失敗時不會產生不實事件。

data欄位型別說明
social_profile_idstring管道原先所屬的品牌。
connected_account_idstring連線的 UUID。
platformstring平台名稱。
display_namestring管道的顯示名稱。可能為null。
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

觸發條件:管道非自願地失去連線,原因可能是平台使權杖失效,或狀態核對作業發現已無法存取管道。此情況並非任何人要求執行的操作,這正是它與disconnected的差別。

data欄位型別說明
social_profile_idstring管道原先所屬的品牌。
connected_account_idstring連線的 UUID。
platformstring平台名稱。
display_namestring管道的顯示名稱。可能為null。
reasonstring失去連線的原因。可能為null。
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."  }}

評論分析

定期彙總評論,每個地點在每個期間產生 1 個事件。

這 2 種事件使用相同的 data 結構:

data 欄位型別說明
periodstring期間起始時間,YYYY-MM-DD。
granularitystringdaily 或 weekly。
total_reviewsinteger該地點歷來的評論總數。
new_reviews_in_periodinteger在此期間收到的評論數。
average_ratingnumber此期間的平均評分,精確至小數點後 4 位。沒有評論時為 0.0。
previous_average_ratingnumber前一期間的平均評分。沒有前一期間的資料時為 0.0。

地點在該期間沒有活動時,不會發出任何事件;但地點的快照未能送達時,您也不會收到任何事件。快照缺失的原因並不明確,而對這類事件而言,沒有發生問題的可能性最低。可能的原因包括:沒有活動;傳送失敗或逾時(只嘗試 1 次,不會重試);帳戶沒有使用 webhooks 的權限、未設定 URL、尚未通過驗證或已遭封鎖,導致傳送被停用;或者,最可能的情況是觸及每分鐘上限,導致短時間內湧入的部分事件以 rate_limited 遭到捨棄。

切勿僅因快照缺失就記錄為 0。請透過 GET /locations/{locationId}/review-analytics-overview 查詢相同期間的資料並核對;如果該次讀取也失敗,請將該期間標示為無法取得資料,而非 0。

review_analytics.daily_snapshot

觸發條件:每日彙總作業,每個地點每天 1 次。

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

觸發條件:每週彙總作業,每個地點每週 1 次。period 是所彙總週別的第 1 天。

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  }}

您可能收到但不應據以開發功能的事件

平台也會發出其他類別的事件:評論活動、排名、社群貼文加強推廣、社群廣告帳戶狀態變更、AI 貼文構想,以及 Google Business Profile 擁有權。這些事件在 Listings API 中沒有已公開的 REST 端點,本文件也未說明這些事件,且其資料結構不受任何相容性保證涵蓋。由於只有 1 個 URL,且無法個別訂閱事件,您的處理常式應忽略任何無法辨識的 event,並仍然回傳 200。