Các vấn đề về hiển thị và giải pháp cho người bán

Hướng dẫn này giải thích cách nhà phát triển ứng dụng bên thứ ba có thể sử dụng MerchantSupport để tạo trang chẩn đoán trong ứng dụng cho người bán.

Bạn có thể sử dụng dịch vụ này để tạo giao diện người dùng tương tự như tài khoản Merchant Center chẩn đoánsản phẩm .

Dịch vụ MerchantSupport chỉ dành cho giao diện người dùng của bên thứ ba. Yêu cầu phải là được kích hoạt khi người bán tương tác với giao diện người dùng của ứng dụng. Để tự động hoá cho tài khoản người bán của riêng bạn, hãy xem phần tài khoản trạng thái, sản phẩm trạng tháisản phẩm .

Bạn nên cung cấp các trang sau trong ứng dụng của mình để giúp người bán khắc phục sự cố:

  • Thông tin chẩn đoán về tài khoản
  • Thông tin chẩn đoán về sản phẩm

Các cách triển khai trang chẩn đoán

Bạn có thể triển khai trang chẩn đoán theo nhiều cách. Dựa trên nhu cầu của bạn, chọn tùy chọn xác định cách xử lý các thao tác chẩn đoán phức tạp. Trong yêu cầu, bạn có thể đặt user_input_action_option thành một trong các tùy chọn:

  • REDIRECT_TO_MERCHANT_CENTER: Đây là lựa chọn mặc định. Hành động yêu cầu hiển thị nội dung bổ sung hoặc nhận thông tin đầu vào bổ sung từ người bán chưa được triển khai đầy đủ trong ứng dụng của bạn. Đối với họ, API cung cấp để chuyển hướng đến trang tương ứng trong Merchant Center nơi người bán có thể thực hiện hành động.

  • BUILT_IN_USER_INPUT_ACTIONS: Bạn có thể triển khai các hành động phức tạp yêu cầu hoạt động đầu vào của người dùng làm giải pháp trong ứng dụng.

Triển khai trang chẩn đoán

Phần này đề cập đến cách triển khai trang chẩn đoán. Chiến dịch này sử dụng giá trị mặc định (đơn giản) để xử lý các hành động phức tạp dưới dạng chuyển hướng đến Merchant Center.

Để biết cách triển khai nâng cao hơn với hành động trong ứng dụng, hãy xem xét những nội dung sau rồi xem phần Triển khai hành động tích hợp sẵn bằng hoạt động đầu vào của người dùng.

Triển khai

