Merchant API'yi kullanarak Merchant Center hesapları oluşturabilirsiniz. Bu hesaplar, accountAggregation, accountManagement veya comparisonShopping kullanılarak bir gelişmiş hesaba bağlanabilir. accounts.createAndConfigure
yöntemi, bir hesap oluşturmanıza ve isteğe bağlı olarak kullanıcılarla yapılandırmanıza ve hizmetler aracılığıyla diğer hesaplara bağlamanıza olanak tanır.
Bu kılavuzda, accountManagement, comparisonShopping veya accountAggregation gibi hizmetleri kullanarak hesap oluşturmak için Merchant API'nin nasıl kullanılacağı açıklanmaktadır. accounts.createAndConfigure kullanırken service alanında en az bir accountAggregation, accountManagement veya comparisonShopping belirterek yeni hesabı bir sağlayıcıya bağlamanız gerekir.
Aynı istekte accountAggregation ve comparisonShopping değerlerini belirtebilirsiniz ancak accountManagement, accountAggregation veya comparisonShopping ile birleştirilemez.
accountManagement özelliğini belirtirseniz user veya users alanını kullanarak yeni hesaba en az bir kullanıcı da eklemeniz gerekir.
Ön koşullar
Merchant API'yi kullanarak hesap oluşturabilmek için kullandığınız hizmetlere bağlı olarak aşağıdaki koşulları karşıladığınızdan emin olun:
- Yönetici erişimi:
accountManagement,comparisonShoppingveyaaccountAggregationkullanarak yeni bir hesap bağlarken sağlayıcı hesabına yönetici erişiminizin olması gerekir. - Gelişmiş hesap:
accountAggregationkullanıyorsanız sağlayıcı hesabınızın, hesap toplama için yapılandırılmış bir gelişmiş hesap olması gerekir. Bir servis sağlayıcıysanız ve gelişmiş hesap kurulumu yapmanız gerekiyorsa yapılandırma konusunda yardım almak için destek ekibiyle iletişime geçin.
Hesap oluşturma (hesap yönetimi veya karşılaştırmalı alışverişi kullanarak)
Yeni bir hesap oluşturmak için accounts.createAndConfigure numaralı telefonu arayın.
Bu yaklaşım, satıcıların hesaplarını yönetmelerine yardımcı olan iş ortakları için önerilir. Satıcılar, hesaplarının tam kontrolünü ve sahipliğini korurken iş ortaklarına belirli izinler verebilir.
İstek gövdesinde:
accountalanına oluşturmak istediğiniz hesabın ayrıntılarını girin.accountManagementkullanıyorsanızuseralanında hesaba erişimi olacak en az bir kullanıcı belirtin.servicealanında, bu hesaba sağlamak istediğiniz hizmetleri (ör.accountManagement) belirtin veproviderdeğerini hesabınızın kaynak adı olarak ayarlayın (ör.providers/{YOUR_ACCOUNT_ID}).productsManagementveyacampaignsManagementgibi kullanılabilir hizmetlerin listesi için Hesap ilişkilerini yönetme başlıklı makaleyi inceleyin.
Hesap ve ürün yönetimi için "merchantStore" adlı bir hesap oluşturup {YOUR_ACCOUNT_ID} hesabına bağlamaya yönelik örnek bir isteği aşağıda bulabilirsiniz:
POST https://merchantapi.googleapis.com/accounts/v1/accounts:createAndConfigure
{
"account": {
"accountName": "merchantStore",
"adultContent": false,
"timeZone": {
"id": "America/New_York"
},
"languageCode": "en-US"
},
"user": [
{
"userId": "test@example.com",
"user": {
"accessRights": ["ADMIN"]
}
}
],
"service": [
{
"accountManagement": {},
"provider": "providers/{YOUR_ACCOUNT_ID}"
},
{
"productsManagement": {},
"provider": "providers/{YOUR_ACCOUNT_ID}"
}
]
}
Başarılı bir çağrı, yeni hesabı oluşturur ve belirtilen hizmetler için hesabınıza bağlar. Oluşturma sırasında accountManagement, accountAggregation veya comparisonShopping hizmetlerini belirtirseniz bunlar otomatik olarak onaylanır ve bağlantı durumu ESTABLISHED olur. Diğer hizmet bağlantıları, oluşturulan hesap tarafından kabul edilene kadar PENDING durumunda olabilir. Yanıt metni, yeni oluşturulan Account kaynağını içerir.
Böyle bir hesap oluşturduktan sonra, Hizmet Şartları'nı kabul etme, işletme bilgilerini ayarlama ve web sitesini doğrulama gibi adımları uygulayarak hesabı kullanıma hazırlamanız gerekir.
Hesap oluşturma sırasında e-posta doğrulamasını devre dışı bırakma
accounts.createAndConfigure ile hesap oluştururken, isteğe bağlı olarak user alanını kullanarak eklenen yeni kullanıcılar için doğrulama e-postalarını devre dışı bırakabilirsiniz. Bunun için, ilgili kullanıcının isteğinde verificationMailSettings.verificationMailMode değerini SUPPRESS_VERIFICATION_MAIL olarak ayarlayın. Bu, oluşturma işleminden hemen sonra users.verifySelf yöntemini kullanarak satıcı adına kullanıcıları doğrulamak istediğinizde kullanışlıdır. Varsayılan olarak verificationMailMode SEND_VERIFICATION_MAIL'dır ve hesap oluşturma sırasında eklenen yeni kullanıcılara doğrulama e-postaları gönderilir.
POST https://merchantapi.googleapis.com/accounts/v1/accounts:createAndConfigure
{
"account": {
"accountName": "merchantStore",
"adultContent": false,
"timeZone": {
"id": "America/New_York"
},
"languageCode": "en-US"
},
"user": [
{
"userId": "test@example.com",
"user": {
"accessRights": ["ADMIN"]
},
"verificationMailSettings": {
"verificationMailMode": "SUPPRESS_VERIFICATION_MAIL"
}
}
],
"service": [
{
"accountManagement": {},
"provider": "providers/{YOUR_ACCOUNT_ID}"
}
]
}
verificationMailMode değerini SUPPRESS_VERIFICATION_MAIL olarak ayarlarsanız doğrulama işlemini tamamlamak için oluşturma sırasında eklenen her kullanıcı için users.verifySelf işlevini çağırmanız gerekir. Bu çağrı, doğrulanacak kullanıcı (userId içinde belirtilen kullanıcı) olarak kimliği doğrulanmış olmalıdır. Örneğin, kullanıcının OAuth jetonu kullanılabilir.
Hesap oluşturma sırasında bir takma ad belirtme
CreateAndConfigureAccountRequest bağlamında bir sağlayıcı için setAlias alanını kullanarak bir hesaba takma ad belirtebilirsiniz. Diğer ad, sisteminizde hesabı tanımlamak için kullanılabilir. Bir servis sağlayıcıysanız GET /accounts/v1/accounts/{provider}~{alias} kullanarak hesabı almak için takma adı kullanabilirsiniz. Diğer ad, belirli bir sağlayıcı için benzersiz olmalıdır ve isteğin service alanında aynı sağlayıcıya ait bir hizmet belirtmeniz gerekir. Diğer ad koşulları hakkında daha fazla bilgi için Hesap ilişkilerini yönetme başlıklı makaleyi inceleyin.
POST https://merchantapi.googleapis.com/accounts/v1/accounts:createAndConfigure
{
"account": {
"accountName": "merchantStore",
"adultContent": false,
"timeZone": {
"id": "America/New_York"
},
"languageCode": "en-US"
},
"service": [
{
"accountManagement": {},
"provider": "providers/{YOUR_ACCOUNT_ID}"
}
],
"setAlias": [
{
"provider": "providers/{YOUR_ACCOUNT_ID}",
"accountIdAlias": "my-merchant-alias"
}
]
}
Önerilen ilk katılım akışı
Bir satıcı adına hesap oluşturan bir iş ortağıysanız aşağıdaki akışı kullanmanızı öneririz:
- Hesap oluşturma: Yeni bir hesap oluşturmak için iş ortağı kimlik bilgilerinizle
accounts.createAndConfigure'ı arayın.service'ı, sağlayıcı kimliğinizeaccountManagementbağlantısı içerecek şekilde ayarlayın.useralanını kullanarak satıcıyı kullanıcı olarak ekleyin veverificationMailSettings.verificationMailModedeğeriniSUPPRESS_VERIFICATION_MAILolarak ayarlayın.
- Kullanıcıyı doğrulama: Kullanıcı durumunu
PENDINGdeğerindenVERIFIEDdeğerine değiştirmek için satıcının kimlik bilgilerini (ör. OAuth jetonu kullanarak) kullanarakusers.verifySelfişlevini çağırın. - İşletme ülkesini ayarlama: Satıcı kimlik bilgileriyle,
address.regionCodeöğesiniaccounts.updateBusinessInfokullanarak güncelleyerek işletme ülkesini ayarlayın. Bu işlem, Hizmet Şartları'nı kabul etmeden önce gereklidir. - Hizmet Şartları'nı kabul edin: Satıcı kimlik bilgileriyle Hizmet Şartları'nı kabul edin.
Bu akış, satıcının Google'dan davet e-postaları almadan platformunuza sorunsuz bir şekilde dahil edilmesine olanak tanır.
Müşteri hesabı oluşturma (hesap toplama özelliğini kullanarak)
Müşteri hesapları, accountAggregation hizmeti kullanılarak gelişmiş hesabınıza bağlanan ayrı Merchant Center hesaplarıdır. Bu hesaplar, ayrı ayarlar, web siteleri ve veri feed'leri korunurken merkezi yönetime olanak tanır.
Yeni müşteri hesapları oluşturmak için Merchant Accounts alt API'sini kullanabilirsiniz.
Müşteri hesabı oluşturmak için öncelikle gelişmiş hesap kurulumu yapmanız gerekir. Merchant Center hesabınızı gelişmiş hesaba dönüştürmek için hesap yöneticisi olmanız ve hesabınızda bekleyen sorun olmaması gerekir.
Yeni bir müşteri hesabı oluşturmak için accounts.createAndConfigure işlevini çağırın.
İstek gövdesinde:
accountalanına oluşturmak istediğiniz hesabın ayrıntılarını girin.- İsteğe bağlı olarak,
useralanında yeni yetkili kullanıcıları belirtin. Hesap için kullanıcı erişimi de üst düzey hesaptan devralınır. servicealanındaaccountAggregationdeğerini belirtin veproviderdeğerini gelişmiş hesabınızın kaynak adına (ör.providers/{ADVANCED_ACCOUNT_ID}) ayarlayın. Bu işlem, gelişmiş hesabınızı yeni hesabın toplayıcısı olarak belirler.
Aşağıda, gelişmiş hesaba bağlı "merchantStore" adlı bir müşteri hesabı oluşturma isteği örneği verilmiştir
{ADVANCED_ACCOUNT_ID}:
POST https://merchantapi.googleapis.com/accounts/v1/accounts:createAndConfigure
{
"account": {
"accountName": "merchantStore",
"adultContent": false,
"timeZone": {
"id": "America/New_York"
},
"languageCode": "en-US"
},
"service": [
{
"accountAggregation": {},
"provider": "providers/{ADVANCED_ACCOUNT_ID}"
}
]
}
Başarılı bir çağrı, yeni müşteri hesabını oluşturur ve belirtilen gelişmiş hesaba bağlar. Yanıt metninde yeni oluşturulan Account kaynağı yer alır.
Aşağıdaki örneklerde, yeni bir müşteri hesabı oluşturmak için accounts.createAndConfigure öğesini nasıl kullanabileceğiniz gösterilmektedir.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.Account;
import com.google.shopping.merchant.accounts.v1.AccountAggregation;
import com.google.shopping.merchant.accounts.v1.AccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.AccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest;
import com.google.shopping.merchant.accounts.v1.CreateAndConfigureAccountRequest.AddAccountService;
import com.google.type.TimeZone;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to create a sub-account under an advanced account. */
public class CreateSubAccountSample {
private static String getParent(String accountId) {
return String.format("accounts/%s", accountId);
}
public static void createSubAccount(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.
AccountsServiceSettings accountsServiceSettings =
AccountsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates parent/provider to identify the advanced account into which to insert the subaccount.
String parent = getParent(config.getAccountId().toString());
// Calls the API and catches and prints any network failures/errors.
try (AccountsServiceClient accountsServiceClient =
AccountsServiceClient.create(accountsServiceSettings)) {
CreateAndConfigureAccountRequest request =
CreateAndConfigureAccountRequest.newBuilder()
.setAccount(
Account.newBuilder()
.setAccountName("Demo Business")
.setAdultContent(false)
.setTimeZone(TimeZone.newBuilder().setId("America/New_York").build())
.setLanguageCode("en-US")
.build())
.addService(
AddAccountService.newBuilder()
.setProvider(parent)
.setAccountAggregation(AccountAggregation.getDefaultInstance())
.build())
.build();
System.out.println("Sending Create SubAccount request");
Account response = accountsServiceClient.createAndConfigureAccount(request);
System.out.println("Inserted Account Name below");
// Format: `accounts/{account}
System.out.println(response.getName());
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
createSubAccount(config);
}
}
PHP
use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Account;
use Google\Shopping\Merchant\Accounts\V1\AccountAggregation;
use Google\Shopping\Merchant\Accounts\V1\Client\AccountsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\CreateAndConfigureAccountRequest;
use Google\Shopping\Merchant\Accounts\V1\CreateAndConfigureAccountRequest\AddAccountService;
use Google\Type\TimeZone;
/**
* This class demonstrates how to create a sub-account under an MCA account.
*/
class CreateSubAccount
{
private static function getParent(string $accountId): string
{
return sprintf("accounts/%s", $accountId);
}
public static function createSubAccount(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.
$accountsServiceClient = new AccountsServiceClient($options);
// Creates parent/provider to identify the MCA account into which to insert the subaccount.
$parent = self::getParent($config['accountId']);
// Calls the API and catches and prints any network failures/errors.
try {
$request = new CreateAndConfigureAccountRequest([
'account' => (new Account([
'account_name' => 'Demo Business',
'adult_content' => false,
'time_zone' => (new TimeZone(['id' => 'America/New_York'])),
'language_code' => 'en-US',
])),
'service' => [
(new AddAccountService([
'provider' => $parent,
'account_aggregation' => new AccountAggregation,
])),
],
]);
print "Sending Create SubAccount request\n";
$response = $accountsServiceClient->createAndConfigureAccount($request);
print "Inserted Account Name below\n";
// Format: `accounts/{account}
print $response->getName() . PHP_EOL;
} catch (ApiException $e) {
print $e->getMessage();
}
}
public function callSample(): void
{
$config = Config::generateConfig();
self::createSubAccount($config);
}
}
$sample = new CreateSubAccount();
$sample->callSample();
Python
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import Account
from google.shopping.merchant_accounts_v1 import AccountAggregation
from google.shopping.merchant_accounts_v1 import AccountsServiceClient
from google.shopping.merchant_accounts_v1 import CreateAndConfigureAccountRequest
_ACCOUNT = configuration.Configuration().read_merchant_info()
def get_parent(account_id):
return f"accounts/{account_id}"
def create_sub_account():
"""Creates a sub-account under an advanced account."""
# Get OAuth credentials.
credentials = generate_user_credentials.main()
# Create a client.
client = AccountsServiceClient(credentials=credentials)
# Get the parent advanced account ID.
parent = get_parent(_ACCOUNT)
# Create the request.
request = CreateAndConfigureAccountRequest(
account=Account(
account_name="Demo Business",
adult_content=False,
time_zone={"id": "America/New_York"},
language_code="en-US",
),
service=[
CreateAndConfigureAccountRequest.AddAccountService(
provider=parent,
account_aggregation=AccountAggregation(),
)
],
)
# Make the request and print the response.
try:
print("Sending Create SubAccount request")
response = client.create_and_configure_account(request=request)
print("Inserted Account Name below")
print(response.name)
except RuntimeError as e:
print(e)
if __name__ == "__main__":
create_sub_account()
cURL
curl -X POST \
"https://merchantapi.googleapis.com/accounts/v1/accounts:createAndConfigure" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"account": {
"accountName": "Demo Business",
"adultContent": false,
"timeZone": {
"id": "America/New_York"
},
"languageCode": "en-US"
},
"service": [
{
"accountAggregation": {},
"provider": "providers/{ADVANCED_ACCOUNT_ID}"
}
]
}'
Müşteri hesaplarını alma
Belirli bir gelişmiş hesabın tüm müşteri hesaplarını listelemek için
accounts.listSubaccounts
yöntemini kullanın. İstek URL'sinin provider alanına gelişmiş hesabınızın kimliğini girin.
Aşağıda örnek bir istek verilmiştir:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ADVANCED_ACCOUNT_ID}:listSubaccounts
Başarılı bir çağrıdan alınan örnek yanıtı aşağıda bulabilirsiniz:
{
"accounts": [
{
"name": "accounts/<var class=\"readonly\">{SUB_ACCOUNT_ID_1}</var>",
"accountId": "<var class=\"readonly\">{SUB_ACCOUNT_ID_1}</var>",
"accountName": "<var class=\"readonly\">{SUB_ACCOUNT_NAME_1}</var>",
"timeZone": {
"id": "America/Los_Angeles"
},
"languageCode": "en-US"
},
{
"name": "accounts/<var class=\"readonly\">{SUB_ACCOUNT_ID_2}</var>",
"accountId": "<var class=\"readonly\">{SUB_ACCOUNT_ID_2}</var>",
"accountName": "<var class=\"readonly\">{SUB_ACCOUNT_NAME_2}</var>",
"timeZone": {
"id": "America/Los_Angeles"
},
"languageCode": "en-US"
}
]
}
Aşağıdaki örneklerde, gelişmiş hesabınızın tüm müşteri hesaplarının nasıl listeleneceği gösterilmektedir.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.Account;
import com.google.shopping.merchant.accounts.v1.AccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.AccountsServiceClient.ListSubAccountsPagedResponse;
import com.google.shopping.merchant.accounts.v1.AccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.ListSubAccountsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to list all the subaccounts of an advanced account. */
public class ListSubAccountsSample {
private static String getParent(String accountId) {
return String.format("accounts/%s", accountId);
}
public static void listSubAccounts(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.
AccountsServiceSettings accountsServiceSettings =
AccountsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates parent/provider to identify the advanced account from which to list all sub-accounts.
String parent = getParent(config.getAccountId().toString());
// Calls the API and catches and prints any network failures/errors.
try (AccountsServiceClient accountsServiceClient =
AccountsServiceClient.create(accountsServiceSettings)) {
// The parent has the format: accounts/{account}
ListSubAccountsRequest request =
ListSubAccountsRequest.newBuilder().setProvider(parent).build();
System.out.println("Sending list subaccounts request:");
ListSubAccountsPagedResponse response = accountsServiceClient.listSubAccounts(request);
int count = 0;
// Iterates over all rows in all pages and prints the datasource in each row.
// Automatically uses the `nextPageToken` if returned to fetch all pages of data.
for (Account account : response.iterateAll()) {
System.out.println(account);
count++;
}
System.out.print("The following count of accounts were returned: ");
System.out.println(count);
} catch (Exception e) {
System.out.println("An error has occured: ");
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
listSubAccounts(config);
}
}
PHP
use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Client\AccountsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\ListSubAccountsRequest;
/**
* This class demonstrates how to list all the subaccounts of an advanced account.
*/
class ListSubAccounts
{
private static function getParent(string $accountId): string
{
return sprintf("accounts/%s", $accountId);
}
public static function listSubAccounts(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.
$accountsServiceClient = new AccountsServiceClient($options);
// Creates parent/provider to identify the advanced account from which
//to list all accounts.
$parent = self::getParent($config['accountId']);
// Calls the API and catches and prints any network failures/errors.
try {
// The parent has the format: accounts/{account}
$request = new ListSubAccountsRequest(['provider' => $parent]);
print "Sending list subaccounts request:\n";
$response = $accountsServiceClient->listSubAccounts($request);
$count = 0;
// Iterates over all rows in all pages and prints the datasource in each row.
// Automatically uses the `nextPageToken` if returned to fetch all pages of data.
foreach ($response->iterateAllElements() as $account) {
print_r($account);
$count++;
}
print "The following count of accounts were returned: ";
print $count . PHP_EOL;
} catch (ApiException $e) {
print "An error has occured: \n";
print $e->getMessage();
}
}
public function callSample(): void
{
$config = Config::generateConfig();
self::listSubAccounts($config);
}
}
$sample = new ListSubAccounts();
$sample->callSample();
Python
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import AccountsServiceClient
from google.shopping.merchant_accounts_v1 import ListSubAccountsRequest
_ACCOUNT = configuration.Configuration().read_merchant_info()
def get_parent(account_id):
return f"accounts/{account_id}"
def list_sub_accounts():
"""Lists all the subaccounts of an advanced account."""
# Get OAuth credentials.
credentials = generate_user_credentials.main()
# Create a client.
client = AccountsServiceClient(credentials=credentials)
# Get the parent advanced account ID.
parent = get_parent(_ACCOUNT)
# Create the request.
request = ListSubAccountsRequest(provider=parent)
# Make the request and print the response.
try:
print("Sending list subaccounts request:")
response = client.list_sub_accounts(request=request)
count = 0
for account in response:
print(account)
count += 1
print(f"The following count of accounts were returned: {count}")
except RuntimeError as e:
print("An error has occured: ")
print(e)
if __name__ == "__main__":
list_sub_accounts()
cURL
curl -X GET \
"https://merchantapi.googleapis.com/accounts/v1/accounts/{ADVANCED_ACCOUNT_ID}:listSubaccounts" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
Müşteri hesabını silme
Artık yönetmeniz gerekmeyen bir müşteri hesabı varsa accounts.delete yöntemini kullanarak bu hesabı silebilirsiniz.
Bu yöntemin yürütülmesi için silinecek hesaba yönetici erişimi gerekir.
Aşağıda örnek bir istek verilmiştir:
DELETE https://merchantapi.googleapis.com/accounts/v1/accounts/{SUB_ACCOUNT_ID}
Başarılı olursa yanıt gövdesi, hesabın silindiğini belirten boş bir JSON nesnesi olur.
Aşağıdaki örneklerde, bir müşteri hesabının nasıl silineceği gösterilmektedir.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.AccountName;
import com.google.shopping.merchant.accounts.v1.AccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.AccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.DeleteAccountRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to delete a given Merchant Center account. */
public class DeleteAccountSample {
// This method can delete a standalone, advanced account or sub-account. If you delete an advanced
// account,
// all sub-accounts will also be deleted.
// Admin user access is required to execute this method.
public static void deleteAccount(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.
AccountsServiceSettings accountsServiceSettings =
AccountsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Gets the account ID from the config file.
String accountId = config.getAccountId().toString();
// Creates account name to identify the account.
String name =
AccountName.newBuilder()
.setAccount(accountId)
.build()
.toString();
// Calls the API and catches and prints any network failures/errors.
try (AccountsServiceClient accountsServiceClient =
AccountsServiceClient.create(accountsServiceSettings)) {
DeleteAccountRequest request =
DeleteAccountRequest.newBuilder()
.setName(name)
// Optional. If set to true, the account will be deleted even if it has offers or
// provides services to other accounts. Defaults to 'false'.
.setForce(true)
.build();
System.out.println("Sending Delete Account request");
accountsServiceClient.deleteAccount(request); // No response returned on success.
System.out.println("Delete successful.");
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
deleteAccount(config);
}
}
PHP
use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Client\AccountsServiceClient;
use Google\Shopping\Merchant\Accounts\V1\DeleteAccountRequest;
/**
* This class demonstrates how to delete a given Merchant Center account.
*/
class DeleteAccount
{
private static function getParent(string $accountId): string
{
return sprintf("accounts/%s", $accountId);
}
// This method can delete a standalone, advanced account or sub-account.
// If you delete an advanced account, all sub-accounts will also be deleted.
// Admin user access is required to execute this method.
public static function deleteAccount(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.
$accountsServiceClient = new AccountsServiceClient($options);
// Gets the account ID from the config file.
$accountId = $config['accountId'];
// Creates account name to identify the account.
$name = self::getParent($accountId);
// Calls the API and catches and prints any network failures/errors.
try {
$request = new DeleteAccountRequest([
'name' => $name,
// Optional. If set to true, the account will be deleted even if it has offers or
// provides services to other accounts. Defaults to 'false'.
'force' => true,
]);
print "Sending Delete Account request\n";
$accountsServiceClient->deleteAccount($request); // No response returned on success.
print "Delete successful.\n";
} catch (ApiException $e) {
print $e->getMessage();
}
}
public function callSample(): void
{
$config = Config::generateConfig();
self::deleteAccount($config);
}
}
$sample = new DeleteAccount();
$sample->callSample();
Python
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import AccountsServiceClient
from google.shopping.merchant_accounts_v1 import DeleteAccountRequest
_ACCOUNT = configuration.Configuration().read_merchant_info()
def get_parent(account_id):
return f"accounts/{account_id}"
def delete_account():
"""Deletes a given Merchant Center account."""
# Get OAuth credentials.
credentials = generate_user_credentials.main()
# Create a client.
client = AccountsServiceClient(credentials=credentials)
# Create the account name.
name = get_parent(_ACCOUNT)
# Create the request.
request = DeleteAccountRequest(name=name, force=True)
# Make the request and print the response.
try:
print("Sending Delete Account request")
client.delete_account(request=request)
print("Delete successful.")
except RuntimeError as e:
print(e)
if __name__ == "__main__":
delete_account()
cURL
curl -X DELETE \
"https://merchantapi.googleapis.com/accounts/v1/accounts/{SUB_ACCOUNT_ID}?force=true" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
Hizmet Şartları'nı kabul edin
Müşteri hesapları, üst gelişmiş hesabın imzaladığı Merchant Center Hizmet Şartları'nı (TOS) devralır.
İşletme bilgilerinizi güncelleme
Müşteri hesaplarınızın işletme bilgilerini düzenlemek için Merchant Accounts API'yi kullanabilirsiniz.
- Bir hesabın işletme bilgilerini görüntülemek için
accounts.getBusinessInfoişlevini çağırın.- Bir hesabın işletme bilgilerini düzenlemek için
accounts.updateBusinessInfonumaralı telefonu arayın.
- Bir hesabın işletme bilgilerini düzenlemek için