การจำกัดอัตรา API การตลาด

API การตลาดมีตรรกะการจำกัดอัตราของตัวเอง และไม่รวมอยู่ในการจำกัดอัตรา API กราฟใดทั้งสิ้น ดังนั้น หากคุณเรียกใช้ API การตลาด ก็จะไม่ถูกนำไปคำนวณในการจำกัดผลลัพธ์ของ API กราฟ

ฟีเจอร์ที่ส่งผลต่อโควต้าขีดจำกัดอัตราของ API การตลาดคือสิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณา เมื่อคุณเพิ่มผลิตภัณฑ์ API การตลาดในแดชบอร์ดของแอพ โดยค่าเริ่มต้นแล้ว คุณจะได้รับสิทธิ์การเข้าถึงแบบมาตรฐานของสิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณา ซึ่งจะทำให้คุณสามารถเข้าถึงการพัฒนา API การตลาดได้ หากคุณต้องการอัพเกรดเพื่อรับโควต้าการจำกัดอัตราที่มากขึ้น ให้อัพเกรดสิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณาในส่วนการตรวจสอบแอพเป็นสิทธิ์การเข้าถึงระดับสูง

โควต้า

สิทธิ์การเข้าถึง API การตลาดสิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณาขีดความสามารถ

สิทธิ์การเข้าถึงการพัฒนา

สิทธิ์การเข้าถึงแบบมาตรฐาน

โควต้าการจำกัดอัตราขั้นพื้นฐาน

สิทธิ์การเข้าถึงแบบมาตรฐาน

สิทธิ์การเข้าถึงระดับสูง

โควต้าการจำกัดอัตราที่มากขึ้น

คำขอ API การตลาดและคำขอ API เพจส่วนใหญ่จะมีขีดจำกัดอัตราของกรณีการใช้งานทางธุรกิจ (BUC) และจะขึ้นอยู่กับตำแหน่งข้อมูลที่คุณกำลังสืบค้น ซึ่งคุณจะทราบข้อมูลนี้ได้ด้วยการตรวจสอบว่าคำขอ HTTP ของคุณมีส่วนหัว X-Business-Use-Case หรือไม่ ดูรายละเอียดเพิ่มเติมได้ที่ "ขีดจำกัดอัตรากรณีการใช้งานทางธุรกิจ"

ขีดจำกัดระดับ API ในระดับบัญชีโฆษณา

  • การจำกัดอัตราจะอยู่ที่ระดับบัญชีโฆษณา
  • ขีดจำกัดอัตราจะเกิดขึ้นแบบเรียลไทม์ในช่วงเวลาที่กำหนด
  • การเรียกใช้ API การตลาดแต่ละรายการจะมีการกำหนดคะแนน ซึ่งผลรวมของการเรียกใช้ API จะเป็นคะแนนของคุณ
  • เราบังคับใช้คะแนนสูงสุด พูดง่ายๆ ก็คือ การเรียกใช้ API การอ่านจะเท่ากับ 1 คะแนน ส่วนการเรียกใช้ API การเขียนจะเท่ากับ 3 คะแนน และเมื่อคุณทำได้ถึงคะแนนสูงสุด เราจะแสดงข้อผิดพลาดในการจำกัดผลลัพธ์
    • หากแอพของคุณอยู่ในระดับการพัฒนา API การตลาด
      • คะแนนสูงสุดของคุณคือ 60
      • โดยคะแนนจะลดลงใน 300 วินาที
      • และจะถูกบล็อกเป็นเวลา 300 วินาที หากคะแนนของคุณถึงคะแนนสูงสุด
    • หากแอพของคุณอยู่ในระดับมาตรฐานของ API การตลาด
      • คะแนนสูงสุดของคุณคือ 9000
      • โดยคะแนนจะลดลงใน 300 วินาที
      • และจะถูกบล็อกเป็นเวลา 60 วินาที หากคะแนนของคุณถึงคะแนนสูงสุด

รหัสข้อผิดพลาดที่เกี่ยวข้อง:17, Error subcode: 2446079, Message: User request limit reached. 613, Error subcode: 1487742, Message: There have been too many calls from this ad-account. Please wait a bit and try again.

ขีดจำกัดอัตรา QPS ระดับบัญชีโฆษณา

