補助 API
補助 API の全エンドポイントを、cURL、Python、Node のサンプルとともに紹介します。対象は、サポートされている国と州、サブカテゴリカタログ、ご利用のプランに含まれる掲載先サイトです。
補助エンドポイントは、API のほかの部分で検証に使用される3つの参照カタログです。サポートされている国と州、存在するビジネスカテゴリ、ご利用のプランに含まれる掲載先ディレクトリを確認できます。3つとも読み取り専用で、ページネーションはなく、常に全件を返すため、Read(読み取り)キーで十分であり、ページネーションよりもキャッシュが重要です。
エンドポイントの概要
サポートされている国と州の一覧を取得
GET /countries
data.supportedCountries にカタログ全体を返します。各国には、ISO コード、base64 形式の id、数値の databaseId、各要素に固有の ISO コードを持つ states 配列、および3つの住所フラグが含まれます。住所フラグは、hasCity(市区町村が必須)、stateRequired(州が必須で、states に照らして検証されます)、hasPostalCode(その国で郵便番号が使用されます)です。地域区分のない国では、空の states 配列を返します。
パラメーター
このエンドポイントはパラメーターを受け取りません。常に全件を返します。
curl https://listingsapi.com/api/v4/countries \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "supportedCountries": [ { "databaseId": 13, "hasCity": true, "id": "Q291bnRyeToxMw==", "iso": "AU", "name": "Australia", "states": [ { "countryId": 13, "id": "139", "iso": "VIC", "name": "Victoria" }, { "countryId": 13, "id": "142", "iso": "NSW", "name": "New South Wales" } ] }, { "databaseId": 17, "hasCity": true, "id": "Q291bnRyeToxNw==", "iso": "BE", "name": "Belgium", "states": [] } ] }}必要な値は、2つの iso フィールドです。作成時と更新時には、国の iso を countryIso として、州の iso を stateIso として使用します。書き込みの前に両方をこの一覧に照らして検証すれば、サーバー側の 400 が発生する代わりに、自社のフォームで明確なメッセージを表示できます。
サブカテゴリの一覧を取得
GET /sub-categories
data.subcategories に約6,000件のカテゴリレコードを、ページネーションのない単一の配列として返します。自由形式のテキストとして把握している業種を、拠点の書き込みで必要となる数値 ID に変換するための参照データです。
パラメーター
ありません。呼び出すたびにカタログ全体が返されます。
curl https://listingsapi.com/api/v4/sub-categories \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "subcategories": [ { "databaseId": 4589, "id": "U3ViQ2F0ZWdvcnk6NDU4OQ==", "key": "3d-printing-service", "name": "3D printing service", "primary": true } ] }}各レコードには5つのフィールドがあり、どれを使用するかは用途によって異なります。
拠点には、subCategoryId にメインカテゴリを1つ、additionalCategoryIds に追加のカテゴリを最大9つ指定できます。
プランに含まれるサイトの一覧を取得
GET /plan-sites
アカウントのプランに含まれるすべての掲載先ディレクトリを、data.planSites に返します。これは数値のサイト ID の正式な一覧であり、API のほかの部分でも、ここに含まれる ID のみが有効です。
パラメーター
ありません。レスポンスの範囲は、アカウントのプランに限定されます。
curl https://listingsapi.com/api/v4/plan-sites \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "planSites": [ { "id": 1, "name": "Google Maps", "url": "maps.google.com", "supportedCountries": ["US", "CA", "IN", "GB", "DE"], "hideAddressSupportedCountries": ["US", "CA", "AU", "IN", "GB"] }, { "id": 184, "name": "Facebook", "url": "facebook.com", "supportedCountries": ["US", "CA", "IN", "GB", "DE"], "hideAddressSupportedCountries": ["US", "CA", "AU", "IN", "GB"] } ] }}2つの国配列は、それぞれ異なる情報を提供します。supportedCountries はサイトが掲載情報を受け付ける国を示すため、掲載先を選択肢として提示する前に、拠点の countryIso で絞り込んでください。hideAddressSupportedCountries はサイトが住所の非表示設定に対応する国を示し、これは非店舗型ビジネスに必要な情報です。どちらの配列にも50以上のコードが含まれる場合があり、上記のサンプルでは一部を省略しています。
サイト ID は安定しており、覚えておくと便利です。1 は Google Maps、184 は Facebook を表し、この2つの掲載先はほとんどの接続フローの対象です。
プレイスアクションリンク
独立したエンドポイントはありません。プレイスアクションリンクは、Google の オンラインで注文、席を予約、来店予約 などのボタンで、プラットフォームでは個別のリソースではなく、拠点のフィールドとして管理されます。作成時と更新時に placeActionLinks 配列で設定し、拠点を読み取る任意のエンドポイントから取得できます。
各エントリには placeActionType と uri が必要で、任意の isPreferred フラグを指定できますが、優先リンクはタイプごとに最大 1 つです。また、更新時には action に add または delete を指定できます。有効なタイプ、削除ルール、同期の動作については、すべて プレイスアクションリンク に記載されています。
発生するエラー
これらのエンドポイントはいずれも書き込みを行わないため、ここで Read キーを使用しても SY90016 が返されることはありません。完全な一覧は エラーコード にあります。
次の手順
- 国とカテゴリを調べる: タスク形式のガイドで、拠点作成へ引き継ぐ手順を説明しています。
- 拠点を追加する:
countryIsoとsubCategoryIdを使用する手順です。 - 掲載情報のエラーを見つけて修正する: プランのサイト一覧を使用して、掲載先が存在しない場合と掲載先で障害が発生している場合を区別します。
- 3 つすべてのエンドポイントの全フィールド一覧については、補助 API リファレンス を参照してください。