Salesforceコラム

Salesforceに特化した情報をお届けします

SalesforceのAPI制限を回避する方法とは?利用状況の確認法について解説

2021年04月27日

SalesforceのAPI制限を回避する方法とは?


SalesforceはAPI制限があるので、システムに負荷がかかったり、大きいデータを取得したりすると、一日中(24時間)使用制限がかかってしまうことがあります。

API制限にかかってしまった時は、APIコールを追加購入することで回避が可能です。

しかし、有償で制限解除をする前に、適切な設定をすることでAPI制限を回避できる場合があります。

本記事では、APIコールを追加購入する前に行っておきたいSalesforceのAPI制限を回避するための設定や、概要について解説していきます。

ディレクターやコンサルタントなどの役職に配置された場合は、クライアントが運用しているシステム規模やアプリケーションの規模から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公式サイトをご覧ください。

SalesforceのAPI制限が超えた場合の挙動について

SalesforceのAPI制限が制限を超えると、ワークフローの制限がかかる恐れがあります。

ただし、一時的であれば制限超過しても接続が許可される場合がありますので、基本的には想定外のコール数の増加が発生しても、いきなり接続を制限されることはありません。

この機能はSalesforceがインスタンスの健全性を保つために設けたものです。つまり一定量のコール数超過が発生した場合の処置にすぎません。

したがって、一時的に動作する機能に頼ったシステム設計にしてしまうと、Salesforceの意図しない環境で運用していることになりますので注意してください。

SalesforceのAPI要求数の制限と利用状況を確認する方法

ユーザーはSalesforceで、[API 要求数 (この 24 時間以内)]の項目から、24時間以内のAPI使用状況を監視することが可能です。

API要求数が超過する前に、適切な制限を設定するためには、まずSalesforce上で過去のAPI要求数を調べる方法について理解する必要があります。

以下は24時間以内のAPI要求数を調べる方法です。

  • Salesforce上の[設定]から、[システムの概要]ページを開く
  • [組織の詳細] セクションの中の [API 要求数 (この 24 時間以内)]を確認する

また、システム管理者の権限でアクセスすれば、[過去7日間の API 使用状況] レポートで、現在から過去7日間のAPI使用状況を監視できます。

API利用状況の確認方法が理解できたところで、次に制限超過を回避する方法を解説していきます。

API要求数の制限超過を回避する方法

API要件数の制限が超過した場合は、エラーが発生したり、Salesforceが停止してしまうことがあります。Salesforceが停止することで、業務に甚大な影響を及ぼす可能性も考えられます。

そうならないためにも、API制限超過を回避するための方法を理解しておくとよいでしょう。

API制限超過の可能性がある場合は、ユーザーライセンス追加購入か、Performance Edition へのアップグレード、もしくはAPI コールを追加購入することで、制限超過をあらかじめ回避することが可能です。こちらは一番手っ取り早く解決する方法です。

ただし、これらの回避策は料金面でのコストが発生してしまうので、追加購入するよりも先に以下のリストにあげた回避策を検討すると良いでしょう。

API要求数の使用を抑える方法

  • クライアント側でキャッシュする
  • REST API で複合リソースを使用する
  • REST API で同じレコードをアップロードする

上記の方法は、APIの最適化を行い無駄なAPI要求数を減らす方法です。

APIの最適化を行い無駄なAPI要求数を減らす方法として、Salesforce公式ではREST API複合リソースの利用を推奨しています。

REST API複合リソースとは、クライアントとサーバーとの要求を最小限に抑えるために利用されるいくつかのAPIリソースのことを指します。サーバー間で無駄な往復回数を減らすことで制限超過を回避できないか、検討してみてください。

REST API複合リソースについての詳細は、公式サイトで確認できます。

API要求数の使用状況をメールに通知する方法

  • Salesforceの[設定]から[監視]を選択
  • [API使用状況通知]を開き、[新規]から通知ルールを作成

API要求数の使用状況をメールで通知する設定にしておくことで、設定したメールアドレス宛に一定の制限到達を通知させることが可能です。

通知ルールには、しきい値を選択する項目があります。しきい値はAPI使用上限ではなく、API使用上限より少し手前の値で通知させることが可能です。しきい値の設定をしておくとエラーが発生する前に対策を講じやすくなります。

SalesforceのAPI制限を回避するために利用状況を確認しましょう

SalesforceにはAPI制限があるため、一日中(24時間)使用制限がかかってしまうことがあります。

ユーザーは [API 要求数 (この 24 時間以内)]の項目から、24時間以内のAPI使用状況の監視をすることが可能です。

APIの最適化を行い無駄なAPI要求数を減らす方法として、Salesforce公式ではREST API複合リソースの利用を推奨しています。

サーバー間で無駄な往復回数を減らすことで制限超過を回避できないか検討してみてください。それでも回避できないようであれば、APIコールを追加購入することを検討してみましょう。


Salesforceでのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)