HTTPコネクターの概要
  • 31 Oct 2023
  • 1 読む分
  • 寄稿者

HTTPコネクターの概要


記事の要約

このガイドは、HTTPコネクタの全機能を理解するのに役立ちます。

MESやERPなどの外部システムをTulipに接続する場合、HTTPコネクタを使用する必要があります。TulipのHTTPコネクターは、RESTやSOAPなど、ほとんどのタイプのHTTP APIとインターフェースできます。

HTTPコネクター構築のウォークスルーをお探しですか?HTTP Connectors Universityコースを受講してください!

コネクタ関数を理解する

HTTP コネクタ内では、定義済みの入力を使用して一般的なタイプの HTTP リクエストを実行する一連のConnector Functionを記述できます。Connector 関数は、API を呼び出す個々のアクションです。Tulip HTTP コネクタ関数は、以下のメソッドをサポートします:

  • GET
  • HEAD
  • POST
  • PUT
  • PATCH
  • 削除

および以下のフィールドの変更:

  • ホスト名、ポート、パス
  • 認証(none, Basic Auth, OAuth 2)
  • リクエストヘッダ
  • クエリパラメータ
  • リクエストボディ(JSON、フォームURLエンコード、XML、プレーンテキスト)

:::(Info) (注)この選択はContent-Typeヘッダーに影響します。例えば、プレーンテキストオプションを使ってJSONを送信したい場合、ヘッダーのContent-Typeを手動で "application/json "にハードコードする必要があります:

レスポンスを処理し、そこから情報を抽出することができます:

  • レスポンスヘッダ
  • レスポンスボディ(json-queryを使用したJSONまたはxpathを使用したXML)

HTTPコネクターは、出力で以下のデータタイプをサポートしています:

  • テキスト
  • 整数
  • Float
  • ブール値
  • Datetime* データ型
  • 上記のすべてのデータ型を持つオブジェクト
  • 上記のすべてのデータ型を持つ配列

*Datetimeの解析は以下をサポートします:

  • UTC1970年1月1日からのミリ秒単位のODataタイムスタンプ。
  • 1970年1月1日UTCからのミリ秒として解釈される数値
  • ISO 8601 日付文字列

コネクタの作成

Connector ページの右上にあるAdd Connectorをクリックし、Connector に名前を付けてHTTP を選択する。

An Overview of HTTP Connectors_122139734.png

すると、**Environment**タブが表示されます。複数の環境を設定したい場合は、この別のガイドを参照してください

An Overview of HTTP Connectors_122140278.png

Connector を選択した後、Add Connection Detailsを選択して、クエリするサーバの詳細を追加します。

An Overview of HTTP Connectors_122140947.png

5 つのオプションがあります。

An Overview of HTTP Connectors_122141109.png

コネクタホストについては、このガイドを参照してください。

**ホスト:**クエリするドメインのみを含めます。例:myaccount.restlet.api.netsuite.com

**Port:**クエリするサービスによって指定する必要があります。HTTPリクエストは通常443番ポートを使用します。

**TLS:**HTTPSを使用する場合は "Yes "を選択し、"HTTP "だけの場合は "No "を選択します。

テスト]をクリックしてサーバに正常に接続できるかどうかを確認し、[保存]をクリックします。

コネクタを複製または削除するには、コネクタページに戻り、特定のコネクタの右側にある3つの点をクリックします。

An Overview of HTTP Connectors_122140669.png

コネクタ機能の作成

新しい関数を作成するには、[Functions]タブで[Add New Function]ボタンをクリックします。

An Overview of HTTP Connectors_122141271.png

その後、関数を編集するための一連のオプションが表示されます。

まず、ページの左上でファンクションに名前を付けます。

次に、「Add Function Inputs」をクリックして入力の追加を開始します。例

HTTP コネクタ関数をテストする場合は、各入力に "Test Value" を追加します。

次に、URLの末尾にエンドポイントを追加し、HTTPリクエストのタイプを選択します。

Query Parameters]を選択して、キーと値のペアの追加を開始します。Valueフィールドには、定義したInputsを使用します。

例えば、入力名が "city_name "の場合、$city_name$と入力します。

レスポンスの処理

入力と出力に満足したら、右上のTestを選択してサンプルレスポンスを作成します。

テスト結果セクションに、JSONあるいはXMLのレスポンスが表示されます。ここで、このレスポンスの一部をOutputにマッピングし、アプリで使用することができます。

JSONエクストラクタは、json-query構文を使用します。構文をテストするには、このオンラインツールを使用します。

