Salesforceは、標準機能だけでも非常に強力なSFA・CRMツールです。しかし、APIによって異なるシステムとデータ連携を行うことで、さらなる価値を引き出すことができます。たとえば、顧客情報の自動同期、外部システムからのデータの取り込み、他ツールによるデータ分析・可視化などが可能です。
本記事では、SalesforceのAPI連携について、提供されているAPIの種類や具体的な設定方法、活用事例を詳しく解説します。また、ETLツールを活用したAPI連携の効率的な運用方法についてもご紹介します。
Salesforceとは
Salesforce(セールスフォース)とは、米国Salesforce社が提供するクラウドベースの顧客管理(CRM)システムです。
「Salesforce」とは、単体のサービスや機能の単称ではなく、Sales CloudやService Cloudなどの複数サービスを組み合わせたプラットフォームの総称です。自社の事業内容や利用目的に応じて、いくつかのサービスを選定することで、導入効果を最大化できます。
CRMとしての機能を中心に、営業活動の効率化を目的に利用されます。またCRM機能以外にも、マーケティングオートメーション(MA)や営業支援(SFA)の機能も提供されており、Salesforceひとつで営業領域全体をカバーすることが可能です。
たとえば、マーケティングでは継続率の改善や顧客ロイヤルティの向上に活用できますし、カスタマーサクセスでは対応の効率化やクレーム軽減による顧客満足度の向上に活用できます。さらに、データを売上予測やコスト削減に活用し、データドリブンな意思決定に繋げることが可能です。
Salesforceは、CRMツールとして売上世界No.1の実績を誇り、スタートアップから大企業まであらゆる規模の企業に導入されています。現代ビジネスにおいて、営業活動の効率化やデータドリブン経営の推進に欠かせない存在だといえるでしょう。
SalesfoceのAPI連携でできること
APIとは、あるソフトウェアの機能を別のソフトウェアから呼び出す仕組みであり、異なるアプリどうしをつなぐ接点となります。
Salesforceについても、いくつかのAPIが提供されており、外部サービスとの連携が可能です。API連携によってできることを知り、活用の幅を広げましょう。
データベースとの連携
APIを利用することで、Salesforce内のデータを外部のデータベースへ自動反映させることが可能です。
たとえば、Salesforce APIの1つであるREST APIを利用すれば、「顧客情報が更新された」「商談状況が変更された」など、Salesforce上で変更が発生した際、自動的に外部のデータベースに変更内容を反映させられます。
これにより、データベースの管理者は、直接Salesforceにアクセスしなくても最新の情報を把握できるようになるのです。
データの自動反映により、手作業によるデータ入力を削減できる点もメリットです。入力ミスや重複データの発生のリスクを抑制でき、データの整合性の保持に寄与します。さらに、手動の入力作業が削減されることで、本来の価値ある業務に注力できるようになるでしょう。
MAツールとの連携
MAツールとSalesforceのAPI連携により、マーケティングと営業の連携が強化され、一連のプロセスがよりスムーズかつ効果的になります。
たとえば、Salesforceに登録されたリード情報をMAツールとリアルタイムで共有することで、適切なタイミングでアプローチできるようになります。また、MAツールで取得したWeb上の行動履歴をSalesforceへ共有し、営業が見込み顧客の関心度合いを把握することも可能です。
商談成立後においても、いくつかのメリットがあります。たとえば、Salesforce内の受注データをMAツールに連携し、購入履歴や利用状況を分析することで、上位サービスや関連サービスの提案を実施できます。また、定期的なフォローアップメールやサポート施策を実施できるようになれば、カスタマーサクセスの強化にもつながるでしょう。
BIツールとの連携
BIツールをより活用するために、Salesforceとデータウェアハウス(DWH)を基軸に複数のシステムを連携させることで、より高度なデータ分析が可能になります。
Salesforceには標準のレポート機能やダッシュボード機能がありますが、これだけではSalesforce以外のシステムデータを活用した分析や大規模なデータ処理には限界があるでしょう。
そこで、SalesforceとDWHを連携し、SalesforceのデータをDWHに格納したうえで、BIツールに接続します。DWHを介することで、大規模なデータ処理をDWHが担い、Salesforce自体の処理負荷を軽減できるのです。
さらに、DWHにSalesforce以外のシステムデータも統合することで、BIツール上で複数データを組み合わせたクロス分析が可能となります。たとえば、Salesforceの商談データと会計システムの請求データを組み合わせれば、成約後の実際の売上を可視化することが可能です。
チャットツールとの連携
Salesforceとビジネスチャットツールを連携させることで、特定のイベントが発生した際に、通知を自動送信するしくみを構築できます。
Salesforce自体にも、標準の通知機能は搭載されています。しかし近年では、ビジネス上のやり取りやタスク管理を、SlackやChatworkなどのビジネスチャットツールを用いる場合が多いです。そのため、Salesforceの通知も、チャットツールで一元的に管理できた方が便利でしょう。
たとえば、Salesforceに新規リードが登録された際、チャットツールへ自動的に通知される設定にします。このしくみであれば、リード情報の追加を見逃すことなく、その後の迅速なフォローアップにつなげられます。
さらに、チャットツールにもよりますが、送信先をカスタマイズすることが可能です。これにより、営業チームやマーケティングチームなど、通知が必要な部署にのみ情報共有を行えます。また、通知内容も変更できるため、リードの重要度やステータスに応じて柔軟に対応できます。
Salesforce API一覧
2025年2月現在、Saleforceでは12種類のAPIが提供されています。
Salesforce API:https://help.salesforce.com/s/articleView?id=platform.integrate_what_is_api.htm&type=5
API 参照名 | API 種別 | データ形式 | 通信 |
REST API | REST | JSON,XML | 同期 |
SOAP API | SOAP(WSDL) | XML | 同期 |
Connect REST API | REST | JSON,XML | 同期 (写真の処理は非同期) |
Apex REST API | REST | JSON,XML,カスタム | 同期 |
Apex SOAP API | SOAP(WSDL) | XML | 同期 |
Analytics REST API | REST | JSON,XML | 同期 |
User Interface API | REST | JSON | 同期 |
GraphQL API | GraphQL | JSON | 同期 |
Tooling API | REST,SOAP(WSDL) | JSON,XML,カスタム | 同期 |
Bulk API 2.0 | REST | CSV | 非同期 |
Metadata API | SOAP(WSDL) | XML | 非同期 |
Pub/Sub API | gRPC,プロトコルバッファ | Binary | 非同期 |
本セクションでは、それぞれのAPIがどのようなケースで使用されるのかをご説明します。
1. REST API
REST APIとは、REST(REpresentational State Transfer)と呼ばれる規格で設計されたAPIで、いわゆる一般的なWeb APIです。RESTful APIとも呼ばれています。Salesforceの機能やデータにアクセスするための基本的な手段です。
役割としては、後述のSOAP APIと非常に似通っていますが、REST APIの方が柔軟性・拡張性に優れています。そのため、Webアプリケーションやモバイルのデータ統合や、大規模・複雑なタスクによく用いられます。
またREST APIは、開発のしやすさが特長です。たとえば、HTTPメソッドを利用していたり、JSON形式・XML形式に対応していたり、一般的なWeb技術に基づいています。したがって開発者は、新たな専門知識を必要とすることなく、迅速に開発を進められます。
2. SOAP API
SOAPとは、Simple Object Access Protocolの略で、異なるプログラムやプラットフォーム間で情報を交換するためのプロトコルです。SOAP APIは、Salesforceが提供するAPIの中でもっとも歴史が長いAPIで、さまざまなケースで使用されています。
SOAP APIは、XML形式に準拠しています。XMLは、データ構造を自由に定義できる点や、データの送受信や管理作業の簡易化に有用な点から、幅広いシーンで活用されています。また、その自由なデータ構造により、比較的拡張性が高く、特定のビジネス要件に合わせたカスタマイズが可能です。
SOAP APIには、レコードの取得・更新やデータ検索など、システム間のデータ統合を実施するに必要な機能が備わっています。これにより、SalesforceをERPや会計ソフトと連携させることが可能となるのです。
SOAP APIは厳密な仕様にもとづいており、安全性・信頼性に優れています。一方、前述のREST APIは、シンプルでより柔軟性が高い特徴を持ちます。セキュリティが求められる場合はSOAP API、クライアントとの軽量なデータ通信にはREST APIなど、目的に合わせて使い分けましょう。
3. Connect REST API
Connect REST APIは、通称「Chatter API」とも呼ばれており、SalesforceのChatter機能に特化したAPIです。Chatter機能とは、モバイルアプリケーションやWebアプリケーション上で利用できる、社内SNS・ビジネスチャット機能です。
Connect REST APIを使用することで、Salesforce内のレコードやファイルをコミュニティプラットフォームと統合し、他のメンバーと迅速に情報共有できるようになります。
RESTの規格に基づいているため、HTTPメソッド、JSON形式・XML形式に対応しています。したがって、Webやモバイルの技術と互換性が高く、開発のハードルが低い点が特長です。
4. Apex REST API
Apex REST APIは、Salesforce独自のプログラミング言語「Apex」を活用したAPIであり、カスタムREST APIを作成するための機能です。ApexクラスのメソッドをRESTエンドポイントとして公開することで、Salesforce内のデータを外部システムと連携したり、カスタムビジネスロジックを実装したりできます。
たとえば、カスタムデータ管理の一例として、複合主キーを使用したレコード管理が可能です。この管理方法は、複数のフィールドを統合して一意の識別子として扱うケースに有用です。
セキュリティ面においては、OAuth 2.0認証とセッション ID認証の両方をサポートしており、安全にアクセス制御を行えます。
5. Apex SOAP API
Apex SOAP APIは、Salesforce独自のプログラミング言語「Apex」を活用したAPIであり、カスタムSOAP APIを作成するための機能です。REST APIとは異なり、XML形式のみを使用し、厳格なデータスキーマ(WSDL)に基づいて外部システムと通信します。
おもに、エンタープライズ向けのシステム統合やトランザクションの信頼性が求められる環境で使用されます。たとえば、「ERPや会計システムとSalesforceのデータを同期する」ケースや、「複数の注文データを一括で登録し、一部失敗時にはロールバックする」ケースに利用されます。また、政府系のシステムなど、通信に高い安全性が求められるケースにも有用です。
Apex REST API同様、OAuth 2.0認証とセッションID認証の両方をサポートしています。
6. Analytics REST API
Analytics REST APIは、Salesforce内のデータ分析に使用するデータ群「データセット」や、これらのデータをグラフや表として可視化した「レンズ」にアクセスできるAPIです。
Analytics REST APIを活用することで、Salesforceの分析機能を外部システムと容易に連携できます。たとえば、Salesforce内に存在する、レポートやダッシュボードにアクセス可能です。また、データセットバージョンのリストを取得したり、Analyticsアプリケーションの開発・管理をしたりできます。
7. User Interface API
User Interface APIは、その名の通り、Salesforce上でカスタムUIを構築するためのAPIです。Webアプリケーション・モバイルアプリケーションを構築する際、ユーザーや顧客の操作体験を向上させるために活用されます。
User Interface APIを利用することで、レコードの操作やリストビューのカスタマイズ、アクションの統合などが可能となり、直感的なUIの構築に寄与します。
2015年、Salesforceは「Lightning Experience」という新たなUIを導入しました。これは、従来のSalesforceと比べると、より直感的に使いやすく、柔軟にカスタマイズできるUIでした。このLightning Experienceをs支えているのが、User Interface APIです。
8. GraphQL API
GraphQL APIは、1回のリクエストで必要なデータだけを取得できるAPIです。
REST APIのデータ取得では、エンドポイントごとに固定されたデータが取得されてしまいます。そのため、たとえばユーザーの電話番号のみを取得しようとしても、担当者名や住所などの不要なデータまで取得してしまう(オーバーフェッチ)場合があるのです。これにより、過不足なくデータを取得するためには、複数のエンドポイントにリクエストを送信する手間が生じます。
一方GraphQL APIは、クエリで取得するデータ項目を指定し、必要なフィールドのみを取得できます。そのため、1回のリクエストで必要なデータのみを取得でき、エンドポイントの構築や送受信にかかる手間を削減できるのです。
GraphQL APIを利用することで、たとえば、ダッシュボード表示の高速化を実現できます。REST APIでは、リードや取引先、商談に関するデータを、それぞれのエンドポイントから取得する必要があります。しかしGraphQL APIなら、1回のリクエストで必要なデータを取得できるため、ダッシュボードの表示を高速化することが可能です。
9. Tooling API
Tooling APIは、Salesforceのメタデータをプログラムで操作・管理するためのAPIです。
通常、SalesforceのApexクラスやVisualforceページの作成・編集は、開発者コンソールやSalesforceのUIを通じて行います。しかし、Tooling APIを利用することで、外部ツールやスクリプトを通じて自動化やバッチ処理が可能になります。
これにより、CI/CDのパイプラインに組み込めたり、スクリプトを実行するだけでApexクラスやVisualforceのページを自動デプロイできたりするのです。
また、株式会社セールスフォース・ジャパンが提供するビジネスアプリケーションプラットフォーム「Force.com」の機能拡張を実現できるのも特徴です。Tooling APIは、Force.comを使って、契約管理やマーケティング管理などの業務アプリケーションをカスタム開発したいケースで役立ちます。
10. Bulk API(Bulk API 2.0)
Bulk APIは、大規模なデータセットの操作に最適化されたAPIです。非同期でデータ処理を行い、1,000〜1,000,000件程度のレコードの一括処理に適しています。
SOAP APIやREST APIのように、リアルタイム処理に対応したAPIの場合、1回のリクエストで処理できるレコード数に制限が存在します。しかしBulk APIは、バッチ処理を実行できるため、大量のデータを効率的に処理できるのです。
おもなユースケースとしては、新規リード情報をSalesforceに一括登録する場合や、不要となった商談データを一括削除する場合などが挙げられます。
11. Metadata API
Salesforceには、大きく分けて、「ビジネスデータ」と「メタデータ」の2種類のデータが存在します。
ビジネスデータとは、会社のビジネスに直接対応するレコードであり、以下のようなデータが該当します。
- 顧客データ
- 製品データ
- 住所
一方メタデータとは、Salesforceの機能や構成を定義する(レコード以外の)データであり、以下のようなデータが該当します。
- データベーススキーマ
- リレーションシップの定義
- ワークフロー
- Apexクラス・Visualforceページ
Metadata APIは、これらのメタデータを効率的に操作するためのAPIです。通常、設定は設定画面で手動変更できますが、Metadata APIを使えば、大規模な設定変更や環境の移行を一括で操作・自動化できます。
12. Pub/Sub API
Pub/Sub API(Publish/Subscribe API)は、Salesforce内外のシステム間で、リアルタイムにイベントを交換するためのAPIです。従来のStreaming APIの拡張版として登場し、大規模なデータのやり取りや分散システムとの統合を容易にしています。
イベント駆動型アーキテクチャ(EDA)に対応しており、 変更データキャプチャ(CDC)やカスタムイベントのリアルタイムな処理が可能です。また、gRPCプロトコルを使用しており、高速で柔軟性のある通信を実現しています。
公開されたイベントはイベントバスに72時間保持されるため、ネットワーク接続が一時的に失われた場合でも、その期間内のイベントデータを後から取得し、処理することが可能です。
おもなユースケースとしては、特定のイベントが発生した際、自動的に関連システムに反映・通知送信するケースが考えられます。たとえば、「Salesforceの商談データが更新されたら、ERPシステムに即時反映する」といったシステムを構築可能です。
SalesforceのAPIの注意点
API利用の可否
一部のEditionでは、上記12種のAPIを利用できません。また、利用可能なEditionであっても、各APIにおけるアップロード時の最大ファイルサイズなどは異なります。
Salesforceの導入を検討する際には、自社のAPI利用の要件と照らし合わせ、適切なEditionを選択するようにしましょう。また、現在契約しているEditionではAPIアクセスが有効でない場合は、将来的な機能拡張も想定し、適宜アップグレードを検討するとよいでしょう。
Edition | API利用の可否 | 説明 |
Essential EditionGroup Edition | 利用不可 | APIアクセスは完全に無効 |
Professional Edition | 有償 | APIアクセスはデフォルトで無効だが、追加契約により利用可能 |
Enterprise EditionUnlimited EditionPerformance EditionDeveloper Edition | 利用可能 | APIアクセスはデフォルトで有効 |
要件に適したAPIの選定
前セクション「Salesforce API一覧」でもご紹介した通り、Salesforceは多様なAPIを提供しています。そのため、API連携にあたっては、自社の要件に最適なAPIを使用することが求められます。
まず、外部システムとのデータ連携を実装したい場合は、そのデータ量に注意が必要です。たとえば、扱うデータ量が大規模なデータセットの場合は、高額なAPIコストが発生してしまう恐れがあるため、同期型のREST APIやSOAP APIよりも、非同期型のBulk APIの方が適している可能性があります。
また、当然ながら、「要件を実現するための機能」をもつAPIを選定する必要があります。たとえば、Salesforceの解析機能を利用したい場合はAnalytics REST API、リアルタイムでデータを取得・通知したい場合はPub/Sub APIが妥当です。適切なAPIを選定できるよう、自社の要件を事前に明確にしておきましょう。
API制限
Salesforceでは、システムの安定性を保ち、すべてのユーザーが快適に使えるようにするために「APIの使用制限」が設けられています。この制限は、SOAP APIやREST APIなど、主要なAPIに適用されます。
SalesforceのAPI制限は、以下の3種類です。
- 同時API要件制限
同時に実行できるAPIリクエスト数の制限です。たとえば、同時に100件のAPIリクエストを送れる設定の場合、それ以上のリクエストは一時的にブロックされます。
- API監視制限
特定の期間内に送信できるAPIリクエスト数を監視する制限です。短時間に大量のAPIリクエストを送ると、制限に達してエラーが発生するケースがあります。 - 合計API要求の割り当て
1日あたりに送信できるAPIコール数の上限です。APIコール数の制限は、デフォルト上限+ライセンス数×ライセンス種類ごとの上限で算出します。たとえば、Enterprise Editionの10コール数なら、100,000+10×1,000=110,000 件が上限となります。
以上のように、Salesforce APIは、同時接続数・短時間でのリクエスト数・1日のリクエスト数の3つの点で制限されています。大規模なデータを扱う場合は、適宜Bulk APIを活用するなど、制限を超えないように工夫して利用しましょう。
TROCCOとSalesforceでサービス連携を簡単に実現
APIを用いてデータ連携を実装しようとする場合、APIに関する専門的な知識やプログラミングスキルが必要となるケースが多いです。また、API連携後も、APIエラーの原因特定やログ分析などの際に専門知識が求められます。
一方、クラウドETLツールである「TROCCO」を利用すれば、GUI上の操作のみでデータ連携を設定できるため、APIに関する専門的な知識やプログラミングスキルがない方でも運用可能です。また、エラー通知や詳細なログ管理の機能を備えており、エラーの原因特定やログ分析も容易に行えます。
またAPI連携では、複数のシステムとデータ連携を行いたい場合、それぞれのシステムごとに仕様が異なるため、個別に接続設定を行う必要があります。一方TROCCOには、あらかじめ多くのコネクタが用意されているため、個別のAPI仕様を理解せずとも、複数のサービスとのデータ連携をGUI上で設定可能です。
API連携以外でも実現できる業務効率化
Salesforce APIを活用することで、外部システムとのスムーズなデータ連携やワークフローの自動化を実現できます。ただ、クラウドETLツールである「TROCCO」を活用すれば、Salesforceの活用価値をさらに引き出すことが可能です。
ここでは、TROCCOを用いて、Salesforceのデータをノーコード・ノープログラミングで可視化する方法をご紹介します。
SalesforceのデータをBigQueryに自動同期し、Tableauで可視化する
数千/数万単位のデータをリアルタイムで分析したい場合や、Salesforce以外のサービスで収集したデータを組み合わせて分析したい場合には、DWHの活用が有効です。ここでは、SalesforceのデータをBigQueryへ統合し、Tableauで可視化する流れをご紹介します。
- TROCCOを使用して、SalesforceからBigQueryへのデータ転送を設定します。
- 転送したいレポートタイプやメトリクスを選択します。
- スケジュール設定を行い、定期的にデータを更新します。
- BigQueryにデータが転送されたら、Tableauで接続設定を行います。
- Tableauで広告パフォーマンスを分析するためのダッシュボードを作成します。
SalesforceのデータをSnowflakeに自動同期し、Tableauで可視化する
ここでは、DWHとしてSnowflakeを、BIツールとしてTableauを使用する活用例をご紹介します。この方法に関しても、SnowflakeからTROCCOを用いてDWHへデータ転送し、BIツールで可視化する流れは同じです。
- TROCCOにより、SalesforceからSnowflakeへのデータ転送を設定します。
- 転送したいレポートタイプやメトリクスを選択します。
- スケジュール設定を行い、定期的にデータが更新されるようにします。
- Snowflakeにデータが転送されたら、Tableauで接続設定を行います。
- TableauでSalesforceの顧客データを分析するためダッシュボードを作成します。
SalesforceのデータをAmazon Redshiftに統合し、Lookerで可視化する
ここでは、DWHとしてAmazon Redshiftを、BIツールとしてLookerを使用する活用例をご紹介します。この方法に関しても、基本的な流れは同じです。
- TROCCOにより、SalesforceからAmazon Redshiftへのデータ転送を設定します。
- 転送したいレポートタイプやメトリクスを選択します。
- スケジュール設定を行い、定期的にデータが更新されるようにします。
- Amazon Redshiftにデータが転送されたら、 Lookerで接続設定を行います。
- Lookerにて、Salesforceの顧客データを分析するためダッシュボードを作成します。
まとめ
本記事では、SalesforceのAPI連携について、提供されているAPIの種類や具体的な方法、注意点について解説しました。API連携でできることや注意点を正しく理解し、さらなる業務効率化・自動化につなげましょう。
一方、本記事の中でもご紹介した通り、データ連携・業務効率化にはETLツールの利用も効果的です。APIでの連携の場合、プログラミングスキルが必要となったり、接続先ごとに設定が必要となったりします。しかし、ETLツールではそれらの壁を克服し、簡単に業務効率化に着手できます。
TROCCOは、ETL/データ転送・データマート生成・ジョブ管理・データガバナンスなどのデータエンジニアリング領域をカバーした、分析基盤構築・運用の支援SaaSです。プロダクトに興味がある方や自社のデータ連携のお困りの方は、ぜひ一度primeNumberにご相談ください。
