Merchant Inventories API を使用すると 地域によって異なります。たとえば、複数の異なる商品を、 同じ商品に異なる価格を設定して 購入場所に応じて異なります
詳しくは、ご利用いただけるリージョンと 料金をご覧ください。
地域情報は、オンラインで販売する商品に関するものです。店舗に追加する 地域に合った プロダクトを 提供します
オンライン商品に地域別の情報を追加する手順は次のとおりです。
リージョンを作成する
商品に地域別の情報を追加する前に、地域を設定する必要があります
ご確認くださいContent API for Shopping の
作成する regions
リソース
提供します
コードについては、リージョンガイドをご覧ください。 リージョンの管理に関する詳細が表示されます。
オンライン商品があることを確認する
Content API for Shopping を使用すると、
channel
でアカウントを作成し、
オンライン商品がありますオンライン商品には online
を指定する必要があります
channel
の値。
アカウントにオンライン商品を追加する必要がある場合は、 ショッピング プロダクト フィードを作成するをご覧ください。
地域の情報を挿入
販売アカウントにオンライン商品が登録されたら、地域別を追加できます
region
、price
、availability
などの情報が含まれます。
次のサンプルは、
regionalInventories.insert
:
Java
public static void insertRegionalInventory(Config config, String productId, String regionId)
throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
RegionalInventoryServiceSettings regionalInventoryServiceSettings =
RegionalInventoryServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
String parent = getParent(config.getMerchantId().toString(), productId);
try (RegionalInventoryServiceClient regionalInventoryServiceClient =
RegionalInventoryServiceClient.create(regionalInventoryServiceSettings)) {
Price price = Price.newBuilder().setAmountMicros(33_450_000).setCurrencyCode("USD").build();
InsertRegionalInventoryRequest request =
InsertRegionalInventoryRequest.newBuilder()
.setParent(parent)
.setRegionalInventory(
RegionalInventory.newBuilder()
.setAvailability("out of stock")
.setRegion(regionId)
.setPrice(price)
.build())
.build();
System.out.println("Sending insert RegionalInventory request");
RegionalInventory response = regionalInventoryServiceClient.insertRegionalInventory(request);
System.out.println("Inserted RegionalInventory 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/regionalInventories:insert' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <API_TOKEN>' \
--data '{
"region": "123456",
"price": {
"amountMicros": "33450000",
"currencyCode": "USD"
},
"availability": "out of stock"
}'
PHP
class InsertRegionalInventory
{
// 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 region ID for the sample to work.
private const REGIONAL_INVENTORY_REGION = 'INSERT_REGION_HERE';
/**
* Inserts a regional 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 $regionalInventoryRegion
* ID of the region for this
* `RegionalInventory` resource. See the [Regional availability and
* pricing](https://support.google.com/merchants/answer/9698880) for more details.
*/
public function insertRegionalInventorySample(string $parent, string $regionalInventoryRegion): 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.
$regionalInventoryServiceClient = new RegionalInventoryServiceClient($options);
// Creates a price object.
$price = new Price(
[
'currency_code' => "USD",
'amount_micros' => 33450000,
]
);
// Creates a new regional inventory object.
$regionalInventory = (new RegionalInventory())
->setRegion($regionalInventoryRegion)
->setAvailability("in stock")
->setPrice($price);
// Calls the API and catches and prints any network failures/errors.
try {
/** @var RegionalInventory $response */
$response = $regionalInventoryServiceClient->insertRegionalInventory(
$parent,
$regionalInventory
);
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 regional inventory to the parent product
// for the given region.
$this->insertRegionalInventorySample($this::PARENT, $this::REGIONAL_INVENTORY_REGION);
}
}
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 region ID for the sample to work.
_REGION = "INSERT_REGION_HERE"
def insert_regional_inventory():
"""Inserts a `RegionalInventory` to a given product.
Replaces the full `RegionalInventory` 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 `RegionalInventory`
resource to appear in products.
"""
# Gets OAuth Credentials.
credentials = generate_user_credentials.main()
# Creates a client.
client = merchant_inventories_v1beta.RegionalInventoryServiceClient(
credentials=credentials)
# Creates a regional inventory and populate its attributes.
regional_inventory = merchant_inventories_v1beta.RegionalInventory()
regional_inventory.region = _REGION
regional_inventory.availability = "in stock"
regional_inventory.price = {
"currency_code": "USD",
"amount_micros": 33450000,
}
# Creates the request.
request = merchant_inventories_v1beta.InsertRegionalInventoryRequest(
parent=_PARENT,
regional_inventory=regional_inventory,
)
# Makes the request and catch and print any error messages.
try:
response = client.insert_regional_inventory(request=request)
print("Insert successful")
print(response)
except Exception as e:
print("Insert failed")
print(e)
この呼び出しでは、送信した値とまったく同じ値が返されますが、 最終的な在庫データを表します
新しい RegionalInventory
が
説明します。
詳しくは、 フィードを使用して 地域別の在庫情報を取得します
Google の無料リスティングに登録する
Google に商品を無料で掲載するには、無料の商品をセットアップしてください
リスティングをご覧ください。無料プランの設定後
RegionalInventory
の対象となる商品は、Google のリスティングに表示できます
指定した地域の情報に基づく [ショッピング] タブ。