Dưới đây là cách chúng tôi đề xuất luồng trang chẩn đoán của bạn nên như sau:

  1. Một người bán sẽ mở trang chẩn đoán trong ứng dụng của bạn.
  2. Ứng dụng của bạn yêu cầu thông tin chẩn đoán bằng cách gọi dịch vụ MerchantSupport.

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

    POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/merchantsupport/renderaccountissues?timeZone=America/Los_Angeles&languageCode=en-GB {}
    

    Thay thế {merchantId} bằng giá trị nhận dạng duy nhất của tài khoản mà bạn muốn kích hoạt quá trình xử lý hành động đó.

  3. Ứng dụng của bạn hiển thị thông tin chẩn đoán và hành động được đề xuất trong câu trả lời cho người bán. Dưới đây là phản hồi mẫu:

    {
      "issues": [
        {
          "title": "Misrepresentation",
          "impact": {
            "message": "Prevents all products from showing in all countries",
            "severity": "ERROR",
            "breakdowns": [
              {
                "regions": [
                  {
                    "code": "001",
                    "name": "All countries"
                  }
                ],
                "details": [
                  "Products not showing organically"
                ]
              }
            ]
          },
          "prerenderedContent": "\u003cdiv class=\"issue-detail\"\u003e\u003cdiv class=\"issue-content\"\u003e\u003cp class=\"content-element\"\u003e\u003cspan class=\"segment\"\u003eBased on the information available about your business, there is reason to believe that customers are being misled on Google. Review the Misrepresentation policy and make changes to your Merchant Center and/or online store.u003c/span\u003e\u003c/p\u003e\u003cp class=\"content-element root-causes-intro\"\u003e\u003cspan class=\"segment\"\u003eMake sure your Merchant Center and online store follow the following best practices / guidelines\u003c/span\u003e\u003c/p\u003e\u003cul class=\"content-element root-causes\"\u003e\u003cli\u003e\u003cp\u003e\u003cspan class=\"segment\"\u003eProvide transparency about your business identity, business model, policies and how your customers can interact with you\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cspan class=\"segment\"\u003ePromote your online reputation by showing reviews or highlighting any badges or seals of approval\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp class=\"tooltip tooltip-style-info\"\u003e\u003cspan class=\"segment\"\u003eUse a professional design for your online store that includes an SSL certificate\u003c/span\u003e\u003cspan class=\"tooltip-icon\"\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"tooltip-text\"\u003e\u003cspan class=\"segment\"\u003eMake sure it's accessible for all users without any redirects and doesn't have any placeholders for text and images.u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp class=\"tooltip tooltip-style-info\"\u003e\u003cspan class=\"segment\"\u003eProvide information in the business information settings in your Merchant Center\u003c/span\u003e\u003cspan class=\"tooltip-icon\"\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"tooltip-text\"\u003e\u003cspan class=\"segment\"\u003eLink any relevant third-party platforms to your Merchant Center and create a Google Business Profile.u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cspan class=\"segment\"\u003eFollow SEO guidelines, improve your eligibility for seller ratings and match your product data in your Merchant Center with your online store\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ca href=\"https://support.google.com/merchants/answer/6150127?hl=en-US\" class=\"content-element\"\u003eLearn more about the Misrepresentation policy\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e",
          "actions": [
            {
              "externalAction": {
                "type": "REVIEW_ACCOUNT_ISSUE_IN_MERCHANT_CENTER",
                "uri": "https://merchants.google.com/mc/products/diagnostics/accountissues?a=672911686&hl=en-US"
              },
              "buttonLabel": "Request review",
              "isAvailable": true
            }
          ]
        },
        {
          "title": "Adult-oriented content",
          "impact": {
            "message": "Prevents all products from showing in all countries",
            "severity": "ERROR",
            "breakdowns": [
              {
                "regions": [
                  {
                    "code": "001",
                    "name": "All countries"
                  }
                ],
                "details": [
                  "Products not showing organically"
                ]
              }
            ]
          },
          "prerenderedContent": "\u003cdiv class=\"issue-detail\"\u003e\u003cdiv class=\"callout-banners\"\u003e\u003cdiv class=\"callout-banner callout-banner-info\"\u003e\u003cp\u003e\u003cspan class=\"segment\"\u003eReview requested on Aug 9, 2023. It can take a few days to complete.u003c/span\u003e\u003c/p\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"issue-content\"\u003e\u003cp class=\"content-element\"\u003e\u003cspan class=\"segment\"\u003eThere was a problem identified with the sale of prohibited adult products on your online store. In the case that you are intentionally selling adult items, enable Adult content in Settings in your Merchant Center. In your product file, use the \u003c/span\u003e\u003cspan class=\"segment segment-attribute\"\u003eadult\u003c/span\u003e\u003cspan class=\"segment\"\u003e attribute for specific products.u003c/span\u003e\u003c/p\u003e\u003cp class=\"content-element root-causes-intro\"\u003e\u003cspan class=\"segment\"\u003eMake sure the products meet the policy requirements\u003c/span\u003e\u003c/p\u003e\u003cul class=\"content-element root-causes\"\u003e\u003cli\u003e\u003cp class=\"tooltip tooltip-style-info\"\u003e\u003cspan class=\"segment\"\u003eAdult oriented content may be prohibited or restricted depending on the product sold and the country it is sold\u003c/span\u003e\u003cspan class=\"tooltip-icon\"\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"tooltip-text\"\u003e\u003cspan class=\"segment\"\u003eSee a full list of countries in the HelpCenter\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp class=\"tooltip tooltip-style-info\"\u003e\u003cspan class=\"segment\"\u003eDon't list sexually explicit content that is intended to arouse or includes content such as text, image, audio, or video of graphic sexual acts intended to arouse\u003c/span\u003e\u003cspan class=\"tooltip-icon\"\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"tooltip-text\"\u003e\u003cspan class=\"segment\"\u003eExamples: Graphic depictions of sexual acts in progress, including hardcore pornography, any type of genital, anal, or oral sexual activity; graphic depictions of masturbation or genital arousal and language explicitly referencing arousal, masturbation, cartoon porn, or hentai\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ca href=\"https://support.google.com/merchants/answer/6150138?hl=en-US#wycd-restricted-adult-content\" class=\"content-element\"\u003eLearn more about the Adult-oriented content policy\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e"
        },
        {
          "title": "Missing return and refund policy",
          "impact": {
            "message": "Limits visibility of all products in all countries",
            "severity": "ERROR",
            "breakdowns": [
              {
                "regions": [
                  {
                    "code": "001",
                    "name": "All countries"
                  }
                ],
                "details": [
                  "Limited visibility for products showing organically"
                ]
              }
            ]
          },
          "prerenderedContent": "\u003cdiv class=\"issue-detail\"\u003e\u003cdiv class=\"issue-content\"\u003e\u003cp class=\"content-element\"\u003e\u003cspan class=\"segment\"\u003eThere was a problem identified with the return and/or refund policy of your online store. Update your return or refund policy to provide customers a transparent shopping experience.u003c/span\u003e\u003c/p\u003e\u003cp class=\"content-element root-causes-intro\"\u003e\u003cspan class=\"segment\"\u003eMake sure your products meet the Shopping policy requirements\u003c/span\u003e\u003c/p\u003e\u003cul class=\"content-element root-causes\"\u003e\u003cli\u003e\u003cp class=\"tooltip tooltip-style-info\"\u003e\u003cspan class=\"segment\"\u003eIt's available on your online store\u003c/span\u003e\u003cspan class=\"tooltip-icon\"\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"tooltip-text\"\u003e\u003cspan class=\"segment\"\u003eWe recommend that you have a separate landing page for your policy and link to it from the other pages on your online store, so that it's easy to find.u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp class=\"tooltip tooltip-style-info\"\u003e\u003cspan class=\"segment\"\u003eIt's available in the language of the country you're selling in or in English\u003c/span\u003e\u003cspan class=\"tooltip-icon\"\u003e\u003cbr\u003e\u003c/span\u003e\u003cspan class=\"tooltip-text\"\u003e\u003cspan class=\"segment\"\u003eMake sure that the return and/or refund policy is available in the target language or in English. Ideally, users should be given the option to select the return and/or refund policy in their own language.u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cspan class=\"segment\"\u003eIt's accessible to everyone visiting your online store, without having to log in, sign up or enter any personal information\u003c/span\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ca href=\"https://support.google.com/merchants/answer/9158778?hl=en-US\" class=\"content-element\"\u003eLearn more about Missing return and refund policy\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e",
          "actions": [
            {
              "externalAction": {
                "type": "REVIEW_ACCOUNT_ISSUE_IN_MERCHANT_CENTER",
                "uri": "https://merchants.google.com/mc/products/diagnostics/accountissues?a=672911686&hl=en-US"
              },
             "buttonLabel": "Request review",
             "isAvailable": true
            }
          ]
        }
      ],
      "alternateDisputeResolution": {
        "uri": "https://support.google.com/european-union-digital-services-act-redress-options?hl=en-US",
        "label": "Additional options available to you"
      }
    }
    

    Bạn nên trình bày các vấn đề theo thứ tự trả lại hàng, trong đó titleimpact.message. Bạn cũng nên hiển thị impact.breakdowns của vấn đề khi người bán di chuột lên vấn đề tiêu đề hoặc mô tả.

  4. Người bán nhấp vào một vấn đề trong danh sách.

  5. Ứng dụng của bạn hiển thị impact chi tiết của từng vấn đề trên mỗi country, destination, prerendered_content và các nút cho actions mà người bán có thể thực hiện để giải quyết vấn đề. Có các loại hành động khác nhau:

    1. Hành động bên ngoài: Trỏ vào trang bên ngoài, ví dụ: trong Merchant Center để người bán có thể giải quyết vấn đề.
    2. Thao tác đơn giản được tích hợp sẵn: Trỏ tới trang trong ứng dụng của bạn để người bán có thể giải quyết vấn đề.
    3. Hành động do người dùng nhập tích hợp sẵn: Mở hộp thoại để người bán có thể hãy cung cấp thông tin bắt buộc và yêu cầu hành động. Loại chỉ có thể thực hiện hành động nếu BUILT_IN_USER_INPUT_ACTIONS được đã yêu cầu.
  6. Người bán làm theo hướng dẫn để giải quyết vấn đề.

  7. Người bán sẽ tải lại trang chẩn đoán trong ứng dụng của bạn.

  8. Ứng dụng của bạn gửi một yêu cầu khác đến dịch vụ MerchantSupport, và cho thấy danh sách vấn đề mới cập nhật.

