IBM Match 360のAPIを実行してみる - レコード比較 /mdm/v1/compare APIの場合

IBM Match 360は名寄せ（レコードのマッチング）を実行できるサービスです。2022年11月現在、IBM Cloud上のCloud Pak for Data as a Service (CP4DaaS)で無償のベータ版が提供されています。＊ソフトウェア版CP4D上で稼働するIBM Match 360もあります。

IBM Match 360の概要については以下の記事をご参照ください。

https://qiita.com/osonoi/items/118600fa23f5637d781d

IBM Match 360の基本操作は、CP4DのUIから実行できますが、APIも用意されています。ここでは、レコードの比較をする（スコアを確認する）APIを例に、実行手順を紹介します。

## 1. API実行画面にアクセス

Swagger UI ツールを使用して API にアクセスできるようになっています。
今回は[マッチング APIの画面](https://api.us-south.mdm.watson.cloud.ibm.com/api-matching/explorer/#/Operational%20Services/compare_matching_index)にアクセスします。

https://api.us-south.mdm.watson.cloud.ibm.com/api-matching/explorer/#/Operational%20Services/compare_matching_index

この画面に必要な値を入力後、実行することでレスポンスを受け取ることができます。

`Authorize`をクリックします。
![Auth1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/2b04eeae-423c-a1c9-069b-38dd7af19c51.png)

Ahtorizeには、IBM CloudのIAMトークンが必要です。ここではIBM Cloud CLIを使用して取得します。
![Auth2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/c3b95a2d-9123-0759-e399-1d242436d48b.png)

IBM Cloudにログインし、ツールバーからIBM Cloud Shellを開きます。
`ibmcloud iam oauth-tokens`を実行し、表示された文字列の`Bearer `以降をコピーし、`Available authorizations`パネルの`Value`に貼り付けます。`Authorize`をクリックします。

![Auth5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/39d07104-61d7-cf3d-7aea-79b15bf14649.png)


## 2. API実行に必要なパラメーターの入力



IBM Cloudの`リソース・リスト`から`IBM Match 360 with Watson`のリソースをクリックします。`CRN`が表示されるので、それをコピーします。
![crn1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/83b13d14-2439-1dfd-68be-5e0a9b191fae.png)


API画面に戻り、`Try it out`をクリックします。これにより、パラメーターに値を入力することができるようになります。
![crn2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/ee948c3b-224f-5f35-5d92-b6594d091ae0.png)


`crn`にコピーした文字列を貼り付けます。
続いて、以下の項目を入力します。

- `entity_type`: エンティティのデータタイプを入力します。例: person_entity
- `details`: レスポンスの詳細度を指定します。例： debug
- `record_number1`: 比較したいレコードのIDを入力します。（＊下の説明を参照）
- `record_number2`: 比較したいもうひとつレコードのIDを入力します。（＊下の説明を参照）
- `record_type`: ソース・レコードのデータタイプを入力します。例: person

`record_number1`と`record_number2`はMatch 360の画面から入力すべき値を見つけます。
例えば、水色の矢印のレコードを比較したい場合、`record_number1`と`record_number2`には赤で囲んだ`レコードの表示ラベル`をレコードのIDとして指定します。
![masterdata.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/cd1374a2-f110-ce03-2d06-cd48fb6fc445.png)

## 3. APIの実行とレスポンスの確認

すべてのパラメーターを入力したら、`Execute`をクリックします。
![execute1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/54ba0c7e-28ee-520a-f169-ec75a0aa4014.png)

Responsesの下に、レスポンスが表示されます。
正常に実行されていれば、`Code 200` で `Response body` が表示されているはずです。以下がレスポンスの表示例です。
![res1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2164968/b6fcb6a5-a3e4-7ec3-2ed0-e44a97bc2114.png)


## 公式ドキュメント

[IBM Match 360 with Watson で使用可能な API サービス](https://dataplatform.cloud.ibm.com/docs/content/wsj/mdm/query-api.html?locale=ja&audience=wdp)

Swagger UI ツールを使用した API 画面へのアクセス：
 - [構成 API](https://api.us-south.mdm.watson.cloud.ibm.com/api-configuration/explorer/)
 - [エンティティー保守 API](https://api.us-south.mdm.watson.cloud.ibm.com/api-data/explorer/)
 - [ジョブ API](https://api.us-south.mdm.watson.cloud.ibm.com/api-job/explorer/)
 - [マッチング API](https://api.us-south.mdm.watson.cloud.ibm.com/api-matching/explorer/)
 - [モデル API](https://api.us-south.mdm.watson.cloud.ibm.com/api-model/explorer/)