このドキュメントの情報を使用して、正しい方法でサーバーサイド JavaScript 関数の呼び出しを作成し、変数と値を宣言し、サーバーサイド JavaScript キーワードを参照してください。

サーバーサイド JavaScript ブロックの宣言 

Script タグを使用して、アプリケーションで処理する JavaScript ブロックを明確に示します。アプリケーションはこのタグを、大文字と小文字を区別しないインスタンスとして処理します。値を区別する必要がない限り、アプリケーションは引用符を省略可能として処理します。

サーバーは表示時にサーバーサイド JavaScript を実行します。表示後に変数の状態は維持されません。

この例は、サーバーサイド JavaScript ブロックの宣言に必要な最小限の構文を示しています。

1<script runat=server>
2    [Insert JavaScript Here]
3</script>

サーバーで JavaScript を実行するか、クライアントのブラウザーで JavaScript を実行してエラーを返すかを指定する必要があります。

この例は、完全な構文を示しています。

1<script runat=server language="JavaScript" executioncontexttype="Post" executioncontextname=test>
2    [Insert JavaScript Here]
3</script>

例には、必要に応じて指定できる 3 つのパラメーターが含まれます。

  1. Language パラメーターでは、「JavaScript」または「AMPscript」を指定できます。デフォルトでは「JavaScript」が使用されます。
  2. ExecutionContextType では、「Get」または「Post」を指定できます。パラメーターを指定しない場合は、デフォルトの「Get」が使用されます。
  3. ExecutionContextName では、実行する名前付きコンテキストを指定できます。

パーソナライズ文字列 

サーバーサイド JavaScript では、購読者属性、システム属性、データエクステンションフィールド、変数、関数、および JavaScript コード式でパーソナライズトークンが使用されます。

サポートされるパーソナライズ文字列タグ 

以下のタグをパーソナライズ文字列の一部として使用します。

  • ctrl:field - 購読者属性の値、システム属性の値、および送信可能なデータエクステンションのフィールド値を参照します。
  • crtl:var - AMPscript またはサーバーサイド JavaScript スクリプトブロック内で作成された変数を参照します。
  • ctrl:eval - JavaScript 式をコンテンツの代替として埋め込みます。

サポートされる属性 

以下の属性をパーソナライズ文字列内で使用できます。

構文サンプル 

独自のサーバーサイド JavaScript 呼び出しを作成するためのひな型として、以下の例を使用してください。この呼び出しをランディングページの任意の場所で使用して、パーソナライズした情報を提供できます。

属性名へのアクセス 

1<ctrl:field name=AttributeName />

送信可能なデータエクステンションのフィールドへのアクセス 

1<ctrl:field name=SendableDataExtensionField />

デフォルト値を持つ属性名へのアクセス 

1<ctrl:field name=AttributeName default="Default Value" />

変数へのアクセス 

1<ctrl:var name=JSVar />

または

1<ctrl:var name=@AmpVar />

完全な構文では default の値と format の値が追加されます。

1<ctrl:var name=JSVar default=test format=g />

式の評価 

1<ctrl:eval >"a".toUpperCase() + "B".toLowerCase()</ctrl:eval>
2The full syntax adds language, default, and format values:
1<ctrl:eval language=javascript default=none format=G>MyVal.toUpper()</ctrl:eval>

全機能の構文を使用するか、サーバーサイド JavaScript で同等の簡単な式構文を使用できます。たとえば、次の 2 つの式は同じ目的を達成します。

1return "B".toUpperCase();
1"B".toUpperCase()

サーバーサイド JavaScript での Platform オブジェクトのサポート 

サーバーサイド JavaScript は、説明されているメソッドとライブラリを介して Marketing Cloud からの情報とやり取りします。このライブラリを使用するには、まずライブラリを読み込む必要があります。

コアライブラリの現在のバージョンは 1.1.1 で、コアライブラリでは ECMAscript 3.0 がサポートされます。このバージョンはサーバーサイド JavaScript ライブラリの最新の元のバージョンを表し、このバージョンにリビジョンはありません。

このセクションで使用する数値は単なる例です。次の構文を使用してライブラリを読み込みます。

1Platform.Load("InsertLibraryNameHere","1.2");

最初のパラメーターではライブラリの名前を指定し、2 番目のパラメーターではライブラリのバージョンを指定します。読み込みコードには両方のパラメーターが必要ですが、ライブラリのマイナー番号は省略可能です。つまり、バージョン番号は存在する必要がありますが、バージョン番号を「1」または「1.2」のように表すことができます。マイナー値が指定されていない場合、読み込みで、そのマイナー更新の最新バージョンが取得されます。

たとえば、サーバーサイド JavaScript のコアライブラリを読み込むには、次の例を使用します。

1Platform.Load("Core","1");

コアライブラリに 1、1.1、2.0 のバージョンがある場合、読み込みではバージョン 1.1 のライブラリが取得されます。1.2 のバージョンがある場合、呼び出しでは代わりにそのバージョンが返されます。

1Platform.Load("Core","1.2");

コアライブラリに 1、1.1、1.2、2.0 のバージョンがある場合、読み込みではバージョン 1.2 のライブラリが取得されます。

メソッド 

サーバーサイド JavaScript では、以下のメソッドがサポートされます。

  • Add - API オブジェクトで Web サービス API の Create メソッドを呼び出します。
  • Remove - API オブジェクトで Web サービス API の Delete メソッドを呼び出します。
  • Update - API オブジェクトで Web サービス API の Update メソッドを呼び出します。
  • Retrieve - API オブジェクトで Web サービス API の Retrieve メソッドを呼び出します。

コードアクセスのセキュリティ 

サーバーサイド JavaScript は、示されているライブラリで公開されている .NET CLR (共通言語ランタイム) オブジェクトにのみアクセスできます。許可されていない CLR オブジェクトにアクセスすると、エラーが発生します。

コアライブラリ関数 

コアライブラリに関するサーバーサイド JavaScript 関数を使用すると、標準の JSON 機能と JavaScript 機能を使用して Marketing Cloud を操作できます。プラットフォームオブジェクトはランディングページとアプリケーション内で機能できます。