Bạn có thể so sánh thông tin mà ứng dụng đã hoàn thiện hiển thị với các trang chẩn đoán trong Merchant Center Center để xác minh trong quá trình triển khai.

Giao diện người dùng mô phỏng

Dưới đây là ví dụ về cách bạn có thể hiển thị thông tin từ renderaccountissues phản hồi trên trang chẩn đoán tài khoản. Đối tượng trong Giao diện người dùng được ánh xạ đến các trường API tương ứng trong mô hình. Bạn có thể tạo một cho các vấn đề về sản phẩm.

hình ảnh

Dưới đây là giao diện của trang chẩn đoán tài khoản được điền sẵn:

hình ảnh

Kiểu HTML được kết xuất trước

Phản hồi từ việc gọi dịch vụ MerchantSupport bao gồm Trường prerendered_content, thông tin chi tiết về từng vấn đề trong HTML. Bạn có thể nhúng trực tiếp nội dung HTML này vào giao diện người dùng để hiển thị vấn đề một cách dễ đọc .

Bạn có thể thấy các phần tử HTML có lớp new-element. new-element được áp dụng cho các phần tử được thêm vào HTML sau khi bạn đã tích hợp bằng dịch vụ MerchantSupport. Bạn nên ẩn các phần tử bằng lớp này new-element để bạn có thể tạo kiểu cho các phần tử này trước khi chúng được hiển thị trong ứng dụng của bạn.

