Quản lý chế độ cài đặt trang chủ

URL của cửa hàng trực tuyến là trang chủ của bạn trên Merchant Center. Trước tiên, bạn cần đặt hoặc cập nhật URL trang chủ. Sau đó, để mở khoá nhiều tính năng của Merchant Center và bật quảng cáo trên các nền tảng của Google, bạn cần xác minh rằng bạn có quyền kiểm soát trang web được liên kết với URL này. Sau khi trang web được xác minh, bạn có thể xác nhận quyền sở hữu trang chủ trong Merchant Center.

Bạn có thể quản lý chế độ cài đặt trang chủ bằng Merchant API, bao gồm cả các thao tác sau:

  • Đặt URL trang chủ
  • Xác nhận quyền sở hữu URL trang chủ
  • Từ chối xác nhận quyền sở hữu URL trang chủ

Điều kiện tiên quyết

Trước khi có thể xác nhận quyền sở hữu trang web của cửa hàng, bạn cần xác minh trang web đó. Để biết thêm thông tin về tầm quan trọng của việc xác minh trang web, hãy xem bài viết Tìm hiểu về quy trình xác minh URL của cửa hàng trực tuyến. Để hiểu rõ quy trình này, hãy xem bài viết Site Verification API.

Các điểm cần cân nhắc đặc biệt

Để cập nhật URL trang chủ, xác nhận quyền sở hữu hoặc từ chối xác nhận quyền sở hữu trang chủ bằng API, bạn cần có quyền quản trị đối với tài khoản Merchant Center.

Xem chế độ cài đặt trang chủ hiện tại

Để truy xuất URL trang chủ đã định cấu hình của cửa hàng và xem URL đó đã được xác nhận quyền sở hữu thành công hay chưa, hãy sử dụng phương thức accounts.homepage.getHomepage.

Dưới đây là yêu cầu HTTPS mẫu:

GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage

Yêu cầu thành công sẽ trả về tài nguyên Homepage có URI hiện tại và trạng thái xác nhận quyền sở hữu.

Dưới đây là phản hồi mẫu:

{
  "name": "accounts/{ACCOUNT_ID}/homepage",
  "uri": "https://www.example.com",
  "claimed": true
}

Nếu không có trang chủ nào được đặt, thì hệ thống sẽ không trả về giá trị cho claimed.

{
  "name": "accounts/{ACCOUNT_ID}/homepage",
  "uri": "",
}

Java

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.GetHomepageRequest;
import com.google.shopping.merchant.accounts.v1.Homepage;
import com.google.shopping.merchant.accounts.v1.HomepageName;
import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to get the homepage for a given Merchant Center account */
public class GetHomepageSample {

  public static void getHomepage(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.
    HomepageServiceSettings homepageServiceSettings =
        HomepageServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates Homepage name to identify Homepage.
    String name =
        HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

    // Calls the API and catches and prints any network failures/errors.
    try (HomepageServiceClient homepageServiceClient =
        HomepageServiceClient.create(homepageServiceSettings)) {

      // The name has the format: accounts/{account}/homepage
      GetHomepageRequest request = GetHomepageRequest.newBuilder().setName(name).build();

      System.out.println("Sending Get Homepage request:");
      Homepage response = homepageServiceClient.getHomepage(request);

      System.out.println("Retrieved Homepage below");
      System.out.println(response);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    getHomepage(config);
  }
}

PHP

use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\GetHomepageRequest;
use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;


/**
 * This class demonstrates how to get the homepage for a given Merchant Center account
 */
class GetHomepage
{
    /**
     * Gets the homepage for a given Merchant Center account.
     *
     * @param array $config The configuration data for authentication and account ID.
     * @return void
     * @throws ApiException if the API call fails.
     */
    public static function getHomepageSample(array $config): 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.
        $homepageServiceClient = new HomepageServiceClient($options);

