WhatsApp 錯誤 4:應用程式已達 API 呼叫速率上限
錯誤代碼 4 表示應用程式已達到 API 呼叫速率上限。Meta 的說明是「應用程式已達到 API 呼叫速率上限」。它計算的是應用程式在滾動 1 小時內發出的呼叫次數,而不是某個號碼發送的訊息數量。請在應用程式控制台查看用量,等待一段時間,並減少應用程式呼叫 API 的頻率。
Meta 對「應用程式已達到 API 呼叫速率上限」所用的代碼。
根據 Graph API Platform Rate Limits,應用程式每小時可發出的呼叫次數。
Graph API 錯誤處理指南為代碼 4 所用的名稱。
WhatsApp 錯誤代碼 4 是什麼意思?
這表示您的應用程式在目前時段內發出了過多 API 呼叫,在次數回落之前,後續呼叫都會被拒絕。
Meta 把代碼 4 列為節流錯誤,詳細說明為「應用程式已達到 API 呼叫速率上限」。Graph API 錯誤處理指南稱之為 API Too Many Calls,並指出這是暫時性的節流問題。
另有兩個節流代碼很容易與它混淆。80007 是 WhatsApp Business 帳戶達到速率上限。130429 是 Cloud API 的訊息吞吐量。代碼 4 兩者皆不是:它是應用程式自身的呼叫額度。
應用程式的呼叫上限如何計算?
對於使用應用程式存取權杖發出的請求,Meta 的 Graph API 速率限制指南給出一條公式:1 小時內的呼叫次數等於 200 乘以用戶數目。
用戶數目以應用程式每日不重複活躍用戶為基礎,當每日用量下降時,會改用每週和每月的數字。這是整個應用程式共用的上限,而不是每名用戶各自的上限,所以少數活躍用戶就可能用掉大部分額度。
指南也說明,用量會顯示在應用程式控制台;發出足夠多的呼叫後,回應中還會出現 X-App-Usage 標頭。在錯誤 4 出現之前,這個標頭是察覺上限逼近的方法。
出現錯誤 4 後該怎麼做?
先停止呼叫一段時間,然後減少呼叫。
關於第一點,Meta 的速率限制指南說得很直接:達到上限後,請停止發出 API 呼叫,因為繼續呼叫會增加呼叫次數,並拉長呼叫恢復成功之前的時間。
第二點屬於設計層面。請把請求平均分散,而不是集中爆發;篩選回應內容,讓一次呼叫就取得所需資料;並避免呼叫取得重複的資料。輪詢通常是主因。若整合每隔幾秒就查詢同一個帳戶狀態,額度就會浪費在已經知道的答案上。
常見錯誤
- 在迴圈中不斷重試。每多一次呼叫,次數就多一分,恢復時間也被推得更遠。
- 把它當成發送限制。代碼 4 計算的是應用程式的呼叫次數,訊息吞吐量對應的是 130429。
- 以很短的間隔輪詢狀態端點。重複讀取沒有變化的資料,會耗用每小時額度。
EasyCoexistence 由我們這邊全天候 24/7 監察每個已連接號碼,因此檢查連接健康狀況,不必寫成輪詢迴圈而佔用您應用程式的呼叫額度。
常見問題
錯誤 4 與錯誤 130429 一樣嗎?
不一樣。130429 是某個號碼的訊息吞吐量。錯誤 4 是您的應用程式已發出的 API 呼叫次數。
錯誤 4 會持續多久?
直到滾動 1 小時內的呼叫次數降到上限以下為止。這段期間內繼續呼叫,會令時間延長。
在哪裡可以查看應用程式距離上限還有多遠?
在應用程式控制台的「應用程式速率限制」區段,以及回應中返回的 X-App-Usage 標頭。
錯誤 4 與錯誤 80007 一樣嗎?
不一樣。WhatsApp Business 帳戶達到速率上限時,Meta 使用 80007,而錯誤 4 計算的是應用程式自身的呼叫。
繼續閱讀
準備開始嗎?
幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。
開始免費試用驗證日期