SalesforceのAPI呼び出し制限の情報をまとめてみた
この記事はアンテクアドベントカレンダー2022の6日目の記事です。
https://adventar.org/calendars/7821
皆さんこんにちは、サーバーサイドエンジニアの大川です。今回はSalesforceのAPI呼び出し制限の情報をまとめてみます!
前提:Salesforceのエディションとライセンス
Salesforceのエディションとライセンスについて簡単にまとめておきます。
エディション
これは大枠の契約内容のことです。下記の5種類のエディションが存在しています。
- Essentials Edition
- Professional Edition
- Enterprise Edition
- Unlimited Edition
- Developer Edition
上記の各エディションの詳細の説明は下記の公式Helpページに任せますが、ようは料金によって使える機能使えない機能があるみたいな感じです。(Amazon Musicの通常会員とUnlimited会員とかMicrosoft officeの一般用とビジネス用があるみたいな感じです。)
https://help.salesforce.com/s/articleView?id=sf.overview_edition.htm&type=5
ライセンス
これは簡単に言うと製品です。例えばMicrosoftのOfficeを思い浮かべてください。製品としてExcelやWordなどがありますよね。その「Excel」と「Word」が製品です。
ようはSalesforceと言われているものはNECが提供している製品の一部ということです。
https://www.nec-solutioninnovators.co.jp/ss/salesforce/products/
エディションとライセンスのまとめ
MicrosoftのOfficeを例にすると分かりやすいかもですね!
提供会社 | エディション | ライセンス |
---|---|---|
Microsoft | 365 Business Basic 365 Business Stanfard 365 Business Premium | Word Excel PowerPoint …etc |
NEC | Essentials Edition Professional Edition Enterprise Edition Unlimited Edition Developer Edition | Salesforce Salesforce Platform Sales Cloud …etc |
SalesforceAPIの制限について
SalesforceのAPIはどうやら3種類の制限を設定しているようです。
- 同時リクエスト制限
- タイムアウト制限
- 24時間のリクエスト合計数制限
上記それぞれについて詳しく見てゆきましょう!
※本内容は参考文献先の情報を筆者が咀嚼しまとめたものです。内容は記事記載時の最新情報です。閲覧時期や筆者の間違いで内容に誤りがある可能性があります。
同時リクエスト制限
名前の通り、同時に複数のリクエストを送信した場合の制限です。
契約しているSalesforceの組織の種類により上限数が異なります。
下記の制限数を超えたリクエストからはエラーが返ります。
組織の種類 | 制限数 |
---|---|
Developer Edition | 5 |
Trial | 5 |
Production | 25 |
Sandboxes | 25 |
タイムアウト制限
こちらも名前の通り、1回のリクエストで時間がかかりすぎるとタイムアウトエラーを投げるものです。
エディションによる差は無く、一律で10分となっています。10分をすぎるとSalesforceから例外が投げられます。
なので、SalesforceのAPIを実行してからレスポンスが帰ってくるまで10分以上かかった場合、タイムアウトエラーに伴う例外が返されることになります。
24時間のリクエスト合計数制限
こちらはSalesforceに用意されているAPIの呼び出しの24時間の回数制限です。
エディション | 制限数/24h | 備考 |
---|---|---|
Enterprise Edition | 1,000 | Salesforceライセンスのみの合計回数 (+100,000回) |
Professional Edition | 1,000 | Salesforceライセンスのみの合計回数 (+100,000回) |
Unlimited Edition | 5,000 | Salesforceライセンスのみの合計回数 (+100,000回) |
Performance Edition | 5,000 | Salesforceライセンスのみの合計回数 (+100,000回) |
Developer Edition | 15,000 | 全ライセンス合計回数 |
Sandboxes | 5,000,000 | 全ライセンス合計回数 |
「Developer Edition」と「Sandboxes」のエディションとそれ以外のエディションで大きく仕様が異なります。
「Developer Edition」と「Sandboxes」以外のエディション
この場合、ライセンス(製品)ごとにAPIの呼び出し制限が決まっています。Salesforceのみで1,000回/24h、Salesforce Platformのみで1,000回/24hです。また全ライセンス合計のリクエスト数制限も設定されており100,000回/24hです。なので例えばEnterprise EditionでSalesforce1ライセンスの場合1,000回 + 100,000回 = 101,000回を超えるとアクセスできなくなる計算です。
「Developer Edition」と「Sandboxes」のエディション
ライセンスのリクエスト回数制限はありません。ただし、全ライセンス合計で1時間以内にDeveloper Editionだと15,000回、Sandboxesだと5,000,000回リクエストを送ってしまうと時間が経過するまで全ライセンスでリクエストを送ることができません。
参考文献
https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm
https://help.salesforce.com/s/articleView?id=sf.overview_edition.htm&type=5
https://help.salesforce.com/s/articleView?id=sf.users_licenses_overview.htm&type=5&language=ja
https://www.microsoft.com/ja-jp/microsoft-365/business
https://www.nec-solutioninnovators.co.jp/ss/salesforce/products/