連携を開発する
最も価値あるアプリのいくつかは、既存の SOIS アプリを外部サービスに接続します。よくある例は、SOIS の会計アプリから QuickBooks へ請求書を同期することです。このガイドでは、連携アプリが SOIS のデータを安全に読み取り、外部サービスに接続する方法を説明します。
連携アプリは第一級のカテゴリです。別のアプリのデータを、ガバナンスされた契約を通じて読み取り、決してそのデータベースを直接は読みません。そして、テナントの同意があるときに限ります。
連携の2つの側面
連携アプリは、2つのものと対話します。
- SOIS アプリ(たとえば会計、倉庫、連絡先)。公開された契約を通じて、そのデータを読み書きします。
- 外部サービス(たとえば QuickBooks)。テナント自身の認証情報で呼び出します。
何と連携するかを宣言する
プロジェクトは、依存する SOIS アプリを宣言します。その宣言は2つのことを行います。あなたのアプリが使ってよい契約を SOIS に伝え、テナントがアプリをインストールするときにそのアクセスを見て承認できるようにします。
契約を通じて SOIS のデータを読む
あなたのアプリは、別のアプリのテーブルには触れません。そのアプリの契約、すなわち操作とデータの形の安定したセットを通じて読みます。エージェントは、それらの形に対してあなたのマッピングを構築します。開発中は、代表的なサンプルデータに対して作業するので、ライブ接続なしで流れ全体を構築し、プレビューできます。
実行時、アクセスはガバナンスされます。
- テナントは、アプリをインストールするときにアプリ間アクセスを承認します。これはあなたのアプリが要求するスコープの一部です。
- 契約は、あなたのアプリが何を読み書きできるかを強制します。テナントの分離が弱められることはありません。
外部サービスを接続する
外部の認証情報は、あなたではなくテナントに属します。あなたのアプリは必要な認証情報(たとえば OAuth 接続)を宣言し、インストールする各テナントが自分のものを提供します。あなたが別のテナントの認証情報を保持することは決してありません。
例: QuickBooks へ請求書を同期する
- あなたのアプリが会計アプリと連携することを宣言します。
- 会計請求書の形を読み取り、SOIS 請求書から QuickBooks 請求書へのマッピングを構築するよう、エージェントに頼みます。サンプル請求書に対して構築し、プレビューします。
- あなたのアプリが必要とする QuickBooks の OAuth 認証情報を宣言します。
- テナントがあなたのアプリをインストールすると、会計へのアクセスを承認し、自分の QuickBooks アカウントを接続します。
- 実行時、あなたのアプリは会計契約を通じて請求書を読み取り、テナントの認証情報で QuickBooks へ送ります。通常はスケジュールまたはトリガーで行います。
良い実践
- フィールドは明示的にマッピングし、外部サービスが、あなたのソースにはないデータを期待する場合に対処します。
- 静かに失敗しましょう。外部サービスが利用できない場合は、データを失うのではなく再試行します。
- 必要なスコープだけを要求しましょう。テナントは、限定されたアクセスをより速く承認し、より信頼します。
次のステップ
- 自分のエージェントで開発する。中核となる開発と公開の流れ。
- アプリで収益化する。あなたの連携を使うすべてのテナントから収益を得ます。