Dưới đây là ví dụ về giá trị của trường prerendered_content:

<div class="issue-detail">
  <div class="callout-banners">
    <div class="callout-banner callout-banner-info"><p><span class="segment">Review requested on Aug 9, 2023. It can take a few days to complete.</span>
    </p></div>
  </div>
  <div class="issue-content"><p class="content-element"><span class="segment">There was a problem identified with the sale of prohibited adult products on your online store. In the case that you are intentionally selling adult items, enable Adult content in Settings in your Merchant Center. In your product file, use the </span><span
      class="segment segment-attribute">adult</span><span class="segment"> attribute for specific products.</span>
  </p>
    <p class="content-element root-causes-intro"><span class="segment">Make sure the products meet the policy requirements</span>
    </p>
    <ul class="content-element root-causes">
      <li><p class="tooltip tooltip-style-info"><span class="segment">Adult oriented content may be prohibited or restricted depending on the product sold and the country it is sold</span><span
          class="tooltip-icon"><br></span><span class="tooltip-text"><span class="segment">See a full list of countries in the HelpCenter</span></span>
      </p></li>
      <li><p class="tooltip tooltip-style-info"><span class="segment">Don't list sexually explicit content that is intended to arouse or includes content such as text, image, audio, or video of graphic sexual acts intended to arouse</span><span
          class="tooltip-icon"><br></span><span class="tooltip-text"><span class="segment">Examples: Graphic depictions of sexual acts in progress, including hardcore pornography, any type of genital, anal, or oral sexual activity; graphic depictions of masturbation or genital arousal and language explicitly referencing arousal, masturbation, cartoon porn, or hentai</span></span>
      </p></li>
    </ul>
    <a href="https://support.google.com/merchants/answer/6150138?hl=en-US#wycd-restricted-adult-content"
       class="content-element">Learn more about the Adult-oriented content policy</a></div>
