HULFT Square のSalesforce コネクター（REST API）接続方法

HULFT Square のSalesforce コネクターの接続方法をご紹介します。
REST API 対応のSalesforce コネクターではOAuth 2.0認証の設定も必要のため、併せて設定手順を記していきます！

# Salesforce コネクター
HULFT Square には、Salesforce に接続するためのコネクターが2種類あります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ea1e5943-022d-d86e-6438-60f64e946038.png)

<dl>
  <dt>Salesforce</dt>
  <dd>REST API を利用してSalesforce のデータ操作を行います。</dd>
  <dt>Salesforce(旧)</dt>
  <dd>SOAP API を利用してSalesforce のデータ操作を行います。<br>本コネクターはログイン情報で接続可能です。</dd>
</dl>

# Salesforce コネクター（REST API）の利用
Salesforce コネクターは「OAuth 2.0認証設定」と「Salesforce コネクション設定」が必要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ef2f17ef-82e8-e7f7-504e-8743c6b03e3c.png)

OAuth 2.0認証設定はSalesforce 側での設定も必要ですので、その手順をご紹介します。

# 設定手順
以下の設定を行います。
1. Salesforce でOAuth 2.0認証の設定をする
1. HULFT Square でOAuth 2.0認証の設定をする
1. HULFT Square でSalesforce 接続設定をする

# Salesforce での設定
Salesforce 画面の「設定」からアプリケーションのアプリケーションマネージャーを開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/86e81e73-4bb2-943d-1737-1f80517ef0c5.png)

新規接続アプリケーションを押下し、アプリケーションを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/19ec5cf0-b618-106c-16bb-b14680f2945c.png)

画面に従って、アプリケーションの設定をします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/6af63fc5-46e2-8bcf-87cb-af1f16ac33c8.png)

基本情報の設定後、API の設定を以下の通り行います。

| 項目 | 設定 |
|:-----------|:------------|
| OAuth 設定の有効化 | チェック |
| コールバックURL | `https://app.square.hulft.com/connections/oauth2/callback` <br>※HULFT Square OAuth 認証設定画面で確認可能|
|選択したOAuth 範囲 | 「いつでも要求を実行」、「フルアクセス」|
|Webサーバーフローの秘密が必要|チェック|
|更新トークンフローの秘密が必要|チェック|

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ad593852-6808-72af-b18a-9b08ecf60547.png)

設定が完了したら、保存ボタンを押下します。
画面を進み、コンシューマー鍵とコンシューマーの秘密をコピーします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/40d1609f-235f-b551-5db6-99402eab98e0.png)

以上でSalesforce での設定は完了です。

# HULFT Square でOAuth 2.0認証の設定
続いてHULFT Square にて、OAuth 2.0認証の設定を行います。
OAuth 2.0認証の設定はHULFT Square のコネクションにて設定します。

コネクションを新規追加し、OAuth から「OAuth 2.0認証」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/9870a2f7-bd49-15cb-ad74-2f2341cb7eba.png)

コネクション名を指定後、コネクションの設定を以下の内容で行います。

| 項目 | 設定 |
|:-----------|:------------|
|クライアントID|Salesforce で取得したコンシューマー鍵|
|クライアントシークレット|Salesforce で取得した秘密鍵|
|Redirect URI|Salesforce で設定したリダイレクトURL を確認できます|
|認可エンドポイント|`https://(SalesforceのURL) salesforce.com/services/oauth2/authorize` |
|トークンエンドポイント|`https:// (SalesforceのURL) salesforce.com/services/oauth2/token` |

:::note info
**エンドポイントのSalesforce のURL**
ログインURL もしくはSalesforce 画面右上「プロファイルを参照」からURL を確認できます。
:::

設定が終わったらリフレッシュトークンを発行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/bfb53ac4-3554-f6ef-d490-4e02ae632c79.png)

アクセス許可の画面に移行されるので、内容を確認し「許可」します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/c143e1a8-ed64-8c65-7537-04c5dcf3a6c0.png)

リフレッシュトークンが取得されたら、コネクション設定を完了します。
以上でHULFT Square でのOAuth 2.0認証の設定は完了です。

# HULFT Square でSalesforce 接続の設定

続いてHULFT Square にて、Salesforce への接続設定を行います。

コネクションを新規追加し、Salesforce を選び「Salesforce 接続」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ff91085f-3779-167c-223f-f00679561063.png)

コネクション名を指定後、コネクションの設定を以下の内容で行います。

| 項目 | 設定 |
|:-----------|:------------|
|API エンドポイント|Salesforce のURL|
|API バージョン|利用するAPI バージョン|

:::note info
**エンドポイントのSalesforce のURL**
ログインURL もしくはSalesforce 画面右上「プロファイルを参照」からURL を確認できます。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/d92889f5-9530-35de-a25e-729b94dc8f3b.png)

入力が終わったら、Salesforce のコネクション設定は完了です。

# HULFT Square のスクリプトで接続設定を利用

作成したOAuth 認証設定とSalesforce 接続設定を利用し、Salesforce のデータを取得できることを確認します。

HULFT Square デザイナ画面のツールパレットから「クラウド＞Salesforce」を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/cc38bede-3d9b-862c-a76f-2753d98bb335.png)

レコード読み取りアイコンをキャンバス画面にドラッグアンドドロップします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/cfc4eff6-1fc0-6622-33ad-6ec33658a4fd.png)

Salesforce レコード読み取り処理の設定画面が開かれますので、先ほど作成した接続情報等を設定します。
認証設定に「OAuth 2.0認証」を、接続設定に「Salesforce 接続設定」をそれぞれ選択します。

オブジェクト名一覧を取得するため、「オブジェクト名一覧更新」を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/5aa02724-e9c6-2a7e-ae7c-f5717a8a35c9.png)

オブジェクト名一覧の更新後、設定項目オブジェクト名の▼からデータを取得するオブジェクトを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/fc65416c-6e4f-6c67-4a0c-42be58f8ee7b.png)

オブジェクトの選択後、フィールド一覧を取得します。
フィールド一覧の画面右下「フィールド一覧更新」を押下し、フィールド情報を取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/6d79b367-11bd-0b88-7075-04745ced7130.png)

フィールド一覧の更新後、取得するフィールドにチェックを入れ、完了ボタンで設定を完了します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/0657f208-db36-b964-d451-c74003a8d74b.png)

取得したSalesforce 上のデータを確認するために、CSV ファイルに出力する処理を作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/20aecedc-7dc1-ea45-a6ec-040143853fd9.png)

プロセスフローを引き、処理を実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/ba1941c6-7b5a-dcb3-2cf7-6b3d4a74fd1a.png)

指定したHULFT Square ストレージにCSV ファイルが生成されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/cc9c78eb-a14a-b8b0-3fbe-6610025170e5.png)

取引先ID と取引先名が出力されていることが確認できました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102528/29aae80b-4704-ca94-1c22-8aea3640f388.png)

# まとめ

このようにOAuth 2.0認証を組み合わせることで、Salesforce のREST API を利用しデータを扱うことができます。
設定のポイントとしてはリダイレクトURL とSalesforce のURL の確認だと思いますので、チェックしながら設定してみてください！