เอกสารนี้แสดงโควต้าที่ใช้กับ Merchant API
Merchant API ใช้โควต้าเพื่อช่วยให้มั่นใจว่าสภาพแวดล้อมมีความเสถียรและเป็นธรรมสำหรับผู้ใช้ทุกคน โควต้าจะป้องกันไม่ให้ผู้ใช้ API รายใดรายหนึ่งสร้างภาระงานมากเกินไปในระบบ เพื่อให้มั่นใจว่าระบบจะมีประสิทธิภาพสูง การทำความเข้าใจโควต้าเหล่านี้เป็นกุญแจสำคัญในการจัดการข้อมูลสินค้าและขยายธุรกิจบน Google
แนวคิดทั่วไป
โควต้า Merchant API ได้รับการจัดการผ่านกลุ่มโควต้า
เมธอด API จะจับคู่กับกลุ่มโควต้า โครงสร้างของการแมปนี้อาจแตกต่างกันไป ดังนี้
- เมธอดเดียวต่อกลุ่ม: กลุ่มโควต้าบางกลุ่มใช้กับเมธอด API เดียว
เช่น เมธอดการแสดงแหล่งข้อมูล
accounts.dataSources.listมีกลุ่มโควต้าเฉพาะของตัวเอง - หลายเมธอดต่อกลุ่ม (การรวมกลุ่ม): บ่อยครั้งที่เมธอดที่เกี่ยวข้องจะรวมเข้าด้วยกันเป็นกลุ่มโควต้าเดียว เมธอดทั้งหมดภายในกลุ่มนั้นจะใช้ขีดจำกัดรายวันและต่อนาทีร่วมกัน ตัวอย่างที่พบบ่อย ได้แก่
- การจัดกลุ่มการดำเนินการอ่านทั้งหมดสำหรับเมธอดและทรัพยากรที่เกี่ยวข้อง เช่น
merchant-accounts-read-methods - การจัดกลุ่มการดำเนินการเขียนทั้งหมดสำหรับเมธอดและทรัพยากรที่เกี่ยวข้อง เช่น
merchant-accounts-write-methods
- การจัดกลุ่มการดำเนินการอ่านทั้งหมดสำหรับเมธอดและทรัพยากรที่เกี่ยวข้อง เช่น
ระบบจะนับการเรียกใช้เมธอดแต่ละครั้งเป็น 1 ครั้ง ไม่ว่าจะเป็นเมธอดประเภทใดก็ตาม คำขอ list ที่มี 250 รายการจะนับเป็น 1 ครั้ง ไม่ใช่คำขอ get 250 รายการ
การจัดกลุ่ม HTTP ในตัวจะไม่ส่งผลต่อโควต้า คำขอเดี่ยวแต่ละรายการภายในกลุ่มคำขอจะนับเป็น 1 รายการเทียบกับโควต้า ตัวอย่างเช่น คำขอแบบกลุ่มที่มีคำขอ insert 500 รายการจะเรียกเก็บเงินเป็นคำขอเมธอด insert 500 รายการแยกกัน
ข้อยกเว้นสำหรับการจัดกลุ่มภูมิภาคเฉพาะ: เมธอดกลุ่มภูมิภาคเฉพาะ (batchCreate, batchUpdate, batchDelete) จะนับเป็นการเรียก API ครั้งเดียวเทียบกับกลุ่มโควต้า merchant_regions โดยไม่คำนึงถึงจำนวนการดำเนินการในภูมิภาคที่มีอยู่ในเพย์โหลด
หากต้องการจัดการการผสานรวมอย่างมีประสิทธิภาพ คุณควรตรวจสอบกลุ่มโควต้าที่เฉพาะเจาะจงซึ่งเชื่อมโยงกับเมธอด API แต่ละรายการที่คุณต้องการใช้ คุณดูรายละเอียดเหล่านี้ได้ในเมธอดรายการโควต้า ดูข้อมูลเพิ่มเติมได้ที่การตรวจสอบและการแสดงผล
อัปเดตนโยบาย
Merchant API บังคับใช้นโยบายต่อไปนี้เกี่ยวกับการอัปเดต
- โดยค่าเริ่มต้น คุณจะอัปเดตผลิตภัณฑ์ได้สูงสุด 2 ครั้งต่อวัน คุณควรกระจายการเรียกใช้ให้เท่าๆ กันตลอดทั้งวันเพื่อให้เป็นไปตามโควต้าต่อนาที
- โดยค่าเริ่มต้น คุณจะอัปเดตบัญชีย่อยได้สูงสุด 2 ครั้งต่อวันเท่านั้น โควต้าการอัปเดตบัญชีย่อยรายวันเป็นขีดจำกัดรวมที่อิงตามจำนวนบัญชีย่อยทั้งหมดที่ได้รับอนุญาต
- โดยค่าเริ่มต้น คุณจะเรียกใช้เมธอดแหล่งข้อมูลสำหรับบัญชีย่อย เช่น
listหรือcreateได้สูงสุด 2 ครั้งต่อบัญชีย่อยต่อวันเท่านั้น
โควต้าอัตรา
กลุ่มโควต้าแต่ละกลุ่มมีขีดจำกัด 2 ประเภท (และการใช้งานรายวัน) ดังนี้
- ขีดจำกัดการใช้งานต่อวัน (
quotaLimit): จำนวนคำขอสูงสุดที่อนุญาตต่อวัน ขีดจำกัดโควต้าประจำวันจะรีเซ็ตตอนเที่ยงวัน 12:00 น. ตามเวลา UTC - ขีดจำกัดต่อนาที (
quotaMinuteLimit): จำนวนคำขอสูงสุดที่อนุญาตต่อนาที ซึ่งจะควบคุมอัตราคำขอ ขีดจำกัดโควต้าต่อนาทีจะใช้กรอบเวลาแบบต่อเนื่อง โดยระยะเวลาการบังคับใช้จะเริ่มตั้งแต่ช่วงเวลาที่มีการเรียก API ครั้งแรกสำหรับเมธอดและทรัพยากรนั้น ตัวอย่างเช่น หากคุณเรียกใช้เมธอดที่เวลา 10:01:30 น. กรอบเวลาโควต้าต่อนาทีสำหรับเมธอดนั้นจะทำงานจนถึงเวลา 10:02:30 น. - การใช้งานรายวัน (
quotaUsage): จำนวนคำขอที่ส่งไปแล้วและนับรวมในขีดจำกัดการใช้งานต่อวันสำหรับวันปัจจุบัน หากไม่มีช่องนี้ แสดงว่ายังไม่มีการใช้โควต้าสำหรับกลุ่มนี้
คุณจะเห็นช่องทั้ง 3 ช่องที่อธิบายไว้ก่อนหน้านี้ (quotaLimit, quotaMinuteLimit และ quotaUsage) ในการตอบกลับของเมธอด quotas.list
ขีดจำกัดรายวันและต่อนาทีที่เฉพาะเจาะจงจะแตกต่างกันอย่างมากระหว่างกลุ่มโควต้าต่างๆ การดำเนินการที่มีปริมาณที่คาดไว้สูงกว่าหรือต้นทุนระบบต่ำกว่า เช่น การอ่านข้อมูลผลิตภัณฑ์ มักจะมีขีดจำกัดที่สูงกว่า ในทางกลับกัน การดำเนินการที่เข้มงวดหรือละเอียดอ่อนมากกว่า เช่น การแก้ไขบัญชี อาจมีขีดจำกัดที่ต่ำกว่า
การจัดสรรโควต้าและลำดับชั้น
ส่วนนี้จะอธิบายว่า Merchant API ติดตามและใช้โควต้าการใช้งานในนามของใคร
โดยทั่วไป ระบบจะเรียกเก็บโควต้าตามผู้ใช้ที่ส่งคำขอ API
- บัญชีแบบสแตนด์อโลน: สำหรับบัญชีแบบสแตนด์อโลนที่ตรวจสอบสิทธิ์การเรียก API คำขอดังกล่าวจะนับรวมในโควต้าของบัญชีนั้น
- ตัวอย่าง: ผู้ขาย Shoe Store A (รหัสบัญชี: 12345) ตรวจสอบสิทธิ์โดยใช้บัญชีบริการของตนเองเพื่อเรียกใช้
products.insertที่กำหนดเป้าหมายไปยังบัญชีของตนเอง (accounts/12345) ระบบจะใช้โควต้าจากกลุ่มโควต้าของ Shoe Store A
- ตัวอย่าง: ผู้ขาย Shoe Store A (รหัสบัญชี: 12345) ตรวจสอบสิทธิ์โดยใช้บัญชีบริการของตนเองเพื่อเรียกใช้
- บัญชีขั้นสูง: การตรวจสอบสิทธิ์ในฐานะบัญชีขั้นสูงจะใช้โควต้าจากกลุ่มบัญชีขั้นสูง แม้ว่าจะกำหนดเป้าหมายเป็นบัญชีย่อยก็ตาม
- ตัวอย่าง: บัญชีดูแลจัดการค้าปลีกของเอเจนซี (รหัสบัญชีขั้นสูง: 12345) จัดการบัญชีย่อยร้านเสื้อผ้า ข (รหัสบัญชี: 11111)
เอเจนซีจะตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบของตนเองและเรียกใช้
products.insertโดยกำหนดเป้าหมายเป็นร้านเสื้อผ้า B (accounts/11111) ระบบจะใช้โควต้าจากกลุ่มของเอเจนซีหลัก (รหัสบัญชีขั้นสูง: 12345) ไม่ใช่กลุ่มของบัญชีย่อย
- ตัวอย่าง: บัญชีดูแลจัดการค้าปลีกของเอเจนซี (รหัสบัญชีขั้นสูง: 12345) จัดการบัญชีย่อยร้านเสื้อผ้า ข (รหัสบัญชี: 11111)
เอเจนซีจะตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบของตนเองและเรียกใช้
- บัญชีย่อย: เมื่อตรวจสอบสิทธิ์การเรียก API โดยใช้ข้อมูลเข้าสู่ระบบของบัญชีย่อย ระบบจะหักโควต้าจากพูลส่วนบุคคลของบัญชีย่อยนั้น บัญชีนี้ทำงานในลักษณะเดียวกับบัญชีแบบสแตนด์อโลน แม้ว่าจะได้รับการจัดการโดยบัญชีขั้นสูงหลักก็ตาม
- ตัวอย่าง: หากใช้การตั้งค่าเดียวกับก่อนหน้านี้ หากร้านเสื้อผ้า B (รหัสบัญชี: 11111) ตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบที่ตั้งค่าไว้สำหรับบัญชีย่อยโดยเฉพาะเพื่อเรียกใช้
products.insertที่กำหนดเป้าหมายไปยังบัญชีของตนเอง (accounts/11111) ระบบจะใช้โควต้าจากกลุ่มโควต้าส่วนบุคคลของร้านเสื้อผ้า B โดยไม่แตะต้องกลุ่มของเอเจนซีหลัก
- ตัวอย่าง: หากใช้การตั้งค่าเดียวกับก่อนหน้านี้ หากร้านเสื้อผ้า B (รหัสบัญชี: 11111) ตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบที่ตั้งค่าไว้สำหรับบัญชีย่อยโดยเฉพาะเพื่อเรียกใช้
ข้อยกเว้นสำหรับกฎทั่วไป
มีข้อยกเว้นบางประการที่เฉพาะเจาะจงซึ่งมีผลกับกฎทั่วไปของการจัดสรรโควต้า ดังนี้
- Accounts.list:
ระบบจะเรียกเก็บโควต้าสำหรับเมธอดนี้จากผู้ใช้ที่ตรวจสอบสิทธิ์แล้วหรือบัญชีบริการที่ทำการเรียก ไม่ใช่รหัสบัญชี Merchant Center
การใช้งานโควต้าจะไม่แสดงในหน้าการวินิจฉัย Merchant Center API มาตรฐาน
หากคุณมีบัญชีขั้นสูง เราขอแนะนำให้ใช้วิธี
accounts.listSubaccountsซึ่งจะนับรวมในโควต้าบัญชีขั้นสูง - วิธีการแก้ไขปัญหา: วิธีการเหล่านี้จะนับรวมในโควต้าสำหรับบัญชีที่มีการขอให้แก้ไขปัญหาเสมอ แม้ว่าบัญชีอื่นจะตรวจสอบสิทธิ์คำขออยู่ก็ตาม
ลำดับชั้นการจัดสรร
บริการช็อปปิ้งแบบเปรียบเทียบสินค้า (CSS): CSS คือเว็บไซต์ที่รวบรวมข้อเสนอผลิตภัณฑ์และนำผู้ใช้ไปยังเว็บไซต์ของผู้ค้าปลีกเพื่อทำการซื้อ เมื่อทำการเรียก API ระบบจะใช้โควต้ากับกลุ่ม CSS, โดเมน CSS, บัญชี หรือบัญชีย่อยที่เฉพาะเจาะจงซึ่งคุณตรวจสอบสิทธิ์
ตัวอย่างเช่น
- กลุ่ม CSS ชื่อ Europe Shopping Group (รหัสบัญชี: 10001) ต้องการแสดงโดเมน CSS ที่เชื่อมโยง การตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบของตนเองเพื่อเรียก API นี้จะใช้โควต้าจากกลุ่มโควต้าของ Europe Shopping Group โดยตรง
- โดเมน CSS TopDeals CSS (รหัสบัญชี: 20002) ตรวจสอบสิทธิ์เพื่อเรียกใช้เมธอดที่กำหนดเป้าหมายไปยังบัญชีผู้ขายที่เชื่อมโยงบัญชีใดบัญชีหนึ่ง (
accounts/30003) เพื่อกำหนดป้ายกำกับ ระบบจะใช้โควต้าจากกลุ่มโควต้าของ TopDeals CSS ไม่ใช่กลุ่มของบัญชีผู้ขาย
มาร์เก็ตเพลส: มาร์เก็ตเพลสเป็นแพลตฟอร์มออนไลน์ที่โฮสต์ผู้ขายบุคคลธรรมดาหลายราย บัญชีดังกล่าวทำหน้าที่เป็นบัญชีขั้นสูงพิเศษที่ช่วยให้คุณสร้างบัญชีย่อยสำหรับผู้ขายแต่ละรายได้
แผนภาพต่อไปนี้แสดงลำดับชั้นของกลุ่ม CSS, CSS, มาร์เก็ตเพลส, บัญชีขั้นสูง, บัญชีแบบสแตนด์อโลน และบัญชีย่อย

