نمایش مسائل و راه حل ها برای مشاغل

این صفحه توضیح می‌دهد که چگونه توسعه‌دهندگان برنامه‌های شخص ثالث می‌توانند از سرویس حل مشکل برای ایجاد یک صفحه تشخیص عیب درون‌برنامه‌ای برای کسب‌وکار خود استفاده کنند.

شما می‌توانید از API حساب‌ها برای مشاهده مشکلاتی که بر حساب کاربری تجاری شما و هر حسابی که به آن دسترسی دارید، تأثیر می‌گذارند، استفاده کنید.

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

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

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

توصیه می‌کنیم صفحات زیر را در برنامه خود ارائه دهید تا به عیب‌یابی کسب‌وکارتان کمک کند:

  • تشخیص حساب
  • تشخیص محصول

گزینه‌های مختلف برای پیاده‌سازی یک صفحه تشخیص

شما می‌توانید صفحه تشخیص را به روش‌های مختلفی پیاده‌سازی کنید. بر اساس نیاز خود، گزینه‌ای را انتخاب کنید که میزان پیچیدگی اقدامات تشخیصی را تعیین می‌کند. در درخواست می‌توانید user_input_action_option را روی یکی از گزینه‌های زیر تنظیم کنید:

  • REDIRECT_TO_MERCHANT_CENTER : این گزینه پیش‌فرض است. اقداماتی که نیاز به نمایش محتوای اضافی یا دریافت ورودی اضافی از کسب‌وکار دارند، به‌طور کامل در برنامه شما پیاده‌سازی نشده‌اند. برای آنها، API پیوندی برای هدایت به صفحه مربوطه در مرکز فروشندگان فراهم می‌کند که کسب‌وکار می‌تواند در آنجا اقدام را انجام دهد.

  • BUILT_IN_USER_INPUT_ACTIONS : شما می‌توانید اقدامات پیچیده‌ای را که نیاز به ورودی کاربر دارند، به عنوان یک راه‌حل درون‌برنامه‌ای در برنامه خود پیاده‌سازی کنید.

پیاده‌سازی یک صفحه تشخیص

این بخش نحوه پیاده‌سازی صفحه تشخیص عیب را پوشش می‌دهد. این صفحه از گزینه پیش‌فرض (ساده) برای مدیریت اقدامات پیچیده به عنوان هدایت به مرکز فروشندگان استفاده می‌کند.

برای پیاده‌سازی پیشرفته‌تر با اقدامات درون‌برنامه‌ای، بخش‌های زیر را مرور کنید و به بخش «پیاده‌سازی اقدام داخلی با ورودی کاربر» مراجعه کنید.

پیاده‌سازی

پیشنهاد می‌کنیم روند صفحه تشخیص عیب شما به این شکل باشد:

  • یک کسب‌وکار، صفحه‌ای برای تشخیص مشکلات در برنامه شما باز می‌کند.
  • برنامه شما با تماس با سرویس issueresolution درخواست عیب‌یابی می‌کند.

در اینجا یک نمونه درخواست آمده است:

POST  https://merchantapi.googleapis.com/issueresolution/v1/accounts/{ACCOUNT_ID}:renderaccountissues?timeZone=America/Los_Angeles&languageCode=en-GB { }

