Introduction
本ページでは、[登記簿取得]機能で利用する[建物登記取得フロー]の作成方法について説明します。
本フローを作成することで、家屋番号が登録済みの[地番・登記簿]レコードをもとに、建物登記の取得、解析、PDF保存までの一連の処理を[Salesforce Platform]上で自動化します。
あらかじめ、[地番・登記簿]オブジェクトの設定に加え、[家屋番号取得フロー]により対象レコードに家屋番号が登録済みであることが前提となります。
建物登記取得フローとは
建物登記取得フローとは、[地番・登記簿]レコードの家屋番号をもとに、民事法務協会サイトから建物登記データを取得し、解析およびPDF保存までを自動実行するための[画面フロー]です。
本フローでは、以下の処理を一連で実行します。
- 取得対象レコードの選択
- 民事法務協会ログイン情報の取得
- 建物登記データの取得および解析
- PDFファイルのダウンロード
- 取得済みフラグ・PDF ID・解析結果のレコードへの保存
- エラー発生時のエラー内容の表示
情報
建物登記の取得には家屋番号が必須です。
本フローの取得対象レコードは、家屋番号が登録済みで、かつ建物登記簿取得済みフラグがONになっていないレコードに絞り込みます。
注意
[建物登記PDFダウンロード]は、必ず[建物登記解析]の後に実行してください。
解析より先にPDFダウンロードを実行すると、Salesforce側でエラーが発生します。
▼手順:建物登記取得フローの作成

