/api/v4/connected-accounts/create-location-from-listing接続済みアカウントの掲載情報から拠点を作成
接続済みアカウントにある既存のGoogle Business ProfileまたはFacebookの掲載情報から、Listings APIの新しい拠点を作成します。
パラメーター
ボディ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| input | object | 必須 | Wrapper object. The entire request body must be nested under `input`. |
| input.connectedAccountId | string | 必須 | ID of the connected account (Google or Facebook) that owns the listing. Taken from `GET /connected-accounts`. |
| input.connectedAccountListingId | string | 必須 | ID of the listing to import into a new location. Taken from the `id` of a record returned by `POST /connected-accounts/connected-account-listings`. |
リクエストの例
そのまま貼り付けられるボディです。プレースホルダーの ID と値をご自身のものに置き換えてください。
{ "input": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjU3NzU5MzRiLTUwOTgtNGQwYS04YjQ0LTNjY2ZlZmZkZmUzNw==" }}レスポンス
200Request accepted. `success` is `true` and `locationId` holds the new location's database ID; on failure `success` is `false`, `locationId` is `null`, and `errors` carries a structured, coded reason.
{ "data": { "createLocationFromConnectedAccountListing": { "success": true, "locationId": 88277, "errors": null } }}400Bad request, the body was not wrapped in `input`, or a required field was omitted. The field is `connectedAccountListingId`, not `listingId` (the latter is rejected by the schema).
401Unauthenticated, missing or invalid API key.
接続済みの Google Business Profile または Facebook アカウントにある既存の掲載情報からビジネスデータを取得して、新しい Listings API 拠点を作成します。掲載情報は、アカウント内にすでに存在し(POST /connected-accounts/connected-account-listings で取得済み)、別の Listings API 拠点にまだ紐付けられていない必要があります。
リクエスト形式。 リクエストボディは input オブジェクトでラップする必要があり、このオブジェクトには connectedAccountId(掲載情報を所有するアカウント)と connectedAccountListingId(インポートする掲載情報)の2つの必須フィールドを指定します。listingId フィールドは存在せず、指定するとスキーマによって拒否されます。
Google の掲載情報の場合、API は名前、住所、座標、電話番号、ウェブサイト、説明、通常営業時間と特別営業時間、メインカテゴリと追加カテゴリ、開業日、店舗コード、タイムゾーンをインポートします。支払い方法とソーシャルプロフィールのリンクは、掲載情報の Google 属性から取得します。支払い方法とソーシャルリンク以外の Google 属性は読み取りますが、保存しません。Facebook の場合は、名前、拠点、営業時間、カテゴリ、説明、連絡先情報をインポートします。
新しい拠点は、インポート元の接続済みアカウントに自動的に紐付けられます。Google からのインポートでは、データは Google に再送信されません。インポート元のプロフィールはそのまま維持され、初回の POST /api/v4/locations/update によってその掲載情報に公開されるまで、掲載情報のステータスは syncStatus: IN_PROGRESS になります。それ以外の掲載先はすべて通常どおり処理され、注文項目が生成されて、アカウントで有効になっている残りの各サイトに拠点が送信されます。
このエンドポイントでは、対象サイトの範囲を指定することも、送信を無効にすることもできません。そのため、拠点は常にアカウントのすべての掲載先を対象として作成されます。掲載先を1つに限定するには、作成直後に POST /api/v4/locations/update を使用して、新しい拠点の enabledSiteIds を設定します。拠点が作成されたら、すぐにこの更新を送信してください。他の掲載先の注文項目は作成後まもなく生成され、すでに生成された注文項目はこの更新では取り消されません。
ユースケース:オンボーディング時の拠点の一括作成。 代理店が、Listings API にまだ登録していない40店舗を管理する顧客の Google アカウントを接続します。各拠点を手作業で作成する代わりに、アカウントの掲載情報を一覧取得し、connectedAccountListingId ごとにこのエンドポイントを1回呼び出すことで、Google のデータを入力済みの Listings API 拠点を40件すべて作成し、その後は通常どおり課金と管理を行います。
success: true は拠点が作成されたことを意味し、locationId はそのデータベース ID です。失敗した場合、success は false、locationId は null となり、errors にはコード付きの構造化された理由が含まれます。たとえば、connectedAccountListingId に対応する対象が見つからない場合は { "code": "SY81067", "message": "Invalid connected account listing ID" } です。他によくあるケースとして、掲載情報がすでに別の拠点に接続されている場合や、アカウントの認証情報の有効期限が切れていて、connect-google または connect-facebook エンドポイントで再接続する必要がある場合があります。新しい拠点を作成せずに既存の拠点に掲載情報を紐付けるには、connect-listing エンドポイントを使用します。
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/create-location-from-listing' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjU3NzU5MzRiLTUwOTgtNGQwYS04YjQ0LTNjY2ZlZmZkZmUzNw==" } }'