Vous pouvez utiliser l'API Merchant Inventories pour indiquer que vos produits sont disponibles dans les magasins physiques.
Les produits en magasin nécessitent des informations supplémentaires, comme storeCode
et
availability
Reportez-vous au flux d'inventaire de produits en magasin
pour en savoir plus
que vous pouvez fournir.
Pour ajouter des informations en magasin à vos produits en magasin, procédez comme suit:
Associez votre entreprise à Merchant Center
Vous devez disposer d'une fiche d'établissement et d'un marchand compte pour répertorier en magasin sur Google.
Configurez vos comptes pour l'accès aux des fiches produit et Ajoutez votre entreprise informations.
Après avoir configuré vos comptes, associez votre fiche d'établissement à Merchant Center. compte.
Vous pouvez également utiliser Content API for Shopping v2.1 pour associer vos comptes.
Vérifier que vous proposez des produits en magasin
Vous pouvez utiliser Content API for Shopping pour filtrer les produits sous votre
votre compte d'ici le channel
pour vérifier que
si vous proposez déjà des produits en magasin. La valeur des produits en magasin doit être local
pour leur channel
.
Si vous devez ajouter des produits en magasin à votre compte, utilisez Content API pour Shopping pour insérer des produits créer un flux.
Insérer les informations concernant le magasin
Une fois que vous avez ajouté des produits en magasin dans votre compte marchand, vous pouvez les ajouter en magasin
des informations telles que store_code
, price
et availability
.
Voici un exemple permettant d'ajouter des informations en magasin à un produit avec
localInventories.list
:
Java
public static void insertLocalInventory(Config config, String productId, String storeCode)
throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
LocalInventoryServiceSettings localInventoryServiceSettings =
LocalInventoryServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
String parent = getParent(config.getMerchantId().toString(), productId);
try (LocalInventoryServiceClient localInventoryServiceClient =
LocalInventoryServiceClient.create(localInventoryServiceSettings)) {
Price price = Price.newBuilder().setAmountMicros(33_450_000).setCurrencyCode("USD").build();
InsertLocalInventoryRequest request =
InsertLocalInventoryRequest.newBuilder()
.setParent(parent)
.setLocalInventory(
LocalInventory.newBuilder()
.setAvailability("out of stock")
.setStoreCode(storeCode)
.setPrice(price)
.build())
.build();
System.out.println("Sending insert LocalInventory request");
LocalInventory response = localInventoryServiceClient.insertLocalInventory(request);
System.out.println("Inserted LocalInventory Name below");
System.out.println(response.getName());
} catch (Exception e) {
System.out.println(e);
}
}
cURL
curl --location
'https://merchantapi.googleapis.com/inventories/v1beta/accounts/987654321/products/en~US~12345/localInventories:insert' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API_TOKEN>' \
--data '{
"storeCode": "123456",
"price": {
"amountMicros": "33450000",
"currencyCode": "USD"
},
"availability": "out of stock"
}'
PHP
class InsertLocalInventory
{
// ENSURE you fill in the merchant account and product ID for the sample to
// work.
private const PARENT = 'accounts/[INSERT_ACCOUNT_HERE]/products/[INSERT_PRODUCT_HERE]';
// ENSURE you fill in store code for the sample to work.
private const LOCAL_INVENTORY_STORE_CODE = 'INSERT_STORE_CODE_HERE';
/**
* Inserts a local inventory underneath the parent product.
*
* @param string $parent The account and product where this inventory will be inserted.
* Format: `accounts/{account}/products/{product}`
* @param string $localInventoryRegion
* ID of the region for this
* `LocalInventory` resource. See the [Local availability and
* pricing](https://support.google.com/merchants/answer/9698880) for more details.
*/
public function insertLocalInventorySample(
string $parent,
string $localInventoryStoreCode
): void {
// Gets the OAuth credentials to make the request.
$credentials = Authentication::useServiceAccountOrTokenFile();
// Creates options config containing credentials for the client to use.
$options = ['credentials' => $credentials];
// Creates a client.
$localInventoryServiceClient = new LocalInventoryServiceClient($options);
// Creates a price object.
$price = new Price(
[
'currency_code' => "USD",
'amount_micros' => 33450000,
]
);
// Creates a new local inventory object.
$localInventory = (new LocalInventory())
->setStoreCode($localInventoryStoreCode)
->setAvailability("in stock")
->setPrice($price);
// Calls the API and catches and prints any network failures/errors.
try {
/** @var LocalInventory $response */
$response = $localInventoryServiceClient->insertLocalInventory(
$parent,
$localInventory
);
printf('Response data: %s%s', $response->serializeToJsonString(), PHP_EOL);
} catch (ApiException $ex) {
printf('Call failed with message: %s%s', $ex->getMessage(), PHP_EOL);
}
}
/**
* Helper to execute the sample.
*/
public function callSample(): void
{
// Makes the call to insert the local inventory to the parent product
// for the given region.
$this->insertLocalInventorySample($this::PARENT, $this::LOCAL_INVENTORY_STORE_CODE);
}
}
Python
from examples.authentication import generate_user_credentials
from google.shopping import merchant_inventories_v1beta
# ENSURE you fill in the merchant account and product ID for the sample to
# work.
_ACCOUNT = "INSERT_ACCOUNT_HERE"
_PRODUCT = "INSERT_PRODUCT_HERE"
_PARENT = f"accounts/{_ACCOUNT}/products/{_PRODUCT}"
# ENSURE you fill in store code for the sample to work.
_STORE_CODE = "INSERT_STORE_CODE_HERE"
def insert_local_inventory():
"""Inserts a `LocalInventory` to a given product.
Replaces the full `LocalInventory` resource if an entry with the same
`region` already exists for the product.
It might take up to 30 minutes for the new or updated `LocalInventory`
resource to appear in products.
"""
# Gets OAuth Credentials.
credentials = generate_user_credentials.main()
# Creates a client.
client = merchant_inventories_v1beta.LocalInventoryServiceClient(
credentials=credentials)
# Creates a Local inventory and populate its attributes.
local_inventory = merchant_inventories_v1beta.LocalInventory()
local_inventory.store_code = _STORE_CODE
local_inventory.availability = "in stock"
local_inventory.price = {
"currency_code": "USD",
"amount_micros": 33450000,
}
# Creates the request.
request = merchant_inventories_v1beta.InsertLocalInventoryRequest(
parent=_PARENT,
local_inventory=local_inventory,
)
# Makes the request and catch and print any error messages.
try:
response = client.insert_local_inventory(request=request)
print("Insert successful")
print(response)
except Exception as e:
print("Insert failed")
print(e)
Cet appel renvoie exactement les mêmes valeurs que vous avez envoyées, et il se peut qu'elles ne soient pas totalement représente les données d'inventaire finales.
Il peut s'écouler jusqu'à 30 minutes avant que le nouveau LocalInventory
n'apparaisse dans la
produit.
Vous pouvez également utiliser l'interface utilisateur de Merchant Center pour créer un inventaire de produits en magasin. flux.
S'inscrire aux fiches produit locales gratuites
Après avoir associé une fiche d'établissement à votre compte marchand, vous pouvez vous inscrire les fiches produit locales gratuites. Veillez à suivre les fiches gratuites règles.
En participant à un produit local sans frais de vos produits en magasin, peuvent apparaître dans des fiches gratuites diffusées sur les propriétés Google.