Skip to main content
本ドキュメントでは、YiDA DingTalk Open Platform サーバー API のレート制限のトリガー条件と対処方法について説明します。

トリガー条件

アプリのエラーによる YiDA サーバーの異常な負荷を防ぐため、YiDA サーバー API の各エンドポイントには、複雑度に応じて異なるレート制限がデフォルトで設定されています(詳細については、API ドキュメントのリンクを送信のうえテクニカルサポートにお問い合わせください)。いずれかの次元の上限を超えると、レート制限がトリガーされる場合があります。よくあるレスポンスエラーコードは以下のとおりです: failure.operation.requestTooFastfailure.operation.tooManyVisitors
  • 単一アプリ QPS レート制限:アプリごとに、特定のエンドポイントへの呼び出しが最大頻度を超えると、レート制限がトリガーされます。
  • 単一組織 QPS レート制限:組織ごとに、特定のエンドポイントへの呼び出しが最大頻度を超えると、レート制限がトリガーされます。
  • エンドポイントごとのグローバル QPS レート制限:YiDA エンドポイントの安全保護ポリシーにより、1 秒あたりの呼び出し回数が制限されています。YiDA のすべての組織アプリによる 1 秒あたりのエンドポイント呼び出し回数の合計が、そのエンドポイントの 1 秒あたりの呼び出し回数上限を超えると、レスポンスエラーがトリガーされます。
対処方法
  • 一般:QPS レート制限のウィンドウは 1 秒であるため、レート制限エラーが発生した場合は、プログラム内で 1 秒スリープしてから処理を続行してください。
  • ピーク回避戦略:YiDA API を定期的に呼び出すプログラムでは、毎正時のピーク時間を避け、例えば毎時 10 分過ぎに実行するようスケジュールを設定します。

FAQ

A:いいえ、二重課金にはなりません。詳細は以下のとおりです。YiDA 関連ビジネス API の呼び出しは、2 つの利用シナリオに分類されます。
  1. YiDA が SaaS アプリとして動作し、製品化された機能(すなわち YiDA 公式コネクタ、例:DingTalk 勤怠データの取得)を通じて DingTalk エンドポイントを呼び出す場合。これらの呼び出しはポリシー制限の対象外となります。
  2. 顧客が DingTalk Open Platform 上で社内アプリを構築し、自社の外部システムから [YiDA エンドポイント一覧] のコンテンツを直接呼び出す場合(例:顧客の自社システムから YiDA openAPI エンドポイントを呼び出し、YiDA で構築されたアプリのデータを自社システムに同期する)。これらの呼び出しは DingTalk Open Platform の統一ポリシーに従います。
A:いいえ、DingTalk Open Platform の呼び出し回数は消費しません。YiDA 関連ビジネス API の呼び出しはポリシーによる制限の対象外だからです。
  1. シナリオ 1:YiDA が SaaS アプリとして動作し、製品化された機能(すなわち YiDA 公式コネクタ、例:DingTalk 勤怠データの取得)を通じて DingTalk エンドポイントを呼び出す場合。これらの呼び出しはポリシー制限の対象外となります。
A:DingTalk Open Platform が公開している QPS 制限は、社内アプリとサードパーティ社内アプリで区別されています。YiDA はサードパーティ社内アプリとして、QPS 制限の対象となります。YiDA 自身が呼び出す各 DingTalk エンドポイントについて、最大頻度は 40 回/秒です。詳細はレート制限をご参照ください。
A:YiDA 関連ビジネス API の呼び出しはポリシーによる制限の対象外であるため、YiDA の顧客がどの DingTalk エディションを基盤として購入しているかに関わらず、QPS 基準は最大頻度 40 回/秒となります。
  1. シナリオ 1:YiDA が SaaS アプリとして動作し、製品化された機能(すなわち YiDA 公式コネクタ、例:DingTalk 勤怠データの取得)を通じて DingTalk エンドポイントを呼び出す場合。これらの呼び出しはポリシー制限の対象外となります。
A:専用版を除き、現時点では個別の容量拡張には対応していません。