Включить автоматические улучшения

Автоматические улучшения — это набор функций, позволяющих Google автоматически обновлять ваши товары, изображения и сроки доставки на основе целевой страницы вашего сайта. Включение этих автоматических улучшений может привести к улучшению пользовательского опыта, увеличению трафика к вашим товарам и повышению коэффициента конверсии.

В рамках подсистемы API «Учетные записи» вы можете использовать ресурс AutomaticImprovements для следующих целей:

Особые соображения

  • Наследование настроек :
  • Пользовательский интерфейс Merchant Center :
    • shippingImprovements можно вносить только через API, а не через пользовательский интерфейс Merchant Center.
  • Обновление поведения :
    • При обновлении настроек для itemUpdates , imageImprovements или shippingImprovements API выполняет полную замену указанного компонента верхнего уровня (например, всего объекта itemUpdates ). Убедитесь, что ваш запрос на обновление включает все необходимые подполя для компонентов, которые вы собираетесь изменить, как указано в параметре update_mask .
  • Предварительные требования :

Получить настройки автоматических улучшений

Получите текущие настройки автоматического улучшения для вашей учетной записи Merchant Center. Это включает настройки для обновления товаров (цена, наличие, состояние), улучшения изображений и улучшения доставки. В ответе отображаются как настройки, заданные непосредственно в учетной записи (если таковые имеются), так и действующие настройки, которые учитывают наследование от расширенной учетной записи для обновления товаров и изображений.

GET https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/automaticImprovements

В случае успешного выполнения запроса в теле ответа возвращается ресурс AutomaticImprovements . В ответе отображаются как настройки, заданные непосредственно в учетной записи, так и фактические настройки. effective настройки применяются к учетной записи и могут быть унаследованы от учетной записи более высокого уровня (например, многоклиентской учетной записи), если они не заданы явно.

{
  "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
  }
}

В этом примере показано, как получить настройки автоматического улучшения для учетной записи Merchant Center.

Java

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/YOUR_ACCOUNT_ID/automaticImprovements' \
--header 'Authorization: Bearer <var>API_TOKEN</var>'

Обновить настройки автоматических улучшений

Измените настройки автоматического улучшения для вашей учетной записи 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}/automaticImprovements?update_mask=itemUpdates,imageImprovements

Тело запроса (без imageImprovements ):

{
  "name": "accounts/12345/automaticImprovements",
  "itemUpdates": {
    "accountItemUpdatesSettings": {
      "allowPriceUpdates": true,
      "allowAvailabilityUpdates": true,
      "allowStrictAvailabilityUpdates": true,
      "allowConditionUpdates": true
    }
  }
}
PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/automaticImprovements?update_mask=itemUpdates,imageImprovements,shippingImprovements

Пример текста запроса (с включением всех улучшений):

{
  "name": "accounts/<var>ACCOUNT_ID</var>/automaticImprovements",
  "itemUpdates": {
    "accountItemUpdatesSettings": {
      "allowPriceUpdates": true,
      "allowAvailabilityUpdates": true,
      "allowStrictAvailabilityUpdates": true,
      "allowConditionUpdates": true
    }
  },
  "imageImprovements": {
    "accountImageImprovementsSettings": {
      "allowAutomaticImageImprovements": true
    }
  },
  "shippingImprovements": {
      "allowShippingImprovements": true
  }
}

В случае успешного выполнения запроса в теле ответа будет возвращен обновленный ресурс AutomaticImprovements .

{
  "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
  }
}

В этом примере показано, как обновить настройки автоматических улучшений, включив все доступные автоматические улучшения для учетной записи Merchant Center. Параметр update_mask установлен на * , что означает применение всех полей, указанных в объекте automatic_improvements в теле запроса. В ответе отображаются обновленные настройки, как сконфигурированные, так и фактические значения.

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.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/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
    }
  }
}'

Узнать больше