برنامه Local Feeds Partnership راهی برای خرده فروشان است تا در تبلیغات موجودی محلی و لیست های محلی رایگان بدون نیاز به ایجاد فیدهای موجودی محصول اولیه و محلی خود شرکت کنند. ارائه دهندگان داده مورد اعتماد می توانند داده های فروش یا موجودی را از طرف خرده فروشان به Google ارائه دهند.
پیش نیازها
برای استفاده از روشهای API در این بخش، ابتدا برنامههای Local Inventory Ads (LIA) یا Free Local Listing (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}
: یک کد منطقه، از فهرستی که توسط پروژه مخزن داده مشترک محلی (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 در مرحله قبل برگردانده شد. برای مثال، برای LFP Provider 112345
خواهد بود. -
{EXTERNAL_ACCOUNT_ID}
: شناسه حساب خارجی که تاجر توسط ارائهدهنده LFP شناخته میشود.
این نمونه کد نحوه پیوند دادن به یک ارائه دهنده 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).