مرور فروشندگان بااستفاده از «میانای برنامه‌سازی کاربردی بازرگان»

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

این صفحه توضیح می‌دهد که چگونه می‌توانید مرورهای فروشنده را بااستفاده از Merchant API مدیریت کنید.

پیش‌نیازها

‫Google از شما می‌خواهد اطلاعات خاصی را ارائه دهید. باید موارد زیر را داشته باشید:

  • منبع داده مرور فروشنده فعال در Google Merchant Center.
  • حساب شما باید در برنامه رده‌بندی‌های فروشگاه ثبت شده باشد. اگر مطمئن نیستید که قبلاً ثبت‌نام کرده‌اید یا نه، Merchant Center را بررسی کنید. اگر ثبت‌نام نکرده‌اید، فرم درخواست را ارسال کنید.

ایجاد منبع داده

از روش accounts.dataSources.create برای ایجاد منبع داده مرورهای فروشنده استفاده کنید. اگر منبع داده مرورهای فروشنده موجود دردسترس است، از accounts.dataSources.list برای واکشی فیلد accounts.dataSources.name استفاده کنید.

برای ارجاع مستقیم به آن‌ها در فراخوانی‌های آتی API، توصیه می‌کنیم accounts.dataSources.name را برای منابع داده‌ای که در پایگاه داده محلی‌تان برای مرور فروشنده ایجاد می‌کنید ذخیره کنید. برای منابع داده موجودتان، یک‌بار پشتیبان‌گیری از پایگاه داده محلی‌تان با نام آن‌ها انجام دهید.

شکل درخواست به شرح زیر است:

POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}

مثال

این مثال یک درخواست و پاسخ معمولی را نشان می‌دهد.

درخواست

POST https://merchantapi.googleapis.com/datasources/v1/accounts/123/dataSources {"displayName": "test api data source", "merchantReviewDataSource":{} }

پاسخ

{
  "name": "accounts/123/dataSources/1000000573361824",
  "dataSourceId": "1000000573361824",
  "displayName": "test api data source",
  "merchantReviewDataSource": {},
  "input": "API"
}

برای اطلاعات بیشتر، ایجاد منبع داده بررسی محصول را ببینید.

ایجاد مرور فروشنده

می‌توانید از روش accounts.merchantReviews.insert برای ایجاد یا به‌روزرسانی مرور فروشنده استفاده کنید. روش accounts.merchantReviews.insert منبع merchantreview و نام منبع داده را به‌عنوان ورودی می‌گیرد. درصورت موفقیت، مرور بازرگان جدید یا به‌روزشده را برمی‌گرداند. برای ایجاد مرور فروشنده باید accounts.dataSources.name.

شکل درخواست:

POST https://merchantapi.googleapis.com/reviews/v1alpha/{parent=accounts/*/}merchantReviews:insert

مرور فروشنده نمونه زیر را برای مرجع مطالعه کنید.

POST https://merchantapi.googleapis.com/reviews/v1alpha/accounts/{ACCOUNT_ID}/merchantReviews:insert?dataSource=accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}

  merchantReviewId = 'my_own_review'
  merchantReviewAttributes {
    merchantId = 'merchant_id'
    merchantDisplayName = 'merchant_display_name'
    merchantLink = 'publisher_name'
    merchantRatingLink = 'https://www.google.com'
    minRating = 1
    maxRating = 10
    rating = 7.9
    title = 'Amazing Merchant'
    content = 'This is an incredible merchant'
    reviewerId = 'reviewer_id'
    reviewerUsername = 'reviewer_username'
    isAnonymous = false
    collectionMethod = 'AFTER_FULFILLMENT'
    reviewTime = '2024-04-01T00:00:00Z'
    reviewLanguage = 'en'
    reviewCountry = 'US'
  }

پس‌از ایجاد مرور فروشنده، ممکن است چند دقیقه طول بکشد تا مرور منتشر شود.

مشاهده مرورهای فروشنده

برای مشاهده مرور فروشنده، از accounts.merchantReviews.get استفاده کنید. این فقط خواندنی است. این کار به merchantId شما و شناسه مرور فروشنده به‌عنوان بخشی از فیلد نام نیاز دارد. روش get منبع مرور فروشنده مربوطه را برمی‌گرداند.

برای مثال:

GET https://merchantapi.googleapis.com/reviews/v1alpha/{name=accounts/*/merchantReviews/*}

برای بازیابی یک محصول واحد برای یک حساب Merchant Center معین، می‌توانید از روش google.shopping.merchant.accounts.v1.GetProductRequest استفاده کنید، همان‌طور که در نمونه زیر نشان داده شده است.

جاوا


import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.common.io.BaseEncoding;
import com.google.shopping.merchant.products.v1.GetProductRequest;
import com.google.shopping.merchant.products.v1.Product;
import com.google.shopping.merchant.products.v1.ProductsServiceClient;
import com.google.shopping.merchant.products.v1.ProductsServiceSettings;
import java.nio.charset.StandardCharsets;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/** This class demonstrates how to get a single product for a given Merchant Center account */
public class GetProductSample {

  // Base64Url encoder/decoder without padding
  private static final BaseEncoding BASE64URL_NOPADDING = BaseEncoding.base64Url().omitPadding();

  // Encodes a string to base64url without padding
  public static String encodeProductId(String productId) {
    return BASE64URL_NOPADDING.encode(productId.getBytes(StandardCharsets.UTF_8));
  }

  public static Product getProduct(Config config, String accountId, String productId)
      throws Exception {

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

    // Creates service settings using the credentials retrieved above.
    ProductsServiceSettings productsServiceSettings =
        ProductsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    try (ProductsServiceClient productsServiceClient =
        ProductsServiceClient.create(productsServiceSettings)) {

      // The name has the format: accounts/{account}/products/{productId}
      String name = "accounts/" + accountId + "/products/" + productId;

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

      System.out.println("Sending get product request:");
      Product response = productsServiceClient.getProduct(request);

      System.out.println("Retrieved Product below");
      System.out.println(response);
      return response;
    }
  }

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

    // The name of the `product`, returned after a `Product.insert` request. We recommend
    // having stored this value in your database to use for all future requests.
    String productId = "en~GB~sku123"; // Replace with your actual product ID

    // Uncomment the following line if the product name contains special characters (such as forward
    // slashes) and needs base64url encoding.
    // productId = encodeProductId(productId);

    getProduct(config, accountId, productId);
  }
}

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

برای مشاهده همه مرورهای ساخته‌شده فروشنده می‌توانید از روش accounts.merchantReviews.list استفاده کنید.

GET https://merchantapi.googleapis.com/reviews/v1alpha/accounts/{ACCOUNT_ID}/merchantReviews

حذف مرورهای فروشنده

برای حذف مرور فروشنده، از accounts.merchantReviews.delete استفاده کنید. مشابه روش accounts.merchantReviews.get، این روش به فیلد نام مرور فروشنده که درطول ایجاد برگردانده می‌شود نیاز دارد.

برای مثال:

DELETE https://merchantapi.googleapis.com/reviews/v1alpha/{name=accounts/*/merchantReviews/*}

وضعیت مرور فروشنده

منبع مرور فروشنده حاوی وضعیتی مشابه با دیگر واسط‌های برنامه‌سازی کاربردی است که بخش جدایی‌ناپذیر منبع است و از همان ساختار مسئله و مقصد پیروی می‌کند.