1. APIとは?
API(Application Programming Interface)とは、
ソフトウェアやアプリ同士がやり取りするための「窓口」や「接点」 のことです。
💡 例えるなら…
「アプリA」が「アプリB」に「データちょうだい!」とお願いする(リクエスト)
「アプリB」が「はい、これ!」と返す(レスポンス)
💡 APIの基本的な役割
- システム間連携を可能にする
- 機能を再利用して開発効率を上げる
- 標準化された形式(JSONやXMLなど)でデータをやり取りする
2. API連携でできること
API連携を利用することで、システムやサービスのアプリケーションを0から開発する必要がなく、簡単に他のサービスと連携し、サービスを拡張することができます。
| 機能 | 具体例 |
|---|---|
| データ取得 | Salesforceに登録された顧客・商談を外部アプリで閲覧 |
| データ作成/更新/削除 | 別システムからSalesforceに新しい顧客を登録 |
| 一括処理 | 数万件〜数百万件のデータをまとめて移行 |
| リアルタイム通知 | レコード変更を即座にチャットツールに通知 |
3. SalesforceのAPIの種類と役割
| API 名称 | 特徴 | 主な利用ケース |
|---|---|---|
| REST API | HTTP / JSON(軽量) 標準的な CRUD 操作(Create, Read, Update, Delete) 同期処理 |
Web/モバイルアプリとの連携 軽めのデータ操作や検索 |
| SOAP API | XML / WSDL ベース 厳格で仕様に沿った通信 同期処理 |
ERP など企業システムとの統合 契約(インターフェース定義)が明確なシーン |
| Bulk API | 大量データを非同期で一括処理 ジョブ単位で実行し、結果を後で取得 |
数万〜数百万件のデータ移行やバッチ処理 大量インポート/エクスポート |
| GraphQL API | 必要なフィールドだけ柔軟に取得可能 ネストしたデータも一度に取得できる |
複雑なデータを効率よく取得したい場合 UI 向けに最適化されたレスポンスを返したいとき |
| Tooling API | 開発者向け API - Apex、デバッグログ、テスト実行など開発作業を操作可能 |
IDE / 開発ツール連携 自動テスト、ログ取得など開発支援用途 |
| Metadata API | Salesforce の構成(オブジェクト、項目、ページレイアウトなど)を操作 環境間の設定移行に利用 |
サンドボックス → 本番環境への設定移行 CI/CD パイプラインでのデプロイ |
▶ データを扱いたい?
├─ はい
│ ├─ 少量 or アプリ連携が目的 → REST API
│ ├─ 既存のエンタープライズシステムと連携 → SOAP API
│ ├─ 大量データを一括処理したい → Bulk API
│ └─ UI向けに必要なデータだけ効率的に取得したい → GraphQL API
│
└─ いいえ(設定や開発を操作したい)
├─ 環境間の設定移行をしたい → Metadata API
└─ 開発支援(Apex実行、ログ取得、テストなど) → Tooling API
4. APIを使う際の注意点
API 利用時には、正しく・安全に・効率よく使うための注意点があります。
- 認証が必須:OAuthやセッションIDを使う
- ガバナ制限:呼び出し回数やデータ件数に制限あり
5. エンドポイントとは?
エンドポイントとは、API を呼び出すときの「玄関口(URL)」のことです。
外部システムは、このエンドポイントに対してリクエストを送り、Salesforce からレスポンスを受け取ります。
例:Salesforce の REST API で Account オブジェクトを操作する場合
"https://yourInstance.salesforce.com/services/data/v57.0/sobjects/Account/"
- yourInstance → 利用中の Salesforce インスタンス(例:na1、ap15 など)
- v57.0 → API バージョン番号
- /sobjects/Account/ → 操作対象オブジェクト
💡 URL と認証情報、HTTP メソッド(GET / POST / PATCH / DELETE)を組み合わせることで、「データ取得」「新規登録」「更新」「削除」などの操作を行えます。
6. まとめ
- API(アプリケーション間の窓口) は、システム同士を安全かつ自動で連携させるための基本的な仕組み
- API 連携により、Salesforce のデータ取得・登録・設定操作・リアルタイム通知などが可能
- Salesforce には用途別に複数の API(REST / SOAP / Bulk / Streaming / Metadata / Tooling など)があり、用途によって使い分ける
-エンドポイント = APIを呼び出すURL(+HTTPメソッド・パラメータ必須)
7. 参考資料
