事件参考

全部 26 个 Listings API 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

触发条件:某个地点在某个目录网站上的商家信息引用提交达到最终状态。

顶层:

字段类型说明
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_fieldsstring 数组发生变化的地点字段名称,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 始终作为键存在,但在两个 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 相同,但有两处不同: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 不保证返回此值;请使用 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。