外部サービスの登録
学習の目的
この単元を完了すると、次のことができるようになります。
- 外部 Web サービスの指定ログイン情報を定義する。
- 提供されたスキーマを使用して外部 Web サービスを追加する。
- 外部サービスアクションが、使用するスキーマ定義とどのように関係しているのかを説明する。
最初にすべきこと: 指定ログイン情報とエンドポイントアクセス
外部サービスの使用を開始する前に、前提条件をいくつか完了する必要があります。前の単元では、スキーマについてと、外部サービスでサポートされる有効なスキーマの構成要素について説明しました。サポートされるスキーマに加えて、外部 Web サービスと Salesforce 組織を保護するシンプルな方法が必要です。それを実現するには、指定ログイン情報を使用してエンドポイントコールアウトを認証できます。
一般的なプロジェクトでは、外部 Web サービスプロバイダが指定ログイン情報の要素を提供します。これらの要素には、コールアウトエンドポイントの URL と必要な認証パラメータが含まれます。前の単元で、スキーマには REST ベースの API Web サービスのエンドポイント情報と認証パラメータが含まれると言いました。この情報を使用して、組織の指定ログイン情報を定義します。Trailhead Playground にアクセスして、次の手順を実行します。
- [設定] から、[クイック検索] ボックスに「指定ログイン情報」と入力し、[指定ログイン情報] を選択します。
- [新規指定ログイン情報] をクリックします。
- [表示ラベル] に「Bank」(銀行) と入力します。
- [URL] に「https://th-external-services.herokuapp.com」と入力します。
- 他の項目はそのままにして、[保存] をクリックします。
認証と指定ログイン情報についての詳細は、この単元の最後にある「リソース」セクションを参照してください。
外部サービスウィザードを使用した Web サービスの登録
いよいよ Web サービスを登録します。有効なスキーマがあるため (実際の例では指定ログイン情報に認証プロトコルを追加で設定)、この部分は簡単です。外部サービスで Acme 銀行の外部サービスを追加することで、Salesforce にやり取りの方法を指定します。
- [設定] から、[クイック検索] ボックスに「外部サービス」と入力し、[外部サービス] を選択します。
- [拡張外部サービス] 切り替えがオンになっていることを確認します。
- [外部サービスを追加] をクリックします。
- [外部サービス名] に「BankService」(銀行サービス) と入力します (スペースなし)。
- [指定ログイン情報を選択] で、[Bank (銀行)] を選択します。
- [サービススキーマの相対 URL] を選択し、「/accounts/schema」と入力します。サービスプロバイダからの完全な URL はこちらです: https://th-external-services.herokuapp.com/accounts/schema
- [保存] をクリックします。[外部サービスアクション] を確認し、準備ができたら [完了] をクリックします。
外部サービスアクションのリストが表示されます。スクロールバーを使用すると、すべて表示できます。
これで、これらのアクションを Flow Builder で使用できるようになりました。次の単元でシンプルなフローを作成し、フローパレットでアクションを見つける方法を説明します。ここでは、getAccount メソッドとそのパラメータをいくつか見ていきましょう。
- getAccount メソッドは、口座情報を取得します。
- accountName パラメータは、口座を指定します。
- getAccount メソッドには出力パラメータもいくつかあります。200 などのコードは、スキーマで定義されている特定の応答コードに関連しています。また、Swagger エディタでスキーマを検証したときにこれらの定義が適切な形式に設定されたことも確認できます。
- 外部サービスプロバイダ (銀行など) が、REST ベースの API スキーマの仕様を共有する: この情報は、架空の銀行から受け取っています。
- 仕様に基づいて、サービスプロバイダ (信用度サービスの例など) または開発者 (場合によってはシステム管理者) が API を説明する JSON ベースのスキーマ定義を作成する: ここではこのスキーマを実際に作成しませんでしたが、スキーマの要素とサポートされるスキーマの要件を確認しました。外部サービスと連携するときに、システム管理者またはその開発者が各自のユースケースに必要なスキーマを定義できます。
- Salesforce システム管理者が、外部サービスプロバイダから提供された URL を使用してサービスのエンドポイントを認証するための指定ログイン情報を宣言的に作成する: https://th-external-services.herokuapp.com という指定ログイン情報を定義しました。
- Salesforce システム管理者がサービスを宣言的に登録し、登録プロセス中にスキーマ定義と指定ログイン情報の両方を使用する: 1 つ目の外部サービスを登録して、アクションをウィザードで確認しました。