XMLエクストラクタはXPATH構文を使用します。

これには2つの方法があります:

  1. レスポンス本文のプロパティをクリックして出力にマッピングする。
  2. json-queryを使用して手動でパスを指定する。

ここでは、ポイント&クリックを使用してエクストラクタを指定する方法を説明します:

json-queryを使用する場合は、レスポンスの内容をTulipにマッピングできるように、いくつかの出力を追加します。

次に、各出力の横に "extractors "を指定し、保存したいレスポンス本文のデータを示します。

例えば、オブジェクトの配列を返すGETリクエストを書いたとします。配列の最初のオブジェクトからnameプロパティの値を返したいとします。

pathフィールドにはこのように記述します:

0.name

レスポンスのヘッダと クッキーのセクションから値を格納することもできます。

上記のセクションと同様に、Outputセクションで特定の出力を指定する必要があります。次に、サンプル・レスポンスの一部をクリックするか、json-query を使用して、HTTP レスポンス内の JSON から正しいプロパティにアクセスします。

以下は、"csrf_token "という名前の出力が、ヘッダー内のプロパティから "x-csrf-token "という値を格納する例です。

出力は、アプリと共有されるときにオブジェクトのプロパティとして格納されます。その後、アプリ内の変数にオブジェクトを格納する必要があります。詳細については、コネクタ出力をアプリで使用するためのガイドを参照してください。

RegEx を使用して出力を変更する

RegEx を使用して、応答からテキスト値を絞り込むこともできます。これを行うには、Pathフィールドに以下の関数のいずれかを追加して、正規表現を通して値を渡します:

regexp()

文字列内の複数の部分文字列をキャプチャするには

regexpGroup()

0.name:regexp(^N) 0.name:regexpGroup(^w + (w+))

RegEx groupを使うと、より大きな文字列の中の1つのグループをキャプチャすることができる。これを行うには、RegEx文字列の最後にカンマを追加し、文字列内の特定のグループの番号を追加します。

parts[0].inputs:regexpGroup(^www(¦¦¦),2)

または、配列の中からルールにマッチする特定の項目を選択するために使う。例えば、email の値が n で始まる最初のオブジェクト。

.[email:regexp(^N)] とします。

RegExをテストするにはRegExrをお勧めします。TulipはJavaScript (ECMA) RegExエンジンを使用しています。

出力におけるオブジェクトと配列の扱い

TulipはJSON出力内でオブジェクトと配列の両方をサポートしています。それぞれの使い方を説明します:

オブジェクト

JSON出力をオブジェクトとしてフォーマットするには、まずOutputsセクションでObjectを作成し、抽出器を指定します。

上記の例では、オブジェクトは "singleObj "と呼ばれています。JSON出力はオブジェクトの配列なので、インデックス0のオブジェクトを選択します。

次に、格納したい各キー/値のペアに対応する出力を追加し始めます。キーと値のペアはボタンで追加できる。

上の例では、singleObjオブジェクトの中に2つのフィールドがあります:

  1. userIDは、userIDプロパティを参照し、整数値です。
  2. id プロパティを参照し、整数です。

この場合、エクストラクタは自動的にインデックス 0 のオブジェクトを参照するため、"0." で開始する必要はありません。

参考までに、JSON出力は以下のようになります:

オブジェクトの配列

オブジェクトの配列を返すには、OutputセクションでList of Valuesを選択し、Objectsを選択します。

おそらく、JSON出力のルートレベルで配列全体を返す必要があるでしょう。

これを行うには、エクストラクタに「:

次に、上記のオブジェクト抽出器と同様に、アプリに送信する個々のプロパティを追加し始めます。

これは、配列内のすべてのオブジェクトのuserIdとidを返すことになります。テスト結果の Outputs セクションで作業を確認できます:

つのデータ型の配列

戻り値の配列に含まれるすべてのオブジェクトからブール値を取得したいとします。

これを行うには、ブール値の配列の出力を作成します。次に、すべてのオブジェクトにそのブール値を格納するために使用されるプロパティを示します。

上の例では、出力は「completed」と呼ばれ、エクストラクタによって示された配列内のすべての「completed」プロパティからの値が含まれます。

出力は以下のようになります:

過去の統合

Tulipは様々なソフトウェアシステムと統合することができます。以下は、過去にTulipに統合されたシステムの例です:

さらに読む


お探しのものは見つかりましたか?

community.tulip.coで質問を投稿したり、他の人が同じような質問に直面していないか確認することもできます!


この記事は役に立ちましたか?