SalesforceでAPI連携を行う際に必ず理解しておく必要があるのが、APIコール数の制限です。
今回はそんな大事なAPIのコール数制限についてSalesforceの導入サポート、開発・連携を行う(株)FDCのエンジニアチームが、最新情報をもとに、どなたにでもわかりやすく解説します。
Salesforce APIコール数の制限とは
Salesforce APIコール数の制限とは、組織が24時間あたりに実行できるAPI要求の上限数のことです。Salesforceはマルチテナント環境で複数の企業がサーバーリソースを共有しているため、すべての顧客が公平にシステムを利用できるよう、API使用量に制限を設けています。
3つの主要なAPI制限
Salesforceでは、最適なパフォーマンスを維持し、すべての顧客がLightning Platform APIを使用できるようにするために、以下の3種類の制限を設けています。
- 同時API要求数の制限:20秒以上実行される長時間のリクエストに対する制限
- APIタイムアウト制限:REST・SOAP APIコールは10分でタイムアウト
- 合計API要求の割り当て:24時間あたりの総API要求数の上限
エディション別APIコール数の制限一覧
Salesforceでは、契約しているエディションとライセンス数によって、24時間あたりに利用可能なAPIコール数が決定されます。以下の表で各エディションの制限をご確認ください。
| エディション | 基本コール数 | ライセンスあたりの追加コール数 | 計算式 |
|---|---|---|---|
| Developer Edition | 15,000 | なし | 15,000(固定) |
| Enterprise Edition | 100,000 | Salesforceライセンス:1,000 Salesforce Platformライセンス:1,000 |
100,000 + (ライセンス数 × コール数) + 購入したAPIコールアドオン |
| Professional Edition(API有効) | 100,000 | Salesforceライセンス:1,000 Salesforce Platformライセンス:1,000 |
100,000 + (ライセンス数 × コール数) + 購入したAPIコールアドオン |
| Unlimited Edition | 100,000 | Salesforceライセンス:5,000 Salesforce Platformライセンス:5,000 |
100,000 + (ライセンス数 × コール数) + 購入したAPIコールアドオン |
| Performance Edition | 100,000 | Salesforceライセンス:5,000 Salesforce Platformライセンス:5,000 |
100,000 + (ライセンス数 × コール数) + 購入したAPIコールアドオン |
| Full Sandbox | 5,000,000 | なし | 5,000,000(固定) |
※出典:Salesforce Developer – API要求の制限と割り当て
APIコール数の計算例
実際の計算例を見てみましょう。
- Enterprise EditionでSalesforceライセンスを15個保有している組織の場合:100,000 + (15 × 1,000) = 115,000コール/24時間
- Unlimited EditionでSalesforceライセンスを30個保有している組織の場合:100,000 + (30 × 5,000) = 250,000コール/24時間
SalesforceでAPIコール数を確認する方法
APIコール数の使用状況を定期的に確認することは、制限超過によるシステム停止を防ぐために非常に重要です。Salesforceでは複数の方法でAPIコール数を確認できます。
方法1:システムの概要ページで確認する
最も基本的な確認方法は、Salesforceの管理画面からシステムの概要ページにアクセスする方法です。
- Salesforceにログインし、画面右上の歯車アイコンから「設定」をクリックします
- クイック検索ボックスに「システムの概要」と入力します
- 「システムの概要」を選択します
- 「API使用状況」セクションで現在の使用状況と制限を確認できます
システムの概要ページでは、現在の24時間以内のAPIコール数と制限値が一目でわかります。
方法2:組織情報ページで確認する
組織情報ページからも詳細なAPI使用状況を確認できます。
- 「設定」メニューから「組織情報」を選択します
- 「組織の詳細」セクションにある「API要求数(この24時間以内)」を確認します
- 「API Request Limit per Month(月間API要求制限)」では、30日間の集計データも確認できます
方法3:過去7日間のAPI使用状況レポートを確認する
より詳細な分析を行いたい場合は、過去7日間のAPI使用状況レポートが便利です。
- 「レポート」タブをクリックします
- 「管理レポート」フォルダを開きます
- 「過去7日間のAPI使用状況」レポートを選択します
- 日別のAPIコール数推移を確認できます
このレポートを活用することで、APIコール数の傾向を把握し、将来的な制限超過を予測できます。
方法4:API使用状況通知を設定する
APIコール数が一定の割合に達した際に自動的にメール通知を受け取る設定も可能です。
- 「設定」から、クイック検索ボックスに「API使用状況通知」と入力します
- 「API使用状況通知」を選択します
- 「新規」ボタンをクリックして通知条件を設定します
- 通知を受け取るユーザーと閾値(例:80%到達時)を指定します
※出典:Salesforce Help – API使用状況通知の管理
同時API要求数の制限について
24時間あたりの合計コール数とは別に、同時に実行できる長時間APIリクエストの数にも制限があります。
| 組織種別 | 同時API要求数の制限 |
|---|---|
| Developer Edition組織・トライアル組織 | 5 |
| 本番組織・Sandbox組織 | 25 |
この制限は、実行時間が20秒以上かかるAPI要求にのみ適用されます。実行時間が短い要求には同時実行数の制限はありません。制限を超えた場合、「REQUEST_LIMIT_EXCEEDED」エラーが返されます。
APIコール数の制限に達した場合の対処法
組織のAPIコール数が制限に達した、または超過した場合でも、Salesforceは一定量の操作の継続を許可することがあります。これは予期しないワークロードの急増時にワークフローがブロックされることを防ぐための措置です。
短期的な対処法
- 不要なAPI連携やバッチ処理を一時停止する
- APIコールの実行頻度を調整する(例:5分ごと→10分ごと)
- バルクAPI(Bulk API)を活用して、複数レコードを1回のコールで処理する
- REST API複合リソースを使用して、クライアントとサーバー間の往復回数を最小化する
長期的な対処法
- 追加のAPIコールアドオンを購入する
- ユーザーライセンス数を増やす(自動的にAPIコール数も増加)
- パートナーアプリケーションのAPI使用効率を確認し、最適化を依頼する
- カスタム統合プログラムのコード最適化を実施する
※出典:Salesforce Developer – API要求の制限と割り当て
APIコール数を増やす方法
組織でのAPI要求数を増やす必要がある場合、以下の方法があります。
ユーザーライセンスの追加
ユーザーライセンスを追加することで、ライセンスあたりの追加コール数が自動的に加算されます。Enterprise Editionの場合、Salesforceライセンス1つにつき1,000コールが追加されます。
APIコールアドオンの購入
ユーザーライセンスを増やさずにAPIコール数だけを増やしたい場合は、APIコールアドオンの購入が可能です。詳細はSalesforceの営業担当者またはアカウントエグゼクティブにお問い合わせください。
APIコール数を削減するベストプラクティス
APIコールアドオンを購入する前に、まず現在のAPI使用状況を見直し、不要なコールを削減することが重要です。
Bulk APIの活用
大量のデータを処理する場合は、通常のREST APIやSOAP APIではなく、Bulk APIまたはBulk API 2.0を使用しましょう。Bulk APIは大量レコードを効率的に処理でき、APIコール数を大幅に削減できます。
複合リソースの利用
REST API複合リソースを使用することで、複数の操作を1回のAPIコールにまとめることができ、クライアントとサーバー間の往復回数を最小限に抑えられます。
キャッシュの活用
頻繁にアクセスするが変更頻度の低いデータは、クライアント側でキャッシュすることで、APIコール数を削減できます。
バッチ処理の最適化
定期的なデータ同期やバッチ処理を実行している場合は、実行頻度とタイミングを見直しましょう。必要最小限の頻度に調整することで、APIコール数を削減できます。
DebuggingHeader付きAPIコールについて
通常のAPIコール制限とは別に、DebuggingHeaderを含むAPIコールには、24時間あたり1,000コールの別枠の割り当てがあります。組織の合計要求制限に達した後でも、これらのコールは引き続き実行できるため、トラブルシューティング時に有用です。
まとめ
Salesforce APIコール数の制限について、基本的な仕組みから確認方法、対処法まで詳しく解説しました。重要なポイントをまとめます。
- APIコール数の制限は、エディションとライセンス数によって決定される
- システムの概要ページや組織情報ページから簡単に使用状況を確認できる
- API使用状況通知を設定して、制限超過を事前に防止できる
- Bulk APIや複合リソースを活用して、APIコール数を効率化できる
- 必要に応じて、ライセンス追加やAPIコールアドオン購入で制限を増やせる
APIコール数の管理は、安定したSalesforce運用に不可欠です。定期的に使用状況を確認し、制限に達する前に適切な対策を講じることで、ビジネスの継続性を確保できます。最新の制限値や詳細情報については、Salesforce公式ドキュメントを参照することをお勧めします。