به جای {ACCOUNT_ID} ، شناسه منحصر به فرد حسابی را که می‌خواهید پردازش عملیات برای آن آغاز شود، قرار دهید.

  • برنامه شما، تشخیص‌ها و اقدامات پیشنهادی را از پاسخ به کسب‌وکار نمایش می‌دهد. در اینجا یک نمونه پاسخ آمده است:

    {
      "renderedIssues": [
        {
          "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
            }
          ],
          "prerenderedOutOfCourtDisputeSettlement": "\u003cdetails class=\"ods-section\"\u003e\u003csummary\u003eShow additional options available to you\u003c/summary\u003e\u003cp class=\"ods-description\"\u003e\u003cspan class=\"segment\"\u003eYou may have the option to request an external appeal. You'll also be asked to provide your routing and reference IDs.\u003c/span\u003e \u003ca href=\"https://support.google.com/european-union-digital-services-act-redress-options?hl=en-GB\" target=\"_blank\" class=\"segment\"\u003eLearn more about external appeals\u003c/a\u003e\u003c/p\u003e\u003cp class=\"ods-param ods-routing-id\"\u003e\u003cspan class=\"segment ods-param-header\"\u003eRouting ID:\u003c/span\u003e \u003cspan class=\"segment ods-param-value\"\u003eRDAX\u003c/span\u003e\u003c/p\u003e\u003cp class=\"ods-param ods-reference-id\"\u003e\u003cspan class=\"segment ods-param-header\"\u003eReference ID:\u003c/span\u003e \u003cspan class=\"segment ods-param-value\"\u003e672911686\u003c/span\u003e\u003c/p\u003e\u003c/details\u003e"
        },
        {
          "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
            }
          ]
        }
      ]
    }
    
  • توصیه می‌کنیم مشکلات را به ترتیبی که برگردانده می‌شوند، با title و impact.message نمایش دهید. همچنین توصیه می‌کنیم وقتی کسب‌وکار نشانگر ماوس را روی عنوان یا توضیحات مشکل نگه می‌دارد، impact.breakdowns مشکل را نمایش دهید.

  • کسب‌وکار روی یک مشکل از لیست کلیک می‌کند.

  • برنامه شما impact دقیق هر مشکل را بر اساس country ، destination ، prerendered_content ، prerendered_out_of_court_dispute_settlement و دکمه‌هایی برای actions کسب‌وکار می‌تواند برای حل مشکل انجام دهد، نمایش می‌دهد. انواع مختلفی از اقدامات وجود دارد:

    1. اقدامات خارجی : به صفحه خارجی، مثلاً در مرکز فروشندگان، اشاره کنید، جایی که کسب‌وکار می‌تواند مشکل را حل کند.
    2. اقدامات ساده داخلی : به صفحه‌ای در برنامه خود اشاره کنید که کسب‌وکار می‌تواند مشکل را در آن حل کند.
    3. اقدامات ورودی کاربر داخلی : کادر محاوره‌ای را باز کنید که در آن کسب‌وکار بتواند اطلاعات مورد نیاز را ارائه دهد و درخواست اقدام کند. این نوع اقدام فقط در صورتی در دسترس است که BUILT_IN_USER_INPUT_ACTIONS درخواست شده باشد.
  1. کسب و کار دستورالعمل‌ها را برای حل مشکل دنبال می‌کند.
  2. کسب‌وکار صفحه تشخیص عیب را در برنامه شما مجدداً بارگذاری می‌کند.
  3. برنامه شما درخواست دیگری را به سرویس IssueResolution ارسال می‌کند و لیست به‌روز شده‌ای از مشکلات را نمایش می‌دهد.

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

ماکت‌های رابط کاربری

در اینجا مثالی از نحوه نمایش اطلاعات از پاسخ renderaccountissues در صفحه تشخیص حساب کاربری شما آورده شده است. اشیاء در رابط کاربری به فیلدهای API مربوطه در مدل نگاشت می‌شوند. می‌توانید صفحه مشابهی برای مشکلات محصول ایجاد کنید.

تصویر

صفحه تشخیص حساب کاربری پر شده به این شکل است:

تصویر

استایل‌دهی به HTML از پیش رندر شده

پاسخ حاصل از فراخوانی سرویس حل مسئله شامل فیلد prerendered_content و جزئیات هر مسئله در HTML است. می‌توانید این محتوای HTML را مستقیماً در رابط کاربری خود جاسازی کنید تا مسئله در قالبی خوانا نمایش داده شود.

ممکن است عناصر HTML را با کلاس new-element ببینید. کلاس new-element برای عناصری اعمال می‌شود که پس از ادغام با سرویس IssueResolution به HTML اضافه می‌شوند. توصیه می‌کنیم عناصر دارای کلاس new-element را پنهان کنید تا بتوانید این عناصر را قبل از نمایش به کاربران در برنامه خود، استایل‌دهی کنید.

