/api/v4/connected-accounts/confirm-matches确认连接匹配
确认连接建议端点返回的地点与商家信息之间的建议匹配。
参数
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| input | object | 必填 | Wrapper object. The entire request body must be nested under `input`. |
| input.matchRecordIds | array of strings | 必填 | Match-record global IDs to confirm: the standard base64 of `<MatchRecordType>:<matchedDataDatabaseId>`, built from a connection-suggestion record. At least one ID is required. |
请求示例
可直接粘贴的请求体。请将占位 ID 和值替换为您自己的。
{ "input": { "matchRecordIds": [ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=" ] }}响应
200Request accepted. `success` is `true` when every match was confirmed; when some IDs could not be confirmed they are listed in `failedIds` and `success` is `false`.
{ "data": { "confirmConnectMatches": { "failedIds": null, "success": true } }}400Bad request, the body was not wrapped in `input`, `matchRecordIds` was omitted (error message: `Field value.matchRecordIds of required type [ID!]! was not provided`), or `input` carried a field the endpoint does not accept.
401Unauthenticated, missing or invalid API key.
接受并确认建议的地点与商家信息配对,在 Listings API 地点与其对应的 Google Business Profile 或 Facebook 商家信息之间建立实际连接。确认后,商家信息便开始与匹配的 Listings API 地点同步。
请求结构。请求体必须封装在 input 对象中,该对象仅接受 matchRecordIds 字段,其值为匹配记录 ID 数组([ID!]!,必填)。发送扁平的(未封装的)请求体会被拒绝并返回 HTTP 400,在 input 内部发送未知字段(例如 connectedAccountId 或旧版的 matchIds)也会被拒绝并返回同样的状态(Unknown field "connectedAccountId")。input 外部的多余键会被忽略,不会导致请求被拒绝。此请求没有 connectedAccountId 字段;账户由匹配记录本身推断得出。
构建 matchRecordIds 值。连接建议记录没有 id。取出其 matchedDataDatabaseId 和 accountType,用冒号将它们连接在匹配记录类型名称之后,然后将结果做 base64 编码:
import base64 TYPES = { "GMB": "GmbLocationMatchedData", "FB": "FbLocationMatchedData", "APPLE": "AppleLocationMatchedData",} def match_record_id(record): raw = f"{TYPES[record['accountType']]}:{record['matchedDataDatabaseId']}" return base64.b64encode(raw.encode()).decode()如果某个 ID 解码后不属于这 3 种类型,调用不会返回 400,而是返回 HTTP 200,其中 success: false 且没有 failedIds,因此请在每次调用后检查 success。
此端点是批量连接工作流的最后一步:连接账户,运行 POST /connected-accounts/trigger-matches 生成建议,通过连接建议端点审核这些建议,然后在此处确认已获批准的记录。
使用场景:批量接受已审核的匹配。代理机构导入客户的 Google 账户并在您自己的 UI 中审核建议配对后,通过一次调用提交已获批准的 matchRecordIds,而无需为每个匹配分别调用。只发送操作员已批准的 ID,这样未经审核或错误的建议不会受到影响。
确认匹配不会立即向 Google 或 Facebook 推送数据;它会将 Listings API 地点与发布平台商家信息关联起来,之后的商家信息更新会通过这一关联同步。调用成功时会返回 success: true,其中包含 failedIds: null。如果一个或多个 ID 无法确认(例如,匹配记录未知或已被使用,或者匹配所对应的地点此后已归档),这些 ID 会在 failedIds 中返回,且 success 为 false,以便您重试或仅显示失败项。failedIds 包含的是解码后的数据库 ID,而非您发送的编码值,因此请根据 matchedDataDatabaseId 找到对应的记录。如果要绕过建议流程,手动选择单个商家信息,请改用连接商家信息端点。
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/confirm-matches' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "matchRecordIds": [ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=" ] } }'