        // Creates Homepage name to identify Homepage.
        // The name has the format: accounts/{account}/homepage
        $name = "accounts/" . $config['accountId'] . "/homepage";

        // Calls the API and catches and prints any network failures/errors.
        try {
            $request = new GetHomepageRequest(['name' => $name]);

            print "Sending Get Homepage request:\n";
            $response = $homepageServiceClient->getHomepage($request);

            print "Retrieved Homepage below\n";
            print_r($response);
        } catch (ApiException $e) {
            print $e->getMessage();
        }
    }

    /**
     * Helper to execute the sample.
     *
     * @return void
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();

        // Makes the call to get the homepage.
        self::getHomepageSample($config);
    }
}

// Run the script
$sample = new GetHomepage();
$sample->callSample();

Python

from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import GetHomepageRequest
from google.shopping.merchant_accounts_v1 import HomepageServiceClient

_ACCOUNT = configuration.Configuration().read_merchant_info()


def get_homepage():
  """Gets the homepage for a given Merchant Center account."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = HomepageServiceClient(credentials=credentials)

  # Creates Homepage name to identify Homepage.
  name = "accounts/" + _ACCOUNT + "/homepage"

  # Creates the request.
  request = GetHomepageRequest(name=name)

  # Makes the request and catches and prints any error messages.
  try:
    response = client.get_homepage(request=request)
    print("Retrieved Homepage below")
    print(response)
  except RuntimeError as e:
    print(e)


if __name__ == "__main__":
  get_homepage()

cURL

curl --location --request GET \
'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>'

Cập nhật URL trang chủ

Để đặt hoặc thay đổi URL trang web được liên kết với tài khoản Merchant Center, hãy sử dụng updateHomepage phương thức.

Bạn cần cung cấp tài nguyên Homepage trong nội dung yêu cầu, chỉ định uri mới và đưa uri vào update_mask.

Dưới đây là yêu cầu HTTPS mẫu:

PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage?update_mask=uri

Dưới đây là tải trọng yêu cầu mẫu:

{
  "name": "accounts/{ACCOUNT_ID}/homepage",
  "uri": "https://www.new-example.com"
}

Yêu cầu thành công sẽ trả về tài nguyên đã cập nhật Homepage.

Dưới đây là phản hồi mẫu:

{
  "name": "accounts/{ACCOUNT_ID}/homepage",
  "uri": "https://www.new-example.com",
  "claimed": true
}

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.Homepage;
import com.google.shopping.merchant.accounts.v1.HomepageName;
import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
import com.google.shopping.merchant.accounts.v1.UpdateHomepageRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to update a homepage to a new URL. */
public class UpdateHomepageSample {