การปรับโควต้าอัตโนมัติ
Merchant API มีระบบการจัดการโควต้าอัตโนมัติสำหรับบริการที่เฉพาะเจาะจง ซึ่งจะปรับขีดจำกัดโควต้าสำหรับผู้ขายที่กำลังเติบโตตามการใช้งาน ข้อเสนอ และขนาดบัญชีของคุณ Merchant API จะคำนวณโควต้าเหล่านี้ใหม่ทุกวัน
กลุ่มโควต้าที่รวมอยู่ในการปรับโควต้าอัตโนมัติมีดังนี้
บริการผลิตภัณฑ์
- กลุ่มโควต้าทั้งหมดของเมธอดที่เกี่ยวข้องกับทรัพยากร
productsและproductInputs - โดยทั่วไปแล้ว โควต้าการเรียกใช้รายวันจะตั้งไว้ที่ 2 เท่าของจำนวนข้อเสนอที่ผู้ขายมี ซึ่งถือว่าผู้ขายอาจต้องอัปเดตผลิตภัณฑ์แต่ละรายการสูงสุด 2 ครั้งต่อวัน
- คุณสามารถอัปเดตผลิตภัณฑ์แต่ละรายการได้มากกว่า 2 ครั้ง แต่การเรียก API รายวันโดยรวมต้องไม่เกินโควต้าการเรียกรายวันรวม
บริการด้านบัญชี
- กลุ่มโควต้าทั้งหมดของเมธอดที่เกี่ยวข้องกับแหล่งข้อมูลต่างๆ ที่เกี่ยวข้องกับบัญชีแบบละเอียดใน Merchant API
- โควต้าการเรียกรายวันจะตั้งค่าเป็นจำนวนบัญชีย่อยสูงสุดที่อนุญาตสำหรับบัญชีนั้น ซึ่งจะช่วยให้สามารถเรียกใช้การอ่านได้สูงสุด 2 ครั้งต่อบัญชีย่อยต่อวัน
บริการแหล่งข้อมูล
- กลุ่มโควต้าทั้งหมดของเมธอดที่เกี่ยวข้องกับแหล่งข้อมูลที่เกี่ยวข้องกับทรัพยากรใน Merchant API เช่น
listหรือcreateที่บัญชีขั้นสูงดำเนินการในบัญชีย่อย - โดยทั่วไปแล้ว โควต้าการเรียกใช้รายวันจะตั้งไว้ที่ 2 เท่าของจำนวนบัญชีย่อยที่บัญชีขั้นสูงมี ซึ่งถือว่าผู้ขายสามารถอัปเดตแหล่งข้อมูลของบัญชีย่อยแต่ละบัญชีได้สูงสุด 2 ครั้งต่อวัน
เฉพาะบริการที่อธิบายไว้ก่อนหน้านี้เท่านั้นที่มีการปรับโควต้าอัตโนมัติ บริการอื่นๆ จะมีโควต้าเริ่มต้น และหากต้องการเพิ่มโควต้า คุณต้องส่งคำขอด้วยตนเอง ดูข้อมูลเพิ่มเติมได้ที่ส่วนกระบวนการเพิ่มโควต้า
สิ่งที่จะเกิดขึ้นเมื่อมีการใช้งานเกินโควต้า
หลังจากเกินโควต้าแล้ว ข้อผิดพลาดจะปรากฏในการตอบกลับจาก API และในหน้าการวินิจฉัยภายในบัญชี Merchant Center ดังนี้
- ต่อนาที:
quota/request_rate_too_high
{
"error": {
"code": 429,
"message": "Quota per minute exceeded. Please distribute your requests over a longer time period. For more information check https://developers.google.com/merchant/api/guides/quotas-limits",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "quotaExceeded",
"domain": "merchantapi.googleapis.com",
"metadata": {
"HELP_CENTER_LINK": "https://developers.google.com/merchant/api/guides/quotas-limits",
"REASON": "QUOTA_REQUEST_RATE_TOO_HIGH"
}
}
]
}
}
- ต่อวัน:
quota/daily_limit_exceeded
{
"error": {
"code": 429,
"message": "Daily request quota exceeded. Please reduce number of requests. For more information check https://developers.google.com/merchant/api/guides/quotas-limits",
"status": "RESOURCE_EXHAUSTED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "quotaExceeded",
"domain": "merchantapi.googleapis.com",
"metadata": {
"HELP_CENTER_LINK": "https://developers.google.com/merchant/api/guides/quotas-limits",
"REASON": "QUOTA_TOO_MANY_REQUESTS"
}
}
]
}
}
ข้อผิดพลาดต่อไปนี้เป็นขีดจำกัดของ Merchant Center และไม่เกี่ยวข้องกับโควต้า Merchant API คุณลองขอโควต้าสินค้า ฟีด หรือบัญชีย่อยเพิ่มได้โดยทำดังนี้
too_many_items: เกินโควต้าของผู้ขายtoo_many_subaccounts: บัญชีย่อยถึงจำนวนสูงสุดแล้ว
การตรวจสอบและระดับการเข้าถึง
หากต้องการตรวจสอบโควต้าการเรียกใช้และการใช้งานปัจจุบันของบัญชี ให้เรียกใช้ quotas.list พร้อมชื่อบัญชี
POST https://merchantapi.googleapis.com/quota/v1/accounts/{ACCOUNT_ID}/quotas
Content-Type: application/json
Authorization: Bearer {ACCESS_TOKEN}
แทนที่ค่าต่อไปนี้
ACCOUNT_ID: รหัส Merchant CenterACCESS_TOKEN: โทเค็นการให้สิทธิ์เพื่อเรียก API
เมื่อส่งคำขอสำเร็จ API จะแสดงรายการทรัพยากร quotaGroups ที่มีทรัพยากร name ของกลุ่มโควต้า โควต้าต่างๆ และเมธอดที่ใช้โควต้ากลุ่ม
{
"quotaGroups": [
{
"name": "accounts/{ACCOUNT_ID}/quotas/merchant-quota-listquotagroups",
"quotaUsage": "2",
"quotaLimit": "1000",
"methodDetails": [
{
"method": "quotaservice.listquotagroups",
"version": "v1",
"subapi": "quota",
"path": "quota/v1/quotaservice.listquotagroups"
}
],
"quotaMinuteLimit": "10"
},
{
"name": "accounts/{ACCOUNT_ID}/quotas/merchant-commission-group-list",
"quotaLimit": "10000",
"methodDetails": [
{
"method": "commissiongroupservice.listcommissiongroups",
"version": "v1",
"subapi": "youtube",
"path": "youtube/v1/commissiongroupservice.listcommissiongroups"
}
],
"quotaMinuteLimit": "60"
},
{
"name": "accounts/{ACCOUNT_ID}/quotas/merchant-merchantreviews-list",
"quotaLimit": "20000000",
"methodDetails": [
{
"method": "merchantreviewsservice.listmerchantreviews",
"version": "v1",
"subapi": "reviews",
"path": "reviews/v1/merchantreviewsservice.listmerchantreviews"
}
],
"quotaMinuteLimit": "60000"
}
]
}
ขั้นตอนการเพิ่มโควต้า
หากต้องการขอโควต้าเพิ่มเติม ให้เปิดแบบฟอร์มติดต่อทีมสนับสนุน เลือก "คำขอเพิ่มโควต้า" ในช่อง "ปัญหา/คำถามคืออะไร" ที่ต้องกรอก แล้วกรอกข้อมูลในช่องที่ต้องกรอกทั้งหมด รวมถึงรหัส Merchant Center, เมธอดเป้าหมาย และเหตุผลทางธุรกิจ
- สำหรับแหล่งข้อมูลที่มีโควต้าอัตโนมัติ (
products,accountsและdatasourcesสำหรับบัญชีขั้นสูง): คุณสามารถขอเพิ่มโควต้าชั่วคราวได้เฉพาะในสถานการณ์พิเศษ เช่น การเปิดตัวในตลาดใหม่หรือในช่วงเทศกาลช็อปปิ้งที่มีการเข้าชมสูง เราไม่ยอมรับการเพิ่มโควต้าถาวรสำหรับทรัพยากรประเภทนี้ - สำหรับทรัพยากรอื่นๆ ทั้งหมดที่ไม่มีโควต้าอัตโนมัติ: ขอเพิ่มโควต้าตามความจำเป็น
เราขอแนะนำให้ตรวจสอบโควต้าเป็นระยะๆ เพื่อให้แน่ใจว่าคุณมีโควต้าเพียงพอสำหรับการใช้งาน และดูว่าโควต้าของคุณได้รับการปรับโดยอัตโนมัติอย่างไร
ใช้เมธอด quotas.list เพื่อดูขีดจำกัดโควต้ารายวัน ขีดจำกัดรายนาที และการใช้งานรายวันปัจจุบันสำหรับกลุ่มเมธอด API แต่ละกลุ่ม
แนวทางปฏิบัติแนะนำ
การใช้แนวทางปฏิบัติแนะนำเหล่านี้จะช่วยให้การผสานรวมเป็นไปอย่างราบรื่น หลีกเลี่ยงข้อผิดพลาดเกี่ยวกับโควต้าที่ไม่คาดคิด และใช้ทรัพยากร Merchant Center ได้อย่างมีประสิทธิภาพ
เพิ่มประสิทธิภาพการกระจายคำขอ
- กระจายคำขออย่างสม่ำเสมอ: หลีกเลี่ยงการส่งคำขอจำนวนมากพร้อมกัน กระจายการเรียก API รายวันให้เท่าๆ กันตลอดทั้งวันเพื่อให้อยู่ภายในขีดจำกัดโควต้าต่อนาที (
quotaMinuteLimit) - การควบคุมเชิงรุก: ใช้การจำกัดอัตราคำขอฝั่งไคลเอ็นต์ (การควบคุม) ในแอปพลิเคชัน อย่าพึ่งพาเซิร์ฟเวอร์ของ Google เพียงอย่างเดียวในการปฏิเสธการรับส่งข้อมูลที่มากเกินไป ควบคุมอัตราการส่งคำขอที่แหล่งที่มา
การจัดการข้อผิดพลาดอย่างเหมาะสม
- จัดการ HTTP 429: แอปพลิเคชันของคุณต้องเตรียมพร้อมที่จะจัดการข้อผิดพลาด 429 Too Many Requests (
quota/request_rate_too_high) - Exponential Backoff ที่มี Jitter: เมื่อลองส่งคำขอที่ล้มเหลวอีกครั้ง (โดยเฉพาะหลังจากได้รับข้อผิดพลาด 429) ให้ใช้ Exponential Backoff (เพิ่มเวลารอ) และเพิ่ม "Jitter" (ความล่าช้าแบบสุ่ม) ความผันผวนจะช่วยป้องกัน "การลองใหม่จำนวนมาก" ซึ่งอินสแตนซ์ไคลเอ็นต์หลายรายการจะลองใหม่พร้อมกัน ทำให้เซิร์ฟเวอร์ทำงานหนักเกินไปอีกครั้ง
- ทำตามคำแนะนำในการลองใหม่: หากการตอบกลับจาก API มีรายละเอียดหรือส่วนหัวสำหรับการลองใหม่ ให้ใช้ข้อมูลดังกล่าวเพื่อพิจารณาว่าจะเรียกใช้ต่อเมื่อใด
ลดการเรียกใช้ที่ซ้ำซ้อน
- ป้องกันการเรียกใช้ข้อมูลที่ล้าสมัย (404 NOT_FOUND): หลีกเลี่ยงการขอหรือลบทรัพยากรที่ไม่มีอยู่แล้ว แม้แต่การเรียกที่ล้มเหลวก็ใช้โควต้า API ตรวจสอบข้อผิดพลาด
NOT_FOUNDในการวินิจฉัย API ของ Merchant Center เพื่อตรวจหาการติดตามสถานะที่ล้าสมัยหรือการทำโพลที่ไม่จำเป็น - ตรวจสอบก่อนอัปเดต: ก่อนส่งคำขออัปเดต ให้ตรวจสอบว่าข้อมูลมีการเปลี่ยนแปลงจริงหรือไม่ หลีกเลี่ยงการส่งการอัปเดตที่เขียนค่าเดียวกัน
- ใช้การแคช: แคชการตอบกลับการอ่าน (เช่น รายละเอียดสินค้า การตั้งค่า) ในเครื่องเมื่อเหมาะสมเพื่อหลีกเลี่ยงการเรียก
getหรือlistซ้ำๆ สำหรับข้อมูลที่ไม่มีการเปลี่ยนแปลง
สำรวจลำดับชั้นโควต้าและข้อยกเว้น
- บัญชีขั้นสูงและบัญชีย่อย: หากคุณใช้บัญชีขั้นสูง ให้ตรวจสอบสิทธิ์ที่ระดับบัญชีขั้นสูงหากต้องการให้ระบบนับการเรียกใช้ API เทียบกับพูลที่ใช้ร่วมกันของบัญชีขั้นสูง
- ใช้
listSubaccounts: สำหรับบัญชีขั้นสูง ให้ใช้accounts.listSubaccountsแทนaccounts.listระบบจะเรียกเก็บโควต้าaccounts.listจากผู้ใช้ที่โทร (ไม่ใช่รหัส MC) และจะไม่แสดงในการวินิจฉัยมาตรฐานlistSubaccountsจะนับรวมในโควต้า MCA ของคุณ