送信REST Webサービスの設定

送信REST Webサービスの設定

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Alert

早期アクセス

この機能はすべてのユーザーに対して有効になっているわけではありません。お試しになりたい場合は、サポートチームにメールで早期アクセスをお申し込みください。

アウトバウンドREST Webサービスを使用すると、REST準拠サーバー上のデータを取得、作成、更新、削除するためのHTTP要求を送信し、外部Webサービスとやり取りできます。この機能は外部APIとスムーズに連携するよう設計されており、さまざまなユースケースに対応できる柔軟性があります。


主な機能

  • REST API要求をGETPOSTPUT、またはDELETEメソッドを使用して送信できます。

  • 要求にパラメーターヘッダー、および本文コンテンツを含めることができます。

  • 実行時に値を動的に渡すには、変数を使用します。

  • API応答を解析して特定のデータを抽出し、ワークフローでさらに使用できます。

QntrlのビジネスルールCircuits、およびスタンドアロン関数など、スクリプトに対応している任意の領域から、アウトバウンドREST呼び出しをトリガーできます。

以下では、Qntrlから外部システムにアウトバウンドREST要求を設定して送信する手順を説明します。

APIの作成 

QntrlでREST API設定を作成するには、次の手順を実行します。

  1. [設定] [WEB SERVICES][Outbound][REST]に移動し、クリックします。

  2. 右上の[APIを作成]をクリックします。

  3. 左サイドバーにAPIの名前を入力します。

  4. HTTPメソッド(GET、POST、PUT、またはDELETE)を選択します。

  5. 要求の送信先サービスのAPI URL(エンドポイント)を入力します 

  6. [接続を有効にする](チェックボックス)このチェックボックスを選択すると、DRE接続経由で要求が送信されます。
    • 選択すると、利用可能な接続のドロップダウンが表示されます。
    • 既存の接続を選択するか、[新しい接続を作成]します。
    • 接続ステータスは色インジケーターで表示されます。
      1. は接続が有効であることを示します。
      2. は接続が無効であることを示します。

      

  

要求の設定 

APIには、クエリパラメーターヘッダー、および本文の形式で入力を渡すことができます。[要求の設定]セクションをクリックし、それぞれに必要な詳細を入力します。
Notes
すべてのセクション(クエリパラメーター、ヘッダー、本文)で、次の形式の静的値または動的値を使用できます。
  • {{variableName}}:実行時の値に使用します。
  • ${configstore-name}:Config Storeの値を使用します。
  • 直接入力したリテラル値。
フィールドを追加するには+アイコンを使用し、必要に応じてで削除します。
  1. クエリパラメーターAPI URLに追加するキーと値のペアを定義します。
    • キー:クエリパラメーターの名前です。

    • 上記の形式に基づいて入力します。

      

  1. ヘッダー要求に必要なHTTPヘッダーを設定します。

    • キー:ヘッダー名(例:Authorization)

    • 上記の形式に基づいて入力します。

      

  1. ボディ(POST & PUTのみ):形式を選択し、データを入力します。

    • なし:要求にボディが不要な場合に選択します。

    • form-data:キーと値を入力します。

    • x-www-form-urlencoded:キーと値を入力します。

    • Raw:複雑なペイロードには、テキスト、JSON、XMLを使用できます。

      

  1. 変数値を使用したAPIのテスト:更新アイコンを使用して、利用可能な変数を読み込みます。API要求をテストするには、各変数にサンプル値を入力します。保存する前に設定を確認できます。要求の送信後、[レスポンス]タブでテストレスポンスを確認できます。

      

Notes
  • テスト機能は検証目的のみであり、実際に保存された設定には影響しません。
  • 要求設定には、最大20件のキーと値のペアを追加できます。
  • レスポンスパーサーでは、最大20件のJSONパスを定義できます。

REST要求での変数の使用  

{{variableName}}構文を使用して、要求設定内の任意の場所に変数を挿入できます。

  • 静的な値:UIで手動入力します([変数値を使用したAPIのテスト]から)。

  • 動的な値:スクリプトまたはCodexを使用して実行時に渡されます。