情報
各項目の設定値は、[地番・登記簿]オブジェクトの推奨項目を基に記載しています。
既存の項目を利用する場合は、各設定項目に対応する相当の項目を指定してください。
1.[設定:
]をクリックし、[設定]をクリックします。
2.[クイック検索]ボックスに「フロー」と入力し、[フロー]をクリックします。
3.[新規フロー]をクリックします。
4.[画面フロー]をクリックします。
5.[ツールボックス:
]をクリックし、[新規リソース]をクリックします。
6.以下の変数を作成します。
7.[要素を追加:
]をクリックし、[レコードを取得]の要素を追加します。
8.[レコードを取得]を以下のように設定します。
- 表示ラベル:
建物登記レコード取得 - API参照名:
GetBuildingRegisterRecords - オブジェクト:地番・登記簿
- 条件の要件:すべての条件に一致(AND)
- 項目1:
- 項目:
IsBuildingRegistryFetched__c(建物登記簿取得済みフラグ) - 演算子:次の文字列と一致しない
- 値:True
- 項目:
- 項目2:
- 項目:
HouseNumber__c(家屋番号) - 演算子:null
- 値:False
- 項目:
- 並び替え順:昇順
- 並び替え:
Name - 保存するレコード数:すべてのレコード
- レコードデータの保存方法:すべての項目を自動的に保存
情報
[家屋番号 | null | False]は「家屋番号が空白ではない(値が入っている)」ことを表す条件です。
家屋番号が登録済みのレコードのみを取得対象とします。
9.[要素を追加:
]をクリックし、[画面]の要素を追加します。
10.[画面のプロパティ]を以下のように設定します。
- 表示ラベル:
建物登記取得対象のレコードを選択する - API参照名:
SelectGettingBuildingRegister
11.[コンポーネント]から[データテーブル]を、画面内にドラッグ・アンド・ドロップします。
12.[データテーブル]のプロパティを以下のように設定します。
- API参照名:
TargetBuildingRegisterList - 表示ラベル:建物登記取得対象データ
- ソースコレクション:
{!GetBuildingRegisterRecords} - 行選択モード:複数
- 列の設定
- カスタムオブジェクトID
- 地番住所
- 家屋番号
13.[完了]をクリックします。
14.[要素を追加:
]をクリックし、[ループ]の要素を追加します。
15.[ループ]のプロパティを以下のように設定します。
- 表示ラベル:
建物登記を取得する対象のレコード - API参照名:
BuildingRegisterLoop - コレクション変数:
{!TargetBuildingRegisterList.selectedRows}(データテーブルで選択された行) - 方向:最初の項目から最後の項目へ
16.[項目ごと]の[要素を追加:
]をクリックし、[レコードを取得]の要素を追加します。
17.[レコードを取得]のプロパティを以下のように設定します。
- 表示ラベル:
民事法務協会のIDとパスワードを取得 - API参照名:
GetMinjiHoumuIdPw - オブジェクト:民事法務協会
- 条件の要件:なし
- 保存するレコード数:最初のレコードのみ
- レコードデータの保存方法:すべての項目を自動的に保存
18.下の[要素を追加:
]をクリックし、[アクション]の要素を追加します。
19.[アクションを検索]に「建物登記」と入力し、[建物登記取得]をクリックします。
20.[建物登記取得]の[Apexアクション]を以下のように設定します。
- 表示ラベル:
建物登記取得 - API参照名:
GettingBuildingRegister
21.[建物登記取得]の[入力値を設定]を以下のように設定します。
- houseNumber:
{!BuildingRegisterLoop.HouseNumber__c}(家屋番号) - loginId:
{!GetMinjiHoumuIdPw.LoginID__c}(ログインID) - organizationId:
{!$Organization.Id}(Id) - password:
{!GetMinjiHoumuIdPw.LoginPassword__c}(ログインパスワード) - userId:
{!$User.Id}(Id) - city:
{!BuildingRegisterLoop.City__c}(市区町村) - fullAddress:
{!BuildingRegisterLoop.ParcelAddress__c}(地番住所) - largeSection:
{!BuildingRegisterLoop.Oaza__c}(大字) - pref:
{!BuildingRegisterLoop.Prefecture__c}(都道府県) - smallSection:
{!BuildingRegisterLoop.AzaChome__c}(字丁目)
情報
各Apexアクションの出力(downloadUrl、pdfId、result等)は、変数に手動で割り当てず、後続の要素から[○○ からの出力]として直接参照します。
22.下の[要素を追加:
]をクリックし、[アクション]の要素を追加します。
23.[アクションを検索]に「登記」と入力し、[登記簿解析]をクリックします。
24.[登記簿解析]の[Apexアクション]を以下のように設定します。
- 表示ラベル:
建物登記解析 - API参照名:
AnalyseBuildingRegisterData
25.[建物登記解析]の[入力値を設定]を以下のように設定します。
- organizationId:
{!$Organization.Id}(Id) - pdfId:
{!GettingBuildingRegister.pdfId}(建物登記取得 からの出力) - sfId:
{!BuildingRegisterLoop.Id}(カスタムオブジェクトID) - userId:
{!$User.Id}(Id)
26.下の[要素を追加:
]をクリックし、[アクション]の要素を追加します。
27.[アクションを検索]に「ダウンロード」と入力し、[登記簿ダウンロード]をクリックします。
28.[登記簿ダウンロード]の[Apexアクション]を以下のように設定します。
- 表示ラベル:
建物登記PDFダウンロード - API参照名:
DownloadBuildingRegisterPdf
29.[建物登記PDFダウンロード]の[入力値を設定]を以下のように設定します。
- sfId:
{!BuildingRegisterLoop.Id}(カスタムオブジェクトID) - url:
{!GettingBuildingRegister.downloadUrl}(建物登記取得 からの出力) - fileName:
建物登記簿
30.下の[要素を追加:
]をクリックし、[割り当て]の要素を追加します。
31.[割り当て]のプロパティを以下のように設定します。
- 表示ラベル:
建物登記取得済みフラグの値変更 - API参照名:
UpdateBuildingGotFlag - 変数値を設定1:
- 変数:
{!BuildingRegisterLoop.IsBuildingRegistryFetched__c}(建物登記簿取得済みフラグ) - 演算子:次の文字列と一致する
- 値:True
- 変数:
- 変数値を設定2:
- 変数:
{!BuildingRegisterLoop.BuildingRegistryPdfId__c}(建物登記簿PDF ID) - 演算子:次の文字列と一致する
- 値:
{!GettingBuildingRegister.pdfId}(建物登記取得 からの出力)
- 変数:
- 変数値を設定3:
- 変数:
{!BuildingRegisterLoop.BuildingRegistryParseResult__c}(建物登記簿解析結果) - 演算子:次の文字列と一致する
- 値:
{!AnalyseBuildingRegisterData.result}(建物登記解析 からの出力)
- 変数:
情報
建物登記簿PDF IDはテキスト型の項目ですが、数値型のpdfIdを直接割り当てできます。
値の代入時に自動的にテキストへ変換されるため、数式リソースによる変換は不要です。
32.下の[要素を追加:
]をクリックし、[レコードを更新]の要素を追加します。
33.[レコードを更新]のプロパティを以下のように設定します。
- 表示ラベル:
建物登記取得済フラグの更新 - API参照名:
UpdateBuildingCheckbox - 更新するレコードを検索してその値を設定する方法:レコードまたはレコードコレクションからのIDおよびすべての項目値を使用
- レコードまたはレコードコレクション:
{!BuildingRegisterLoop}
34.[建物登記取得]の要素メニューから[障害パスを追加]をクリックし、[画面]の要素を追加します。
情報
[障害]のコネクタは、要素にカーソルを合わせると要素の下部に表示されます。
通常の接続とは別に、Apexアクションの実行時にエラーが発生した場合の分岐先を指定します。
35.[画面のプロパティ]を以下のように設定します。
- 表示ラベル:
エラー - API参照名:
ShowErrorMessage
36.[コンポーネント]から[テキストを表示]を、画面内にドラッグ・アンド・ドロップし、以下の文言を入力して[完了]をクリックします。
- API参照名:
ErrorMessageText - 本文:「処理中にエラーが発生しました。
{!$Flow.FaultMessage}」
37.[建物登記解析]および[建物登記PDFダウンロード]の各要素についても、[要素を追加:
]>[要素に接続]を使用し、手順34で作成した[エラー]画面に接続します。
情報
3つのApexアクション([建物登記取得]、[建物登記解析]、[建物登記PDFダウンロード])の[障害]は、いずれも同一の[エラー]画面に接続します。
これにより、どのステップでエラーが発生した場合でも、共通のエラー画面が表示されます。
38.[最後の項目の後]の[要素を追加:
]をクリックし、[画面]の要素を追加します。
39.[画面のプロパティ]を以下のように設定します。
- 表示ラベル:
処理完了 - API参照名:
CompleteBuildingRegister
40.[コンポーネント]から[テキストを表示]を、画面内にドラッグ・アンド・ドロップします。
41.[テキストを表示]を以下のように設定します。
- API参照名:
CompleteMessage - 本文:「建物登記の取得が完了しました。」
42.[完了]をクリックします。
43.[保存]をクリックします。
44.[フローを保存]を以下のように設定し、[保存]をクリックします。
- フローの表示ラベル:
建物登記取得
API参照名:GetBuildingRegistry
45.[有効化]をクリックします。