APIScript
APIScript はXML ベースの言語で、カスタム処理ロジックの記述に使用できます。このスクリプトは に含まれており、 を他のビジネスプロセスと統合できる外部プロセスを簡単に呼び出すことができます。 には、Eメール送信、バッチファイルの実行、データベースの作業などの完全なコードスニペットが含まれています。これらのスニペットを、管理コンソールからお客様のイベントに挿入することができます。 APIScript は、データアクセスおよびプロセッシングのあらゆる側面の管理を可能にするハイレベルなプログラミング言語です。スクリプトを書く際には、キーワード、アトリビュート、アイテム、オペレーション、およびフィードを使います。-
アトリビュート: name-value ペアのname 部分(例えば、
attribute="address"、value="123 Pleasant Lane")。 -
アイテム: Attribute-value ペアの関連するグループで、インプットとアウトプットを説明します。以下に例を示します。
- オペレーション: アイテムをインプットとして受け、フィードをアウトプットとして生成するメソッドの一般名。
- フィード: アイテムのリスト(例えば、アドレスと電話番号を含む顧客のリストなど)。
-
キーワード: APIScript 構文(例えば、
api:set)。
- イベントのインプットとアウトプットを説明する
- 実行フローを管理するためにIF/ELSE 構文やCASE 構文などのハイレベルなプログラミング構成を使う
- オペレーションを呼び出し、カスタムオペレーションを定義する
- アイテム、オペレーションのインプット、フィード、オペレーションの結果を作成し、変更する
- オペレーション呼び出しの結果得られるフィードを、アイテムの反復により処理する。
APIScript のアイテム
APIScript では、アイテムはオペレーションにインプットを提供するために使用されます。次の例に示すように、api:set キーワードを使用してアイテムを作成し、名前を付け、属性値を与えます。
input という名前のアイテムの、mask アトリビュートに*.txt という値をセットします。この場合、input アイテムはAPIScript の変数の働きをします。
ただし、input という名前のアイテムは宣言されていません。その代わりに、初回にアトリビュートをセットしようとすると、そのアイテムが生成されます。上の例では、インプットアイテムが存在していない場合、そのアイテムが生成され、アイテムにmask アトリビュートがセットされます。
アトリビュート値の選択
アトリビュートを参照するには、構文 item.attribute(例えば、input.mask)を使用します。あるアトリビュート値をクエリするには、括弧([])でアトリビュート名を囲います。括弧は、文字列リテラルとしてではなく、文字列を評価したいということを示します。
例えば、次のコードスニペットを見てください:
item1.attr1は、value1のリテラル文字列の値を割り振られます。item1.attr2は、item1.attr1のリテラル文字列の値を割り振られます。item1.attr3は、value1の値を割り振られます。これは、文字列"[item1.attr1]"がitem1のattr1アトリビュートとして評価されるからです。
文字列リテラルにおいて、バックスラッシュ(\)を使って、括弧からエスケープすることができます。
デフォルトアイテム
APIScript では、アイテムの内部スタックに暗黙的な無名のアイテム(デフォルトアイテム)があります。次の2つのケースでは、デフォルトアイテムは共通してスクリプトをより短く、簡単に書くために使われています。- オペレーションの呼び出し: デフォルトアイテムは、他に指定されたアイテムがない場合に、イベントによって呼び出されたオペレーションにデフォルトで渡されるアイテムです。その結果、
api:setを使って、デフォルトの名付けられていないアイテムのアトリビュートを書いて、そのアトリビュートがイベント内の次のオペレーションのインプットとして渡されることを意味します。このメソッドは、オペレーションに必要なパラメータを提供する一つの方法です。 - オペレーションまたはイベントのアウトプットで現在のアイテムを処理する: オペレーションの結果の変数名を指定しない場合、デフォルトアイテム(オペレーションを起動する
api:callブロック内部)は、オペレーションで生成された現在のアイテムを参照します。
イベントインプット(_input)
イベントへのインプットは_input アイテムから参照されます。_input アイテムには、イベントのinfo ブロックで定義された変数が含まれます。イベント内のデフォルトアイテムから値を読む場合、_input から値を読んでいます。同様に、デフォルトアイテムに書き込みたいアトリビュートは、イベントのインプットとともにオペレーションのパラメータとして渡されます。
api:call ブロックの内部では、_input アイテムはデフォルトアイテムではありません。アクセスが必要な場合は、名前で参照する必要があります。オペレーションアウトプット(_out[n])
api:call によって生成されたフィード内の現在のアイテムには、デフォルトのアイテムまたは名前付きの特別なアイテム_outX を通じてアクセスします。X は、api:call キーワードのネストのレベルを指定します。例えば、単一のapi:call キーワードの内部の場合、アイテム名は_out1 です。api:call キーワードの3つのネストレベルの内部の場合、名前は_out3 となります。