เพื่อป้องกันไม่ให้จำนวนผู้เข้าชมเพิ่มขึ้นอย่างฉับพลันจนระบบของเราขัดข้อง เราจึงบังคับใช้การจำกัดอัตราแบบเรียลไทม์สำหรับตำแหน่งข้อมูลการเปลี่ยนแปลง API การตลาด (สร้างและแก้ไขการดำเนินการสำหรับแคมเปญ ชุดโฆษณา และโฆษณา)

  • การจำกัดอัตราจะอยู่ที่ระดับบัญชีโฆษณาต่อแอพพลิเคชั่น
  • ขีดจำกัด: 100 คำขอต่อวินาที (QPS) ต่อแอพและบัญชีโฆษณารวมกัน
  • ใช้กับ: การสร้างและแก้ไขการดำเนินการสำหรับแคมเปญ ชุดโฆษณา และโฆษณา
  • ขีดจำกัดนี้มีผลแบบเรียลไทม์ และออกแบบมาเพื่อตรวจจับจำนวนผู้เข้าชมที่เพิ่มขึ้นอย่างรวดเร็วซึ่งหน้าต่างการจำกัดอัตรามาตรฐานอาจตรวจไม่พบ

ตำแหน่งข้อมูลต่อไปนี้จะได้รับผลกระทบ

เมื่อคุณส่งคำขอเกินขีดจำกัดนี้ ให้กระจายคำขอของคุณให้เท่าๆ กันมากขึ้นเมื่อเวลาผ่านไป แทนการส่งคำขอหลายรายการในคราวเดียว

รหัสข้อผิดพลาดที่เกี่ยวข้อง:613, Error subcode: 5044001, Message: Your ad account {ad_account_id} has exceeded the maximum allowed rate of mutation requests. To resolve this, reduce the frequency of your create, update operations on campaigns, ad sets, and ads.

เมื่อพบข้อผิดพลาดนี้ ให้ใช้การจำกัดผลลัพธ์คำขอเพื่อให้อยู่ต่ำกว่า 100 QPS ต่อบัญชีโฆษณา

การจำกัดอัตราแพลตฟอร์มข้อมูลเชิงลึกของโฆษณา

  • การจำกัดอัตราจะอยู่ที่ระดับแอพพลิเคชั่น
  • การจำกัดอัตราจะถูกกำหนดโดยขีดความสามารถของโครงสร้างพื้นฐานแบ็คเอนด์และบริการดาวน์สตรีม
  • เมื่อแอพของคุณมีการจำกัดอัตรา การเรียกใช้ API ข้อมูลเชิงลึกของโฆษณาทั้งหมดสำหรับแอพจะถูกจำกัด
  • มีการบังคับใช้การจำกัดอัตราระดับแอพ

รหัสข้อผิดพลาดที่เกี่ยวข้อง:4, Error subcode: 1504022 or 1504039, Message: There have been too many calls from this app. Wait a bit and try again.

เมื่อพบข้อผิดพลาดนี้ ให้ลดการเรียกใช้ของคุณ

ขีดจำกัดระดับแอพ

  • การจำกัดอัตราจะอยู่ที่ระดับแอพพลิเคชั่น
  • การจำกัดอัตราจะกำหนดโดยผู้ใช้ทุกรายของแอพ
  • เมื่อแอพของคุณมีการจำกัดอัตรา การเรียกใช้ API ทั้งหมดสำหรับแอพจะถูกจำกัด
  • มีการบังคับใช้การจำกัดอัตราระดับแอพ

รหัสข้อผิดพลาดที่เกี่ยวข้อง:4, Message: Application request limit reached

เมื่อพบข้อผิดพลาดนี้ ให้ลดการเรียกใช้ของคุณ

ขีดจำกัดอัตรากรณีการใช้งานทางธุรกิจระดับบัญชีโฆษณา

