The Local Feeds Partnership program is a way for retailers to participate in Local Inventory Ads and Free Local Listings without having to create their own primary and local product inventory feeds. Trusted data providers can provide sales or inventory data to Google on behalf of retailers.
Prerequisites
To use the API methods in this section, establish your Local Inventory Ads (LIA) or Free Local Listing (FLL) programs first. For more details, see Manage omnichannel settings .
Find available LFP providers
To retrieve all the available LFP providers in a country, use lfpProviders.findLfpProviders
.
POST
https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/omnichannelSettings/{REGION_CODE}/lfpProviders:find
Replace the following:
-
{ACCOUNT_ID}
: The unique identifier of your Merchant Center account -
{REGION_CODE}
: A Region code, from the list defined by the Common Locale Data Repository (CLDR) project
A sample successful response:
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
}
Here is a code sample:
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]
Link an LFP provider
To build an LFP partnership, use lfpProviders.LinkLfpProvider
:
POST
https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/omnichannelSettings/{REGION_CODE}/lfpProviders/{LFP_PROVIDER}:linkLfpProvider
{
"externalAccountId": "{EXTERNAL_ACCOUNT_ID}",
}
Replace the following:
-
{ACCOUNT_ID}
: The unique identifier of your Merchant Center account -
{LFP_PROVIDER}
: The LFP provider ID returned in the previous step. For example, it would be12345
for LFP Provider 1. -
{EXTERNAL_ACCOUNT_ID}
: The external account ID by which the merchant is known to the LFP provider.
This code sample shows how to link to an LFP provider:
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).