โควต้า

เอกสารนี้แสดงโควต้าที่มีผลกับ 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 คำขอนั้นจะนับรวมในโควต้าของบัญชีนั้น
    • ตัวอย่าง: ผู้ขาย ร้านรองเท้า A ตรวจสอบสิทธิ์ (รหัสบัญชี: 12345) โดยใช้บัญชีบริการของตนเองเพื่อเรียก products.insert ที่กำหนดเป้าหมายเป็นบัญชีของตนเอง (accounts/12345) ระบบจะใช้โควต้าจากกลุ่มโควต้าของร้านรองเท้า A
  • บัญชีขั้นสูง: การตรวจสอบสิทธิ์ในฐานะ บัญชีขั้นสูง จะใช้โควต้าจากกลุ่มโควต้าของบัญชีขั้นสูง แม้ว่าจะกำหนดเป้าหมายเป็น บัญชีย่อยก็ตาม
    • ตัวอย่าง: เอเจนซี บัญชีการจัดการการขายปลีก (รหัสบัญชีขั้นสูง: 12345) จัดการบัญชีย่อย ร้านเสื้อผ้า B (รหัสบัญชี: 11111) เอเจนซีตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบของตนเองและเรียก products.insert ที่กำหนดเป้าหมายเป็นร้านเสื้อผ้า B (accounts/11111) ระบบจะใช้โควต้าจากกลุ่มโควต้าของเอเจนซีหลัก (รหัสบัญชีขั้นสูง: 12345) ไม่ใช่กลุ่มโควต้าของบัญชีย่อย
  • บัญชีย่อย: เมื่อมีการตรวจสอบสิทธิ์การเรียก API โดยใช้ข้อมูลเข้าสู่ระบบของบัญชีย่อย ระบบจะเรียกเก็บเงินโควต้าจากกลุ่มโควต้าของบัญชีย่อยนั้น การดำเนินการนี้จะเหมือนกับบัญชีแบบสแตนด์อโลน แม้ว่าบัญชีจะได้รับการจัดการโดยบัญชีขั้นสูงหลักก็ตาม
    • ตัวอย่าง: จากการตั้งค่าเดียวกันกับตัวอย่างก่อนหน้า หากร้านเสื้อผ้า B (รหัสบัญชี: 11111) ตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบที่ตั้งค่าไว้สำหรับบัญชีย่อยของตนเองโดยเฉพาะ เพื่อเรียก products.insert ที่กำหนดเป้าหมายเป็นบัญชีของตนเอง (accounts/11111) ระบบจะใช้โควต้าจากกลุ่มโควต้าของร้านเสื้อผ้า B โดยไม่แตะต้องกลุ่มโควต้าของเอเจนซีหลัก

ข้อยกเว้นของกฎทั่วไป

มีข้อยกเว้นบางประการที่ใช้กับกฎทั่วไปในการจัดสรรโควต้า ดังนี้

  • Accounts.list: ระบบจะเรียกเก็บเงินโควต้าสำหรับเมธอดนี้จากผู้ใช้หรือ บัญชีบริการที่ตรวจสอบสิทธิ์แล้วซึ่งทำการเรียก ไม่ใช่รหัสบัญชี Merchant Center การใช้งานโควต้าของเมธอดนี้จะไม่ปรากฏในหน้าการวินิจฉัย API ของ Merchant Center มาตรฐาน หากคุณมีบัญชีขั้นสูง เราขอแนะนำให้ใช้ accounts.listSubaccounts เมธอด ซึ่งจะนับรวมในโควต้าบัญชีขั้นสูง
  • เมธอด Issueresolution: เมธอดเหล่านี้จะนับรวมในโควต้าของบัญชีที่มีการส่งคำขอให้แก้ไขปัญหาเสมอ แม้ว่าบัญชีอื่นจะตรวจสอบสิทธิ์คำขอก็ตาม

ลำดับชั้นการจัดสรร

  • บริการช็อปปิ้งแบบเปรียบเทียบสินค้า (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, มาร์เก็ตเพลส, บัญชีขั้นสูง, บัญชีแบบสแตนด์อโลน และบัญชีย่อย

กลุ่ม 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 Center
  • ACCESS_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" (ความล่าช้าแบบสุ่ม) Jitter จะป้องกัน "การลองส่งคำขอซ้ำจำนวนมาก" ซึ่งอินสแตนซ์ไคลเอ็นต์หลายรายการลองส่งคำขอซ้ำในเวลาเดียวกันพอดี ทำให้เซิร์ฟเวอร์ทำงานหนักอีกครั้ง
  • ปฏิบัติตามคำแนะนำในการลองส่งคำขอซ้ำ: หากการตอบกลับของ API มีรายละเอียดหรือส่วนหัวในการลองส่งคำขอซ้ำ ให้ใช้รายละเอียดหรือส่วนหัวเหล่านั้นเพื่อกำหนดเวลาที่จะดำเนินการเรียกต่อ

ลดการเรียกซ้ำ

  • ป้องกันการเรียกที่ล้าสมัย (404 NOT_FOUND): หลีกเลี่ยงการขอหรือลบทรัพยากรที่ไม่มีอยู่อีกต่อไป แม้แต่การเรียกที่ไม่สำเร็จก็ใช้โควต้า API ตรวจสอบข้อผิดพลาด NOT_FOUND ในการวินิจฉัย API ของ Merchant Center เพื่อตรวจหาการติดตามสถานะที่ล้าสมัยหรือการโพลที่ไม่จำเป็น
  • ยืนยันก่อนอัปเดต: ก่อนส่งคำขออัปเดต ให้ตรวจสอบว่าข้อมูลมีการเปลี่ยนแปลงจริง หลีกเลี่ยงการส่งการอัปเดตที่เขียนค่าเดียวกัน
  • ใช้การแคช: แคชการตอบกลับการอ่าน (เช่น รายละเอียดผลิตภัณฑ์ การตั้งค่า) ในเครื่องเมื่อเหมาะสมเพื่อหลีกเลี่ยงการเรียก get หรือ list ซ้ำๆ สำหรับข้อมูลที่ไม่มีการเปลี่ยนแปลง
  • บัญชีขั้นสูงและบัญชีย่อย: หากคุณเป็นบัญชีขั้นสูง ให้ตรวจสอบสิทธิ์ที่ระดับบัญชีขั้นสูงหากต้องการให้นับการเรียกตามกลุ่มโควต้าที่แชร์ของบัญชีขั้นสูง
  • ใช้ listSubaccounts: สำหรับบัญชีขั้นสูง ให้ใช้ accounts.listSubaccounts แทน accounts.list ระบบจะเรียกเก็บเงินโควต้า accounts.list จากผู้ใช้ที่เรียก (ไม่ใช่รหัส MC) และจะไม่ปรากฏในการวินิจฉัยมาตรฐาน listSubaccounts จะนับรวมในโควต้า MCA