คู่มือนี้จะอธิบายวิธีที่นักพัฒนาแอปบุคคลที่สามสามารถใช้บริการ MerchantSupport
เพื่อสร้างหน้าการวินิจฉัยในแอปสำหรับผู้ขาย
คุณสามารถใช้บริการนี้เพื่อสร้าง UI ที่คล้ายกับหน้าการวินิจฉัยบัญชีและหน้าปัญหาเกี่ยวกับผลิตภัณฑ์ของ Merchant Center
บริการ MerchantSupport
มีไว้สำหรับ UI ของบุคคลที่สามเท่านั้น คำขอควรทริกเกอร์เมื่อผู้ขายโต้ตอบกับ UI ของแอปพลิเคชัน หากต้องการทำให้การวินิจฉัยบัญชีผู้ขายของคุณเป็นแบบอัตโนมัติ โปรดดูคำแนะนำเกี่ยวกับสถานะบัญชี สถานะผลิตภัณฑ์ และการกรองผลิตภัณฑ์
เราขอแนะนำให้คุณระบุหน้าต่อไปนี้ในแอปเพื่อช่วยให้ผู้ขายแก้ปัญหา
- การวินิจฉัยบัญชี
- การวินิจฉัยผลิตภัณฑ์
ตัวเลือกต่างๆ ในการใช้หน้าการวินิจฉัย
คุณใช้หน้าการวินิจฉัยได้หลายวิธี เลือกตัวเลือกที่กําหนดวิธีจัดการการดําเนินการวินิจฉัยที่ซับซ้อนตามความต้องการ ในคำขอ คุณสามารถตั้งค่า user_input_action_option
เป็นตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
REDIRECT_TO_MERCHANT_CENTER
: ตัวเลือกนี้เป็นตัวเลือกเริ่มต้น การดำเนินการที่ต้องแสดงเนื้อหาเพิ่มเติมหรือรับอินพุตเพิ่มเติมจากผู้ขายยังไม่พร้อมใช้งานอย่างเต็มรูปแบบในแอปของคุณ API จะมีลิงก์สำหรับเปลี่ยนเส้นทางไปยังหน้าที่เกี่ยวข้องใน Merchant Center ซึ่งผู้ขายสามารถดำเนินการได้BUILT_IN_USER_INPUT_ACTIONS
: คุณสามารถใช้การดำเนินการที่ซับซ้อนซึ่งต้องใช้ข้อมูลจากผู้ใช้เป็นโซลูชันในแอปในแอปพลิเคชัน
ใช้หน้าการวินิจฉัย
ส่วนนี้จะอธิบายวิธีใช้หน้าการวินิจฉัย โดยใช้ตัวเลือกเริ่มต้น (แบบง่าย) เพื่อจัดการการดำเนินการที่ซับซ้อนด้วยการเปลี่ยนเส้นทางไปยัง Merchant Center
หากต้องการการติดตั้งขั้นสูงขึ้นด้วยการกระทำในแอป โปรดดูส่วนต่อไปนี้และดูใช้การดําเนินการในตัวที่มีอินพุตของผู้ใช้
การใช้งาน
เราขอแนะนําให้หน้าการวินิจฉัยมีลักษณะดังต่อไปนี้
- ผู้ขายเปิดหน้าการวินิจฉัยในแอป
แอปของคุณขอการวินิจฉัยโดยการเรียกใช้บริการ
MerchantSupport
ตัวอย่างคําขอมีดังนี้
POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/merchantsupport/renderaccountissues?timeZone=America/Los_Angeles&languageCode=en-GB {}
แทนที่ {merchantId} ด้วยตัวระบุที่ไม่ซ้ำของบัญชีที่ต้องการเรียกใช้การประมวลผลการดำเนินการ
แอปจะแสดงการวินิจฉัยและการดําเนินการที่แนะนําจากคําตอบแก่ผู้ขาย ตัวอย่างคำตอบมีดังนี้
{ "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 } ], "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
ที่ผู้ขายดำเนินการเพื่อแก้ไขปัญหาได้ การดำเนินการมีหลายประเภท ดังนี้- การดำเนินการภายนอก: ชี้ไปยังหน้าภายนอก เช่น ใน Merchant Center ซึ่งผู้ขายสามารถแก้ไขปัญหาได้
- การดำเนินการง่ายๆ ในตัว: ชี้ไปที่หน้าในแอปพลิเคชันที่ผู้ขายสามารถแก้ไขปัญหาได้
- การดำเนินการที่ผู้ใช้ป้อนข้อมูลในตัว: เปิดกล่องโต้ตอบที่ผู้ขายสามารถระบุข้อมูลที่จําเป็นและส่งคําขอดำเนินการ การดําเนินการประเภทนี้ใช้ได้ก็ต่อเมื่อมีคำขอ
BUILT_IN_USER_INPUT_ACTIONS
ผู้ขายทำตามวิธีการเพื่อแก้ไขปัญหา
ผู้ขายโหลดหน้าการวินิจฉัยในแอปอีกครั้ง
แอปจะส่งคําขอไปยังบริการ
MerchantSupport
อีกครั้ง และแสดงรายการปัญหาที่อัปเดต
คุณสามารถเปรียบเทียบข้อมูลที่แสดงโดยแอปที่เสร็จแล้วกับหน้าการวินิจฉัยใน Merchant Center เพื่อยืนยันการติดตั้งใช้งาน
การจำลอง UI
ต่อไปนี้คือตัวอย่างวิธีแสดงข้อมูลจากคําตอบrenderaccountissues
ในหน้าการวินิจฉัยบัญชี ระบบจะแมปออบเจ็กต์ใน UI กับช่อง API ที่สอดคล้องกันในโมค คุณสร้างหน้าเว็บที่คล้ายกันสำหรับปัญหาเกี่ยวกับผลิตภัณฑ์ได้
หน้าการวินิจฉัยบัญชีที่ป้อนข้อมูลจะมีลักษณะดังนี้
สไตล์ HTML ที่แสดงผลไว้ล่วงหน้า
การตอบกลับจากการเรียกใช้บริการ MerchantSupport
มีช่อง prerendered_content
ซึ่งเป็นรายละเอียดของปัญหาแต่ละรายการในรูปแบบ HTML การตอบกลับยังอาจมีช่อง prerendered_out_of_court_dispute_settlement
ซึ่งเป็น HTML พร้อมวิธีการระงับข้อพิพาทนอกศาลด้วย คุณสามารถฝังเนื้อหา HTML นี้ลงใน UI โดยตรงเพื่อแสดงปัญหาในรูปแบบที่อ่านได้
จัดสไตล์ HTML ของเนื้อหาที่แสดงผลล่วงหน้า
คุณอาจเห็นองค์ประกอบ HTML ที่มีคลาส new-element
ระบบจะใช้คลาส new-element
กับองค์ประกอบที่เพิ่มลงใน HTML หลังจากที่คุณผสานรวมกับบริการ MerchantSupport
แล้ว เราขอแนะนำให้ซ่อนองค์ประกอบด้วยคลาส 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>
ลักษณะที่ปรากฏหากคุณฝัง HTML ก่อนหน้า
prerendered_content
ในแอปโดยไม่มีการจัดรูปแบบ
คุณใช้คลาส CSS หลายรายการเพื่อปรับวิธีแสดงผลเนื้อหาใน UI ได้ ตัวอย่าง 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 ได้ด้วย โดยทำดังนี้
จัดรูปแบบ HTML ที่แสดงผลล่วงหน้าสำหรับการไกล่เกลี่ยข้อพิพาทนอกศาล
ต่อไปนี้คือตัวอย่างค่าของช่อง prerendered_out_of_court_dispute_settlement
<details class="ods-section" open="">
<summary>Show additional options available to you</summary>
<p class="ods-description">
<span class="segment">You may have the option to request an external appeal. You'll also be asked to provide your routing and reference IDs.</span>
<a href="https://support.google.com/european-union-digital-services-act-redress-options?hl=en-US"
target="_blank" class="segment">Learn more about external appeals</a>
</p>
<p class="ods-param ods-routing-id">
<span class="segment ods-param-header">Routing ID:</span>
<span class="segment ods-param-value">RDAX</span>
</p>
<p class="ods-param ods-reference-id">
<span class="segment ods-param-header">Reference ID:</span>
<span class="segment ods-param-value">672911686</span>
</p>
</details>
ลักษณะที่ปรากฏหากคุณฝัง HTML ก่อนหน้า
prerendered_out_of_court_dispute_settlement
ในแอปโดยไม่มีการจัดรูปแบบ
คุณใช้คลาส CSS หลายรายการเพื่อปรับวิธีแสดงผลของส่วนนี้ใน UI ได้ ตัวอย่าง CSS ที่คุณใช้ได้มีดังนี้
.ods-param-value {
background: #dee1e37d;
font-family: monospace, monospace;
padding: 3px;
}
.ods-param-header {
font-size: .75rem;
}
.ods-section summary {
font-size: .75rem;
}
ลักษณะของเนื้อหาที่แสดงผลหากคุณใช้ CSS ก่อนหน้ามีดังนี้
ใช้การดำเนินการในตัวกับอินพุตของผู้ใช้
การดําเนินการในตัวที่มีอินพุตของผู้ใช้ช่วยให้คุณระบุความสามารถในการวินิจฉัยที่ซับซ้อนเป็นโซลูชันในแอปในแอปพลิเคชันได้ เราขอแนะนำให้ใช้รูปแบบเป็นกล่องโต้ตอบที่ผู้ขายสามารถป้อนข้อมูล อ่านข้อมูลเพิ่มเติม และยืนยันคำขอ
การดำเนินการแต่ละรายการมีขั้นตอนการดำเนินการอย่างน้อย 1 รายการ การดำเนินการบางอย่างอาจมีขั้นตอนมากกว่า 1 ขั้นตอน ตัวอย่างเช่น อาจมีขั้นตอนที่แตกต่างออกไปเมื่อผู้ขายขอรับการตรวจสอบเพิ่มเติมเนื่องจากไม่เห็นด้วยกับผลการตัดสิน และขั้นตอนที่แตกต่างออกไปเมื่อผู้ขายแก้ไขปัญหาแล้ว
หากต้องการขอข้อมูลเพื่อใช้การดำเนินการที่ซับซ้อนกับอินพุตของผู้ใช้ คุณต้องตั้งค่าช่อง user_input_action_option
เป็นค่า 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"
}
แทนที่ {merchantId} ด้วยตัวระบุที่ไม่ซ้ำของบัญชีที่ต้องการเรียกใช้การประมวลผลการดำเนินการ
การใช้งาน
เราขอแนะนําให้หน้าการวินิจฉัยที่ขอข้อมูลจากผู้ใช้มีลักษณะดังนี้
ผู้ขายคลิกปุ่มดำเนินการ
- หากมีขั้นตอนการชำระเงินหลายขั้นตอน แอปของคุณต้องแสดงขั้นตอนทั้งหมดเพื่อให้ผู้ขายเลือกขั้นตอนที่ต้องการตามวัตถุประสงค์
- ผู้ขายเลือกขั้นตอน
แอปจะแสดงชื่อ ข้อความ ข้อความไฮไลต์ และแบบฟอร์มการป้อนข้อมูลของผู้ใช้สำหรับขั้นตอนการดำเนินการที่เลือก เราขอแนะนำให้คุณแสดงรายละเอียดเหล่านี้ในกล่องโต้ตอบ
- ข้อความไฮไลต์ (หากมี) มีข้อมูลสำคัญที่มีจุดประสงค์เพื่อช่วยให้ผู้ขายเข้าใจวิธีการทํางานของการดำเนินการและสิ่งที่ต้องทำเพื่อให้บรรลุเป้าหมายได้ดียิ่งขึ้น เราขอแนะนำให้ไฮไลต์ข้อความนี้และจัดรูปแบบตามความรุนแรงของข้อความไฮไลต์
- หากมีช่องป้อนข้อมูลในขั้นตอน ช่องดังกล่าวจะต้องแสดงเพื่อให้ผู้ขายระบุค่าได้ หากทำเครื่องหมายช่องป้อนข้อมูลว่าต้องระบุ แอปของคุณไม่ควรอนุญาตให้ผู้ขายส่งคำขอก่อนที่จะระบุค่า
ผู้ขายอ่านข้อมูลและระบุค่าที่ขอ
ผู้ขายยืนยันคำขอโดยคลิกปุ่ม
แอปของคุณจะเรียกใช้การประมวลผลการดำเนินการโดยการเรียกใช้บริการ
MerchantSupport
ตัวอย่างคําขอมีดังนี้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 } } ] }
แทนที่ {merchantId} ด้วยตัวระบุที่ไม่ซ้ำของบัญชีที่ต้องการเรียกใช้การประมวลผลการดำเนินการ
หากต้องการเข้าถึงวิธีการ
triggeraction
สำหรับBuiltInUserInputAction
ให้ส่งคำขอโดยใช้แบบฟอร์มนี้แอปของคุณแสดงข้อความยืนยันที่ส่งคืนจาก
MerchantSupport
บริการ- หากบริการแสดงข้อผิดพลาดในการตรวจสอบที่มีสถานะ
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
แอปควรแจ้งให้ผู้ขายโหลดหน้าเว็บซ้ำหรือลองอีกครั้งในภายหลัง
- หากบริการแสดงข้อผิดพลาดในการตรวจสอบที่มีสถานะ