ローカル フィード パートナー プログラムを利用すると、小売店はメインフィードとローカル商品在庫フィードを作成することなく、ローカル在庫広告や無料ローカル商品リスティングを掲載できます。認定を受けたデータ プロバイダが小売店に代わって、売上データや在庫データを Google に提供します。
前提条件
このセクションの API メソッドを使用するには、まずローカル在庫広告(LIA)または無料ローカル リスティング(FLL)プログラムを設定する必要があります。詳細については、オムニチャネル設定を管理するをご覧ください。
利用可能な LFP プロバイダを探す
国で利用可能なすべての LFP プロバイダを取得するには、lfpProviders.findLfpProviders
を使用します。
POST
https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/omnichannelSettings/{REGION_CODE}/lfpProviders:find
次のように置き換えます。
{ACCOUNT_ID}
: Merchant Center アカウントの一意の識別子{REGION_CODE}
: Common Locale Data Repository(CLDR)プロジェクトで定義されたリストの地域コード
正常なレスポンスの例:
200 OK
{
"lsfProviders": [
{
"name": "accounts/{ACCOUNT}/omnichannelSettings/{REGION_CODE}/lsfProviders/12345",
"regionCode": {REGION_CODE},
"displayName": "LFP Provider 1"
}, {
"name": "accounts/{ACCOUNT}/omnichannelSettings/{REGION_CODE}/lsfProviders/67890",
"regionCode": {REGION_CODE},
"displayName": "LFP Provider 6"
}
],
"nextPageToken": 50
}
コードサンプルは次のとおりです。
package shopping.merchant.samples.accounts.v1;
// [START merchantapi_find_lfp_providers]
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.FindLfpProvidersRequest;
import com.google.shopping.merchant.accounts.v1.LfpProvider;
import com.google.shopping.merchant.accounts.v1.LfpProvidersServiceClient;
import com.google.shopping.merchant.accounts.v1.LfpProvidersServiceClient.FindLfpProvidersPagedResponse;
import com.google.shopping.merchant.accounts.v1.LfpProvidersServiceSettings;
import com.google.shopping.merchant.accounts.v1.OmnichannelSettingName;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to get the Lfp Providers for a given Merchant Center account */
public class FindLfpProvidersSample {
public static void findLfpProviders(Config config, String regionCode)
throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the retrieved credentials.
LfpProvidersServiceSettings lfpProvidersServiceSettings =
LfpProvidersServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Gets the account ID from the config file.
String accountId = config.getAccountId().toString();
// Creates parent to identify the omnichannelSetting from which to list all Lfp Providers.
String parent =
OmnichannelSettingName.newBuilder()
.setAccount(accountId)
.setOmnichannelSetting(regionCode)
.build()
.toString();
// Calls the API and catches and prints any network failures/errors.
try (LfpProvidersServiceClient lfpProvidersServiceClient =
LfpProvidersServiceClient.create(lfpProvidersServiceSettings)) {
FindLfpProvidersRequest request =
FindLfpProvidersRequest.newBuilder().setParent(parent).build();
System.out.println("Sending find LFP providers request:");
FindLfpProvidersPagedResponse response = lfpProvidersServiceClient.findLfpProviders(request);
int count = 0;
// Iterates over all the entries in the response.
for (LfpProvider lfpProvider : response.iterateAll()) {
System.out.println(lfpProvider);
count++;
}
System.out.println(String.format("The following count of elements were returned: %d", count));
} catch (Exception e) {
System.out.println("An error has occurred: ");
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
// The country you're targeting at.
String regionCode = "{REGION_CODE}";
findLfpProviders(config, regionCode);
}
}
// [END merchantapi_find_lfp_providers]
LFP プロバイダをリンクする
LFP パートナーシップを構築するには、lfpProviders.LinkLfpProvider
を使用します。
POST
https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/omnichannelSettings/{REGION_CODE}/lfpProviders/{LFP_PROVIDER}:linkLfpProvider
{
"externalAccountId": "{EXTERNAL_ACCOUNT_ID}",
}
次のように置き換えます。
{ACCOUNT_ID}
: Merchant Center アカウントの一意の識別子{LFP_PROVIDER}
: 前の手順で返された LFP プロバイダ ID。たとえば、LFP プロバイダ 1 の場合は12345
です。{EXTERNAL_ACCOUNT_ID}
: LFP プロバイダが販売者を認識する外部アカウント ID。
このコードサンプルは、LFP プロバイダにリンクする方法を示しています。
package shopping.merchant.samples.accounts.v1;
// [START merchantapi_link_lfp_provider]
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.LfpProvidersServiceClient;
import com.google.shopping.merchant.accounts.v1.LfpProvidersServiceSettings;
import com.google.shopping.merchant.accounts.v1.LinkLfpProviderRequest;
import shopping.merchant.samples.utils.Authenticator;
/** This class demonstrates how to link the Lfp Providers for a given Merchant Center account */
public class LinkLfpProviderSample {
public static void linkLfpProvider(String lfpProviderName, String externalAccountId)
throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the retrieved credentials.
LfpProvidersServiceSettings lfpProvidersServiceSettings =
LfpProvidersServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Calls the API and catches and prints any network failures/errors.
try (LfpProvidersServiceClient lfpProvidersServiceClient =
LfpProvidersServiceClient.create(lfpProvidersServiceSettings)) {
LinkLfpProviderRequest request =
LinkLfpProviderRequest.newBuilder()
.setName(lfpProviderName)
.setExternalAccountId(externalAccountId)
.build();
System.out.println("Sending link lfp provider request:");
// Empty response returned on success.
lfpProvidersServiceClient.linkLfpProvider(request);
System.out.println(String.format("Successfully linked to LFP provider: %s", lfpProviderName));
} catch (Exception e) {
System.out.println("An error has occurred: ");
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
// The name of the lfp provider you want to link, returned from `lfpProviders.findLfpProviders`.
// It's of the form
// "accounts/{account_id}/omnichannelSettings/{omnichannel_settings}/lfpProviders/{lfp_provider}".
String lfpProviderName = "{LFP_PROVIDER_NAME}";
// External account ID by which this merchant is known to the LFP provider.
String externalAccountId = "{EXTERNAL_ACCOUNT_ID}";
linkLfpProvider(lfpProviderName, externalAccountId);
}
}
// [END merchantapi_link_lfp_provider]
``` You can check your LFP status by calling `omnichannelSettings.get` and
checking the `LfpLink` field.
To learn more about how to use LFP, see [Local feeds partnership
API](https://developers.google.com/merchant/api/guides/local-feeds-partnership/overview).