קישור פרופיל העסק ב-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 לקבוצת מיקומים שרלוונטיים לעסק, תוכלו להעלות את נתוני המוצרים ואת נתוני המלאי בחנויות המקומיות. למידע נוסף, ראה