یک نمایه کسب و کار Google را پیوند دهید

یک گروه تجاری Google مانند یک پوشه مشترک برای مکان های شما است. یک گروه تجاری راهی امن برای اشتراک‌گذاری مدیریت مکان‌های شما با چندین کاربر فراهم می‌کند. برای اطلاعات بیشتر، درباره گروه‌های تجاری را ببینید.

قبل از آپلود موجودی محلی خود، گروه تجاری که حساب Merchant Center شما مسئول آن خواهد بود را مشخص کنید. با استفاده از Merchant API می‌توانید فهرست گروه‌های تجاری واجد شرایط را از نمایه کسب‌وکار دریافت کنید، اما برای دسترسی، ابتدا باید حساب خود را به نمایه کسب‌وکار مرتبط کنید.

درخواست دسترسی به نمایه کسب و کار

برای دسترسی به نمایه کسب و کار، از روش gbpAccounts.LinkGbpAccount استفاده کنید:

POST https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/gbpAccounts:linkGbpAccount

{
  "gbpEmail": "admin@example.com",
}

موارد زیر را جایگزین کنید:

  • ACCOUNT_ID : شناسه منحصر به فرد حساب Merchant Center شما
  • GBP_EMAIL : ایمیل مدیر نمایه کسب و کار

پس از فراخوانی این روش، سرویس یک ایمیل به مدیر مشخص شده ارسال می کند و از آن می خواهد که درخواست دسترسی را بپذیرد یا رد کند. اگر مدیر ظرف 7 روز پاسخ ندهد، درخواست به طور خودکار منقضی می شود.

گروه های تجاری موجود را فهرست کنید

هنگامی که سرپرست درخواست را تأیید کرد، می‌توانید گروه‌های تجاری موجود را با استفاده از روش gbpAccounts.List بررسی کنید.

در اینجا یک نمونه درخواست و پاسخ موفقیت آمیز آمده است:

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

Response:
200 OK
{
  "gbpAccounts": [
    {
      "name": "accounts/<var>ACCOUNT</var>/gbpAccounts/12345",
      "gbpAccountId": 12345,
      "type": USER,
      "gbpAccountName": "admin@example.com",
      "listingCount": 15
    }, {
      "name": "accounts/<var>ACCOUNT</var>/gbpAccounts/67890",
      "gbpAccountId": 67890,
      "type": BUSINESS_ACCOUNT,
      "gbpAccountName": "Google My Business Account",
      "listingCount": 23
    }
  ],
  "nextPageToken": 50
}

می توانید از این نمونه کد برای بازیابی همه گروه های تجاری واجد شرایط استفاده کنید:

package shopping.merchant.samples.accounts.v1;

// [START merchantapi_list_gbp_accounts]
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.GbpAccount;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceClient;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceClient.ListGbpAccountsPagedResponse;
import com.google.shopping.merchant.accounts.v1.GbpAccountsServiceSettings;
import com.google.shopping.merchant.accounts.v1.ListGbpAccountsRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/**
 *   This class demonstrates how to get the list of GBP accounts for a given Merchant Center account
 */
public class ListGbpAccountsSample {

  public static void listGbpAccounts(Config config) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the retrieved credentials.
    GbpAccountsServiceSettings gbpAccountsServiceSettings =
        GbpAccountsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    String accountId = config.getAccountId().toString();
    // Creates parent to identify the omnichannelSetting from which to list all Lfp Providers.
    String parent = AccountName.newBuilder().setAccount(accountId).build().toString();

    // Calls the API and catches and prints any network failures/errors.
    try (GbpAccountsServiceClient gbpAccountsServiceClient =
        GbpAccountsServiceClient.create(gbpAccountsServiceSettings)) {
      ListGbpAccountsRequest request =
          ListGbpAccountsRequest.newBuilder().setParent(parent).build();

      System.out.println("Sending list GBP accounts request:");
      ListGbpAccountsPagedResponse response = gbpAccountsServiceClient.listGbpAccounts(request);

      int count = 0;

      // Iterates over all the entries in the response.
      for (GbpAccount gbpAccount : response.iterateAll()) {
        System.out.println(gbpAccount);
        count++;
      }
      System.out.println(String.format("The following count of elements were returned: %d", count));
    } catch (Exception e) {
      System.out.println("An error has occurred: ");
      System.out.println(e);
    }
  }

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

    listGbpAccounts(config);
  }
}
// [END merchantapi_list_gbp_accounts]

گروه تجاری را برای حساب Merchant Center مشخص کنید

فهرست گروه‌های تجاری موجود، می‌توانید گروه تجاری را با حساب Merchant Center خود مرتبط کنید. برای مثال، اگر می‌خواهید گروه تجاری را با شناسه حساب GBP 12345 (برگردانده شده از مرحله قبل) انتخاب کنید، می‌توانید از AccountServices.proposeAccountService استفاده کنید:

POST
https://merchantapi.googleapis.com/accounts/v1/accounts/<var>ACCOUNT_ID</var>/services:propose
{
  provider: "providers/GOOGLE_BUSINESS_PROFILE",
  account_service: {
    external_account_id: "12345",
    local_listing_management {}
  }
}

توجه داشته باشید که قسمت provider باید providers/GOOGLE_BUSINESS_PROFILE باشد. باید یک فیلد LocalListingManagement خالی در درخواست تنظیم کنید.

اطلاعات محصول و موجودی را ارسال کنید

اکنون که حساب Merchant Center خود را با یک گروه تجاری مرتبط کرده اید، می توانید اطلاعات محصول و موجودی محلی خود را آپلود کنید. برای اطلاعات بیشتر، نگاه کنید