</div>

Giao diện của bạn sẽ hiển thị nếu bạn nhúng đoạn HTML trước đó prerendered_content trong ứng dụng mà không cần tạo kiểu nào:

hình ảnh

Bạn có thể sử dụng nhiều lớp CSS để điều chỉnh cách nội dung hiển thị trong giao diện người dùng. Dưới đây là mẫu CSS mà bạn có thể sử dụng:

issue-detail {
  text-align: left;
  width: 700px;
  border-radius: 8px;
  background: white;
  margin: 16px;
  padding: 16px;
}

.content-element {
  margin: 8px 0 8px 0;
  display: block;
}

/* callout banners */
.callout-banners {
  margin: 0 0 16px 0;
}

.callout-banner {
  display: block;
  padding: 16px 16px 6px 16px;
  margin: 0 0 8px 0;
  border-radius: 8px;
}

.callout-banner-info {
  background: #e8f0fe;
}

.callout-banner-warning {
  background: #fef7e0;
}

.callout-banner-error {
  background: #fce8e6;
}

/* add an icon to the callout banner */
.callout-banner p {
  background-repeat: no-repeat;
  padding-left: 32px;
}

.callout-banner-error p {
  background-image: url("https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/error/default/20px.svg");
}

.callout-banner-warning p {
  background-image: url("https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/warning/default/20px.svg");
}

.callout-banner-info p {
  background-image: url("https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/search/default/20px.svg");
}

/* segments with style */
.segment-attribute {
  color: #198639;
  font-family: monospace, monospace;
}

.segment-bold {
  font-weight: bold;
}

.segment-italic {
  font-style: italic;
}

/* tooltip */
.tooltip {
  position: relative;
}

.tooltip-style-info .tooltip-icon:before {
  content: '(i)';
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  margin-left: 5px;
}

.tooltip-style-question .tooltip-icon:before {
  content: '(?)';
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  margin-left: 5px;
}

.tooltip .tooltip-text {
  visibility: hidden;
  text-align: left;
  background: white;
  border-radius: 8px;
  padding: 5px 0;
  border: 1px solid;
  padding: 10px;
  box-shadow: 3px 7px 12px #c1c1c1;
  position: absolute;
  z-index: 1;
}

.tooltip:hover .tooltip-text {
  visibility: visible;
}

/* table */
table.content-element {
  margin: 16px 0 16px 0;
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 1em 0;
}

table.content-element th {
  background-color: #eee;
}

table.content-element th, table td {
  border: 1px solid #ddd;
  font-size: 0.9em;
  padding: 0.3em 1em;
}

/* hidde elements added in future, until they are supported in your application */
.new-element {
  visibility: hidden;
}

Dưới đây là giao diện của nội dung được hiển thị nếu bạn sử dụng CSS trước đó:

hình ảnh

Bạn cũng có thể định cấu hình và hiển thị chú thích thông qua CSS:

hình ảnh

Triển khai hành động tích hợp sẵn với hoạt động đầu vào của người dùng

Hành động tích hợp với hoạt động đầu vào của người dùng cho phép bạn cung cấp thông tin chẩn đoán phức tạp như một giải pháp trong ứng dụng trong ứng dụng của bạn. Bạn nên triển khai đó là một hộp thoại để người bán có thể đưa ra thông tin, đọc thêm thông tin và xác nhận yêu cầu.

Mỗi thao tác chứa một hoặc nhiều luồng thao tác. Đối với một số hành động, có thể có nhiều hơn một luồng. Ví dụ: có thể có một luồng khác khi người bán yêu cầu xem xét thêm vì họ không đồng ý với quyết định và một quy trình khác khi họ đã khắc phục vấn đề.