Codexから実行する場合は、変数をJSONオブジェクトとして指定します。

{
'jobId': '1123',
'メール': '
john.doe@swerio.com'
}

クエリーパラメーター、ヘッダー、ボディ全体で、プレースホルダー{{jobId}}と{{メール}}がこれらの値に置き換えられます。


レスポンスパーサー 

実行後、レスポンスパーサーを使用して、JSONレスポンスから特定のデータを抽出します。

  • Qntrlによりレスポンスが自動的にフィルターされ、よく使用されるJSONパスが候補として表示されます。

  • 候補の中から、パスの横にある[追加]をクリックし、名前を付けて[保存]をクリックすると保存できます。

  • 必要なデータを抽出するために、複数の項目を追加できます。

      

抽出された値は、次回の実行時に適用済みレスポンスとして表示され、元の完全なレスポンスとともに表示されます。


送信REST要求またはレスポンスを変更するスクリプト 

プレスクリプト  

カスタムロジックを実行するには、プレスクリプトを使用します。API要求が送信される前に実行されます。プレスクリプトは、送信REST API呼び出しが行われる直前に自動的に実行されます。この機能は、ビジネスロジックや実行時の条件に基づいて、クエリーパラメーター、ヘッダー、ボディ、変数値を動的に変更する必要がある場合に特に便利です。

