サービス/API Thinklet

サービス/API Thinkletは、次のコネクタ認証情報タイプをサポートしています:

  • 基本

  • ベアラー

  • OAuth 2.0 - Client Credentials

  • OAuth 2.0 - Authorization Code

  • 認証なし

サービス/APIティンクレットは、外部の公衆APIへRESTコールを実行します。 これは追加情報を取得したり、行動を要求するために使用します。

サービス/APIティンクレットは次の呼び出しメソッドをサポートしています:

  • GET

  • POST

  • PATCH

  • PUT

  • DELETE

サービス/APIティンクレットでサポートされるペイロードとレスポンスはJSON形式です。

  • 名前: サービス/APIティンクレットにユニークな名前を入力します。

  • ID: システムは名前に基づいて自動的にIDを生成します。

  • 説明(オプション): ティンクレットの目的とその機能を説明します。 この情報は、ワークフローを利用する他のユーザーにとって役立ちます。

  • 資格情報: 統合のための接続クレデンシャルを選択します。 管理モジュールの コネクタ資格情報 ページであらかじめ設定してください。

  • リクエストメソッド: リクエスト接続メソッドを選択します。

  • リソース: 接続のエンドポイントを指定します。 このページで #setting-the-resource-path セクションを参照してください。

  • カスタムヘッダーの追加: 追加のメタデータを渡すために最大5つのカスタムヘッダーを追加します。 代わりに 資格情報 に認証ヘッダーを追加する必要があります。

  • ペイロード: 外部システムに送信される JSONペイロード を入力します。

  • APIコールのレスポンスからデータを収集するためにJSONの解析言語を選択します。

リソースパスの設定

サービス/APIティンクレット設定から、クレデンシャルで示されたベースURLに対して呼び出したいエンドポイントの相対的な リソース フィールドを定義します。

完全なURLが正しく構築され、誤ったAPIリクエストが防がれるようにするため、リソースパスにスラッシュ '/' の使用に注意してください。クレデンシャルに応じて異なる場合があります。

  • クレデンシャルURLがスラッシュで終わる場合は、例: https://<インスタンス>.service-now.com/、リソースはスラッシュなしで開始します。 例: api/now/table/incident

  • あなたのクレデンシャルURLがスラッシュで終わらない場合、例: https://<インスタンス>.service-now.com、リソースはスラッシュで開始します。 例: /api/now/table/incident

APIコールからデータを収集する

サービス/APIティンクレット設定から、外部システムからのAPIコールレスポンスからデータを収集するためにサポートされるJSON解析言語を選択します。

  • JSONata(推奨): これはJSONのための強力なクエリーと変換言語です。 複雑なフィルタリング、計算、データ再構築を可能にします。

  • JSONPath: これはJSONからフィールドを抽出するためのシンプルな言語です。 システムが簡素なデータアクセスパスを期待する場合によく使用されます。

サービス/APIティンクレットは、外部システムからのレスポンスを10秒まで待ち受け、以降はコールを失敗として扱います。

外部システムからのレスポンスは、サービス/APIティンクレットの出力設定に関わらず、2MBを超えてはいけません。

出力設定

サービス/APIティンクレット用にJSONの解析言語を選択した後、データ出力設定を定義します。

  1. 出力を追加ボタンをクリックします。

  2. 条件やティンクレット入力で使用するための参照 名前を提供します。

  3. 選択したJSON構文を使用してデータ選択および変換のための式を定義します。

以下に、APIサンプルレスポンスからデータを抽出するための—JSONPathJSONataの—式例を示します。

 {
  "result": { "number": "INC001" },
  "value": [
    { "displayName": "Alice", "id": 1, "number": 50 },
    { "displayName": "Bob", "id": 2, "number": 120 }
  ],
  "@meta": { "key.with.dots": "yes" }
}
出力のためのJSONPath式の例

これらの式例を使用して、APIレスポンスから特定のデータを抽出します。

ユースケース
式 - JSONPatch
上記のAPIサンプルレスポンスの結果

ルート要素

$

(全JSON)

キーへのアクセス

$.result

{ "number": "INC001" }

ネストされた要素へのアクセス

$.result.number

"INC001"

最初の配列要素

$.value[0].displayName

"Alice"

キーにおける特殊文字

$['@meta']['key.with.dots']

"yes"

出力のためのJSONata式の例

これらの式例を使用して、APIレスポンスから特定のデータを抽出します。

ユースケース
式 - JSONata
上記のAPIサンプルレスポンスの結果

トップレベルキーへのアクセス

結果

{ "number": "INC001" }

ネストされた要素へのアクセス

result.number

"INC001"

配列の最初のアイテム

value[0].displayName

"Alice"

条件によるフィルタリング

value[number > 100].displayName

[ "Bob" ]

マッピングと変換

value.{ "name": displayName, "id": id }

[ { "name": "Alice", "id": 1 }, { "name": "Bob", "id": 2 } ]

計算を実行

value[0].number * 100

5000

集計

sum(value.number)

170

テスト時にJSONPathまたはJSONataを解析するために、オンライン変換ツールを使用します。


ペイロード内でのデータベースおよびワークフロー値の使用

ワークフローの実行中に収集された データ とともにユーザーデバイスのデータを、リソースおよびペイロードフィールドで参照します。

動的値の参照方法については、パラメータおよび動的値 ドキュメントを参照してください。

Last updated

Was this helpful?