この記事の目次
SalesforceのAPI制限を回避する方法とは?

SalesforceのAPI制限について
SalesforceのAPI制限には、APIの利用時の処理における負荷を調整する役割があります。 この制限を超えるAPI要求数が発生すると、エラーが返されます。 API制限数の上限は、Salesforceのエディションごとに異なる制限が設けられています。ほかにも、ユーザー数やライセンス、拡張機能などで、使用制限が決まります。 制限のカウントは、24時間ごとの回数で計算されます。クライアント環境を構築する際には、この制限のルールに基づいて、API要求数が制限を超えないように設計する必要があります。 次にエディションごとのAPI制限数について紹介します。SalesforceのAPI制限の呼び出し回数の制限
Salesforceでは、エディションごとに異なるAPI制限が設けられていますので、エディションごとに割り当てられている「呼び出し回数」について確認しておきましょう。 以下の表は、24時間ごとに設けられたコールの制限数が、エディションごとに並んでいます。Salesforce のエディション | 24 時間あたりのライセンスの種類ごとの API コール数 | 24 時間あたりの合計コール数 |
---|---|---|
Developer Edition | なし | 15,000 |
・ Enterprise Edition ・ Professional Edition (API アクセス有効) | ・ Salesforce: 1,000 ・Salesforce Platform: 1,000 ・ Force.com – One App: 200 ・ Lightning Platform Starter: メンバーあたり 200 (Enterprise Edition 組織) ・Lightning Platform Plus: メンバーあたり 1000 (Enterprise Edition 組織) | 15,000 + (ライセンス数 × コール数) 最大 1,000,000 |
・ Unlimited Edition ・ Performance Edition | ・ Salesforce: 5,000 ・ Salesforce Platform: 5,000 ・ Force.com – One App: 200 ・Lightning Platform Starter: メンバーあたり 200 (Unlimited Edition 組織および Performance Edition 組織) ・Lightning Platform Plus: メンバーあたり 5000 (Unlimited Edition 組織および Performance Edition 組織) | 100,000 + (ライセンス数 x ライセンスの種類ごとのコール数) + 購入した API コールアドオン数 |
Sandbox | なし | 5,000,000 |
SalesforceのAPI制限が超えた場合の挙動について
SalesforceのAPI制限が制限を超えると、ワークフローの制限がかかる恐れがあります。 ただし、一時的であれば制限超過しても接続が許可される場合がありますので、基本的には想定外のコール数の増加が発生しても、いきなり接続を制限されることはありません。 この機能はSalesforceがインスタンスの健全性を保つために設けたものです。つまり一定量のコール数超過が発生した場合の処置にすぎません。 したがって、一時的に動作する機能に頼ったシステム設計にしてしまうと、Salesforceの意図しない環境で運用していることになりますので注意してください。SalesforceのAPI要求数の制限と利用状況を確認する方法
ユーザーはSalesforceで、[API 要求数 (この 24 時間以内)]の項目から、24時間以内のAPI使用状況を監視することが可能です。 API要求数が超過する前に、適切な制限を設定するためには、まずSalesforce上で過去のAPI要求数を調べる方法について理解する必要があります。 以下は24時間以内のAPI要求数を調べる方法です。- Salesforce上の[設定]から、[システムの概要]ページを開く
- [組織の詳細] セクションの中の [API 要求数 (この 24 時間以内)]を確認する
API要求数の制限超過を回避する方法
API要件数の制限が超過した場合は、エラーが発生したり、Salesforceが停止してしまうことがあります。Salesforceが停止することで、業務に甚大な影響を及ぼす可能性も考えられます。 そうならないためにも、API制限超過を回避するための方法を理解しておくとよいでしょう。 API制限超過の可能性がある場合は、ユーザーライセンス追加購入か、Performance Edition へのアップグレード、もしくはAPI コールを追加購入することで、制限超過をあらかじめ回避することが可能です。こちらは一番手っ取り早く解決する方法です。 ただし、これらの回避策は料金面でのコストが発生してしまうので、追加購入するよりも先に以下のリストにあげた回避策を検討すると良いでしょう。API要求数の使用を抑える方法
- クライアント側でキャッシュする
- REST API で複合リソースを使用する
- REST API で同じレコードをアップロードする
API要求数の使用状況をメールに通知する方法
- Salesforceの[設定]から[監視]を選択
- [API使用状況通知]を開き、[新規]から通知ルールを作成