スクリプトのベストプラクティスと推奨事項

以下は、スクリプトに関する重要な注意事項、ベストプラクティス、および推奨事項です。 

キュー名変数

  • The script does not know the Scripter.Queue Name variable value when the page loads. The script must request the data for the variable from the platform. As a result, the Scripter.Queue Name variable might not be available for anything other than displaying, including using its value inside a complex action. If you want to use the queue name for some conditional logic inside a script, for example, you want to use the queue name in your logic, you might have an issue. This issue is because the variable might be empty or changed by some other logic when the script runs. If you choose to use the queue name and the name changes, the action can be broken. Only use Scripter.Queue Namefor display purposes. When the data must be immediately available, we recommend relying on the Scripter.Queue IDvariable in place of Scripter.Queue Name. To directly load the queue name before calling external actions that require the name, use Scripter.Queue ID.

コンタクトリストデータ

  • コンタクトリストデータは、キャンペーン中のスクリプトロード時に取得されます。 データ取得後にアクションを起こすには、スクリプトページのロードアクションではなく、コンタクトデータのロードアクションを使用します。 スクリプターが電話をかけてきたり、かかってきたりしたコンタクトをフェッチすると、そのデータに影響を与える。 プラットフォームからデータを要求した場合、スクリプトのロード時に利用できない場合があります。 スタートページのスクリプトロードやページロードの動作中にコンタクトデータを使用しようとすると、変数にデータが読み込まれない場合があります。 スクリプトでコンタクトデータを使用する場合は、Outbound機能のScript Propertiesで使用できるContact Data Loadアクションを使用することをお勧めします。

ページロード動作

  • 注意すべき点は、ページを切り替えるたびにPage Loadアクションが発生しますが、インタラクションを切り替えてそのインタラクションに戻ってくるたびにPage Loadアクションが発生するわけではありません。
  • To write a Page Load action that only triggers once and not on every page change, use a TrueFalse custom script variable such as hasTriggered. Wrap the logic that runs once with a check to that variable. 

ブラウザをリフレッシュする

  • ブラウザが更新されたとき、プラットフォームは、飛行中のアクションを再試行しません。 プラットフォームを通じてロングポーリングのアクションをトリガーする場合、エージェントがブラウザを更新してもアクションが終了していない場合、アクションはその場で停止し、スクリプトが再読み込みされ、アクションは再試行されないことに留意してください。 アクションの実行時間が長くない場合でも、アクションの途中でブラウザが更新される可能性があるのです。 このリフレッシュを制御することはできず、アクションの回復や再試行を行うことはできません。

入力変数

  • Input variables are only fetched once on script load. These variables do not update as conversation updates come in. Use the Scripter.Refresh Input Variablesaction to re-fetch the values from a conversation and update the input variables.