التحسينات التلقائية هي مجموعة من الميزات التي تسمح لشركة Google بتعديل منتجاتك، صورك وتقديرات الشحن تلقائيًا استنادًا إلى الصفحة المقصودة لموقعك الإلكتروني. يمكن أن يؤدي تفعيل هذه التحسينات التلقائية إلى تحسين تجربة المستخدم وزيادة عدد الزيارات إلى منتجاتك ورفع معدّلات الإحالات الناجحة.
يمكنك استخدام المصدر
AutomaticImprovements
ضِمن واجهة برمجة التطبيقات الفرعية Accounts من أجل:
- عرض إعدادات التحسين التلقائي الحالية لحسابك على Merchant Center
- تفعيل التعديلات التلقائية أو إيقافها لسعر السلعة ومدى توفّرها وحالتها لمزيد من المعلومات، يُرجى الاطّلاع على مقالة لمحة عن التعديلات التلقائية على بيانات السلع.
- تفعيل التصحيحات التلقائية للصور أو إيقافها لمزيد من المعلومات، يُرجى الاطّلاع على مقالة السماح لخدمة Merchant Center بتحسين صور منتجاتك.
- تفعيل التحسينات التلقائية لتقديرات الشحن أو إيقافها لمزيد من المعلومات حول تقديرات الشحن التلقائية، يُرجى الاطّلاع على مقالة أريد أن تحتسب Google سرعات الشحن استنادًا إلى شركة النقل التي أتعامل معها.
اعتبارات خاصة
- اكتساب الإعدادات:
itemUpdates(التعديلات التلقائية على بيانات السلع) وimageImprovements(التحسينات التلقائية للصور) يمكن اكتساب إعداداتها من قِبل الحسابات الفرعية من حسابها بامتيازات متقدّمة. وتلغي الإعدادات الخاصة بالحساب الفرعي الإعدادات المُكتسَبة.- لا يمكن اكتساب إعدادات
shippingImprovements(التحسينات التلقائية لمُدد الشحن) ، ولا تنطبق على الحسابات بامتيازات متقدّمة.
- واجهة مستخدم Merchant Center:
- لا يمكن إدارة
shippingImprovementsإلا من خلال واجهة برمجة التطبيقات، وليس من خلال واجهة مستخدم Merchant Center.
- لا يمكن إدارة
- آلية التعديل:
- عند تعديل إعدادات
itemUpdatesأوimageImprovementsأوshippingImprovements، تستبدل واجهة برمجة التطبيقات المكوّن المحدد بالكامل على أعلى مستوى (على سبيل المثال، عنصرitemUpdatesبالكامل). تأكَّد من أنّ طلب التعديل يتضمّن جميع الحقول الفرعية المقصودة للمكوّنات التي تريد تعديلها، كما هو محدّد فيupdate_mask.
- عند تعديل إعدادات
- المتطلبات الأساسية:
استرداد إعدادات التحسينات التلقائية
استرداد إعدادات التحسين التلقائي الحالية لحسابك على Merchant Center ويشمل ذلك إعدادات التعديلات على بيانات السلع (السعر ومدى التوفّر والحالة) وتحسينات الصور وتحسينات الشحن. تعرض الاستجابة كلاً من الإعدادات التي تم ضبطها مباشرةً على الحساب (إن وُجدت) والإعدادات السارية، التي تأخذ في الاعتبار الاكتساب من حساب بامتيازات متقدّمة للتعديلات على بيانات السلع والصور.
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/automaticImprovements
يعرض الطلب الناجح مصدر AutomaticImprovements في نص الاستجابة. تعرض الاستجابة كلاً من الإعدادات التي تم ضبطها مباشرةً على الحساب والإعدادات السارية. الإعدادات effective هي الإعدادات التي يتم تطبيقها على الحساب وقد يتم اكتسابها من حساب أعلى مستوى (مثل حساب متعدّد العملاء) إذا لم يتم ضبطها بشكلٍ صريح.
{
"name": "accounts/{ACCOUNT_ID}/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
}
}
يوضّح هذا المثال كيفية استرداد إعدادات التحسين التلقائي لحساب على Merchant Center.
جافا
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovements;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovementsName;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovementsServiceClient;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovementsServiceSettings;
import com.google.shopping.merchant.accounts.v1.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\V1\Client\AutomaticImprovementsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\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_v1 import AutomaticImprovementsServiceClient
from google.shopping.merchant_accounts_v1 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/v1/accounts/{ACCOUNT_ID}/automaticImprovements' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
تعديل إعدادات التحسينات التلقائية
تعديل إعدادات التحسين التلقائي لحسابك على Merchant Center
قدِّم عنصر AutomaticImprovements مع الحالة المقصودة لـ itemUpdates وimageImprovements وshippingImprovements. استخدِم مَعلمة طلب البحث
update_mask لتحديد الحقول التي تعدِّلها (على
سبيل المثال، لتعديل جميع الإعدادات المقدَّمة، استخدِم update_mask=*).
عند تعديل الإعدادات، يمكنك إما الكتابة فوق الإعدادات الحالية أو محوها لاكتساب الإعدادات من حساب رئيسي.
لاستبدال إعداد: ضِّمن اسم الحقل على أعلى مستوى (على سبيل المثال،
itemUpdatesأوimageImprovements) فيupdate_maskوقدِّم الإعداد الجديد في نص الطلب. يؤدي هذا الإجراء إلى استبدال أي إعدادات حالية لهذا الحقل في الحساب الفرعي.لمحو إعداد واكتسابه من حساب رئيسي: ضِّمن اسم الحقل في
update_mask، ولكن احذف الحقل بالكامل من نص الطلب. يؤدي ذلك إلى إزالة الإعداد المحدّد من الحساب الفرعي، ما يجعله يكتسب الإعداد من حسابه الرئيسي. إذا لم يتم ضبط أي إعداد في الحساب الرئيسي أيضًا، يتم تطبيق الإعداد التلقائي للنظام.
يوضّح المثال التالي كيفية محو إعدادات imageImprovements لحساب فرعي، ما يجعله يكتسبها من حسابه الرئيسي، مع تعديل إعدادات itemUpdates في الوقت نفسه.
PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/automaticImprovements?update_mask=itemUpdates,imageImprovements
نص الطلب (مع حذف imageImprovements):
{
"name": "accounts/{ACCOUNT_ID}/automaticImprovements",
"itemUpdates": {
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": true,
"allowConditionUpdates": true
}
}
}
PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/automaticImprovements?update_mask=itemUpdates,imageImprovements,shippingImprovements
مثال على نص الطلب (تفعيل جميع التحسينات):
{
"name": "accounts/{ACCOUNT_ID}/automaticImprovements",
"itemUpdates": {
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": true,
"allowConditionUpdates": true
}
},
"imageImprovements": {
"accountImageImprovementsSettings": {
"allowAutomaticImageImprovements": true
}
},
"shippingImprovements": {
"allowShippingImprovements": true
}
}
يعرض الطلب الناجح مصدر AutomaticImprovements المعدَّل في نص الاستجابة.
{
"name": "accounts/{ACCOUNT_ID}/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
}
}
يوضّح هذا المثال كيفية تعديل إعدادات التحسينات التلقائية، ما يؤدي إلى تفعيل جميع التحسينات التلقائية المتاحة لحساب على Merchant Center.
تم ضبط update_mask على *، ما يعني أنّه يتم تطبيق جميع الحقول المقدَّمة في عنصر automatic_improvements في نص الطلب. تعرض الاستجابة الإعدادات المعدَّلة، مع القيم التي تم ضبطها والقيم السارية.
جافا
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.protobuf.FieldMask;
import com.google.shopping.merchant.accounts.v1.AutomaticImageImprovements;
import com.google.shopping.merchant.accounts.v1.AutomaticImageImprovements.ImageImprovementsAccountLevelSettings;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovements;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovementsName;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovementsServiceClient;
import com.google.shopping.merchant.accounts.v1.AutomaticImprovementsServiceSettings;
import com.google.shopping.merchant.accounts.v1.AutomaticItemUpdates;
import com.google.shopping.merchant.accounts.v1.AutomaticItemUpdates.ItemUpdatesAccountLevelSettings;
import com.google.shopping.merchant.accounts.v1.AutomaticShippingImprovements;
import com.google.shopping.merchant.accounts.v1.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_v1 import AutomaticImageImprovements
from google.shopping.merchant_accounts_v1 import AutomaticImprovements
from google.shopping.merchant_accounts_v1 import AutomaticImprovementsServiceClient
from google.shopping.merchant_accounts_v1 import AutomaticItemUpdates
from google.shopping.merchant_accounts_v1 import AutomaticShippingImprovements
from google.shopping.merchant_accounts_v1 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/v1/accounts/{ACCOUNT_ID}/automaticImprovements?update_mask=*' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'Content-Type: application/json' \
--data '{
"name": "accounts/{ACCOUNT_ID}/automaticImprovements",
"itemUpdates": {
"accountItemUpdatesSettings": {
"allowPriceUpdates": true,
"allowAvailabilityUpdates": true,
"allowStrictAvailabilityUpdates": true,
"allowConditionUpdates": true
}
},
"imageImprovements": {
"accountImageImprovementsSettings": {
"allowAutomaticImageImprovements": true
}
},
"shippingImprovements": {
"accountShippingImprovementsSettings": {
"allowShippingImprovements": true
}
}
}'