เราคำนวณโควต้าขีดจำกัดอัตราตามระดับการเข้าถึง API การตลาดและแอพของคุณ

  • การจำกัดอัตราจะอยู่ที่ระดับบัญชีโฆษณาและโควต้าจะได้รับการคำนวณตามระดับการเข้าถึง API โฆษณาของแอพของคุณ
  • ads_management - สำหรับบัญชีโฆษณาแต่ละบัญชีในช่วงเวลาหนึ่งชั่วโมง: (100,000 หากแอพของคุณอยู่ในระดับมาตรฐานของ API การตลาด หรือ 300 หากแอพของคุณอยู่ในระดับการพัฒนา) + 40 * จำนวนโฆษณาที่ใช้งานอยู่
  • custom_audience - สำหรับบัญชีโฆษณาแต่ละบัญชีในช่วงเวลาหนึ่งชั่วโมง: ไม่เกิน 700,000 ไม่น้อยกว่า 190,000 หากแอพของคุณอยู่ในระดับมาตรฐาน API การตลาด หรือ 5,000 หากแอพของคุณอยู่ในระดับการพัฒนา + 40 * จำนวนกลุ่มเป้าหมายแบบกำหนดเองที่ใช้งานอยู่
  • ads_insights - สำหรับบัญชีโฆษณาแต่ละบัญชีในช่วงเวลาหนึ่งชั่วโมง: (190,000 หากแอพของคุณอยู่ในระดับมาตรฐานของ API โฆษณา หรือ 600 หากแอพของคุณอยู่ในระดับการพัฒนา) + 400 * จำนวนโฆษณาที่ใช้งานอยู่ - 0.001 * ข้อผิดพลาดของผู้ใช้
  • การจัดการแค็ตตาล็อก - สำหรับบัญชีโฆษณาแต่ละบัญชีในช่วงเวลาหนึ่งชั่วโมง: 20,000 + 20,000 * log2(ผู้ใช้ที่ไม่ซ้ำกัน)
  • ชุดแค็ตตาล็อก - สำหรับบัญชีโฆษณาแต่ละบัญชีในช่วงเวลาหนึ่งชั่วโมง: 200 + 200 * log2(ผู้ใช้ที่ไม่ซ้ำกัน)
  • ขีดจำกัดอัตรา API การตลาดของคุณยังอาจถูกกำหนดโดยเวลารวมของ CPU และเวลารวมของ Wall ในบัญชีโฆษณาของคุณ คุณจะมีโควต้ามากขึ้น หากแอพของคุณมีสิทธิ์การเข้าถึงแบบมาตรฐานสำหรับ API การตลาด โปรดตรวจสอบรายละเอียดเพิ่มเติมที่ส่วนหัว [X-Business-Use-Case](/docs/graph-api/overview/rate-limiting/#headers-2) ของ HTTP และขีดจำกัดอัตราสำหรับกรณีการใช้งานทางธุรกิจ

รหัสข้อผิดพลาดที่เกี่ยวข้อง:80000, 80003, 80004, 80014, Message: There have been too many calls from this ad-account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.

ตรวจสอบยืนยันตำแหน่งข้อมูล API และส่วนหัว X-Business-Use-Case ของ HTTP เพื่อยืนยันประเภทการจำกัดผลลัพธ์ ดูรายละเอียดเพิ่มเติมได้ที่ "ขีดจำกัดอัตรากรณีการใช้งานทางธุรกิจ" เมื่อพบข้อผิดพลาดนี้ ให้ลดการเปลี่ยนแปลงในบัญชีโฆษณา

ขีดจำกัดอัตราค่าใช้จ่ายในการโฆษณาระดับบัญชีโฆษณา

เราจำกัดให้คุณเปลี่ยนแปลงวงเงินใช้จ่ายของบัญชีของคุณได้ 10 ครั้งต่อวันเพื่อให้มั่นใจว่าการแสดงโฆษณาจะมีประสิทธิภาพ

  • มีการจำกัดจำนวนการเปลี่ยนแปลงวงเงินใช้จ่ายของบัญชีโฆษณา เช่น ช่อง spend_cap, spend_cap_action fields

รหัสข้อผิดพลาดที่เกี่ยวข้อง:17, Error subcode: 1885172, Message: You can only change your account spending limit 10 times per day. Please wait to make more changes.

ขีดจำกัดระดับชุดโฆษณา

มีการจำกัดจำนวนการเปลี่ยนแปลงในช่อง daily_budget และ lifetime_budget ของชุดโฆษณา สำหรับชุดโฆษณาแต่ละชุด เราอนุญาตให้เปลี่ยนแปลงงบประมาณได้เพียง 4 ครั้งต่อชั่วโมงเท่านั้น หากเกินขีดจำกัดนี้ ระบบจะบล็อกไม่ให้เปลี่ยนแปลงงบประมาณสำหรับชุดโฆษณาดังกล่าวเป็นเวลาหนึ่งชั่วโมง

รหัสข้อผิดพลาดที่เกี่ยวข้อง:613, Error subcode: 1487632, Message: You can only change your ad set budget 4 times per hour. Please wait to make more changes.

เมื่อพบข้อผิดพลาดนี้ ให้ลดการเปลี่ยนแปลงในชุดโฆษณา

ขีดจำกัดระดับโฆษณา

เราจำกัดการสร้างโฆษณาสำหรับบัญชีโฆษณานั้นๆ ตามขีดจำกัดวงเงินใช้จ่ายต่อวัน

รหัสข้อผิดพลาดที่เกี่ยวข้อง:613, Error subcode: 1487225, Message: User request limit reached.

ตรวจสอบยืนยันรหัสย่อยของข้อผิดพลาด (1487225) และตำแหน่งข้อมูล API เพื่อยืนยันประเภทการจำกัดผลลัพธ์ เมื่อพบข้อผิดพลาดนี้ ให้ลดการเปลี่ยนแปลงลง หากต้องการเพิ่มขีดจำกัด คุณสามารถเพิ่มวงเงินใช้จ่ายต่อวันได้เช่นกัน

ขีดจำกัดอัตราการป้องกันการละเมิด

เมื่อระบบของเราตรวจพบว่ามีบัญชีโฆษณาบางบัญชีสร้างจำนวนผู้เข้าชมที่ผิดปกติเป็นจำนวนมาก เราจะลดโควต้าขีดจำกัดอัตรา API ของบัญชีที่ผิดปกติลงชั่วคราว เพื่อปกป้องความเสถียรของระบบและเพื่อให้มั่นใจว่าผู้ใช้รายอื่นๆ จะได้รับประสบการณ์การใช้งานที่ดี โปรดลองติดต่อการสนับสนุนจาก Meta เพื่อขอความช่วยเหลือ

รหัสข้อผิดพลาดที่เกี่ยวข้อง:613, Error subcode: null, Message: (#613) Calls to this api have exceeded the rate limit.

ข้อแตกต่างระหว่างข้อผิดพลาดนี้กับขีดจำกัดระดับ API ระดับบัญชีโฆษณาก็คือ ข้อผิดพลาดนี้จะไม่มีรหัสย่อยของข้อผิดพลาด เมื่อพบข้อผิดพลาดนี้ ให้ตรวจสอบว่ามีการดำเนินการที่กระตุ้นให้มีการส่งคำขอ API มากเกินไปหรือไม่ และติดต่อฝ่ายสนับสนุนของ Meta เพื่อขอความช่วยเหลือ

จัดการกับข้อผิดพลาดในการจำกัดผลลัพธ์

การประเมินเบื้องต้น

ตรวจสอบระดับการเข้าถึง API การตลาด:

โดยค่าเริ่มต้นแล้ว แอพจะมี development_access เพื่อเข้าถึง API การตลาด หากต้องการดูว่าคุณอยู่ในระดับใด คุณสามารถไปที่แดชบอร์ดการตรวจสอบแอพได้ โดยคุณจะอยู่ในระดับการพัฒนาของสิทธิ์การเข้าถึง API การตลาด หากคุณมีสิทธิ์การเข้าถึงแบบมาตรฐานสำหรับฟีเจอร์สิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณา และคุณจะอยู่ในระดับมาตรฐานของสิทธิ์การเข้าถึง API การตลาด หากคุณมีสิทธิ์การเข้าถึงระดับสูงสำหรับฟีเจอร์สิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณา นอกจากนี้ คุณสามารถตรวจสอบส่วนหัว HTTP และมองหา ads_api_access_tier ในส่วนหัว X-Ad-Account-Usage, X-Business-Use-Case หรือ X-FB-Ads-Insights-Throttle ได้เช่นกัน

หากคุณยังคงได้รับข้อผิดพลาดในการจำกัดอัตรา โปรดลองอัพเกรดสิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณาเป็น standard_access หากต้องการเข้าสู่ระดับมาตรฐานและรับโควต้าขีดจำกัดอัตราที่สูงขึ้น คุณสามารถสมัครเพื่อขอรับสิทธิ์การเข้าถึงระดับสูงเพื่อเข้าถึงฟีเจอร์สิทธิ์การเข้าถึงแบบมาตรฐานสำหรับการจัดการโฆษณาได้ในแดชบอร์ดการตรวจสอบแอพของคุณ

  • ตรวจสอบรหัสข้อผิดพลาด: กำหนดรหัสข้อผิดพลาดเฉพาะที่เกี่ยวข้องกับการจำกัดผลลัพธ์ในการตอบกลับของ API
  • ตรวจสอบส่วนหัว HTTP:
    • X-Ad-Account-Usage มี acc_id_util_pct, reset_time_duration และ ads_api_access_tier
    • X-Business-Use-Case มีข้อมูล call_count, total_cputime, total_time และ estimated_time_to_regain_access และข้อมูลอื่นๆ สำหรับตำแหน่งข้อมูลกรณีการใช้งานทางธุรกิจ
    • X-FB-Ads-Insights-Throttle มี app_id_util_pct, acc_id_util_pct และ ads_api_access_tier สำหรับตำแหน่งข้อมูล API ข้อมูลเชิงลึกของโฆษณา
  • ตรวจสอบแดชบอร์ดของแอพ: เรามีคอนโซลในแดชบอร์ดของแอพที่ให้ข้อมูลเชิงลึกแก่ผู้พัฒนาเกี่ยวกับระบบการจำกัดอัตรา และช่วยผู้พัฒนาในการวินิจฉัยและป้องกันปัญหาเกี่ยวกับการจำกัดอัตรา

ระบุสาเหตุ

  • ขีดจำกัดอัตรา: ทำความเข้าใจขีดจำกัดอัตราของ API การตลาดของ Meta สำหรับตำแหน่งข้อมูลต่างๆ ที่ใช้ และตรวจสอบว่าจำนวนคำขอ API อยู่ภายในขีดจำกัดที่อนุญาตสำหรับแอพพลิเคชั่นหรือไม่
  • ขีดจำกัดการล้นเกิน: ตรวจสอบว่าขีดจำกัดการล้นเกินทำให้เกิดปัญหาในช่วงเวลาการใช้งานสูงสุดหรือไม่ โดยปกติแล้วจำนวนผู้เข้าชมที่ล้นเกินจะทำให้เกิดการจำกัดระดับ API ระดับบัญชีโฆษณา (รหัสข้อผิดพลาดที่เกี่ยวข้อง:17, 613)
  • การทำงานผิดพลาด: ตรวจสอบว่าการทำงานผิดพลาดกระตุ้นให้มีการส่งคำขอ API มากเกินไปหรือไม่

ขั้นตอนการลดผลกระทบ

  • ป้องกันจำนวนผู้เข้าชมที่ล้นเกิน: กระจายคำขอ API อย่างเท่าๆ กันเพื่อหลีกเลี่ยงการจำกัดผลลัพธ์ที่เกิดจากการเข้าใช้งานจำนวนมากในช่วงเวลาสั้นๆ
  • การปรับคำขอให้เหมาะสม: รวมคำขอขนาดเล็กหลายรายการให้เป็นคำขอแบบกลุ่ม ไม่ว่าจะเป็นคำขอ ID แบบชุดหรือคำขอแบบไม่ซิงค์เพื่อลดจำนวนการเรียกใช้ API ทั้งหมด
  • กลยุทธ์การถอยกลับ: ใช้ Exponential Backoff เมื่อได้รับข้อผิดพลาดในการจำกัดผลลัพธ์ โดยค่อยๆ เพิ่มเวลาระหว่างการลองใหม่ นอกจากนี้คุณอาจตรวจสอบส่วนหัว HTTP เพื่อดูการประมาณเวลารีเซ็ตได้อีกด้วย

เคล็ดลับการลดผลกระทบอื่นๆ

  • ทำความเข้าใจว่าจำเป็นต้องมีการเรียกใช้เหล่านี้หรือไม่ และหากไม่จำเป็น ให้ลดการเรียกใช้เหล่านี้
  • สำหรับตำแหน่งข้อมูลที่รองรับคำขอแบบไม่ซิงค์ เช่น API ข้อมูลเชิงลึกของโฆษณา ให้ใช้คำขอแบบไม่ซิงค์เพื่อสืบค้นข้อมูลที่มีจำนวนมาก
  • นอกจากนี้คุณอาจลองส่งรายการ ID ได้หากต้องการสืบค้นอ็อบเจ็กต์โฆษณาประเภทเดียวกันหลายประเภท
  • สำหรับ API ข้อมูลเชิงลึก ให้ใช้พารามิเตอร์ระดับหรือการกรองเพื่อลดจำนวนการเรียกใช้