CodeXのサンプル
function beforeSend() { try { var queryParams = webservice.outboundREST.getQueryParameter(); console.log('Query parameters ' + queryParams); // Add a new query parameter. var timestamp = new Date().toISOString(); webservice.outboundREST.addQueryParameter('timestamp', timestamp); // Replace variable values. var variables = {}; variables['user_id'] = '21499000000115251'; webservice.outboundREST.replaceVariableValues(variables); // Add a custom header webservice.outboundREST.addHeader('x-tracking-id', 'track-' + Date.now()); console.log('Modified query params --> ' + webservice.outboundREST.getQueryParameter()); console.log('Modified headers --> ' + webservice.outboundREST.getHeader()); } catch (e) { console.log('Error in beforeSend: ' + e.message); webservice.outboundREST.setResponseCode(500); } }

仕組み  
  • beforeSend()関数は、要求が送信される前に自動的に呼び出されます。
  • 外部システムとの連携を正常に行うために必要な動的パラメーター、ヘッダー、値を追加して、要求にアクセスし変更できます。
  • 開発者は送信要求をプログラムで調整し、正しいパラメーター、認証値、追跡情報が含まれるようにできます。

ポストスクリプト  

ポストスクリプトを使用すると、送信REST APIのレスポンスを受信したにカスタムロジックを実行できます。後続の処理に渡す前に最終出力を調整する場合に役立ちます。
  • レスポンスコード、ヘッダー、データを変更できます
  • 定義済みのレスポンスパーサーはレスポンスに対して自動的に実行され、その出力は適用済みレスポンスとして利用できます。
  • ポストスクリプトで変更されたレスポンスが、最終レスポンスとして取得されます。

CodeXのサンプル
function afterSend() { var appliedResponse = JSON.parse(webservice.outboundREST.getAppliedResponse()); console.log('appliedResponse -->' + appliedResponse); var variables = JSON.parse(webservice.outboundREST.getVariableValues()); var varJson = {}; varJson['account_id'] = appliedResponse.CRM_Account_ID; varJson['oauth_token'] = variables.oauth_token; var crmResponse = OutboundREST.executeByName('GetAccountDetailsCRM', varJson); if (!crmResponse || Object.keys(crmResponse).length === 0) { webservice.outboundREST.setResponseCode(500); webservice.outboundREST.addResponseHeader('crm_error', 'unable to fetch CRM data.'); } else { appliedResponse['crmResponse'] = crmResponse; webservice.outboundREST.setAppliedResponse(JSON.stringify(appliedResponse)); console.log('appliedResponse -->' + JSON.stringify(appliedResponse)); } }


仕組み  
  • afterSend()関数は、アウトバウンドREST API要求が実行された後に自動的にトリガーされます。

  • 最初のAPIレスポンスで受信したデータを使用して、外部CRMシステムから追加の詳細を取得します。

  • 最終レスポンスには、元のデータと補完されたCRMデータの両方が含まれます。

後続の処理で使用する前に、未加工のAPIレスポンスを整形、変換したり、そこから特定の値を抽出したりする必要がある場合に特に便利です。


追加設定 

[設定]タブをクリックし、次の詳細を入力します。
  1. [接続タイムアウト]:クライアントとサーバー間の接続確立に許可される最大時間です(初期値:5秒)。
  2. [スコープ]:スコープまたは権限レベルを定義します。
  3. [SSL証明書の検証]:サーバーでSSL証明書の検証が必要な場合は、このオプションを有効にします。
    1. 安全な通信を確保するため、Qntrlは要求の送信時にサーバーのSSL証明書を検証します。
    2. 証明書は、URL内のホストとポートに基づいて取得されます。
    3. 同じホストとポートに複数の証明書がある場合は、最後に追加された証明書が使用されます。
    4. URLでポートが指定されていない場合、Qntrlでは既定でポート443(HTTPSの標準)が使用されます。
      

要求の保存と実行     

設定を保存するには、次の操作を行います。

  • [保存]をクリックします。APIが左サイドバーに表示されます。

  • [送信]をクリックしてAPIを実行およびテストします。この操作でもAPI設定が保存されます。

  • 実行後、[レスポンス]タブで結果を確認します。

Notes
テスト結果を編集しても、実際の設定は変更されません。再テストする前に、必ず更新内容を保存してください。

CodexでのアウトバウンドRESTの実行  

次の方法で、Codexを使用してアウトバウンドREST関数を実行できます。
IDによる実行  

設定済みREST APIの一意のIDを使用して、スクリプトから実行をトリガーします。

構文

OutboundREST.execute('<api_id>', <variables>);
サンプル要求
let requestData = {}; requestData['approvalStatus'] = 'Approved';
OutboundREST.execute(31453000002078039, requestData);


名前による実行  

設定済みのAPI名と変数のキーと値のペアのオブジェクトを使用して、REST APIを呼び出します。

構文

OutboundREST.executeByName('api_name', <variables>);
サンプル要求
let requestData = {}; requestData['approvalStatus'] = 'Approved';
OutboundREST.executeByName('TaskApprovalAPI', requestData);
これらの実行では、requestDataオブジェクトで指定された値を使用して、REST API設定内のプレースホルダー(例:{{approvalStatus}})が動的に置換されます。

その他の操作 

左パネルで利用可能なオプションを使用して、アウトバウンドREST APIを管理できます。

  • 有効化または無効化:API名の横にある切り替えスイッチを使用して、APIを有効化または無効化します。

  • 名前の変更または削除:APIの横にある[その他の操作(...)]アイコンをクリックし、必要に応じて[名前の変更]または[削除]を選択します。

      




次へ

    • Related Articles

    • 受信SOAP Webサービスの設定

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス この機能は、すべてのユーザーに対して有効になっているわけではありません。お試しになりたい場合は、メールでサポートチームに早期アクセスをお申し込みください。 インバウンドSOAP ...
    • 送信SOAP Webサービスの設定

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス この機能は、すべてのユーザーに対して有効になっているわけではありません。試用を希望する場合は、サポートチームにメールで早期アクセスについてお問い合わせください。 ...
    • 受信REST Webサービスの設定

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス この機能はすべてのユーザーに対して有効になっているわけではありません。試用をご希望の場合は、メールでサポートチームにご連絡いただき、早期アクセスをお申し込みください。 QntrlのインバウンドREST ...
    • 外部CRM経由のカード作成の自動化

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 シナリオ ある会社では、Zoho ...
    • Webサービスの概要

      お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 早期アクセス Webサービスはすべてのユーザーに対して有効化されていません。早期アクセスをご希望の場合は、サポートチームにメールでお問い合わせください。 ...