  public static void updateHomepage(Config config, String uri) throws Exception {

    GoogleCredentials credential = new Authenticator().authenticate();

    HomepageServiceSettings homepageServiceSettings =
        HomepageServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates homepage name to identify homepage.
    String name =
        HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

    // Create a homepage with the updated fields.
    Homepage homepage = Homepage.newBuilder().setName(name).setUri(uri).build();

    FieldMask fieldMask = FieldMask.newBuilder().addPaths("uri").build();

    try (HomepageServiceClient homepageServiceClient =
        HomepageServiceClient.create(homepageServiceSettings)) {

      UpdateHomepageRequest request =
          UpdateHomepageRequest.newBuilder().setHomepage(homepage).setUpdateMask(fieldMask).build();

      System.out.println("Sending Update Homepage request");
      Homepage response = homepageServiceClient.updateHomepage(request);
      System.out.println("Updated Homepage 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();

    // The URI (a URL) of the store's homepage.
    String uri = "https://example.com";

    updateHomepage(config, uri);
  }
}

PHP

use Google\ApiCore\ApiException;
use Google\Protobuf\FieldMask;
use Google\Shopping\Merchant\Accounts\V1\Homepage;
use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;
use Google\Shopping\Merchant\Accounts\V1\UpdateHomepageRequest;

/**
 * This class demonstrates how to update a homepage to a new URL.
 */
class UpdateHomepage
{
    /**
     * Updates a homepage to a new URL.
     *
     * @param array $config The configuration data for authentication and account ID.
     * @param string $uri The new URI for the homepage.
     * @return void
     * @throws ApiException if the API call fails.
     */
    public static function updateHomepageSample(array $config, string $uri): 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.
        $homepageServiceClient = new HomepageServiceClient($options);

        // Creates Homepage name to identify Homepage.
        // The name has the format: accounts/{account}/homepage
        $name = "accounts/" . $config['accountId'] . "/homepage";

        // Create a homepage with the updated fields.
        $homepage = new Homepage(['name' => $name, 'uri' => $uri]);

        // Create field mask to specify which fields to update.
        $fieldMask = new FieldMask(['paths' => ['uri']]);

        try {
            $request = new UpdateHomepageRequest([
                'homepage' => $homepage,
                'update_mask' => $fieldMask
            ]);

            print "Sending Update Homepage request\n";
            $response = $homepageServiceClient->updateHomepage($request);
            print "Updated Homepage Name below\n";
            print $response->getName() . "\n";
        } catch (ApiException $e) {
            print $e->getMessage();
        }
    }

    /**
     * Helper to execute the sample.
     *
     * @return void
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();

        // The URI (a URL) of the store's homepage.
        $uri = "https://example.com";

        // Makes the call to update the homepage.
        self::updateHomepageSample($config, $uri);
    }
}

// Run the script
$sample = new UpdateHomepage();
$sample->callSample();

Python

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 Homepage
from google.shopping.merchant_accounts_v1 import HomepageServiceClient
from google.shopping.merchant_accounts_v1 import UpdateHomepageRequest

_ACCOUNT = configuration.Configuration().read_merchant_info()


def update_homepage(new_uri):
  """Updates a homepage to a new URL."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = HomepageServiceClient(credentials=credentials)

  # Creates Homepage name to identify Homepage.
  name = "accounts/" + _ACCOUNT + "/homepage"

  # Create a homepage with the updated fields.
  homepage = Homepage(name=name, uri=new_uri)

  # Create a FieldMask for the "uri" field.
  field_mask = field_mask_pb2.FieldMask(paths=["uri"])

  # Creates the request.
  request = UpdateHomepageRequest(homepage=homepage, update_mask=field_mask)

  # Makes the request and catches and prints any error messages.
  try:
    response = client.update_homepage(request=request)
    print("Updated Homepage Name below")
    print(response.name)
  except RuntimeError as e:
    print(e)


if __name__ == "__main__":
  # The URI (a URL) of the store's homepage.
  uri = "https://example.com"
  update_homepage(uri)

cURL

curl --location --request PATCH \
'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage?update_mask=uri' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
  "name": "accounts/{ACCOUNT_ID}/homepage",
  "uri": "https://www.new-example.com"
}'

Xác nhận quyền sở hữu trang chủ

Để xác nhận quyền sở hữu trang chủ của cửa hàng trực tuyến, hãy sử dụng phương thức claim. Tuy nhiên, trước khi có thể xác nhận quyền sở hữu trang chủ, bạn phải hoàn tất quy trình xác minh. Đây là quy trình chứng minh rằng bạn sở hữu trang web đó.

Dưới đây là yêu cầu HTTPS mẫu:

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:claim

Dưới đây là tải trọng yêu cầu mẫu nếu bạn muốn ghi đè thông báo xác nhận quyền sở hữu hiện có từ một tài khoản khác:

{
  "overwrite": true
}

Yêu cầu thành công sẽ trả về tài nguyên Homepage. Nếu xác nhận quyền sở hữu thành công, trường claimed sẽ là true.

Dưới đây là phản hồi mẫu:

{
  "name": "accounts/{ACCOUNT_ID}/homepage",
  "uri": "https://www.new-example.com",
  "claimed": true
}

Java

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.ClaimHomepageRequest;
import com.google.shopping.merchant.accounts.v1.Homepage;
import com.google.shopping.merchant.accounts.v1.HomepageName;
import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to claim the homepage for a given Merchant Center account. */
public class ClaimHomepageSample {

  // Executing this method requires admin access.
  public static void claimHomepage(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.
    HomepageServiceSettings homepageServiceSettings =
        HomepageServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates Homepage name to identify Homepage.
    // The name has the format: accounts/{account}/homepage
    String name =
        HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

    // Calls the API and catches and prints any network failures/errors.
    try (HomepageServiceClient homepageServiceClient =
        HomepageServiceClient.create(homepageServiceSettings)) {

      ClaimHomepageRequest request = ClaimHomepageRequest.newBuilder().setName(name).build();

      System.out.println("Sending Claim Homepage request:");

      // If the homepage is already claimed, this will recheck the
      // verification (unless the merchant is exempt from claiming, which also
      // exempts from verification) and return a successful response. If ownership
      // can no longer be verified, it will return an error, but it won't lose an existing
      // claim. In case of failure, a canonical error message will be returned:
      //    * PERMISSION_DENIED: user doesn't have the necessary permissions on this
      //    MC account;
      //    * FAILED_PRECONDITION:
      //      - The account is not a Merchant Center account;
      //      - MC account doesn't have a homepage;
      //      - claiming failed (in this case the error message will contain more
      //      details).
      Homepage response = homepageServiceClient.claimHomepage(request);

      System.out.println("Retrieved Homepage below");
      System.out.println(response);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    claimHomepage(config);
  }
}

PHP

use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\ClaimHomepageRequest;
use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;

/**
 * This class demonstrates how to claim the homepage for a given Merchant Center account.
 */
class ClaimHomepage
{
    /**
     * Claims the homepage for a given Merchant Center account.
     *
     * @param array $config The configuration data for authentication and account ID.
     * @return void
     * @throws ApiException if the API call fails.
     */
    public static function claimHomepageSample(array $config): 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.
        $homepageServiceClient = new HomepageServiceClient($options);

        // Creates Homepage name to identify Homepage.
        // The name has the format: accounts/{account}/homepage
        $name = "accounts/" . $config['accountId'] . "/homepage";

        // Calls the API and catches and prints any network failures/errors.
        try {
            $request = new ClaimHomepageRequest(['name' => $name]);

            print "Sending Claim Homepage request:\n";

            $response = $homepageServiceClient->claimHomepage($request);

            print "Retrieved Homepage below\n";
            print_r($response);
        } catch (ApiException $e) {
            print $e->getMessage();
        }
    }

    /**
     * Helper to execute the sample.
     *
     * @return void
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();

        // Makes the call to claim the homepage.
        self::claimHomepageSample($config);
    }
}

// Run the script
$sample = new ClaimHomepage();
$sample->callSample();

Python

from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import ClaimHomepageRequest
from google.shopping.merchant_accounts_v1 import HomepageServiceClient

_ACCOUNT = configuration.Configuration().read_merchant_info()


def claim_homepage():
  """Claims the homepage for a given Merchant Center account."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = HomepageServiceClient(credentials=credentials)

  # Creates Homepage name to identify Homepage.
  name = "accounts/" + _ACCOUNT + "/homepage"

  # Creates the request.
  request = ClaimHomepageRequest(name=name)

  # Makes the request and catches and prints any error messages.
  try:
    response = client.claim_homepage(request=request)
    print("Retrieved Homepage below")
    print(response)
  except RuntimeError as e:
    print(e)


if __name__ == "__main__":
  claim_homepage()

cURL

curl --location --request POST \
'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:claim' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
  "overwrite": true
}'

Từ chối xác nhận quyền sở hữu trang chủ

Để xoá trạng thái đã xác nhận quyền sở hữu khỏi trang chủ của cửa hàng, hãy sử dụng phương thức unclaim. Bạn có thể thực hiện việc này nếu đã thay đổi trang web hoặc không muốn URL hiện tại được liên kết với tài khoản của bạn ở trạng thái đã xác nhận quyền sở hữu nữa.

Dưới đây là yêu cầu HTTPS mẫu:

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:unclaim

Dưới đây là tải trọng yêu cầu mẫu:

{}

Dưới đây là phản hồi mẫu:

{
  "name": "accounts/{ACCOUNT_ID}/homepage",
  "uri": "https://www.new-example.com",
}

Java

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.Homepage;
import com.google.shopping.merchant.accounts.v1.HomepageName;
import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
import com.google.shopping.merchant.accounts.v1.UnclaimHomepageRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to unclaim the homepage for a given Merchant Center account. */
public class UnclaimHomepageSample {

  // Executing this method requires admin access.
  public static void unclaimHomepage(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.
    HomepageServiceSettings homepageServiceSettings =
        HomepageServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates Homepage name to identify Homepage.
    // The name has the format: accounts/{account}/homepage
    String name =
        HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

    // Calls the API and catches and prints any network failures/errors.
    try (HomepageServiceClient homepageServiceClient =
        HomepageServiceClient.create(homepageServiceSettings)) {

      UnclaimHomepageRequest request = UnclaimHomepageRequest.newBuilder().setName(name).build();

      System.out.println("Sending Unclaim Homepage request:");

      Homepage response = homepageServiceClient.unclaimHomepage(request);

      System.out.println("Retrieved Homepage below");
      System.out.println(response);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    unclaimHomepage(config);
  }
}

PHP

use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;
use Google\Shopping\Merchant\Accounts\V1\UnclaimHomepageRequest;

/**
 * This class demonstrates how to unclaim the homepage for a given Merchant Center account.
 */
class UnclaimHomepage
{
    /**
     * Unclaims the homepage for a given Merchant Center account.
     *
     * @param array $config The configuration data for authentication and account ID.
     * @return void
     * @throws ApiException if the API call fails.
     */
    public static function unclaimHomepageSample(array $config): 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.
        $homepageServiceClient = new HomepageServiceClient($options);

        // Creates Homepage name to identify Homepage.
        // The name has the format: accounts/{account}/homepage
        $name = "accounts/" . $config['accountId'] . "/homepage";

        // Calls the API and catches and prints any network failures/errors.
        try {
            $request = new UnclaimHomepageRequest(['name' => $name]);

            print "Sending Unclaim Homepage request:\n";

            $response = $homepageServiceClient->unclaimHomepage($request);

            print "Retrieved Homepage below\n";
            print_r($response);
        } catch (ApiException $e) {
            print $e->getMessage();
        }
    }

    /**
     * Helper to execute the sample.
     *
     * @return void
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();

        // Makes the call to unclaim the homepage.
        self::unclaimHomepageSample($config);
    }
}


// Run the script
$sample = new UnclaimHomepage();
$sample->callSample();

Python

from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import HomepageServiceClient
from google.shopping.merchant_accounts_v1 import UnclaimHomepageRequest

_ACCOUNT = configuration.Configuration().read_merchant_info()


def unclaim_homepage():
  """Unclaims the homepage for a given Merchant Center account."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = HomepageServiceClient(credentials=credentials)

  # Creates Homepage name to identify Homepage.
  # The name has the format: accounts/{account}/homepage
  name = "accounts/" + _ACCOUNT + "/homepage"

  # Creates the request.
  request = UnclaimHomepageRequest(name=name)

  # Makes the request and catches and prints any error messages.
  try:
    response = client.unclaim_homepage(request=request)
    print(f"Unclaimed Homepage: {response}")
  except RuntimeError as e:
    print(f"Failed to unclaim homepage: {e}")


if __name__ == "__main__":
  unclaim_homepage()

cURL

curl --location --request POST \
'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:unclaim' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{}'