Salesforce APIの完全ガイド:基礎から応用まで徹底解説
この記事でわかること
- Salesforce APIの基礎や役割
- Salesforce APIの種類や特徴
- Salesforce API設定の基本的な手順や考え方
- Salesforce APIのトラブルシューティング
執筆者 取締役 / CTO 内山文裕
Salesforceの導入・運用する中で、「Salesforceのデータを他のシステムからも参照したい」「他のシステムからSalesforceのデータを作成したい」と考えたことはありませんか?Salesforceは様々なAPIを公開しており、他システムとのデータ連携を実現することができます。
本記事では、Salesforce APIの概要や種類、基本的な設定方法について解説していきます。利用時のトラブルシューティングについても解説しているため、本記事読了後にはSalesforce APIを活用した基本的な開発が可能になります。自社システムの開発にAPIを活用したいと考える人はぜひ参考にしてみてください。
参照:Salesforce(セールスフォース)とは?製品群や機能、メリット・デメリットを簡単に解説!
目次
Salesforce APIとは?基本概念の理解
こちらでは、APIの基本的な概念やSalesforce社が提供するAPIの種類や特徴について解説していきます。
APIの基本的な役割とSalesforceでの活用
そもそもAPIとは「Application Programming Interface」の略称で、アプリケーションに対して処理の指示・処理結果の受け取りを行う仕組みのことを指します。アプリケーションが具備する機能を外部から呼び出すことができ、アプリケーションが管理するデータへのアクセスや機能の実行をすることができます。Saleseforceではオブジェクトのデータ取得やフロー・Apexなどの呼び出しなど、様々な機能がSalesforce APIとして提供されています。
Salesforce APIの種類と特徴
現在Salesforce APIでは目的やユースケースに応じた12種類のAPIが公開されています。
- REST API
- SOAP API
- Connect REST API
- Apex REST API
- Apex SOAP API
- Analytics REST API
- ユーザーインターフェース API
- GraphQL API
- Tooling API
- Bulk API 2.0
- メタデータ API
- Pub/Sub API
本記事では上記の中でも利用頻度の高い「REST API」、「SOAP API」、「Bulk API 2.0」に関する特徴について解説していきます。
REST API
REST APIは、RESTful規則に基づいたSalesforceのデータや機能にアクセスするための基本的なAPIの1つです。柔軟性と拡張性に優れており、モバイルアプリケーションやWebアプリケーションに統合させたり、大規模で複雑な操作を行うケースに適しています。
SOAP API
SOAP APIは、言語やプラットフォームに依存しない業界標準プロトコルであるSOAP(Simple Object Access Protocol)をベースにしたAPIです。SOAP APIを使用することでレコードの作成や取得、更新、削除などの操作ができます。言語に依存しないため使用している言語で利用できることが魅力です。
SalesforceをERPや会計システムと統合したり、リアルタイムで営業情報を会社のポータルに配信したりとサーバー間インテグレーションの作成を行うケースに適しています。
Bulk API 2.0
Bulk APIは、大量データの一括読み込みやクエリに特化したRESTful APIです。大量のデータを非同期に挿入、更新、削除が可能で、2,000レコードを超えるデータ操作を行うケースに適しています。
Salesforce APIの設定ステップバイステップ
こちらではSalesforce APIの設定方法について、その前提条件と安全に利用するための設定とベストプラクティスについて解説していきます。
APIアクセスのための前提条件
APIにアクセスして利用するためには、IDや設定、環境などの必要な前提条件があります。種別によっては、指定のプログラミング言語がある場合があるため、前提条件として押さえておくとよいでしょう。
必要なシステム要件
Salesforce APIを利用する際に、Enterprise Edition、Unlimited Edition、Developer Edition、Performance Edition、Professional Edition (アドオン付き) のいずれかを使用したシステムと権限を付与したユーザーが最低限必要です。またAPIの呼び出しをするには別途認証が求められます。サポートされているOAuthフローのいずれか、もしくはSOAP API login()コールから取得したセッションIDを利用することで認証できます。
APIによって求められる準備が異なるため、利用に合わせて種別毎に求められる準備が必要です。例えば、前述で紹介したREST APIやBulk APIはcURL言語が使用され、SOAP APIはWSDLファイルの生成が必要になります。ガイドなども活用してシステム要件を整えましょう。
ユーザー権限の設定
APIを使用するためにはインテグレーション用ユーザーアカウントにログインすることが必要です。またユーザー権限や共有設定も行うことで外部システムに制限が設けられるため、API活用の事前準備としてインテグレーションユーザーの権限設定を行いましょう。
インテグレーション用ユーザーとプロファイルを作成し、[設定]にて該当ユーザーのシステム管理者権限の中の「APIの有効化」を有効にすることで設定完了です。
APIを安全に利用するための設定
外部ツールと連動するうえで気を付けたいのがセキュリティ対策です。対策を怠ってしまうと、API連動時に情報流出してしまう危険性が高まります。
こちらでは、APIを安全に利用するために必要な設定などについて見ていきましょう。
セキュリティプロトコルの設定
Salesforce APIでは、セキュリティ確保のためにHTTPS接続が推奨されています。HTTPSは、データの暗号化とセキュリティの保証がされており、より機密性の高いデータを扱う場合に活用するプロトコルとして適しています。
また認証プロトコルとしてOAuth (Open Authorization)認証が設定可能です。認証することで外部ツールからSalesforceデータに安全にアクセスできるようになります。Salesforceの[設定]-[アプリケーション]-[アプリケーションマネージャー]を開き、「新規接続アプリケーション」内の「OAuth 設定の有効化」にチェックすることで設定が可能です。
アクセス制御と監視
インテグレーション用ユーザーアカウントのセキュリティを確保するために、アクセス制御と監視が必要不可欠です。アクセスログの監視や不正アクセスや異常の検知をすることでアクセス制御を行い、不正アクセスやデータ漏洩のリスクの低減効果が期待できます。
APIのアクセスログは、「リアルタイムイベント監視オブジェクト」での追跡が可能です。以下のイベントはAPIの活用状況や活用時に異常が発生した場合に、データとして残るため常にリアルタイムで検知できます。
- ApiAnomalyEvent
- ApiEvent
- BulkApiResultEvent
Salesforce APIを活用する具体的な例
こちらでは、Salesforce APIを活用する際の使用例について解説していきます。
データ連携の事例
こちらではいくつかのデータ連携の事例について見ていきましょう。
他システムとのデータ連携
Salesforceと他システムとのデータや機能の連動をすることでSalesforce APIは活用されています。例えばSOAP APIを用いることで、選択したプログラミング言語およびプラットフォームを使用して、Salesforce組織をERPや会計システムと統合可能です。リアルタイムの販売情報やサポート情報を配信することにも活用できます。
メタデータの移管・統合
メタデータの移動にもAPIが活用されています。ある程度の規模であれば通常のAPIでも実施可能ですが、大規模な変更をリリースする場合にはメタデータ APIが適しています。例えば、企業の組織統合などで両社ともSalesforceを利用している場合などには、組織をマージするためにメタデータ APIの活用が推奨されています。
自動化の事例
Salesforce APIは、業務プロセスの自動化やワークフローの最適化にも活用されます。例えば、顧客とのオンライン面談を実施するように行動登録を行った後に自動的にZOOMを作成することをAPIで実施可能です。自動的にZOOM面談の設定ができるため個別に登録する手間を省くことができます。
その他にも、Google DriveなどのクラウドサービスとAPI連携させることで、業務資料の自動格納を実施可能です。業務自動化に役立つツールとの連動や、他ツールへのデータ連携を自動化することで、従来の入力作業などの手間を省き、重要な業務に割ける時間を増やすことができます。
よくあるトラブルとその解決策
こちらでは、Salesforce APIを利用するうえでよくあるトラブルとその解決策について紹介していきます。
認証エラーと対処法
APIで利用されているOAuth認証中にエラーが発生する場合があります。エラーの原因としてユーザーが接続アプリケーションへのアクセスを拒否したり、要求パラメーターに誤りがあったりした場合などさまざまです。認証エラーが発生すると標準のエラーコードが返されます。各エラーコード毎に原因が異なるためそれぞれの説明を理解してトラブルシューティングに備えることが重要です。
OAuth認証エラーのエラーコードと説明は公式サイトよりご確認ください。
データ同期の問題とその対処法
Salesforceとデータ同期を行う際に、APIコールを介して同期が実行されます。API利用状況にカウントされるため、上限に達した場合に同期プロセスが失敗しエラーが発生します。その際には、API使用状況を確認してゼロにリセットされることを確認した後、再度同期することで解消可能です。
同期エラーの多くがAPI利用数の制限に達した場合が多く、頻発する際にはSalesforceのAPIの上限を引き上げることを検討しましょう。
APIレート制限の超過と管理
APIレート制限の管理と超過時の対応策。
Salesforceでは、顧客のパフォーマンスを維持し、すべてのお客様がLightning Platform APIを使用できるように以下の観点で制限を設けてトランザクション負荷の調整を行っています。
- 同時 API 要求数の制限
- API タイムアウト制限
- 合計 API 要求の割り当て
それぞれにAPIコール要求制限が設けられており、それを超過するとエラーが返されます。
Salesforce APIの最新アップデート(2023年12月時点)
こちらでは、Salesforce APIの最新アップデート状況について紹介していきます。2023年12月現在では、Summer ’23にリリースされたAPIバージョン58.0が最新です。
新規および変更された項目 | 説明 |
---|---|
オブジェクト | 標準オブジェクトの新規追加・標準オブジェクトの変更 |
標準プラットフォームイベント | 標準プラットフォームイベントの新規追加・標準プラットフォームイベントの変更 |
Connect REST API | 429 HTTP エラーコードの使用可能・リソースが新規追加または変更・リクエストボディが変更・レスポンスボディが変更 |
CRM Analytics REST API | リソースが新規または変更・リクエストボディが変更・レスポンスボディが変更 |
メタデータ API | より多くのメタデータにアクセスするために、メタデータAPIオブジェクトを新規、修正 |
REST API | REST URIでファイル拡張子を受け入れる動作の停止 |
非同期 SOQL の廃止 | Big Object、項目監査履歴、Connect REST APIに使用されている非同期SOQLの廃止 |
Subscription Management API | APIを使用して、セルフサービスB2Bソリューションを作成可能 |
Tooling APIオブジェクト | 新規および変更されたTooling APIオブジェクトを使用して、より多くのメタデータにアクセス可能 |
ユーザインターフェース API | より多くの UI APIリソースへの冪等レコード書き込みによりレコードの重複を防止したり、より多くのオブジェクトの操作が可能 |
GraphQL API | グループ化ありまたはグループ化なしで集計関数を使用して、クエリ結果を分析・ErrorType項目からエラーに関する詳細情報を取得 |
参照:Salesforce Summer’23 公式リリースノート
まとめ
本記事では、Salesforce APIについて理解するためにAPIの概要や種類、試用事例などについて解説してきました。Salesforce APIは、外部ツールとの間でデータや機能を連携するために利用されるため、Salesforce開発ではなくてはならない機能の1つといえるでしょう。
ただ、APIの導入にはプログラミング言語や外部ツールなどに対する知識や理解が必要です。そのため導入したくても難しいと考える人は少なくありません。
弊社では本記事でご紹介したAPI開発に関するご支援が可能です。外部ツールと連動したSalesforceシステムの構築・運用にお困り事ございましたらこちらのお問い合わせフォームよりお気軽にご相談ください。
執筆者 取締役 / CTO 内山文裕
青山学院大学卒業後、株式会社ユニバーサルコムピューターシステムに入社。
大手商社のB2B向けECサイトの構築にて会員登録、見積・注文機能、帳票出力などECにおける主要機能のフロント画面・バックエンドの開発に従事。 その後アクセンチュア株式会社に入社。デジタルコンサルタントとしてWebフロントエンド・モバイルアプリの開発やアーキ構築を主に、アパレル・メディア・小売など業界横断的にシステム開発を支援。また、ビッグデータを活用したマーケティング施策の策定やMAツールの導入・運用支援にも従事。
2022年2月にStrh株式会社の取締役CTOに就任。デジタルプロダクト開発の支援やMAツール導入・運用支援を行っている。
▼保有資格
Salesforce認定アドミニストレーター
Salesforce認定Java Scriptデベロッパー