加入店面動態饋給合作夥伴計畫之後,零售商就能刊登店面商品目錄廣告和免費區域產品資訊,不必自行建立主要和店面商品目錄動態饋給。值得信賴的資料供應商可以代表零售商,將銷售或商品目錄資料提供給 Google。
必要條件
如要使用本節中的 API 方法,請先建立店面商品目錄廣告 (LIA) 或免費區域產品資訊 (FLL) 計畫。詳情請參閱「管理全通路設定」。
尋找可用的 LFP 供應商
如要擷取某個國家/地區中所有可用的 LFP 供應商,請使用 lfpProviders.findLfpProviders
。
POST
https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}/omnichannelSettings/{REGION_CODE}/lfpProviders:find
更改下列內容:
{ACCOUNT_ID}
:Merchant Center 帳戶的專屬 ID{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.v1beta;
// [START merchantapi_find_lfp_providers]
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1beta.FindLfpProvidersRequest;
import com.google.shopping.merchant.accounts.v1beta.LfpProvider;
import com.google.shopping.merchant.accounts.v1beta.LfpProvidersServiceClient;
import com.google.shopping.merchant.accounts.v1beta.LfpProvidersServiceClient.FindLfpProvidersPagedResponse;
import com.google.shopping.merchant.accounts.v1beta.LfpProvidersServiceSettings;
import com.google.shopping.merchant.accounts.v1beta.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 合作夥伴關係,請使用 lfpProviders.LinkLfpProvider
:
POST
https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}/omnichannelSettings/{REGION_CODE}/lfpProviders/{LFP_PROVIDER}:linkLfpProvider
{
"externalAccountId": "{EXTERNAL_ACCOUNT_ID}",
}
更改下列內容:
{ACCOUNT_ID}
:Merchant Center 帳戶的專屬 ID{LFP_PROVIDER}
:上一個步驟傳回的本地動態饋給合作夥伴 ID。例如,本地動態饋給供應商 1 的值為12345
。{EXTERNAL_ACCOUNT_ID}
:LFP 供應商所知的商家外部帳戶 ID。
以下程式碼範例說明如何連結至 LFP 供應器:
package shopping.merchant.samples.accounts.v1beta;
// [START merchantapi_link_lfp_provider]
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1beta.LfpProvidersServiceClient;
import com.google.shopping.merchant.accounts.v1beta.LfpProvidersServiceSettings;
import com.google.shopping.merchant.accounts.v1beta.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).