追加のレスポンス・タイプ
Interact では、Interact API の postEvent メソッドを使用して、オファーの「承認」または「拒否」アクションをログに記録するイベントをトリガーできます。また、システムを補完して、postEvent 呼び出しが追加のレスポンス・タイプ (参照、考慮、確定、調達など) を記録できるようにすることができます。
これらのレスポンス・タイプはすべて、Campaign システム・テーブルの UA_UsrResponseType テーブル内に存在する必要があります。特定のイベント・パラメーターを postEvent メソッドに使用することで、追加のレスポンス・タイプを記録し、承認が学習に含まれている必要があるかどうかを定義できます。また、1 つのコンタクトに対し複数のレスポンス (承認/拒否) を送付しないことが推奨されます。誤った学習スコアになる可能性があるからです。
追加のレスポンス・タイプをログに記録するには、以下のイベント・パラメーターを追加する必要があります。
UACIResponseTypeCode - レスポンス・タイプ・コードを表すストリング。値は、UA_UsrResponseType テーブルの有効なエントリーでなければなりません。
UA_UsrResponseType で有効なエントリーにするには、CountsAsResponse を含むそのテーブル内のすべての列を定義する必要があります。CountsAsResponse の有効な値は、0、1、または 2 です。0 はレスポンスがないことを示し、1 はレスポンスがあることを示し、2 は拒否を示します。これらのレスポンスは、レポート用に使用されます。
- UACILogToLearning -
パラメータ「UACILogToLearning」はバージョン 11.0 専用です。代わりに、Campaign データベースからの「UA_ContactStatus」および「UA_UsrResponseType」テーブルに定義された実際の値は、「Affinium|interact|services|contactHist|contactStatusCodes」および「Affinium|interact|services|responseHist|responseTypeCodes 」パラメーターで定義された値と共に、Interact システムにより使用されます。
’
「UACILogToLearning= 1」を postevent コールで渡す場合、レスポンス・タイプ/コンタクト・ステータスに関連する構成されたアクションは無視され、このイベントは常に true のレスポンス/コンタクトとして扱われます。
「オファー承認をログに記録」アクションで複数のイベント (ログに記録するレスポンス・タイプごとに 1 つ) を作成するか、あるいは「オファー承認をログに記録」アクションを使用して単一のイベントを作成し、異なる複数のレスポンス・タイプをログに記録するために使用するすべての postEvent 呼び出しに使用することができます。
例えば、レスポンスのタイプごとに、「オファー承認をログに記録」アクションでイベントを作成します。UA_UsrResponseType テーブルの [名前 (コード)] で次のカスタム・レスポンスを定義します。「参照 (EXP)」、「考慮 (CON)」、および「確定 (CMT)」。その後、3 つのイベントを作成し、それらに LogAccept_Explore、LogAccept_Consider、および LogAccept_Commit という名前を付けます。3 つのイベントはすべて (「オファー承認をログに記録」アクションを持つ) 完全に同じものですが、名前が異なるため、その API を使用して作業を行うユーザーは、それらを区別することができます。
また、「オファー承認をログに記録」アクションで単一のイベントを作成して、すべてのカスタム・レスポンス・タイプに使用することもできます。これには、例えば LogCustomResponse という名前を付けます。
この API を使用して作業を行う場合、それらのイベントに機能的な違いはありませんが、この命名規則によってコードがより明確になる場合があります。また、それぞれのカスタム・レスポンスに別個の名前を付けると、「チャネル・イベント・アクティビティー・サマリー」レポートに表示される情報が、より正確になります。
まず、すべての名前と値のペアをセットアップします。
//Define name value pairs for the UACIResponseTypeCode
// Response type Explore
NameValuePair responseTypeEXP = new NameValuePairImpl();
responseTypeEXP.setName("UACIResponseTypeCode");
responseTypeEXP.setValueAsString("EXP");
responseTypeEXP.setValueDataType(NameValuePair.DATA_TYPE_STRING);
// Response type Consider
NameValuePair responseTypeCON = new NameValuePairImpl();
responseTypeCON.setName("UACIResponseTypeCode");
responseTypeCON.setValueAsString("CON");
responseTypeCON.setValueDataType(NameValuePair.DATA_TYPE_STRING);
// Response type Commit
NameValuePair responseTypeCMT = new NameValuePairImpl();
responseTypeCMT.setName("UACIResponseTypeCode");
responseTypeCMT.setValueAsString("CMT");
responseTypeCMT.setValueDataType(NameValuePair.DATA_TYPE_STRING);
//Define name value pairs for UACILOGTOLEARNING
//Does not log to learning
NameValuePair noLogToLearning = new NameValuePairImpl();
noLogToLearning.setName("UACILOGTOLEARNING");
noLogToLearning.setValueAsString("0");
noLogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);
//Logs to learning
NameValuePair LogToLearning = new NameValuePairImpl();
LogToLearning.setName("UACILogToLearning");
LogToLearning.setValueAsString("1");
LogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);
この 1 つ目の例は、個々のイベントを使用する場合を示しています。
//EXAMPLE 1: This set of postEvent calls use the individually named events
//PostEvent with an Explore response
NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning };
response = api.postEvent(sessionId, LogAccept_Explore, postEventParameters);
//PostEvent with a Consider response
NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning };
response = api.postEvent(sessionId, LogAccept_Consider, postEventParameters);
//PostEvent with a Commit response
NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning };
response = api.postEvent(sessionId, LogAccept_Commit, postEventParameters);
この 2 つ目の例は、単一のイベントのみを使用する場合を示しています。
//EXAMPLE 2: This set of postEvent calls use the single event
//PostEvent with an Explore response
NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning };
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);
//PostEvent with a Consider response
NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning };
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);
//PostEvent with a Commit response
NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning };
response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);
どちらの例も、完全に同じアクションを実行していますが、片方がもう 1 つの方よりも読みやすくなる場合があります。