Skip to main content
Loading...
Skip to article
  • Qualtrics Platform
    Qualtrics Platform
  • Customer Journey Optimizer
    Customer Journey Optimizer
  • XM Discover
    XM Discover
  • Qualtrics Social Connect
    Qualtrics Social Connect

記事テンプレート


Was this helpful?


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The feedback you submit here is used only to help improve this page.

That’s great! Thank you for your feedback!

Thank you for your feedback!


コードタスクについて

注意この機能へのアクセシビリティと継続的な使用には、ライセンスのアップグレードが必要な場合があります。詳しくはクアルトリクス営業担当までご連絡ください。

コードタスクでは、カスタムJavaScriptを使用して、ワークフロー内の他のタスクの前または後にデータ操作、フォーマット、計算操作を実行することができます。例えば、コードタスクを使って、APIコールの戻り出力をより使いやすい結果に変換することができる(例えば、技術者でないマネージャーに結果を伝える必要があった場合)。そして、その変換結果をメールタスクにパイプし、マネージャーにメールを送ることができる。

注意カスタムコーディング機能はそのまま提供され、実装するにはプログラミングの知識が必要です。Qualtricsサポートでは、カスタムコーディングに関するサポートやコンサルティングを提供していません。その代わり、クアルトリクスXMコミュニティの経験豊富なユーザーにいつでも質問できます。カスタムコーディングサービスの詳細については、クアルトリクスの営業担当にお問い合わせください。


コードタスクの設定

  1. に移動する。 単体ワークフローページ または アンケートのワークフロータブ
    ワークフロー]タブで、[ワークフローを作成する]をクリックし、イベントが受信されたときに開始されます。
  2. ワークフローの作成」をクリックします。
  3. イベント受信時に開始を選択。
  4. ワークフローに名前をつける。
    イベント選び
  5. Choose Event]をクリックし、ワークフローを開始するイベントを選択します。通常はアンケート調査の回答イベントです。
  6. 必要であれば、プラス記号()をクリックし、「条件」を選択してワークフローに条件を追加します。条件は、ワークフローがいつ起動するかを決定するのに役立ちます。建物の条件についてはリンク先のページを参照。
    プラス記号の次に条件をクリックする
  7. プラス記号()をクリックし、タスクを選択します。
    プラス記号の次にタスクをクリック
  8. Code タスクを選択する。
    コードタスク
  9. ボックスにJavaScriptの式を入力してください。コードを書く際に役立つ情報については、ベストプラクティスのセクションを参照してください。
    コードタスクにコードと要約を追加する

    Qtip:コードエディターは編集の履歴を保持するので、CTRL+Z(PC) またはCMD+Z(Mac) を押すことでコードの変更を取り消すことができます。変更をやり直すには、SHIFT+CTRL+Y(PC)またはSHIFT+CMD+Y(Mac)を使用します。
    Qtip:コードを書いていると、ウィンドウにエラーが表示されることがあります。これらのエラーは構文エラーをチェックしているのであって、実行エラーをチェックしているのではない。構文エラーは、アカウントの言語設定にかかわらず、常に英語で表示されます。タスクが保存され、ワークフローがトリガーされるまで、エグゼクティブは実行されません。
    javascriptエディタに構文エラーが黄色で表示される。
  10. 必要であれば、JavaScriptコードが何を達成すべきかを説明するタスクサマリーを入力する。
  11. Test codeをクリックすると、ローカルブラウザでコードが実行されます。
    Qtip:これらは異なる環境で行われるため、コードをテストしてもワークフローで実行したのと全く同じ結果が得られるとは限りません。
  12. JavaScript 式にテキストの差し込みを追加するには、{a} テキストの差し込みを追加 メニューを使用します。テキストの差し込みは、回答者のアンケート調査の回答を読み込むなど、イベントから値を読み込むのに便利です。テキストの差し込みは、JavaScript式が実行される前に評価されます。
  13. コードを消去してやり直す必要がある場合は、「デフォルトにリセット」をクリックしてください。
  14. 終了したら、[保存]をクリックします。
  15. コードタスクは多くの場合、コードタスクの出力を使用するために別のタスクとペアになる。プラス記号()をクリックし、タスクを選択し、次へタスクを選択します。タスクの概要についてはこのページを参照。
    プラス記号の次にタスクをクリック

    Qtip:その後のタスクを設定するとき、コードタスクの出力はタスクのテキストの差し込みメニューで利用できるようになります。
    メールタスクのテキストの差し込みメニューでコードタスクの結果を選択する


