カスタムコネクタを作成する

Prev Next

本ページでは、Connector Builderでカスタムコネクタを作成する手順について説明します。
接続情報や転送に関する設定については、以下のドキュメントを参照ください。

作成したカスタムコネクタの操作
  • 作成したカスタムコネクタは、他のユーザーも編集・削除できます。
  • カスタムコネクタを削除すると、対象のカスタムコネクタを使用した接続情報も削除されます。

事前準備

カスタムコネクタを作成する前に、データ取得対象のデータソース側にて事前準備が必要となります。

APIキーを使って認証する場合

データソースとなるサービスで事前にAPIキーを発行する必要があります。

OAuth2を使って認証する場合

データソースとなるサービスで事前にクライアントアプリを作成する必要があります。

認可コードをグラントタイプとする場合は、クライアントアプリ側でリダイレクトURLの指定が必要です。
以下のURLをクライアントアプリ作成時に指定してください。
https://trocco.io/connections/custom_connector/callback

詳しくは、クライアントアプリの作成手順を参照ください。

入力項目

基本情報

項目名 必須 説明
名前 Yes TROCCO内部で利用する接続情報の名前を入力します。
メモ No TROCCO内部で利用する接続情報のメモを入力できます。

コネクタ情報

項目名 必須 説明
APIドキュメントURL No カスタムコネクタで取得対象とするREST APIのAPIドキュメントを入力し、認証情報を自動入力できます。
詳しくは、入力内容の自動生成についてを参照ください。
ベースURL Yes カスタムコネクタで取得対象とするREST APIのベースURLを入力します。
ベースURLとは、APIのすべてのエンドポイントにアクセスする際の基本となるURLです。
例:https://api.example.com/api/v1

認証情報

項目名 必須 説明
認証種別 Yes 認証種別を選択します。APIキーまたはOAuth2による認証に対応しています。
選択した認証種別によって、認証情報で入力する項目が変わります。

認証種別でOAuth2を選択した場合の追加項目

項目名 必須 デフォルト値 説明
グラントタイプ Yes 認可コード OAuthで認証を付与する方式(グラントタイプ)を選択します。
取得対象のAPIで利用できるグラントタイプを選択してください。
  • 認可コード
  • クライアントクレデンシャルズ
認可URL Yes - グラントタイプに認可コードを選択した場合のみ、入力が必要な項目です。
OAuthの認可サーバーへの遷移先となる認可URLを入力します。利用するOAuthサービスから取得してください。
アクセストークンURL Yes - OAuthにアクセストークンをリクエストする先となるアクセストークンURLを入力します。利用するOAuthサービスから取得してください。

各認証種別で共通の項目

項目名 必須 デフォルト値 説明
認証ヘッダー名 Yes Authorization APIキーを送信するヘッダーの名称を入力します。
認証スキーム No Bearer 認証情報のスキームを入力します。

エンドポイント

カスタムコネクタで取得対象とするAPIのエンドポイントごとに設定を追加します。

項目名 必須 デフォルト値 説明
名前 Yes - エンドポイントの名前を入力します。
パス Yes - ベースURLで指定したURL部分を除いた、APIエンドポイントのパスを入力します。
パスパラメータ No - パスにパスパラメータを用いる際に入力します。
HTTPメソッド Yes GET HTTPメソッドを選択します。
GETのみサポートしています。
APIドキュメントURL No - カスタムコネクタで取得対象とするREST APIのAPIドキュメントを入力し、各種設定を自動入力できます。
詳しくは、入力内容の自動生成についてを参照ください。
パラメータ No - リクエストに必要なパラメータを設定します。
  • パラメータ名:実際に付与するパラメータの名称を設定します。
  • 表示名:転送設定でパラメータを設定する際の表示名を入力します。
  • デフォルト値:パラメータのデフォルト値を入力します。
  • 編集可能:チェックを入れた場合、転送設定時にパラメータの値を入力できるようになります。
  • 必須:チェックを入れた場合、転送設定時にパラメータの値の入力が必須になります。
HTTPヘッダ No - リクエストに必要なHTTPヘッダを設定します。
  • デフォルト値:パラメータのデフォルト値を入力します。
  • 編集可能:チェックを入れた場合、転送設定時にパラメータの値を入力できるようになります。
  • 必須:チェックを入れた場合、転送設定時にパラメータの値の入力が必須になります。
JSONPathルート Yes $.* レスポンスからデータを抽出する際のルートとするパスをJSONPath記法で指定します。
ページング設定 Yes 無効 ページング設定を以下より選択します。
  • 無効
  • ページベース
  • オフセットベース
  • カーソルベース
ページングリクエストを使用する場合は、リクエスト先の仕様に応じてページングを設定してください。
詳しくは、ページング設定を参照ください。

ステータスコード設定

項目名 必須 デフォルト値 説明
転送データ取得時に正常系と判定するステータスコード Yes 200 データ取得の成功とみなすレスポンスのステータスコードを指定します。
カンマ区切りで複数指定できます。
失敗時にリトライするステータスコード Yes 400,401,403,404 データ取得の失敗とみなし再取得を実行するレスポンスのステータスコードを指定します。Rate limit時のステータスや、サーバー側のエラーなどのステータスコードの設定を推奨します。
カンマ区切りで複数指定できます。

接続テスト

設定したエンドポイントの接続を確認できます。

接続テストには事前に接続情報を設定する必要があるため、一度カスタムコネクタを作成して接続情報を設定したのち、テストしてください。

現在ページング設定の接続テストでのサポートは行なっていません。

項目名 必須 デフォルト値 説明
接続確認に利用する接続情報 Yes - 接続テストに利用する接続情報を選択します。
パスパラメータ No - エンドポイント設定で使用したパスパラメータの値を入力できます。
必須パラメータ No - エンドポイント設定で「必須」としたパラメータの値を入力できます。
必須ヘッダー No - エンドポイント設定で「必須」としたHTTPヘッダの値を入力できます。