Để yêu cầu dữ liệu nhằm triển khai các thao tác phức tạp dựa trên hoạt động đầu vào của người dùng, bạn phải đặt trường user_input_action_option thành giá trị BUILT_IN_USER_INPUT_ACTIONS.

POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/merchantsupport/renderaccountissues

{
  "user_input_action_option": "BUILT_IN_USER_INPUT_ACTIONS"
}

Thay thế {merchantId} bằng giá trị nhận dạng duy nhất của tài khoản mà bạn muốn kích hoạt quá trình xử lý hành động đó.

Triển khai

Dưới đây là cách chúng tôi đề xuất quy trình của trang chẩn đoán yêu cầu người dùng dữ liệu đầu vào sẽ có dạng như sau:

  1. Người bán nhấp vào nút hành động.

    • Nếu có nhiều luồng, ứng dụng sẽ cung cấp tất cả các luồng để người bán có thể chọn một tùy chọn dựa trên ý định của họ.
    • Người bán chọn quy trình.
  2. Ứng dụng của bạn hiển thị tiêu đề, thông báo, chú thích và biểu mẫu nhập của người dùng cho luồng hành động đã chọn. Bạn nên trình bày những thông tin này trong .

    • Chú thích (nếu có) chứa thông tin quan trọng nhằm mục đích trợ giúp để hiểu rõ hơn về cách hoạt động của hành động và việc cần làm thành công. Bạn nên làm nổi bật và tạo kiểu cho thông báo này theo mức độ nghiêm trọng của chú thích.
    • Nếu có bất kỳ trường nhập dữ liệu nào trong luồng, các trường đó cần được hiển thị để người bán có thể cung cấp các giá trị. Nếu trường nhập dữ liệu được đánh dấu là bắt buộc, thì ứng dụng của bạn sẽ không cho phép người bán gửi yêu cầu trước khi họ cung cấp giá trị.
  3. Người bán đọc thông tin và cung cấp các giá trị được yêu cầu.

  4. Người bán sẽ xác nhận yêu cầu của họ bằng cách nhấp vào nút.

  5. Ứng dụng của bạn kích hoạt quá trình xử lý hành động đó bằng cách gọi phương thức Dịch vụ MerchantSupport. Dưới đây là yêu cầu mẫu:

    POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/merchantsupport/triggeraction
    
    {
      actionContext: "ActionContextValue=",
      actionInput: { actionFlowId: "flow1",
      inputValues: [
      { input_field_id: "input1", checkbox_input_value: { value: true } }
      ]
    }
    

    Thay thế {merchantId} bằng giá trị nhận dạng duy nhất của tài khoản mà bạn muốn kích hoạt quá trình xử lý hành động đó.

    Để truy cập vào phương thức triggeraction cho BuiltInUserInputAction, hãy gửi một yêu cầu bằng công cụ này biểu mẫu.

  6. Ứng dụng của bạn hiện thông báo xác nhận được MerchantSupport trả về .

    • Nếu dịch vụ trả về lỗi xác thực với INVALID_ARGUMENT trạng thái, chứa thông tin chi tiết và thông báo lỗi đã bản địa hoá sẽ hiển thị cho người bán. Bạn nên hiển thị lỗi như vậy gần trường nhập dữ liệu bị ảnh hưởng. Sau đây là ví dụ của một câu trả lời mẫu:
    {
      "error":
        {
          "code": 400,
          "message": "[actionInput.inputValues] Invalid user input",
          "status": "INVALID_ARGUMENT",
          "details": [
          {
            "@type": "type.googleapis.com/google.rpc.ErrorInfo",
            "reason": "invalid",
            "domain": "global"
          },
          {
            "@type": "type.googleapis.com/google.rpc.BadRequest",
            "fieldViolations": [
              {
                "field": "actionInput.inputValues.input",
                "description": "The field is required"
              }
            ]
          }
        ]
      }
    }
    
    • Nếu dịch vụ trả về trạng thái không hợp lệ hoặc lỗi nội bộ, được biểu thị bằng Trạng thái FAILED_PRECONDITIONINTERNAL, ứng dụng phải hướng dẫn người bán để tải lại trang hoặc thử sau.