JavaScriptの実行制限

コードタスクに含めるJavaScriptコードを書く際には、以下の実行制限に注意してください:

  • 最大実行時間:10秒
  • JavaScriptの最大長:6KB
  • APIリクエストのアウトバウンドはできません:セキュリティ上の理由から、コードタスクは他の API やサービスに対してアウトバウンドリクエストを行うことはできません。また、HTTP リクエストを使って実行時に他の JavaScript ライブラリを取得することもできません。

JavaScriptのコードがこれらの制限を超えると、コードタスクは失敗する。ワークフローが失敗した場合は、ワークフローレポートで失敗の原因をご確認ください。



ベストプラクティス

JavaScriptを書く際には、以下のベストプラクティスに従ってください:

    • あなたのコードはES6構文に準拠していなければならない。
    • あなたのコードは、保護された環境でNode.jsを介して実行されます。タスクは現在Node.jsバージョン8.10を使用している。
    • あなたのコードは、JavaScriptオブジェクトとして結果を返さなければなりません。返される結果がこのようにフォーマットされていると、システムはカスタムコードがどのフィールドを返すかを自動的に推測し、その後のタスクに適切なテキストの差し込みを提供することができます。

      この例では、複数の結果を返します:

      function codeTask() {
       return {
         hello: "world",
         foo:"bar",
         status: 200
       };
      }.

      この例では、単一の結果を返します:

      function codeTask() {
       return {
         result:"hello world",
       };
      }.
    • 期待する情報の種類によっては、ロケーター構文を引用符で囲む必要があるかもしれない。ロケーターを文字列に解決したい場合は、引用符を追加する必要があります。ITがオブジェクトに解決される場合は、引用符を付ける必要はない。

      例えば、以下のようなコードには引用符が必要です:

      function codeTask() {
         let ticketId = "~{ch://OCAC_31HNMUuEpm3Jg/exports.data.key}";
         ...
      }.
    • 引用符を含む可能性のあるフィールドにテキストの差し込みを使用する場合、パイプされたテキストを囲む引用符の代わりにテンプレート・リテラル(`)を使用する必要があります。


例コードタスクとWebサービスタスクの併用

この例では、コードタスクとウェブサービスタスクの使い方を説明します。Web サービスタスクでコードタスクを使用して、回答者のアンケートの回答を API フレンドリーなコードに変換し、返された値を使用して API コールを実行することができます。そして、APIコールの結果を受け取り、別のコードタスクを使って、返された値を人間が使いやすいレスポンスに変換することができる。

この例では、クアルトリクスでレストラン検索を構築しています。詳しくは後ほど説明するが、以下にその概要を記す。

  1. アンケート調査では、回答者に「どこで食べたいのか」「結果をどのように返したいのか」を尋ねます。
  2. レストランを検索するには、サードパーティのレストラン検索アプリを使用します。コードタスクを使用して、アンケート調査回答者の回答をサードパーティのレストラン検索APIが使用できるフォームに変換します。
  3. 次に、ウェブサービスタスクを使用して、サードパーティのレストランファインダーにAPIコールを実行し、結果をJSONとして返します。
  4. 別のコードタスクを使って、結果のJSONを人間が読める形に変換する。
  5. 最後のタスクを使って、この情報を回答者、あるいは私たち自身に送ることができる。たとえば、メールタスクを使用して、回答者に返信された結果をメールで送信します。

コードタスクでレストラン検索を作成する

  1. アンケート調査では、コードタスクに反映させる質問を作成します。私たちの場合は、レストランをどこで検索するかという質問文と、結果をどのように並べ替えるかという多肢選択式の質問です。
    アンケートの作成とワークフローへの移動
  2. ワークフローに移動します。
  3. 新しいワークフローを作成する
  4. ワークフローイベントでは、以下の項目を選択します。 アンケート調査への回答 イベントを作成し、新しいレスポンスが作成されたときにイベントがトリガーされるように設定します。詳細については、リンク先のページを参照してください。
    アンケート調査回答イベントの追加とタスクの追加
  5. プラス記号()をクリックし、タスクを選択します。
  6. Code タスクを選択する。
    コードタスクの選択
  7. コードについては、回答者の回答をレストラン検索APIに必要な値に変換しています。
    コードタスクへのテキストの差し込み
  8. テキストの差し込みを使用して、回答者の回答の元となる質問文を引き込みます。
  9. 保存を クリックしてタスクを保存する。
  10. プラス記号()をクリックし、タスクを選択します
    プラス記号の次にタスクをクリック
  11. Web Serviceタスクを選択し、自分らしくいられることを選択する。詳しくはこのページをご覧ください。
    ウェブサービスタスクの選択
  12. URL を入力してください。
    URLがURLフィールドにあり、テキストの差し込みアイコンが強調表示されている。
  13. クエリ文字列を使用してパラメータを追加します。テキストの差し込みメニュー{a}を使用して、アンケート調査や前回のコードタスクの値を使用します。

    完全に構築されたURLは次のとおりです。

    https://api.example.com/v3/businesses/search?sort_by=~{ch://OCAC_Zt2TNQYggAb6u89/sort_by}&location=${q://QID1/ChoiceTextEntryValue}.

    これには、sort_byとlocationという2つのパラメータがある。sort_byの場合、値は最初のコードタスクの結果である。場所の場合、値は自由回答質問文に対する回答者の回答です。

  14. 必要に応じてタスクの設定を終える。ヘルプが必要な場合は、ウェブサービスのタスクを参照してください。
    Qtip:ウェブサービスタスクでは、APIコールが機能することを確認するために、期待される返される値をテストすることができます。
    ウェブサービスをテストするために、テストボックスに2つの変数を入れます。
  15. 必要に応じて、他のタスクで使用できるカスタムJSONパスを作成する。この例では、検索結果から企業の配列を返す “business “パスを作成します。
    将来のコードタスクで使用する、テキストの差し込みセクションのビジネスのためのパス。

    qtip:ウェブサービスタスクをテストした場合、クアルトリクスは自動的にJSONパスを識別し、ここに追加します。不要なものはごみ箱アイコンをクリックして自由に削除してください。
  16. 保存]をクリックします。
  17. プラス記号()をクリックし、 タスクを選択します。
    プラス記号の次にタスクをクリック
  18. Code タスクを選択する。
    コードタスクの選択
  19. ここで、ウェブサービスタスクから得られる結果JSONを読みやすい形に変換する必要がある。私たちの場合は、Eメールに使用するためにHtmlに変換しています。
    ウェブサービスからのJSONをHtmlに変換するコードタスク。
  20. ウェブサービスタスクから結果のJSONを取得するには、テキストの差し込みメニュー{a}を使用します。
  21. 保存]をクリックします。
    Qtip:パイプ差し込みテキストを使用する場合、パイプ差し込みテキスト指定子は検証JavaScriptではないため、警告が表示されることがあります。しかし、これはコードが実行される前にテキストの差し込みがフィールドの値に置き換えられるため、実行前に解決されます。
  22. プラス記号()をクリックし、タスクを選択します。
  23. Eメールを選択してください。
    メールタスクの選択
  24. メールタスクを設定します。詳細については、リンク先のページを参照してください。
  25. 2番目のコードタスクの結果をメール本文にパイプインする。これがレストラン検索の結果を返すものである。
    最終コードタスクのテキストの差し込みをメールタスクに追加する。

    以下は、2つ目のコードタスクの結果とともに、回答者の回答が入力されたメールエディタの例です。
    アクションの結果を表示するためのテキストの差し込みを持つEメールエディタ
  26. 結果として、回答者が選択した検索結果がメールで返されます!
    結果、レストラン名、評価者、レビューが記載されたメールが送信される。


FAQ

アクセスは、ライセンスと権限によって異なります。ブランド管理者 に連絡し、ライセンスがその拡張機能へのアクセス権を持っているかどうか確認してください。
クアルトリクスワークフローの基本については、 こちらのサポートページ を参照してください。すべてのイベントとタスクがこのページからリンクされます。
ワークフローテンプレートは、ユーザがワークフローを最初から構築する必要がないように、事前に構築された自動化されたワークフローのコレクションです。これらのテンプレートは、クアルトリクスの主題のエキスパートが作成します。
アクションの名称がワークフローに変更されました。これは、製品エクスペリエンスをより適切に表し、ユーザが製品に関与する方法を反映するためです。ワークフローの使用の詳細については、「ワークフローの概要」ページを参照してください。

この更新の一環として、ワークフロー機能に変更はありません。

当サポートサイトの日本語のコンテンツは英語原文より機械翻訳されており、補助的な参照を目的としています。機械翻訳の精度は十分な注意を払っていますが、もし、英語・日本語翻訳が異なる場合は英語版が正となります。英語原文と機械翻訳の間に矛盾があっても、法的拘束力はありません。