ページング設定について

ページング設定ページベースオフセットベースカーソルベースを選択すると、転送データ取得時にページングリクエストを含めることができます。
選択肢ごとに、設定項目は異なります。

ページベースを選択した場合

項目名 デフォルト値 内容
1リクエストの取得件数 - 1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。
開始ページ - ページングを開始するページ数を指定します。
終了ページ 最終ページを自動判定 終了位置を判定する方法と、判定するための値を入力します。
  • 最終ページを自動判定:取得件数が0件になったらページングを終了します。
  • 総ページ数のパスを指定:総ページ数が格納されているレスポンスのパスをJSONPath記法で指定し、総ページ数に到達したらページングを終了します。
  • 終了ページを指定:ページングを終了するページ数を指定します。
最大リクエスト数 1000 終了位置で 最終ページを自動判定 を選択した場合にリクエストを行う最大回数を指定します。
リクエストのプレビュー - リクエスト時に付与されるクエリパラメータを確認できます。

ページベースの入力例は以下の通りです。

項目名
1リクエストの取得件数
  • パラメータ名:per_page
  • 値:100
開始ページ
  • パラメータ名:page
  • 値:1
終了ページ
  • 終了判定方法:終了ページを指定
  • 値:4

この場合、以下のようにパラメータが付与されたリクエストが実行されます。

  1. ?per_page=100page=1
  2. ?per_page=100page=2
  3. ?per_page=100page=3
  4. ?per_page=100page=4

オフセットベースを選択した場合

項目名 デフォルト値 内容
1リクエストの取得件数 - 1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。
開始位置 - ページングを開始するデータの位置を指定します。
終了位置 最終位置を自動判定 終了位置を判定する方法と、判定するための値を入力します。
  • 最終位置を自動判定:取得件数が0件になったらページングを終了します。
  • 総レコード数のパスを指定:総レコード数が格納されているレスポンスのパスをJSONPath記法で指定し、総レコード数に到達したらページングを終了します。
  • 終了位置を指定:ページングを終了するデータの位置を指定します。
最大リクエスト数 1000 終了位置で 最終位置を自動判定 を選択した場合にリクエストを行う最大回数を指定します。
リクエストのプレビュー - リクエスト時に付与されるクエリパラメータを確認できます。

オフセットベースの入力例は以下の通りです。

項目名
1リクエストの取得件数
  • パラメータ名:limit
  • 値:100
開始ページ
  • パラメータ名:offset
  • 値:0
終了位置
  • 終了判定方法:終了位置を指定
  • 値:399

この場合、以下のリクエストパラメータが追加されます。

  1. ?limit=100&offset=0
  2. ?limit=100&offset=100
  3. ?limit=100&offset=200
  4. ?limit=100&offset=300

カーソルベースを選択した場合

ページングリクエストの完了条件

カーソルベースのページング設定にした場合、レスポンスデータのカーソルが以下となるのが、リクエストの完了条件です。

  • カーソルが含まれていない
  • カーソルの値がnull

そのため、データを取得したいサービスのAPI仕様が以下のいずれかの場合にのみ、カーソルベースをご利用いただけます。

  • 後続ページがこれ以上存在しない場合、レスポンスデータにカーソルが含まれない
  • 後続ページがこれ以上存在しない場合、レスポンスデータのカーソルの値がnull

万一、上記仕様を満たさない仕様のAPIを利用して作成した転送設定でジョブを実行した場合は、リクエストの完了条件を満たせずジョブが終了しない可能性があります。
ジョブが終了しなくなった場合は、該当ジョブを手動でキャンセルしてください。

項目名 デフォルト値 内容
レスポンスデータに含まれるカーソルへのパス(JSONPath記法) - レスポンスデータからカーソルの値を取り出す際に使用します。
JSONPath記法で入力します。
取得位置 - 前ページのレスポンスデータで受け取ったカーソルをセットするパラメータ名を入力します。
1リクエストの取得件数 - 1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。

カーソルベースのレスポンスデータの構造が、以下だった場合の入力例です。

{
  "items": [
    { ... },
    { ... },
    ...
  ],
  "responseMetaData": {
    "nextCursor": "SAMPLE_CURSOR",
    ...
  },
  ...
}
項目名
レスポンスデータに含まれるカーソルへのパス(JSONPath記法) $.responseMetaData.nextCursor
取得位置 cursor
1リクエストの取得件数
  • パラメータ名:limit
  • 値:100

この場合、?cursor=SAMPLE_CURSOR&limit=100のようなリクエストパラメータが追加されます。

例えば、レコードが550件存在するデータに対するリクエストであれば、上記のようなリクエストが6回実行されます。
5回目までのレスポンスには100レコード分のデータが含まれ、6回目のレスポンスには50レコード分のデータが含まれます。
後続のデータが存在しない6回目のレスポンスデータにはカーソルが含まれないため、7回目のリクエストは実行せず、データ取得は完了します。

入力内容の自動生成について

カスタムコネクタで取得対象とするREST APIのAPIドキュメントURLを入力し、各種設定の入力内容を自動生成できます。
各項目で「提案を受け入れる」をクリックすると、生成した設定を入力できます。

自動生成に対応している項目は以下のとおりです。

  • コネクタ情報・認証情報
    • ベースURL
    • 認証種別
    • 認証ヘッダー名
    • 認証スキーム
  • エンドポイント
    • パス
    • HTTPメソッド
    • パラメータ
    • HTTPヘッダ
    • JSONPathルート
    • ページング設定
実行回数の制約

入力内容の実行回数はアカウント全体で50回/月の制限があります。