サービス/APIシンクレット

サービス/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を生成します。

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

  • 資格情報: 統合のための接続クレデンシャルを選択します。 最初に管理モジュールのConnector credentialsページで構成してください。

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

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

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

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

  • JSONの解析言語を選択して、API呼び出しの応答からデータを収集するために効果を発揮します。

リソースパスの設定

Service/API thinkletの設定から、資格情報で示された基本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の—式例を示します。

出力のための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を解析します。


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

ワークフローの実行中に収集されたデータと共に、usersdevicesのデータをリソースフィールドとペイロードフィールドで参照します。

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

Last updated

Was this helpful?