早期アクセス
主な機能
GET、POST、PUT、またはDELETEメソッドを使用してREST APIリクエストを送信できます。
リクエストには、パラメーター、ヘッダー、ボディの内容を含めることができます。
変数を使用して、実行時に値を動的に渡すことができます。
APIレスポンスを解析し、ワークフローでさらに利用する特定のデータを抽出できます。
QntrlでREST API設定を作成するには、次の手順を実行します。
Qntrlにログインします。
設定アイコン([設定])→[WEBサービス]→[アウトバウンド]→[REST]をクリックします。
右上にある[APIを作成]をクリックします。
左サイドバーにAPIの名前を入力します。
[HTTPメソッド](GET、POST、PUT、DELETE)を選択します。
リクエストの送信先サービスの[API URL](エンドポイント)を入力します。
[キー]:クエリーパラメーター名です。
[値]:上記の形式に基づいて入力します。
[ヘッダー]:リクエストに必要なHTTPヘッダーを設定します。
[キー]:ヘッダー名(例:Authorization)
[値]:上記の形式に基づいて入力します。
本文(POSTおよびPUTのみ):形式を選択し、データを入力します。
なし:リクエストに本文が不要な場合に選択します。
form-data:キーと値を入力します。
x-www-form-urlencoded:キーと値を入力します。
Raw:複雑なペイロード向けに、テキスト、JSON、XMLに対応しています。
{{variableName}}構文を使用して、リクエスト設定の任意の場所に変数を挿入できます。
静的値:UIで手動入力します([変数値を指定したAPIのテスト]から)。
動的値:スクリプトまたはCodexを使用して実行時に渡されます。
Codexから実行する場合は、変数をJSONオブジェクトとして指定します。
これらの値は、クエリーパラメーター、ヘッダー、本文内のプレースホルダー{{jobId}}と{{メール}}を置き換えます。
実行後、レスポンスパーサーを使用して、JSONレスポンスから特定のデータを抽出します。
Qntrlはレスポンスを自動的にフィルターし、よく使用されるJSONパスを提案します。
候補から、パスの横にある[追加]をクリックし、名前を付けて、[保存]をクリックして保存します。
必要なデータを抽出するために、複数の項目を追加できます。
抽出された値は、次回の実行時に適用済みレスポンスとして表示され、元の完全なレスポンスと並べて表示されます。
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);
}
}
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が左サイドバーに表示されます。
APIを実行してテストするには、[送信]をクリックします。これによりAPI設定も保存されます。
実行後、[応答]タブで結果を確認します。
設定済み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);
左パネルで利用可能なオプションを使用して、送信REST APIを管理できます。
有効化または無効化:API名の横にある切り替えスイッチを使用して、APIを有効または無効にします。
名前の変更または削除:APIの横にある[その他の操作(...)]アイコンをクリックし、必要に応じて[名前の変更]または[削除]を選択します。