Các điểm cải tiến tự động là một nhóm tính năng cho phép Google tự động cập nhật sản phẩm, hình ảnh và thông tin ước tính về phí vận chuyển dựa trên trang đích của trang web. Việc bật các tính năng cải thiện tự động này có thể giúp nâng cao trải nghiệm người dùng, tăng lưu lượng truy cập vào các sản phẩm của bạn, đồng thời tăng tỷ lệ chuyển đổi.
Bạn có thể sử dụng tài nguyên AutomaticImprovements
trong API phụ Tài khoản để:
- Xem chế độ cài đặt hiện tại của tính năng tự động cải thiện cho tài khoản Merchant Center.
- Bật hoặc tắt tính năng tự động cập nhật cho giá, tình trạng còn hàng và tình trạng của mặt hàng. Để biết thêm thông tin, hãy xem bài viết Giới thiệu về tính năng tự động cập nhật mặt hàng.
- Bật hoặc tắt tính năng tự động chỉnh sửa hình ảnh. Để biết thêm thông tin, hãy xem bài viết Cho phép Merchant Center cải thiện hình ảnh sản phẩm của bạn.
- Bật hoặc tắt tính năng tự động cải thiện thông tin ước tính về phí vận chuyển. Để biết thêm thông tin về tính năng ước tính tự động phí vận chuyển, hãy xem bài viết Tôi muốn Google tính tốc độ vận chuyển dựa trên hãng vận chuyển.
Các điểm cần cân nhắc đặc biệt
- Kế thừa chế độ cài đặt:
- Các chế độ cài đặt
itemUpdates
(tự động cập nhật mặt hàng) vàimageImprovements
(tự động cải thiện hình ảnh) có thể được tài khoản phụ kế thừa từ tài khoản nâng cao. Chế độ cài đặt dành riêng cho tài khoản phụ sẽ ghi đè chế độ cài đặt được kế thừa. - Bạn không thể kế thừa chế độ cài đặt
shippingImprovements
(cải thiện thông tin vận chuyển tự động) và chế độ này không áp dụng cho tài khoản nâng cao.
- Các chế độ cài đặt
- Giao diện người dùng Merchant Center:
- Bạn chỉ có thể quản lý
shippingImprovements
thông qua API chứ không thể thông qua giao diện người dùng Merchant Center.
- Bạn chỉ có thể quản lý
- Hành vi cập nhật:
- Khi cập nhật chế độ cài đặt cho
itemUpdates
,imageImprovements
hoặcshippingImprovements
, API sẽ thay thế hoàn toàn thành phần cấp cao nhất được chỉ định (ví dụ: toàn bộ đối tượngitemUpdates
). Xác minh rằng yêu cầu cập nhật của bạn bao gồm tất cả các trường phụ dự kiến cho những thành phần mà bạn dự định sửa đổi, như được chỉ định bởiupdate_mask
.
- Khi cập nhật chế độ cài đặt cho
- Điều kiện tiên quyết:
- Trước khi bật tính năng tự động cập nhật mặt hàng, hãy xác minh rằng bạn đã thiết lập dữ liệu có cấu trúc trên trang web của mình.
Truy xuất chế độ cài đặt tự động cải thiện
Truy xuất chế độ cài đặt cải thiện tự động hiện tại cho tài khoản Merchant Center của bạn. Điều này bao gồm các chế độ cài đặt cho thông tin cập nhật về mặt hàng (giá, tình trạng còn hàng, tình trạng), cải thiện hình ảnh và cải thiện thông tin vận chuyển. Phản hồi cho thấy cả chế độ cài đặt được định cấu hình trực tiếp trên tài khoản (nếu có) và chế độ cài đặt có hiệu lực, trong đó có xét đến việc kế thừa từ tài khoản nâng cao để cập nhật mặt hàng và hình ảnh.
GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/<var>ACCOUNT_ID</var>/automaticImprovements
Một yêu cầu thành công sẽ trả về tài nguyên AutomaticImprovements
trong phần nội dung phản hồi. Phản hồi cho thấy cả chế độ cài đặt được định cấu hình trực tiếp trên tài khoản và chế độ cài đặt có hiệu lực. Chế độ cài đặt effective
là chế độ cài đặt được áp dụng cho tài khoản và có thể được kế thừa từ một tài khoản cấp cao hơn (chẳng hạn như tài khoản nhiều khách hàng) nếu bạn không đặt chế độ này một cách rõ ràng.
{
"name": "accounts/12345/automaticImprovements",
// Example 1: Settings are directly configured on the account.
"itemUpdates": {
// When `accountItemUpdatesSettings` is present, `effective` values match the configured ones.
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": false,
"allowConditionUpdates": true
},
"effectiveAllowPriceUpdates": true,
"effectiveAllowAvailabilityUpdates": true,
"effectiveAllowStrictAvailabilityUpdates": false,
"effectiveAllowConditionUpdates": true
},
// Example 2: Settings are inherited from a parent account.
"imageImprovements": {
// `accountImageImprovementsSettings` is omitted, thus the `effective` value of `true` is inherited.
"effectiveAllowAutomaticImageImprovements": true
},
"shippingImprovements": {
"accountShippingImprovementsSettings": {
"allowShippingImprovements": true
},
"effectiveAllowShippingImprovements": true
}
}
Ví dụ này cho thấy cách truy xuất chế độ cài đặt tự động cải thiện cho một tài khoản Merchant Center.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovements;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovementsName;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovementsServiceClient;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovementsServiceSettings;
import com.google.shopping.merchant.accounts.v1beta.GetAutomaticImprovementsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to get the automatic improvements of a Merchant Center account. */
public class GetAutomaticImprovementsSample {
public static void getAutomaticImprovements(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
AutomaticImprovementsServiceSettings automaticImprovementsServiceSettings =
AutomaticImprovementsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates AutomaticImprovements name to identify the AutomaticImprovements.
String name =
AutomaticImprovementsName.newBuilder()
.setAccount(config.getAccountId().toString())
.build()
.toString();
// Calls the API and catches and prints any network failures/errors.
try (AutomaticImprovementsServiceClient automaticImprovementsServiceClient =
AutomaticImprovementsServiceClient.create(automaticImprovementsServiceSettings)) {
// The name has the format: accounts/{account}/automaticImprovements
GetAutomaticImprovementsRequest request =
GetAutomaticImprovementsRequest.newBuilder().setName(name).build();
System.out.println("Sending get AutomaticImprovements request:");
AutomaticImprovements response =
automaticImprovementsServiceClient.getAutomaticImprovements(request);
System.out.println("Retrieved AutomaticImprovements below");
System.out.println(response);
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
getAutomaticImprovements(config);
}
}
PHP
use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1beta\Client\AutomaticImprovementsServiceClient;
use Google\Shopping\Merchant\Accounts\V1beta\GetAutomaticImprovementsRequest;
/**
* This class demonstrates how to get the automatic improvements of a Merchant Center account.
*/
class GetAutomaticImprovementsSample
{
/**
* Helper function to construct the resource name for AutomaticImprovements.
*
* @param string $accountId The Merchant Center account ID.
* @return string The resource name in the format: accounts/{account}/automaticImprovements
*/
private static function getAutomaticImprovementsName(string $accountId): string
{
return sprintf("accounts/%s/automaticImprovements", $accountId);
}
/**
* Retrieves the automatic improvements settings for a given Merchant Center account.
*
* @param array $config The configuration array containing the account ID.
* @return void
*/
public static function getAutomaticImprovementsSample(array $config): void
{
// Obtains OAuth credentials for authentication.
$credentials = Authentication::useServiceAccountOrTokenFile();
// Contructs an options array for the client.
$options = ['credentials' => $credentials];
// Creates a new AutomaticImprovementsServiceClient.
$automaticImprovementsServiceClient = new AutomaticImprovementsServiceClient($options);
// Constructs the full resource name for the automatic improvements settings.
$name = self::getAutomaticImprovementsName($config['accountId']);
// Creates the GetAutomaticImprovementsRequest.
$request = new GetAutomaticImprovementsRequest(['name' => $name]);
printf("Sending get AutomaticImprovements request:%s", PHP_EOL);
try {
// Makes the API call to retrieve automatic improvements settings.
$response = $automaticImprovementsServiceClient->getAutomaticImprovements($request);
printf("Retrieved AutomaticImprovements below%s", PHP_EOL);
// Prints the response in JSON format for readability.
print_r($response);
} catch (ApiException $e) {
printf("ApiException was thrown: %s%s", $e->getMessage(), PHP_EOL);
}
}
/**
* Helper to execute the sample.
*
* @return void
*/
public function callSample(): void
{
$config = Config::generateConfig();
self::getAutomaticImprovementsSample($config);
}
}
// Runs the script.
$sample = new GetAutomaticImprovementsSample();
$sample->callSample();
Python
"""Gets the automatic improvements settings for a Merchant Center account."""
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1beta import AutomaticImprovementsServiceClient
from google.shopping.merchant_accounts_v1beta import GetAutomaticImprovementsRequest
# Fetches the account ID from the config file.
# This is a placeholder for your actual account ID.
_ACCOUNT_ID = configuration.Configuration().read_merchant_info()
# Construct the resource name for AutomaticImprovements.
# The format is accounts/{account}/automaticImprovements
_NAME = f"accounts/{_ACCOUNT_ID}/automaticImprovements"
def get_automatic_improvements_sample():
"""Gets the automatic improvements settings for a Merchant Center account."""
# Generates OAuth 2.0 credentials for authentication.
credentials = generate_user_credentials.main()
# Creates a client for the AutomaticImprovementsService.
client = AutomaticImprovementsServiceClient(credentials=credentials)
# Creates the request to get automatic improvements.
# The name parameter is the resource name of the automatic improvements
# settings.
request = GetAutomaticImprovementsRequest(name=_NAME)
print("Sending get AutomaticImprovements request:")
# Makes the API request to get automatic improvements.
try:
response = client.get_automatic_improvements(request=request)
print("Retrieved AutomaticImprovements below")
print(response)
except RuntimeError as e:
print(f"An API error occurred: {e}")
if __name__ == "__main__":
get_automatic_improvements_sample()
cURL
curl --location 'https://merchantapi.googleapis.com/accounts/v1beta/accounts/YOUR_ACCOUNT_ID/automaticImprovements' \
--header 'Authorization: Bearer <var>API_TOKEN</var>'
Cập nhật chế độ cài đặt tự động cải thiện
Sửa đổi chế độ cài đặt tính năng tự động cải thiện cho tài khoản Merchant Center.
Cung cấp đối tượng AutomaticImprovements
với trạng thái dự kiến cho itemUpdates
, imageImprovements
và shippingImprovements
. Sử dụng tham số truy vấn update_mask
để chỉ định những trường mà bạn đang cập nhật (ví dụ: để cập nhật tất cả các chế độ cài đặt được cung cấp, hãy sử dụng update_mask=*
).
Khi cập nhật chế độ cài đặt, bạn có thể ghi đè cấu hình hiện có hoặc xoá cấu hình đó để kế thừa chế độ cài đặt từ tài khoản mẹ.
Cách ghi đè một chế độ cài đặt: Đưa tên trường cấp cao nhất (ví dụ:
itemUpdates
hoặcimageImprovements
) vàoupdate_mask
và cung cấp cấu hình mới của trường đó trong nội dung yêu cầu. Thao tác này sẽ thay thế mọi chế độ cài đặt hiện có cho trường đó trên tài khoản phụ.Để xoá một chế độ cài đặt và kế thừa từ một đối tượng mẹ: Thêm tên trường vào
update_mask
, nhưng hoàn toàn bỏ qua trường này trong nội dung yêu cầu. Thao tác này sẽ xoá cấu hình cụ thể khỏi tài khoản phụ, khiến tài khoản phụ kế thừa chế độ cài đặt từ tài khoản chính. Nếu tài khoản chính cũng không có chế độ cài đặt nào được định cấu hình, thì chế độ mặc định của hệ thống sẽ được áp dụng.
Ví dụ sau đây minh hoạ cách xoá chế độ cài đặt imageImprovements
cho một tài khoản phụ, khiến tài khoản đó kế thừa chế độ cài đặt từ tài khoản mẹ, đồng thời cập nhật chế độ cài đặt itemUpdates
.
PATCH https://merchantapi.googleapis.com/accounts/v1beta/accounts/{account}/automaticImprovements?update_mask=itemUpdates,imageImprovements
Nội dung yêu cầu (bỏ qua imageImprovements
):
{
"name": "accounts/12345/automaticImprovements",
"itemUpdates": {
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": true,
"allowConditionUpdates": true
}
}
}
PATCH https://merchantapi.googleapis.com/accounts/v1beta/accounts/<var>ACCOUNT_ID</var>/automaticImprovements?update_mask=itemUpdates,imageImprovements,shippingImprovements
Ví dụ về nội dung yêu cầu (bật tất cả các điểm cải tiến):
{
"name": "accounts/<var>ACCOUNT_ID</var>/automaticImprovements",
"itemUpdates": {
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": true,
"allowConditionUpdates": true
}
},
"imageImprovements": {
"accountImageImprovementsSettings": {
"allowAutomaticImageImprovements": true
}
},
"shippingImprovements": {
"allowShippingImprovements": true
}
}
Một yêu cầu thành công sẽ trả về tài nguyên AutomaticImprovements
đã cập nhật trong nội dung phản hồi.
{
"name": "accounts/12345/automaticImprovements",
"itemUpdates": {
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": true,
"allowConditionUpdates": true
},
"effectiveAllowPriceUpdates": true,
"effectiveAllowAvailabilityUpdates": true,
"effectiveAllowStrictAvailabilityUpdates": true,
"effectiveAllowConditionUpdates": true
},
"imageImprovements": {
"accountImageImprovementsSettings": {
"allowAutomaticImageImprovements": true
},
"effectiveAllowAutomaticImageImprovements": true
},
"shippingImprovements": {
"allowShippingImprovements": true
"effectiveAllowShippingImprovements": true
}
}
Ví dụ này minh hoạ cách cập nhật chế độ cài đặt cải tiến tự động, cho phép tất cả các chế độ cải tiến tự động hiện có cho một tài khoản Merchant Center. update_mask
được đặt thành *
, tức là tất cả các trường được cung cấp trong đối tượng automatic_improvements
trong nội dung yêu cầu đều được áp dụng. Phản hồi cho thấy chế độ cài đặt đã cập nhật, với cả giá trị được định cấu hình và giá trị có hiệu lực.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.protobuf.FieldMask;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImageImprovements;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImageImprovements.ImageImprovementsAccountLevelSettings;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovements;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovementsName;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovementsServiceClient;
import com.google.shopping.merchant.accounts.v1beta.AutomaticImprovementsServiceSettings;
import com.google.shopping.merchant.accounts.v1beta.AutomaticItemUpdates;
import com.google.shopping.merchant.accounts.v1beta.AutomaticItemUpdates.ItemUpdatesAccountLevelSettings;
import com.google.shopping.merchant.accounts.v1beta.AutomaticShippingImprovements;
import com.google.shopping.merchant.accounts.v1beta.UpdateAutomaticImprovementsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to update AutomaticImprovements to be enabled. */
public class UpdateAutomaticImprovementsSample {
public static void updateAutomaticImprovements(Config config) throws Exception {
GoogleCredentials credential = new Authenticator().authenticate();
AutomaticImprovementsServiceSettings automaticImprovementsServiceSettings =
AutomaticImprovementsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates AutomaticImprovements name to identify AutomaticImprovements.
String name =
AutomaticImprovementsName.newBuilder()
.setAccount(config.getAccountId().toString())
.build()
.toString();
// Create AutomaticImprovements with the updated fields.
AutomaticImprovements automaticImprovements =
AutomaticImprovements.newBuilder()
.setName(name)
.setItemUpdates(
AutomaticItemUpdates.newBuilder()
.setAccountItemUpdatesSettings(
ItemUpdatesAccountLevelSettings.newBuilder()
.setAllowPriceUpdates(true)
.setAllowAvailabilityUpdates(true)
.setAllowStrictAvailabilityUpdates(true)
.setAllowConditionUpdates(true)
.build())
.build())
.setImageImprovements(
AutomaticImageImprovements.newBuilder()
.setAccountImageImprovementsSettings(
ImageImprovementsAccountLevelSettings.newBuilder()
.setAllowAutomaticImageImprovements(true)
.build())
.build())
.setShippingImprovements(
AutomaticShippingImprovements.newBuilder()
.setAllowShippingImprovements(true)
.build())
.build();
FieldMask fieldMask = FieldMask.newBuilder().addPaths("*").build();
try (AutomaticImprovementsServiceClient automaticImprovementsServiceClient =
AutomaticImprovementsServiceClient.create(automaticImprovementsServiceSettings)) {
UpdateAutomaticImprovementsRequest request =
UpdateAutomaticImprovementsRequest.newBuilder()
.setAutomaticImprovements(automaticImprovements)
.setUpdateMask(fieldMask)
.build();
System.out.println("Sending Update AutomaticImprovements request");
AutomaticImprovements response =
automaticImprovementsServiceClient.updateAutomaticImprovements(request);
System.out.println("Updated AutomaticImprovements Name below");
System.out.println(response.getName());
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
updateAutomaticImprovements(config);
}
}
PHP
use Google\ApiCore\ApiException;
use Google\Protobuf\FieldMask;
use Google\Shopping\Merchant\Accounts\V1beta\AutomaticImageImprovements;
use Google\Shopping\Merchant\Accounts\V1beta\AutomaticImageImprovements\ImageImprovementsAccountLevelSettings;
use Google\Shopping\Merchant\Accounts\V1beta\AutomaticImprovements;
use Google\Shopping\Merchant\Accounts\V1beta\Client\AutomaticImprovementsServiceClient;
use Google\Shopping\Merchant\Accounts\V1beta\AutomaticItemUpdates;
use Google\Shopping\Merchant\Accounts\V1beta\AutomaticItemUpdates\ItemUpdatesAccountLevelSettings;
use Google\Shopping\Merchant\Accounts\V1beta\AutomaticShippingImprovements;
use Google\Shopping\Merchant\Accounts\V1beta\UpdateAutomaticImprovementsRequest;
/**
* This class demonstrates how to update AutomaticImprovements to be enabled.
*/
class UpdateAutomaticImprovementsSample
{
/**
* Helper function to construct the resource name for AutomaticImprovements.
*
* @param string $accountId The Merchant Center account ID.
* @return string The resource name in the format: accounts/{account}/automaticImprovements
*/
private static function getAutomaticImprovementsName(string $accountId): string
{
return sprintf("accounts/%s/automaticImprovements", $accountId);
}
/**
* Updates the automatic improvements settings for a Merchant Center account.
* This sample enables all automatic improvements.
*
* @param array $config The configuration array containing the account ID.
* @return void
*/
public static function updateAutomaticImprovementsSample(array $config): void
{
// Obtains OAuth credentials for authentication.
$credentials = Authentication::useServiceAccountOrTokenFile();
// Contructs an options array for the client.
$options = ['credentials' => $credentials];
// Creates a new AutomaticImprovementsServiceClient.
$automaticImprovementsServiceClient = new AutomaticImprovementsServiceClient($options);
// Constructs the full resource name for the automatic improvements settings.
$name = self::getAutomaticImprovementsName($config['accountId']);
// Prepares the AutomaticImprovements object with all settings enabled.
$automaticImprovements = new AutomaticImprovements([
'name' => $name,
'item_updates' => new AutomaticItemUpdates([
'account_item_updates_settings' => new ItemUpdatesAccountLevelSettings([
'allow_price_updates' => true,
'allow_availability_updates' => true,
'allow_strict_availability_updates' => true,
'allow_condition_updates' => true
])
]),
'image_improvements' => new AutomaticImageImprovements([
'account_image_improvements_settings' => new ImageImprovementsAccountLevelSettings([
'allow_automatic_image_improvements' => true
])
]),
'shipping_improvements' => new AutomaticShippingImprovements([
'allow_shipping_improvements' => true
])
]);
// Creates a FieldMask to indicate that all paths provided in $automaticImprovements
// should be updated. The "*" path means to replace all updatable fields.
$fieldMask = new FieldMask(['paths' => ['*']]);
// Creates the UpdateAutomaticImprovementsRequest.
$request = new UpdateAutomaticImprovementsRequest([
'automatic_improvements' => $automaticImprovements,
'update_mask' => $fieldMask
]);
printf("Sending Update AutomaticImprovements request%s", PHP_EOL);
try {
// Makes the API call to update automatic improvements settings.
$response = $automaticImprovementsServiceClient->updateAutomaticImprovements($request);
printf("Updated AutomaticImprovements Name below%s", PHP_EOL);
printf("%s%s", $response->getName(), PHP_EOL);
} catch (ApiException $e) {
printf("ApiException was thrown: %s%s", $e->getMessage(), PHP_EOL);
}
}
/**
* Helper to execute the sample.
*
* @return void
*/
public function callSample(): void
{
$config = Config::generateConfig();
self::updateAutomaticImprovementsSample($config);
}
}
// Runs the script.
$sample = new UpdateAutomaticImprovementsSample();
$sample->callSample();
Python
"""Updates the automatic improvements settings for a Merchant Center account."""
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.protobuf import field_mask_pb2
from google.shopping.merchant_accounts_v1beta import AutomaticImageImprovements
from google.shopping.merchant_accounts_v1beta import AutomaticImprovements
from google.shopping.merchant_accounts_v1beta import AutomaticImprovementsServiceClient
from google.shopping.merchant_accounts_v1beta import AutomaticItemUpdates
from google.shopping.merchant_accounts_v1beta import AutomaticShippingImprovements
from google.shopping.merchant_accounts_v1beta import UpdateAutomaticImprovementsRequest
# Fetches the Merchant Center account ID from the configuration.
_ACCOUNT_ID = configuration.Configuration().read_merchant_info()
# The resource name for the AutomaticImprovements settings of the account.
# Format: accounts/{account}/automaticImprovements
_AUTOMATIC_IMPROVEMENTS_RESOURCE_NAME = (
f"accounts/{_ACCOUNT_ID}/automaticImprovements"
)
def update_automatic_improvements_settings():
"""Updates automatic improvements settings for a Merchant Center account to enable all available automatic improvements.
"""
# Generates OAuth 2.0 credentials for authenticating with the API.
credentials = generate_user_credentials.main()
# Creates a client for the AutomaticImprovementsService.
client = AutomaticImprovementsServiceClient(credentials=credentials)
# Prepares the AutomaticImprovements object with all improvements enabled.
# The 'name' field specifies the AutomaticImprovements resource to update.
automatic_improvements_config = AutomaticImprovements(
name=_AUTOMATIC_IMPROVEMENTS_RESOURCE_NAME,
item_updates=AutomaticItemUpdates(
account_item_updates_settings=AutomaticItemUpdates.ItemUpdatesAccountLevelSettings(
allow_price_updates=True,
allow_availability_updates=True,
allow_strict_availability_updates=True,
allow_condition_updates=True,
)
),
image_improvements=AutomaticImageImprovements(
account_image_improvements_settings=
AutomaticImageImprovements.ImageImprovementsAccountLevelSettings(
allow_automatic_image_improvements=True
)
),
shipping_improvements=AutomaticShippingImprovements(
allow_shipping_improvements=True
),
)
# Creates a field mask to specify which fields of the
# AutomaticImprovements resource should be updated.
# Using "*" indicates that all fields provided in the
# automatic_improvements_config object should be updated.
field_mask = field_mask_pb2.FieldMask(paths=["*"])
# Creates the update request, including the configured
# AutomaticImprovements object and the field mask.
request = UpdateAutomaticImprovementsRequest(
automatic_improvements=automatic_improvements_config,
update_mask=field_mask,
)
# Sends the request to update automatic improvements and handles the response.
try:
print("Sending Update AutomaticImprovements request")
response = client.update_automatic_improvements(request=request)
print("Updated AutomaticImprovements Name below")
print(response.name)
except RuntimeError as e:
# Catches and prints any errors that occur during the API call.
print(e)
if __name__ == "__main__":
update_automatic_improvements_settings()
cURL
curl --location --request PATCH 'https://merchantapi.googleapis.com/accounts/v1beta/accounts/YOUR_ACCOUNT_ID/automaticImprovements?update_mask=*' \
--header 'Authorization: Bearer <var>API_TOKEN</var>' \
--header 'Content-Type: application/json' \
--data '{
"name": "accounts/YOUR_ACCOUNT_ID/automaticImprovements",
"itemUpdates": {
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": true,
"allowConditionUpdates": true
}
},
"imageImprovements": {
"accountImageImprovementsSettings": {
"allowAutomaticImageImprovements": true
}
},
"shippingImprovements": {
"accountShippingImprovementsSettings": {
"allowShippingImprovements": true
}
}
}'