GET/api/v4/locations/listings/duplicates

アカウントの重複する掲載情報をすべて取得

アカウント内のすべての拠点を対象に、重複の可能性がある掲載情報をアカウント全体で集約し、ページ分割して返します。

API キーが必要です。ヘッダーの形式とキーのローテーションについては認証を参照してください。

パラメーター

クエリ

名前型必須説明デフォルト
statusstring任意Duplicate status to return: `POTENTIAL`, `PROCESSING`, `FIXED`, or `FAILED`. Case-insensitive.POTENTIAL
siteIdinteger任意Narrow to a single publisher by site ID. See the plan-sites endpoint for valid IDs.—
tagstring任意Tag to scope the rollup to. Defaults to every location the key can see.all
pageinteger任意1-based page number.1
perPageinteger任意Records per page.—

レスポンス

200Paginated rollup of duplicate listing records across the account.
Response
{  "data": {    "duplicateListingsRollup": {      "pageInfo": {        "hasNextPage": true,        "hasPreviousPage": false,        "totalPages": 34,        "totalRecords": 1673      },      "records": [        {          "id": "3329229",          "name": "Woodbury Train Station",          "nameValid": false,          "duplicateProcessingState": "POTENTIAL",          "liveLink": "http://citysquares.com/b/woodbury-train-station-23598450",          "locationId": "73451",          "siteName": "City Squares",          "siteUrl": "citysquares.com"        }      ]    }  }}
400An invalid `status` value, e.g. one outside `POTENTIAL` / `PROCESSING` / `FIXED` / `FAILED`.
401Unauthenticated, missing or invalid API key.
429Rate limit exceeded. Retry after the `Retry-After` header value.

各拠点に個別にクエリを実行する代わりに、重複をまとめて仕分けできるよう、すべての掲載先ディレクトリにわたる重複の可能性がある掲載情報を集約し、アカウント全体の一覧として返します。上記のpageInfo/recordsの構造は、アカウント12345で実際に検証済みです。このアカウントには現在未解決の重複がないため、示されている1件のレコードは、重複がある拠点で返される構造の代表例です。

ユースケース:毎晩の重複抑制処理

アカウント全体のPOTENTIALの重複をページごとに取得し、各idを確認担当者に渡します。

Code
GET /api/v4/locations/listings/duplicates?status=POTENTIAL&page=1

フィルターはフラットなクエリパラメーターであり、JSONではありません。statusとsiteIdはいずれも省略可能です。どちらも指定しない場合、statusはデフォルトでPOTENTIALに、tagはallになるため、パラメーターなしのGET /api/v4/locations/listings/duplicatesは400ではなく、そのアカウントの未解決の重複を返します。pageを増やしながら、pageInfo.hasNextPageがfalseになるまでページごとに取得します。totalRecordsとtotalPagesを使用すると進捗を表示できます。

ユースケース:カタログの一部に対象を絞る

集約結果には、キーで参照できるすべての拠点が常に含まれます。一部の拠点を確認するには、結果をページごとに取得して各レコードのlocationIdでグループ化するか、対象の拠点に対して拠点単位のエンドポイントを呼び出します。

処理対象のidを取得したら、掲載情報を重複としてマークで解決するか、掲載情報を重複ではないとしてマークで誤検出を除外します。1つの拠点の重複をサイト別にグループ化して取得するには、拠点の重複する掲載情報を取得を使用します。これはアカウントのレート制限が適用されるページ分割された一覧取得エンドポイントであり、429が返された場合は、Retry-Afterヘッダーを使用してバックオフしてください。

Request
curl -X GET 'https://listingsapi.com/api/v4/locations/listings/duplicates' \  -H "Authorization: API $LISTINGSAPI_KEY"