در اینجا مثالی از مقدار فیلد 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>

اگر prerendered_content HTML قبلی را بدون هیچ گونه استایل‌بندی در برنامه خود جاسازی کنید، نتیجه به این صورت خواهد بود:

تصویر

شما می‌توانید از چندین کلاس CSS برای تنظیم نحوه رندر محتوا در رابط کاربری خود استفاده کنید. در اینجا یک نمونه CSS وجود دارد که می‌توانید استفاده کنید:

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;
}

در اینجا نحوه نمایش محتوای رندر شده در صورت استفاده از CSS قبلی آمده است:

تصویر

همچنین می‌توانید با CSS، tooltip ها را پیکربندی و نمایش دهید:

تصویر

پیاده‌سازی اکشن داخلی با ورودی کاربر

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

هر اقدام شامل یک یا چند جریان اقدام است. برای برخی اقدامات، می‌تواند بیش از یک جریان وجود داشته باشد. به عنوان مثال، وقتی کسب‌وکار درخواست بررسی اضافی می‌کند زیرا با تصمیم مخالف است، می‌تواند جریان متفاوتی وجود داشته باشد و وقتی مشکل را قبلاً برطرف کرده است، جریان متفاوتی وجود داشته باشد.

برای درخواست داده جهت پیاده‌سازی اقدامات پیچیده با ورودی کاربر، باید فیلد user_input_action_option را روی مقدار BUILT_IN_USER_INPUT_ACTIONS تنظیم کنید.

POST https://merchantapi.googleapis.com/issueresolution/v1/accounts/{ACCOUNT_ID}:renderaccountissues?timeZone=America/Los_Angeles&languageCode=en-GB
{
"user_input_action_option": "BUILT_IN_USER_INPUT_ACTIONS"
}

به جای {ACCOUNT_ID} ، شناسه منحصر به فرد حسابی را که می‌خواهید پردازش عملیات برای آن آغاز شود، قرار دهید.

پیاده‌سازی

در اینجا پیشنهاد می‌کنیم که روند صفحه تشخیص عیب شما که از کاربر ورودی درخواست می‌کند، به این شکل باشد:

  1. کاربر روی دکمه‌ی عملیات کلیک می‌کند.

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

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

  4. کاربر با کلیک روی دکمه، درخواست خود را تأیید می‌کند.

  5. برنامه شما با فراخوانی سرویس حل مسئله، پردازش اقدام را آغاز می‌کند. در اینجا یک نمونه درخواست آمده است:

    POST https://merchantapi.googleapis.com/issueresolution/v1/accounts/{ACCOUNT_ID}:triggeraction
    
    {
      actionContext: "ActionContextValue=",
      actionInput: { actionFlowId: "flow1",
      inputValues: [
      { input_field_id: "input1", checkbox_input_value: { value: true } }
      ]
    }
    

    به جای {ACCOUNT_ID} ، شناسه منحصر به فرد حسابی را که می‌خواهید پردازش عملیات برای آن آغاز شود، قرار دهید.

  1. برنامه شما پیام تأییدی را که از سرویس IssueResolution برگردانده شده است، نشان می‌دهد.

    • اگر سرویس خطای اعتبارسنجی با وضعیت INVALID_ARGUMENT را برگرداند، حاوی اطلاعات دقیق و پیام خطای محلی است که باید به کسب و کار نشان داده شود. توصیه می‌کنیم چنین خطایی را نزدیک به فیلد ورودی آسیب‌دیده نشان دهید. در اینجا مثالی از یک پاسخ نمونه آورده شده است:
    {
      "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"
              }
            ]
          }
        ]
      }
    }
    
    • اگر سرویس وضعیت نامعتبر یا خطای داخلی را که با وضعیت‌های FAILED_PRECONDITION و INTERNAL نشان داده می‌شود، برگرداند، برنامه باید به کسب‌وکار دستور دهد که صفحه را مجدداً بارگذاری کند یا بعداً امتحان کند.