外部サービスを登録する
学習の目的
このプロジェクトでは、次のことを行います。
- 外部 Web サービスの指定ログイン情報を定義する。
- 提供された API 仕様を使用して外部 Web サービスを追加する。
- 外部サービスアクションが API 仕様内のスキーマ定義にどのように関連するかを説明する。
- Flow Builder ツールボックスで外部サービスアクションを見つける。
- 外部サービスアクションを使用してシンプルなフローを作成する。
前提条件
このバッジに取りかかる前に、次のことを完了することをお勧めします。
-
「外部サービス」モジュールを修了する。このモジュールでは、外部サービスの概要を学習できます。
新しい Trailhead Playground を作成する
このプロジェクト用に、新しい Trailhead Playground を作成する必要があります。このページの最下部までスクロールし、[Launch (起動)] の横にある下矢印をクリックして [Create Playground (Playground を作成)] を選択します。新しい Trailhead Playground を作成するには、通常 3、4 分かかります。
はじめに
「外部サービス」モジュールでは、REST ベースの銀行 API を使用してスキーマを定義する方法を学習しました。ここでは、その例を使用して架空の銀行の更にパーソナライズされたエクスペリエンスを提供しましょう。その後、銀行口座の営業活動を追跡するために Salesforce を使用する方法を確認します。
銀行の新しいビジネスプロセスを使用すると、銀行の担当者は Salesforce 内から銀行口座を追加できます。銀行口座種別や銀行口座 ID などの銀行口座の詳細は Salesforce ユーザーレコードと銀行のバックエンドサービスの間で同期されます。口座を追加する担当者は 1 人だけではありません。そのため、ビジネスロジックでは既存の銀行口座のチェックや新しい銀行口座の作成ができる必要があります。
このプロセスを自動化するには、銀行 Web サービスを外部サービスとして登録します。銀行サービスが登録されると、Salesforce 内の Flow Builder ツールで銀行サービスの口座 API 操作 (追加、更新、取得) にアクセスして使用できるようになります。
この時点で、必要なものはすべて揃っています。自動的に新しい銀行口座を追加するか、既存の銀行口座の詳細を更新するフローを作成します。また、銀行の担当者が口座にアクセスするたびに、銀行サービスからの新しい情報があれば Salesforce にその情報が送信されるようにします。
このフローを完了するステップ
始める前に、フェーズとロジックに注目して、情報がどのように流れるかを確認しておきましょう。このフローを完了するために実行するステップは 5 つあります。
-
Screen (画面): Bank Account Record (銀行口座レコード)。銀行の担当者が画面で入力する情報から口座名と口座種別を取得します。
-
Action (アクション): Add Bank Account (銀行口座の追加)。銀行サービスの API 仕様が外部サービスに登録済みであるため、仕様で定義されているすべての API 操作をフロー内で同じアクションとして使用できます。ここでは addAccount アクションを使用し、API 入力と出力を指定します。入力と出力は Salesforce 組織と銀行サービスの間で使用する変数に割り当てます。
-
Decision (決定): Bank Account Updated? (銀行口座更新?)。ロジックによって銀行口座が存在していて更新が必要かが評価され、必要に応じて新しい銀行口座が作成されます。
-
Assignment (割り当て): Assign Existing Bank Account ID (既存の銀行口座 ID の割り当て)。銀行口座が存在する場合は既存の銀行口座の口座 ID を割り当て、この値を使用して Salesforce ユーザーアカウントを更新します。
-
Update Records (レコードを更新): Update Salesforce User Record (Salesforce ユーザーレコードの更新)。Salesforce ユーザーの姓が銀行口座レコードと一致した場合は、Salesforce ユーザーレコードがその銀行口座種別と銀行口座 ID で更新されます。銀行サービスに一致する姓がなく、新しい銀行口座レコードが作成された場合は、Salesforce ユーザーレコード (一致する名前が Salesforce にある場合) が新しい銀行口座種別と銀行口座 ID で更新されます。
このプロジェクト全体の最初から最後までの詳しいウォークスルーを次の動画でご覧ください。
指定ログイン情報とエンドポイントアクセス
「外部サービス」モジュールでは、API 仕様についてと、外部サービスでサポートされる有効な API 仕様の構成要素について学習しました。有効でサポートされるスキーマに加えて、外部 Web サービスと Salesforce 組織を保護するシンプルな方法が必要です。それを実現するには、指定ログイン情報を使用して銀行サービスエンドポイントへのコールアウトを認証できます。
通常、外部 Web サービスプロバイダーが指定ログイン情報の要素を提供します。その要素には、コールアウトエンドポイントの URL と必要な認証パラメーターが含まれます。「外部サービス」バッジでは、API 仕様には REST ベースの API Web サービスのエンドポイント情報と認証パラメーターが含まれることを学習しました。この情報を使用して、組織の指定ログイン情報を定義します。
- [Setup (設定)] から、[Quick Find (クイック検索)] ボックスに
Named Credentials
(指定ログイン情報) と入力し、[Named Credentials (指定ログイン情報)] を選択します。
- [New (新規)] ボタンの横にあるドロップダウンメニューから、[New Legacy (新規 (従来))] を選択します。
- [Label (表示ラベル)] に
Bank
(銀行) と入力します。
- [Name (名前)] に
Bank
(英語) と入力します。
- [URL] に
https://th-external-services.herokuapp.com
と入力します。 - 他の項目はそのままにして、[Save (保存)] をクリックします。
実例では、更に [Named Credentials (指定ログイン情報)] で認証プロトコルを設定し、認証プロバイダーの定義も指定します (いずれも [Setup (設定)] で実行します)。
外部サービスウィザードを使用して Web サービスを登録する
有効な API 仕様があるため、外部サービスに銀行外部サービスを追加することで、そのサービスとのやり取りの方法を Salesforce に指定できます。
- [Setup (設定)] から、[Quick Find (クイック検索)] ボックスに
External Services
(外部サービス) と入力し、[External Services (外部サービス)] を選択します。
-
[Add an External Service (外部サービスを追加)] をクリックします。
-
[Select an API Source (API ソースを選択)] ページで、[From API Specification (API 仕様から)] を選択します。
-
[Next (次へ)] をクリックします。
- [External Service Name (外部サービス名)] に
BankService
と入力します (スペースなし)。
- [Select a Named Credential (指定ログイン情報を選択)] で、[Bank (銀行)] (先ほど作成した指定ログイン情報) を選択します。
- [Service Schema (サービススキーマ)] で [Relative URL (相対 URL)] を選択します。
- [URL] で
/accounts/schema
と入力します。この文字列は、作成した指定ログイン情報に追加されます。これは API 仕様を指し示す相対 URL です。両者を併せると、サービスプロバイダーの完全な URL になります。例: https://th-external-services.herokuapp.com/accounts/schema
-
[Save & Next (保存 & 次へ)] をクリックします。
- すべての操作を選択します。
-
[Next (次へ)] をクリックします。外部サービスアクションのリストが表示されます。これで、これらのアクションを Flow Builder で使用できるようになりました。スクロールバーを使用すると、すべて表示できます。API 仕様内の操作が Salesforce の呼び出し可能アクションになっています。
-
[Finish (完了)] をクリックします。
[External Service Actions (外部サービスアクション)] ページの例を次に示します。
アクションのリストは、メインの [External Service (外部サービス)] ページで [BankService] をクリックすることでも表示されます。
getAccount アクションとそのパラメーターをいくつか見ていきましょう。
-
getAccount アクションは、口座情報を取得します。
-
accountName パラメーターは、口座を指定します。
-
getAccount アクションには出力パラメーターもいくつかあります。200 などのコードは、API 仕様で定義されている特定の応答コードに関連しています。これについては次の単元で説明しますが、Swagger エディターで API 仕様を検証するときにもこれらの定義は適切な形式で表示されます。
次は、簡単なフローを作成し、フローパレットでアクションを見つける方法を学習します。
リソース